/* CAPA 01 — revisión 2: temas, jerarquía editorial y publicidad lateral.
   La base y los módulos funcionales se conservan. Sin fuentes ni dependencias externas. */
body.v21-quality{
 --page:#0e0a16;--panel:#17111f;--panel-soft:#21182d;--ink:#eee4f6;--sub:#bbaccb;
 --heading:#f4e8ff;--accent:#d397f5;--edge:#61486f;--hero-wash:#0e0a16c9;
 --editorial:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
 --v21-heading:linear-gradient(var(--heading),var(--heading));
 --sfte-title-dark:linear-gradient(var(--heading),var(--heading));
 --sfte-title-light:linear-gradient(var(--heading),var(--heading));
 --reference-ink:var(--ink);--reference-muted:var(--sub);
 --bg:var(--page);--surface:var(--panel);--muted:var(--sub);--line:var(--edge);
 --v20-page:var(--page);--v20-panel:var(--panel);--v20-ink:var(--ink);--v20-sub:var(--sub);
 background:var(--page)!important;color:var(--ink)!important;
}
body.v21-quality[data-theme="light"]{
 --page:#f1e9fb;--panel:#fcfaff;--panel-soft:#e9def6;--ink:#362044;--sub:#655171;
 --heading:#4a205f;--accent:#713197;--edge:#c5add9;--hero-wash:#f1e9fbed;
 color-scheme:light;background:var(--page)!important;color:var(--ink)!important;
}
body.v21-quality[data-theme="dark"]{color-scheme:dark}
body.v21-quality :is(button,a,input,select,textarea):focus-visible{outline:3px solid var(--accent)!important;outline-offset:3px}
body.v21-quality .environment-banner{background:var(--panel-soft)!important;color:var(--sub)!important;border-color:var(--edge);font-size:10px}
body.v21-quality .nav{background:var(--panel)!important;border-bottom:1px solid var(--edge);box-shadow:0 3px 18px #250b3510}
body.v21-quality .nav-in{max-width:1660px;min-height:64px;margin:auto;padding:0 22px;gap:14px}
body.v21-quality .brand-name{font-size:18px;line-height:1.1;color:var(--ink)}
body.v21-quality .brand-name strong{color:var(--accent)}
body.v21-quality .brand-name small{color:var(--sub);font-size:8px;letter-spacing:.18em}
body.v21-quality .nav-links{gap:16px;font-size:12px}
body.v21-quality :is(.nav-links a,.territory-nav-trigger,.nav-btn){color:var(--ink)!important}
body.v21-quality .nav-links a:hover{color:var(--accent)!important}
body.v21-quality :is(.territory-nav-trigger,.nav-btn,.theme-toggle){background:var(--panel-soft)!important;border-color:var(--edge)!important;box-shadow:none}
body.v21-quality .v18-top-ticker{max-width:1616px;margin:0 auto 5px;background:var(--panel-soft)!important;border:1px solid var(--edge);border-radius:10px;color:var(--ink)!important;min-height:31px}
body.v21-quality :is(.city-news-bar strong,.ticker-item){color:var(--ink)!important}
body.v21-quality .hero{
 background:linear-gradient(90deg,var(--hero-wash),var(--hero-wash)),url('../images/portada-puente-santa-fe-hd.webp') center 52%/cover no-repeat!important;
 min-height:143px;border-bottom:1px solid var(--edge);
}
body.v21-quality .hero:before{display:none}
body.v21-quality .hero-in{max-width:1616px;min-height:143px;margin:auto;padding:22px;gap:20px}
body.v21-quality .hero h1,body.v21-quality[data-theme] .hero h1{
 font:700 clamp(34px,3.4vw,51px)/1.1 var(--editorial);letter-spacing:-.035em;
 background:none!important;color:var(--heading)!important;-webkit-text-fill-color:var(--heading)!important;
 text-shadow:none;filter:none;margin:0 0 8px;
}
body.v21-quality .hero h1 span,body.v21-quality[data-theme] .hero h1 span{background:none!important;color:var(--accent)!important;-webkit-text-fill-color:var(--accent)!important}
body.v21-quality .hero p{font-size:14px;line-height:1.55;color:var(--sub)!important}
body.v21-quality .hero .actions{gap:8px;margin-top:12px}
body.v21-quality .hero .actions button{font-size:11px;padding:8px 13px;min-height:32px;border-radius:8px}
body.v21-quality :is(.btn-primary,.v18-nav-publish){background:linear-gradient(115deg,#923bbb,#aa348e)!important;color:#fff!important;border:1px solid #bc71cc;border-radius:9px;box-shadow:none}
body.v21-quality .v18-nav-publish{padding:11px 16px}
body.v21-quality :is(.btn-ghost,.btn-light,.filter-btn,.carousel-btn,.report-carousel-pause,.territory-reset){background:var(--panel-soft)!important;color:var(--ink)!important;border-color:var(--edge)!important}
body.v21-quality .radar-card{background:var(--panel)!important;border:1px solid var(--edge)!important;border-radius:14px!important;box-shadow:none!important;padding:13px!important}
body.v21-quality .radar-stats>div{border-color:var(--edge);padding:3px 10px}
body.v21-quality .radar-stats b{font:700 23px/1.2 var(--editorial);color:var(--heading)!important}
body.v21-quality .radar-stats small{font-size:9px;color:var(--sub)!important}

/* Lectura central; cada anuncio es un aside independiente, uno a cada lado. */
body.v21-quality .portal-layout{display:grid;grid-template-columns:minmax(130px,170px) minmax(0,1fr) minmax(130px,170px);gap:24px;max-width:1700px;margin:0 auto;padding:24px 22px;align-items:start}
body.v21-quality .portal-layout>main.wrap{grid-column:2;grid-row:1;max-width:none;width:100%;min-width:0;margin:0;padding:0!important;gap:32px}
body.v21-quality .portal-layout>:is(#publicidad,#sfteV222AdBand){
 grid-row:1;align-self:start;position:sticky;top:124px;display:block!important;
 padding:13px!important;margin:0!important;min-width:0;max-width:none;
 background:var(--panel)!important;border:1px solid var(--edge)!important;border-radius:12px;color:var(--sub);box-shadow:none;
}
body.v21-quality .portal-layout>#publicidad{grid-column:1}
body.v21-quality .portal-layout>#sfteV222AdBand{grid-column:3}
body.v21-quality .sponsor-label{font-size:9px;font-weight:700;letter-spacing:.15em;color:var(--sub)}
body.v21-quality .sponsor-aside h2{font:600 18px/1.25 var(--editorial);color:var(--heading)!important;background:none!important;-webkit-text-fill-color:var(--heading)!important;margin:8px 0 15px}
body.v21-quality .sponsor-aside .ad-slot{min-height:330px;padding:18px 8px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px;text-align:center;background:var(--panel-soft)!important;border:1px dashed var(--edge)!important;border-radius:9px}
body.v21-quality .ad-slot-mark{font-size:35px;color:var(--accent)}
body.v21-quality .sponsor-aside .ad-slot strong{font:600 20px/1.3 var(--editorial);color:var(--heading)!important}
body.v21-quality .sponsor-aside .ad-slot p{font-size:11px;line-height:1.65;color:var(--sub);margin:0}
body.v21-quality .sponsor-aside .ad-slot small{font-size:8px;line-height:1.6;letter-spacing:.12em;color:var(--sub)!important}
body.v21-quality #actualidad{padding:0;margin:0}
body.v21-quality #actualidad>.section-head{display:block!important;margin:0 0 18px}
body.v21-quality #actualidad .section-badge{display:none}

/* Título principal arriba, descripción debajo y controles antes del carrusel. */
body.v21-quality :is(main .section-head h2,#destacados .featured-block-head h2){
 font:600 clamp(27px,2.65vw,37px)/1.12 var(--editorial)!important;letter-spacing:-.025em;
 background:none!important;color:var(--heading)!important;-webkit-text-fill-color:var(--heading)!important;
 text-shadow:none!important;margin:5px 0 9px;
}
body.v21-quality :is(.section-head p,.featured-block-head p){font-size:13px!important;line-height:1.65;color:var(--sub)!important;margin:0;max-width:70ch}
body.v21-quality .editorial-eyebrow{font-size:9px;letter-spacing:.14em;color:var(--accent)!important;font-weight:750}
body.v21-quality main .section-head{display:grid!important;grid-template-columns:minmax(0,1fr);gap:9px;align-items:start}
body.v21-quality main .section-head>div:first-child{min-width:0}
body.v21-quality main .section-head>.section-badge{justify-self:start}
body.v21-quality #destacados{padding:0;margin:0}
body.v21-quality #destacados .featured-layout{display:flex;flex-direction:column;gap:32px}
body.v21-quality #destacados .featured-block{padding:0!important;border:0;overflow:visible;min-width:0}
body.v21-quality #destacados .featured-block-head{display:grid;grid-template-columns:1fr;gap:10px;padding:0;margin:0 0 10px;align-items:start}
body.v21-quality #destacados .featured-block-head>div:first-child{display:block!important}
body.v21-quality #destacados .carousel-tools{justify-self:end;display:flex;gap:8px;align-items:center}
body.v21-quality #destacados .carousel-btn{width:32px;height:32px;min-height:32px;border:1px solid var(--edge);border-radius:50%;font-size:16px}
body.v21-quality #destacados .v21-see-all{font-size:11px;padding:5px 8px;background:none;border:0;color:var(--accent)!important}
body.v21-quality #destacados .featured-block-head h2::before{display:none}

/* Ficha más reciente y casos: tipografía editorial, sin reducir legibilidad. */
body.v21-quality .city-lead-button{display:grid;grid-template-columns:48% 52%;min-height:285px;border:1px solid var(--edge);border-radius:14px;background:var(--panel)!important;box-shadow:0 7px 25px #160d2412}
body.v21-quality .city-lead-graphic{height:100%;min-height:285px}
body.v21-quality .city-lead-body{background:var(--panel)!important;padding:25px;min-width:0}
body.v21-quality .city-lead-body::before{display:none}
body.v21-quality .city-lead-body h3{font:650 clamp(24px,2.2vw,32px)/1.17 var(--editorial)!important;letter-spacing:-.018em;background:none!important;color:var(--heading)!important;-webkit-text-fill-color:var(--heading)!important;max-width:25ch;margin:11px 0}
body.v21-quality .city-lead-body p{font-size:13px;line-height:1.75;max-height:none;color:var(--sub)!important;margin:0}
body.v21-quality :is(.city-headline-category,.city-lead-body .city-open){color:var(--accent)!important}
body.v21-quality .city-headline-category{font-size:9px;letter-spacing:.07em}
body.v21-quality .latest-report-date{font-size:10px;color:var(--sub)!important}
body.v21-quality .city-first-label{background:#632582ec;border:1px solid #c98cdd;letter-spacing:.08em;border-radius:20px;color:#fff;font-size:9px}
body.v21-quality .city-graphic-label{background:#25132ed9;color:#fff!important;border-radius:18px}
body.v21-quality #destacados #featuredReportsTrack{gap:13px;padding:3px 1px 8px!important}
body.v21-quality #destacados #featuredReportsTrack .report-slide{flex:0 0 calc((100% - 52px)/4);width:calc((100% - 52px)/4);height:234px;min-height:234px;border:1px solid var(--edge)!important;border-radius:11px;box-shadow:none}
body.v21-quality #destacados #featuredReportsTrack .report-slide:hover{transform:translateY(-2px)!important;box-shadow:0 6px 18px #68248d22!important}
body.v21-quality #destacados #featuredReportsTrack .report-slide>h3{font:650 clamp(16px,1.4vw,20px)/1.22 var(--editorial)!important;left:13px;right:13px;bottom:40px;max-height:98px;color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important;filter:drop-shadow(0 1px 3px #000);letter-spacing:-.01em}
body.v21-quality #destacados #featuredReportsTrack .report-slide .feature-pill{font-size:8px;max-width:calc(100% - 48px);top:10px;left:9px}
body.v21-quality #destacados #featuredReportsTrack .report-slide .feature-meta{bottom:12px;left:13px;right:13px;font-size:9px;gap:5px;color:#f4e9ff!important}
body.v21-quality #destacados #featuredReportsTrack .report-slide .card-status{font-size:8px;padding:3px 5px;position:static!important;display:inline-flex!important}
body.v21-quality #destacados #featuredReportsTrack .report-slide [data-bookmark]{top:9px;right:8px;min-width:25px;width:25px;height:25px;min-height:25px;font-size:15px;color:#fff;background:#20102ecf;border:1px solid #dec2ee;border-radius:50%}
body.v21-quality .report-carousel-footer{padding-top:3px;gap:12px;color:var(--sub)}
body.v21-quality .report-carousel-count{font-size:10px}
body.v21-quality .report-carousel-pause{font-size:10px;padding:6px 10px}
body.v21-quality .report-carousel-dots button::after{background:var(--edge)}
body.v21-quality .report-carousel-dots button[aria-pressed="true"]::after{background:var(--accent)}
body.v21-quality #destacados #featuredNewsTrack{gap:13px;padding:3px 1px 8px!important}
body.v21-quality #destacados #featuredNewsTrack .news-slide{flex:0 0 calc((100% - 28px)/3);width:calc((100% - 28px)/3);height:133px;min-height:133px;display:grid;grid-template-columns:91px minmax(0,1fr);gap:11px;padding:0;border:1px solid var(--edge)!important;background:var(--panel)!important;border-radius:11px}
body.v21-quality #destacados #featuredNewsTrack .news-slide :is(.v20-demo-image,.news-thumbnail){width:91px;max-width:91px;height:131px;min-height:131px;border-radius:10px 0 0 10px}
body.v21-quality #destacados #featuredNewsTrack .news-slide .newsroom-category{font-size:8px;letter-spacing:.06em;color:var(--accent)!important;margin-top:10px}
body.v21-quality #destacados #featuredNewsTrack .news-slide>h3{font:600 17px/1.2 var(--editorial)!important;margin:29px 10px 0 0;max-height:85px;background:none!important;color:var(--heading)!important;-webkit-text-fill-color:var(--heading)!important}

/* Paleta completa, incluida navegación, exploradores y paneles abiertos. */
body.v21-quality[data-theme] :is(.my-neighborhood-shell,.mini-report,.mini-card-empty,.neighborhood-alerts,#territorios,.territory-browser,.territory-col,.territory-area-card,.territory-menu,.atlas-side,.atlas-center,.atlas-river-metric,.atlas-result,.atlas-filter-footer,.atlas-map-title,.atlas-map-legend,.atlas-source-pill,.atlas-map-options,.atlas-zoom-presets,.atlas-bottom-status,.panel,.hydric-card,.news,.card,.activity-row,.activity-feed,.activity-aside){background:var(--panel)!important;border-color:var(--edge)!important;color:var(--ink)!important}
body.v21-quality[data-theme] :is(.territory-choice,.atlas-control input,.atlas-control select,.search-box,.search-box input,.alert-switch,.map-tool){background:var(--panel-soft)!important;color:var(--ink)!important;border-color:var(--edge)!important}
body.v21-quality[data-theme] :is(.territory-col-heading,.territory-area-card h3,.territory-choice strong,.atlas-map-title b,.atlas-river-metric b,.atlas-result strong,.atlas-side-heading h3,.atlas-result-heading h3,.my-neighborhood-shell h3,.my-neighborhood-shell strong){color:var(--heading)!important;-webkit-text-fill-color:var(--heading)!important}
body.v21-quality[data-theme] :is(.my-neighborhood-shell p,.my-neighborhood-shell small,.territory-area-card p,.territory-browser-title p,.territory-catalog-note,.territory-small,.atlas-side p,.atlas-side small,.atlas-center small,.atlas-bottom-status small,.atlas-control>span,.atlas-filter-heading,.atlas-map-legend,.atlas-result-status,.neighborhood-alert-note){color:var(--sub)!important}
body.v21-quality[data-theme] :is(.territory-choice.is-selected,.territory-choice.is-preview,.neighborhood-tabs [aria-selected="true"]){background:var(--panel-soft)!important;color:var(--heading)!important;border-color:var(--accent)!important}
body.v21-quality .neighborhood-tabs{border-color:var(--edge)}
body.v21-quality .neighborhood-tabs button{color:var(--ink)!important;border-color:var(--edge);background:var(--panel)!important}
body.v21-quality .neighborhood-tabs [aria-selected="true"]{box-shadow:inset 0 -3px 0 var(--accent)}
body.v21-quality[data-theme] #leafletMap.has-fallback{background:var(--panel-soft)!important}
body.v21-quality[data-theme] :is(.map-panel,.map-floating){background:var(--panel)!important;color:var(--ink)!important;border-color:var(--edge)!important}
body.v21-quality[data-theme] :is(.map-floating .legend-row,.map-floating .map-status){color:var(--sub)!important}
body.v21-quality[data-theme] .v21-fallback-stage{background:var(--panel-soft)!important;color:var(--ink)!important}
body.v21-quality[data-theme] .v21-fallback-stage :is(h3,p,small){color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;background:none!important}
body.v21-quality .section-badge{color:var(--sub);border-color:var(--edge);background:var(--panel-soft)}
body.v21-quality[data-theme] .sfte-v221-extras{--sfte-v221-ink:var(--ink);--sfte-v221-muted:var(--sub);--sfte-v221-accent:var(--accent);--sfte-v221-line:var(--edge);background:var(--panel)!important;color:var(--ink)!important;border-color:var(--edge);margin-top:0}
body.v21-quality[data-theme] :is(#reclamos.v21-expanded,#noticias.v21-expanded){background:var(--panel)!important;color:var(--ink)!important;border-color:var(--edge)!important}
body.v21-quality[data-theme] footer{background:var(--panel)!important;color:var(--sub)!important;border-color:var(--edge)}
body.v21-quality[data-theme] :is(footer a,.sfte-v221-links a,.sfte-v221-river a){color:var(--accent)!important}
body.v21-quality[data-theme] .sfte-v221-extras :is(h3,p,strong,small){color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;background:none!important}

/* El tema también cambia los formularios existentes, sin modificar sus campos. */
body.v21-quality[data-theme] #modal .sheet{background:var(--panel)!important;color:var(--ink)!important;border-color:var(--edge)!important}
body.v21-quality[data-theme] #modal .sheet :is(h2,h3,h4){font-family:var(--editorial)!important;background:none!important;color:var(--heading)!important;-webkit-text-fill-color:var(--heading)!important}
body.v21-quality[data-theme] #modal .sheet :is(p,.small,.hint,.meta,label,.field>span){color:var(--sub)!important}
body.v21-quality[data-theme] #modal .sheet :is(input:not([type="radio"]),textarea,select){background:var(--panel-soft)!important;color:var(--ink)!important;border-color:var(--edge)!important}
body.v21-quality[data-theme] #modal .sheet :is(input,textarea)::placeholder{color:var(--sub)!important}
body.v21-quality[data-theme] #modal .sheet :is(.v18-report-aside,.v18-live-copy,.v18-live-privacy,.v20-preview-interactions,.sfte-help-card,.sfte-review-status,.sfte-extra-details,.media-upload,.privacy-choice>label,.sfte-submit-footer,.sfte-thread-item){background:var(--panel)!important;color:var(--ink)!important;border-color:var(--edge)!important}
body.v21-quality[data-theme="light"] #modal .sfte-report-v22 .v18-live-copy :is(#v18LiveTitle,#v18LiveDescription,#v18LiveLocation,#v18LiveCategory){background:none!important;color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;filter:none!important}
body.v21-quality[data-theme="light"] #modal .sheet :is(.sfte-review-status strong,.sfte-review-status small,.sfte-help-card strong,.privacy-choice b,.privacy-choice small,.sfte-footer-info strong,.sfte-footer-info small){color:var(--ink)!important}
body.v21-quality[data-theme="light"] #modal .sheet .v18-category-buttons button{background:var(--panel-soft)!important;color:var(--ink)!important;border-color:var(--edge)!important}
body.v21-quality[data-theme="light"] #modal .sheet .v18-category-buttons button[aria-pressed="true"]{background:#6d298f!important;color:#fff!important;border-color:#a96ac6!important}
body.v21-quality .modal-close{background:var(--panel-soft)!important;color:var(--ink)!important;border-color:var(--edge)}
body.v21-quality[data-theme] #modal .sfte-submit-footer #submitReport{background:linear-gradient(115deg,#8131aa,#a1378d)!important;color:#fff!important;border-color:#b465cd}

/* En móvil, los dos asides quedan juntos, izquierda/derecha, sin achicar la lectura. */
@media(max-width:1180px){
 body.v21-quality .portal-layout{grid-template-columns:minmax(105px,125px) minmax(0,1fr) minmax(105px,125px);gap:15px;padding-inline:16px}
 body.v21-quality #destacados #featuredReportsTrack .report-slide{flex-basis:calc((100% - 40px)/3);width:calc((100% - 40px)/3)}
 body.v21-quality #destacados #featuredNewsTrack .news-slide{flex-basis:calc((100% - 16px)/2);width:calc((100% - 16px)/2)}
 body.v21-quality .nav-links{font-size:11px;gap:11px}
 body.v21-quality .brand-name{font-size:15px}
}
@media(max-width:1000px){
 body.v21-quality .portal-layout{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px 16px;gap:20px 14px}
 body.v21-quality .portal-layout>:is(#publicidad,#sfteV222AdBand){position:static;grid-row:1;padding:10px!important}
 body.v21-quality .portal-layout>#publicidad{grid-column:1}
 body.v21-quality .portal-layout>#sfteV222AdBand{grid-column:2}
 body.v21-quality .portal-layout>main.wrap{grid-column:1/-1;grid-row:2}
 body.v21-quality .sponsor-aside h2{font-size:16px;margin:5px 0 8px}
 body.v21-quality .sponsor-aside .ad-slot{min-height:56px;padding:8px;gap:4px}
 body.v21-quality .sponsor-aside .ad-slot strong{font-size:15px}
 body.v21-quality .sponsor-aside .ad-slot :is(.ad-slot-mark,p){display:none}
 body.v21-quality .nav-in{padding-inline:12px;gap:9px}
 body.v21-quality .city-lead-body{padding:22px}
}
@media(max-width:700px){
 body.v21-quality .nav-in{padding-inline:7px;gap:5px}
 body.v21-quality .brand-name{font-size:11px}
 body.v21-quality .hero-in{padding:20px 14px;min-height:145px}
 body.v21-quality .hero h1{font-size:35px}
 body.v21-quality .hero p{font-size:12px}
 body.v21-quality .v18-top-ticker{max-width:calc(100% - 14px)}
 body.v21-quality .portal-layout{padding:16px 12px}
 body.v21-quality .portal-layout>main.wrap{gap:27px}
 body.v21-quality .city-lead-button{display:block;min-height:0}
 body.v21-quality .city-lead-graphic{height:210px;min-height:210px}
 body.v21-quality .city-lead-body{padding:20px}
 body.v21-quality .city-lead-body h3{font-size:27px!important}
 body.v21-quality #destacados #featuredReportsTrack .report-slide{flex-basis:calc((100% - 26px)/2);width:calc((100% - 26px)/2);height:235px}
 body.v21-quality #destacados #featuredNewsTrack .news-slide{flex-basis:calc(100% - 28px);width:calc(100% - 28px)}
}
@media(max-width:480px){
 body.v21-quality #destacados #featuredReportsTrack .report-slide{flex-basis:calc(100% - 30px);width:calc(100% - 30px);height:242px}
 body.v21-quality :is(main .section-head h2,#destacados .featured-block-head h2){font-size:29px!important}
 body.v21-quality .sponsor-label{font-size:8px}
}
@media(prefers-reduced-motion:reduce){body.v21-quality #destacados #featuredReportsTrack .report-slide:hover{transform:none!important}}
