/* DePlaya visual system — layered after the legacy component sheet. */
:root{--navy:#073b45;--navy-2:#0b5260;--aqua:#36b9ad;--aqua-soft:#dff6f1;--cream:#f7f3e9;--paper:#fffdf8;--coral:#ec735f;--sun:#f4c76b;--text:#15363d;--soft:#637a7f;--stroke:#dbe7e4;--radius:22px;--radius-lg:34px;--display:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--shadow-soft:0 16px 50px rgba(7,59,69,.09);--shadow-hover:0 20px 55px rgba(7,59,69,.16)}
html{scroll-padding-top:140px}body{font-family:var(--sans);color:var(--text);background:var(--paper);font-feature-settings:"kern" 1,"liga" 1}h1,h2{font-family:var(--display);font-weight:600;letter-spacing:-.045em}h3{letter-spacing:-.018em}a,button{transition:color .18s,background .18s,border-color .18s,transform .18s,box-shadow .18s}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid rgba(54,185,173,.45);outline-offset:3px}.eyebrow{font-family:var(--sans);font-size:.72rem!important;letter-spacing:.17em;color:var(--aqua)!important}.site-header{position:sticky;top:0;z-index:1200;height:76px;padding:0 clamp(1rem,4vw,4rem);border-bottom:1px solid rgba(7,59,69,.08);backdrop-filter:blur(16px);background:rgba(255,253,248,.9)}.site-header .brand,.footer-brand{display:inline-flex;align-items:center;gap:.65rem;font-size:1.3rem}.brand-mark{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--navy);overflow:hidden}.brand-mark i{display:block;width:18px;height:8px;border:2px solid var(--aqua);border-left:0;border-right:0;border-radius:50%}.site-header nav{align-items:center;gap:1.5rem}.site-header nav a{font-size:.88rem}.site-header nav a:hover{color:var(--aqua)}.site-header .nav-map{padding:.62rem .9rem;border-radius:999px;background:var(--navy);color:#fff}.site-header .nav-map:hover{background:var(--navy-2);color:#fff;transform:translateY(-1px)}

/* Home */
.home-hero{width:min(1440px,calc(100% - 32px));min-height:690px;margin:18px auto 0!important;border-radius:var(--radius-lg);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);overflow:hidden;background:var(--cream)}.home-hero-copy{padding:clamp(3rem,7vw,7rem);display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.home-hero h1{max-width:760px;margin:0 0 1.5rem;font-size:clamp(4rem,8vw,7.8rem);line-height:.82;color:var(--navy)}.home-hero h1 em{font-weight:400;color:var(--coral)}.home-lead{max-width:670px;margin-bottom:2rem;color:#4c686e;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.7}.hero-search{max-width:700px;padding:1rem 1.1rem 1.05rem;border:1px solid rgba(7,59,69,.12);border-radius:20px;background:#fff;box-shadow:var(--shadow-soft)}.hero-search label{display:block;margin:0 0 .55rem;font-size:.8rem;font-weight:800;color:var(--navy)}.hero-search>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.45rem}.hero-search>div>span{font-size:1.5rem;color:var(--aqua)}.hero-search input{min-width:0;width:100%;padding:.85rem .55rem;border:0;background:transparent;color:var(--text);font-size:1rem}.hero-search input:focus{outline:0}.hero-search button{padding:.8rem 1.25rem;border:0;border-radius:12px;background:var(--navy);color:#fff;font-weight:800;cursor:pointer}.hero-search button:hover{background:var(--aqua);color:var(--navy)}.hero-search small{display:block;margin:.45rem 0 0 2.1rem;color:#829296;font-size:.7rem}.hero-proof{display:flex;flex-wrap:wrap;gap:.5rem 1.35rem;margin-top:1.25rem;color:#5c7479;font-size:.75rem}.hero-proof span{display:flex;align-items:center;gap:.32rem}.hero-proof strong{color:var(--navy)}.live-pulse{width:7px;height:7px;border-radius:50%;background:var(--aqua);box-shadow:0 0 0 5px rgba(54,185,173,.13)}.home-hero-art{position:relative;min-height:100%;overflow:hidden;background:linear-gradient(155deg,#7fd5ca 0%,#42aca9 48%,#0d6472 100%)}.home-hero-art:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 65% 17%,rgba(255,255,255,.25),transparent 27%),linear-gradient(115deg,transparent 40%,rgba(7,59,69,.13))}.sun-disc{position:absolute;top:12%;right:16%;width:min(18vw,220px);aspect-ratio:1;border-radius:50%;background:var(--sun);box-shadow:0 0 0 20px rgba(244,199,107,.12)}.coast-line{position:absolute;left:-18%;width:145%;height:30%;border-radius:50%;border-top:2px solid rgba(255,255,255,.55);transform:rotate(-8deg)}.coast-one{bottom:19%;background:rgba(255,255,255,.13)}.coast-two{bottom:5%;left:-6%;background:rgba(7,59,69,.12)}.hero-coordinate{position:absolute;right:2rem;bottom:1.6rem;color:rgba(255,255,255,.75);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;writing-mode:vertical-rl}.map-intro,.region-section,.featured-section,.trust-section,.seo-intro{width:min(1240px,90vw);margin-inline:auto}.map-intro{display:grid;grid-template-columns:1fr minmax(260px,430px);gap:2rem;align-items:end;margin-top:7rem!important;margin-bottom:1.7rem}.map-intro h2,.section-heading h2,.trust-copy h2,.seo-intro h2{margin:0;font-size:clamp(2.4rem,5vw,4.4rem);color:var(--navy)}.map-intro>p,.section-heading>p{margin:0;color:var(--soft);line-height:1.7}.home-map{width:min(1400px,96vw);margin:0 auto 7rem!important}.home-map #map{height:min(72vh,720px);min-height:520px;border-radius:30px;background:#cfe8e5;box-shadow:var(--shadow-soft)}.map-result{position:absolute;z-index:500;top:1rem;left:1rem;padding:.64rem .9rem;border:1px solid rgba(7,59,69,.1);border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(7,59,69,.12);font-size:.76rem;color:var(--soft)}.map-result strong{color:var(--navy)}.home-map .legend{right:1rem;bottom:1rem;width:245px;grid-template-columns:1fr 1fr;border:1px solid rgba(7,59,69,.08);border-radius:17px;padding:.9rem}.home-map .legend strong,.home-map .legend small{grid-column:1/-1}.home-map .legend span{font-size:.72rem}.marker-dot{display:grid!important;place-items:center;border:0!important;background:transparent!important}.marker-dot span{display:block;width:14px;height:14px;border:3px solid #fff;border-radius:50%;background:var(--marker-color,#718096);box-shadow:0 3px 10px rgba(7,59,69,.4)}.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:rgba(54,185,173,.22)}.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:var(--navy);color:#fff;font-weight:800}.leaflet-popup-content-wrapper{border-radius:17px;box-shadow:0 16px 50px rgba(7,59,69,.22)}.beach-popup{display:flex;min-width:220px;flex-direction:column;gap:.35rem;padding:.25rem}.beach-popup small{color:var(--soft);font-size:.68rem}.beach-popup strong{font-family:var(--display);font-size:1.22rem;line-height:1.1}.beach-popup .popup-state{display:flex;align-items:center;gap:.4rem;margin:.35rem 0;font-size:.76rem}.beach-popup .popup-state i{width:8px;height:8px;border-radius:50%}.beach-popup a{display:flex;justify-content:space-between;padding-top:.45rem;border-top:1px solid var(--stroke);font-weight:800;text-decoration:none}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.section-heading>a,.text-link{font-weight:800;text-decoration:none;color:var(--navy)}.section-heading>a:hover,.text-link:hover{color:var(--coral)}.region-section,.featured-section,.trust-section,.seo-intro{margin-top:7rem!important}.region-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.region-card{position:relative;min-height:175px;padding:1.35rem;border-radius:20px;display:flex;flex-direction:column;justify-content:flex-end;color:var(--navy);text-decoration:none;overflow:hidden}.region-card:before{content:"";position:absolute;width:150px;height:150px;right:-48px;top:-50px;border-radius:50%;border:1px solid rgba(7,59,69,.15)}.region-card span{margin-bottom:auto;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.region-card strong{max-width:80%;font-family:var(--display);font-size:1.5rem;line-height:1}.region-card i{position:absolute;right:1.2rem;bottom:1.2rem;font-style:normal}.region-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.region-1{background:#cdeee8}.region-2{background:#f6ddaa}.region-3{background:#f5cfc7}.region-4{background:#d9e5ee}.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.featured-card{border:1px solid var(--stroke);border-radius:22px;overflow:hidden;background:#fff}.featured-card>a{display:block;color:var(--text);text-decoration:none}.featured-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.featured-sea{height:128px;display:grid;place-items:center;background:radial-gradient(circle at 75% 10%,rgba(244,199,107,.9) 0 12%,transparent 13%),linear-gradient(155deg,#dff6f1,#73cdc3)}.featured-sea span{font-family:var(--display);font-size:5rem;color:rgba(7,59,69,.35)}.featured-body{padding:1.25rem}.featured-body>small{color:var(--soft);font-size:.7rem}.featured-body h3{margin:.35rem 0 .8rem;font-family:var(--display);font-size:1.55rem;line-height:1.08}.featured-meta{display:flex;flex-wrap:wrap;gap:.35rem;min-height:28px}.featured-meta span{padding:.26rem .48rem;border-radius:999px;background:#f0f5f4;color:var(--soft);font-size:.65rem}.featured-meta .mini-blue{background:#e7f3ff;color:#17649a}.featured-meta .mini-state.green{background:#e4f7ea;color:#166534}.featured-meta .mini-state.yellow{background:#fff4d3;color:#815a00}.featured-meta .mini-state.red{background:#ffe7e7;color:#9f1d2a}.featured-body>b{display:flex;justify-content:space-between;margin-top:1.1rem;padding-top:.85rem;border-top:1px solid var(--stroke);color:var(--navy);font-size:.78rem}.featured-body>b i{font-style:normal}.trust-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:5rem;padding:clamp(2rem,6vw,5.5rem);border-radius:32px;background:var(--navy);color:#fff}.trust-copy h2{color:#fff}.trust-copy>p:not(.eyebrow){color:#bdd0d2;line-height:1.75}.trust-copy .text-link{display:inline-block;margin-top:1rem;color:#fff}.trust-cards{display:grid;gap:.7rem}.trust-cards article{display:flex;gap:1rem;align-items:flex-start;padding:1.15rem;border:1px solid rgba(255,255,255,.12);border-radius:17px;background:rgba(255,255,255,.055)}.trust-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1)}.trust-icon.award{color:#74b9ed}.trust-icon.water{color:#72d7cc}.trust-icon.safety{color:#f3b3a7}.trust-cards h3{margin:0 0 .15rem;font-size:1rem}.trust-cards p{margin:0;color:#bdd0d2;font-size:.8rem}.seo-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem;padding-bottom:2rem}.seo-intro h2{font-size:clamp(2rem,4vw,3.4rem)}.seo-intro p{color:var(--soft);line-height:1.8}

/* Autocompletado del buscador principal */
.home-hero{overflow:visible}.home-hero-copy{border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:var(--cream)}.home-hero-art{border-radius:0 var(--radius-lg) var(--radius-lg) 0}.hero-search{position:relative;z-index:50;overflow:visible}.hero-search>.search-suggestions{display:block;position:absolute;z-index:2000;top:calc(100% - .2rem);left:1.1rem;right:1.1rem;max-height:min(390px,55vh);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--stroke);border-radius:16px;background:#fff;box-shadow:0 22px 55px rgba(7,59,69,.2)}.hero-search>.search-suggestions[hidden]{display:none}.hero-search .search-suggestions>a{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.72rem .8rem;border-bottom:1px solid #edf2f1;color:var(--text);text-decoration:none}.hero-search .search-suggestions>a:last-child{border-bottom:0}.hero-search .search-suggestions>a:hover,.hero-search .search-suggestions>a[aria-selected="true"]{background:var(--aqua-soft)}.suggestion-icon{display:grid!important;place-items:center;width:32px;height:32px;border-radius:50%;background:#edf8f6;color:var(--aqua)!important;font-size:1rem!important}.search-suggestions>a>span:nth-child(2){min-width:0}.search-suggestions strong,.search-suggestions small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-suggestions strong{color:var(--navy);font-size:.86rem}.hero-search .search-suggestions small{margin:.12rem 0 0;color:var(--soft);font-size:.66rem}.search-suggestions b{color:var(--navy);font-size:.68rem;white-space:nowrap}.search-suggestions b i{font-style:normal}@media(max-width:1000px){.home-hero-copy{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.home-hero-art{border-radius:0 0 var(--radius-lg) var(--radius-lg)}}@media(max-width:700px){.home-hero-copy,.home-hero-art{border-radius:0}.hero-search>.search-suggestions{left:.9rem;right:.9rem;top:calc(100% - .1rem)}.hero-search .search-suggestions>a{grid-template-columns:32px minmax(0,1fr)}.search-suggestions b{display:none}}

/* Beach page */
.crumbs{padding-top:1.15rem;color:var(--soft)}.crumbs a{color:var(--soft);text-decoration:none}.crumbs a:hover{color:var(--aqua)}.beach-hero{position:relative;width:min(1400px,96vw);min-height:500px;margin-top:1rem;padding:clamp(2.5rem,6vw,5.5rem);grid-template-columns:minmax(0,1fr) 270px;border-radius:34px;background:radial-gradient(circle at 82% 18%,rgba(244,199,107,.95) 0 7%,rgba(244,199,107,.14) 7.2% 15%,transparent 15.2%),linear-gradient(130deg,#073b45 0%,#0a6670 56%,#52c4b8 100%)}.beach-hero:after{content:"≈";position:absolute;right:20%;bottom:-9%;font-family:var(--display);font-size:15rem;color:rgba(255,255,255,.06);pointer-events:none}.beach-hero-copy{position:relative;z-index:1}.beach-hero h1{max-width:920px;font-size:clamp(3.3rem,7.5vw,7rem);line-height:.86}.beach-hero-copy>p:not(.eyebrow){max-width:650px;font-size:1.1rem}.hero-facts{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.2rem}.hero-facts span{padding:.4rem .68rem;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.08);font-size:.72rem}.hero-facts .hero-blue{border-color:rgba(130,199,245,.55);background:rgba(32,117,178,.25)}.hero-actions{align-items:center}.hero-actions .share,.hero-actions .directions{min-height:44px;display:inline-flex;align-items:center;gap:.5rem;border-radius:999px}.hero-status{position:relative;z-index:1;align-self:end;display:flex;flex-direction:column;align-items:flex-start;padding:1.35rem;border:1px solid rgba(255,255,255,.2);border-radius:21px;background:rgba(4,44,52,.52);backdrop-filter:blur(12px)}.hero-status>small{color:#b9d9d9;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem}.hero-status-dot{width:16px;height:16px;margin:.85rem 0;border:4px solid rgba(255,255,255,.28);border-radius:50%;box-sizing:content-box}.hero-status-dot.green{background:var(--green)}.hero-status-dot.yellow{background:var(--yellow)}.hero-status-dot.red{background:var(--red)}.hero-status-dot.grey{background:var(--grey)}.hero-status>strong{font-family:var(--display);font-size:1.4rem;line-height:1.1}.hero-status>.certainty{margin:.7rem 0 .35rem}.hero-status>span{font-size:.72rem;color:#bad1d3}.certainty.unknown{background:rgba(255,255,255,.12);color:#fff}.beach-nav{position:sticky;top:76px;z-index:1000;border-bottom:1px solid var(--stroke);background:rgba(255,253,248,.94);backdrop-filter:blur(14px)}.beach-nav>div{width:min(1180px,92vw);margin:auto;display:flex;gap:.35rem;overflow-x:auto;padding:.7rem 0;scrollbar-width:none}.beach-nav>div::-webkit-scrollbar{display:none}.beach-nav a{flex:0 0 auto;padding:.48rem .72rem;border-radius:999px;color:var(--soft);font-size:.76rem;font-weight:750;text-decoration:none}.beach-nav a:hover{background:var(--aqua-soft);color:var(--navy)}.now.modern{width:min(1180px,92vw);margin-top:2rem;padding:clamp(1.3rem,3vw,2.2rem);border-radius:26px;box-shadow:var(--shadow-soft);scroll-margin-top:140px}.now-title h2{font-family:var(--display)}.now-cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem}.metric{min-height:148px;border:1px solid var(--stroke);border-radius:17px;background:#fff}.metric:hover{border-color:#bfdad5;transform:translateY(-2px)}.metric>span:first-child{font-weight:750}.metric strong{font-family:var(--display);font-size:1.38rem}.status-summary{max-width:950px;font-size:1.02rem}.beach-section{scroll-margin-top:140px}.beach-section .section-title{align-items:end}.beach-section .section-title h2{margin-bottom:0;color:var(--navy)}.beach-section .section-title>a{font-size:.78rem;font-weight:800;text-decoration:none}.forecast.visual{gap:.8rem}.forecast.visual article{border:1px solid var(--stroke);border-radius:20px;background:linear-gradient(155deg,#eaf8f5,#fff)}.forecast.visual article:first-child{border-color:#8fd4ca;box-shadow:0 12px 35px rgba(54,185,173,.1)}.forecast-day{text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.weather-icon{font-size:2.7rem}.sea-block{background:radial-gradient(circle at 85% 15%,rgba(54,185,173,.22),transparent 30%),var(--navy);box-shadow:var(--shadow-soft)}.sea-overview>b{display:inline-grid;place-items:center;width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.08)}.tide-list article{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.07)}.quality{background:#faf4e7}.quality-summary article{border-color:#eadfc9;box-shadow:0 6px 20px rgba(70,55,25,.04)}.quality details{border-top:1px solid #e8dbc1}.quality details summary{list-style:none;display:flex;justify-content:space-between}.quality details summary:after{content:"+"}.quality details[open] summary:after{content:"−"}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.feature-grid article{min-height:125px;justify-content:flex-end;border-radius:18px;background:#fff}.feature-grid article:hover{background:var(--aqua-soft)}.service-icons{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.service-icons article{min-height:135px;border:1px solid transparent}.service-icons article:hover{border-color:#b7ddd7;transform:translateY(-3px)}.access-section{border:1px solid var(--stroke);background:#f1f7f5}.access-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.certifications{border:1px solid #cde4f4}.location .section-title{align-items:center}.location #beach-map{height:500px;border:1px solid var(--stroke);box-shadow:var(--shadow-soft)}.nearby-grid a{min-height:180px;display:flex;flex-direction:column;background:#fff}.nearby-grid a span{margin-top:auto}.nearby-grid a:hover{transform:translateY(-4px);border-color:#b7d9d4}.page-head{padding-top:5rem}.cards{width:min(1180px,92vw);margin:auto;grid-template-columns:repeat(3,1fr)}.beach-card{background:linear-gradient(165deg,#fff,#f4faf8);border-radius:22px}.beach-card:hover{border-color:#a9d4ce}.site-footer{margin-top:8rem;padding:4rem max(5vw,1rem) 1.5rem;background:var(--navy);color:#c5d5d7}.footer-main{display:grid;grid-template-columns:1.5fr .7fr .7fr;gap:5rem;max-width:1240px;margin:auto}.footer-main>div{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}.footer-main>div:first-child p{max-width:460px}.footer-main strong{color:#fff}.footer-main a{color:#c5d5d7;text-decoration:none}.footer-main a:hover{color:#fff}.footer-brand{color:#fff!important;font-size:1.45rem}.footer-brand .brand-mark{background:rgba(255,255,255,.1)}.footer-main span{font-size:.83rem}.footer-note{max-width:1240px;margin:3rem auto 0;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:2rem;font-size:.72rem}.footer-note p{margin:0;max-width:720px;text-align:right;color:#91aaad}

@media(max-width:1000px){.site-header nav{gap:.8rem}.site-header .nav-secondary{display:none}.home-hero{grid-template-columns:1fr;min-height:auto}.home-hero-copy{min-height:610px}.home-hero-art{min-height:300px}.sun-disc{width:170px}.region-grid{grid-template-columns:repeat(3,1fr)}.featured-grid{grid-template-columns:repeat(2,1fr)}.trust-section{grid-template-columns:1fr;gap:2.5rem}.beach-hero{grid-template-columns:1fr}.hero-status{max-width:290px}.footer-main{gap:2rem}.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){html{scroll-padding-top:120px}.site-header{height:66px}.site-header nav a:not(.nav-map){display:none}.site-header .nav-map{font-size:.76rem}.home-hero{width:100%;margin:0!important;border-radius:0}.home-hero-copy{min-height:570px;padding:3.2rem 1.2rem}.home-hero h1{font-size:clamp(3.7rem,18vw,5.2rem)}.home-lead{font-size:1rem}.hero-search{padding:.9rem}.hero-search>div{grid-template-columns:auto 1fr}.hero-search button{grid-column:1/-1;width:100%}.hero-search small{margin-left:0}.hero-proof{display:grid;grid-template-columns:1fr 1fr}.home-hero-art{min-height:220px}.map-intro{grid-template-columns:1fr;margin-top:4.5rem!important}.home-map{width:100%;margin-bottom:5rem!important}.home-map #map{height:68vh;min-height:500px;border-radius:0}.home-map .legend{width:calc(100% - 1.5rem);right:.75rem;bottom:.75rem}.map-result{top:.75rem;left:.75rem;max-width:calc(100% - 4.5rem)}.region-section,.featured-section,.trust-section,.seo-intro{margin-top:5rem!important}.section-heading{display:block}.section-heading>a{display:inline-block;margin-top:1rem}.region-grid{grid-template-columns:1fr 1fr}.region-card{min-height:150px}.region-card strong{font-size:1.25rem}.featured-grid{grid-template-columns:1fr}.trust-section{width:100%;border-radius:0;padding:3rem 1.2rem}.seo-intro{grid-template-columns:1fr;gap:1rem}.crumbs{width:92%;overflow-x:auto}.beach-hero{width:100%;min-height:560px;margin-top:.6rem;border-radius:0;padding:3rem 1.2rem}.beach-hero h1{font-size:clamp(3.25rem,16vw,5rem)}.beach-hero:after{right:-5%;font-size:11rem}.hero-status{width:100%;max-width:none}.beach-nav{top:66px}.beach-nav>div{width:100%;padding:.6rem .75rem}.now.modern{width:94%;margin-top:1rem}.now-cards{grid-template-columns:1fr 1fr}.metric{min-height:135px}.metric strong{font-size:1.18rem}.beach-section{width:90vw;margin-top:4.5rem}.forecast.visual{grid-template-columns:1fr}.sea-block,.quality{width:100%;border-radius:0;padding:2rem 1.2rem}.sea-layout{grid-template-columns:1fr}.quality-summary{grid-template-columns:1fr 1fr}.service-icons{grid-template-columns:repeat(2,1fr)}.location{width:100%}.location .section-title{padding-inline:5%;align-items:flex-start}.location #beach-map{height:390px;border-radius:0}.nearby-grid,.cards{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr;gap:2.5rem}.footer-note{display:block}.footer-note p{text-align:left;margin-top:.7rem}.site-footer{margin-top:6rem}}
@media(max-width:410px){.now-cards,.quality-summary{grid-template-columns:1fr}.region-grid{grid-template-columns:1fr}.hero-proof{grid-template-columns:1fr}.service-icons{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Ficha enriquecida */
.hero-snapshot{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.25rem}.hero-snapshot>span{display:flex;align-items:baseline;gap:.38rem;padding:.48rem .65rem;border-radius:11px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.15)}.hero-snapshot small{color:#b9d9d9;font-size:.62rem}.hero-snapshot b{font-size:.75rem}.metric.metric-unknown{border-style:dashed;background:#fbfcfc}.metric.metric-unknown strong{color:var(--soft)}.metric.jelly:not(.metric-unknown){border-color:#c9badf;background:#fbf8ff}.sea-block>.section-title>small{max-width:330px;text-align:right}.marine-facts{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin:1.25rem 0}.marine-facts p{display:flex;flex-direction:column;margin:0;padding:.75rem;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.055)}.marine-facts span{color:#a8dcd8;font-size:.7rem}.marine-facts strong{font-size:1rem}.marine-source{font-size:.75rem;color:#c6dddd}.tides-panel>h3{margin:1.2rem 0 .7rem}.next-tides{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.next-tides article{display:flex;flex-direction:column;padding:1rem;border:1px solid rgba(255,255,255,.18);border-radius:15px;background:rgba(54,185,173,.16)}.next-tides span{font-size:.7rem;color:#a8dcd8}.next-tides strong{font-family:var(--display);font-size:1.7rem}.next-tides small{margin-top:.2rem}.marine-empty{padding:1.2rem;border:1px dashed rgba(255,255,255,.25);border-radius:14px;color:#c6dddd}.feature-grid .feature-major{min-height:145px;border-color:#abd9d2;background:linear-gradient(150deg,#eaf8f5,#fff)}.feature-grid .feature-major strong{font-family:var(--display);font-size:1.65rem;color:var(--navy)}.access-groups{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.access-groups>div{padding:1.2rem;border:1px solid var(--stroke);border-radius:18px;background:rgba(255,255,255,.65)}.access-groups h3{margin:0 0 1rem;color:var(--navy)}.access-groups .access-cards{grid-template-columns:1fr 1fr}.nearby-grid a{position:relative;overflow:hidden}.nearby-grid a:before{content:"";position:absolute;right:-35px;top:-38px;width:105px;height:105px;border-radius:50%;background:var(--aqua-soft)}.nearby-grid h3,.nearby-grid>a>small,.nearby-distance,.nearby-tags,.nearby-link{position:relative}.nearby-distance{display:flex;align-items:baseline;gap:.35rem;margin:.7rem 0}.nearby-distance b{font-family:var(--display);font-size:1.45rem;color:var(--navy)}.nearby-distance span{margin:0!important;color:var(--soft);font-size:.66rem}.nearby-tags{display:flex;flex-wrap:wrap;gap:.35rem;min-height:30px}.nearby-tags em{padding:.28rem .5rem;border-radius:999px;background:#f0f5f4;color:var(--soft);font-size:.64rem;font-style:normal}.nearby-tags .near-blue{background:#e7f3ff;color:#17649a}.nearby-tags .near-flag.green{background:#e4f7ea;color:#166534}.nearby-tags .near-flag.yellow{background:#fff4d3;color:#815a00}.nearby-tags .near-flag.red{background:#ffe7e7;color:#9f1d2a}.nearby-link{margin-top:auto!important;padding-top:1rem;color:var(--navy)!important;font-size:.75rem}
@media(max-width:900px){.access-groups{grid-template-columns:1fr}.sea-block>.section-title>small{text-align:left}.hero-snapshot{max-width:650px}}@media(max-width:620px){.hero-snapshot{display:grid;grid-template-columns:1fr 1fr}.marine-facts,.next-tides{grid-template-columns:1fr 1fr}.access-groups .access-cards{grid-template-columns:1fr}.sea-block>.section-title{display:block}.sea-block>.section-title>small{display:block;margin-top:.5rem}}@media(max-width:380px){.hero-snapshot,.marine-facts,.next-tides{grid-template-columns:1fr}}

/* Water-quality landing */
.quality-landing,.quality-guide,.recent-water,.quality-source{width:min(1180px,90vw);margin-inline:auto}.quality-landing{padding:clamp(3rem,8vw,7rem) 0 4rem}.quality-landing h1{max-width:950px;font-size:clamp(3.4rem,8vw,7rem);line-height:.88;color:var(--navy)}.quality-landing>p:not(.eyebrow){max-width:780px;color:var(--soft);font-size:1.12rem;line-height:1.75}.quality-stats{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}.quality-stats span{display:flex;flex-direction:column;min-width:180px;padding:1rem 1.2rem;border:1px solid var(--stroke);border-radius:16px;background:#fff}.quality-stats strong{font-family:var(--display);font-size:1.6rem;color:var(--navy)}.quality-stats span{font-size:.72rem;color:var(--soft)}.quality-guide{padding:clamp(2rem,5vw,4rem);border-radius:30px;background:var(--navy);color:#fff}.quality-guide h2{color:#fff}.quality-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:2rem}.quality-guide-grid article{padding:1.2rem;border:1px solid rgba(255,255,255,.12);border-radius:17px;background:rgba(255,255,255,.05)}.quality-guide-grid article>b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--aqua);color:var(--navy)}.quality-guide-grid h3{margin:.8rem 0 .35rem}.quality-guide-grid p{margin:0;color:#bdd0d2;font-size:.82rem}.recent-water{margin-top:6rem!important}.water-list{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.water-list>a{display:flex;justify-content:space-between;gap:1rem;min-height:150px;padding:1.2rem;border:1px solid var(--stroke);border-radius:18px;color:var(--text);text-decoration:none;background:#fff}.water-list>a:hover{border-color:#add5cf;transform:translateY(-2px);box-shadow:var(--shadow-soft)}.water-list small,.water-list p{color:var(--soft);font-size:.72rem}.water-list h3{margin:.3rem 0;font-family:var(--display);font-size:1.35rem}.water-date{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end}.water-date strong{font-size:.8rem}.water-date span{margin-top:auto;color:var(--aqua);font-size:.7rem;font-weight:800}.quality-source{margin-top:5rem!important;padding:2rem;border-radius:22px;background:var(--cream)}.quality-source p{max-width:850px;color:var(--soft)}.quality-source a{font-weight:800;text-decoration:none}@media(max-width:700px){.quality-landing{padding-top:3rem}.quality-guide{width:100%;border-radius:0}.quality-guide-grid,.water-list{grid-template-columns:1fr}.water-list>a{display:block}.water-date{align-items:flex-start;margin-top:1rem}.water-date span{margin-top:.5rem}.quality-source{width:100%;border-radius:0}}

/* Listados territoriales y tipos de zona de baño */
.listing-head{padding-bottom:1.4rem}.listing-head>p:last-child{max-width:820px;line-height:1.7}.kind-filters{width:min(1180px,92vw);margin:0 auto 1.5rem;display:flex;gap:.45rem;overflow-x:auto;padding:.25rem 0 .7rem;scrollbar-width:thin}.kind-filters a{flex:0 0 auto;padding:.55rem .8rem;border:1px solid var(--stroke);border-radius:999px;background:#fff;color:var(--soft);font-size:.76rem;font-weight:750;text-decoration:none}.kind-filters a:hover,.kind-filters a.active{border-color:var(--navy);background:var(--navy);color:#fff}.kind-filters small{margin-left:.25rem;opacity:.7}.listing-cards{gap:1rem}.listing-card{position:relative;min-height:330px;padding:1.2rem;display:flex!important;flex-direction:column;gap:1rem;overflow:hidden}.listing-card:before{content:"";position:absolute;width:150px;height:150px;right:-65px;top:-70px;border-radius:50%;background:var(--aqua-soft);pointer-events:none}.listing-card-head{position:relative;display:flex;justify-content:space-between;align-items:center;gap:.5rem;min-height:26px}.kind-badge,.listing-blue{display:inline-flex;padding:.3rem .5rem;border-radius:999px;font-size:.64rem;font-weight:800}.kind-badge{background:var(--aqua-soft);color:var(--navy)}.listing-blue{background:#e7f3ff;color:#17649a}.listing-title{position:relative}.listing-title>small{color:var(--soft);font-size:.68rem}.listing-title h2{margin:.35rem 0 .45rem;font-size:1.65rem;line-height:1.03;color:var(--navy)}.listing-title p{margin:0;color:var(--soft);font-size:.72rem}.listing-live{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:auto}.listing-live>span{min-height:76px;padding:.65rem;border:1px solid var(--stroke);border-radius:12px;background:#fff}.listing-flag{display:grid;grid-template-columns:auto 1fr;align-content:center;column-gap:.4rem}.listing-flag i{grid-row:1/3;width:9px;height:9px;margin-top:.15rem;border-radius:50%;background:var(--grey)}.listing-flag.green i{background:var(--green)}.listing-flag.yellow i{background:var(--yellow)}.listing-flag.red i{background:var(--red)}.listing-flag b,.listing-weather b{font-size:.72rem;line-height:1.2}.listing-flag small,.listing-weather small{display:block;margin-top:.2rem;color:var(--soft);font-size:.61rem}.listing-weather{display:flex;flex-direction:column;justify-content:center}.listing-weather.muted{color:var(--soft);border-style:dashed;background:#fbfcfc}.listing-link{display:flex;justify-content:space-between;padding-top:.85rem;border-top:1px solid var(--stroke);color:var(--navy);font-size:.73rem;font-weight:800}.annual-context{margin:1rem 0;padding:.85rem 1rem;border-left:3px solid var(--sun);border-radius:0 12px 12px 0;background:rgba(255,255,255,.55);color:#725c2f;font-size:.78rem;line-height:1.5}.annual-context strong{color:#55431f}
@media(max-width:700px){.listing-head{padding-top:3rem}.kind-filters{width:94vw}.listing-card{min-height:300px}.listing-live{grid-template-columns:1fr 1fr}}@media(max-width:390px){.listing-live{grid-template-columns:1fr}.listing-live>span{min-height:64px}}
.listing-live.without-flag{grid-template-columns:1fr}

/* Franja meteorológica horaria */
.current-weather-strip{width:min(1180px,92vw);margin:1.2rem auto 0;padding:1.15rem 1.3rem;border:1px solid #bee1db;border-radius:22px;background:linear-gradient(120deg,#e9f8f5,#fffdf8);box-shadow:0 12px 35px rgba(7,59,69,.08)}.current-weather-title{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.85rem}.current-weather-title p{margin:0}.current-weather-title h2{margin:.12rem 0 0;font-size:1.55rem;color:var(--navy)}.current-weather-title>small{color:var(--soft);font-size:.68rem}.current-weather-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:.5rem}.current-weather-grid article{min-height:88px;display:flex;flex-direction:column;justify-content:center;padding:.7rem .8rem;border:1px solid var(--stroke);border-radius:13px;background:#fff}.current-weather-grid article small{color:var(--soft);font-size:.64rem}.current-weather-grid article strong{margin-top:.2rem;font-size:.92rem;color:var(--navy)}.current-weather-grid article>span{margin-top:.15rem;color:var(--soft);font-size:.62rem}.current-weather-grid .current-main{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.7rem;min-width:190px}.current-weather-grid .current-main>span{margin:0;font-size:2rem;color:var(--sun)}.current-weather-grid .current-main div{display:flex;flex-direction:column}.current-weather-strip>p{margin:.7rem 0 0;color:var(--soft);font-size:.63rem}@media(max-width:700px){.current-weather-strip{width:94vw;padding:1rem}.current-weather-title{display:block}.current-weather-title>small{display:block;margin-top:.35rem}.current-weather-grid{grid-template-columns:repeat(2,1fr)}.current-weather-grid .current-main{min-width:0}}@media(max-width:380px){.current-weather-grid{grid-template-columns:1fr}}

/* Meteo: jerarquía editorial, sin mosaico de panel administrativo */
.current-weather-strip{position:relative;z-index:4;width:min(1220px,88vw);margin:-48px auto 0;padding:0;border:0;border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(7,59,69,.18);overflow:hidden}.current-weather-title{margin:0;padding:1rem 1.25rem .8rem;border-bottom:1px solid #e8efed}.current-weather-title h2{font-size:1.42rem}.current-weather-title>small{padding:.35rem .6rem;border-radius:999px;background:#edf6f4}.current-weather-grid{display:grid;grid-template-columns:minmax(210px,1.55fr) repeat(7,minmax(88px,1fr));gap:0;padding:.7rem}.current-weather-grid article{min-height:105px;padding:.75rem .85rem;border:0;border-left:1px solid #e4ecea;border-radius:0;background:transparent}.current-weather-grid article small{font-size:.62rem;letter-spacing:.035em}.current-weather-grid article strong{font-family:var(--display);font-size:1.28rem;line-height:1.1}.current-weather-grid .current-main{min-width:0;padding:1rem 1.1rem;border:0;border-radius:17px;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff}.current-weather-grid .current-main>span{font-size:3rem;color:var(--sun)}.current-weather-grid .current-main small{color:#9fd8d3}.current-weather-grid .current-main strong{color:#fff;font-size:1.42rem}.current-weather-strip>p{margin:0;padding:.55rem 1.25rem .75rem;border-top:1px solid #eef2f1;text-align:right;font-size:.59rem}
.forecast-section{width:min(1280px,96vw);padding:clamp(1.5rem,4vw,3.2rem);border-radius:30px;background:linear-gradient(145deg,#f0f8f6,#fbf7ed)}.forecast-section .section-title{margin-bottom:1.4rem}.forecast-section .section-title p:not(.eyebrow){margin:.35rem 0 0;color:var(--soft);font-size:.82rem}.forecast.visual{grid-template-columns:repeat(3,1fr);gap:.8rem}.forecast.visual .forecast-card{min-height:330px;display:flex;flex-direction:column;padding:1.35rem;border:0;border-radius:21px;background:#fff;box-shadow:0 10px 35px rgba(7,59,69,.08)}.forecast.visual .forecast-card:first-child{border:0;box-shadow:0 18px 45px rgba(7,59,69,.2)}.forecast.visual .forecast-today{background:linear-gradient(145deg,var(--navy),#0b6972);color:#fff}.forecast-card-top,.forecast-condition{display:flex;align-items:center;justify-content:space-between;gap:1rem}.forecast-card-top{padding-bottom:.85rem;border-bottom:1px solid var(--stroke)}.forecast-today .forecast-card-top{border-color:rgba(255,255,255,.14)}.forecast-card .forecast-day{margin:0;color:var(--aqua);font-size:.68rem}.forecast-card .weather-icon{font-size:2.35rem;color:var(--sun)}.forecast-condition{padding:1.1rem 0}.forecast-condition h3{margin:0!important;max-width:70%;font-family:var(--display);font-size:1.35rem!important}.forecast-condition>strong{margin:0;font-family:var(--display);font-size:3.1rem!important;line-height:1}.forecast-periods{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.forecast-periods span{padding:.55rem;border-radius:10px;background:#f2f7f6;font-size:.7rem}.forecast-periods small{display:block;color:var(--soft);font-size:.58rem;text-transform:uppercase;letter-spacing:.08em}.forecast-today .forecast-periods span{background:rgba(255,255,255,.08)}.forecast-today .forecast-periods small{color:#9ed1cf}.forecast-details{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:1rem}.forecast-details span{padding:.32rem .48rem;border-radius:999px;background:#edf4f2;color:var(--soft);font-size:.66rem}.forecast-today .forecast-details span{background:rgba(255,255,255,.1);color:#d5e8e8}.forecast-issued{margin-top:auto;padding-top:1rem;color:var(--soft);font-size:.61rem}.forecast-today .forecast-issued{color:#9ed1cf}.forecast-today h3,.forecast-today strong{color:#fff}
@media(max-width:1050px){.current-weather-grid{grid-template-columns:minmax(190px,1.4fr) repeat(4,1fr)}.current-weather-grid .current-main{grid-row:span 2}.current-weather-grid article{border-bottom:1px solid #e4ecea}}
@media(max-width:700px){.current-weather-strip{width:94vw;margin:-22px auto 0;border-radius:20px}.current-weather-title{display:flex;align-items:center}.current-weather-title h2{font-size:1.15rem}.current-weather-title>small{max-width:145px;text-align:right}.current-weather-grid{grid-template-columns:repeat(2,1fr);padding:.55rem}.current-weather-grid .current-main{grid-column:1/-1;grid-row:auto;min-height:110px}.current-weather-grid article{min-height:80px;border-left:0;border-bottom:1px solid #e4ecea}.current-weather-strip>p{text-align:left}.forecast-section{width:100%;padding:2rem 1rem;border-radius:0}.forecast.visual{grid-template-columns:1fr;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.7rem}.forecast.visual .forecast-card{flex:0 0 86vw;min-height:315px;scroll-snap-align:center}.forecast-section .section-title{padding-inline:.2rem}}

/* Arquitectura SEO y contenido editorial basado en datos */
.beach-photo{position:relative;width:min(1280px,96vw);height:clamp(260px,45vw,560px);margin:0 auto -120px;border-radius:30px;overflow:hidden;background:#dcecea}.beach-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 45%,rgba(4,37,45,.66))}.beach-photo img{width:100%;height:100%;object-fit:cover}.beach-photo figcaption{position:absolute;right:1rem;bottom:.75rem;z-index:2;color:#fff;font-size:.62rem}.beach-photo figcaption a{color:#fff;text-decoration:underline}.beach-photo+.beach-hero{position:relative;z-index:2;background:linear-gradient(135deg,rgba(8,63,73,.97),rgba(8,127,131,.94))}
.beach-guide{background:linear-gradient(145deg,#fff,#f2f9f7)}.narrative-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.narrative-grid article{padding:1.2rem 1.25rem;border:1px solid #dfeae7;border-radius:17px;background:#fff}.narrative-grid article:first-child:nth-last-child(odd){grid-column:1/-1}.narrative-grid h3{margin:0 0 .45rem;color:var(--navy);font-size:1rem}.narrative-grid p{margin:0;color:#40575b;line-height:1.72;font-size:.83rem}.narrative-grid small{display:block;margin-top:.6rem;color:var(--aqua);font-weight:700}.seo-links h2{margin-top:0}.seo-links>div{display:flex;flex-wrap:wrap;gap:.55rem}.seo-links a{padding:.65rem .9rem;border:1px solid #cfe1dd;border-radius:999px;background:#fff;color:var(--navy);font-size:.75rem;font-weight:750}
.ranking-hero,.nearby-hero{width:min(1180px,92vw);margin:1rem auto 2rem;padding:clamp(2rem,6vw,5rem);border-radius:32px;background:linear-gradient(135deg,var(--navy),#087f83);color:#fff}.ranking-hero h1,.nearby-hero h1{max-width:880px;margin:.4rem 0 1rem;color:#fff;font-size:clamp(2.4rem,6vw,5.2rem);line-height:.96}.ranking-hero>p:not(.eyebrow),.nearby-hero>p:not(.eyebrow){max-width:760px;color:#d3e9e7;line-height:1.65}.ranking-hero>div{display:flex;gap:.6rem;margin-top:1.4rem}.ranking-hero a,.nearby-hero button,.primary-link{display:inline-flex;padding:.8rem 1.1rem;border:0;border-radius:999px;background:var(--sun);color:var(--navy);font:inherit;font-size:.78rem;font-weight:850;cursor:pointer}.ranking-hero a+ a{background:rgba(255,255,255,.12);color:#fff}.ranking-map-section{width:min(1180px,92vw);margin:2rem auto}.seo-map{height:430px;border-radius:24px;box-shadow:0 18px 50px rgba(7,59,69,.13);overflow:hidden}.ranking-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.ranking-cards>a{display:grid;grid-template-columns:auto 1fr auto;gap:.85rem;min-height:170px;padding:1.15rem;border:1px solid #dce8e5;border-radius:18px;background:#fff;color:inherit}.rank-number{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;font-weight:900}.ranking-cards h3{margin:.2rem 0;font-size:1.05rem}.ranking-cards p{margin:.25rem 0;color:var(--soft);font-size:.7rem}.ranking-cards>a>strong{color:var(--aqua);font:800 1.35rem var(--display)}.ranking-cards>a>strong small{font-size:.55rem}.rank-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.6rem}.rank-tags em{padding:.25rem .4rem;border-radius:999px;background:#eef6f4;color:#476166;font-size:.59rem;font-style:normal}.subranking-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.subranking-grid article{padding:1.25rem;border-radius:18px;background:#f3f8f6}.subranking-grid h3{margin-top:0}.subranking-grid p{color:var(--soft);font-size:.72rem}.subranking-grid a{display:flex;justify-content:space-between;padding:.55rem 0;border-top:1px solid #d8e5e1;color:var(--navy);font-size:.75rem}.criteria{border-left:5px solid var(--sun);background:#fff9e9}.criteria p{max-width:900px;line-height:1.7}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:1rem}.destination-grid a{padding:1.15rem;border:1px solid #dce8e5;border-radius:17px;color:inherit}.destination-grid h2{margin:.2rem 0;font-size:1.05rem}.destination-grid p{color:var(--soft);font-size:.72rem}.nearby-hero button{margin-top:1rem}.nearby-hero>small{display:block;margin-top:.8rem;color:#b8d7d4}.nearby-app{display:grid;grid-template-columns:1.15fr .85fr;gap:1rem;width:min(1280px,94vw);margin:0 auto 2rem}.nearby-app>.seo-map{position:sticky;top:90px}.nearby-status{padding:1rem 1.2rem;border-radius:16px;background:#eef7f5}.nearby-status h2{margin:0;font-size:1.05rem}.nearby-status p{margin:.3rem 0 0;color:var(--soft);font-size:.72rem}.nearby-results{display:grid;gap:.45rem;margin-top:.6rem}.nearby-results a{display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:.6rem;padding:.8rem;border:1px solid #dce8e5;border-radius:14px;color:inherit}.nearby-results>a>b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e9f5f2;color:var(--aqua)}.nearby-results h3{margin:.12rem 0;font-size:.9rem}.nearby-results small,.nearby-results span{color:var(--soft);font-size:.64rem}.near-explanation{background:#f5f9f8}
@media(max-width:800px){.beach-photo{width:100%;height:300px;margin-bottom:-70px;border-radius:0}.narrative-grid,.ranking-cards,.destination-grid,.subranking-grid,.nearby-app{grid-template-columns:1fr}.ranking-hero,.nearby-hero{width:94vw;padding:2.2rem 1.3rem;border-radius:24px}.ranking-hero h1,.nearby-hero h1{font-size:2.45rem}.seo-map{height:330px}.ranking-cards>a{min-height:145px}.nearby-app>.seo-map{position:relative;top:auto}.nearby-app{display:flex;flex-direction:column}.nearby-app>.seo-map{order:2}}
.home-discovery{width:min(1180px,92vw);margin:5rem auto}.home-discovery>div:first-child{max-width:680px}.home-discovery h2{font-size:clamp(2rem,4vw,3.5rem)}.home-discovery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-top:1.5rem}.home-discovery-grid>a{display:flex;align-items:center;gap:1rem;padding:1.25rem;border:1px solid #d8e7e3;border-radius:18px;background:#fff;color:inherit}.home-discovery-grid>a>b{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#e8f5f2;color:var(--aqua)}.home-discovery-grid span{display:flex;flex-direction:column}.home-discovery-grid small{margin-top:.2rem;color:var(--soft)}@media(max-width:700px){.home-discovery-grid{grid-template-columns:1fr}}
.pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;width:min(1180px,92vw);margin:2rem auto 5rem;padding:1rem;border-top:1px solid #d9e6e3}.pagination>a{justify-self:start;padding:.65rem .9rem;border-radius:999px;background:var(--navy);color:#fff;font-size:.75rem;font-weight:800}.pagination>a:last-child{justify-self:end}.pagination p{margin:0;text-align:center;color:var(--soft);font-size:.72rem}.pagination p small{display:block;margin-top:.15rem}@media(max-width:600px){.pagination{grid-template-columns:1fr 1fr}.pagination p{grid-row:1;grid-column:1/-1}.pagination>a{grid-row:2}}

/* Banderas operativas y mapa nacional sin agrupación */
.hero-status-dot{--flag-color:var(--grey);position:relative;width:42px;height:34px;margin:.85rem 0;border:0;border-radius:0;background:transparent!important;box-sizing:border-box}.hero-status-dot:before{content:"";position:absolute;left:2px;top:0;width:3px;height:34px;border-radius:3px;background:#f1f7f6;box-shadow:0 0 0 1px rgba(0,0,0,.1)}.hero-status-dot:after{content:"";position:absolute;left:5px;top:2px;width:32px;height:21px;background:var(--flag-color);clip-path:polygon(0 0,100% 8%,86% 48%,100% 92%,0 84%);filter:drop-shadow(0 3px 3px rgba(0,0,0,.25))}.hero-status-dot.green{--flag-color:var(--green)}.hero-status-dot.yellow{--flag-color:var(--yellow)}.hero-status-dot.red{--flag-color:var(--red)}.hero-status-dot.grey{--flag-color:var(--grey)}
.map-flag-icon{border:0!important;background:transparent!important}.map-flag{--flag-color:#718096;position:relative;display:block;width:25px;height:30px;filter:drop-shadow(0 2px 3px rgba(7,59,69,.42));transform-origin:left bottom}.map-flag:before{content:"";position:absolute;left:2px;top:0;width:2px;height:29px;border-radius:2px;background:#fff;box-shadow:0 0 0 1px rgba(7,59,69,.3)}.map-flag:after{content:"";position:absolute;left:4px;top:2px;width:20px;height:14px;background:var(--flag-color);clip-path:polygon(0 0,100% 8%,84% 50%,100% 92%,0 84%);border:1px solid rgba(255,255,255,.72)}.map-flag-green{--flag-color:var(--green)}.map-flag-yellow{--flag-color:var(--yellow)}.map-flag-red{--flag-color:var(--red)}.map-flag-grey{--flag-color:var(--grey)}.map-national-view .map-flag{transform:scale(.72)}
.home-map .legend .dot{--flag-color:var(--grey);position:relative;width:19px;height:18px;margin-right:.3rem;border:0;border-radius:0;background:transparent;vertical-align:middle}.home-map .legend .dot:before{content:"";position:absolute;left:1px;top:1px;width:2px;height:16px;background:#63787d}.home-map .legend .dot:after{content:"";position:absolute;left:3px;top:2px;width:14px;height:9px;background:var(--flag-color);clip-path:polygon(0 0,100% 8%,84% 50%,100% 92%,0 84%)}.home-map .legend .dot.green{--flag-color:var(--green)}.home-map .legend .dot.yellow{--flag-color:var(--yellow)}.home-map .legend .dot.red{--flag-color:var(--red)}.home-map .legend .dot.grey{--flag-color:var(--grey)}
.rich-popup{min-width:285px;gap:.55rem}.rich-popup>strong{font-size:1.35rem}.popup-flag-row{display:grid;grid-template-columns:36px 1fr;gap:.65rem;align-items:center;padding:.65rem;border-radius:12px;background:#f0f7f5}.popup-flag{--flag-color:var(--grey);position:relative;width:32px;height:29px}.popup-flag:before{content:"";position:absolute;left:1px;top:0;width:3px;height:28px;border-radius:2px;background:#526d72}.popup-flag:after{content:"";position:absolute;left:4px;top:2px;width:26px;height:17px;background:var(--flag-color);clip-path:polygon(0 0,100% 8%,84% 50%,100% 92%,0 84%)}.popup-flag-green{--flag-color:var(--green)}.popup-flag-yellow{--flag-color:var(--yellow)}.popup-flag-red{--flag-color:var(--red)}.popup-flag-grey{--flag-color:var(--grey)}.popup-flag-row div{display:flex;min-width:0;flex-direction:column}.popup-flag-row small,.popup-water small,.popup-weather small{color:var(--soft);font-size:.6rem}.popup-flag-row b,.popup-water b,.popup-weather b{font-size:.72rem;line-height:1.25}.popup-cert{align-self:flex-start;margin-top:.25rem;padding:.15rem .35rem;border-radius:999px;background:#e3f4e8;color:#166534;font-size:.55rem;font-style:normal;font-weight:850;text-transform:uppercase}.popup-cert.estimate{background:#fff1ca;color:#815a00}.popup-blue{margin:0;padding:.45rem .6rem;border-radius:10px;background:#e7f3ff;color:#17649a;font-size:.68rem;font-weight:850}.popup-water{display:flex;flex-direction:column;padding:.55rem .65rem;border-left:3px solid var(--aqua);background:#fbf7ed}.popup-weather{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}.popup-weather span{display:flex;min-width:0;flex-direction:column;padding:.4rem .5rem;border-radius:9px;background:#f5f8f7}.popup-weather b{overflow:hidden;text-overflow:ellipsis}.popup-empty{margin:0;color:var(--soft);font-size:.65rem}.rich-popup>a{margin-top:.15rem}

/* Características visuales de la ficha */
.beach-characteristics>.lead{margin-bottom:1.5rem}.beach-characteristics .feature-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.75rem}.beach-characteristics .feature-card{position:relative;min-height:155px;padding:1.1rem;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:.85rem;justify-content:initial;overflow:hidden;border:1px solid var(--stroke);background:linear-gradient(145deg,#fff,#f5faf8)}.beach-characteristics .feature-card:after{content:"";position:absolute;right:-38px;bottom:-44px;width:105px;height:105px;border-radius:50%;background:rgba(54,185,173,.08)}.feature-icon{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#e4f4f1;color:var(--navy);font-size:1.35rem;font-style:normal}.feature-card>div{position:relative;z-index:1;display:flex;min-width:0;flex-direction:column}.feature-card>div>span{color:var(--soft);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.feature-card>div>strong{margin:.28rem 0;color:var(--navy);font-family:var(--display);font-size:1.27rem;line-height:1.1}.feature-card>div>em{color:#61767b;font-size:.68rem;font-style:normal}.feature-card>div>small{margin-top:auto;padding-top:.65rem;color:#8a9b9e;font-size:.57rem}.beach-characteristics .feature-major{min-height:170px;border-color:#9fd5cc;background:linear-gradient(145deg,#def4ef,#fff)}.beach-characteristics .feature-major .feature-icon{background:var(--navy);color:#fff}.beach-characteristics .feature-major>div>strong{font-size:1.75rem}.beach-characteristics .feature-positive .feature-icon{background:#edf6e8}.beach-characteristics .feature-positive{background:linear-gradient(145deg,#fbfdf8,#fff)}
@media(max-width:700px){.rich-popup{min-width:250px}.popup-weather{grid-template-columns:1fr 1fr}.beach-characteristics .feature-grid{grid-template-columns:1fr 1fr}.beach-characteristics .feature-card{min-height:145px;grid-template-columns:40px minmax(0,1fr);padding:.9rem}.feature-icon{width:40px;height:40px;font-size:1.12rem}.feature-card>div>strong{font-size:1.05rem}}@media(max-width:430px){.beach-characteristics .feature-grid{grid-template-columns:1fr}.beach-characteristics .feature-card{min-height:125px}}

/* Fotografías verificadas en tarjetas y resultados */
.featured-sea,.listing-card-photo,.rank-photo,.destination-photo{position:relative;overflow:hidden;background:linear-gradient(155deg,#dff6f1,#73cdc3)}
.featured-sea.has-photo{height:190px}.featured-sea img,.listing-card-photo img,.rank-photo img,.destination-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.featured-card:hover img,.listing-card:hover img,.ranking-cards>a:hover img,.destination-grid>a:hover img{transform:scale(1.035)}
.card-photo-credit{position:absolute!important;right:.4rem;bottom:.35rem;z-index:2;max-width:calc(100% - .8rem);padding:.22rem .38rem;border-radius:5px;background:rgba(3,31,38,.76);color:#fff!important;font-size:.48rem!important;font-weight:550!important;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 1px #000}
.listing-card-photo{z-index:1;height:165px;margin:-1.2rem -1.2rem 0}.listing-card-photo+.listing-card-head{margin-top:.1rem}.listing-card:has(.listing-card-photo){min-height:470px}
.ranking-cards>a.has-photo{grid-template-columns:108px auto minmax(0,1fr) auto;padding:.65rem}.rank-photo{width:108px;height:100%;min-height:150px;border-radius:13px}.rank-number{position:relative;z-index:1}.destination-grid a{padding:0;overflow:hidden;background:#fff;text-decoration:none}.destination-photo{display:block;height:155px}.destination-copy{display:block;padding:1.05rem 1.15rem}
.suggestion-thumb{position:relative;display:block!important;width:42px;height:42px;overflow:hidden;border-radius:11px;background:#e5f1ef}.suggestion-thumb img{display:block;width:100%;height:100%;object-fit:cover}.suggestion-credit{max-width:320px;color:#8a999c!important;font-size:.52rem!important}
.card-current-weather{display:flex;align-items:center;gap:.65rem;margin:.15rem 0 .75rem;padding:.65rem .72rem;border-radius:13px;background:linear-gradient(120deg,#e8f6f3,#f8fbfa)}.card-current-weather>i{font-size:1.55rem;font-style:normal}.card-current-weather>span{display:flex;min-width:0;flex-direction:column}.card-current-weather small{color:var(--soft);font-size:.58rem;text-transform:uppercase;letter-spacing:.07em}.card-current-weather strong{overflow:hidden;color:var(--navy);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.rank-tags .rank-weather{background:#e3f4f1;color:#075f67;font-weight:800}.destination-weather{display:block;margin:.45rem 0;padding:.38rem .5rem;border-radius:8px;background:#eaf6f3;color:#315e63;font-size:.66rem}.destination-weather b{color:var(--navy)}.suggestion-weather{color:#14747a!important;font-size:.58rem!important;font-weight:750}
@media(max-width:800px){.ranking-cards>a.has-photo{grid-template-columns:92px auto minmax(0,1fr) auto}.rank-photo{width:92px;min-height:130px}.destination-photo{height:190px}}
@media(max-width:520px){.featured-sea.has-photo{height:180px}.listing-card:has(.listing-card-photo){min-height:450px}.ranking-cards>a.has-photo{grid-template-columns:82px minmax(0,1fr) auto;align-items:start}.ranking-cards>a.has-photo .rank-photo{grid-row:1/3;width:82px;min-height:112px}.ranking-cards>a.has-photo .rank-number{position:absolute;margin:.45rem}.ranking-cards>a.has-photo>div{grid-column:2}.ranking-cards>a.has-photo>strong{grid-column:3;grid-row:1}.suggestion-thumb{width:38px;height:38px}.suggestion-credit{max-width:190px;font-size:.45rem!important}}

/* Fichas más densas sin perder legibilidad móvil */
.sea-layout.without-tides{grid-template-columns:1fr}.sea-layout.without-tides .sea-overview{max-width:760px}.beach-characteristics .feature-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.55rem}.beach-characteristics .feature-card,.beach-characteristics .feature-major{min-height:112px;padding:.8rem;grid-template-columns:38px minmax(0,1fr);gap:.65rem}.beach-characteristics .feature-icon{width:38px;height:38px;border-radius:11px;font-size:1.05rem}.beach-characteristics .feature-major>div>strong{font-size:1.35rem}.feature-card>div>strong{font-size:1.02rem}.feature-card>div>em{font-size:.62rem}.feature-card>div>small{padding-top:.35rem}.service-icons{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:.5rem}.service-icons article{min-height:88px;padding:.7rem .6rem;border-radius:13px}.service-icons b{font-size:1.35rem}.service-icons span{font-size:.72rem}.service-icons small{font-size:.6rem}
@media(max-width:620px){.beach-characteristics .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.beach-characteristics .feature-card,.beach-characteristics .feature-major{min-height:104px;padding:.7rem;grid-template-columns:32px minmax(0,1fr)}.beach-characteristics .feature-icon{width:32px;height:32px;font-size:.92rem}.service-icons{grid-template-columns:repeat(2,minmax(0,1fr))}.service-icons article{min-height:78px}.location .section-title{align-items:flex-start;flex-direction:column}.location .directions{width:100%;justify-content:center}}@media(max-width:370px){.beach-characteristics .feature-grid{grid-template-columns:1fr}}

/* Textos útiles junto a los datos que explican */
.section-narrative{margin-top:1.15rem;padding:1rem 1.15rem;border:1px solid #d9e7e4;border-left:4px solid var(--aqua);border-radius:14px;background:rgba(255,255,255,.72)}.section-narrative+ .section-narrative{margin-top:.65rem}.section-narrative h3{margin:0 0 .35rem;color:var(--navy);font-family:var(--sans);font-size:.88rem;letter-spacing:0}.section-narrative p{max-width:980px;margin:0;color:#40575b;font-size:.82rem;line-height:1.7}.section-narrative small{display:block;margin-top:.45rem;color:var(--aqua);font-size:.63rem;font-weight:750}.sea-block .section-narrative{border-color:rgba(255,255,255,.16);border-left-color:#72d7cc;background:rgba(255,255,255,.07)}.sea-block .section-narrative h3{color:#fff}.sea-block .section-narrative p{color:#d5e5e6}.quality .section-narrative{border-color:#e4d8bd;background:rgba(255,255,255,.55)}@media(max-width:620px){.section-narrative{padding:.85rem .9rem}.section-narrative p{font-size:.78rem;line-height:1.62}}
.beach-characteristics{padding:clamp(1.25rem,3.2vw,2.5rem);border:1px solid var(--stroke);border-radius:28px;background:linear-gradient(155deg,#f5fbf9 0%,#fff 58%,#fcf7ea 100%);box-shadow:var(--shadow-soft)}.characteristics-editorial{max-width:980px;margin:-.15rem 0 1.45rem;padding:.15rem 0 1.25rem;border-bottom:1px solid #dce9e6}.characteristics-editorial p{margin:0;color:#304d53;font-family:var(--display);font-size:clamp(1.05rem,1.8vw,1.28rem);line-height:1.65}.characteristics-editorial small{display:block;margin-top:.55rem;color:var(--aqua);font-size:.64rem;font-weight:750}.beach-characteristics .feature-grid{margin-top:.25rem}@media(max-width:620px){.beach-characteristics{width:94vw;padding:1.15rem;border-radius:22px}.characteristics-editorial{margin-bottom:1rem;padding-bottom:1rem}.characteristics-editorial p{font-size:1rem;line-height:1.58}}
.beach-detail-flow>.services{padding:clamp(1.25rem,3.2vw,2.5rem);border:1px solid #d8e8e4;border-radius:28px;background:linear-gradient(150deg,#fff 0%,#f3faf8 62%,#edf7f4 100%);box-shadow:var(--shadow-soft)}.beach-detail-flow>.services .service-icons{margin-top:.2rem}@media(max-width:620px){.beach-detail-flow>.services{width:94vw;padding:1.15rem;border-radius:22px}}
.place-alias{width:min(1400px,96vw);margin:.65rem auto 0;color:var(--soft);font-size:.82rem}.place-alias strong{color:var(--navy)}

/* Directorios por tipo, listados densos y fichas continentales */
.directory-hero,.listing-hero{width:min(1180px,92vw);margin:1.2rem auto 2rem;padding:clamp(2rem,6vw,5rem);border-radius:32px;background:linear-gradient(132deg,#073b4c 0%,#087f83 68%,#42bdb0);color:#fff;overflow:hidden}.directory-hero{position:relative}.directory-hero:after{content:"≈";position:absolute;right:4%;bottom:-24%;color:rgba(255,255,255,.09);font:900 18rem/1 var(--display)}.directory-hero h1,.listing-hero h1{max-width:900px;margin:.4rem 0 1rem;color:#fff;font-size:clamp(2.6rem,6vw,5.4rem);line-height:.98}.directory-hero h1 em{color:#91e0d7;font-style:normal}.directory-hero>p:last-child,.listing-hero p{max-width:760px;color:#d6ebe9;line-height:1.7}.type-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;width:min(1180px,92vw);margin:0 auto}.type-directory>a{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:1rem;padding:1.35rem;border:1px solid #d9e8e5;border-radius:20px;background:#fff;color:var(--navy);box-shadow:0 8px 28px rgba(6,62,73,.06)}.type-directory>a:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.type-directory>a>b{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#e2f4f0;color:var(--aqua);font-size:2rem}.type-directory h2{margin:.12rem 0;font-size:1.25rem}.type-directory p,.type-directory small{margin:0;color:var(--soft);font-size:.7rem}.type-directory>a>span{font-weight:800}.directory-note{width:min(900px,92vw);margin:4rem auto;padding:2rem;border-left:5px solid var(--sun);border-radius:16px;background:#fff9ea}.directory-note p{line-height:1.7;color:var(--soft)}
.listing-hero{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-block:3.2rem}.listing-hero h1{font-size:clamp(2.4rem,5vw,4.7rem)}.listing-hero>strong{display:flex;flex-direction:column;color:#fff;font:900 clamp(3rem,7vw,6rem)/.8 var(--display);text-align:right}.listing-hero>strong small{margin-top:.8rem;color:#a7dcd7;font:700 .7rem/1 var(--sans);text-transform:uppercase;letter-spacing:.08em}.listing-toolbar,.scope-facets{width:min(1180px,92vw);margin:0 auto 1rem}.listing-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem}.listing-toolbar label{display:flex;flex:1;max-width:560px;flex-direction:column;gap:.35rem;color:var(--soft);font-size:.7rem;font-weight:750}.listing-toolbar input{width:100%;padding:.8rem 1rem;border:1px solid #c9dcda;border-radius:12px;background:#fff;font:inherit;font-size:.85rem}.listing-toolbar>div{display:flex;gap:.35rem}.listing-toolbar button{width:42px;height:42px;border:1px solid #cfdfdc;border-radius:11px;background:#fff;color:var(--soft);cursor:pointer}.listing-toolbar button.active{background:var(--navy);color:#fff}.scope-facets{padding:1rem 1.1rem;border-radius:16px;background:#f1f8f6}.scope-facets>strong{font-size:.72rem}.scope-facets>div{display:flex;gap:.4rem;margin-top:.65rem;overflow-x:auto;padding-bottom:.2rem}.scope-facets a{display:flex;gap:.45rem;flex:0 0 auto;padding:.45rem .65rem;border-radius:999px;background:#fff;color:var(--navy);font-size:.68rem}.scope-facets small{color:var(--soft)}
.listing-cards{width:min(1180px,92vw);grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.listing-card{min-height:0!important;padding:0!important;overflow:hidden;background:#fff}.listing-card-main{display:grid;grid-template-rows:172px 1fr auto auto;height:100%;color:inherit;text-decoration:none}.listing-card.no-photo .listing-card-main{grid-template-rows:78px 1fr auto auto}.listing-card-photo{display:block;height:172px!important;margin:0!important}.listing-card-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#e5f5f1,#f7fbfa);color:#66bdb4;font:900 3.8rem/1 var(--display)}.listing-card-copy{display:block;padding:1rem 1rem .65rem}.listing-card-copy>small{color:var(--soft);font-size:.62rem}.listing-card-copy h2{margin:.25rem 0;font-size:1.2rem;line-height:1.12}.listing-card-copy p{margin:.3rem 0;color:var(--soft);font-size:.68rem}.listing-card-head{display:flex;justify-content:space-between;gap:.4rem;margin-bottom:.55rem}.listing-card-head>span{font-size:.55rem}.listing-live{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;padding:.65rem 1rem}.listing-live.without-flag{grid-template-columns:1fr}.listing-live>span{min-height:52px;padding:.5rem .55rem;border-radius:10px;background:#f1f7f6}.listing-live b,.listing-live small{display:block;font-size:.62rem}.listing-live small{margin-top:.15rem;color:var(--soft)}.listing-link{padding:.8rem 1rem;border-top:1px solid #e3ecea;color:var(--aqua);font-size:.72rem;font-weight:800}.listing-cards.compact{grid-template-columns:1fr}.listing-cards.compact .listing-card-main{grid-template-columns:150px 1fr 250px auto;grid-template-rows:auto;align-items:center}.listing-cards.compact .listing-card-photo,.listing-cards.compact .listing-card-placeholder{height:118px!important}.listing-cards.compact .listing-link{border:0;white-space:nowrap}.listing-no-results{width:min(1180px,92vw);margin:2rem auto;padding:2rem;border-radius:16px;background:#f3f8f7;text-align:center}
.leaflet-flags-canvas{pointer-events:none!important}
.legend-toggle{display:none;border:0;background:transparent;color:var(--navy);font:inherit;font-size:.72rem;font-weight:850;cursor:pointer}.legend-toggle b{margin-left:auto}
.inland-hero{position:relative;width:min(1280px,96vw);min-height:410px;margin:1rem auto 0;padding:clamp(2rem,7vw,6rem);display:flex;align-items:end;border-radius:32px;overflow:hidden;background:linear-gradient(135deg,#173f48,#397d75);color:#fff}.inland-hero.has-image{background-image:linear-gradient(to top,rgba(4,37,45,.92),rgba(4,37,45,.2)),var(--hero-image);background-size:cover;background-position:center}.inland-hero>div{position:relative;z-index:1;max-width:900px}.inland-hero h1{margin:.4rem 0 1rem;color:#fff;font-size:clamp(2.7rem,7vw,5.7rem);line-height:.98}.inland-hero p{color:#d8eae8}.inland-hero .directions{display:inline-flex;margin-top:1rem;background:#fff;color:var(--navy)}.inland-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;width:min(1120px,92vw);margin:-30px auto 0;position:relative;z-index:2}.inland-summary article{display:flex;min-height:125px;flex-direction:column;padding:1rem;border:1px solid #dce8e6;border-radius:16px;background:#fff;box-shadow:0 10px 32px rgba(7,59,76,.09)}.inland-summary small,.inland-summary span{color:var(--soft);font-size:.65rem}.inland-summary strong{margin:.35rem 0;font-size:1.05rem}.inland-summary span{margin-top:auto}.inland-forecast{display:flex;gap:.6rem;overflow-x:auto;padding-bottom:.7rem}.inland-forecast article{display:flex;flex:0 0 160px;min-height:135px;flex-direction:column;padding:1rem;border:1px solid #dce9e6;border-radius:15px;background:#f5faf9}.inland-forecast strong{margin:.45rem 0;font-size:.85rem}.inland-forecast span{margin-top:auto;font-size:1.15rem;font-weight:850}.inland-character>div{display:flex;gap:.6rem;flex-wrap:wrap}.inland-character>div span{display:flex;min-width:180px;flex-direction:column;padding:1rem;border-radius:14px;background:#eff7f5}.inland-character small{color:var(--soft)}
@media(max-width:800px){.type-directory{grid-template-columns:1fr}.listing-hero{display:block;padding:2.2rem 1.3rem}.listing-hero>strong{margin-top:1.5rem;text-align:left}.listing-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.listing-cards.compact .listing-card-main{grid-template-columns:110px 1fr;grid-template-rows:auto auto}.listing-cards.compact .listing-live,.listing-cards.compact .listing-link{grid-column:2}.inland-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.directory-hero,.listing-hero,.inland-hero{width:100%;margin-top:0;border-radius:0}.type-directory>a{grid-template-columns:50px 1fr;padding:1rem}.type-directory>a>b{width:46px;height:46px}.type-directory>a>span{grid-column:2}.listing-toolbar>div{display:none}.listing-cards{grid-template-columns:1fr}.listing-card-main{grid-template-columns:112px 1fr;grid-template-rows:auto auto auto}.listing-card-photo,.listing-card-placeholder{grid-row:1/4;height:100%!important;min-height:180px}.listing-card-copy{padding:.85rem}.listing-live{grid-column:2;padding:.35rem .75rem .6rem}.listing-link{grid-column:2}.listing-card.no-photo .listing-card-main{grid-template-rows:auto auto auto}.listing-card.no-photo .listing-card-placeholder{min-height:160px}.inland-hero{min-height:350px;padding:2rem 1.2rem}.inland-summary{grid-template-columns:1fr 1fr;margin-top:-18px}.inland-summary article{min-height:110px;padding:.8rem}.site-header nav{overflow-x:auto;white-space:nowrap;scrollbar-width:none}.site-header nav a{display:inline-flex!important;font-size:.62rem}.site-header .nav-secondary{display:none!important}.home-map .legend{display:flex!important;width:auto!important;right:.75rem!important;bottom:.75rem!important;flex-direction:column;padding:.65rem .75rem!important}.home-map .legend .legend-toggle{display:flex;min-width:130px}.home-map .legend:not(.is-open)>strong,.home-map .legend:not(.is-open)>span,.home-map .legend:not(.is-open)>small{display:none}.home-map .legend.is-open{width:245px!important}.home-map .legend.is-open .legend-toggle b{transform:rotate(180deg)}}
.destination-hero{width:min(1280px,96vw);margin:1rem auto 2rem;padding:clamp(2.5rem,7vw,6rem);border-radius:34px;background:radial-gradient(circle at 85% 20%,rgba(245,191,79,.28),transparent 24%),linear-gradient(135deg,#073b4c,#087f83);color:#fff}.destination-hero>div{max-width:900px}.destination-hero h1{margin:.4rem 0 1rem;color:#fff;font-size:clamp(2.8rem,7vw,5.8rem);line-height:.97}.destination-hero p{max-width:740px;color:#d3e9e7;line-height:1.7}.destination-hero>div>div{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.4rem}.destination-hero>div>div>a{display:inline-flex;padding:.8rem 1.1rem;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:.75rem;font-weight:850}.destination-hero .primary-link{background:var(--sun);color:var(--navy)}.destination-map{width:min(1180px,92vw);margin:2rem auto 4rem}.destination-grid h3{margin:.2rem 0;font-size:1.05rem}.destination-placeholder{display:grid;place-items:center;color:#fff;font:900 5rem/1 var(--display)}.nearby-grid a:has(.nearby-photo){padding:0;overflow:hidden}.nearby-photo{display:block;height:145px;overflow:hidden}.nearby-photo img{width:100%;height:100%;object-fit:cover}.nearby-copy{display:block;padding:1rem}.nearby-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin:.55rem 0}.nearby-tags em{padding:.3rem .45rem;border-radius:999px;background:#eef6f4;color:#365c61;font-size:.6rem;font-style:normal}.nearby-link{display:block;margin-top:.7rem}.ranking-cards>a>strong{font-size:.98rem}.ranking-cards>a>strong small{font-size:.52rem;color:var(--soft)}
@media(max-width:620px){.destination-hero{width:100%;margin-top:0;padding:2.4rem 1.2rem;border-radius:0}.destination-map{margin-top:1rem}.nearby-photo{height:180px}}

/* Buscador y filtros de los directorios */
.listing-controls{position:relative;z-index:30;display:flex;align-items:end;justify-content:space-between;gap:1rem;width:min(1180px,92vw);margin:0 auto 1rem}.listing-search{position:relative;flex:1;max-width:650px}.listing-search>label{display:block;margin-bottom:.4rem;color:var(--soft);font-size:.7rem;font-weight:800}.listing-search>div:first-of-type{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;border:1px solid #c9dcda;border-radius:14px;background:#fff;box-shadow:0 8px 25px rgba(7,59,69,.05)}.listing-search>div:first-of-type>span{padding-left:.9rem;color:var(--aqua);font-size:1.3rem}.listing-search input{min-width:0;width:100%;padding:.84rem .65rem;border:0;background:transparent;font:inherit;font-size:.86rem}.listing-search input:focus{outline:0}.listing-search button,.territory-filter footer button{padding:.72rem 1rem;border:0;border-radius:10px;background:var(--navy);color:#fff;font:inherit;font-size:.72rem;font-weight:850;cursor:pointer}.listing-search>div:first-of-type>button{margin-right:.3rem}.listing-view{display:flex;gap:.35rem}.listing-view button{width:42px;height:42px;border:1px solid #cfdfdc;border-radius:11px;background:#fff;color:var(--soft);cursor:pointer}.listing-view button.active{background:var(--navy);color:#fff}.listing-search>.search-suggestions{display:block;position:absolute;z-index:3000;top:calc(100% + .4rem);left:0;right:0;max-height:min(410px,58vh);overflow:auto;border:1px solid var(--stroke);border-radius:16px;background:#fff;box-shadow:0 22px 55px rgba(7,59,69,.22)}.listing-search>.search-suggestions[hidden]{display:none}.listing-search .search-suggestions>a{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.7rem .8rem;border-bottom:1px solid #edf2f1;color:var(--text);text-decoration:none}.listing-search .search-suggestions>a:hover,.listing-search .search-suggestions>a[aria-selected="true"]{background:var(--aqua-soft)}.listing-search .suggestion-thumb{display:block;width:42px;height:42px;overflow:hidden;border-radius:10px}.listing-search .suggestion-thumb img{width:100%;height:100%;object-fit:cover}.listing-search .search-suggestions small{margin:.12rem 0 0;color:var(--soft);font-size:.63rem}.listing-search .suggestion-credit{display:none}.territory-filter{position:relative;z-index:20;width:min(1180px,92vw);margin:0 auto 1.25rem}.territory-filter details{border:1px solid #d8e6e3;border-radius:16px;background:#f3f9f7}.territory-filter summary{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.05rem;cursor:pointer;list-style:none}.territory-filter summary::-webkit-details-marker{display:none}.territory-filter summary span{display:flex;align-items:baseline;gap:.65rem}.territory-filter summary b{font-size:.76rem}.territory-filter summary small{color:var(--soft);font-size:.66rem}.territory-filter summary i{font-style:normal;transition:transform .2s}.territory-filter details[open] summary i{transform:rotate(180deg)}.territory-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;padding:0 1rem 1rem}.territory-options label{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;min-width:0;padding:.65rem .7rem;border:1px solid #dce9e6;border-radius:11px;background:#fff;cursor:pointer}.territory-options label:has(input:checked){border-color:var(--aqua);background:#e9f8f5}.territory-options input{accent-color:var(--aqua)}.territory-options span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:750}.territory-options small{color:var(--soft);font-size:.62rem}.territory-filter footer{display:flex;align-items:center;justify-content:flex-end;gap:1rem;padding:.75rem 1rem;border-top:1px solid #dce9e6}.territory-filter footer a{color:var(--soft);font-size:.7rem;font-weight:750}

/* Previsión compacta: más información útil en menos altura */
.forecast.visual.forecast-week{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.65rem}.forecast.visual .forecast-card{min-height:215px!important;padding:.9rem!important;gap:.55rem!important;border-radius:15px}.forecast.visual .forecast-card-top .weather-icon{font-size:1.55rem}.forecast.visual .forecast-day{font-size:.72rem}.forecast.visual .forecast-condition{align-items:flex-start}.forecast.visual .forecast-condition h3{font-size:.84rem;line-height:1.2}.forecast.visual .temperature-range{gap:.35rem}.forecast.visual .temperature-range strong{font-size:1.45rem}.forecast.visual .forecast-periods{gap:.35rem}.forecast.visual .forecast-periods span{padding:.42rem;font-size:.68rem}.forecast.visual .forecast-details{gap:.28rem}.forecast.visual .forecast-details>span{padding:.25rem .42rem;font-size:.64rem}.forecast.visual .forecast-issued{font-size:.58rem}.hourly-heading{margin-top:1.5rem}.hourly-weather{gap:.5rem}.hourly-weather article{flex-basis:126px;padding:.75rem;gap:.18rem;border-radius:13px}.hourly-weather article>strong{font-size:.82rem}.hourly-weather article>b{font-size:1.25rem}.hourly-weather article>span,.hourly-weather article>em,.hourly-weather article>small{font-size:.65rem}.hourly-icon{font-size:1.3rem!important}.inland-summary .weather-summary strong{display:flex;align-items:center;gap:.45rem}.inland-summary .weather-summary strong i{font-size:1.35rem;font-style:normal}.inland-forecast article{flex-basis:150px;min-height:128px;padding:.75rem}.inland-forecast article>div{display:flex;align-items:center;justify-content:space-between}.inland-forecast article>div i{font-size:1.35rem;font-style:normal}.inland-forecast article strong{font-size:.76rem;line-height:1.2}.inland-forecast article span{font-size:1.05rem}.inland-forecast article em{margin-top:.25rem;color:var(--soft);font-size:.62rem;font-style:normal}
@media(max-width:850px){.territory-options{grid-template-columns:repeat(2,minmax(0,1fr))}.forecast.visual.forecast-week{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:620px){.listing-controls{align-items:stretch}.listing-search{max-width:none}.listing-view{display:none}.listing-search .search-suggestions>a{grid-template-columns:40px minmax(0,1fr)}.listing-search .search-suggestions>a>b{display:none}.territory-filter summary span{display:block}.territory-filter summary small{display:block;margin-top:.15rem}.territory-options{grid-template-columns:1fr;max-height:330px;overflow-y:auto}.forecast.visual.forecast-week{display:flex!important;grid-template-columns:none!important;margin-inline:-5vw;padding:0 5vw .8rem;overflow-x:auto}.forecast-week .forecast-card{flex:0 0 72vw!important;min-height:205px!important;scroll-snap-align:center}.hourly-weather article{flex-basis:116px}.inland-weather{width:94vw}.inland-forecast{margin-inline:-3vw;padding-inline:3vw}}

/* Orden y densidad de las fichas: la información útil manda sobre los huecos. */
.beach-detail-flow,.inland-detail-flow{display:flex;flex-direction:column}
.beach-detail-flow>#estado{order:1}.beach-detail-flow>.forecast-section{order:2}.beach-detail-flow>.beach-characteristics{order:3}.beach-detail-flow>.services{order:4}.beach-detail-flow>.sea-block{order:5}.beach-detail-flow>.access-section{order:6}.beach-detail-flow>.places-nearby{order:7}.beach-detail-flow>.quality{order:8}.beach-detail-flow>.location{order:9}.beach-detail-flow>.nearby{order:10}.beach-detail-flow>.seo-links{order:11}
.beach-detail-flow>.beach-section,.inland-detail-flow>.beach-section{margin-top:2.65rem}.beach-detail-flow>.now{margin-top:1.2rem}.beach-detail-flow>.now-cards:empty{display:none}.beach-detail-flow .section-title{margin-bottom:1rem}.beach-detail-flow .section-title p,.inland-detail-flow .section-title p{margin-bottom:0}.beach-hero+.current-weather-strip{margin-top:-30px}.hero-advisory{margin:.85rem 0 0!important;padding:.7rem .85rem;border-left:3px solid rgba(255,255,255,.55);border-radius:0 10px 10px 0;background:rgba(2,37,44,.2);color:#ecf9f7!important;font-size:.78rem!important;line-height:1.5}.current-weather-strip+.beach-nav{margin-top:.8rem}

/* Las horas visibles se adaptan al ancho y nunca necesitan carrusel. */
.hourly-weather.hourly-fit{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:.45rem;margin-inline:0;padding:0;overflow:hidden}.hourly-weather.hourly-fit article{min-width:0;width:auto;min-height:158px;flex:none;padding:.65rem .55rem}.hourly-weather.hourly-fit article:nth-child(n+10){display:none}.hourly-weather.hourly-fit .hourly-icon{display:grid;place-items:center;width:38px;height:38px;margin:.15rem auto;border:1px solid #f5d990;border-radius:50%;background:#fff5d8;color:#e5a31c!important;font-size:1.45rem!important;line-height:1}.hourly-weather.hourly-fit article>em{min-height:2.2em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.hourly-heading,.daily-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.hourly-heading{margin:0 0 .75rem}.daily-heading{margin:1.5rem 0 .75rem}.hourly-heading h3,.daily-heading h3{margin:.1rem 0 0;color:var(--navy);font-size:1.05rem}.hourly-heading>small{color:var(--soft);font-size:.62rem}.forecast.visual.forecast-week{overflow:visible!important;margin-inline:0!important;padding:0!important}.inland-forecast{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:0;padding:0;overflow:visible}.inland-forecast article{min-width:0;min-height:128px;flex:none}

/* Iconografía de servicios coherente y compacta. */
.service-icons article{min-height:92px;padding:.7rem .6rem;border:1px solid #dcebe8;background:linear-gradient(155deg,#f2faf8,#fff)}.service-icons b{display:grid;place-items:center;width:42px;height:42px;margin-bottom:.3rem;border-radius:13px;background:#fff;color:var(--aqua);box-shadow:0 5px 16px rgba(7,59,69,.08)}.service-icons b svg{display:block;width:24px;height:24px}.service-icons span{line-height:1.2}.section-narrative{margin-top:1rem}

@media(max-width:1150px){.hourly-weather.hourly-fit{grid-template-columns:repeat(6,minmax(0,1fr))}.hourly-weather.hourly-fit article:nth-child(n+7){display:none}}
@media(max-width:700px){.beach-detail-flow>.beach-section,.inland-detail-flow>.beach-section{margin-top:2.2rem}.beach-detail-flow>.now{margin-top:.85rem}.beach-hero+.current-weather-strip{margin-top:-18px}.current-weather-strip+.beach-nav{margin-top:.55rem}.hourly-weather.hourly-fit{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}.hourly-weather.hourly-fit article:nth-child(n+5){display:none}.hourly-weather.hourly-fit article{min-height:145px;padding:.55rem .35rem}.hourly-weather.hourly-fit .hourly-icon{width:34px;height:34px;font-size:1.3rem!important}.hourly-weather.hourly-fit article>span:last-child{font-size:.57rem}.forecast.visual.forecast-week,.inland-forecast{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.5rem;overflow:visible!important;margin-inline:0!important;padding:0!important}.forecast-week .forecast-card{width:auto!important;min-width:0!important;min-height:198px!important;flex:none!important}.inland-forecast article{width:auto;min-height:120px}.hourly-heading>small{display:none}.service-icons b{width:38px;height:38px}.service-icons b svg{width:22px;height:22px}}
@media(max-width:410px){.hourly-weather.hourly-fit{grid-template-columns:repeat(3,minmax(0,1fr))}.hourly-weather.hourly-fit article:nth-child(n+4){display:none}.hourly-weather.hourly-fit article>em{font-size:.58rem}.forecast.visual.forecast-week,.inland-forecast{grid-template-columns:1fr!important}.forecast-week .forecast-card{min-height:185px!important}}

/* Ajustes de alineación y lectura de temperaturas. */
.beach-detail-flow>.now{margin-left:auto;margin-right:auto}.temperature-range small b{display:block;color:var(--soft);font-size:.56rem;text-transform:uppercase;letter-spacing:.06em}.temperature-range strong{display:flex;flex-direction:column;align-items:flex-end}.temperature-range strong small{color:var(--soft);font-family:var(--sans);font-size:.56rem;text-transform:uppercase;letter-spacing:.06em}.forecast-section>.section-narrative,.inland-weather>.section-narrative{margin:1.15rem 0;padding:.9rem 1rem;border-left:3px solid var(--aqua);border-radius:0 13px 13px 0;background:#f4faf8}.inland-forecast article>span{display:flex;align-items:end;justify-content:space-between;gap:.4rem}.inland-forecast article>span small{font-size:.62rem;font-weight:700}.inland-forecast article>span b{color:var(--navy);font-size:.8rem}

/* Tarjetas de rankings: composición estable con y sin fotografía. */
.ranking-list{width:min(1180px,92vw)}
.ranking-list .section-title{gap:1rem}
.ranking-list .section-title>small{max-width:260px;text-align:right;color:var(--soft)}
.ranking-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.ranking-cards>a.rank-card{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:238px;padding:0;gap:0;overflow:hidden;border:1px solid var(--stroke);border-radius:22px;background:#fff;color:var(--text);text-decoration:none;box-shadow:0 8px 30px rgba(7,59,69,.06)}
.ranking-cards>a.rank-card:hover{border-color:#acd8d1;transform:translateY(-3px);box-shadow:var(--shadow-hover)}
.rank-card-media{position:relative;display:block;min-width:0;height:100%;overflow:hidden;background:linear-gradient(155deg,#cdeee8,#56beb5)}
.rank-card-media>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.rank-card:hover .rank-card-media>img{transform:scale(1.035)}
.rank-placeholder{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 72% 20%,rgba(244,199,107,.95) 0 9%,transparent 9.5%),linear-gradient(150deg,#dff6f1 0%,#7bd0c6 52%,#157782 100%)}
.rank-placeholder:before,.rank-placeholder:after{content:"";position:absolute;left:-20%;width:140%;height:38%;border-radius:50%;border-top:2px solid rgba(255,255,255,.65);transform:rotate(-7deg)}
.rank-placeholder:before{bottom:15%;background:rgba(255,255,255,.12)}
.rank-placeholder:after{bottom:-5%;background:rgba(7,59,69,.13)}
.rank-placeholder i{position:relative;z-index:1;color:rgba(255,255,255,.72);font:400 5rem/1 var(--display);font-style:normal}
.rank-card .rank-number{position:absolute;z-index:3;top:.8rem;left:.8rem;display:grid;place-items:center;width:38px;height:38px;border:2px solid rgba(255,255,255,.8);border-radius:50%;background:var(--navy);color:#fff;font:900 .8rem/1 var(--sans);box-shadow:0 5px 16px rgba(7,59,69,.25)}
.rank-card-copy{display:flex;min-width:0;flex-direction:column;padding:1.25rem 1.3rem}
.rank-location{overflow:hidden;color:var(--soft);font-size:.67rem;text-overflow:ellipsis;white-space:nowrap}
.ranking-cards .rank-card h3{margin:.3rem 0 .42rem;color:var(--navy);font-family:var(--display);font-size:1.42rem;line-height:1.06}
.rank-facts{color:var(--soft);font-size:.72rem}
.rank-card .rank-tags{display:flex;margin:.9rem 0 1rem;gap:.32rem}
.rank-card .rank-tags em{display:inline-flex;align-items:center;gap:.28rem;padding:.34rem .5rem;font-size:.61rem}
.rank-card .rank-tags em i{font-size:.78rem;font-style:normal}
.rank-card .rank-tags .rank-blue{background:#e7f3ff;color:#17649a}
.rank-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-top:auto;padding-top:.8rem;border-top:1px solid var(--stroke)}
.rank-card-footer>span{color:var(--soft);font-size:.64rem;font-weight:750}
.rank-card-footer>b{color:var(--navy);font-size:.7rem;white-space:nowrap}
.rank-card-footer>b i{color:var(--aqua);font-style:normal}
@media(max-width:900px){.ranking-cards{grid-template-columns:1fr}.ranking-cards>a.rank-card{grid-template-columns:210px minmax(0,1fr);min-height:220px}}
@media(max-width:620px){.ranking-list .section-title{align-items:flex-start;flex-direction:column}.ranking-list .section-title>small{text-align:left}.ranking-cards>a.rank-card{grid-template-columns:118px minmax(0,1fr);min-height:190px;border-radius:18px}.rank-card-copy{padding:1rem}.ranking-cards .rank-card h3{font-size:1.18rem}.rank-card .rank-tags{margin:.65rem 0;gap:.25rem}.rank-card .rank-tags em{padding:.28rem .4rem;font-size:.56rem}.rank-card-footer>span{display:none}.rank-card .rank-number{top:.55rem;left:.55rem;width:32px;height:32px}.card-photo-credit{max-width:calc(100% - .5rem);right:.25rem;bottom:.25rem;font-size:.42rem!important}}
@media(max-width:390px){.ranking-cards>a.rank-card{grid-template-columns:102px minmax(0,1fr)}.rank-card-copy{padding:.85rem}.rank-location{font-size:.59rem}.ranking-cards .rank-card h3{font-size:1.08rem}.rank-facts{font-size:.64rem}}

/* Índice nacional de rankings provinciales. */
.rankings-index-hero{background:radial-gradient(circle at 88% 18%,rgba(244,199,107,.28),transparent 22%),linear-gradient(135deg,var(--navy),#087f83)}
.rankings-index{width:min(1180px,92vw)}
.province-ranking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.province-ranking-grid>a{position:relative;min-height:205px;padding:1.3rem;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--stroke);border-radius:20px;background:linear-gradient(145deg,#fff,#f2f9f7);color:var(--text);text-decoration:none}
.province-ranking-grid>a:after{content:"≈";position:absolute;right:-.15rem;bottom:-1.6rem;color:rgba(54,185,173,.13);font:400 7rem/1 var(--display);pointer-events:none}
.province-ranking-grid>a:hover{border-color:#acd8d1;transform:translateY(-3px);box-shadow:var(--shadow-hover)}
.province-ranking-grid small{position:relative;z-index:1;color:var(--aqua);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.province-ranking-grid h2{position:relative;z-index:1;margin:.35rem 0;color:var(--navy);font-size:1.7rem;line-height:1}
.province-ranking-grid span{position:relative;z-index:1;color:var(--soft);font-size:.72rem}
.province-ranking-grid span b{color:var(--navy);font-size:1rem}
.province-ranking-grid strong{position:relative;z-index:1;margin-top:auto;padding-top:1rem;color:var(--navy);font-size:.72rem}
.province-ranking-grid strong i{color:var(--aqua);font-style:normal}
@media(max-width:850px){.province-ranking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.province-ranking-grid{grid-template-columns:1fr}.province-ranking-grid>a{min-height:165px}.province-ranking-grid h2{font-size:1.5rem}}

/* Accesos visibles a las selecciones provinciales. */
.site-header .nav-rank{color:var(--navy);font-weight:650}
.home-discovery-grid>a.discovery-ranking{border-color:#e8c66e;background:linear-gradient(145deg,#fff9e9,#fff)}
.home-discovery-grid>a.discovery-ranking>b{background:#fff0c2;color:#8a6200}
.listing-rankings-callout{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.1rem;width:min(1180px,92vw);margin:0 auto 1.25rem!important;padding:1.15rem 1.25rem;border:1px solid #ead28e;border-radius:18px;background:linear-gradient(120deg,#fff9e9,#fff)}
.listing-rankings-callout>span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#fff0c2;color:#8a6200;font-size:1.25rem}
.listing-rankings-callout .eyebrow{margin:0 0 .15rem;font-size:.58rem!important}
.listing-rankings-callout h2{margin:0;color:var(--navy);font-family:var(--display);font-size:1.35rem}
.listing-rankings-callout p:not(.eyebrow){margin:.15rem 0 0;color:var(--soft);font-size:.7rem}
.listing-rankings-callout>a{padding:.7rem .9rem;border-radius:999px;background:var(--navy);color:#fff;font-size:.7rem;font-weight:850;text-decoration:none;white-space:nowrap}
.listing-rankings-callout>a:hover{background:var(--navy-2);transform:translateY(-1px)}
@media(max-width:700px){.site-header nav a.nav-rank{display:inline-flex!important}.listing-rankings-callout{grid-template-columns:auto minmax(0,1fr)}.listing-rankings-callout>a{grid-column:1/-1;text-align:center}}
@media(max-width:460px){.site-header .nav-rank{font-size:.6rem!important}.site-header .nav-map{padding:.5rem .65rem}.listing-rankings-callout{width:92vw;padding:1rem;gap:.75rem}.listing-rankings-callout>span{width:40px;height:40px}.listing-rankings-callout h2{font-size:1.15rem}}

/* Mapa de rankings con el mismo lenguaje de banderas que la portada. */
.ranking-map-section .section-title>small{color:var(--soft);font-size:.7rem}
.ranking-map-shell{position:relative}
.ranking-map-legend{position:absolute;z-index:500;right:1rem;bottom:1rem;display:flex;flex-wrap:wrap;gap:.45rem .75rem;max-width:360px;padding:.7rem .85rem;border:1px solid rgba(7,59,69,.08);border-radius:14px;background:rgba(255,255,255,.95);box-shadow:0 8px 25px rgba(7,59,69,.14);backdrop-filter:blur(8px)}
.ranking-map-legend span{display:flex;align-items:center;color:var(--soft);font-size:.62rem;white-space:nowrap}
.ranking-map-legend .dot{--flag-color:var(--grey);position:relative;width:19px;height:18px;margin-right:.3rem;border:0;border-radius:0;background:transparent}
.ranking-map-legend .dot:before{content:"";position:absolute;left:1px;top:1px;width:2px;height:16px;background:#63787d}
.ranking-map-legend .dot:after{content:"";position:absolute;left:3px;top:2px;width:14px;height:9px;background:var(--flag-color);clip-path:polygon(0 0,100% 8%,84% 50%,100% 92%,0 84%)}
.ranking-map-legend .dot.green{--flag-color:var(--green)}.ranking-map-legend .dot.yellow{--flag-color:var(--yellow)}.ranking-map-legend .dot.red{--flag-color:var(--red)}.ranking-map-legend .dot.grey{--flag-color:var(--grey)}
.ranking-map-note{margin:.65rem .2rem 0;color:var(--soft);font-size:.66rem;line-height:1.5}
@media(max-width:620px){.ranking-map-section .section-title{align-items:flex-start;flex-direction:column}.ranking-map-legend{right:.65rem;bottom:.65rem;max-width:calc(100% - 1.3rem);gap:.35rem .55rem}.ranking-map-note{font-size:.62rem}.rich-popup{min-width:230px}}

/* Mapa personalizado de cercanía. */
.nearby-map-shell{position:sticky;top:90px;align-self:start}
.nearby-map-shell>.seo-map{width:100%}
.nearby-map-shell>.ranking-map-legend{max-width:330px}
@media(max-width:800px){.nearby-map-shell{position:relative;top:auto;order:2;width:100%}.nearby-app>.nearby-map-shell{order:2}}
@media(max-width:520px){.nearby-map-shell>.ranking-map-legend{right:.5rem;bottom:.5rem;max-width:calc(100% - 1rem);padding:.55rem .65rem}.nearby-map-shell>.ranking-map-legend span{font-size:.56rem}}

/* Estimación ambiental de llegada de medusas: separada de observaciones confirmadas. */
.hero-snapshot .hero-jelly{align-items:flex-start;flex-direction:column;gap:.08rem}.hero-jelly em{color:#d9c9f3;font-size:.56rem;font-style:normal;font-weight:750;line-height:1.2}
.sea-block>.section-title>small,.quality>.section-title>a{display:none}.sea-block .section-title h2{color:#fff}.sea-overview>b{display:flex;align-items:center;justify-content:center;padding-bottom:.16em;font-size:3.2rem;line-height:1}
.jellyfish-estimate{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(210px,280px);align-items:center;gap:1.1rem;width:min(1180px,92vw);margin:1.35rem auto 0;padding:1.2rem 1.3rem;overflow:hidden;border:1px solid #d9cce9;border-radius:22px;background:linear-gradient(125deg,#fbf8ff 0%,#f7fcfb 68%,#eef9f7 100%);box-shadow:var(--shadow-soft)}
.jellyfish-estimate:after{content:"";position:absolute;right:-55px;top:-70px;width:190px;height:190px;border-radius:50%;background:rgba(176,145,213,.10);pointer-events:none}.jellyfish-estimate-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#eee6f8;font-size:1.75rem}.jellyfish-estimate-main{position:relative;z-index:1}.jellyfish-estimate .eyebrow{margin:0;color:#76549d;font-size:.58rem}.jellyfish-estimate h2{margin:.14rem 0 .32rem;color:var(--navy);font-size:1.3rem}.jellyfish-estimate-main>p:not(.eyebrow){margin:0;color:#405c61;font-size:.72rem;line-height:1.55}.jellyfish-estimate-facts{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.7rem}.jellyfish-estimate-facts span{display:flex;flex-direction:column;padding:.43rem .58rem;border:1px solid #ddebe8;border-radius:10px;background:rgba(255,255,255,.78);color:#526b70;font-size:.62rem}.jellyfish-estimate-facts b{color:var(--navy);font-size:.57rem;text-transform:uppercase;letter-spacing:.04em}.jellyfish-estimate aside{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;padding:.8rem .9rem;border-left:3px solid #a782ce;border-radius:0 13px 13px 0;background:rgba(255,255,255,.62)}.jellyfish-estimate aside>b{color:#68448f;font-size:.74rem}.jellyfish-estimate aside>span{margin:.15rem 0 .5rem;color:var(--soft);font-size:.62rem;line-height:1.4}.jellyfish-estimate aside>a{color:#096d70;font-size:.64rem;font-weight:800;text-decoration:none}.jellyfish-estimate aside>small{margin-top:.3rem;color:#708488;font-size:.54rem}
@media(max-width:800px){.jellyfish-estimate{grid-template-columns:auto minmax(0,1fr)}.jellyfish-estimate aside{grid-column:1/-1;margin-left:69px}}
@media(max-width:560px){.jellyfish-estimate{grid-template-columns:44px minmax(0,1fr);gap:.75rem;width:94vw;padding:1rem;border-radius:18px}.jellyfish-estimate-icon{width:44px;height:44px;border-radius:13px;font-size:1.35rem}.jellyfish-estimate h2{font-size:1.1rem}.jellyfish-estimate-facts{grid-column:1/-1}.jellyfish-estimate aside{grid-column:1/-1;margin-left:0}.hero-snapshot .hero-jelly{align-items:flex-start}}

/* Descubrimiento de playas para perros, con cobertura explícitamente parcial. */
.home-discovery-grid>a.discovery-dogs{border-color:#bcded6;background:linear-gradient(145deg,#eef9f6,#fff)}
.home-discovery-grid>a.discovery-dogs>b{background:#d9f1eb;color:#08746e}
.listing-quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;width:min(1180px,92vw);margin:0 auto 1.25rem}
.listing-quick-links>a{display:flex;align-items:center;gap:.75rem;padding:.8rem .95rem;border:1px solid var(--stroke);border-radius:14px;background:#fff;color:var(--navy);text-decoration:none}
.listing-quick-links>a:hover{border-color:#acd8d1;background:#f4faf8;transform:translateY(-1px)}
.listing-quick-links>a>b{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:10px;background:var(--aqua-soft);color:var(--aqua)}
.listing-quick-links>a>span{display:flex;min-width:0;flex-direction:column;font-size:.75rem;font-weight:800}
.listing-quick-links small{color:var(--soft);font-size:.6rem;font-weight:500}
.nearby-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.nearby-hero .nearby-hero-actions button{margin-top:0}
.nearby-hero-actions>a{display:inline-flex;padding:.76rem 1rem;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-size:.75rem;font-weight:800;text-decoration:none}
.nearby-hero-actions>a:hover{background:rgba(255,255,255,.18)}
@media(max-width:560px){.listing-quick-links{grid-template-columns:1fr}.nearby-hero-actions{align-items:stretch;flex-direction:column}.nearby-hero-actions>button,.nearby-hero-actions>a{justify-content:center;width:100%}}

/* Fotografías aprobadas en los resultados de cercanía. */
.nearby-results a{grid-template-columns:62px minmax(0,1fr) auto;padding:.55rem;gap:.75rem;overflow:hidden;background:#fff;text-decoration:none}
.nearby-results a:hover{border-color:#acd8d1;background:#f9fcfb;transform:translateY(-1px)}
.nearby-result-thumb{position:relative;display:grid;place-items:center;width:62px;height:62px;overflow:hidden;border-radius:12px;background:linear-gradient(150deg,#dff6f1,#72ccc2);color:rgba(7,59,69,.35)}
.nearby-result-thumb>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.nearby-results a:hover .nearby-result-thumb>img{transform:scale(1.04)}
.nearby-result-thumb>i{font:400 2.4rem/1 var(--display);font-style:normal}
.nearby-result-thumb>b{position:absolute;left:.3rem;top:.3rem;display:grid;place-items:center;min-width:22px;height:22px;padding:0 .25rem;border:1px solid rgba(255,255,255,.8);border-radius:999px;background:rgba(7,59,69,.9);color:#fff;font-size:.55rem;box-shadow:0 2px 8px rgba(7,59,69,.2)}
.nearby-results a>div{min-width:0}.nearby-results a>strong{color:var(--aqua)}
.nearby-results h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nearby-results a>div>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:430px){.nearby-results a{grid-template-columns:54px minmax(0,1fr) auto;gap:.6rem}.nearby-result-thumb{width:54px;height:58px}.nearby-results h3{font-size:.82rem}.nearby-results a>div>span{font-size:.57rem}}

/* Navegación móvil accesible y filtros de exploración. */
.nav-toggle{display:none;border:0;background:transparent;color:var(--navy);font:800 .72rem/1 var(--sans)}
.nav-toggle>span,.nav-toggle>span:before,.nav-toggle>span:after{display:block;width:21px;height:2px;border-radius:2px;background:currentColor;content:"";transition:.2s}
.nav-toggle>span{position:relative}.nav-toggle>span:before{position:absolute;top:-6px}.nav-toggle>span:after{position:absolute;top:6px}
.nav-toggle b{font:inherit}.nav-toggle[aria-expanded="true"]>span{background:transparent}.nav-toggle[aria-expanded="true"]>span:before{top:0;transform:rotate(45deg)}.nav-toggle[aria-expanded="true"]>span:after{top:0;transform:rotate(-45deg)}
.data-filter{width:min(1180px,92vw);margin:0 auto 1rem}.data-filter details{overflow:hidden;border:1px solid var(--stroke);border-radius:18px;background:#fff;box-shadow:0 5px 22px rgba(7,59,69,.045)}
.data-filter summary{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1rem;cursor:pointer;list-style:none}.data-filter summary::-webkit-details-marker{display:none}.data-filter summary>span{display:flex;flex-direction:column}.data-filter summary b{color:var(--navy);font-size:.76rem}.data-filter summary small{margin-top:.12rem;color:var(--soft);font-size:.64rem}.data-filter summary i{font-style:normal}
.data-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding:1rem;border-top:1px solid var(--stroke);background:#f8fbfa}.data-filter-grid>label{display:flex;flex-direction:column;gap:.35rem;color:var(--navy);font-size:.64rem;font-weight:800}.data-filter select{min-height:42px;padding:.55rem .7rem;border:1px solid #cadeda;border-radius:10px;background:#fff;color:var(--text);font:650 .7rem var(--sans)}.data-filter fieldset{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;border:0}.data-filter legend{width:100%;margin-bottom:.2rem;color:var(--navy);font-size:.64rem;font-weight:800}.data-filter fieldset label{display:flex;align-items:center;gap:.35rem;padding:.48rem .6rem;border:1px solid #d8e8e4;border-radius:999px;background:#fff;color:#38565b;font-size:.64rem;cursor:pointer}.data-filter fieldset input{accent-color:var(--aqua)}.data-filter footer{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1rem;border-top:1px solid var(--stroke)}.data-filter footer a{color:var(--soft);font-size:.65rem}.data-filter footer button{padding:.6rem .85rem;border:0;border-radius:999px;background:var(--navy);color:#fff;font:800 .66rem var(--sans)}
.listing-map-section{width:min(1180px,92vw);margin:1.3rem auto 1.7rem}.listing-map-section .seo-map{height:min(52vh,520px);border-radius:22px}.listing-map-section .section-title>small{max-width:400px;color:var(--soft);font-size:.65rem;text-align:right}
@media(max-width:760px){.nav-toggle{display:flex;align-items:center;gap:.55rem;padding:.6rem}.site-header{position:relative}.site-header nav{position:absolute;z-index:2000;left:4vw;right:4vw;top:calc(100% + .35rem);display:none!important;max-height:calc(100vh - 90px);padding:.55rem;overflow:auto;border:1px solid var(--stroke);border-radius:16px;background:#fff;box-shadow:0 18px 50px rgba(7,59,69,.2)}.site-header nav.is-open{display:grid!important;grid-template-columns:1fr!important}.site-header nav a{display:flex!important;justify-content:space-between;padding:.78rem .85rem!important;border-radius:10px;font-size:.72rem!important}.site-header nav a:hover{background:#eef8f5}.site-header .nav-map{border-radius:10px!important}.data-filter-grid{grid-template-columns:1fr}.listing-map-section .section-title{align-items:flex-start;flex-direction:column}.listing-map-section .section-title>small{text-align:left}}
@media(max-width:520px){.data-filter,.territory-filter{width:94vw}.data-filter details{border-radius:15px}.data-filter summary{padding:.8rem}.data-filter-grid{padding:.8rem}.data-filter fieldset{gap:.35rem}.data-filter fieldset label{padding:.43rem .52rem;font-size:.6rem}.listing-map-section{width:94vw}.listing-map-section .seo-map{height:390px}.forecast.visual.forecast-week,.inland-forecast{grid-template-columns:repeat(2,minmax(0,1fr))!important}.forecast-week .forecast-card{min-height:178px!important}}

/* Los mapas territoriales y de rankings comparten tamaño e interacción. */
.ranking-map-section,.listing-map-section{width:min(1180px,92vw)}
.ranking-map-shell .seo-map,.listing-map-section .seo-map{width:100%;height:520px;min-height:520px;cursor:grab;touch-action:none}
.ranking-map-shell .seo-map:active,.listing-map-section .seo-map:active{cursor:grabbing}
.ranking-map-legend{pointer-events:none}
.ranking-map-shell .leaflet-popup-content,.listing-map-section .leaflet-popup-content{max-height:350px;overflow-y:auto;overscroll-behavior:contain}
@media(max-width:620px){.ranking-map-section,.listing-map-section{width:94vw}.ranking-map-shell .seo-map,.listing-map-section .seo-map{height:440px;min-height:440px}.ranking-map-shell .leaflet-popup-content,.listing-map-section .leaflet-popup-content{width:min(270px,calc(100vw - 76px))!important;max-height:305px;margin:10px 13px}.rich-popup{min-width:0}}
.inland-listing .listing-card-placeholder{font-size:2.2rem}.inland-listing .listing-card-main{grid-template-rows:62px 1fr auto auto}.inland-listing .listing-card-copy h2{font-size:1.08rem}@media(max-width:560px){.inland-listing .listing-card-main{grid-template-columns:70px minmax(0,1fr);grid-template-rows:auto auto auto;min-height:142px}.inland-listing .listing-card-placeholder{grid-row:1/4;min-height:142px!important}.inland-listing .listing-card-copy{padding:.75rem .75rem .35rem}.inland-listing .listing-live{padding:.25rem .75rem .5rem}.inland-listing .listing-link{padding:.6rem .75rem}.inland-listing .listing-card-copy h2{font-size:.94rem}.inland-listing .kind-badge{font-size:.52rem}}
@media(max-width:410px){.region-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.55rem}.region-card{min-height:118px;padding:.85rem;border-radius:15px}.region-card strong{max-width:88%;font-size:1rem}.region-card span{font-size:.52rem}.region-card i{right:.75rem;bottom:.75rem}}

/* Navegación de calas y portada compacta. */
.site-header .nav-coves{display:inline-flex;align-items:center;gap:.35rem;padding:.48rem .72rem;border:1px solid rgba(54,185,173,.3);border-radius:999px;background:linear-gradient(135deg,#e8f8f5,#fff6dd);color:var(--navy);font-weight:850}.site-header .nav-coves span{color:var(--aqua);font-size:1.1rem}.region-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.region-card{min-height:138px;padding:1rem 1.05rem;background:linear-gradient(145deg,#f7fbfa,#e2f3ef)!important;border:1px solid rgba(7,59,69,.08)}.region-card:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.48),transparent 54%);pointer-events:none}.region-card .region-flag{position:relative;z-index:1;display:block;width:52px;height:34px;margin:0 0 auto;border:2px solid rgba(255,255,255,.85);border-radius:7px;overflow:hidden;box-shadow:0 6px 16px rgba(7,59,69,.16);background:linear-gradient(#f6d43a 0 11%,#c9282f 11% 22%,#f6d43a 22% 33%,#c9282f 33% 44%,#f6d43a 44% 55%,#c9282f 55% 66%,#f6d43a 66% 77%,#c9282f 77% 88%,#f6d43a 88%)}.region-card>small,.region-card>strong,.region-card>b{position:relative;z-index:2}.region-card>small{margin:.75rem 0 .2rem;color:var(--soft);font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}.region-card>strong{max-width:88%;font-size:1.18rem}.region-card>b{position:absolute;right:1rem;bottom:1rem;font-size:.8rem}.region-card.flag-placeholder{background:#edf4f2}.region-flag.flag-galicia{background:linear-gradient(145deg,#fff 37%,#4f91d0 38% 57%,#fff 58%)}.region-flag.flag-canarias{background:linear-gradient(90deg,#fff 0 33%,#2166a8 33% 66%,#f4ce27 66%)}.region-flag.flag-andalucia{background:linear-gradient(#16854c 0 33%,#fff 33% 66%,#16854c 66%)}.region-flag.flag-comunidad-valenciana{background:linear-gradient(90deg,#2865ad 0 20%,transparent 20%),linear-gradient(#f3cc25 0 12.5%,#cf2f35 12.5% 25%,#f3cc25 25% 37.5%,#cf2f35 37.5% 50%,#f3cc25 50% 62.5%,#cf2f35 62.5% 75%,#f3cc25 75% 87.5%,#cf2f35 87.5%)}.region-flag.flag-principado-de-asturias{background:#1682c4}.region-flag.flag-principado-de-asturias:after{content:"†";position:absolute;left:20px;top:2px;color:#f5d43c;font-size:24px;font-weight:900}.region-flag.flag-cantabria{background:linear-gradient(#fff 0 50%,#d62d3a 50%)}.region-flag.flag-pais-vasco{background:linear-gradient(35deg,transparent 43%,#16854c 44% 55%,transparent 56%),linear-gradient(-35deg,transparent 43%,#16854c 44% 55%,transparent 56%),linear-gradient(90deg,transparent 44%,#fff 44% 56%,transparent 56%),linear-gradient(transparent 41%,#fff 41% 59%,transparent 59%),#c62b35}.region-flag.flag-region-de-murcia{background:#9d1738}.region-flag.flag-illes-balears{background:linear-gradient(#f4cc2b 0 12.5%,#c72c35 12.5% 25%,#f4cc2b 25% 37.5%,#c72c35 37.5% 50%,#f4cc2b 50% 62.5%,#c72c35 62.5% 75%,#f4cc2b 75% 87.5%,#c72c35 87.5%)}.region-flag.flag-cataluna{background:linear-gradient(#f4cc2b 0 12.5%,#c72c35 12.5% 25%,#f4cc2b 25% 37.5%,#c72c35 37.5% 50%,#f4cc2b 50% 62.5%,#c72c35 62.5% 75%,#f4cc2b 75% 87.5%,#c72c35 87.5%)}

/* Buscador visual de calas. */
.coves-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);width:min(1380px,96vw);min-height:570px;margin:1rem auto 3rem;border-radius:34px;overflow:hidden;background:#f8f2e6}.coves-hero-copy{position:relative;z-index:3;padding:clamp(2.5rem,7vw,6rem)}.coves-hero h1{max-width:800px;margin:.4rem 0 1rem;color:var(--navy);font-size:clamp(3.2rem,7vw,6.8rem);line-height:.9}.coves-hero h1 em{color:var(--coral);font-weight:400}.coves-hero-copy>p:not(.eyebrow){max-width:720px;color:var(--soft);line-height:1.7}.coves-search{position:relative;z-index:20;max-width:760px;margin-top:1.6rem;padding:1rem;border:1px solid rgba(7,59,69,.12);border-radius:20px;background:#fff;box-shadow:var(--shadow-soft)}.coves-search label{display:block;margin-bottom:.5rem;color:var(--navy);font-size:.78rem;font-weight:850}.coves-search>div:not(.search-suggestions){display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.45rem}.coves-search input{min-width:0;padding:.85rem .5rem;border:0;font:inherit}.coves-search input:focus{outline:0}.coves-search button{padding:.82rem 1.1rem;border:0;border-radius:12px;background:var(--navy);color:#fff;font-weight:850}.coves-search .search-suggestions{position:absolute;z-index:100;left:1rem;right:1rem;top:calc(100% - .35rem);max-height:380px;overflow:auto;border:1px solid var(--stroke);border-radius:15px;background:#fff;box-shadow:0 20px 50px rgba(7,59,69,.2)}.coves-search .search-suggestions[hidden]{display:none}.coves-search .search-suggestions>a{display:grid;grid-template-columns:40px 1fr auto;gap:.65rem;align-items:center;padding:.7rem;border-bottom:1px solid var(--stroke);color:inherit}.coves-hero-art{position:relative;overflow:hidden;background:linear-gradient(#87d9cf 0 44%,#1b9298 45% 100%)}.cove-sun{position:absolute;top:12%;right:15%;width:130px;aspect-ratio:1;border-radius:50%;background:var(--sun);box-shadow:0 0 0 20px rgba(255,255,255,.12)}.cove-cliff{position:absolute;z-index:2;bottom:0;width:58%;height:73%;background:linear-gradient(145deg,#3f7867,#153f46);clip-path:polygon(0 20%,65% 0,100% 100%,0 100%)}.cove-cliff.left{left:-8%}.cove-cliff.right{right:-15%;transform:scaleX(-1)}.cove-water{position:absolute;z-index:1;left:18%;right:18%;bottom:0;height:34%;border-radius:50% 50% 0 0;background:linear-gradient(#5fcfc8,#087782)}.coves-hero-art>b{position:absolute;z-index:4;left:50%;bottom:10%;color:rgba(255,255,255,.72);font:400 6rem var(--display)}.coves-tools,.coves-map-section,.coves-results,.coves-seo{width:min(1180px,92vw);margin:2rem auto}.coves-tools{display:flex;align-items:center;justify-content:space-between;gap:1rem}.cove-chips{display:flex;flex-wrap:wrap;gap:.45rem}.cove-chips a{padding:.58rem .82rem;border:1px solid var(--stroke);border-radius:999px;background:#fff;color:var(--navy);font-size:.7rem;font-weight:800}.cove-chips a.active{border-color:var(--navy);background:var(--navy);color:#fff}.coves-tools form label{display:flex;align-items:center;gap:.5rem;color:var(--soft);font-size:.68rem}.coves-tools select{padding:.6rem;border:1px solid var(--stroke);border-radius:10px;background:#fff}.cove-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.cove-card{overflow:hidden;border:1px solid var(--stroke);border-radius:22px;background:#fff;color:inherit}.cove-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.cove-card-photo{position:relative;display:block;height:220px;overflow:hidden;background:linear-gradient(145deg,#bfece5,#1e9ca0)}.cove-card-photo img{width:100%;height:100%;object-fit:cover}.cove-card-photo.placeholder{display:grid;place-items:center;color:rgba(255,255,255,.72);font:400 6rem var(--display)}.cove-card-copy{display:block;padding:1.1rem}.cove-card-copy>small{color:var(--soft);font-size:.65rem}.cove-card h3{margin:.25rem 0 .7rem;font:600 1.45rem var(--display);line-height:1}.cove-facts{display:flex;flex-wrap:wrap;gap:.3rem}.cove-facts em{padding:.3rem .45rem;border-radius:999px;background:#eff6f4;color:#446266;font-size:.62rem;font-style:normal}.cove-facts em.weather{display:flex;align-items:center;gap:.25rem;background:#fff5d7;color:var(--navy)}.cove-card-copy>b{display:flex;justify-content:space-between;margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--stroke);color:var(--navy);font-size:.74rem}.cove-card-copy>b i{font-style:normal}.coves-seo{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;padding:3rem;border-radius:26px;background:#edf8f5}.coves-seo h2{margin:.3rem 0;color:var(--navy);font-size:2.5rem}.coves-seo>p{color:var(--soft);line-height:1.8}.coves-map-section .seo-map,.destination-map .seo-map,.nearby-map-shell .seo-map{width:100%;height:520px;min-height:520px;cursor:grab;touch-action:none}.coves-map-section .seo-map:active,.destination-map .seo-map:active,.nearby-map-shell .seo-map:active{cursor:grabbing}
@media(max-width:900px){.coves-hero{grid-template-columns:1fr}.coves-hero-art{min-height:280px}.cove-card-grid{grid-template-columns:repeat(2,1fr)}.coves-tools{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.home-hero-art{display:none}.home-hero-copy{min-height:auto;padding:3rem 1.2rem 2.5rem}.hero-proof{display:block}.region-card{min-height:126px}.coves-hero{display:block;width:100%;min-height:auto;margin-top:0;border-radius:0}.coves-hero-copy{padding:2.5rem 1.2rem 3rem}.coves-hero h1{font-size:3.35rem}.coves-hero-art{display:none}.coves-search>div:not(.search-suggestions){grid-template-columns:auto 1fr}.coves-search button{grid-column:1/-1}.coves-tools{width:92vw}.cove-chips{flex-wrap:nowrap;width:100%;padding-bottom:.35rem;overflow-x:auto}.cove-chips a{white-space:nowrap}.cove-card-grid{grid-template-columns:1fr}.coves-map-section,.coves-results{width:94vw}.coves-map-section .seo-map,.destination-map .seo-map,.nearby-map-shell .seo-map{height:440px;min-height:440px}.coves-seo{grid-template-columns:1fr;width:100%;gap:.5rem;padding:2.2rem 1.2rem;border-radius:0}.coves-seo h2{font-size:2rem}}
.region-flag.flag-islas-baleares{background:linear-gradient(#f4cc2b 0 12.5%,#c72c35 12.5% 25%,#f4cc2b 25% 37.5%,#c72c35 37.5% 50%,#f4cc2b 50% 62.5%,#c72c35 62.5% 75%,#f4cc2b 75% 87.5%,#c72c35 87.5%)}.region-flag.flag-islas-baleares:after{content:"";position:absolute;left:0;top:0;width:18px;height:17px;background:linear-gradient(135deg,#71438e 0 46%,#fff 47% 54%,#71438e 55%)}.region-flag.flag-ceuta{background:conic-gradient(from 45deg at 50% 50%,#111 0 12.5%,#fff 0 25%,#111 0 37.5%,#fff 0 50%,#111 0 62.5%,#fff 0 75%,#111 0 87.5%,#fff 0)}.region-flag.flag-ceuta:after{content:"";position:absolute;left:20px;top:11px;width:9px;height:10px;border-radius:50%;background:#c52834;box-shadow:0 0 0 2px #f0c842}.region-flag.flag-melilla{background:#76b8df}.region-flag.flag-melilla:after{content:"♜";position:absolute;left:19px;top:7px;color:#f5dfaf;font-size:16px;text-shadow:0 1px #9a2334}
@media(max-width:700px){.forecast-week .forecast-card{overflow:hidden}.forecast-week .forecast-condition{display:grid;grid-template-columns:minmax(0,1fr);gap:.55rem;padding:.75rem 0}.forecast-week .forecast-condition h3{max-width:100%;font-size:1.05rem!important}.forecast-week .temperature-range{width:100%;min-width:0;justify-content:space-between;gap:.5rem}.forecast-week .temperature-range>small,.forecast-week .temperature-range>strong{min-width:0}.forecast-week .temperature-range strong{font-size:1.35rem!important;line-height:1}.forecast-week .temperature-range small{font-size:.76rem}.forecast-week .temperature-range small b,.forecast-week .temperature-range strong small{font-size:.5rem}}
.listing-weather{position:relative;padding-left:2.1rem!important}.listing-weather-icon{position:absolute;left:.55rem;top:50%;display:grid;place-items:center;width:1.25rem;height:1.25rem;transform:translateY(-50%);color:#dda21c;font-size:1rem;font-style:normal}.inland-listing .listing-weather{padding-left:2.25rem!important}
.beach-nav a.is-active{background:var(--navy);color:#fff;box-shadow:0 4px 14px rgba(7,59,69,.16)}
.ranking-comparison{width:min(1180px,92vw)}.ranking-comparison .section-title>small{color:var(--soft);font-size:.65rem}.comparison-scroll{overflow:auto;border:1px solid var(--stroke);border-radius:18px;background:#fff}.ranking-comparison table{width:100%;min-width:760px;border-collapse:collapse}.ranking-comparison th,.ranking-comparison td;padding:.72rem .8rem;border-bottom:1px solid var(--stroke);color:#496268;font-size:.68rem;text-align:left}.ranking-comparison thead th{position:sticky;top:0;background:#f1f8f6;color:var(--navy);font-size:.6rem;text-transform:uppercase;letter-spacing:.05em}.ranking-comparison tbody th{min-width:210px}.ranking-comparison tbody th a{display:block;color:var(--navy);font-size:.74rem;text-decoration:none}.ranking-comparison tbody th small{display:block;margin-top:.12rem;color:var(--soft);font-weight:500}.ranking-comparison tr:last-child th,.ranking-comparison tr:last-child td{border-bottom:0}@media(max-width:620px){.ranking-comparison{width:94vw}.ranking-comparison .section-title{align-items:flex-start;flex-direction:column}.comparison-scroll{border-radius:14px}}
