/* Basketball Radar · identidad aportada por el propietario. */
@font-face{font-family:Outfit;src:url('branding/outfit-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Outfit;src:url('branding/outfit-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Outfit;src:url('branding/outfit-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Outfit;src:url('branding/outfit-700.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Outfit;src:url('branding/outfit-800.ttf') format('truetype');font-weight:800;font-display:swap}
@font-face{font-family:Outfit;src:url('branding/outfit-900.ttf') format('truetype');font-weight:900;font-display:swap}
:root{--paper:#F5F2EA;--ink:#172721;--green:#225744;--orange:#EA682F;--soft-green:#DCE8E1;--orange-hover:#C8531F;--line:#b8ccc1;--muted:#496155}
body{font-family:Outfit,Arial,sans-serif;background:var(--paper);color:var(--ink)}
h1,h2,h3,.card-art b,.detail-art b,.featured-poster strong{font-family:Outfit,Arial,sans-serif}
button,input,select,textarea{font-family:inherit}
a:hover{color:var(--green)}
.preview-bar{background:var(--ink);color:var(--paper)}
.header{background:var(--green);border-color:var(--green);padding-top:16px;padding-bottom:16px;color:var(--paper)}
.header nav a:hover{color:var(--paper);text-decoration:underline;text-underline-offset:5px}
.brand{flex-shrink:0;line-height:1;letter-spacing:normal}
/* Se encuadra el PNG original con CSS, sin modificar el archivo. */
.brand-logo{display:block;position:relative;width:218px;aspect-ratio:2.82;overflow:hidden;background:#fff;border-radius:3px}
.brand-logo img{position:absolute;display:block;width:172%;max-width:none;height:auto;left:-40%;top:-84%}
.brand:focus-visible{outline-color:var(--paper)}
.button{background:var(--green);border-color:var(--green);color:var(--paper);font-weight:700}
.button:hover{background:var(--orange-hover);border-color:var(--orange-hover);color:var(--paper)}
.header .button,.hero-link{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.header .button:hover,.hero-link:hover{background:var(--orange-hover);border-color:var(--orange-hover);color:var(--paper)}
.text-button,.source-link{color:var(--green)}
.text-button:hover,.source-link:hover{color:var(--ink);text-decoration:underline}
.hero{background:var(--paper);border-bottom-color:var(--orange)}
.hero h1{color:var(--green);font-weight:800;letter-spacing:-3px}
.hero h1 span{color:var(--ink)}
.hero .eyebrow{color:var(--green)}
.hero-copy>p{color:var(--muted)}
.hero-art{color:var(--green);opacity:.16}
.hero-number{color:var(--green)}
.hero-link span{color:inherit}
.explorer{background:var(--paper)}
.section-heading{background:var(--soft-green);color:var(--ink);border-top:4px solid var(--green)}
.section-heading .eyebrow,.section-heading>p{color:var(--green)}
.search-panel{background:var(--paper);border-color:var(--line)}
.search-panel label span{color:var(--muted)}
.search-panel input,.search-panel select{background:#fff;color:var(--ink);border-color:var(--line)}
.search-panel input::placeholder{color:var(--muted)}
.chip{background:transparent;border-color:var(--line);color:var(--green)}
.chip:hover,.chip.active{background:var(--green);border-color:var(--green);color:var(--paper)}
.demo-switch,.results-head p,.sample-note{color:var(--muted)}
.results-head strong{color:var(--ink)}
.view-switch,.view-switch button{border-color:var(--line)}
.view-switch button{background:var(--paper);color:var(--green)}
.view-switch button.active{background:var(--green);color:var(--paper)}
.cards{border-top-color:var(--line)}
.activity-card,.results-layout[data-view=list] .activity-card{background:var(--soft-green);border-color:var(--line)}
.activity-card:hover,.activity-card.selected{background:var(--paper);border-color:var(--green)}
.activity-card h3{color:var(--ink);font-weight:700}
.event-date-stamp{border-right-color:var(--orange)}
.event-date-stamp strong,.event-date-stamp span{color:var(--green)}
.event-date-stamp small,.source-badge,.card-place,.event-categories,.card-date{color:var(--muted)}
.card-type,.event-action>a{color:var(--green)}
.event-action>a{border-bottom-color:var(--green)}
.map-panel{background:var(--soft-green);border-color:var(--line)}
.map-footer{background:var(--soft-green);border-color:var(--line);color:var(--ink)}
.map-footer button{color:var(--green)}
.leaflet-container,.leaflet-popup-content{font-family:Outfit,Arial,sans-serif}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--paper);color:var(--ink)}
.pin{background:var(--orange);color:var(--ink)}
.empty-state{background:var(--soft-green);border-color:var(--line);color:var(--ink)}
.featured-slot{background:var(--paper);border-color:var(--green)}
.featured-poster{background:var(--green);color:var(--paper)}
.featured-poster strong em{color:var(--orange)}
.featured-poster:before{border-color:var(--orange);opacity:.65}
.featured-poster:after{border-color:var(--paper)}
.featured-copy h3{color:var(--ink)}
.featured-copy p,.featured-copy small{color:var(--muted)}
.featured-label{color:var(--green)}
.organizers{background:var(--green);border-top-color:var(--orange);color:var(--paper)}
.organizers h2,.organizers h2 em,.organizers .eyebrow,.organizer-copy p{color:var(--paper)}
.organizers .button{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.organizers .button:hover{background:var(--orange-hover);border-color:var(--orange-hover);color:var(--paper)}
.organizers .text-button{color:var(--paper)}
footer{background:var(--paper);border-color:var(--line);color:var(--muted)}
.footer-brand .brand-logo{width:190px}
.detail-top h1{color:var(--green)}
.detail-intro,.fact span,.booking p,.breadcrumbs{color:var(--muted)}
.detail-art{background:var(--soft-green);color:var(--green)}
.detail-art b{color:var(--green)}
.detail-facts,.fact{border-color:var(--line)}
.fact strong{color:var(--ink)}
.detail-notice{background:var(--soft-green);border-color:var(--line);color:var(--ink)}
.booking{background:var(--soft-green);border-color:var(--green)}
.booking h3{color:var(--ink)}
.button.secondary{background:transparent;border-color:var(--green);color:var(--green)}
.button.secondary:hover{background:var(--green);border-color:var(--green);color:var(--paper)}
.language-toggle button{color:var(--green);border-color:var(--line)}
.language-toggle .active{background:var(--green);color:var(--paper)}
dialog{background:var(--paper);color:var(--ink);border-color:var(--green)}
dialog h2,dialog label,dialog .close-dialog,.rate strong,.rate b{color:var(--ink)}
dialog input,dialog select,dialog textarea{color:var(--ink)!important;border-color:var(--line)!important}
.rate{border-color:var(--line)}
.rate p,.rate small,.muted{color:var(--muted)}
.featured-rate{background:var(--soft-green)}
.admin-page article{background:var(--soft-green)!important;border-color:var(--line)!important}
.admin-page h1,.admin-page .eyebrow{color:var(--green)}
:focus-visible{outline:3px solid var(--orange-hover);outline-offset:4px}
@media(max-width:1100px){.brand-logo{width:185px}.header nav{gap:12px}}
@media(max-width:700px){.brand-logo{width:172px}.header{gap:12px}.header nav{color:var(--paper)}.hero h1{letter-spacing:-1.5px}.footer-brand .brand-logo{width:172px}}
@media(max-width:360px){.brand-logo{width:150px}.header .button.small{font-size:9px;padding:10px;gap:8px}}
/* Logo integrado en la superficie cálida, sin placa blanca. */
.preview-bar{background:var(--green)}
.header{background:var(--paper);color:var(--green);border-bottom:1px solid var(--line)}
.header nav a:hover{color:var(--ink)}
.brand-logo{background:transparent;border-radius:0}
.brand-logo img{mix-blend-mode:multiply}
.header .button{background:var(--green);border-color:var(--green);color:var(--paper)}
.header .button:hover{background:var(--orange-hover);border-color:var(--orange-hover);color:var(--paper)}
.brand:focus-visible{outline-color:var(--orange-hover)}
@media(max-width:700px){.header nav{color:var(--green)}}
/* Portada ilustrada: conservar la identidad verde/crema del resto de la web. */
.hero{background:#0f1d19;color:#f5f2ea}.hero h1{color:#f5f2ea}.hero h1 span{color:#ea682f}.hero .eyebrow{color:#ea682f}.hero-copy>p{color:#dce5df}.hero .hero-art{opacity:1;inset:0;width:100%;height:100%;max-width:none;transform:none}.hero .hero-radar{width:100%;height:100%;object-fit:cover;object-position:center center}.hero .hero-link{color:#101b15;background:#ea682f;border-color:#ea682f}.hero .hero-link:hover{background:#ff8144;border-color:#ff8144;color:#101b15}
@media(max-width:700px){.hero .hero-radar{object-position:76% 50%}.hero h1,.hero h1 span{line-height:1.05}}

/* Accesos visuales por categoría con las imágenes facilitadas. */
.category-showcase{max-width:1500px;margin:0 auto;padding:42px 4.5% 12px}.category-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:23px}.category-heading .eyebrow{color:var(--green);font-size:10px;letter-spacing:1.5px}.category-heading h2{margin:9px 0 0;font-size:32px;line-height:1.1;color:var(--ink);letter-spacing:-1px}.category-heading>p{color:var(--muted);font-size:12px}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.category-tile{display:block;background:#fffdf7;border:1px solid var(--line);color:var(--ink);transition:border-color .18s,box-shadow .18s}.category-tile:hover{color:var(--ink);border-color:var(--green);box-shadow:0 5px 18px #0f1d1912}.category-image{aspect-ratio:16/10;overflow:hidden;background:#d8dfd8}.category-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}.category-tile:hover img{transform:scale(1.025)}.category-torneos img{object-position:47% 50%}.category-campus img{object-position:51% 50%}.category-tecnificaciones img{object-position:62% 50%}.category-copy{padding:22px 23px 25px}.category-kicker{font-size:9px;font-weight:800;letter-spacing:1.6px;color:var(--green)}.category-copy h3{font-size:27px;font-weight:800;margin:8px 0 10px;letter-spacing:-.8px;color:var(--ink)}.category-copy p{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 22px}.category-cta{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:800;letter-spacing:.8px;color:var(--green);border-top:1px solid var(--line);padding-top:15px}.category-cta>span{color:var(--orange);font-size:21px}.category-caption{color:var(--muted);font-size:10px;line-height:1.5;margin:14px 0 0}.category-tile:focus-visible{outline:3px solid var(--orange);outline-offset:4px}@media(max-width:1000px){.category-grid{gap:14px}.category-copy{padding:19px 15px}.category-copy h3{font-size:23px}}@media(max-width:700px){.category-showcase{padding:30px 5% 10px}.category-heading{display:block;margin-bottom:20px}.category-heading h2{font-size:27px}.category-heading>p{margin-top:12px}.category-grid{grid-template-columns:1fr;gap:22px}.category-image{aspect-ratio:16/9}.category-copy{padding:20px}.category-copy h3{font-size:29px}.category-copy p{margin-bottom:17px}.category-caption{font-size:9px}}@media(prefers-reduced-motion:reduce){.category-tile,.category-image img{transition:none}.category-tile:hover img{transform:none}}

/* Cartel completo del torneo: conserva sus textos en todos los tamaños. */
.featured-slot{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center}
.featured-poster.featured-image{display:block;padding:0;min-height:0;background:#75091d;align-self:stretch;align-content:center;line-height:0}
.featured-poster.featured-image::before,.featured-poster.featured-image::after{content:none}
.featured-image img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain}
.featured-copy{min-width:0}
@media(max-width:900px){.featured-slot{grid-template-columns:1fr}.featured-poster.featured-image{min-height:0}.featured-copy{padding:24px}}

.newsletter{display:grid;grid-template-columns:1fr 1.5fr;gap:64px;padding:64px max(4.5vw,24px);background:#e6ebe3;border-top:4px solid var(--green)}.newsletter h2{font-size:clamp(32px,4vw,54px);line-height:1.04;margin:18px 0}.newsletter-intro p{line-height:1.7;max-width:330px}.newsletter fieldset{border:0;padding:0;margin:24px 0}.newsletter legend,.news-email{font-weight:700}.newsletter fieldset p{font-size:13px;margin:8px 0 14px}.news-email input{display:block;width:100%;box-sizing:border-box;margin-top:10px;padding:14px;font:inherit;border:1px solid #b0bdb2;background:#fffdf8}.news-regions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.news-types{display:flex;flex-wrap:wrap;gap:18px}.news-choice,.news-consent{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.4}.newsletter input[type=checkbox]{accent-color:#225744;width:17px;height:17px;flex-shrink:0;margin:0}.news-consent{margin:22px 0 10px}.news-privacy{font-size:12px;line-height:1.6;color:#526258}.newsletter button{margin-top:12px}.newsletter button:disabled{opacity:.6}.newsletter #newsletter-status{font-size:14px;line-height:1.5}@media(max-width:900px){.newsletter{gap:30px;grid-template-columns:1fr}.newsletter-intro p{max-width:none}.news-regions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.newsletter{padding:36px 20px}.news-regions{gap:12px 8px}.news-choice{font-size:12px}}

/* Ficha de Tarraco Cup: cartel completo y resumen editorial. */
.detail-with-poster{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.detail-poster{margin:0;min-width:0;align-self:center}
.detail-poster img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain}
.tournament-section{margin:24px 0}
.tournament-section h3{font-size:18px;letter-spacing:-.3px;color:var(--green);margin-bottom:8px}
.tournament-section p{margin-bottom:0}
@media(max-width:900px){.detail-top.detail-with-poster{display:block}.detail-poster{margin-top:24px}}

.category-clinics{grid-column:1/-1;background:#e6ebe3}.category-clinics .category-copy{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:26px 30px}.category-clinics .category-copy p{margin-bottom:0}.category-clinics .category-cta{min-width:180px;border-top:0;padding-top:0}.category-clinics h3{font-size:27px}@media(max-width:700px){.category-clinics .category-copy{display:block;padding:24px 20px}.category-clinics .category-cta{margin-top:20px;border-top:1px solid var(--line);padding-top:15px}.category-clinics h3{font-size:25px}}



.card-art::before,.card-art::after{content:none}.card-art .court-lines{position:absolute;inset:0;width:100%;height:100%;opacity:.22;pointer-events:none}.card-art b{position:relative;z-index:1}

.hero h1.seo-heading{font-size:clamp(34px,4.8vw,64px);max-width:780px;line-height:1.06}.seo-breadcrumbs{padding:18px 4.5%;font-size:12px;color:var(--muted)}.territory-links{padding:42px 4.5%;border-top:1px solid var(--line)}.territory-links h2{font-size:28px;margin:0 0 10px}.territory-links p{font-size:13px;color:var(--muted)}.territory-links>div{display:flex;flex-wrap:wrap;gap:10px}.territory-links a{border:1px solid var(--line);padding:12px 16px;font-size:13px}.territory-links a:hover{background:var(--soft-green)}

.hero .seo-heading+p{max-width:640px}

/* Mobile hero: keep the court-radar illustration separate from the copy. */
@media(max-width:700px){
 .hero{display:flex;flex-direction:column;padding:32px 20px 0;overflow:hidden}
 .hero .hero-copy{width:100%;max-width:none;min-width:0}
 .hero h1{font-size:clamp(38px,10.6vw,58px);line-height:1.02;letter-spacing:-1.5px;margin:18px 0 20px}
 .hero h1.seo-heading{font-size:clamp(32px,8.8vw,46px);line-height:1.08;letter-spacing:-1px}
 .hero-copy>p{font-size:15px;line-height:1.6}
 .hero .hero-link{margin-top:8px;padding:15px 18px;font-size:11px}
 .hero .hero-art{position:relative;inset:auto;display:block;flex:none;width:calc(100% + 40px);height:auto;aspect-ratio:1.7;margin:20px -20px 0;opacity:1;transform:none}
 .hero .hero-radar{display:block;width:100%;height:100%;object-fit:cover;object-position:83% 50%}
}
