/* Versión 7: tipografía de alto contraste y controles legibles */
:root{--ink:#10283c;--muted:#273e50;--red:#ab1f35;--teal:#09607b;--line:#a9bec8;--paper:#fffdf8;--fog:#e7f0f2;--sand:#ead7b6;}
html{scroll-padding-top:88px}
body{color:#10283c;background:linear-gradient(125deg,#dfe9ea,#e4e5d9 45%,#e2edf0);font-size:18px;line-height:1.65}
h1,h2,h3,h4,h5{color:#112e44}
.site-header{background:#f7faf8;box-shadow:0 4px 20px #092d4214}
.head-shell{min-height:81px!important}
.brand{flex-basis:235px!important;max-width:235px}
.site-nav a{color:#102d40;font-size:16px!important;font-weight:850;text-decoration:none}
.site-nav a:hover,.site-nav a:focus-visible{color:#941d34;text-decoration:underline;text-underline-offset:4px}
.readable-toggle,.btn-red{color:#fff;background:#9f1830}
.readable-toggle{font-size:14px;font-weight:850;min-height:40px}
.menu-toggle{color:#fff;background:#153b53}
.section-title h2,.section-title h3{color:#123149}
.section-title p,.content-card p,.regions-panel>div:first-child p,.region-detail p,.nature-card p,.destination-item small,.lodging p,.food-card p,.musician-card p,.v6-region-intro p,.regions-panel .v6-tab-content p,.regions-panel .v6-place p,.detail-box p,.people-panel p{color:#213b4b!important}
.section-title p,.content-card p,.region-detail p,.regions-panel p,.food-card p,.musician-card p{font-size:17px;line-height:1.65}
.overline,.section-title .overline{color:#7b321f;font-size:13px;font-weight:900}
.small-muted,.credits-note,.map-footnote,.v6-muted,.v6-place p,.v6-region-intro p,.v6-capital,.music-showcase .small-muted{font-size:15px!important;color:#2a4758!important;line-height:1.65}
.text-link,.destination-item a,.source-buttons a,.photo-credits a{color:#005075!important;text-decoration:underline;font-weight:850;text-underline-offset:3px}
:focus-visible{outline:3px solid #bc283d!important;outline-offset:3px!important}
button,a,input,select{touch-action:manipulation}
input,select,.regions-panel input,.search-col input,.gastro-filters input,.gastro-filters select{background:#fff;color:#0a273a;border:2px solid #6f98a7;font-size:16px;font-weight:650}
input::placeholder{color:#425869;opacity:1}
.layer-buttons button,.filter-line button,.small-tabs button,.timeline-nav button,.pueblo-topics button,.regions-list button{color:#14374a;background:#e5eff1;border:1.5px solid #a3c0ca;font-weight:850;font-size:16px!important}
.layer-buttons button:hover,.filter-line button:hover,.small-tabs button:hover,.timeline-nav button:hover,.pueblo-topics button:hover,.regions-list button:hover{background:#d2e6e9;color:#092739}
.layer-buttons button.active,.filter-line button.selected,.small-tabs button.selected,.timeline-nav button.selected,.pueblo-topics button.selected,.regions-list button.active{background:#10435c!important;color:#fff!important;border-color:#10435c}
.layer-description,.detail-box,.v6-place,.v6-facts li{color:#16394b;background:#eaf1ee}
.region-detail .v6-region-title h4,.v6-region-hero .v6-lema{color:#fff!important;text-shadow:0 2px 8px #061d2e}
.v6-eyebrow{color:#fff1be!important}
.v6-tabs button{color:#153e52;font-size:16px!important;font-weight:850}
.v6-tabs button.active{color:#8b1633;background:#fbf2e6;border-bottom-color:#9e203b}
.v6-capital{color:#8c3224!important;font-weight:900}
.v6-index{color:#8d2435}
.v6-actions a,.v6-actions button{font-size:16px!important}
.v6-action-primary,.v6-next{color:#fff;background:#9f2037}
.v6-action-secondary{color:#0d3b52;background:white;border:2px solid #376d80}
.music-showcase{background:linear-gradient(135deg,#082a43,#104a67)}
.music-showcase .section-title h2,.music-showcase .section-title p,.music-showcase .small-muted{color:#fff!important}
.music-showcase .filter-line button{color:#10344a;background:#eaf2f2}
.music-showcase .filter-line button.selected{background:#af2337!important;color:#fff!important}
.musician-card{color:#0d2c3f;background:#f5faf7}
.musician-card p{color:#193b4e!important}
.musician-link{background:#0b4668;color:#fff}
.photo-overlay{background:linear-gradient(transparent 0%,#061a2eea 70%,#07192ef4 100%);color:#fff;padding:50px 20px 17px}
.photo-overlay strong{color:#fff;font-size:23px;text-shadow:0 1px 4px #000}
.photo-overlay small{color:#fff;font-size:13px;font-weight:750}
.hero h1,.hero p{color:#fff}
.hero .eyebrow{color:#ffe4b0}
.hero-photo-credit{background:#061b2ce0;color:#fff;font-size:13px}
.hero-photo-credit a{color:#fff}
.photo-credits summary{color:#15384e;font-weight:800;font-size:16px;cursor:pointer}
.atlas-section{background:linear-gradient(140deg,#d0e5e3,#e5e9dc)}
.map-sidebar{background:#f6faf7}
.map-sidebar h3{font-size:31px}
.layer-description{font-size:16px}
.layer-description strong{font-size:19px}
.map-area #map{height:600px}
.map-footnote{background:#f8fcfb}
.tile-notice{color:#6c1822;background:#ffefdb;font-size:15px;font-weight:800}
.leaflet-popup-content,.leaflet-control-attribution{font-size:15px!important;color:#122e3f}
.leaflet-popup-content-wrapper{border:2px solid #9bc0c9}
.tourist-popup{display:grid;gap:7px;color:#123244;font-size:15px;line-height:1.45}
.tourist-popup strong{font-size:19px;color:#123244}
.tourist-popup img{width:250px;max-height:150px;object-fit:cover;border-radius:6px}
.tourist-popup p{margin:0;color:#173748}
.tourist-popup a{color:#00466c;font-size:12px;font-weight:700}
.popup-region-button{background:#0c4765;border:0;color:white;font-size:14px;font-weight:800;padding:9px 12px;border-radius:7px}
/* Galería de postales reales con desplazamiento automático y pausa */
.gallery-controls{display:flex;gap:11px;align-items:center;flex-wrap:wrap;margin-bottom:15px}
.gallery-controls button{background:#124963;color:#fff;border:2px solid #124963;padding:10px 17px;border-radius:9px;font-size:15px;font-weight:850;min-height:46px}
.gallery-controls button:hover{background:#082e43}
.gallery-controls #galleryToggle{background:#a32139;border-color:#a32139;color:white}
#galleryStatus{font-weight:850;color:#102e42;font-size:15px;margin-left:4px}
.photo-grid{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-color:#245875 #d2e5e9;grid-auto-rows:auto;padding:2px 2px 12px}
.photo-grid .photo-item,.photo-grid .photo-item:first-child,.photo-grid .photo-item:nth-child(2),.photo-grid .photo-item:nth-child(n+3){grid-column:auto;grid-row:auto;flex:0 0 calc((100% - 18px) / 2);height:370px;scroll-snap-align:start;display:block}
.photo-grid:focus{outline-offset:4px}
.food-zone{color:#852924;font-size:13px}
.food-card .text-link{font-size:13px!important}
.food-card h3,.content-card h3{color:#102f45}
.food-card-visual .photo-pending,.food-card-visual .missing-photo{color:#234556}
.blue-bg{background:linear-gradient(110deg,#aecfdb,#e0ebdd)}
.alt-bg{background:linear-gradient(130deg,#e8dcc4,#d4e6e5)}
.footer{background:#072b40;color:#fff}
.footer p,.footer small,.footer a{color:#fff!important}
body.large-text .small-muted,body.large-text .credits-note{font-size:19px!important}
@media(max-width:900px){.site-nav a{font-size:14px!important}.gallery-controls button{flex:1}.photo-grid .photo-item,.photo-grid .photo-item:first-child,.photo-grid .photo-item:nth-child(2),.photo-grid .photo-item:nth-child(n+3){flex-basis:76%;height:360px}}
@media(max-width:580px){.site-header .brand{flex-basis:168px!important}.site-nav a{font-size:17px!important}.gallery-controls{gap:7px}.gallery-controls button{padding:8px 10px;font-size:13px;min-height:44px}.photo-grid .photo-item,.photo-grid .photo-item:first-child,.photo-grid .photo-item:nth-child(2),.photo-grid .photo-item:nth-child(n+3){flex-basis:91%;height:285px}.photo-overlay strong{font-size:20px}.photo-overlay small{font-size:12px}.section-title p{font-size:17px}.map-area #map{height:430px}.atlas-frame{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.photo-grid{scroll-behavior:auto}}
