:root{--sun-logo:#eca023;--sunset-orange:#e86a33;--sunset-coral:#f4a261;--terracotta:#c45d35;--ocean-deep:#1a5f7a;--ocean-medium:#237d9a;--ocean-bright:#2c8daa;--ocean-light:#57a0b5;--sky-soft:#57a0b51a;--sand-light:#faf6f0;--sand-warm:#f5ede0;--sand-golden:#e8d9c0;--pine-green:#4a7c59;--pine-light:#e8f5ec;--gold-warm:#d4a843;--white:#fff;--text-dark:#2d2a26;--text-medium:#5c564e;--text-light:#8a847a;--blue-flag:#06c;--nightlife-dark:#1a1a2e;--nightlife-purple:#4a1942;--activities-green:#2d6a4f;--activities-light:#40916c;--transport-slate:#3d5a80;--transport-light:#5b7ea1;--primary:#1a5f7a;--bg-warm:#f5ede0;--font-display:"Fraunces","Fraunces Fallback",Georgia,serif;--font-body:"Inter","Inter Fallback",-apple-system,BlinkMacSystemFont,sans-serif;--text-3xs:.625rem;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--space-2xs:.125rem;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--container-max:1200px;--container-narrow:800px;--shadow-soft:0 4px 20px #2d2a2614;--shadow-medium:0 8px 30px #2d2a261f;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--transition:.3s cubic-bezier(.4,0,.2,1)}.skip-to-content{top:-100%;left:var(--space-md);z-index:9999;padding:var(--space-sm)var(--space-lg);background:var(--ocean-deep);color:var(--white);border-radius:var(--radius-md);font-weight:600;text-decoration:none;transition:top .2s;position:absolute}.skip-to-content:focus{top:var(--space-md);color:var(--white)}:focus-visible{outline:3px solid var(--ocean-bright);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--text-dark);background-color:var(--sand-light);flex-direction:column;min-height:100vh;font-size:1rem;line-height:1.6;display:flex}main{flex:1}img{max-width:100%;height:auto;display:block}.content img,.prose img{border-radius:var(--radius-lg);margin-bottom:var(--space-xl);box-shadow:var(--shadow-soft)}.content figure,.prose figure{margin:var(--space-xl)0 var(--space-2xl)}.content figure img,.prose figure img{margin-bottom:var(--space-sm)}.content figcaption,.prose figcaption{font-size:var(--text-md);color:var(--text-medium);text-align:center;font-style:italic}a{color:var(--ocean-deep);transition:color var(--transition);text-decoration:none}a:hover{color:var(--sunset-orange)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-dark);letter-spacing:-.02em;font-weight:600;line-height:1.2}h1{font-size:clamp(2.5rem,5vw + 1rem,4rem);font-weight:700}h2{font-size:clamp(2rem,4vw + .5rem,3rem)}h3{font-size:clamp(1.5rem,2vw + .5rem,2rem)}h4{font-size:1.25rem}p{margin-bottom:var(--space-md)}p:last-child{margin-bottom:0}.container{width:100%;max-width:var(--container-max);padding:0 var(--space-lg);margin:0 auto}.container-narrow{max-width:var(--container-narrow)}.content-layout{gap:var(--space-3xl);grid-template-columns:1fr 320px;align-items:start;display:grid}.content-layout--wide-sidebar{grid-template-columns:1fr 360px}@media (max-width:1024px){.content-layout,.content-layout--wide-sidebar{gap:var(--space-2xl);grid-template-columns:1fr}}.sidebar{gap:var(--space-xl);flex-direction:column;display:flex}.widget-panel{background:var(--white);border-radius:var(--radius-xl);padding:var(--space-lg);border:1px solid var(--sand-warm)}.widget-panel h3{font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--sand-golden)}.widget-panel h3 i{margin-right:var(--space-xs)}.info-card,.sidebar-featured,.sidebar-links{background:var(--white);border-radius:var(--radius-xl);padding:var(--space-lg);border:1px solid var(--sand-warm)}.info-card h3,.sidebar-featured h3,.sidebar-links h3{font-family:var(--font-display);font-size:var(--text-lg)}.info-card h3{margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--sand-golden)}.sidebar-featured h3,.sidebar-links h3{margin-bottom:var(--space-md)}.details{gap:var(--space-md);flex-direction:column;display:flex}.detail{gap:var(--space-xs);flex-direction:column;display:flex}.detail dt{font-size:var(--text-sm);color:var(--text-light);font-weight:500}.detail dd{font-size:var(--text-md);color:var(--text-dark)}.detail-row{gap:var(--space-md);display:flex}.detail-row .detail--compact{text-align:center;background:var(--sand-light);border-radius:var(--radius-md);padding:var(--space-sm)var(--space-xs);flex:1}.detail--drive-time{background:var(--sand-light);border-radius:var(--radius-md);padding:var(--space-sm)var(--space-md);margin-top:var(--space-xs)}.detail--drive-time dt i{color:var(--ocean-medium)}.detail--population{background:var(--sand-light);border-radius:var(--radius-md);padding:var(--space-sm)var(--space-md);gap:var(--space-sm);flex-direction:column;display:flex}.detail--population-row{justify-content:space-between;align-items:baseline;display:flex}.detail--population-row dt{font-size:var(--text-sm);color:var(--text-light);font-weight:500}.detail--population-row dt i{color:var(--ocean-medium);margin-right:2px}.detail--population-row dd{font-size:var(--text-md);color:var(--text-dark);font-weight:600}.detail--population-source{font-size:var(--text-2xs);color:var(--text-light);opacity:.7;text-align:right}.detail--transport{background:var(--sand-light);border-radius:var(--radius-md);padding:var(--space-sm)var(--space-md);margin-top:var(--space-sm)}.detail--transport-header{font-size:var(--text-sm);color:var(--text-dark);margin-bottom:var(--space-xs);font-weight:600}.detail--transport-header i{color:var(--ocean-medium);margin-right:var(--space-xs)}.detail--transport-rows{margin-bottom:var(--space-sm);flex-direction:column;gap:6px;display:flex}.detail--transport-row{font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.detail--transport-row--muted{color:var(--text-muted)}.detail--transport-label{color:var(--text-medium);align-items:center;gap:5px;display:flex}.detail--transport-label i{text-align:center;width:1em;color:var(--text-muted)}.detail--transport-value{color:var(--text-dark);white-space:nowrap;font-weight:600}.detail--transport-badge{font-size:var(--text-sm);padding-top:var(--space-xs);border-top:1px solid #0000000f;flex-direction:column;gap:2px;display:flex}.detail--transport-badge--good{color:#166534}.detail--transport-badge--possible{color:#92400e}.detail--transport-badge--car{color:#991b1b}.detail--transport-desc{font-size:var(--text-xs)}.detail--transport-badge--good .detail--car-badge{color:#166534;background:#dcfce7}.detail--transport-badge--good .detail--transport-desc{color:#166534}.detail--transport-badge--possible .detail--car-badge{color:#92400e;background:#fef3c7}.detail--transport-badge--possible .detail--transport-desc{color:#92400e}.detail--transport-badge--car .detail--car-badge{color:#991b1b;background:#fee2e2}.detail--transport-badge--car .detail--transport-desc{color:#991b1b}.detail--car{background:var(--sand-light);border-radius:var(--radius-md);padding:var(--space-sm)var(--space-md);margin-top:var(--space-xs)}.detail--car dd{align-items:center;gap:var(--space-sm);font-size:var(--text-sm);display:flex}.detail--car-badge{border-radius:var(--radius-md);font-size:var(--text-xs);letter-spacing:.02em;white-space:nowrap;padding:2px 10px;font-weight:700;display:inline-block}.detail--car-optional .detail--car-badge{color:var(--pine-green);background:#4a7c591f}.detail--car-recommended .detail--car-badge{color:#8a6d1b;background:#d4a84326}.detail--car-essential .detail--car-badge{color:var(--terracotta);background:#e86a3326}.beach-flag-legend{flex-direction:column;gap:3px;display:flex}.beach-flag{font-size:var(--text-xs);align-items:center;gap:6px;line-height:1.3;display:flex}.beach-flag:before{content:"";border-radius:2px;flex-shrink:0;width:10px;height:10px;display:inline-block}.beach-flag--green:before{background:#16a34a}.beach-flag--yellow:before{background:#eab308}.beach-flag--red:before{background:#dc2626}.badges{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.badge{padding:var(--space-xs)var(--space-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:var(--text-sm);background:#ffffff26;border:1px solid #fff3;border-radius:100px;align-items:center;gap:6px;font-weight:500;display:inline-flex}.badge--blue-flag{background:#2c8daa4d}.badge--blue-flag:before{content:"";background:url(/assets/images/blue-flag.svg) 50%/contain no-repeat;width:20px;height:14px;display:inline-block}.page-header .badges{margin-top:var(--space-sm);justify-content:flex-start}.page-header .badge{background:var(--sand-warm);color:var(--text-dark);border:none}.page-header .badge--blue-flag{color:var(--text-dark);background:#2c8daa40}.badge--accessible{color:#2d5a3b;background:#4a7c5940}.badge--accessible i{margin-right:3px}.page-header .badge--accessible{color:var(--text-dark);background:#4a7c5933}.content{max-width:100%}.landing-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.landing-grid--feature{gap:var(--space-xl);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.landing-grid--compact{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.landing-card,.region-municipality-card{--guide-card-surface:var(--white);--guide-card-surface-hover:#fffffffa;--guide-card-border:var(--sand-warm);background:var(--guide-card-surface);border-radius:var(--radius-xl);border:1px solid var(--guide-card-border)}.landing-card{padding:var(--space-lg);gap:var(--space-sm);flex-direction:column;text-decoration:none;transition:border-color .18s,background-color .18s;display:flex}.region-municipality-card{--guide-card-surface:linear-gradient(180deg,#fffffffa,#faf7f1f0);flex-direction:column;display:flex;overflow:hidden}.landing-card:hover{background:var(--guide-card-surface-hover);border-color:#0f2f3d24}.landing-card--feature{gap:0;padding:0;overflow:hidden}.landing-card--feature:hover{border-color:#0f2f3d29}.landing-card-header{flex-direction:column;gap:.35rem;display:flex}.landing-card h3,.region-municipality-card h3{font-family:var(--font-display);font-size:var(--text-xl);transition:color var(--transition);margin:0}.landing-card-focus{width:-moz-fit-content;width:fit-content;font-size:var(--text-2xs);color:var(--text-light);letter-spacing:.08em;text-transform:uppercase;padding:0;font-weight:700;line-height:1.2;display:inline-block}.landing-card-tagline{font-size:var(--text-base);color:var(--text-medium);flex-grow:1;margin:0;line-height:1.5}.landing-card-media{aspect-ratio:16/10;background:var(--sand-golden);border-bottom:1px solid #d4c5abb3;position:relative;overflow:hidden}.landing-card-media:after{content:"";pointer-events:none;background:linear-gradient(#08181f05,#08181f2e);position:absolute;top:0;bottom:0;left:0;right:0}.landing-card-media img{object-fit:cover;width:100%;height:100%;display:block}.landing-card-content--feature{padding:var(--space-xl);gap:var(--space-sm);flex-direction:column;flex:1;display:flex}.landing-card-meta{gap:var(--space-sm);margin-top:var(--space-xs);padding-top:var(--space-sm);border-top:1px solid var(--sand-light);flex-wrap:wrap;align-items:center;display:flex}.landing-badge,.landing-count{border-radius:var(--radius-full);font-size:var(--text-xs);align-items:center;gap:.4rem;padding:.28rem .55rem;font-weight:600;line-height:1.2;display:inline-flex}.landing-badge{color:var(--text-dark);background:#f5ede0f2;border:1px solid #d4c5abcc}.landing-count{color:var(--text-medium);background:#f7f3ece6;border:1px solid #e8dfd0f2}.landing-badge i,.landing-count i{font-size:var(--text-xs);flex-shrink:0}.landing-card-cta,.region-municipality-cta{padding-top:var(--space-sm);font-size:var(--text-sm);color:var(--ocean-deep);align-items:center;gap:.4rem;margin-top:auto;font-weight:700;display:inline-flex}.landing-card-cta i,.region-municipality-cta i{font-size:var(--text-xs)}.region-municipality-cta{padding-top:var(--space-xs)}.landing-card--region h3{color:var(--ocean-deep)}.landing-card--beaches h3{color:#1e6580}.landing-card--golf h3{color:var(--pine-green)}.landing-card--see-and-do h3{color:var(--terracotta)}.landing-card--information h3{color:#465f68}.landing-card--stays h3{color:var(--ocean-deep)}.landing-card--gastronomy h3{color:var(--terracotta)}.landing-card--nightlife h3{color:var(--nightlife-purple)}.landing-card--region .landing-card-focus{color:#0f2f3db8}.landing-card--beaches .landing-card-focus{color:#1e6580c7}.landing-card--golf .landing-card-focus{color:#1d6f42c7}.landing-card--see-and-do .landing-card-focus{color:#e86a33c7}.landing-card--information .landing-card-focus{color:#465f68c7}.landing-card--stays .landing-card-focus{color:#0f2f3db8}.landing-card--gastronomy .landing-card-focus{color:#e86a33c7}.landing-card--nightlife .landing-card-focus{color:#6a3c8cc7}.landing-card--feature .landing-card-cta{padding-top:var(--space-md)}.landing-badge--nightlife{background:linear-gradient(135deg,var(--nightlife-dark)0%,var(--nightlife-purple)100%);color:var(--white)}.sidebar-featured ul{margin:0;padding:0;list-style:none}.sidebar-featured li{gap:var(--space-2xs);padding:var(--space-sm)0;border-bottom:1px solid var(--sand-light);flex-direction:column;display:flex}.sidebar-featured li:last-child{border-bottom:none;padding-bottom:0}.sidebar-featured li:first-child{padding-top:0}.hotel-name,.operator-name,.specialty-name,.restaurant-name,.hotspot-name{color:var(--text-dark);font-weight:600}.entity-links{gap:var(--space-sm);margin-top:var(--space-2xs);display:flex}.entity-links [data-href]{color:var(--text-medium);font-size:var(--text-md);cursor:pointer;text-decoration:none;transition:color .15s}.entity-links [data-href]:hover{color:var(--primary)}.hotel-type,.operator-type,.specialty-description,.restaurant-cuisine,.hotspot-type{font-size:var(--text-sm);color:var(--text-medium)}.operator-header{align-items:baseline;gap:var(--space-sm);display:flex}.operator-rating{font-size:var(--text-sm);color:var(--sunset-orange);white-space:nowrap;font-weight:600}.operator-rating-count{color:var(--text-medium);font-weight:400}.operator-meta{color:var(--text-medium);font-size:.78rem;line-height:1.4;display:block}.operator-meta i{text-align:center;width:1em;color:var(--ocean-medium);margin-right:.3em;font-size:.72rem}.operator-cta{margin-top:var(--space-xs);display:block}.operator-book-cta{font-size:var(--text-sm);color:#fff;background:var(--ocean-deep);cursor:pointer;border-radius:6px;padding:.4em 1em;font-weight:700;text-decoration:none;transition:background .15s;display:inline-block}.operator-book-cta:hover{background:var(--primary)}.operator-book-cta--website{background:var(--text-medium)}.operator-book-cta--website:hover{background:var(--ocean-deep)}.hotel-price,.restaurant-price{width:-moz-fit-content;width:fit-content;font-size:var(--text-xs);border-radius:var(--radius-full);background:var(--sand-warm);color:var(--ocean-deep);white-space:nowrap;align-items:center;padding:1px 8px;font-weight:600;line-height:1.4;display:inline-flex}.hotel-best-for,.restaurant-booking{font-size:var(--text-xs);color:var(--text-light);font-style:italic}.sidebar-links ul{gap:var(--space-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.sidebar-links li{margin-bottom:0}.sidebar-links:not(.sidebar-featured) a{color:var(--ocean-deep);padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-sm);transition:all var(--transition);font-size:var(--text-md);justify-content:space-between;align-items:center;text-decoration:none;display:flex}.sidebar-links:not(.sidebar-featured) a:hover{background:var(--sand-warm);color:var(--sunset-orange)}.sidebar-links a i{font-size:var(--text-sm);color:var(--text-medium);flex-shrink:0;order:1}.sidebar-cta{border-radius:var(--radius-xl);padding:var(--space-lg);color:var(--white)}.sidebar-cta h3{font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:var(--space-sm);color:var(--white)}.sidebar-cta p{font-size:var(--text-md);margin-bottom:var(--space-md);opacity:.9}.sidebar-cta .btn-secondary{background:var(--white);font-size:var(--text-md);text-align:center;border:none;width:100%}.sidebar-cta .btn-secondary:hover{background:var(--sand-warm)}.sidebar-cta--stays{background:linear-gradient(135deg,var(--ocean-deep)0%,var(--pine-green)100%)}.sidebar-cta--stays .btn-secondary,.sidebar-cta--stays .btn-secondary:hover,.sidebar-cta--beaches .btn-secondary,.sidebar-cta--beaches .btn-secondary:hover{color:var(--ocean-deep)}.sidebar-cta--beaches{background:linear-gradient(135deg,var(--ocean-deep)0%,var(--ocean-bright)100%)}.sidebar-cta--gastronomy{background:linear-gradient(135deg,var(--terracotta)0%,var(--sunset-orange)100%)}.sidebar-cta--gastronomy .btn-secondary,.sidebar-cta--gastronomy .btn-secondary:hover{color:var(--terracotta)}.sidebar-cta--nightlife{background:linear-gradient(135deg,var(--nightlife-dark)0%,var(--nightlife-purple)100%)}.sidebar-cta--nightlife .btn-secondary,.sidebar-cta--nightlife .btn-secondary:hover{color:var(--nightlife-purple)}.sidebar-cta--activities{background:linear-gradient(135deg,var(--activities-green)0%,var(--activities-light)100%)}.sidebar-cta--activities .btn-secondary,.sidebar-cta--activities .btn-secondary:hover{color:var(--activities-green)}.sidebar-cta--get-there{background:linear-gradient(135deg,var(--transport-slate)0%,var(--transport-light)100%)}.sidebar-cta--get-there .btn-secondary,.sidebar-cta--get-there .btn-secondary:hover{color:var(--transport-slate)}.info-guide-cards{gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}a.sidebar-more-link{font-size:var(--text-sm);color:var(--text-medium);padding:var(--space-md)0 0;border-top:1px solid var(--sand-warm);margin-top:var(--space-sm);transition:color var(--transition);justify-content:initial;background:0 0;border-radius:0;text-decoration:none;display:block}a.sidebar-more-link:hover{color:var(--sunset-orange);background:0 0}.widget-bars{align-items:flex-end;gap:var(--space-xs);height:120px;padding-bottom:var(--space-md);padding-left:28px;display:flex;position:relative}.widget-bars-scale{top:0;left:0;bottom:var(--space-md);pointer-events:none;flex-direction:column;justify-content:space-between;width:28px;display:flex;position:absolute}.widget-bars-scale span{color:var(--text-light);text-align:right;padding-right:4px;font-size:9px;line-height:1}.widget-bars:before{content:"";top:0;left:28px;right:0;bottom:var(--space-md);pointer-events:none;z-index:0;background:repeating-linear-gradient(#0000 0% 24.5%,#eee 24.5% 25.5%,#0000 25.5% 49.5%,#eee 49.5% 50.5%,#0000 50.5% 74.5%,#eee 74.5% 75.5%,#0000 75.5%);position:absolute}.widget-bar{cursor:default;z-index:1;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex;position:relative}.widget-bar-fill{border-radius:var(--radius-sm)var(--radius-sm)0 0;width:100%;min-height:4px;transition:opacity .2s}.widget-bar:hover .widget-bar-fill{opacity:.8}.widget-bar--peak .widget-bar-fill{box-shadow:0 -2px 0 0 var(--bar-peak-color,var(--pine-green))}.widget-bar--peak .widget-bar-label{color:var(--bar-peak-color,var(--pine-green));font-weight:700}.widget-bar-label{font-size:var(--text-2xs);color:var(--text-light);margin-top:var(--space-xs);text-transform:uppercase;letter-spacing:.02em}.widget-chart{border-radius:var(--radius-md);width:100%}.widget-note{font-size:var(--text-xs);color:var(--text-light);text-align:center;margin-top:var(--space-sm);margin-bottom:0}.widget-note--certified{color:#2d5a3b}.widget-note--certified i{margin-right:3px}.widget-summary{text-align:center;font-size:var(--text-md);margin-top:var(--space-sm);margin-bottom:var(--space-xs)}.tourism-widget h3 i{color:var(--sunset-orange)}.tourism-bar--very-quiet{background:var(--pine-green)}.tourism-bar--quiet{background:var(--ocean-medium)}.tourism-bar--moderate{background:var(--sand-golden)}.tourism-bar--busy{background:var(--sunset-orange)}.tourism-bar--very-busy{background:var(--terracotta)}.tourism-widget-note{font-size:var(--text-xs);color:var(--text-light);text-align:center;margin-top:var(--space-sm);margin-bottom:var(--space-xs)}.tourism-widget .data-source{margin-top:0}.value-calendar-widget h3 i{color:#d4a843}.value-bar--great{background:var(--pine-green)}.value-bar--good{background:var(--ocean-light)}.value-bar--moderate{background:#d4a843}.value-bar--low{background:var(--sunset-orange)}.value-calendar-detail{font-size:var(--text-sm);color:var(--text-medium);text-align:center;margin:var(--space-xs)0}.value-calendar-urgency-strip{margin:var(--space-xs)0 0 28px;gap:1px;display:flex}.value-urgency-cell{border-radius:2px;flex:1;height:6px;position:relative}.value-urgency-cell:before{content:"";background:#0000001a;width:1px;height:6px;position:absolute;top:-6px;left:50%}.value-urgency-cell--relaxed{background:var(--pine-green)}.value-urgency-cell--plan-ahead{background:#d4a843}.value-urgency-cell--book-early{background:var(--sunset-orange)}.value-urgency-legend{justify-content:center;gap:var(--space-md);color:var(--text-muted);margin-top:6px;font-size:.68rem;display:flex}.value-urgency-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:3px;display:inline-block}.value-urgency-dot--relaxed{background:var(--pine-green)}.value-urgency-dot--plan-ahead{background:#d4a843}.value-urgency-dot--book-early{background:var(--sunset-orange)}.value-calendar-tip{font-size:var(--text-sm);color:var(--text-medium);text-align:center;margin:var(--space-xs)0}.value-calendar-tip i{color:#d4a843;margin-right:3px}.value-calendar-cta{justify-content:center;gap:var(--space-xs);margin-top:var(--space-sm);flex-wrap:wrap;display:flex}.best-time-widget h3 i{color:var(--pine-green)}.best-time-widget{--bar-peak-color:var(--pine-green)}.best-time-bar--low-season{background:var(--sand-warm)}.best-time-bar--fair{background:var(--sand-golden)}.best-time-bar--good{background:var(--ocean-light)}.best-time-bar--great{background:var(--ocean-medium)}.best-time-bar--excellent{background:var(--pine-green)}.beach-insights-callout{background:var(--sand-warm);border-radius:var(--radius-md);padding:var(--space-md);margin:var(--space-lg)0;border-left:3px solid #f59e0b}.beach-insights-callout h3{font-size:var(--text-base);margin:0 0 var(--space-sm);color:var(--text-dark);padding:0}.prose .beach-insights-callout h3{margin-top:var(--space-md)}.beach-insights-callout h3 i{color:#f59e0b;margin-right:var(--space-xs)}.beach-insights-catches{margin:0 0 var(--space-xs);padding:0;list-style:none}.beach-insights-catches li{font-size:var(--text-sm);align-items:baseline;gap:var(--space-sm);padding:3px 0;line-height:1.4;display:flex}.beach-insights-catches li i{color:var(--text-muted);text-align:center;flex-shrink:0;width:1em}.beach-insights-timing{padding-top:var(--space-xs);margin-top:var(--space-xs);border-top:1px solid #00000014}.beach-insights-timing-header{font-size:var(--text-sm);margin:0 0 var(--space-xs);color:var(--text-dark)}.beach-insights-timing-header i{color:var(--text-muted);margin-right:3px}.beach-insights-timing-list{margin:0;padding:0;list-style:none}.beach-insights-timing-list li{font-size:var(--text-sm);align-items:baseline;gap:var(--space-sm);flex-wrap:wrap;padding:3px 0;line-height:1.4;display:flex}.beach-insights-timing-list li i{color:var(--text-muted);text-align:center;flex-shrink:0;width:1em}.beach-insights-timing--high i{color:#f59e0b}.beach-insights-alt-link{font-size:var(--text-xs);color:var(--ocean-deep);white-space:nowrap;text-decoration:none}.beach-insights-alt-link:hover{text-decoration:underline}.beach-insights-more-link{font-size:var(--text-sm);color:var(--ocean-deep);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid #00000014;text-decoration:none;display:none}.beach-insights-more-link i{margin-right:var(--space-xs)}.beach-insights-more-link:hover{text-decoration:underline}@media (max-width:768px){.beach-insights-more-link{display:block}}.beach-dna-widget{text-align:center}.beach-dna-widget h3 i{color:var(--ocean-medium)}.beach-dna-svg{width:100%;max-width:256px;height:auto;margin:0 auto;display:block}.beach-dna-label{font-size:10px;font-family:var(--font-body,system-ui,sans-serif)}.listing-card-discovery-row{align-items:center;gap:var(--space-sm);display:flex}.listing-card-discovery-info{flex:1;min-width:0}.listing-card-dna{flex-shrink:0;width:64px;height:64px}.listing-card-dna .beach-dna-svg{max-width:100%}.destination-dna-widget{text-align:center}.destination-dna-widget h3 i{color:var(--ocean-medium)}.destination-dna-svg{width:100%;max-width:256px;height:auto;margin:0 auto;display:block}.destination-dna-label{font-size:10px;font-family:var(--font-body,system-ui,sans-serif)}.crowding-widget h3 i{color:var(--sunset-orange)}.crowding-widget{--bar-peak-color:var(--terracotta)}.crowding-bar--quiet{background:var(--pine-green)}.crowding-bar--moderate{background:var(--ocean-light)}.crowding-bar--busy{background:var(--sand-golden)}.crowding-bar--very-busy{background:var(--sunset-orange)}.crowding-bar--packed{background:var(--terracotta)}.crowding-alternatives{background:var(--sand-light);border-radius:var(--radius-md);padding:var(--space-sm)var(--space-md);margin-top:var(--space-sm);margin-bottom:var(--space-sm)}.crowding-alternatives p{font-size:var(--text-sm);margin:0 0 var(--space-xs)}.crowding-alternatives p i{color:var(--ocean-medium);margin-right:var(--space-xs)}.crowding-alternatives ul{margin:0;padding:0;list-style:none}.crowding-alternatives li{font-size:var(--text-sm);padding:2px 0}.crowding-alternatives a{color:var(--ocean-deep);text-decoration:none}.crowding-alternatives a:hover{text-decoration:underline}.crowding-note{margin-top:0}.wind-comfort-widget h3 i{color:var(--ocean-medium)}.wind-comfort-widget{--bar-peak-color:var(--terracotta)}.wind-comfort-bar--calm{background:var(--pine-green)}.wind-comfort-bar--moderate{background:var(--ocean-light)}.wind-comfort-bar--breezy{background:var(--sand-golden)}.wind-comfort-bar--windy{background:var(--terracotta)}.wind-comfort-detail{justify-content:center;gap:var(--space-md);font-size:var(--text-sm);color:var(--text-medium);margin-top:0;margin-bottom:var(--space-xs);display:flex}.wind-comfort-tag i{color:var(--ocean-medium);margin-right:var(--space-xs)}.wind-comfort-note{margin-top:0}.sun-daylight-widget h3 i{color:var(--sunset-coral)}.sd-grid{flex-direction:column;gap:0;display:flex}.sd-grid-header{gap:var(--space-xs);padding-bottom:var(--space-xs);border-bottom:1px solid var(--sand-warm);margin-bottom:var(--space-xs);grid-template-columns:2.2rem 1fr 1fr 1fr;display:grid}.sd-col-label{font-size:var(--text-2xs);color:var(--text-light);text-transform:uppercase;letter-spacing:.02em;text-align:center}.sd-grid-row{gap:var(--space-xs);cursor:default;grid-template-columns:2.2rem 1fr 1fr 1fr;align-items:center;padding:2px 0;display:grid}.sd-grid-row:hover{background:var(--sand-light);border-radius:var(--radius-sm)}.sd-month{font-size:var(--text-2xs);color:var(--text-light);text-transform:uppercase;font-weight:600}.sd-uv{font-size:var(--text-xs);text-align:center;border-radius:var(--radius-sm);color:var(--white);padding:1px 0;font-weight:700}.sd-daylight,.sd-beach{font-size:var(--text-xs);text-align:center;color:var(--text-dark)}.sd-beach{font-weight:600}.uv-low{background:var(--pine-green)}.uv-moderate{background:var(--sand-golden);color:var(--text-dark)}.uv-high{background:var(--sunset-orange)}.uv-very-high{background:var(--terracotta)}.uv-extreme{background:#8b2252}.sd-legend{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;justify-content:center;display:flex}.sd-legend-item{font-size:var(--text-2xs);color:var(--text-light);align-items:center;gap:3px;display:flex}.sd-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.sd-note{font-size:var(--text-xs);color:var(--text-light);text-align:center;margin-top:var(--space-sm);margin-bottom:0}.sd-grid-header--5col,.sd-grid-row--5col{grid-template-columns:2.2rem 1fr 1fr 1fr 1fr}.beach-conditions-widget h3 i{color:var(--ocean-medium)}.beach-conditions-chart{height:220px}.sunset-widget h3{margin-bottom:var(--space-md)}.sunset-widget h3 i{color:var(--sunset-orange)}.sunset-quality{text-align:center;padding:var(--space-sm)var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.sunset-quality-label{font-size:var(--text-sm);font-weight:600}.sunset-quality--over-ocean{background:linear-gradient(135deg,var(--sunset-orange)0%,var(--sunset-coral)100%);color:var(--white)}.sunset-quality--golden-views{background:linear-gradient(135deg,var(--sunset-coral)0%,var(--sand-golden)100%);color:var(--ocean-deep)}.sunset-quality--along-coast{background:var(--sand-golden);color:var(--ocean-deep)}.sunset-quality--distant{background:var(--sand-warm);color:var(--text-light)}.sunset-photography{border-top:1px solid var(--sand-warm);padding-top:var(--space-md);margin-top:var(--space-md)}.sunset-photography h4{font-size:var(--text-sm);color:var(--ocean-deep);margin:0 0 var(--space-sm);font-weight:600}.sunset-photography h4 i{margin-right:var(--space-xs);color:var(--sunset-orange)}.sunset-photo-details{gap:var(--space-xs);flex-direction:column;display:flex}.sunset-photo-detail{font-size:var(--text-sm);justify-content:space-between;align-items:baseline;display:flex}.sunset-photo-label{color:var(--text-medium)}.sunset-photo-value{color:var(--ocean-deep);text-align:right;font-weight:600}.sunset-photo-tip{font-size:var(--text-sm);color:var(--text-medium);margin-top:var(--space-sm);padding:var(--space-xs)var(--space-sm);background:var(--sand-warm);border-radius:var(--radius-sm);line-height:1.4}.sunset-photo-tip i{color:var(--sunset-orange);margin-right:var(--space-xs)}.sunset-chart{height:200px}.price-widget h3 i{color:var(--sunset-orange)}.price-chart{height:180px}.price-value-tip{font-size:var(--text-sm);text-align:center;color:var(--pine-green);margin-top:0;margin-bottom:var(--space-xs)}.price-value-tip i{color:var(--sand-golden)}.price-value-detail{font-size:var(--text-xs);color:var(--text-light);display:block}.price-note{margin-top:0}.sea-temp-widget h3 i{color:var(--ocean-medium)}.sea-temp-widget .sea-temp-chart{border:none;height:180px}.beach-weather-widget h3 i{color:var(--sunset-coral)}.wind-swell-widget h3 i{color:var(--ocean-medium)}.wind-swell-chart{height:200px}.golf-weather-widget h3 i{color:var(--pine-green)}.golf-weather-chart{height:200px}.golf-time-widget h3 i{color:var(--pine-green)}.golf-time-widget{--bar-peak-color:var(--pine-green)}.golf-time-bar--off-season{background:var(--sand-warm)}.golf-time-bar--fair{background:var(--sand-golden)}.golf-time-bar--good{background:var(--ocean-light)}.golf-time-bar--great{background:var(--ocean-medium)}.golf-time-bar--excellent{background:var(--pine-green)}.golf-price-widget h3 i{color:var(--pine-green)}.golf-price-chart{height:180px}.golf-price-value-tip{font-size:var(--text-sm);text-align:center;color:var(--pine-green);margin-top:0;margin-bottom:var(--space-xs)}.golf-price-value-tip i{color:var(--sand-golden)}.golf-price-value-detail{font-size:var(--text-xs);color:var(--text-light);display:block}.golf-price-note{margin-top:0}.daily-cost-widget h3 i{color:var(--sand-golden)}.daily-cost-headline{font-size:var(--text-base);text-align:left;margin-bottom:var(--space-md)}.daily-cost-headline strong{font-size:var(--text-lg);color:var(--pine-green)}.daily-cost-grid{flex-direction:column;gap:0;display:flex}.daily-cost-row{font-size:var(--text-sm);border-bottom:1px solid var(--sand-light);justify-content:space-between;align-items:center;padding:5px 4px;display:flex}.daily-cost-row:last-child{border-bottom:none}.daily-cost-row:hover{background:var(--sand-light);border-radius:var(--radius-sm)}.daily-cost-row--na{opacity:.5}.daily-cost-label{color:var(--text-dark)}.daily-cost-value{color:var(--text-dark);white-space:nowrap;font-weight:600}.daily-cost-totals{margin-top:var(--space-md);padding-top:var(--space-sm);border-top:2px solid var(--sand-golden);flex-direction:column;gap:4px;display:flex}.daily-cost-total-row{font-size:var(--text-sm);justify-content:space-between;align-items:center;padding:3px 4px;display:flex}.daily-cost-total-label{color:var(--text-dark);font-weight:600}.daily-cost-total-value{color:var(--pine-green);font-weight:700}.daily-cost-tier{font-size:var(--text-sm);text-align:center;margin-top:var(--space-md);margin-bottom:var(--space-xs);color:var(--text-dark)}.daily-cost-tier i{color:var(--sunset-orange)}.daily-cost-luxury-note{font-size:var(--text-xs);text-align:center;color:var(--sunset-coral);margin-top:0;margin-bottom:var(--space-xs)}.daily-cost-luxury-note i{color:var(--sand-golden)}.daily-cost-note{font-size:var(--text-xs);color:var(--text-light);text-align:center;margin-top:var(--space-xs);margin-bottom:0}.daily-cost-estimator-link{text-align:center;font-size:var(--text-sm);color:var(--ocean-deep);margin-top:var(--space-sm);cursor:pointer;font-weight:600;text-decoration:none;display:block}.daily-cost-estimator-link:hover{text-decoration:underline}.tide-widget h3 i{color:var(--ocean-medium)}.tide-badge{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);margin-bottom:var(--space-sm);padding:3px 10px;font-weight:700;display:inline-block}.tide-badge--high{background:var(--terracotta);color:var(--white)}.tide-badge--medium{background:var(--sand-golden);color:var(--text-dark)}.tide-badge--low{background:var(--pine-green);color:var(--white)}.tide-note{font-size:var(--text-sm);color:var(--text-dark);margin-bottom:var(--space-md);line-height:1.5}.tide-detail{gap:var(--space-sm);margin-bottom:var(--space-sm);font-size:var(--text-sm);display:flex}.tide-detail p{color:var(--text-dark);margin:2px 0 0;line-height:1.4}.tide-detail strong{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em}.tide-detail-icon{width:22px;height:22px;font-size:var(--text-2xs);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.tide-detail-icon--low{background:var(--ocean-light);color:var(--ocean-medium)}.tide-detail-icon--high{background:var(--sunset-coral);color:var(--white)}.tide-source{font-size:var(--text-xs);color:var(--text-light);text-align:center;margin-top:var(--space-sm);margin-bottom:0}.water-quality-widget h3 i{color:var(--ocean-medium)}.wq-badge{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);margin-bottom:var(--space-sm);padding:3px 10px;font-weight:700;display:inline-block}.wq-badge--excellent{background:var(--pine-green);color:var(--white)}.wq-badge--good{background:var(--ocean-medium);color:var(--white)}.wq-badge--sufficient{background:var(--sand-golden);color:var(--text-dark)}.wq-badge--poor{background:var(--terracotta);color:var(--white)}.wq-detail{font-size:var(--text-sm);color:var(--text-dark);margin-bottom:var(--space-sm)}.wq-source{font-size:var(--text-xs);color:var(--text-light);margin-bottom:0}.wq-source a{color:var(--text-light);text-decoration:underline}.mobility-widget h3 i{color:var(--ocean-medium)}.mobility-rating{border-radius:var(--radius-sm);margin-bottom:var(--space-md);font-size:var(--text-sm);justify-content:space-between;align-items:center;padding:6px 12px;font-weight:600;display:flex}.mobility-rating--good{background:var(--pine-green);color:var(--white)}.mobility-rating--moderate{background:var(--sand-golden);color:var(--text-dark)}.mobility-rating--limited{background:var(--terracotta);color:var(--white)}.mobility-rating--difficult{background:var(--text-light);color:var(--white)}.mobility-rating-score{font-size:var(--text-xs);opacity:.85}.mobility-details{gap:var(--space-xs);margin-bottom:var(--space-sm);flex-direction:column;display:flex}.mobility-detail{font-size:var(--text-sm);justify-content:space-between;align-items:baseline;display:flex}.mobility-detail dt{color:var(--text-light);white-space:nowrap;font-weight:400}.mobility-detail dt i{text-align:center;width:1.2em;margin-right:4px}.mobility-detail dd{color:var(--text-dark);text-align:right;margin-left:var(--space-sm)}.chart-fallback{border-collapse:collapse;width:100%;font-size:var(--text-2xs);text-align:center;margin:var(--space-sm)0}.chart-fallback th,.chart-fallback td{border-bottom:1px solid var(--sand-warm);padding:.2rem .25rem}.chart-fallback th{color:var(--text-light);font-weight:600}.chart-fallback td:first-child,.chart-fallback th:first-child{text-align:left;white-space:nowrap;font-weight:600}.booking-window-widget h3 i{color:var(--ocean-medium)}.booking-window-strip{margin-bottom:var(--space-sm);grid-template-columns:repeat(4,1fr);gap:3px;display:grid}.booking-window-cell{text-align:center;padding:var(--space-xs)0;border-radius:var(--radius-sm);cursor:default;transition:transform .15s}.booking-window-cell:hover{transform:scale(1.06)}.booking-window-cell-label{text-transform:uppercase;letter-spacing:.02em;font-size:.72rem;font-weight:600}.booking-window-cell--relaxed{color:#166534;background:#dcfce7}.booking-window-cell--plan-ahead{color:#92400e;background:#fef3c7}.booking-window-cell--book-early{color:#991b1b;background:#fee2e2}.booking-window-legend{justify-content:center;gap:var(--space-md);margin-bottom:var(--space-sm);display:flex}.booking-window-legend-item{color:var(--text-light);align-items:center;gap:4px;font-size:.7rem;display:flex}.booking-window-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.booking-window-dot--relaxed{background:#166534}.booking-window-dot--plan-ahead{background:#92400e}.booking-window-dot--book-early{background:#991b1b}.booking-window-tip{font-size:var(--text-sm);text-align:center;margin-bottom:var(--space-xs)}.booking-window-tip i{color:var(--sand-golden);margin-right:var(--space-2xs)}.booking-window-value{font-size:var(--text-sm);text-align:center;color:var(--pine-green);margin-top:0;margin-bottom:var(--space-xs)}.booking-window-value i{color:var(--sand-golden);margin-right:var(--space-2xs)}.heritage-widget h3 i{color:var(--terracotta)}.heritage-headline{font-size:var(--text-base);margin-bottom:var(--space-md)}.heritage-headline strong{font-size:var(--text-xl);color:var(--terracotta)}.heritage-rank{font-size:var(--text-xs);color:var(--text-light);margin-top:2px;display:block}.heritage-tiers{gap:var(--space-xs);margin-bottom:var(--space-md);display:flex}.heritage-tier{text-align:center;padding:var(--space-sm)var(--space-xs);border-radius:var(--radius-md);flex:1}.heritage-tier-count{font-size:var(--text-lg);font-weight:700;display:block}.heritage-tier-label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.03em;margin-top:2px;display:block}.heritage-tier--mn{background:var(--terracotta);color:var(--white)}.heritage-tier--public{background:var(--sand-golden);color:var(--ocean-deep)}.heritage-tier--municipal{background:var(--sand-light);color:var(--text-dark)}.heritage-highlights{margin-bottom:var(--space-md);flex-direction:column;gap:0;display:flex}.heritage-site{font-size:var(--text-sm);border-bottom:1px solid var(--sand-light);flex-direction:column;padding:5px 4px;display:flex}.heritage-site:last-child{border-bottom:none}.heritage-site:hover{background:var(--sand-light);border-radius:var(--radius-sm)}.heritage-site-name{color:var(--text-dark)}.heritage-site-meta{font-size:var(--text-xs);color:var(--text-light);align-items:center;gap:var(--space-xs);margin-top:2px;display:flex}.heritage-site-tier{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);padding:1px 5px;font-weight:700;display:inline-block}.heritage-site-tier--mn{background:var(--terracotta);color:var(--white)}.heritage-site-tier--iip{background:var(--sand-golden);color:var(--ocean-deep)}.heritage-site-tier--mip{background:var(--ocean-light);color:var(--ocean-deep)}.heritage-types{gap:var(--space-xs);margin-bottom:var(--space-sm);flex-wrap:wrap;justify-content:center;display:flex}.heritage-type-tag{font-size:var(--text-xs);color:var(--text-light);background:var(--sand-light);border-radius:var(--radius-sm);padding:2px 8px}.heritage-type-tag i{color:var(--terracotta);font-size:var(--text-2xs);margin-right:2px}.protected-products-widget h3 i{color:var(--pine-green)}.pp-section{margin-bottom:var(--space-md)}.pp-section:last-of-type{margin-bottom:var(--space-sm)}.pp-section-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--text-light);margin-bottom:var(--space-xs);font-weight:600}.pp-product{gap:var(--space-sm);border-bottom:1px solid var(--sand-light);align-items:flex-start;padding:5px 4px;display:flex}.pp-product:last-child{border-bottom:none}.pp-product:hover{background:var(--sand-light);border-radius:var(--radius-sm)}.pp-badge{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);flex-shrink:0;margin-top:1px;padding:2px 6px;font-weight:700;display:inline-block}.pp-badge--dop{background:var(--pine-green);color:var(--white)}.pp-badge--igp{background:var(--ocean-medium);color:var(--white)}.pp-product-info{flex-direction:column;display:flex}.pp-product-name{font-size:var(--text-sm);color:var(--text-dark)}.pp-product-desc{font-size:var(--text-xs);color:var(--text-light);margin-top:1px}.protected-areas-widget h3 i{color:var(--pine-green)}.pa-list{gap:var(--space-xs);flex-direction:column;display:flex}.pa-item{justify-content:space-between;align-items:center;gap:var(--space-sm);border-bottom:1px solid var(--sand-light);padding:5px 4px;display:flex}.pa-item:last-child{border-bottom:none}.pa-name{font-size:var(--text-sm);color:var(--text-dark);text-decoration:none}a.pa-name:hover{color:var(--ocean-deep);text-decoration:underline}.pa-type{font-size:var(--text-2xs);border-radius:var(--radius-full);white-space:nowrap;flex-shrink:0;padding:2px 8px;font-weight:600}.pa-type--natural-park{color:var(--pine-green);background:#4a7c591f}.pa-type--natural-reserve{color:var(--ocean-deep);background:#2c8daa1f}.pa-type--protected-landscape{color:#8a6d1b;background:#d4a84326}.similar-beaches-list{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.similar-beach-item{margin-bottom:0}.similar-beach-link{color:var(--ocean-deep);padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-sm);transition:all var(--transition);font-size:var(--text-md);justify-content:space-between;align-items:center;text-decoration:none;display:flex}.similar-beach-link:hover{background:var(--sand-warm);color:var(--sunset-orange)}.similar-beach-score{font-size:var(--text-sm);color:var(--text-medium);white-space:nowrap;margin-left:var(--space-sm)}.similar-beach-quieter-delta{font-size:var(--text-sm);color:var(--green-600,#16a34a);white-space:nowrap;margin-left:var(--space-sm);font-weight:600}.similar-beach-traits{gap:var(--space-xs);padding:0 var(--space-sm);flex-wrap:wrap;margin-top:2px;display:flex}.trait-chip{font-size:var(--text-xs);background:var(--sand-warm);color:var(--text-medium);padding:2px var(--space-xs);border-radius:var(--radius-sm);line-height:1.4}.similar-quieter{margin-top:var(--space-md);border-top:1px solid var(--sand-warm);padding-top:var(--space-sm)}.similar-quieter summary{cursor:pointer;font-size:var(--text-sm);color:var(--ocean-deep);padding:var(--space-xs)0;font-weight:600}.similar-quieter summary i{margin-right:var(--space-xs)}.similar-beaches-list--quieter{margin-top:var(--space-sm)}.village-nearby-widget h3 i{color:var(--terracotta)}.village-nearby-section{margin-bottom:var(--space-md)}.village-nearby-section:last-child{margin-bottom:0}.village-nearby-heading{font-size:var(--text-sm);color:var(--text-dark);margin-bottom:var(--space-xs);align-items:center;gap:var(--space-xs);font-weight:700;display:flex}.village-nearby-heading i{color:var(--terracotta);font-size:var(--text-xs)}.village-nearby-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.village-nearby-item{border-bottom:1px solid var(--sand-light);flex-direction:column;padding:5px 4px;display:flex}.village-nearby-item:last-child{border-bottom:none}.village-nearby-item:hover{background:var(--sand-light);border-radius:var(--radius-sm)}.village-nearby-link{color:var(--ocean-deep);font-size:var(--text-md);text-decoration:none}.village-nearby-link:hover{text-decoration:underline}.village-nearby-name{color:var(--text-dark);font-size:var(--text-md)}.village-nearby-meta{font-size:var(--text-xs);color:var(--text-light);align-items:center;gap:var(--space-xs);margin-top:2px;display:flex}.village-nearby-type{font-size:var(--text-xs);color:var(--text-light)}.widget-note{font-size:var(--text-xs);color:var(--text-light);margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--sand-light)}.village-season-widget h3 i{color:var(--pine-green)}.village-season-months{margin-bottom:var(--space-sm);grid-template-columns:repeat(12,1fr);gap:3px;display:grid}.village-season-month{text-align:center;border-radius:var(--radius-sm);background:var(--sand-light);padding:6px 0;position:relative}.village-season-month--best{background:var(--pine-light);color:var(--pine-green);font-weight:600}.village-season-month--avoid{color:#b91c1c;background:#fde8e8}.village-season-month-label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.02em}.village-season-heat-dot{background:#f59e0b;border-radius:50%;width:6px;height:6px;margin:3px auto 0;display:block}.village-season-legend{gap:var(--space-md);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--sand-light);display:flex}.village-season-legend-item{font-size:var(--text-2xs);color:var(--text-light);align-items:center;gap:4px;display:flex}.village-season-legend--best:before{content:"";border-radius:var(--radius-sm);background:var(--pine-light);width:10px;height:10px;display:inline-block}.village-season-legend--avoid:before{content:"";border-radius:var(--radius-sm);background:#fde8e8;width:10px;height:10px;display:inline-block}.village-season-legend--heat .village-season-heat-dot{margin:0;display:inline-block}.village-season-highlights{gap:var(--space-sm);margin-bottom:var(--space-md);flex-direction:column;display:flex}.village-season-highlight{flex-direction:column;gap:2px;display:flex}.village-season-highlight-label{font-size:var(--text-xs);color:var(--text-dark);font-weight:700}.village-season-highlight-label i{color:var(--pine-green);font-size:var(--text-2xs);margin-right:4px}.village-season-highlight-text{font-size:var(--text-sm);color:var(--text-base);line-height:1.5}.village-season-event{font-size:var(--text-sm);color:var(--ocean-deep);background:var(--ocean-lightest,#eff6ff);padding:var(--space-sm)var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-sm)}.village-season-event i{color:var(--sand-golden);margin-right:var(--space-xs)}.village-season-warning{font-size:var(--text-sm);color:#92400e;padding:var(--space-sm)var(--space-md);border-radius:var(--radius-md);background:#fffbeb;border-left:3px solid #f59e0b}.village-season-warning i{color:#f59e0b;margin-right:var(--space-xs)}.village-ideal-for{gap:var(--space-xs);padding-top:var(--space-sm);flex-wrap:wrap;display:flex}.village-ideal-tag{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.03em;color:var(--pine-green);background:var(--pine-light);border-radius:var(--radius-sm);padding:2px 8px;font-weight:600}.village-combo-reason{font-size:var(--text-xs);color:var(--text-light);margin-top:2px;line-height:1.4;display:block}.detail-note{color:var(--text-light);font-size:var(--text-xs)}.stay-insights{background:var(--sand-warm);border-left:3px solid var(--ocean-mid);border-radius:var(--radius-md);padding:var(--space-md);margin:var(--space-lg)0}.stay-insights h3{font-size:var(--text-base);margin:0 0 var(--space-sm);color:var(--text-dark);padding:0}.prose .stay-insights h3{margin-top:var(--space-md)}.stay-insights h3 i{color:var(--ocean-mid);margin-right:var(--space-xs)}.stay-insights-summary{font-size:var(--text-sm);margin:0 0 var(--space-xs);line-height:1.5}.stay-insights-price{font-size:var(--text-sm);margin:0 0 var(--space-sm)}.stay-insights-locations-header,.stay-insights-compare-header{font-size:var(--text-sm);margin:var(--space-sm)0 var(--space-xs)}.stay-insights-locations-list,.stay-insights-compare-list{margin:0 0 var(--space-sm);padding:0;list-style:none}.stay-insights-locations-list li,.stay-insights-compare-list li{font-size:var(--text-sm);align-items:baseline;gap:var(--space-sm);flex-wrap:wrap;padding:3px 0;display:flex}.stay-insights-meta{color:var(--text-light);font-size:var(--text-xs);white-space:nowrap}.stay-insights-personas{font-size:var(--text-sm);margin:var(--space-sm)0 0}.stay-insights-persona{background:var(--white);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:2px var(--space-xs);font-size:var(--text-xs);margin-right:var(--space-xs);display:inline-block}.stay-insights-persona em{color:var(--ocean-mid);font-style:normal;font-weight:600}.stay-type-stats-headline{margin-bottom:var(--space-sm);justify-content:space-between;align-items:baseline;display:flex}.stay-type-stats-count{font-size:var(--text-base);font-weight:600}.stay-type-stats-rating{font-size:var(--text-sm);color:var(--text-dark)}.stay-type-stats-rating i{color:#f59e0b;font-size:var(--text-xs);margin-left:2px}.stay-type-stats-tiers{border-radius:var(--radius-sm);height:22px;margin-bottom:var(--space-sm);display:flex;overflow:hidden}.stay-type-stats-tier{justify-content:center;align-items:center;min-width:20px;display:flex}.stay-type-stats-tier span{color:var(--white);font-size:10px;font-weight:600}.stay-type-stats-tier--1{color:var(--text-dark);background:#6ec6a1}.stay-type-stats-tier--2{background:#4ba3c3}.stay-type-stats-tier--3{background:#3b6fa0}.stay-type-stats-tier--4{background:#2d4a7a}.stay-type-stats-section-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);margin:var(--space-sm)0 var(--space-xs);font-weight:600}.stay-type-stats-compare,.stay-type-stats-top-munis{margin:0;padding:0;list-style:none}.stay-type-stats-compare li,.stay-type-stats-top-munis li{font-size:var(--text-sm);align-items:baseline;gap:var(--space-xs);flex-wrap:wrap;padding:3px 0;display:flex}.guide-preview{border-top:1px solid var(--border-light);padding-top:var(--space-sm);margin-top:var(--space-md);margin-bottom:var(--space-sm)}.guide-preview-summary{font-size:var(--text-sm);color:var(--text-light);margin:0 0 var(--space-xs)}.guide-preview-link{font-size:var(--text-sm);color:var(--ocean-mid);font-weight:600;text-decoration:none}.guide-preview-link:hover{text-decoration:underline}.header{top:env(safe-area-inset-top,0px);z-index:1000;background:var(--white);box-shadow:var(--shadow-soft);position:sticky}.nav{justify-content:space-between;align-items:center;height:80px;display:flex}.logo{align-items:center;gap:var(--space-sm);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;text-decoration:none;display:flex}.logo-text{background:linear-gradient(135deg,var(--terracotta),var(--sun-logo));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.logo:hover .logo-text{background:linear-gradient(135deg,var(--sun-logo),var(--terracotta));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.logo-icon{background:url(/assets/images/favicon.svg) 50%/contain no-repeat;width:2rem;height:2rem;display:inline-block}.logo-accent{-webkit-text-fill-color:inherit}.nav-menu{align-items:center;gap:var(--space-xl);list-style:none;display:flex}.nav-link{color:var(--text-medium);padding:var(--space-sm)0;font-weight:500;position:relative}.nav-link:after{content:"";background:linear-gradient(90deg,var(--sunset-orange),var(--sunset-coral));width:0;height:2px;transition:width var(--transition);position:absolute;bottom:0;left:0}.nav-link:hover,.nav-link.active{color:var(--sunset-orange)}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-dropdown{position:relative}.nav-dropdown-toggle{font-family:inherit;font-size:inherit;color:var(--text-medium);cursor:pointer;padding:var(--space-sm)0;background:0 0;border:none;align-items:center;gap:.35em;font-weight:500;display:flex;position:relative}.nav-dropdown-toggle:after{content:"";background:linear-gradient(90deg,var(--sunset-orange),var(--sunset-coral));width:0;height:2px;transition:width var(--transition);position:absolute;bottom:0;left:0}.nav-dropdown:hover .nav-dropdown-toggle,.nav-dropdown-toggle.active{color:var(--sunset-orange)}.nav-dropdown:hover .nav-dropdown-toggle:after,.nav-dropdown-toggle.active:after{width:100%}.nav-dropdown-icon{font-size:var(--text-2xs);transition:transform var(--transition)}.nav-dropdown.open .nav-dropdown-icon{transform:rotate(180deg)}@media (hover:hover){.nav-dropdown:hover .nav-dropdown-icon{transform:rotate(180deg)}}.nav-dropdown-menu{background:var(--white);border-radius:var(--radius-md);min-width:220px;padding:var(--space-sm)0;opacity:0;visibility:hidden;transition:opacity var(--transition),visibility var(--transition),transform var(--transition);list-style:none;position:absolute;top:100%;right:0;transform:translateY(8px);box-shadow:0 4px 20px #0000001f}.nav-dropdown-menu:before{content:"";height:10px;position:absolute;top:-10px;left:0;right:0}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.nav-dropdown-link{padding:var(--space-sm)var(--space-lg);color:var(--text-medium);white-space:nowrap;transition:color var(--transition),background var(--transition);font-weight:500;display:block}.nav-dropdown-link:hover,.nav-dropdown-link.active{color:var(--sunset-orange);background:var(--bg-warm)}.nav-toggle{cursor:pointer;padding:var(--space-md);background:0 0;border:none;min-width:48px;min-height:48px;display:none}.hamburger{background:var(--text-dark);width:24px;height:2px;transition:var(--transition);display:block;position:relative}.hamburger:before,.hamburger:after{content:"";background:var(--text-dark);width:24px;height:2px;transition:var(--transition);position:absolute}.hamburger:before{top:-7px}.hamburger:after{top:7px}.nav-mobile-only{display:none}@media (max-width:1100px){.nav-desktop-only{display:none}.nav-mobile-only{display:block}.nav-divider{border-top:1px solid var(--sand-warm);width:100%;margin-top:var(--space-xs)}.nav-mobile-group{width:100%;padding-top:var(--space-sm);border-top:1px solid var(--sand-warm);margin-top:var(--space-xs)}.nav-group-toggle{width:100%;font-size:var(--text-2xl);color:var(--text-dark);padding:var(--space-xs)0;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;margin:0;font-family:inherit;display:flex}.nav-group-icon{font-size:var(--text-sm);color:var(--text-light);margin-left:var(--space-sm);transition:transform .2s}.nav-mobile-group.open .nav-group-icon{transform:rotate(180deg)}.nav-group-links{padding:var(--space-sm)0 0 var(--space-md);gap:var(--space-2xs);flex-direction:column;max-height:0;margin:0;list-style:none;transition:max-height .3s ease-out;display:flex;overflow:hidden}.nav-group-links .nav-link{font-size:var(--text-lg);padding:var(--space-2xs)0}.logo{z-index:1001;position:relative}.nav-toggle{z-index:1001;pointer-events:auto;display:block}.nav-menu{background:var(--white);width:100%;height:100vh;padding:120px var(--space-2xl)0;justify-content:flex-start;align-items:flex-start;gap:var(--space-sm);transition:transform var(--transition);will-change:transform;flex-direction:column;position:fixed;top:0;right:0;transform:translate(100%)}.nav-menu.active{transform:translate(0)}.nav-item{width:100%}.nav-link{width:100%;font-size:var(--text-2xl);padding:var(--space-xs)0;display:block}.nav-dropdown-toggle{font-size:var(--text-2xl);padding:var(--space-xs)0;text-align:left;justify-content:space-between;width:100%;margin:0}.nav-dropdown-toggle:after{display:none}.nav-dropdown-menu{box-shadow:none;opacity:1;visibility:visible;background:0 0;border-radius:0;min-width:0;max-height:0;padding:0;transition:max-height .3s ease-out;position:static;overflow:hidden;transform:none}.nav-dropdown-menu:before{display:none}.nav-dropdown-link{font-size:var(--text-xl);padding:var(--space-xs)0}.nav-dropdown-link:hover,.nav-toggle.active .hamburger{background:0 0}.nav-toggle.active .hamburger:before{top:0;transform:rotate(45deg)}.nav-toggle.active .hamburger:after{top:0;transform:rotate(-45deg)}.header{transition:background var(--transition),box-shadow var(--transition)}.nav{transition:background var(--transition),border-radius var(--transition),box-shadow var(--transition),padding var(--transition)}.logo-text{white-space:nowrap;max-width:200px;transition:max-width var(--transition),opacity var(--transition);display:inline-block;overflow:hidden}.header.collapsed{box-shadow:none;pointer-events:none;background:0 0}.header.collapsed .nav{width:-moz-fit-content;width:fit-content;max-width:none;margin-left:auto;margin-right:var(--space-sm);padding:var(--space-sm)var(--space-md);pointer-events:auto;justify-content:flex-end;gap:var(--space-xs);background:#fffffff2;border-radius:999px;height:auto;box-shadow:0 2px 12px #0000001a}.header.collapsed .logo{gap:0}.header.collapsed .logo-text{opacity:0;max-width:0}}.hero{background:-webkit-image-set(url(/assets/images/home/algarve-guide.webp) 1x type("image/webp"),url(/assets/images/home/algarve-guide.jpg) 1x type("image/jpeg")) 50%/cover;background:image-set("/assets/images/home/algarve-guide.webp" 1x type("image/webp"),"/assets/images/home/algarve-guide.jpg" 1x type("image/jpeg")) 50%/cover;align-items:flex-end;min-height:min(85vh,900px);display:flex;position:relative;overflow:visible}.hero-content{z-index:1;text-align:center;max-width:900px;padding:0 var(--space-lg);margin:0 auto;position:relative;transform:translateY(50%)}.hero-badge{padding:var(--space-xs)var(--space-md);background:var(--sand-warm);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-md);color:var(--text-dark);border-radius:100px;font-weight:500;display:inline-block}.hero-text{background:var(--white);padding:var(--space-2xl)var(--space-3xl);clip-path:polygon(3% 0,97% 0,100% 100%,0 100%);max-width:750px;margin-left:auto;margin-right:auto}.hero h1{color:var(--text-dark);margin-bottom:var(--space-md);font-size:2.75rem}.hero-lead{font-size:var(--text-xl);color:var(--text-medium);max-width:600px;margin:0 auto;line-height:1.6}.hero-cta{gap:var(--space-md);margin-top:var(--space-xl);flex-wrap:wrap;justify-content:center;display:flex}.page-header--hero{background:0 0;min-height:450px;position:relative;overflow:visible}.hero-image{object-fit:cover;object-position:center;z-index:0;aspect-ratio:16/9;width:100%;height:100%;position:absolute;top:0;left:0}.page-header--hero .breadcrumb-light,.page-header--hero .breadcrumb-light a{color:var(--text-medium)}.page-header--hero+.section,.page-header--hero+section{padding-top:calc(var(--space-4xl) + 80px)}.hero+.section,.hero+section{padding-top:calc(var(--space-4xl) + 200px)}@media (max-width:768px){.hero{min-height:min(70vh,600px)}.hero-text{padding:var(--space-xl)var(--space-lg);clip-path:none;max-width:100%}.hero h1{font-size:1.875rem}.hero-lead{font-size:1rem}.hero-content{padding:0 var(--space-md);transform:translateY(min(60%,240px))}.page-header--hero{min-height:320px}.page-header--hero+.section,.page-header--hero+section{padding-top:calc(var(--space-3xl) + 120px)}.hero+.section,.hero+section{padding-top:calc(var(--space-3xl) + 280px)}}.btn{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-md)var(--space-xl);font-family:var(--font-body);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition);border:none;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--sunset-orange);color:var(--white);box-shadow:0 4px 15px #e86a3366}.btn-primary:hover{background:var(--terracotta);color:var(--white);transform:translateY(-2px);box-shadow:0 6px 20px #e86a3380}.btn-secondary{background:var(--white);color:var(--ocean-deep);box-shadow:var(--shadow-soft)}.btn-secondary:hover{color:var(--sunset-orange);box-shadow:var(--shadow-medium);transform:translateY(-2px)}.btn-outline{color:var(--white);background:0 0;border:2px solid #ffffff80}.btn-outline:hover{background:var(--white);color:var(--ocean-deep);border-color:var(--white)}.hero-text .btn-outline{color:var(--ocean-deep);border-color:var(--ocean-deep)}.hero-text .btn-outline:hover{background:var(--ocean-deep);color:var(--white);border-color:var(--ocean-deep)}.section{padding:var(--space-4xl)0}.section-gyg{min-height:400px;padding-top:0}.gyg-dev-hidden{display:none}.section-warm{background:var(--sand-warm)}.section-ocean{background:linear-gradient(180deg,var(--ocean-deep)0%,var(--ocean-bright)100%);color:var(--white)}.section-ocean h2,.section-ocean h3{color:var(--white)}.section-header{text-align:center;max-width:700px;margin:0 auto var(--space-3xl)}.section-header h2{margin-bottom:var(--space-md)}.section-header p{color:var(--text-medium);font-size:var(--text-lg)}.section-ocean .section-header p{color:#ffffffd9}.section-subheader{text-align:center;max-width:700px;margin:var(--space-3xl)auto var(--space-2xl)}.section-subheader h3{margin-bottom:var(--space-sm)}.section-subheader p{color:var(--text-medium);font-size:var(--text-base)}.feature-grid{gap:var(--space-2xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.feature{text-align:center;padding:var(--space-xl)}.feature-icon{width:80px;height:80px;margin:0 auto var(--space-lg);background:linear-gradient(135deg,var(--sunset-coral),var(--sunset-orange));border-radius:50%;justify-content:center;align-items:center;font-size:2rem;display:flex;box-shadow:0 8px 25px #e86a334d}.feature h3{font-size:var(--text-xl);margin-bottom:var(--space-sm)}.feature p{color:var(--text-medium);font-size:var(--text-base)}.highlight-banner{padding:var(--space-4xl)0;background:linear-gradient(135deg,var(--terracotta)0%,var(--sunset-orange)50%,var(--sunset-coral)100%);color:var(--white);text-align:center;position:relative;overflow:hidden}.highlight-banner:before{content:"";pointer-events:none;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0L30 60M0 30L60 30' stroke='rgba(255,255,255,0.05)' stroke-width='1' fill='none'/%3E%3C/svg%3E");position:absolute;top:0;bottom:0;left:0;right:0}.highlight-banner h2{color:var(--white);margin-bottom:var(--space-md)}.highlight-banner p{font-size:var(--text-xl);opacity:.9;max-width:600px;margin:0 auto var(--space-xl)}.stats-grid{gap:var(--space-xl);text-align:center;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.stat{padding:var(--space-xl)}.stat-value{font-family:var(--font-display);color:var(--sunset-orange);margin-bottom:var(--space-sm);font-size:3rem;font-weight:700;line-height:1}.section-ocean .stat-value{color:var(--white)}.stat-label{color:var(--text-medium);font-size:var(--text-base)}.section-ocean .stat-label{color:#fffc}.page-content{padding:var(--space-3xl)0}.collapsible{background:var(--sand-warm);border:1px solid var(--sand-golden);border-radius:var(--radius-md);padding:var(--space-md)var(--space-lg);margin:var(--space-md)0}.section-warm .collapsible{background:var(--white)}.collapsible summary{cursor:pointer;font-weight:600;font-size:var(--text-lg);align-items:center;gap:.5rem;list-style:none;display:flex}.collapsible summary::-webkit-details-marker{display:none}.collapsible-chevron{font-size:var(--text-sm);margin-left:auto;transition:transform .2s}.collapsible[open] .collapsible-chevron{transform:rotate(180deg)}.collapsible-content{margin-top:var(--space-md)}.collapsible-content table{border-collapse:collapse;width:100%}.collapsible-content th,.collapsible-content td{text-align:center;padding:.5rem}.collapsible-content thead tr{background:var(--sand-golden)}.collapsible-content tbody tr:nth-child(2n),.section-warm .collapsible-content thead tr{background:var(--sand-warm)}.section-warm .collapsible-content tbody tr:nth-child(2n){background:var(--sand-light)}.collapsible-content .text-left{text-align:left}.explore-links{margin:var(--space-lg)0;padding:var(--space-md)var(--space-lg);background:var(--sand-warm);border-radius:var(--radius-md)}.explore-links-label{font-size:var(--text-sm);color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-sm);font-weight:600;display:block}.explore-links ul{gap:var(--space-xs)var(--space-lg);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.explore-links li{margin:0;padding:0}.explore-links a{font-size:var(--text-md);color:var(--ocean-deep);transition:color var(--transition);align-items:center;gap:.35rem;text-decoration:none;display:inline-flex}.explore-links a:before{content:"→";color:var(--sunset-orange);font-weight:600}.explore-links a:hover{color:var(--sunset-orange)}.content-review-date{margin-top:var(--space-2xl);padding-top:var(--space-md);border-top:1px solid var(--sand-golden);font-size:var(--text-sm);color:var(--text-light)}.footer{background:var(--text-dark);color:var(--sand-light);padding:var(--space-4xl)0 var(--space-xl)}.footer-grid{gap:var(--space-3xl);margin-bottom:var(--space-3xl);grid-template-columns:2fr repeat(3,1fr);display:grid}@media (max-width:900px){.footer-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.footer-grid{text-align:center;grid-template-columns:1fr}}.footer-logo{align-items:center;gap:var(--space-sm);font-family:var(--font-display);color:var(--white);margin-bottom:var(--space-md);font-size:1.5rem;font-weight:600;display:inline-flex}.footer-logo:hover{color:var(--white)}.footer-tagline{color:var(--text-light);max-width:250px}.footer-social{gap:var(--space-sm);margin-top:var(--space-sm);display:flex}.footer-social a{color:var(--text-light);font-size:var(--text-xl);transition:color .15s}.footer-social a:hover{color:var(--white)}@media (max-width:600px){.footer-tagline{margin:0 auto}.footer-social{justify-content:center}}.footer-nav h4{color:var(--white);font-family:var(--font-body);font-size:var(--text-md);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-lg);font-weight:600}.footer-nav ul{list-style:none}.footer-nav li{margin-bottom:var(--space-sm)}.footer-nav a{color:var(--text-light);font-size:var(--text-base);transition:color var(--transition)}.footer-nav a:hover{color:var(--sunset-coral)}.footer-bottom{padding-top:var(--space-xl);text-align:center;color:var(--text-light);font-size:var(--text-md);border-top:1px solid #ffffff1a}.footer-legal-links{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin:1rem 0;display:flex}.footer-legal-links span[data-href]{color:var(--text-light);opacity:.7;font-size:var(--text-sm);transition:color var(--transition);cursor:pointer;text-decoration:none}.footer-legal-links span[data-href]:hover{color:var(--sunset-coral);opacity:1}.footer-affiliate-note{margin-top:var(--space-sm);font-size:var(--text-sm);color:var(--text-light);opacity:.8}.footer-affiliate-note a{color:var(--text-light);text-underline-offset:2px;transition:color var(--transition);text-decoration:underline}.footer-affiliate-note a:hover{color:var(--sunset-coral)}.footer-sitemap-link{margin-top:var(--space-sm)}.footer-sitemap-link a{color:var(--text-light);font-size:var(--text-sm);transition:color var(--transition)}.footer-sitemap-link a:hover{color:var(--sunset-coral)}.error-page{text-align:center;min-height:70vh;padding:var(--space-4xl)var(--space-lg);justify-content:center;align-items:center;display:flex}.error-content h1{color:var(--sunset-coral);margin-bottom:var(--space-md);font-size:8rem;line-height:1}.error-content h2{margin-bottom:var(--space-lg)}.error-content p{color:var(--text-medium);margin-bottom:var(--space-xl)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.mt-lg{margin-top:var(--space-lg)}.mb-lg{margin-bottom:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-xl{margin-bottom:var(--space-xl)}.mt-2xl{margin-top:var(--space-2xl)}.mb-2xl{margin-bottom:var(--space-2xl)}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.back-to-top{bottom:var(--space-xl);right:var(--space-xl);background:var(--ocean-deep);width:48px;height:48px;color:var(--white);cursor:pointer;opacity:0;visibility:hidden;z-index:100;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;transition:opacity .3s,visibility .3s,transform .3s,background-color .2s;display:flex;position:fixed;transform:translateY(10px);box-shadow:0 2px 8px #00000026}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--ocean-medium)}.back-to-top:focus-visible{outline:2px solid var(--ocean-deep);outline-offset:2px}@media (max-width:768px){.back-to-top{bottom:var(--space-lg);right:var(--space-lg);width:44px;height:44px}}.page-header{background-color:var(--ocean-deep);min-height:350px;color:var(--text-dark);text-align:left;background-position:50%;background-size:cover;justify-content:flex-start;align-items:flex-end;display:flex;position:relative}.page-header .container{background:var(--white);padding:var(--space-xl)var(--space-2xl);padding-right:var(--space-4xl);clip-path:polygon(0 0,100% 0,85% 100%,0 100%);max-width:850px;min-height:140px;margin-bottom:0;margin-left:max(var(--space-lg),calc((100% - var(--container-max))/2 + var(--space-lg)));z-index:1;position:relative;transform:translateY(55%)}.page-header h1{color:var(--text-dark);margin-bottom:var(--space-sm);font-size:2.5rem}.page-header p{max-width:600px;color:var(--text-medium);margin:0;font-size:1.125rem}.page-header .breadcrumb,.page-header .breadcrumb a{color:var(--text-medium)}.page-header .breadcrumb a:hover{color:var(--ocean-deep)}.page-header+.section,.page-header+section{padding-top:calc(var(--space-4xl) + 120px)}.page-header-beaches{background-image:-webkit-image-set(url(/assets/images/beach/beaches-hero.webp) 1x type("image/webp"),url(/assets/images/beach/beaches-hero.jpg) 1x type("image/jpeg"));background-image:image-set("/assets/images/beach/beaches-hero.webp" 1x type("image/webp"),"/assets/images/beach/beaches-hero.jpg" 1x type("image/jpeg"));background-position:50%}.page-header-stays{background-image:-webkit-image-set(url(/assets/images/stays/stays-hero.webp) 1x type("image/webp"),url(/assets/images/stays/stays-hero.jpg) 1x type("image/jpeg"));background-image:image-set("/assets/images/stays/stays-hero.webp" 1x type("image/webp"),"/assets/images/stays/stays-hero.jpg" 1x type("image/jpeg"));background-position:50%}.page-header-beach{padding-bottom:var(--space-3xl);position:relative}.page-header-golf{background-image:-webkit-image-set(url(/assets/images/course/golf-hero.webp) 1x type("image/webp"),url(/assets/images/course/golf-hero.jpg) 1x type("image/jpeg"));background-image:image-set("/assets/images/course/golf-hero.webp" 1x type("image/webp"),"/assets/images/course/golf-hero.jpg" 1x type("image/jpeg"));background-position:50%}.page-header-regions{background-image:-webkit-image-set(url(/assets/images/region/region-hero.webp) 1x type("image/webp"),url(/assets/images/region/region-hero.jpg) 1x type("image/jpeg"));background-image:image-set("/assets/images/region/region-hero.webp" 1x type("image/webp"),"/assets/images/region/region-hero.jpg" 1x type("image/jpeg"));background-position:50% 40%}.page-header-region{background-color:var(--ocean-deep)}.page-header-village{background-color:var(--pine-green)}.page-header-see-and-do{background-image:-webkit-image-set(url(/assets/images/attractions/attractions-hero.webp) 1x type("image/webp"),url(/assets/images/attractions/attractions-hero.jpg) 1x type("image/jpeg"));background-image:image-set("/assets/images/attractions/attractions-hero.webp" 1x type("image/webp"),"/assets/images/attractions/attractions-hero.jpg" 1x type("image/jpeg"));background-position:50% 60%}.page-header-attraction{background-color:var(--sunset-orange)}.page-header-gastronomy{background-image:-webkit-image-set(url(/assets/images/gastronomy/gastronomy-hero.webp) 1x type("image/webp"),url(/assets/images/gastronomy/gastronomy-hero.jpg) 1x type("image/jpeg"));background-image:image-set("/assets/images/gastronomy/gastronomy-hero.webp" 1x type("image/webp"),"/assets/images/gastronomy/gastronomy-hero.jpg" 1x type("image/jpeg"));background-position:50% 70%}.page-header-gastronomy-guide{background-color:var(--terracotta)}.page-header-nightlife{background-image:-webkit-image-set(url(/assets/images/nightlife/nightlife-hero.webp) 1x type("image/webp"),url(/assets/images/nightlife/nightlife-hero.jpg) 1x type("image/jpeg"));background-image:image-set("/assets/images/nightlife/nightlife-hero.webp" 1x type("image/webp"),"/assets/images/nightlife/nightlife-hero.jpg" 1x type("image/jpeg"));background-position:50%}.page-header-nightlife-guide{background-color:var(--nightlife-dark)}.page-header-stays-guide,.page-header-activities-guide{background-color:var(--ocean-deep)}.page-header-information{background-image:-webkit-image-set(url(/assets/images/information/info-hero.webp) 1x type("image/webp"),url(/assets/images/information/info-hero.jpg) 1x type("image/jpeg"));background-image:image-set("/assets/images/information/info-hero.webp" 1x type("image/webp"),"/assets/images/information/info-hero.jpg" 1x type("image/jpeg"));background-position:50%}.prose{max-width:var(--container-narrow);margin:0 auto}.prose h2{margin-top:var(--space-3xl);margin-bottom:var(--space-lg);padding-top:var(--space-xl);border-top:1px solid var(--sand-golden)}.prose h2:first-child{border-top:none;margin-top:0;padding-top:0}.prose h3{margin-top:var(--space-2xl);margin-bottom:var(--space-md)}.prose ul,.prose ol{margin-bottom:var(--space-md);padding-left:var(--space-md)}.prose li{margin-bottom:var(--space-sm)}.prose a{text-decoration:underline;-webkit-text-decoration-color:var(--ocean-light);text-decoration-color:var(--ocean-light);text-underline-offset:2px;text-decoration-thickness:1.5px}.prose a:hover{-webkit-text-decoration-color:var(--sunset-orange);text-decoration-color:var(--sunset-orange)}.prose a.listing-card{text-decoration:none}.prose blockquote{margin:var(--space-xl)0;padding:var(--space-lg)var(--space-xl);background:var(--sand-warm);border-left:4px solid var(--sunset-orange);border-radius:0 var(--radius-md)var(--radius-md)0;color:var(--text-medium);font-style:italic}.prose>table{border-collapse:collapse;width:100%;margin:var(--space-md)0}.prose>table th,.prose>table td{padding:var(--space-sm)var(--space-lg);text-align:left}.prose>table thead{display:none}.prose>table tbody tr{border-bottom:1px solid var(--sand-golden)}.prose>table tbody tr:last-child{border-bottom:none}.toc{margin-bottom:var(--space-xl)}.toc-nav ol{padding-left:var(--space-lg);margin:0;list-style:decimal}.toc-nav li{margin-bottom:var(--space-sm);line-height:1.4}.toc-nav a{color:var(--text-dark);text-decoration:none;transition:color .2s}.toc-nav a:hover{color:var(--ocean-deep);text-decoration:underline}.breadcrumb{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);opacity:.85;flex-wrap:wrap;font-size:.875rem;display:flex}.breadcrumb a{color:var(--white);text-underline-offset:2px;text-decoration:underline}.breadcrumb a:hover{color:var(--sunset-coral)}.breadcrumb-separator{opacity:.6}.breadcrumb-tail{align-items:center;gap:var(--space-sm);white-space:nowrap;display:inline-flex}.listing-grid{gap:var(--space-lg);grid-template-columns:repeat(3,1fr);display:grid}.content .listing-grid{grid-template-columns:repeat(2,1fr)}.listing-card,.municipality-column{--directory-card-surface:var(--white);--directory-card-surface-hover:#fffffffa;--directory-card-border:var(--sand-warm);background:var(--directory-card-surface);border-radius:var(--radius-xl);border:1px solid var(--directory-card-border)}.listing-card{color:inherit;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.listing-card[hidden]{display:none}.listing-card-cta{text-align:center;border:2px dashed var(--sand-golden);border-radius:var(--radius-xl);padding:var(--space-xl);color:var(--ocean-deep);transition:var(--transition);justify-content:center;align-items:center;font-size:.9375rem;font-weight:600;text-decoration:none;display:flex}.listing-card-cta:hover{background:var(--sand-warm);border-color:var(--ocean-light);color:var(--ocean-deep)}.listing-card-image{aspect-ratio:4/3;background:var(--sand-golden);position:relative;overflow:hidden}.listing-card-img{object-fit:cover;object-position:center;width:100%;height:100%}.listing-card-badge{top:var(--space-sm);left:var(--space-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--white);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em;background:#0009;padding:2px 6px;font-size:.625rem;font-weight:500;position:absolute}.listing-card-content{padding:var(--space-lg);flex-direction:column;flex:1;display:flex}.listing-card h3{margin-top:0;margin-bottom:var(--space-xs);color:var(--text-dark);font-size:1.25rem;line-height:1.3}.listing-card p{color:var(--text-medium);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;line-height:1.5;display:-webkit-box;overflow:hidden}.listing-card-meta{align-items:center;gap:var(--space-xs);padding-top:var(--space-sm);flex-wrap:wrap;margin-top:auto;display:flex}.listing-card-tag{color:var(--ocean-deep);background:var(--sand-warm);border-radius:var(--radius-sm);align-items:center;gap:4px;width:-moz-fit-content;width:fit-content;padding:2px 6px;font-size:.75rem;display:inline-flex}.listing-card-tag[hidden]{display:none}.listing-card--showcase{transition:border-color .18s,background-color .18s;position:relative}.listing-card--showcase:hover{background:var(--directory-card-surface-hover)}.listing-card-image--showcase:after{content:"";pointer-events:none;background:linear-gradient(#08181f0a,#08181f4d);position:absolute;top:0;bottom:0;left:0;right:0}.listing-card--showcase-iconic:hover{border-color:#c45d3557}.listing-card--showcase-family:hover{border-color:#2c8daa57}.listing-card--showcase-wild:hover{border-color:#4a7c5957}.listing-card--showcase-surf:hover{border-color:#0077be57}.listing-card--showcase-championship:hover{border-color:#1d6f4257}.listing-card--showcase-historic:hover{border-color:#8b691457}.listing-card--showcase-resort:hover{border-color:#c1666b57}.listing-card--showcase-park:hover{border-color:#2c8daa57}.listing-card--showcase-event:hover{border-color:#b35d5657}.listing-card--showcase-activity:hover{border-color:#0f2f3d3d}.listing-card-content--showcase,.listing-card-content--discovery{gap:var(--space-sm)}.listing-card-showcase-topline,.listing-card-topline{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.listing-card-showcase-type,.listing-card-showcase-cert,.listing-card-type,.listing-card-cert,.municipality-summary-chip,.listing-group-count,.region-villages-count{justify-content:center;align-items:center;display:inline-flex}.listing-card-showcase-type,.listing-card-showcase-cert,.listing-card-type,.listing-card-cert{border-radius:var(--radius-full);letter-spacing:.04em;text-transform:uppercase;min-height:24px;color:var(--blue-flag);background:#0077be1f;padding:0 10px;font-size:.72rem;font-weight:700}.listing-card-cert--accessible{color:#2d5a3b;background:#4a7c591f}.listing-card-cert--accessible i{margin-right:2px}.listing-card-showcase-type{color:var(--ocean-deep);background:#0f2f3d14}.listing-card-showcase-cert{color:var(--blue-flag);background:#0077be1f}.listing-card-showcase-tagline{color:var(--text-medium);margin:0;font-size:.95rem;line-height:1.55}.listing-card-meta--showcase,.listing-card-meta--discovery{gap:.5rem}.listing-card-meta--showcase{padding-top:var(--space-sm);margin-top:auto}.listing-card-meta--showcase .listing-card-tag,.listing-card-meta--discovery .listing-card-tag{--listing-card-meta-pill-bg:#f7f3eceb;--listing-card-meta-pill-border:#d4c5abeb;--listing-card-meta-pill-color:var(--ocean-deep);border-radius:var(--radius-full);border:1px solid var(--listing-card-meta-pill-border);background:var(--listing-card-meta-pill-bg);min-height:28px;color:var(--listing-card-meta-pill-color);padding:0 10px;font-size:.76rem;font-weight:600;line-height:1.2}.listing-card-meta--showcase .listing-card-tag i,.listing-card-meta--discovery .listing-card-tag i{opacity:.78;font-size:.72rem}.listing-card-placeholder{padding:var(--space-lg);color:var(--white);align-items:flex-end;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.listing-card-placeholder:before{content:"";background:radial-gradient(circle at 100% 0,#fff3,#0000 34%),linear-gradient(#ffffff0a,#08181f47);position:absolute;top:0;bottom:0;left:0;right:0}.listing-card-placeholder--iconic{background:linear-gradient(135deg,#d2804c,#c45d35 58%,#6f3420 100%)}.listing-card-placeholder--family{background:linear-gradient(135deg,#80c6d9,#2c8daa 58%,#0f4d61 100%)}.listing-card-placeholder--wild{background:linear-gradient(135deg,#90a96f,#4a7c59 58%,#234233 100%)}.listing-card-placeholder--surf{background:linear-gradient(135deg,#5ab1d6,#0077be 58%,#0c3a54 100%)}.listing-card-placeholder--championship{background:linear-gradient(135deg,#4f9f71,#1d6f42 58%,#0d3721 100%)}.listing-card-placeholder--historic{background:linear-gradient(135deg,#c7a95b,#8b6914 58%,#4f3b09 100%)}.listing-card-placeholder--resort{background:linear-gradient(135deg,#f0b3a8,#c1666b 58%,#6d3035 100%)}.listing-card-placeholder--park{background:linear-gradient(135deg,#95d7dc,#2c8daa 58%,#0f4d61 100%)}.listing-card-placeholder--event{background:linear-gradient(135deg,#efb1a4,#b35d56 58%,#5f2d2f 100%)}.listing-card-placeholder--activity{background:linear-gradient(135deg,#92b8c4,#4d6e79 58%,#203840 100%)}.listing-card-placeholder-inner{z-index:1;flex-direction:column;align-items:flex-start;gap:8px;max-width:80%;display:flex;position:relative}.listing-card-placeholder-icon{opacity:.95;font-size:1.6rem}.listing-card-placeholder-kicker{letter-spacing:.09em;text-transform:uppercase;font-size:.72rem;font-weight:800}.listing-card-placeholder-meta{font-size:1rem;font-weight:600;line-height:1.3}.blue-flag-icon{vertical-align:middle;background:url(/assets/images/blue-flag.svg) 50%/contain no-repeat;border-radius:2px;width:18px;height:13px;margin-left:4px;display:inline-block}.region-link{color:var(--ocean-deep);padding:var(--space-sm)var(--space-lg);border:2px solid var(--ocean-light);border-radius:var(--radius-lg);transition:all var(--transition);font-weight:600;display:inline-block}.region-link:hover{background:var(--ocean-deep);border-color:var(--ocean-deep);color:var(--white)}.municipality-grid{gap:var(--space-lg);grid-template-columns:repeat(3,1fr);display:grid}.municipality-column{padding:var(--space-xl);gap:var(--space-md);background:linear-gradient(#fffffffa,#faf7f1f0);flex-direction:column;transition:border-color .18s,background-color .18s;display:flex}.municipality-column:hover{background:var(--directory-card-surface-hover);border-color:#0f2f3d24}.municipality-column .municipality-item-list{margin-bottom:0}.municipality-column .region-link{text-align:center;background:#f7f3eca6;border-color:#0f2f3d1f;align-self:stretch;width:100%;margin-top:auto;padding:.85rem 1rem;font-size:.875rem}.municipality-column .region-link:hover{color:var(--ocean-deep);background:#f7f3eceb;border-color:#0f2f3d2e}.municipality-column h3{color:var(--ocean-deep);margin-bottom:0;font-size:1.25rem}.municipality-column-header{gap:var(--space-sm);flex-direction:column;display:flex}.municipality-description{color:var(--text-medium);margin-bottom:0;font-size:.875rem;line-height:1.55}.municipality-summary{gap:var(--space-xs);flex-wrap:wrap;display:flex}.municipality-directory{gap:var(--space-md);padding-top:var(--space-sm);border-top:1px solid #d4c5abb8;flex-direction:column;display:flex}.municipality-summary-chip{border-radius:var(--radius-full);min-height:26px;color:var(--ocean-deep);background:#0f2f3d0f;gap:6px;padding:0 10px;font-size:.76rem;font-weight:600}.municipality-summary-chip strong{font-size:.82rem}.municipality-summary-chip--blueflag{color:var(--blue-flag);background:#0077be1a}.municipality-summary-chip .beach-blueflag-icon{margin-left:0}.municipality-item-list{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.municipality-item-list li{margin:0}.municipality-item-list a{border-radius:var(--radius-full);background:#ffffffdb;border:1px solid #d4c5abd1;align-items:center;gap:.35rem;max-width:100%;padding:.46rem .72rem;text-decoration:none;transition:border-color .18s,background-color .18s,color .18s;display:inline-flex}.municipality-item-list a:hover{background:#f7f3ecf0;border-color:#0f2f3d24}.municipality-item-list .listing-name{min-width:0;color:var(--text-dark);font-size:.76rem;font-weight:600;line-height:1.4}.listing-name-flag{white-space:nowrap;align-items:center;display:inline-flex}.municipality-item-list a:hover .listing-name{color:var(--sunset-orange)}.listing-group{gap:var(--space-sm);padding-bottom:var(--space-md);border-bottom:1px solid #e8dfd0f2;flex-direction:column;display:flex}.listing-group:last-of-type{border-bottom:0;padding-bottom:0}.listing-group-header{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:0;display:flex}.listing-group-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--ocean-deep);margin:0;font-size:.75rem;font-weight:700}.listing-group-count{border-radius:var(--radius-full);min-width:1.9rem;min-height:1.9rem;color:var(--ocean-deep);background:#0f2f3d14;padding:0 8px;font-size:.74rem;font-weight:700}.beach-blueflag-icon{vertical-align:middle;background:url(/assets/images/blue-flag.svg) 50%/contain no-repeat;width:14px;height:10px;margin-left:6px;display:inline-block}.municipality-column--western{border-top:4px solid var(--pine-green)}.municipality-column--central{border-top:4px solid var(--sunset-orange)}.municipality-column--eastern{border-top:4px solid var(--ocean-deep)}.listing-card-image--golf{background:var(--sand-golden)}.listing-card--golf .listing-card-meta{border-top:1px solid var(--sand-warm);flex-direction:column;align-items:flex-start}.listing-card--golf.listing-card--showcase .listing-card-showcase-type{color:var(--pine-green);background:#1d6f421a}.listing-card--golf.listing-card--showcase .listing-card-showcase-cert{color:var(--ocean-deep);background:#0f2f3d14}.listing-card--golf.listing-card--showcase .listing-card-meta{align-items:center;gap:var(--space-xs);border-top:0;flex-direction:row}.listing-card-tag--golf{--listing-card-meta-pill-color:var(--pine-green);--listing-card-meta-pill-bg:#4a7c591a;--listing-card-meta-pill-border:#4a7c5933}.listing-card--golf-discovery{transition:border-color .18s,background-color .18s;position:relative}.listing-card--golf-discovery .listing-card-image{background:linear-gradient(180deg,#08181f0a,#08181f1f),var(--sand-golden)}.listing-card--golf-discovery:hover{background:var(--directory-card-surface-hover);border-color:#1d6f423d}.listing-card--golf-discovery .listing-card-type{color:var(--pine-green);background:#1d6f421a}.listing-card--golf-discovery .listing-card-cert{color:var(--ocean-deep);background:#0f2f3d14}.listing-card--golf-discovery .listing-card-meta{border-top:0;flex-direction:row;align-items:center;gap:.5rem}.listing-card--golf-discovery .listing-card-discovery{min-height:calc(1.2em + var(--space-xs) + (26px*2) + .5rem + (var(--space-sm)*2))}.listing-card--golf-discovery .listing-card-discovery-title{min-height:1.2em}.listing-card--golf-discovery .listing-card-criteria{min-height:calc(52px + .5rem)}.listing-card--golf-discovery .listing-card-criteria .listing-card-tag{min-height:26px;padding:0 9px;font-size:.74rem;line-height:1.15}.listing-card--golf-discovery .listing-card-reason{color:var(--pine-green);background:#ffffffeb;border-color:#4a7c592e}.listing-card--golf-discovery .listing-card-reason--primary{color:var(--pine-green);background:#4a7c591f;border-color:#4a7c593d}.listing-card-image--activity{aspect-ratio:16/9;background:linear-gradient(180deg,#08181f0a,#08181f24),var(--sand-golden)}.listing-card--activity.listing-card--showcase .listing-card-showcase-type{color:var(--terracotta);background:#e86a331f}.listing-card--activity.listing-card--showcase .listing-card-showcase-cert{color:var(--ocean-deep);background:#0f2f3d14}.listing-card-tag--activity{--listing-card-meta-pill-color:var(--terracotta);--listing-card-meta-pill-bg:#e86a331a;--listing-card-meta-pill-border:#e86a3333}.region-municipality-image{aspect-ratio:16/9;border-bottom:1px solid #d4c5abb3;display:block;position:relative;overflow:hidden}.region-municipality-image img{object-fit:cover;width:100%;height:100%}.region-municipality-image:after{content:"";pointer-events:none;background:linear-gradient(#08181f05,#08181f2e);position:absolute;top:0;bottom:0;left:0;right:0}.region-municipality-content{padding:var(--space-xl);gap:var(--space-md);flex-direction:column;flex-grow:1;display:flex}.region-municipality-link{gap:var(--space-md);flex-direction:column;flex-grow:1;text-decoration:none;display:flex}.region-municipality-link .landing-card-meta{margin-top:0}.region-municipality-card--showcase{transition:border-color .18s,box-shadow .18s,background-color .18s}.region-municipality-card--showcase:hover,.region-municipality-card--showcase:focus-within{border-color:#0f2f3d29;box-shadow:0 2px 8px #0f2f3d0f}.region-municipality-link--showcase{gap:var(--space-sm)}.region-municipality-card--showcase .landing-card-focus{color:#0f2f3db8}.region-municipality-card--showcase .mun-card-seasonal--showcase{margin-top:0}.region-municipality-card--showcase .mun-card-tag{color:var(--text-dark);background:#faf7f1e0;border-color:#d4c5abb8}.region-municipality-card--showcase .mun-card-tag i{color:var(--ocean-deep);font-size:.74rem}.region-municipality-card--showcase .region-municipality-cta{padding-top:var(--space-sm)}.region-municipality-villages{padding-top:var(--space-md);border-top:1px solid var(--sand-warm);margin-top:auto}.region-villages-heading{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.region-villages-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.03em;margin-bottom:0;font-size:.75rem;font-weight:600;display:block}.region-villages-count{border-radius:var(--radius-full);min-width:1.9rem;min-height:1.9rem;color:var(--ocean-deep);background:#0f2f3d14;padding:0 8px;font-size:.74rem;font-weight:700}.region-villages-list{gap:var(--space-xs);min-height:calc((28px*2) + var(--space-xs));flex-wrap:wrap;align-content:flex-start;margin:0;padding:0;list-style:none;display:flex}.region-villages-list li{margin:0}.region-villages-list a{min-height:28px;color:var(--text-dark);border-radius:var(--radius-full);transition:border-color var(--transition),color var(--transition),background-color var(--transition);background:#f7f3eceb;border:1px solid #d4c5abb8;align-items:center;padding:0 .7rem;font-size:.76rem;text-decoration:none;display:inline-flex}.region-villages-list a:hover{color:var(--ocean-deep);background:#fffffffa;border-color:#0f2f3d24}.region-villages-list>li{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.region-villages-children{gap:var(--space-xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.region-villages-children a{min-height:28px;color:var(--text-medium);border-radius:var(--radius-full);transition:border-color var(--transition),color var(--transition),background-color var(--transition);background:0 0;border:1px dashed #d4c5abb8;align-items:center;padding:0 .6rem;font-size:.72rem;text-decoration:none;display:inline-flex}.region-villages-children a:hover{color:var(--ocean-deep);background:#fffffffa;border-style:solid;border-color:#0f2f3d24}.region-villages-list a.region-village-child{color:var(--text-medium);background:0 0;border:1px dashed #d4c5abb8;font-size:.72rem}.region-villages-list a.region-village-child:hover{color:var(--ocean-deep);background:#fffffffa;border-style:solid;border-color:#0f2f3d24}.region-map{max-width:600px;margin:var(--space-2xl)auto;text-align:center}.region-map picture{display:block}.region-map img{border-radius:var(--radius-lg);border:3px solid var(--white);width:100%;height:auto;box-shadow:0 4px 20px #0000001a}.region-map-card{background:var(--white);border-radius:var(--radius-xl);padding:var(--space-lg);border:1px solid var(--sand-warm)}.region-map-card h3{font-family:var(--font-display);margin-bottom:var(--space-md);font-size:1.125rem}.region-map-card picture{display:block}.region-map-card img{border-radius:var(--radius-md);border:2px solid var(--sand-warm);width:100%;height:auto}.sidebar-links .blue-flag-icon,.village-type-icon{opacity:.8;font-size:.875rem}.sidebar-links .course-type-icon{color:var(--gold-warm);opacity:.8;font-size:.75rem}.sidebar-links .village-children{padding-left:var(--space-md);margin-top:var(--space-xs);border-left:2px solid var(--sand-warm)}.sidebar-links .village-children li a{font-size:var(--text-sm)}.village-parent-label{color:var(--text-dark);padding:var(--space-xs)0;font-size:var(--text-md);justify-content:space-between;align-items:center;font-weight:500;display:flex}.village-highlights{background:var(--white);border-radius:var(--radius-xl);padding:var(--space-lg);border:1px solid var(--sand-warm)}.village-highlights h3{font-family:var(--font-display);margin-bottom:var(--space-md);font-size:1.125rem}.village-highlights ul{margin:0;padding:0;list-style:none}.village-highlights li{padding-left:var(--space-md);margin-bottom:var(--space-sm);color:var(--text-medium);font-size:.9rem;position:relative}.village-highlights li:last-child{margin-bottom:0}.village-highlights li:before{content:"•";color:var(--sunset-orange);font-weight:700;position:absolute;left:0}.village-beach-featured{background:linear-gradient(135deg,var(--sky-soft)0%,#fff0 100%);border-radius:var(--radius-sm);padding:var(--space-xs)var(--space-sm);border-bottom:1px solid var(--sand-warm)}.sidebar-links .village-beach-featured a{color:var(--ocean-deep);justify-content:flex-start;gap:var(--space-xs);font-weight:600}.sidebar-links .village-beach-featured .blue-flag-icon{margin-left:auto}.village-beach-featured a i{color:var(--sunset-orange)}.village-beach-label{color:var(--text-medium);margin-top:var(--space-2xs);padding-left:var(--space-sm);font-size:.75rem;display:block}.prose .beach-facilities h2{margin-top:var(--space-3xl);padding-top:var(--space-xl);border-top:1px solid var(--sand-golden)}.beach-facilities-list{gap:0;margin:0;padding:0;display:grid}.beach-facility{align-items:baseline;gap:var(--space-sm);padding:var(--space-xs)0;border-bottom:1px solid var(--border-light);display:flex}.beach-facility:last-child{border-bottom:none}.beach-facility dt{width:160px;font-weight:600;font-size:var(--text-sm);color:var(--text-dark);flex-shrink:0}.beach-facility dt i{text-align:center;width:1.2em;color:var(--text-medium);margin-right:var(--space-2xs)}.beach-facility dd{font-size:var(--text-sm);color:var(--text-medium);margin:0}.prose .golf-facilities h2{margin-top:var(--space-3xl);padding-top:var(--space-xl);border-top:1px solid var(--sand-golden)}.golf-facilities-list{gap:0;margin:0;padding:0;display:grid}.golf-facility{align-items:baseline;gap:var(--space-sm);padding:var(--space-xs)0;border-bottom:1px solid var(--border-light);display:flex}.golf-facility:last-child{border-bottom:none}.golf-facility dt{width:160px;font-weight:600;font-size:var(--text-sm);color:var(--text-dark);flex-shrink:0}.golf-facility dt i{text-align:center;width:1.2em;color:var(--text-medium);margin-right:var(--space-2xs)}.golf-facility dd{font-size:var(--text-sm);color:var(--text-medium);margin:0}.prose .green-fees-widget{margin-top:var(--space-3xl);padding-top:var(--space-xl);border-top:1px solid var(--sand-golden)}.prose .green-fees-widget h2{margin-top:0}.green-fees-tiers{margin:var(--space-md)0 var(--space-lg);gap:0;padding:0;display:grid}.green-fee-tier{padding:var(--space-sm)0;border-bottom:1px solid #00000014;justify-content:space-between;align-items:baseline;display:flex}.green-fee-tier:first-child{border-top:1px solid #00000014}.green-fee-tier dt{font-weight:600;font-size:var(--text-sm);color:var(--text-dark);margin:0}.green-fee-tier dd{font-size:var(--text-base);color:var(--text-dark);font-variant-numeric:tabular-nums;margin:0;font-weight:700}.green-fees-extras{margin:0 0 var(--space-md);gap:var(--space-2xs);padding:0;list-style:none;display:grid}.green-fees-extras li{font-size:var(--text-sm);color:var(--text-medium);align-items:baseline;gap:var(--space-sm);display:flex}.green-fees-extras li i{color:var(--pine-green);font-size:var(--text-xs);flex-shrink:0}.green-fees-tip{font-size:var(--text-sm);color:var(--text-dark);padding:var(--space-sm)var(--space-md);border-radius:var(--radius-sm);border-left:3px solid var(--sand-golden);margin:0 0 var(--space-md);background:#fdf6e3}.green-fees-tip i{color:var(--sand-golden);margin-right:var(--space-2xs)}.green-fees-private{font-size:var(--text-sm);color:var(--text-medium);padding:var(--space-md);border-radius:var(--radius-sm);margin:var(--space-md)0;background:#f9f5ec}.green-fees-source{font-size:var(--text-xs);color:var(--text-light);margin:var(--space-md)0;font-style:italic}.green-fees-source a{color:var(--text-medium)}.green-fees-cta{margin-top:var(--space-md)}.village-entity-section{margin:var(--space-xl)0;border:1px solid var(--sand-warm);border-radius:var(--radius-lg,12px);background:var(--sand-light,#faf8f4);padding:var(--space-lg)}.village-entity-section h3{font-family:var(--font-display);margin:0 0 var(--space-sm)}.village-entity-section>p{color:var(--text-medium);margin-bottom:var(--space-md)}.village-entity-cards{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.village-entity-card{gap:var(--space-2xs);padding:var(--space-sm)0;border-bottom:1px solid var(--sand-warm);background:0 0;flex-direction:column;display:flex}.village-entity-card:last-child{border-bottom:none;padding-bottom:0}.village-entity-card:first-child{padding-top:0}.village-entity-card.has-entity-thumb{align-items:flex-start;gap:var(--space-md);flex-direction:row}.village-entity-thumb{object-fit:cover;border-radius:6px;flex-shrink:0;width:80px;height:80px}.village-entity-thumb-placeholder{background:var(--sand-warm);color:var(--text-light);justify-content:center;align-items:center;font-size:1.5rem;display:flex}.village-entity-card-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.village-entity-card .hotel-name,.village-entity-card .restaurant-name{font-family:var(--font-display);font-size:var(--text-base);color:var(--text-dark);font-weight:700;line-height:1.25}.village-entity-meta{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.expedia-search-widget{margin:var(--space-2xl)0}.expedia-search-heading{text-align:center;margin-bottom:var(--space-sm)}.stays-search-widget{margin:var(--space-2xl)0}.stays-search-heading{text-align:center;margin-bottom:var(--space-sm)}.expedia-search-widget .eg-widget{padding:var(--space-lg);background:var(--sand-light);border-radius:var(--radius-lg)}.expedia-widget-dev-hidden{display:none}.village-entity-card-actions{align-items:center;gap:var(--space-sm);margin-top:var(--space-2xs);flex-wrap:wrap;display:flex}.village-entity-affiliate{align-items:center;gap:var(--space-xs);display:flex}.village-affiliate-cta{font-size:var(--text-sm);color:#fff;cursor:pointer;background:#e67e22;border-radius:8px;align-self:flex-start;padding:.5em 1.2em;font-weight:700;text-decoration:none;transition:background .15s;display:inline-block}.village-affiliate-cta:hover{background:#d35400}.flight-prices-widget{border:1px solid var(--sand-warm);border-radius:var(--radius-lg,12px);background:var(--sand-light,#faf8f4);padding:var(--space-lg);margin:var(--space-xl)0}.flight-prices-header{justify-content:space-between;align-items:baseline;gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.flight-prices-header h4{color:var(--text-dark);margin:0;font-size:1rem}.flight-prices-header h4 i{color:var(--primary);margin-right:.4em}.flight-prices-updated{color:var(--text-medium);white-space:nowrap;font-size:.75rem}.flight-prices-grid{gap:var(--space-xs);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.flight-prices-route{padding:var(--space-sm)var(--space-md);border-radius:var(--radius-md,8px);background:var(--white);cursor:pointer;color:inherit;border:1px solid #d4c5ab80;flex-direction:column;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.flight-prices-route:hover{border-color:var(--primary);box-shadow:0 2px 8px #0f2f3d14}.flight-route-city{color:var(--text-dark);font-size:.9rem;font-weight:700}.flight-route-meta{color:var(--text-medium);margin-top:2px;font-size:.75rem}.flight-route-price{color:var(--primary);margin-top:var(--space-xs);font-size:.95rem;font-weight:700}.flight-prices-footer{margin-top:var(--space-md);text-align:center}.flight-prices-search-cta{font-size:var(--text-base);color:#fff;background:var(--ocean-deep);cursor:pointer;border-radius:8px;padding:.6em 1.4em;font-weight:700;text-decoration:none;transition:background .15s;display:inline-block}.flight-prices-search-cta:hover{background:var(--primary)}.flight-prices-search-cta i{margin-left:.3em}.flight-prices-widget--compact{padding:var(--space-md)}.flight-prices-widget--compact .flight-prices-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.flight-prices-widget--compact .flight-prices-route{padding:var(--space-xs)var(--space-sm)}.flight-prices-widget--compact .flight-route-city{font-size:.82rem}.flight-prices-widget--compact .flight-route-meta{font-size:.7rem}.flight-prices-widget--compact .flight-route-price{font-size:.85rem}.transport-glance{background:var(--bg-warm);border:1px solid var(--sand-golden);border-radius:var(--radius-md);margin-bottom:var(--space-xl);overflow:hidden}.transport-glance-item{align-items:baseline;gap:var(--space-md);padding:var(--space-sm)var(--space-lg);border-bottom:1px solid var(--sand-golden);display:flex}.transport-glance-item:last-child{border-bottom:none}.transport-glance-label{min-width:10rem;font-size:var(--text-sm);color:var(--text-medium);white-space:nowrap;flex:none;font-weight:600}.transport-glance-label i{color:var(--transport-slate);margin-right:var(--space-3xs);text-align:center;width:1.1em;display:inline-block}.transport-glance-value{font-size:var(--text-base);color:var(--text-dark);flex:auto;font-weight:700;line-height:1.4}@media (max-width:600px){.transport-glance-item{gap:var(--space-3xs);padding:var(--space-sm)var(--space-md);flex-direction:column}.transport-glance-label{min-width:unset}}.affiliate-cta-block{align-items:center;gap:var(--space-xs);background:var(--bg-warm);padding:var(--space-md)var(--space-lg);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.affiliate-cta-sep{color:var(--text-medium);font-weight:700;font-size:var(--text-base)}.affiliate-cta-block .featured-hotel-affiliate-label{width:100%}.village-entity-more{margin-top:var(--space-md);font-size:var(--text-sm);color:var(--primary);font-weight:600;text-decoration:none;display:inline-block}.village-entity-more:hover{text-decoration:underline}.beach-stay-cards{gap:var(--space-sm);margin-bottom:var(--space-sm);flex-direction:column;display:flex}.beach-stay-card{gap:var(--space-sm);padding:var(--space-sm);background:var(--sand-light);border-radius:var(--radius-md);display:flex}.beach-stay-thumb{object-fit:cover;border-radius:var(--radius-md);flex-shrink:0;width:72px;height:72px}.beach-stay-thumb-placeholder{background:var(--sand-warm);color:var(--text-light);justify-content:center;align-items:center;font-size:1.5rem;display:flex}.beach-stay-body{flex-direction:column;gap:2px;min-width:0;display:flex}.beach-stay-name{font-weight:700;font-size:var(--text-sm);line-height:1.3}.beach-stay-meta{align-items:center;gap:var(--space-xs);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.beach-stay-bestfor{font-size:var(--text-xs);color:var(--text-medium);line-height:1.3}.beach-stay-ctas{margin-top:var(--space-2xs);flex-wrap:wrap;align-self:flex-start;gap:6px;display:flex}.beach-stay-cta{font-size:var(--text-xs);color:#fff;cursor:pointer;white-space:nowrap;background:#e67e22;border-radius:6px;padding:.3em .8em;font-weight:700;text-decoration:none;transition:background .15s;display:inline-block}.beach-stay-cta:hover{background:#d35400}.beach-stay-more{font-size:var(--text-sm);color:var(--primary);font-weight:600;text-decoration:none;display:inline-block}.beach-stay-more:hover{text-decoration:underline}.stays-guide-booking{background:linear-gradient(135deg,var(--sunset-orange)0%,var(--sunset-coral)100%);border-radius:var(--radius-xl);padding:var(--space-lg);color:var(--white);text-align:center}.stays-guide-booking h3{font-family:var(--font-display);margin-bottom:var(--space-sm);color:var(--white);font-size:1.25rem}.stays-guide-booking p{margin-bottom:var(--space-md);opacity:.95;font-size:.9375rem}.stays-guide-booking .btn-primary{background:var(--white);color:var(--sunset-orange);border:none;font-weight:600}.stays-guide-booking .btn-primary:hover{background:var(--sand-warm);color:var(--sunset-coral)}.stays-booking-note{margin-top:var(--space-sm);opacity:.8;font-size:.75rem;display:block}.attraction-grid{gap:var(--space-xl);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.btn-block{text-align:center;width:100%;display:block}.region-subheading{font-family:var(--font-display);color:var(--text-dark);margin-top:var(--space-2xl);margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);font-size:1.5rem}.region-subheading:first-of-type{margin-top:0}.sitemap-grid{gap:var(--space-2xl);grid-template-columns:repeat(4,1fr);display:grid}.sitemap-group{margin-bottom:var(--space-2xl)}.sitemap-group h2{font-family:var(--font-display);color:var(--text-dark);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:2px solid var(--sand-golden);font-size:1.125rem}.sitemap-group ul{list-style:none}.sitemap-group li{margin-bottom:var(--space-xs)}.sitemap-group a{color:var(--text-medium);transition:color var(--transition);font-size:.9375rem}.sitemap-group a:hover{color:var(--sunset-orange)}.sitemap-meta{color:var(--text-light);font-size:.8125rem}.plan-finder-shell{border:1px solid var(--sand-warm);border-radius:var(--radius-xl);padding:var(--space-2xl);background:linear-gradient(#fffffffa 0%,#f8f4eef5 100%);box-shadow:0 20px 40px #0f2f3d14}.plan-finder-intro{max-width:70ch;margin-bottom:var(--space-xl)}.plan-finder-intro h2{margin:var(--space-xs)0 var(--space-sm);font-size:clamp(1.75rem,2.5vw,2.4rem)}.plan-finder-intro p{color:var(--text-medium);margin:0}.plan-finder-form{gap:var(--space-lg);margin-bottom:var(--space-lg);flex-direction:column;display:flex}.plan-finder-grid{gap:var(--space-md);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.plan-finder-field{gap:var(--space-xs);flex-direction:column;display:flex}.plan-finder-field label{color:var(--text-dark);font-size:.875rem;font-weight:600}.plan-finder-field select{-webkit-appearance:none;appearance:none;border:1px solid var(--sand-golden);border-radius:var(--radius-lg);background:var(--white);width:100%;min-height:50px;color:var(--text-dark);padding:0 var(--space-lg);font:inherit;line-height:1.2}.plan-finder-field select:focus{border-color:var(--ocean-light);outline:2px solid #2c8daa40}.plan-finder-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.plan-finder-actions .btn[disabled]{cursor:not-allowed;opacity:.55;box-shadow:none;transform:none}.plan-finder-actions .btn-primary[disabled]:hover,.plan-finder-actions .btn-outline[disabled]:hover{box-shadow:none;transform:none}.plan-finder-actions .btn-outline{color:var(--ocean-deep);background:var(--white);border-color:#0f2f3d2e}.plan-finder-actions .btn-outline:hover{background:var(--ocean-deep);color:var(--white);border-color:var(--ocean-deep)}.plan-finder-status{margin-bottom:var(--space-lg)}.plan-finder-status p{color:var(--text-medium);margin:0}.plan-finder-results{gap:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.plan-result-card{background:var(--white);border:1px solid var(--sand-warm);border-radius:var(--radius-xl);padding:var(--space-xl);gap:var(--space-md);flex-direction:column;transition:border-color .18s,background-color .18s;display:flex;position:relative}.plan-result-card:hover{background:var(--directory-card-surface-hover);border-color:#2c8daa3d}.plan-result-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.plan-result-header-copy{flex:1;min-width:0}.plan-result-rank{text-transform:uppercase;letter-spacing:.04em;color:var(--ocean-light);margin-bottom:var(--space-xs);font-size:.75rem;font-weight:700}.plan-result-header h3{color:var(--ocean-deep);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em;margin:0;font-size:1.4rem;display:-webkit-box;overflow:hidden}.plan-result-score{flex-shrink:0;align-self:flex-start}.plan-result-meta{margin-top:calc(var(--space-xs)*-1);padding-top:0}.plan-result-tagline{color:var(--text-medium);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-height:2.9em;margin:0;line-height:1.45;display:-webkit-box;overflow:hidden}.plan-result-primary-link{margin-top:calc(var(--space-xs)*-1)}.plan-result-primary-link .btn,.plan-result-links .btn{flex:none;padding:.55rem .85rem;font-size:.84rem;line-height:1.2}.plan-result-metrics{gap:var(--space-sm);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.plan-result-discovery{gap:var(--space-sm);flex-direction:column;margin-top:auto;display:flex}.plan-result-metric{border-radius:var(--radius-lg);padding:var(--space-sm);background:#ffffffeb;border:1px solid #d4c5abcc;flex-direction:column;gap:4px;display:flex}.plan-result-metric-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-light);font-size:.75rem}.plan-result-metric strong{min-height:2.7em;font-size:.95rem;line-height:1.35}.plan-result-metric-note{color:var(--text-light);font-size:.78rem;line-height:1.35}.plan-result-reasons{flex-direction:column;gap:.45rem;min-height:6.05rem;margin:0;padding:0;list-style:none;display:flex}.plan-result-reason{border-radius:var(--radius-lg);color:var(--text-medium);background:#ffffffe6;border:1px solid #d4c5abd6;align-items:flex-start;gap:.55rem;padding:.55rem .7rem;font-size:.83rem;line-height:1.35;display:flex}.plan-result-reason i{opacity:.8;color:var(--ocean-deep);flex-shrink:0;margin-top:.18rem;font-size:.72rem}.plan-result-reason--primary{color:var(--ocean-deep);background:#2c8daa1a;border-color:#2c8daa2e}.plan-result-links{gap:var(--space-sm);flex-wrap:wrap;margin-top:auto;display:flex}.plan-result-primary-link .btn-outline,.plan-result-links .btn-outline{color:var(--ocean-deep);background:var(--white);border-color:#0f2f3d2e}.plan-result-primary-link .btn-outline:hover,.plan-result-links .btn-outline:hover{background:var(--ocean-deep);color:var(--white);border-color:var(--ocean-deep)}.plan-cost-comparison{margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid var(--sand-warm)}.plan-cost-comparison h3{font-size:var(--text-base);margin:0 0 var(--space-md)}.plan-cost-comparison h3 i{color:var(--ocean-medium);margin-right:var(--space-xs)}.plan-cost-comparison-note{color:var(--text-muted);font-weight:400;font-size:var(--text-sm)}.plan-cost-cards{gap:var(--space-md);margin-bottom:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.plan-cost-cards--overview{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.plan-cost-minicard{background:var(--white);border:1px solid var(--sand-warm);border-radius:var(--radius-lg);padding:var(--space-md);gap:var(--space-xs);flex-direction:column;display:flex}.plan-cost-minicard-header{justify-content:space-between;align-items:baseline;display:flex}.plan-cost-minicard-header strong{font-size:var(--text-base);color:var(--text-dark)}.plan-cost-minicard-total{font-family:var(--font-display);color:var(--ocean-deep);font-size:1.25rem;font-weight:700}.plan-cost-minicard-rows{gap:var(--space-xs)var(--space-md);font-size:var(--text-sm);color:var(--text-medium);flex-wrap:wrap;display:flex}.plan-cost-minicard-rows i{color:var(--text-muted);text-align:center;width:1em;margin-right:3px}.plan-cost-minicard-footer{padding-top:var(--space-xs);border-top:1px solid #0000000f;justify-content:space-between;align-items:center;margin-top:auto;display:flex}.plan-cost-minicard-tier{font-size:var(--text-xs);border-radius:var(--radius-md);padding:1px 8px;font-weight:600}.plan-cost-minicard-tier--budget{color:#166534;background:#dcfce7}.plan-cost-minicard-tier--average{color:#1e40af;background:#dbeafe}.plan-cost-minicard-tier--above{color:#92400e;background:#fef3c7}.plan-cost-minicard-tier--premium{color:#991b1b;background:#fee2e2}.plan-cost-minicard-link{font-size:var(--text-xs);color:var(--ocean-deep);cursor:pointer;font-weight:600}.plan-cost-minicard-link:hover{text-decoration:underline}.plan-cost-season-label{font-size:var(--text-sm);color:var(--text-medium);text-transform:uppercase;letter-spacing:.04em;margin:var(--space-md)0 var(--space-xs);font-weight:600}.plan-cost-table-wrap{overflow-x:auto}.plan-cost-table{width:100%;font-size:var(--text-sm);border-collapse:collapse}.plan-cost-table th{text-align:center;color:var(--text-dark);padding:var(--space-xs)var(--space-sm);border-bottom:2px solid var(--sand-warm);font-weight:600}.plan-cost-table td{text-align:center;padding:var(--space-xs)var(--space-sm);border-bottom:1px solid #0000000a}.plan-cost-label{color:var(--text-medium);white-space:nowrap;font-weight:500;text-align:left!important}.plan-cost-total-row td{border-top:2px solid var(--sand-warm);padding-top:var(--space-sm);color:var(--ocean-deep);border-bottom:none}.plan-cost-table-note{font-size:var(--text-xs);color:var(--text-muted);text-align:center;margin-top:var(--space-sm)}.plan-cost-table-link{color:var(--ocean-deep);cursor:pointer;font-weight:600}.plan-cost-table-link:hover{text-decoration:underline}.plan-result-cost-link{text-align:center;font-size:var(--text-sm);color:var(--ocean-deep);cursor:pointer;margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid #0000000f;font-weight:600;text-decoration:none;display:block}.plan-result-cost-link:hover{text-decoration:underline}.plan-result-cost-link i{margin-right:4px}.plan-finder-weak-divider{padding:var(--space-md)0;text-align:center}.plan-finder-weak-divider p{color:var(--text-light);margin:0;font-size:.88rem;font-style:italic}.plan-finder-empty{background:var(--white);border-radius:var(--radius-xl);border:1px dashed var(--sand-golden);padding:var(--space-xl)}.plan-preset-overview{gap:var(--space-lg);margin-bottom:var(--space-lg);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);display:grid}.plan-preset-panel{background:var(--white);border:1px solid var(--sand-warm);border-radius:var(--radius-xl);padding:var(--space-xl)}.plan-preset-panel h3{margin:0 0 var(--space-md);color:var(--ocean-deep)}.plan-preset-panel p{color:var(--text-medium);margin:0}.plan-preset-panel--accent{background:linear-gradient(#0f2f3df5 0%,#225770f5 100%);border-color:#0f2f3d14}.plan-preset-panel--accent h3,.plan-preset-panel--accent p{color:var(--white)}.plan-preset-chips{margin:0 0 var(--space-md);gap:var(--space-sm);flex-wrap:wrap;padding:0;list-style:none;display:flex}.plan-preset-chip{min-width:140px;padding:var(--space-sm)var(--space-md);border-radius:var(--radius-lg);background:#f7f3ecd9;border:1px solid #0f2f3d14;flex:1 1 0}.plan-preset-chip span{letter-spacing:.04em;text-transform:uppercase;color:var(--text-light);margin-bottom:.2rem;font-size:.72rem;font-weight:700;display:block}.plan-preset-chip strong{color:var(--text-dark);font-size:.98rem}.plan-preset-chip-detail{color:var(--text-light);margin-top:.3rem;font-size:.82rem;line-height:1.4;display:block}.plan-preset-caption{font-size:.92rem}.plan-preset-actions{gap:var(--space-sm);margin-top:var(--space-lg);flex-wrap:wrap;display:flex}.plan-preset-actions .btn-outline{color:var(--white);border-color:#ffffff59}.plan-preset-actions .btn-outline:hover{color:var(--white);border-color:var(--white);background:#ffffff24}.plan-alt-paths{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--sand-warm)}.plan-alt-paths h3{margin:0 0 var(--space-md);color:var(--text-light);font-size:1.1rem;font-weight:600}.plan-alt-paths-grid{gap:var(--space-sm);flex-wrap:wrap;display:flex}.plan-alt-path-link{padding:var(--space-sm)var(--space-md);border:1px solid var(--sand-warm);border-radius:var(--radius-lg);background:var(--white);color:var(--ocean-deep);flex-direction:column;gap:.15rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex}.plan-alt-path-link:hover{border-color:var(--ocean-deep);background:#0f2f3d0a}.plan-alt-path-focus{text-transform:uppercase;letter-spacing:.03em;color:var(--text-light);font-size:.75rem;font-weight:600}.plan-preset-note-card{border-left:3px solid var(--sand-warm)}.plan-preset-note-card--best{border-left-color:var(--ocean-deep)}.plan-preset-note-card--watch{border-left-color:var(--terracotta)}.plan-best-time-callout{background:var(--white);border:1px solid var(--sand-warm);border-left:4px solid var(--ocean-deep);border-radius:var(--radius-xl);padding:var(--space-xl)}.plan-best-time-callout h2{margin-bottom:var(--space-sm)}.plan-best-time-callout p{color:var(--text-light);margin-bottom:var(--space-lg);max-width:65ch}.section-footer{margin-top:var(--space-xl);text-align:center;color:var(--text-light);font-size:.9rem}.section-footer a{color:var(--ocean-deep);font-weight:600}.plan-season-grid{gap:var(--space-lg);grid-template-columns:repeat(2,1fr);display:grid}.plan-season-card{background:var(--white);border:1px solid var(--sand-warm);border-radius:var(--radius-xl);padding:var(--space-lg);border-top:3px solid var(--sand-warm)}.plan-season-card--spring{border-top-color:#84cc16}.plan-season-card--summer{border-top-color:#f59e0b}.plan-season-card--autumn{border-top-color:#f97316}.plan-season-card--winter{border-top-color:#60a5fa}.plan-season-header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);color:var(--ocean-deep);font-size:1.1rem;display:flex}.plan-season-header h3{margin:0;font-size:1.1rem}.plan-season-header span{color:var(--text-light);font-size:.9rem;font-weight:400}.plan-season-points{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.plan-season-points li{align-items:flex-start;gap:.5rem;font-size:.85rem;line-height:1.4;display:flex}.plan-season-points li .fa-check{color:#16a34a;flex-shrink:0;margin-top:.15em}.plan-season-points li .fa-xmark{color:#dc2626;flex-shrink:0;margin-top:.15em}.plan-season-grid--micro{grid-template-columns:repeat(3,1fr)}.plan-season-card--micro{transition:all var(--transition);flex-direction:column;text-decoration:none;display:flex}.plan-season-card--micro:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.plan-season-tagline{font-size:var(--text-sm);color:var(--text-medium);margin:0 0 var(--space-md);flex:1}.plan-season-stats{gap:var(--space-xs)var(--space-sm);font-size:var(--text-xs);color:var(--text-medium);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.plan-season-stats i{margin-right:2px}.plan-season-cta{font-size:var(--text-sm);color:var(--sunset-orange);font-weight:600}.plan-season-cta i{margin-left:var(--space-xs);transition:transform var(--transition)}.plan-season-card--micro:hover .plan-season-cta i{transform:translate(3px)}.season-hub-grid{gap:var(--space-lg);grid-template-columns:repeat(2,1fr);display:grid}.season-hub-card{background:var(--white);border:1px solid var(--sand-warm);border-radius:var(--radius-xl);padding:var(--space-lg);border-top:3px solid var(--sand-warm);transition:all var(--transition);flex-direction:column;text-decoration:none;display:flex}.season-hub-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.season-hub-header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);color:var(--ocean-deep);display:flex}.season-hub-header h2{margin:0;font-size:1.1rem}.season-hub-dates{color:var(--text-light);margin-left:auto;font-size:.85rem;font-weight:400}.season-hub-tagline{font-size:var(--text-sm);color:var(--text-medium);margin:0 0 var(--space-md);flex:1}.season-hub-stats{gap:var(--space-xs)var(--space-md);font-size:var(--text-sm);color:var(--text-medium);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.season-hub-stats i{margin-right:3px}.season-hub-cta{font-size:var(--text-sm);color:var(--sunset-orange);font-weight:600}.season-stats-grid{gap:var(--space-md);grid-template-columns:repeat(4,1fr);display:grid}.season-stat-card{background:var(--white);border:1px solid var(--sand-warm);border-radius:var(--radius-lg);padding:var(--space-md);text-align:center}.season-stat-icon{color:var(--sunset-orange);margin-bottom:var(--space-xs);font-size:1.2rem}.season-stat-value{color:var(--ocean-deep);font-size:1.4rem;font-weight:700;font-family:var(--font-display)}.season-stat-label{font-size:var(--text-xs);color:var(--text-medium);margin-top:2px}.season-two-col{gap:var(--space-xl);grid-template-columns:1fr 1fr;display:grid}.season-highlights h2,.season-watchfor h2{margin-bottom:var(--space-md);font-size:1.1rem}.season-highlights h2 i{color:#16a34a;margin-right:var(--space-xs)}.season-watchfor h2 i{color:#f59e0b;margin-right:var(--space-xs)}.season-highlights ul,.season-watchfor ul{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.season-highlights li,.season-watchfor li{font-size:var(--text-md);padding-left:var(--space-md);line-height:1.5;position:relative}.season-highlights li:before{content:"✓";color:#16a34a;font-weight:700;position:absolute;left:0}.season-watchfor li:before{content:"⚠";font-size:.85em;position:absolute;left:0}.season-activities{justify-content:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.season-activity-chip{background:var(--white);border:1px solid var(--sand-warm);border-radius:var(--radius-full,999px);padding:var(--space-xs)var(--space-md);font-size:var(--text-sm);color:var(--ocean-deep)}.season-municipalities{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.season-municipality-card{background:var(--white);border:1px solid var(--sand-warm);border-radius:var(--radius-lg);padding:var(--space-md);gap:var(--space-xs);transition:all var(--transition);flex-direction:column;text-decoration:none;display:flex}.season-municipality-card:hover{border-color:var(--sunset-orange);box-shadow:0 2px 8px #0000000f}.season-municipality-card strong{color:var(--ocean-deep);font-size:var(--text-md)}.season-municipality-stats{gap:var(--space-xs)var(--space-sm);font-size:var(--text-xs);color:var(--text-medium);flex-wrap:wrap;display:flex}.season-municipality-stats i{margin-right:2px}.season-municipality-cta{font-size:var(--text-sm);color:var(--sunset-orange)}.season-month-cards{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.season-month-card{background:var(--white);border:1px solid var(--sand-warm);border-radius:var(--radius-xl);padding:var(--space-lg);transition:all var(--transition);flex-direction:column;text-decoration:none;display:flex}.season-month-card:hover{border-color:var(--sunset-orange);box-shadow:0 4px 12px #00000014}.season-month-card h3{margin:0 0 var(--space-md);color:var(--ocean-deep);font-size:1.15rem;font-family:var(--font-display)}.season-month-card-stats{gap:var(--space-sm);margin-bottom:var(--space-md);flex:1;grid-template-columns:repeat(3,1fr);display:grid}.season-month-card-stat{text-align:center}.season-month-card-value{color:var(--ocean-deep);font-size:1.05rem;font-weight:700;font-family:var(--font-display);display:block}.season-month-card-label{font-size:var(--text-xs);color:var(--text-medium);margin-top:1px;display:block}.season-month-card-cta{font-size:var(--text-sm);color:var(--sunset-orange);font-weight:600}.season-month-card-cta i{margin-left:var(--space-xs);transition:transform var(--transition)}.season-month-card:hover .season-month-card-cta i{transform:translate(3px)}.season-nav-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.season-nav-card{background:var(--white);border:1px solid var(--sand-warm);border-radius:var(--radius-lg);border-top:3px solid var(--sand-warm);padding:var(--space-md);text-align:center;align-items:center;gap:var(--space-xs);transition:all var(--transition);flex-direction:column;text-decoration:none;display:flex}.season-nav-card:hover{transform:translateY(-2px);box-shadow:0 2px 8px #0000000f}.season-nav-card i{color:var(--text-medium);font-size:1.2rem}.season-nav-card strong{color:var(--ocean-deep);font-size:var(--text-md)}.season-nav-card span{font-size:var(--text-xs);color:var(--text-medium)}.plan-practical-strip{gap:var(--space-lg);margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid var(--sand-warm);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.plan-practical-item{align-items:flex-start;gap:var(--space-md);display:flex}.plan-practical-item>i{color:var(--ocean-deep);flex-shrink:0;margin-top:.15em;font-size:1.2rem}.plan-practical-item strong{margin-bottom:.15em;font-size:.9rem;display:block}.plan-practical-item span{color:var(--text-light);font-size:.85rem;line-height:1.4}.best-time-month-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(250px,1fr));display:grid}.best-time-month-card{background:var(--white);border:1px solid var(--sand-warm);border-radius:var(--radius-xl);padding:var(--space-lg);gap:var(--space-sm);flex-direction:column;display:flex}.best-time-month-header{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.best-time-month-header h3{margin:0;font-size:1.1rem}.best-time-crowd-badge{border-radius:var(--radius-md);white-space:nowrap;padding:.2em .6em;font-size:.75rem;font-weight:600}.best-time-crowd-badge--quiet{color:#166534;background:#dcfce7}.best-time-crowd-badge--moderate{color:#92400e;background:#fef3c7}.best-time-crowd-badge--busy{color:#991b1b;background:#fee2e2}.best-time-value-badge{border-radius:var(--radius-md);white-space:nowrap;padding:.2em .6em;font-size:.75rem;font-weight:600}.best-time-value-badge--great{color:#166534;background:#dcfce7}.best-time-value-badge--good{color:#1e40af;background:#dbeafe}.best-time-value-badge--low{color:#991b1b;background:#fee2e2}.best-time-month-stats{gap:var(--space-xs);text-align:center;padding:var(--space-sm)0;border-top:1px solid var(--sand-warm);border-bottom:1px solid var(--sand-warm);grid-template-columns:repeat(4,1fr);display:grid}.best-time-stat-value{color:var(--ocean-deep);font-size:1.1rem;font-weight:700;display:block}.best-time-stat-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem;display:block}.best-time-month-detail{gap:var(--space-md);color:var(--text-light);font-size:.8rem;display:flex}.best-time-month-link{color:var(--ocean-deep);margin-top:auto;font-size:.85rem;font-weight:600;text-decoration:none}.best-time-month-link:hover{text-decoration:underline}.best-time-month-trips{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.best-time-month-trips-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-light);margin-right:.15rem;font-size:.7rem;font-weight:600}.best-time-trip-badge{border-radius:var(--radius-md);color:var(--ocean-deep);white-space:nowrap;cursor:default;background:#0f2f3d0f;align-items:center;gap:.3em;padding:.25em .55em;font-size:.72rem;font-weight:600;display:inline-flex}.best-time-trip-badge i{font-size:.8em}.plan-preset-note-card ul{color:var(--text-medium);margin:0;padding-left:1.1rem}.plan-preset-note-card li+li{margin-top:var(--space-sm)}.plan-preset-data{gap:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.plan-preset-data-card{background:var(--white);border:1px solid var(--sand-warm);border-radius:var(--radius-xl);padding:var(--space-xl)}.plan-preset-data-card h3{margin:0 0 var(--space-md);color:var(--ocean-deep);font-size:1.1rem}.plan-preset-data-card .plan-preset-chips{margin:0}.plan-preset-data-comparison{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plan-preset-data-comparison li{align-items:baseline;gap:var(--space-md);padding:var(--space-sm)var(--space-md);border-radius:var(--radius-lg);background:#f7f3ec80;display:flex}.plan-preset-data-comparison li>span:first-child{min-width:90px;color:var(--text-medium);font-size:.85rem;font-weight:600}.plan-preset-data-comparison li>strong{color:var(--text-dark);font-size:1rem}.plan-preset-data-note{color:var(--text-light);margin-left:auto;font-size:.82rem}.plan-preset-data-current{border:1px solid #0f2f3d1a;background:#0f2f3d0d!important}.plan-preset-guide-grid{gap:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.plan-preset-guide{background:var(--white);border:1px solid var(--sand-warm);border-radius:var(--radius-xl);padding:var(--space-lg);transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition);flex-direction:column;text-decoration:none;display:flex}.plan-preset-guide-type{text-transform:uppercase;letter-spacing:.05em;color:var(--ocean-light);margin-bottom:var(--space-xs);font-size:.7rem;font-weight:700;display:inline-block}.plan-preset-guide strong{color:var(--ocean-deep);margin-bottom:var(--space-sm);font-size:1.05rem;display:block}.plan-preset-guide-note{color:var(--text-medium);flex:1;font-size:.9rem;line-height:1.45;display:block}.plan-preset-guide-cta{margin-top:var(--space-md);color:var(--ocean-deep);font-size:.85rem;font-weight:600;display:block}.plan-preset-guide-cta i{transition:transform var(--transition);margin-left:.3em;font-size:.75rem}.plan-preset-guide:hover{border-color:#0f2f3d29;transform:translateY(-2px);box-shadow:0 12px 24px #0f2f3d14}.plan-preset-guide:hover .plan-preset-guide-cta i{transform:translate(3px)}.plan-path-card{gap:var(--space-sm)}.plan-path-card h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;display:-webkit-box;overflow:hidden}.plan-path-card-meta{gap:var(--space-xs);min-height:calc((1.2em + .52rem)*2 + var(--space-xs));align-content:flex-start}.plan-path-card-meta .landing-badge{padding:.26rem .52rem;font-size:.76rem}.compare-overview{gap:var(--space-xl);margin-bottom:var(--space-xl);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;display:grid;position:relative}.compare-vs{padding:0 var(--space-xs);justify-content:center;align-items:center;display:flex}.compare-vs span{border-radius:var(--radius-full);width:4rem;height:4rem;color:var(--white);font-family:var(--font-display);background:#0f2f3de0;justify-content:center;align-items:center;font-size:1.35rem;font-weight:700;display:inline-flex;box-shadow:0 16px 30px #0f2f3d29}.compare-muni-card{--compare-accent:#2c8daac7;border:1px solid var(--sand-warm);border-radius:var(--radius-xl);background:linear-gradient(#fffffffa,#faf7f1f2);flex-direction:column;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.compare-muni-card:before{content:"";background:linear-gradient(90deg,var(--compare-accent),#fff0);z-index:2;height:4px;position:absolute;top:0;bottom:auto;left:0;right:0}.compare-muni-card--b{--compare-accent:#e86a33d1}.compare-muni-card:hover{border-color:#0f2f3d29;transform:translateY(-3px);box-shadow:0 16px 40px #0f2f3d14}.compare-muni-image{aspect-ratio:16/10;background:var(--sand-golden);border-bottom:1px solid #d4c5abb8;display:block;position:relative;overflow:hidden}.compare-muni-image:after{content:"";pointer-events:none;background:linear-gradient(#08181f05,#08181f33);position:absolute;top:0;bottom:0;left:0;right:0}.compare-muni-image img{object-fit:cover;width:100%;height:100%}.compare-muni-body{padding:var(--space-xl);gap:var(--space-md);flex-direction:column;flex:1;display:flex}.compare-muni-topline{gap:var(--space-xs);flex-wrap:wrap;align-items:center;display:flex}.compare-muni-area{letter-spacing:.08em;text-transform:uppercase;color:var(--text-light);font-size:.72rem;font-weight:700}.compare-muni-card .landing-card-focus{color:#0f2f3db8}.compare-muni-body h2{color:var(--ocean-deep);margin:0;font-size:1.55rem}.compare-muni-body p{color:var(--text-medium);margin:0;font-size:.96rem;line-height:1.6}.compare-muni-meta{gap:var(--space-xs);flex-wrap:wrap;display:flex}.compare-muni-chip{border-radius:var(--radius-full);color:var(--text-medium);background:#ffffffe0;border:1px solid #d4c5abcc;align-items:center;gap:.42rem;padding:.34rem .68rem;font-size:.78rem;font-weight:600;line-height:1.3;display:inline-flex}.compare-muni-chip i{color:var(--ocean-medium);font-size:.74rem}.compare-muni-stats{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.compare-muni-stat{min-height:5.6rem;padding:var(--space-sm)var(--space-md);border-radius:var(--radius-lg);background:#ffffffeb;border:1px solid #d4c5abcc;flex-direction:column;gap:4px;display:flex}.compare-muni-stat-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-light);font-size:.72rem;font-weight:700}.compare-muni-stat strong{color:var(--ocean-deep);font-size:1rem;line-height:1.3}.compare-muni-stat small{color:var(--text-medium);font-size:.78rem;line-height:1.35}.compare-muni-link.btn{box-shadow:none;border:1px solid #0f2f3d24;align-self:flex-start;margin-top:auto;padding:.75rem 1rem;font-size:.9rem}.compare-muni-link.btn:hover{border-color:#0f2f3d33}.compare-snapshot-grid{gap:var(--space-lg);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.compare-snapshot{gap:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-xl);background:#fffffff5;border:1px solid #d4c5abcc;align-items:flex-start;display:flex;box-shadow:0 10px 24px #0f2f3d0a}.compare-snapshot-icon{border-radius:var(--radius-lg);width:2.85rem;height:2.85rem;color:var(--ocean-deep);background:#2c8daa1a;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.compare-snapshot-copy{flex-direction:column;gap:.35rem;min-width:0;display:flex}.compare-snapshot-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-light);font-size:.72rem;font-weight:700}.compare-snapshot-winner{font-family:var(--font-display);color:var(--ocean-deep);font-size:1.2rem;line-height:1.2}.compare-snapshot p{color:var(--text-medium);margin:0;font-size:.9rem;line-height:1.55}.compare-table-shell{border:1px solid var(--sand-warm);border-radius:var(--radius-xl);padding:var(--space-xl);background:radial-gradient(circle at 100% 0,#7ec3de24,#0000 32%),linear-gradient(#fffffffa,#f8f4eef5);box-shadow:0 16px 36px #0f2f3d0d}.compare-table-intro{max-width:52rem;margin:0 0 var(--space-lg)}.compare-table-intro p{color:var(--text-medium);margin:0;font-size:.96rem;line-height:1.65}.compare-table{background:var(--white);border-radius:calc(var(--radius-xl) - 4px);border:1px solid #d4c5abc7;overflow:hidden}.compare-table-header{padding:var(--space-md)var(--space-lg);border-bottom:1px solid var(--sand-warm);background:#d4c5ab75;grid-template-columns:minmax(180px,.9fr) 1fr 1fr;align-items:stretch;gap:1px;display:grid}.compare-table-header .compare-label-col{letter-spacing:.05em;text-transform:uppercase;color:var(--text-light);align-items:center;font-size:.82rem;font-weight:700;display:flex}.compare-table-header .compare-data-col{border-radius:var(--radius-lg);background:#fffffff5;border:1px solid #e8dfd0e6;flex-direction:column;gap:.2rem;padding:.7rem .85rem;display:flex}.compare-table-header .compare-data-col strong{color:var(--ocean-deep);font-size:1rem}.compare-table-header .compare-data-col span{letter-spacing:.05em;text-transform:uppercase;color:var(--text-light);font-size:.75rem;font-weight:700}.compare-group{background:var(--white);border-bottom:1px solid #d4c5abb3}.compare-group:last-child{border-bottom:none}.compare-group h3{letter-spacing:.08em;text-transform:uppercase;color:var(--ocean-deep);padding:var(--space-sm)var(--space-lg);background:#f7f3eceb;border-top:1px solid #d4c5ab61;border-bottom:1px solid #d4c5ab61;margin:0;font-size:.72rem;font-weight:700}.compare-row{gap:var(--space-md);padding:var(--space-md)var(--space-lg);border-top:1px solid #d4c5ab4d;grid-template-columns:minmax(180px,.9fr) 1fr 1fr;align-items:start;transition:background-color .18s;display:grid}.compare-row:first-of-type{border-top:none}.compare-row:hover{background:#faf7f1ad}.compare-label{color:var(--ocean-deep);font-size:.84rem;font-weight:700;line-height:1.45}.compare-value{color:var(--text-dark);text-align:left;font-size:.92rem;line-height:1.55}.compare-score{color:var(--text-light);font-size:.78rem;font-weight:400}.compare-verdict{justify-content:space-between;align-items:flex-end;gap:var(--space-2xl);background:radial-gradient(circle at top right,#7ec3de1f,transparent 40%),linear-gradient(135deg,var(--ocean-deep),#0a2a38);color:var(--white);border-radius:var(--radius-xl);padding:var(--space-2xl)var(--space-3xl);display:flex;box-shadow:0 16px 36px #0f2f3d1f}.compare-verdict-copy{max-width:52rem}.compare-verdict-list{margin:var(--space-md)0 0 0;gap:var(--space-sm);flex-direction:column;padding:0;list-style:none;display:flex}.compare-verdict-list li{line-height:1.6}.compare-verdict-icon{color:var(--sand-warm);margin-right:.4em}.compare-verdict-kicker{border-radius:var(--radius-full);letter-spacing:.08em;text-transform:uppercase;color:#ffffffdb;margin-bottom:var(--space-md);background:#ffffff1f;border:1px solid #ffffff2e;align-items:center;padding:.32rem .7rem;font-size:.74rem;font-weight:700;display:inline-flex}.compare-verdict h2{color:var(--white);margin-bottom:var(--space-md);font-size:1.4rem}.compare-verdict p{color:#ffffffeb;margin:0;font-size:1.05rem;line-height:1.7}.compare-verdict-actions{gap:var(--space-sm);flex-wrap:wrap;justify-content:flex-end;display:flex}.compare-verdict .btn-secondary{box-shadow:none}.compare-path-card{background:radial-gradient(circle at 100% 0,#7ec3de1f,#0000 32%),linear-gradient(#fffffffa,#faf7f1f0);position:relative;overflow:hidden}.compare-path-card:before{content:"";background:linear-gradient(90deg,#2c8daae6,#e86a33db);height:3px;position:absolute;top:0;bottom:auto;left:0;right:0}.compare-path-card:hover{background:radial-gradient(circle at 100% 0,#7ec3de29,#0000 36%),linear-gradient(#fffffffc,#f8f4eef5);border-color:#0f2f3d29}.compare-path-card .landing-card-focus{color:#0f2f3db8}.compare-path-card .landing-card-tagline{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.compare-path-card .landing-card-cta{color:var(--ocean-medium)}.beach-discovery-section{padding-top:var(--space-xl)}.discovery-filter-bar{gap:var(--space-lg);border:1px solid var(--sand-warm);border-radius:var(--radius-xl);padding:var(--space-xl)var(--space-2xl)var(--space-xl);margin-bottom:var(--space-xl);background:radial-gradient(circle at 100% 0,#7ec3de2e,#0000 28%),linear-gradient(#fffffffa 0%,#f8f4eef5 100%);flex-direction:column;display:flex;box-shadow:0 12px 32px #0f2f3d0f}.discovery-filter-intro{max-width:46rem}.discovery-filter-intro h2{margin:0 0 var(--space-xs);font-size:1.5rem}.discovery-filter-intro p{color:var(--text-medium);margin:0;font-size:.95rem;line-height:1.55}.discovery-filter-row{gap:var(--space-lg);flex-wrap:wrap;display:flex}.discovery-filter-row--types{padding:var(--space-lg);border-radius:var(--radius-lg);background:#ffffffb8;border:1px solid #d4c5abe6}.discovery-filter-row--controls{align-items:flex-start;gap:var(--space-lg)var(--space-xl);padding:var(--space-lg);border-radius:var(--radius-lg);background:#ffffff8c;border:1px solid #d4c5abb3}.discovery-filter-row--controls .discovery-filter-group{flex:13.5rem}[data-beach-discovery] .discovery-filter-row--controls .discovery-filter-group{flex-basis:16rem}.discovery-filter-group{align-content:start;gap:var(--space-xs);grid-template-rows:auto minmax(42px,auto) auto;min-width:0;display:grid}.discovery-filter-group--hero{width:100%}.discovery-filter-group--toggle{min-width:15rem}.discovery-filter-group--chips .discovery-filter-chips{align-items:center;min-height:42px}.discovery-filter-heading{flex-direction:column;gap:2px;display:flex}.discovery-filter-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--terracotta);font-size:.72rem;font-weight:700}.discovery-filter-label{color:var(--text-dark);white-space:nowrap;font-size:.875rem;font-weight:600}.discovery-filter-help{color:var(--text-light);min-height:2.4em;margin:0;font-size:.8rem;line-height:1.45}.discovery-filter-chips{gap:var(--space-xs);flex-wrap:wrap;display:flex}.beach-chip{-webkit-appearance:none;appearance:none;border:1px solid var(--sand-golden);border-radius:var(--radius-full);color:var(--text-medium);font:inherit;cursor:pointer;transition:var(--transition);white-space:nowrap;background:#fffffff0;padding:10px 16px;font-size:.875rem;font-weight:600;line-height:1}.beach-chip:hover{border-color:var(--ocean-light);color:var(--ocean-deep);background:#e8f3f8f2;transform:translateY(-1px)}.beach-chip--active{background:linear-gradient(135deg,var(--ocean-deep),var(--ocean-medium));border-color:var(--ocean-deep);color:var(--white);box-shadow:0 8px 18px #0f2f3d24}.beach-chip--active:hover{background:var(--ocean-medium);border-color:var(--ocean-medium);color:var(--white)}.discovery-filter-select{-webkit-appearance:none;appearance:none;border:1px solid var(--sand-golden);border-radius:var(--radius-lg);min-height:42px;color:var(--text-dark);padding:0 var(--space-2xl)0 var(--space-md);font:inherit;cursor:pointer;background:#fffffff0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238a847a' stroke-width='1.5'/%3E%3C/svg%3E") right 12px center no-repeat;font-size:.875rem;line-height:1.2}.discovery-filter-select:focus{border-color:var(--ocean-light);outline:2px solid #2c8daa40}.beach-toggle-label{align-items:center;gap:var(--space-sm);cursor:pointer;width:100%;min-height:42px;padding:0 var(--space-md);border:1px solid var(--sand-golden);border-radius:var(--radius-lg);color:var(--text-medium);white-space:nowrap;transition:var(--transition);background:#fffffff0;font-size:.875rem;font-weight:500;display:flex}.beach-toggle-label:hover{border-color:var(--ocean-light);background:#e8f3f8eb}.beach-toggle-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--blue-flag);cursor:pointer}.beach-toggle-text{align-items:center;gap:var(--space-sm);grid-template-columns:auto minmax(0,1fr);min-width:0;display:inline-grid}.beach-toggle-text span:last-child{white-space:normal;line-height:1.35}.beach-toggle-badge{border-radius:var(--radius-full);min-height:22px;color:var(--blue-flag);background:#0077be1f;justify-content:center;align-items:center;padding:0 10px;font-size:.75rem;font-weight:700;display:inline-flex}.discovery-filter-summary{justify-content:space-between;align-items:center;gap:var(--space-lg);padding:var(--space-md)var(--space-lg);border-radius:var(--radius-lg);background:#ffffff8c;border-top:1px solid #d4c5abcc;display:flex}.discovery-filter-summary--idle{background:#ffffff61}.discovery-filter-summary--idle .discovery-filter-active{display:none}.discovery-filter-summary-copy{gap:var(--space-sm);flex-direction:column;min-width:0;display:flex}.discovery-filter-active{gap:var(--space-xs);flex-wrap:wrap;display:flex}.discovery-filter-pill{border-radius:var(--radius-full);color:var(--ocean-deep);font:inherit;cursor:pointer;transition:var(--transition);background:#ffffffeb;border:1px solid #0f2f3d24;align-items:center;gap:8px;padding:7px 12px;font-size:.8rem;font-weight:600;line-height:1;display:inline-flex}.discovery-filter-pill:hover{border-color:var(--ocean-light);background:#e8f3f8f5}.discovery-filter-pill:after{content:"x";color:var(--text-light);font-size:.78rem}.discovery-filter-reset{flex-shrink:0}.discovery-filter-reset .btn{min-height:42px;color:var(--ocean-deep);background:var(--white);border-color:#0f2f3d2e;align-items:center;display:inline-flex}.discovery-filter-reset .btn:hover{background:var(--ocean-deep);color:var(--white);border-color:var(--ocean-deep)}.discovery-filter-status{color:var(--text-dark);margin:0;font-size:.92rem;font-weight:600}.listing-card--beach-discovery{transition:border-color .18s,background-color .18s;position:relative}.listing-card--beach-discovery .listing-card-image{background:linear-gradient(180deg,#08181f0a,#08181f1f),var(--sand-golden)}.listing-card-placeholder--discovery{padding:var(--space-md)}.listing-card-placeholder--discovery .listing-card-placeholder-inner{max-width:72%}.listing-card--beach-discovery:hover{background:var(--directory-card-surface-hover);border-color:#2c8daa59}.rank-badge{top:var(--space-sm);right:var(--space-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:2.3rem;min-height:2.3rem;color:var(--white);letter-spacing:.02em;z-index:2;background:#0f2f3dd1;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:.78rem;font-weight:700;display:none;position:absolute}.rank-badge:not([hidden]){display:inline-flex}.listing-card-type{color:var(--ocean-deep);background:#0f2f3d14}.listing-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);display:flex}.listing-card-header-copy{flex:1;min-width:0}.listing-card-header h3{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;min-height:2.6em;margin-bottom:0;display:-webkit-box;overflow:hidden}.listing-card-tagline{margin:var(--space-xs)0 0}.listing-card-meta--discovery{margin-top:0;padding-top:0}.listing-card-score{text-align:center;border-radius:var(--radius-lg);background:linear-gradient(#e8f3f8eb,#f3f8faf5);border:1px solid #2c8daa2e;flex-shrink:0;min-width:88px;padding:10px 12px;line-height:1}.listing-card-score-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-light);margin-bottom:4px;font-size:.62rem;font-weight:700;display:block}.listing-card-score-value{font-family:var(--font-display);color:var(--ocean-deep);font-size:1.6rem;font-weight:700;display:block}.listing-card-score-tier{color:var(--text-light);margin-top:4px;font-size:.7rem;display:block}.listing-card-crowding{font-weight:600}.listing-card-crowding[data-level=quiet]{color:var(--pine-green);background:#4a7c591f}.listing-card-crowding[data-level=moderate]{color:#8a6d1b;background:#d4a84326}.listing-card-crowding[data-level=busy]{color:#9a5a1e;background:#f4a2612e}.listing-card-crowding[data-level=very-busy]{color:var(--terracotta);background:#e86a3326}.listing-card-crowding[data-level=packed]{color:var(--terracotta);background:#c45d3526}.listing-card-criteria{flex-wrap:wrap;align-content:flex-start;gap:.5rem;min-height:calc(56px + .5rem);padding-top:0;display:flex}.listing-card-criteria .listing-card-tag{border-radius:var(--radius-full);background:#ffffffeb;border:1px solid #d4c5abe6;min-height:28px;padding:0 10px;font-size:.76rem;font-weight:600;line-height:1.2}.listing-card-criteria .listing-card-tag i{opacity:.78;font-size:.72rem}.listing-card-discovery{padding:var(--space-sm);border-radius:var(--radius-lg);background:linear-gradient(#faf7f1f5,#f7f3ecd1);border:1px solid #d4c5abb8;margin-top:auto}.listing-card-discovery-title{margin-bottom:var(--space-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-light);font-size:.72rem;font-weight:700}.listing-card-wind{font-weight:600}.listing-card-wind[data-level=calm]{color:var(--pine-green);background:#4a7c591f}.listing-card-wind[data-level=moderate]{color:#8a6d1b;background:#d4a84326}.listing-card-wind[data-level=breezy]{color:#9a5a1e;background:#f4a2612e}.listing-card-wind[data-level=windy]{color:var(--terracotta);background:#e86a3326}.listing-card-reason{color:var(--ocean-deep);background:#e8f3f8eb;border-color:#2c8daa29}.listing-card-reason--primary{color:var(--ocean-deep);background:#2c8daa1f;border-color:#2c8daa3d;font-weight:700}.beach-discovery-empty{text-align:center;padding:var(--space-2xl);background:var(--white);border:1px dashed var(--sand-golden);border-radius:var(--radius-xl);grid-column:1/-1}.beach-discovery-empty p{color:var(--text-light);margin:0}[data-beach-results] [hidden],[data-beach-reset][hidden],[data-golf-results] [hidden],[data-golf-reset][hidden],[data-mun-results] [hidden],[data-mun-reset][hidden]{display:none}.region-municipality-card--discovery{flex-direction:column;text-decoration:none;transition:border-color .18s,box-shadow .18s;display:flex}.region-municipality-card--discovery:hover{border-color:#0f2f3d29;box-shadow:0 2px 8px #0f2f3d0f}.region-municipality-card--discovery .region-municipality-image{position:relative}.mun-card-topline{gap:var(--space-xs);margin-bottom:var(--space-xs);align-items:center;display:flex}.mun-card-region{text-transform:uppercase;letter-spacing:.06em;color:var(--text-light);font-size:.72rem;font-weight:600}.mun-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.mun-card-header-copy{flex:1;min-width:0}.mun-card-header-copy h3{min-height:2.4em;line-height:1.2}.mun-card-header-copy .landing-card-tagline{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;display:-webkit-box;overflow:hidden}.mun-card-score{text-align:right;width:7.5rem;padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-lg);background:linear-gradient(#faf7f1f5,#f7f3ecd1);border:1px solid #d4c5abb8;flex-shrink:0}.mun-card-score-label{text-transform:uppercase;letter-spacing:.06em;min-height:2.3em;color:var(--text-light);white-space:normal;margin-bottom:2px;font-size:.68rem;font-weight:600;display:block}.mun-card-score-value{font-family:var(--font-display);color:var(--ocean-deep);font-size:1.6rem;font-weight:700;line-height:1;display:block}.mun-card-score-tier{color:var(--terracotta);font-size:.72rem;font-weight:600;display:block}.mun-card-seasonal{margin-top:var(--space-sm);flex-wrap:wrap;gap:6px;display:flex}.mun-card-tag{border-radius:var(--radius-full);color:var(--text-dark);background:#faf7f1cc;border:1px solid #d4c5ab80;align-items:center;gap:4px;padding:3px 10px;font-size:.78rem;font-weight:600;line-height:1.4;display:inline-flex}.mun-card-crowd[data-level=very-quiet],.mun-card-crowd[data-level=quiet]{color:#1a6340;background:#d2eddce6;border-color:#2e8b5733}.mun-card-crowd[data-level=moderate]{color:#8a6d00;background:#fcf1d8e6;border-color:#c903}.mun-card-crowd[data-level=busy]{color:#993d00;background:#ffe4d7e6;border-color:#c503}.mun-card-crowd[data-level=very-busy]{color:#933;background:#ffd7d2e6;border-color:#c333}.mun-card-budget[data-level=budget],.mun-card-budget[data-level=value]{color:#1a6340;background:#d2eddce6;border-color:#2e8b5733}.mun-card-budget[data-level=moderate]{color:#8a6d00;background:#fcf1d8e6;border-color:#c903}.mun-card-budget[data-level=expensive],.mun-card-budget[data-level=premium]{color:#993d00;background:#ffe4d7e6;border-color:#c503}.mun-card-price{color:var(--text-light);background:0 0;border-color:#0000;padding-left:2px;font-weight:500}.mun-card-reasons{margin-top:var(--space-xs);flex-wrap:wrap;gap:6px;display:flex}.mun-card-reason{color:var(--ocean-deep);background:#e8f3f8eb;border-color:#2c8daa29}.section-header--compact{margin-bottom:var(--space-md)}.section-header--compact h3{margin:0 0 var(--space-xs);font-size:1.2rem}.section-header--compact p{color:var(--text-medium);margin:0;font-size:.92rem}.gastro-intro-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));max-width:900px;margin:0 auto;display:grid}.gastro-intro-card{background:var(--white);border:1px solid var(--sand-warm);border-radius:var(--radius-xl);padding:var(--space-lg);text-align:center}.gastro-intro-card>i{color:var(--ocean-deep);margin-bottom:var(--space-sm);font-size:1.5rem}.gastro-intro-card h3{margin-bottom:var(--space-xs);font-size:1rem}.gastro-intro-card p{color:var(--text-light);margin:0;font-size:.85rem;line-height:1.4}.gastro-dish-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.gastro-dish-card{background:var(--white);border:1px solid var(--sand-warm);border-radius:var(--radius-xl);padding:var(--space-lg);gap:var(--space-md);align-items:stretch;display:flex}.gastro-dish-icon{width:44px;height:44px;color:var(--ocean-deep);background:#0f2f3d0f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.gastro-dish-content{flex-direction:column;flex:1;min-height:0;display:flex}.gastro-dish-content h3{margin-bottom:.25rem;font-size:1rem}.gastro-dish-content p{color:var(--text-light);margin:0 0 .5rem;font-size:.85rem;line-height:1.4}.gastro-dish-note{color:var(--text-light);align-items:center;gap:.3rem;margin-top:auto;font-size:.78rem;display:flex}.gastro-dish-note a{color:var(--ocean-deep)}.gastro-season-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.gastro-season-card{background:var(--white);border:1px solid var(--sand-warm);border-radius:var(--radius-xl);padding:var(--space-lg);border-top:3px solid var(--sand-warm)}.gastro-season-card--spring{border-top-color:#84cc16}.gastro-season-card--summer{border-top-color:#f59e0b}.gastro-season-card--autumn{border-top-color:#f97316}.gastro-season-card--winter{border-top-color:#60a5fa}.gastro-season-header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);color:var(--ocean-deep);display:flex}.gastro-season-header h3{margin:0;font-size:1rem}.gastro-season-header span{color:var(--text-light);font-size:.85rem;font-weight:400}.gastro-season-card ul{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.gastro-season-card li{padding-left:1.2em;font-size:.85rem;line-height:1.4;position:relative}.gastro-season-card li:before{content:"·";color:var(--text-light);font-weight:700;position:absolute;left:0}.gastro-season-card a{color:var(--ocean-deep)}.gastro-tips-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.gastro-tip-card{align-items:flex-start;gap:var(--space-md);display:flex}.gastro-tip-card>i{color:var(--ocean-deep);flex-shrink:0;margin-top:.15em;font-size:1.2rem}.gastro-tip-card strong{margin-bottom:.15em;font-size:.9rem;display:block}.gastro-tip-card span{color:var(--text-light);font-size:.85rem;line-height:1.4}.gastro-tip-card a{color:var(--ocean-deep)}.booking-cal-stats{grid-template-columns:repeat(2,1fr)}.booking-cal-tip{color:var(--text-medium);margin:0;font-size:.85rem}.booking-cal-tip i{color:var(--ocean-medium);margin-right:var(--space-2xs)}.booking-cal-urgency{font-weight:700}.booking-cal-urgency--quiet{color:#166534}.booking-cal-urgency--moderate{color:#92400e}.booking-cal-urgency--busy{color:#991b1b}.booking-cal-callouts{gap:var(--space-lg);margin-top:var(--space-2xl);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.booking-cal-callout{gap:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-xl);align-items:flex-start;display:flex}.booking-cal-callout>i{flex-shrink:0;margin-top:2px;font-size:1.2rem}.booking-cal-callout strong{margin-bottom:var(--space-2xs);font-size:.95rem;display:block}.booking-cal-callout p{font-size:var(--text-sm);color:var(--text-medium);margin:0;line-height:1.45}.booking-cal-callout--value{background:#dcfce7;border:1px solid #16653426}.booking-cal-callout--value>i{color:#166534}.booking-cal-callout--peak{background:#fee2e2;border:1px solid #991b1b26}.booking-cal-callout--peak>i{color:#991b1b}.booking-cal-callout--sweet{background:#e0f2fe;border:1px solid #2c8daa26}.booking-cal-callout--sweet>i{color:var(--ocean-deep)}.stays-fit-subheading{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;color:var(--text-light);margin-top:var(--space-2xl);margin-bottom:var(--space-lg);font-size:1.05rem;font-weight:700}.stays-fit-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.stays-fit-card{align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--white);border:1px solid var(--sand-warm);border-radius:var(--radius-xl);color:inherit;text-decoration:none;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex}.stays-fit-card:hover{border-color:#2c8daa59;transform:translateY(-1px);box-shadow:0 2px 8px #2c8daa1a}.stays-fit-icon{border-radius:var(--radius-lg);width:44px;height:44px;color:var(--ocean-deep);background:#2c8daa14;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.stays-fit-body{flex:1;min-width:0}.stays-fit-body h4{margin:0 0 var(--space-2xs);color:var(--ocean-deep);font-size:1rem;font-weight:700}.stays-fit-body p{margin:0 0 var(--space-xs);color:var(--text-medium);font-size:.85rem;line-height:1.4}.stays-fit-munis{color:var(--text-light);font-size:.78rem;font-weight:600}.stays-fit-arrow{color:var(--ocean-medium);opacity:.4;flex-shrink:0;transition:opacity .18s,transform .18s}.stays-fit-card:hover .stays-fit-arrow{opacity:1;transform:translate(2px)}.stays-accomm-grid{gap:var(--space-md);grid-template-columns:repeat(3,1fr);display:grid}.stays-accomm-card{gap:var(--space-xs);padding:var(--space-lg);background:var(--white);border:1px solid var(--sand-warm);border-radius:var(--radius-xl);flex-direction:column;display:flex}.stays-accomm-header{align-items:center;gap:var(--space-sm);display:flex}.stays-accomm-header i{color:var(--ocean-medium);font-size:1rem}.stays-accomm-header h4{margin:0;font-size:.95rem;font-weight:700}.stays-accomm-card>p{color:var(--text-medium);flex:1;margin:0;font-size:.82rem;line-height:1.45}.stays-accomm-tags{flex-wrap:wrap;gap:4px;display:flex}.stays-accomm-tag{border-radius:var(--radius-full);color:var(--ocean-deep);white-space:nowrap;background:#0f2f3d0f;padding:2px 8px;font-size:.7rem;font-weight:600}.stays-accomm-price-row{margin-top:auto}a.stays-accomm-card--link{color:inherit;text-decoration:none;transition:border-color .2s,box-shadow .2s;position:relative}a.stays-accomm-card--link:hover{border-color:var(--ocean-medium);box-shadow:0 2px 8px #00000014}a.stays-accomm-card--link:hover .stays-accomm-arrow{opacity:1;color:var(--ocean-medium)}.stays-accomm-arrow{top:var(--space-md);right:var(--space-md);opacity:0;color:var(--ocean-deep);font-size:.8rem;transition:opacity .2s;position:absolute}.page-header-stay-type,.page-header-stay-local{background-color:var(--ocean-deep)}a.stay-type-link{justify-content:space-between;align-items:center;display:flex}.stay-type-region-group+.stay-type-region-group{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--sand-warm)}.stay-type-region-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-light);margin:0 0 var(--space-xs);font-size:.72rem;font-weight:700}.stay-type-region-links{flex-wrap:wrap;gap:6px;display:flex}.stay-type-region-links a{color:var(--ocean-deep);border-radius:var(--radius-full);background:#0f2f3d0f;padding:3px 10px;font-size:.78rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:inline-block}.stay-type-region-links a:hover{background:var(--ocean-deep);color:var(--white)}.featured-hotel-block+.featured-hotel-block{margin-top:var(--space-2xl);padding-top:var(--space-2xl);border-top:1px solid var(--sand-warm)}.featured-hotel-thumb{float:right;object-fit:cover;width:200px;height:200px;margin:0 0 var(--space-sm)var(--space-lg);cursor:pointer;border-radius:8px}.featured-hotel-carousel{float:right;width:200px;margin:0 0 var(--space-sm)var(--space-lg);position:relative}.carousel-track{scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:8px;display:flex;overflow-x:auto}.carousel-track::-webkit-scrollbar{display:none}.carousel-slide{object-fit:cover;scroll-snap-align:start;cursor:pointer;flex:0 0 100%;width:100%;height:200px}.carousel-dots{justify-content:center;gap:6px;margin-top:6px;display:flex}.carousel-dot{background:var(--sand-warm,#ccc);cursor:pointer;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background .2s}.carousel-dot.active{background:var(--primary,#2a6496)}.hotel-lightbox{z-index:9999;background:#000000eb;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.lightbox-close{color:#fff;cursor:pointer;z-index:1;opacity:.8;background:0 0;border:none;font-size:2.5rem;line-height:1;position:absolute;top:1rem;right:1.5rem}.lightbox-close:hover{opacity:1}.lightbox-img-wrap{pointer-events:none;max-width:90vw;max-height:80vh}.lightbox-img{object-fit:contain;pointer-events:auto;border-radius:6px;max-width:90vw;max-height:80vh;display:block}.lightbox-arrow{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:2.5rem;line-height:1;transition:background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-arrow:hover{background:#ffffff4d}.lightbox-dots{justify-content:center;gap:8px;margin-top:1rem;display:flex}.lightbox-dots .carousel-dot{background:#fff6;width:10px;height:10px}.lightbox-dots .carousel-dot.active{background:#fff}.featured-hotel-meta{font-size:var(--text-sm);color:var(--text-medium);margin-top:var(--space-xs);font-style:italic}.featured-hotel-affiliate{margin-top:var(--space-sm)}.featured-hotel-affiliate-label{font-size:var(--text-sm);color:var(--text-medium);margin-bottom:var(--space-xs);font-style:italic;display:block}.featured-hotel-affiliate [data-href]{font-size:var(--text-base);color:#fff;cursor:pointer;margin-right:var(--space-sm);background:#e67e22;border-radius:8px;padding:.6em 1.4em;font-weight:700;text-decoration:none;transition:background .15s;display:inline-block}.featured-hotel-affiliate [data-href]:hover{background:#d35400}.featured-hotel-affiliate [data-href].cta-expedia,.beach-stay-cta.cta-expedia,.village-affiliate-cta.cta-expedia{color:#111;background:#ffcb00}.featured-hotel-affiliate [data-href].cta-expedia:hover,.beach-stay-cta.cta-expedia:hover,.village-affiliate-cta.cta-expedia:hover{background:#e6b800}.featured-hotel-affiliate [data-href].cta-booking,.beach-stay-cta.cta-booking,.village-affiliate-cta.cta-booking{color:#fff;background:#003580}.featured-hotel-affiliate [data-href].cta-booking:hover,.beach-stay-cta.cta-booking:hover,.village-affiliate-cta.cta-booking:hover{background:#002a66}.featured-hotel-links{font-size:var(--text-sm);margin-top:var(--space-xs)}.featured-hotel-links [data-href]{cursor:pointer;color:var(--primary);font-weight:600}.featured-hotel-links [data-href]:hover{text-decoration:underline}.featured-hotels-compact{border:1px solid var(--sand-warm);border-radius:var(--radius-lg,12px);background:var(--sand-light,#faf8f4);padding:var(--space-lg);margin:var(--space-lg)0}.featured-hotels-compact .featured-hotel-block h4{font-size:var(--text-base);margin:0}.featured-hotels-compact .featured-hotel-block+.featured-hotel-block{margin-top:var(--space-lg);padding-top:var(--space-lg)}.featured-hotels-compact .featured-hotel-thumb{width:140px;height:140px}.featured-hotels-compact .featured-hotel-carousel{width:140px}.featured-hotels-compact .carousel-slide{height:140px}.featured-hotels-compact .featured-hotel-meta{margin-top:2px;font-size:.8rem}.featured-hotels-compact .featured-hotel-block p:not(.featured-hotel-meta):not(.featured-hotel-affiliate):not(.featured-hotel-links){font-size:var(--text-sm);-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.featured-hotels-compact .featured-hotel-affiliate{margin-top:var(--space-xs)}.featured-hotels-compact .featured-hotel-affiliate [data-href]{font-size:var(--text-sm);padding:.4em 1em}.featured-hotels-compact .featured-hotel-links{font-size:.78rem}.info-transport-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.info-transport-card{column-gap:var(--space-md);padding:var(--space-lg);background:var(--white);border:1px solid var(--sand-warm);border-radius:var(--radius-xl);grid-template-rows:auto 1fr;grid-template-columns:44px 1fr;row-gap:0;display:grid}.info-transport-icon{border-radius:var(--radius-lg);width:44px;height:44px;color:var(--ocean-deep);background:#2c8daa14;grid-row:1/-1;justify-content:center;align-self:start;align-items:center;font-size:1.1rem;display:flex}.info-transport-card h3{margin:0 0 var(--space-2xs);align-self:end;font-size:1rem;font-weight:700}.info-transport-card p{color:var(--text-medium);margin:0;font-size:.85rem;line-height:1.45}.info-car-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.info-car-group{background:var(--white);border:1px solid var(--sand-warm);border-radius:var(--radius-xl);padding:var(--space-lg)}.info-car-group-label{align-items:center;gap:var(--space-sm);margin:0 0 var(--space-xs);font-size:.95rem;font-weight:700;display:flex}.info-car-group-label i{font-size:.9rem}.info-car-group-label--optional,.info-car-group-label--optional i{color:#166534}.info-car-group-label--recommended,.info-car-group-label--recommended i{color:#92400e}.info-car-group-label--essential,.info-car-group-label--essential i{color:#991b1b}.info-car-group-desc{color:var(--text-medium);margin:0 0 var(--space-md);font-size:.82rem;line-height:1.45}.info-car-munis{flex-direction:column;gap:4px;display:flex}.info-car-muni{padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-md);color:inherit;justify-content:space-between;align-items:center;text-decoration:none;transition:background .15s;display:flex}.info-car-muni:hover{background:#2c8daa0f}.info-car-muni-name{color:var(--ocean-deep);font-size:.85rem;font-weight:600}.info-car-muni-time{color:var(--text-light);white-space:nowrap;font-size:.78rem}.info-quickfacts-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.info-quickfact{align-items:baseline;gap:var(--space-sm);color:var(--text-medium);padding:var(--space-sm)0;border-bottom:1px solid #d4c5ab66;font-size:.85rem;line-height:1.5;display:flex}.info-quickfact i{color:var(--ocean-medium);text-align:center;flex-shrink:0;width:1em}.info-quickfact strong{color:var(--text-dark)}.info-quickref{gap:var(--space-xl);grid-template-columns:repeat(3,1fr);display:grid}.info-quickref-col{flex-direction:column;gap:0;display:flex}.info-quickref-item{align-items:baseline;gap:var(--space-sm);padding:var(--space-md)0;border-bottom:1px solid var(--sand-warm);color:var(--text-medium);font-size:.85rem;line-height:1.5;display:flex}.info-quickref-item:last-child{border-bottom:none}.info-quickref-item>i{color:var(--ocean-medium);text-align:center;flex-shrink:0;width:1.1em;margin-top:2px}.info-quickref-item strong{color:var(--text-dark)}.cost-card{background:var(--white);border:1px solid var(--sand-warm);border-radius:var(--radius-lg);padding:var(--space-lg);margin-top:var(--space-lg)}.cost-card-header{margin-bottom:var(--space-md)}.cost-card-header h3{font-family:var(--font-display);color:var(--text-dark);margin:0 0 4px;font-size:1.25rem}.cost-card-meta{font-size:var(--text-sm);color:var(--text-medium);display:block}.cost-card-tier{font-size:var(--text-xs);color:var(--text-muted);margin-left:var(--space-sm);display:inline-block}.cost-card-lines{gap:var(--space-sm);padding-bottom:var(--space-md);border-bottom:2px solid var(--sand-warm);flex-direction:column;display:flex}.cost-line{justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding:var(--space-xs)0;border-bottom:1px solid #0000000a;display:flex}.cost-line:last-child{border-bottom:none}.cost-line-info{flex-direction:column;gap:2px;min-width:0;display:flex}.cost-line-label{font-size:var(--text-sm);color:var(--text-dark);font-weight:600}.cost-line-label i{color:var(--text-muted);text-align:center;width:1em;margin-right:4px}.cost-line-calc{font-size:var(--text-xs);color:var(--text-muted)}.cost-line-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.cost-line-total{font-size:var(--text-base);color:var(--text-dark);font-weight:700}.cost-line-cta{font-size:var(--text-xs);color:var(--ocean-deep);cursor:pointer;white-space:nowrap}.cost-line-cta:hover{text-decoration:underline}.cost-line-cta i{margin-left:2px}.cost-card-total{padding:var(--space-md)0 var(--space-sm);justify-content:space-between;align-items:baseline;display:flex}.cost-card-total-label{font-size:var(--text-base);color:var(--text-dark);font-weight:600}.cost-card-total-value{font-family:var(--font-display);color:var(--ocean-deep);font-size:1.6rem;font-weight:700}.cost-card-note{font-size:var(--text-xs);color:var(--text-muted);text-align:center;margin:var(--space-xs)0 0}.group-planner-how{margin-bottom:var(--space-xl)}.group-planner-how h2{margin-bottom:var(--space-md)}.group-planner-steps{gap:var(--space-lg);margin-bottom:var(--space-xl);grid-template-columns:repeat(3,1fr);display:grid}.group-planner-step{padding-left:3rem;position:relative}.group-planner-step-number{background:var(--ocean-deep);width:2rem;height:2rem;color:var(--white);font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex;position:absolute;top:0;left:0}.group-planner-step h3{font-size:var(--text-base);margin:0 0 var(--space-xs);color:var(--text-dark)}.prose .group-planner-step h3{margin-top:0}.group-planner-step p{font-size:var(--text-sm);color:var(--text-medium);margin:0}.group-planner-scenarios{background:var(--sand-warm);border-radius:var(--radius-lg);padding:var(--space-lg)}.group-planner-scenarios h3{font-size:var(--text-base);margin:0 0 var(--space-sm);color:var(--text-dark)}.group-planner-scenarios ul{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.group-planner-scenarios li{font-size:var(--text-sm);color:var(--text-medium);line-height:1.5}.group-planner-scenarios a{color:var(--ocean-deep);text-decoration:none}.group-planner-scenarios a:hover{text-decoration:underline}.group-planner-cta-line{font-size:var(--text-sm);color:var(--text-medium);margin-top:var(--space-lg)}.group-planner-cta-line a{color:var(--ocean-deep);font-weight:600;text-decoration:none}.group-planner-cta-line a:hover{text-decoration:underline}.group-planner-profiles{gap:var(--space-md);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.group-profile{background:var(--white);border:1px solid var(--sand-warm);border-radius:var(--radius-xl);padding:var(--space-sm)var(--space-md);align-items:center;gap:var(--space-sm);flex:220px;max-width:320px;transition:border-color .18s;display:flex}.group-profile:hover{border-color:#2c8daa3d}.group-profile-label{font-size:var(--text-sm);white-space:nowrap;color:var(--text-dark);font-weight:600}.group-profile-label i{color:var(--ocean-medium);margin-right:4px}.group-profile-select{font-size:var(--text-sm);border:1px solid var(--sand-warm);border-radius:var(--radius-md);background:var(--white);color:var(--text-dark);flex:1;padding:4px 8px}.group-profile-remove{color:var(--text-muted);cursor:pointer;font-size:var(--text-sm);background:0 0;border:none;padding:4px;line-height:1}.group-profile-remove:hover{color:var(--sunset-orange)}.group-planner-add{align-items:center;gap:var(--space-xs);padding:var(--space-sm)var(--space-md);font-size:var(--text-sm);color:var(--ocean-deep);border:1px dashed var(--ocean-light);border-radius:var(--radius-xl);cursor:pointer;background:0 0;font-weight:600;transition:background .18s,border-color .18s;display:inline-flex}.group-planner-add:hover{border-color:var(--ocean-medium);background:#2c8daa0f}.group-planner-summary{margin-bottom:var(--space-lg)}.group-summary-text{font-size:var(--text-base);color:var(--text-dark)}.group-planner-grid{gap:var(--space-lg);grid-template-columns:repeat(2,1fr);display:grid}.group-result-card{background:var(--white);border:1px solid var(--sand-warm);border-radius:var(--radius-lg);padding:var(--space-lg);transition:opacity .18s}.group-result-card--weak{opacity:.55}.group-result-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.group-result-info{flex:1;min-width:0}.group-result-area{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.72rem;font-weight:600}.group-result-name{font-family:var(--font-display);color:var(--text-dark);margin:2px 0 4px;font-size:1.25rem}.group-result-tagline{font-size:var(--text-sm);color:var(--text-medium);margin:0}.group-result-score{text-align:center;flex-shrink:0;width:4.5rem}.group-result-score-value{font-family:var(--font-display);color:var(--ocean-deep);font-size:1.6rem;line-height:1;display:block}.group-result-score-tier{color:var(--text-muted);margin-top:2px;font-size:.72rem;display:block}.group-member-bars{margin-bottom:var(--space-md);flex-direction:column;gap:6px;display:flex}.group-bar-row{align-items:center;gap:var(--space-sm);display:flex}.group-bar-label{font-size:var(--text-sm);color:var(--text-dark);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;width:90px;overflow:hidden}.group-bar-label i{color:var(--text-muted);text-align:center;width:1em;margin-right:4px}.group-bar-track{background:var(--sand-warm);border-radius:99px;flex:1;height:8px;overflow:hidden}.group-bar-fill{border-radius:99px;height:100%;transition:width .3s;display:block}.group-bar-fill[data-trip=beach]{background:#3a9fbf}.group-bar-fill[data-trip=family]{background:#e8964b}.group-bar-fill[data-trip=food]{background:#b5563c}.group-bar-fill[data-trip=nightlife]{background:#8b5cf6}.group-bar-fill[data-trip=golf]{background:#4a7c59}.group-bar-fill[data-trip=quiet]{background:#6b8f71}.group-bar-fill[data-trip=culture]{background:#a0845c}.group-bar-fill[data-trip=first-timer]{background:var(--ocean-bright,#3a9fbf)}.group-bar-score{font-size:var(--text-sm);color:var(--text-dark);text-align:right;flex-shrink:0;width:2rem;font-weight:600}.group-tradeoff{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 var(--space-sm)}.group-result-link{font-size:var(--text-sm);color:var(--ocean-deep);font-weight:600;text-decoration:none}.group-result-link:hover{text-decoration:underline}@media (max-width:1100px){.plan-finder-grid,.plan-finder-results{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-preset-overview,.plan-preset-guide-grid,.plan-preset-data{grid-template-columns:1fr}.compare-overview{gap:var(--space-md);grid-template-columns:1fr}.compare-vs{padding:0}.compare-vs span{width:3.5rem;height:3.5rem;font-size:1.15rem}.compare-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compare-verdict{flex-direction:column;align-items:flex-start}}@media (max-width:1024px){.sitemap-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.group-planner-grid{grid-template-columns:1fr}.municipality-grid,.plan-season-grid--micro,.season-stats-grid,.info-quickref{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.group-planner-steps{grid-template-columns:1fr}.group-planner-profiles{flex-direction:column}.group-profile{max-width:100%}.page-header{min-height:280px}.page-header .container{clip-path:none;max-width:100%;min-height:120px;padding:var(--space-lg)var(--space-xl);padding-right:var(--space-xl);margin-left:var(--space-lg);margin-right:var(--space-lg);transform:translateY(min(60%,140px))}.page-header h1{font-size:1.875rem}.page-header p{font-size:1rem}.page-header+.section,.page-header+section{padding-top:calc(var(--space-3xl) + 140px)}.listing-grid{gap:var(--space-md);grid-template-columns:1fr}.listing-card-content,.listing-card-placeholder{padding:var(--space-md)}.listing-card-placeholder-inner{max-width:100%}.plan-finder-shell{padding:var(--space-lg)}.plan-finder-grid,.plan-finder-results,.plan-result-metrics{grid-template-columns:1fr}.plan-result-header{flex-direction:column}.plan-result-score{align-self:flex-start}.plan-preset-chips{flex-direction:column}.plan-preset-chip{flex:none;width:100%}.compare-table-shell{padding:var(--space-lg)}.compare-table-header{gap:var(--space-xs);padding:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr))}.compare-table-header .compare-label-col{display:none}.compare-row{gap:var(--space-sm);padding:var(--space-sm)var(--space-md)var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr))}.compare-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-light);grid-column:1/-1;margin-bottom:.2rem;font-size:.76rem;font-weight:700}.compare-value{border-radius:var(--radius-md);text-align:left;background:#faf7f1b8;border:1px solid #e8dfd0e6;padding:.7rem .8rem;font-size:.88rem}.compare-verdict{padding:var(--space-xl)var(--space-lg)}.compare-verdict-actions{justify-content:flex-start}.discovery-filter-bar{padding:var(--space-lg)}.discovery-filter-row--types,.discovery-filter-row--controls,.discovery-filter-summary{padding:var(--space-md)}.discovery-filter-row--controls{gap:var(--space-md)}.discovery-filter-chips[data-filter=beachType]{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.discovery-filter-chips[data-filter=beachType]::-webkit-scrollbar{display:none}.discovery-filter-row--controls .discovery-filter-group{width:100%}.listing-card--beach-discovery .listing-card-header{flex-direction:column}.listing-card--beach-discovery .listing-card-score{text-align:left;width:100%}.discovery-filter-select{width:100%}.beach-toggle-label{justify-content:flex-start;width:100%}.beach-toggle-text{white-space:normal;width:100%}.discovery-filter-summary{flex-direction:column;align-items:stretch}.discovery-filter-reset{width:100%}.discovery-filter-reset .btn{justify-content:center;width:100%}.mun-card-header{flex-direction:column}.mun-card-score{text-align:right;align-items:center;gap:var(--space-sm);width:100%;display:flex}.mun-card-score-label{text-align:left;min-height:0;margin-bottom:0;margin-right:auto}.mun-card-score-value{margin-left:auto;font-size:1.3rem}.mun-card-score-tier{text-align:right}.discovery-filter-chips[data-filter=trip]{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.discovery-filter-chips[data-filter=trip]::-webkit-scrollbar{display:none}.discovery-filter-chips[data-filter=trip] .beach-chip{flex-shrink:0}.stays-accomm-grid{grid-template-columns:1fr}}@media (max-width:600px){.content .listing-grid{gap:var(--space-sm);grid-template-columns:repeat(2,1fr)}.municipality-grid{gap:var(--space-xl);grid-template-columns:1fr}.flight-prices-grid{grid-template-columns:1fr 1fr}.flight-prices-header{flex-direction:column;gap:2px}.sitemap-grid,.plan-season-grid,.plan-season-grid--micro,.season-hub-grid,.season-two-col{grid-template-columns:1fr}.compare-muni-body{padding:var(--space-lg)}.compare-muni-stats,.compare-snapshot-grid{grid-template-columns:1fr}.compare-snapshot{padding:var(--space-md)}.compare-muni-link.btn,.compare-verdict-actions .btn{width:100%}.featured-hotel-thumb{float:none;aspect-ratio:3/2;width:100%;height:auto;margin:var(--space-sm)0}.featured-hotel-carousel{float:none;width:100%;margin:var(--space-sm)0}.carousel-slide{aspect-ratio:3/2;height:auto}.featured-hotels-compact{padding:var(--space-md)}.featured-hotels-compact .featured-hotel-thumb{aspect-ratio:3/2;width:100%;height:auto}.featured-hotels-compact .featured-hotel-carousel{width:100%}.featured-hotels-compact .carousel-slide{aspect-ratio:3/2;height:auto}.info-quickref{grid-template-columns:1fr}}@media (max-width:480px){.beach-facility{gap:var(--space-2xs);flex-direction:column}.beach-facility dt{width:auto}.golf-facility{gap:var(--space-2xs);flex-direction:column}.golf-facility dt{width:auto}.village-entity-thumb{width:64px;height:64px}}.section:has(.weather-stats){padding-bottom:var(--space-xl)}.weather-stats{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.weather-stat{text-align:center;padding:var(--space-lg)var(--space-md);background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--sand-warm);flex-direction:column;align-items:center;display:flex}.weather-stat-icon{color:var(--sunset-orange);margin-bottom:var(--space-sm);font-size:1.5rem}.weather-stat-value{font-family:var(--font-display);color:var(--text-dark);font-size:1.75rem;font-weight:700;line-height:1.2}.weather-stat-label{font-size:var(--text-sm);color:var(--text-light);margin-top:var(--space-2xs);text-transform:uppercase;letter-spacing:.05em}.weather-stat-detail{font-size:var(--text-xs);color:var(--text-light);margin-top:var(--space-xs)}.weather-monthly-overview{gap:var(--space-sm);margin-top:var(--space-lg);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.weather-month-card{text-align:center;justify-content:center;align-items:center;gap:var(--space-2xs);min-height:8rem;padding:var(--space-md)var(--space-sm);border-radius:var(--radius-xl);color:var(--text-dark);background:linear-gradient(#fffffffa,#faf7f1f0);border:1px solid #d4c5abb8;flex-direction:column;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex}.weather-month-card:hover{border-color:#0f2f3d29;transform:translateY(-2px);box-shadow:0 2px 8px #0f2f3d0f}.weather-month-card--active{background:linear-gradient(#fffffffa,#e8f3f8e6);border-color:#2c8daa47;box-shadow:inset 0 0 0 1px #2c8daa1f}.weather-month-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-light);margin-bottom:var(--space-xs);font-weight:700}.weather-month-temp{font-family:var(--font-display);color:var(--ocean-deep);font-size:1.4rem;font-weight:700}.weather-month-rain{border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--text-medium);background:#faf7f1e0;border:1px solid #d4c5abb8;align-items:center;gap:.35rem;margin-top:auto;padding:.28rem .58rem;font-weight:600;display:inline-flex}.weather-month-rain i{color:var(--ocean-medium);font-size:var(--text-2xs)}.weather-month-nav{margin-top:var(--space-lg);justify-content:space-between;display:flex}.weather-month-nav-link{align-items:center;gap:var(--space-xs);font-size:var(--text-md);color:var(--ocean-medium);font-weight:500;text-decoration:none;display:inline-flex}.weather-month-nav-link:hover{color:var(--ocean-deep)}.weather-month-nav-link i{font-size:var(--text-xs)}.weather-activities{margin-top:var(--space-xl)}.weather-activities h3{margin-bottom:var(--space-md)}.weather-activities-grid{gap:var(--space-sm);flex-wrap:wrap;display:flex}.weather-activity{align-items:center;gap:var(--space-sm);padding:var(--space-sm)var(--space-md);background:var(--white);border-radius:var(--radius-full);border:1px solid var(--sand-warm);color:var(--text-dark);font-size:var(--text-md);display:inline-flex}.weather-activity-icon{color:var(--ocean-medium);font-size:var(--text-sm)}.data-source{margin-top:var(--space-md);font-size:var(--text-xs);color:var(--text-light);text-align:center}.data-source a{color:var(--text-light);text-decoration:underline}.weather-chart{border-radius:var(--radius-md);width:100%;height:200px}.sea-temp-chart{border-radius:var(--radius-md);border:1px solid var(--sand-warm);width:100%;height:220px}.sea-temp-chart-card{margin-bottom:var(--space-xl)}.sea-temp-chart-card .data-source{margin-top:var(--space-sm)}@media (max-width:1100px){.weather-monthly-overview{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width:600px){.weather-stats{grid-template-columns:repeat(2,1fr)}.weather-monthly-overview{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:400px){.weather-monthly-overview{grid-template-columns:repeat(3,minmax(0,1fr))}}.collection-map-section{padding-top:0}.collection-map{border-radius:var(--radius-md);z-index:0;height:420px;position:relative}@media (max-width:600px){.collection-map{height:320px}}.collection-map-legend{font-size:var(--text-sm);color:var(--text-light);flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:.75rem;display:flex}.collection-map-legend span{align-items:center;gap:.35rem;display:inline-flex}.collection-map-legend span:before{content:"";background-color:var(--dot-color);border-radius:50%;flex-shrink:0;width:.6rem;height:.6rem;display:inline-block}.municipality-map{height:320px}@media (max-width:600px){.municipality-map{height:260px}}.faro-route-map{height:340px;margin-top:var(--space-md);margin-bottom:var(--space-lg);border-radius:var(--radius-md)}@media (max-width:600px){.faro-route-map{height:260px}}.leaflet-popup-content-area{font-family:var(--font-body)}.map-popup{font-size:var(--text-md);line-height:1.4}.map-popup strong{margin-bottom:.15rem;display:block}.map-popup .map-popup-category{font-size:var(--text-sm);color:var(--text-light);margin-bottom:.25rem}.map-popup a{font-size:var(--text-sm);color:var(--ocean-deep);text-decoration:none}.map-popup a:hover{text-decoration:underline}.walking-routes{gap:var(--space-xl);margin-top:var(--space-md);margin-bottom:var(--space-lg);flex-direction:column;display:flex}.walking-route{gap:var(--space-md);flex-direction:column;display:flex}.walking-route-name{font-size:var(--text-xl);color:var(--text-dark);margin:0}.walking-route-intro{color:var(--text-medium);margin:0}.walking-route-meta{gap:var(--space-xs)var(--space-md);font-size:var(--text-sm);color:var(--text-medium);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.walking-route-meta li{align-items:center;gap:.4em;display:inline-flex}.walking-route-meta i{color:var(--text-light);font-size:.95em}.walking-route-meta--difficulty{border-radius:var(--radius-full);font-size:var(--text-xs);letter-spacing:.02em;padding:.1em .6em;font-weight:600}.walking-route-meta--difficulty-easy{color:#2c6b3f;background:#e6f0e8}.walking-route-meta--difficulty-moderate{color:#8a5a1a;background:#f6e9d4}.walking-route-meta--difficulty-strenuous{color:#7a2e1a;background:#f3dad4}.walking-route-meta--bestfor{color:var(--text-light);font-style:italic}.walking-route-map{border-radius:var(--radius-md);height:380px;box-shadow:0 1px 3px #00000014}@media (max-width:600px){.walking-route-map{height:300px}}.walking-route-stops{counter-reset:walking-stop;gap:var(--space-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.walking-route-stop{gap:var(--space-sm);padding:var(--space-sm)var(--space-sm);border-radius:var(--radius-md);cursor:pointer;grid-template-columns:2.25rem 1fr;align-items:start;transition:background .15s;display:grid}.walking-route-stop:hover,.walking-route-stop:focus-within{background:var(--sand-warm)}.walking-route-stop.is-active{background:var(--sand-golden)}.walking-route-stop-num{color:#fff;width:2rem;height:2rem;font-weight:700;font-size:var(--text-md);background:#c4713b;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:flex}.walking-route-stop--start .walking-route-stop-num{width:2.25rem;height:2.25rem;font-size:var(--text-lg);background:#c4513a}.walking-route-stop--end .walking-route-stop-num{width:2.25rem;height:2.25rem;font-size:var(--text-lg);background:#7a2e1a}.walking-route-stop-body{min-width:0}.walking-route-stop-name{margin:0 0 var(--space-2xs)0;font-size:var(--text-base);color:var(--text-dark);font-weight:600;line-height:1.3}.walking-route-stop-blurb{font-size:var(--text-sm);color:var(--text-medium);margin:0;line-height:1.5}.walking-route-stops-end{margin-top:var(--space-xs);padding:var(--space-xs)var(--space-sm);color:var(--text-light);font-size:var(--text-sm);font-style:italic}.walking-route-stops-end i{color:#c4513a;margin-right:.4em}.map-popup--walking .map-popup-num{border-radius:var(--radius-full);color:#fff;font-size:var(--text-xs);letter-spacing:.02em;background:#c4513a;margin-bottom:.25rem;padding:.05em .5em;font-weight:700;display:inline-block}.map-popup--walking strong{margin-bottom:.25rem}.map-popup--walking .map-popup-blurb{font-size:var(--text-sm);color:var(--text-medium);margin:0;line-height:1.4}.map-touch-overlay{z-index:1000;color:#fff;font-family:var(--font-body);font-size:var(--text-md);text-shadow:0 1px 3px #0006;cursor:pointer;pointer-events:auto;background:#00000026;justify-content:center;align-items:center;font-weight:500;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.lightbox-overlay{z-index:9999;opacity:0;visibility:hidden;cursor:zoom-out;background:#000000f2;justify-content:center;align-items:center;transition:opacity .3s,visibility .3s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.lightbox-overlay.active{opacity:1;visibility:visible;will-change:opacity}.lightbox-container{align-items:center;gap:var(--space-md);cursor:default;flex-direction:column;max-width:95vw;max-height:95vh;display:flex;position:relative}.lightbox-image{object-fit:contain;border-radius:var(--radius-md);will-change:transform,opacity;width:auto;max-width:100%;height:auto;max-height:calc(95vh - 100px);animation:.3s lightboxZoomIn;box-shadow:0 25px 50px -12px #00000080}.lightbox-image.lightbox-no-animation{animation:none}.lightbox-image.lightbox-loading{opacity:.3}@keyframes lightboxZoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.lightbox-caption{max-width:800px;padding:var(--space-md)var(--space-lg);border-radius:var(--radius-lg);color:var(--white);text-align:center;font-size:var(--text-base);background:#ffffff26;line-height:1.5}.lightbox-close{top:var(--space-lg);right:var(--space-lg);width:44px;height:44px;color:var(--white);font-size:var(--text-xl);cursor:pointer;z-index:10;background:#ffffff26;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .2s;display:flex;position:absolute}.lightbox-close:hover,.lightbox-close:focus{background:#ffffff40;transform:scale(1.1)}.lightbox-nav{width:44px;height:44px;color:var(--white);font-size:var(--text-xl);cursor:pointer;z-index:10;background:#ffffff26;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover,.lightbox-nav:focus{background:#ffffff40;transform:translateY(-50%)scale(1.1)}.lightbox-nav:disabled{opacity:.3;cursor:not-allowed}.lightbox-nav:disabled:hover{background:#ffffff26;transform:translateY(-50%)scale(1)}.lightbox-prev{left:var(--space-lg)}.lightbox-next{right:var(--space-lg)}.lightbox-counter{top:var(--space-lg);padding:var(--space-xs)var(--space-md);color:var(--white);font-size:var(--text-md);background:#ffffff26;border:1px solid #fff3;border-radius:100px;font-weight:500;position:absolute;left:50%;transform:translate(-50%)}.prose picture,.prose img{cursor:zoom-in;transition:opacity .2s}.prose .listing-card picture,.prose .listing-card img{cursor:pointer}.prose picture:hover,.prose img:hover{opacity:.9}@media (max-width:768px){.lightbox-image{max-height:calc(95vh - 120px)}.lightbox-close,.lightbox-nav{width:40px;height:40px;font-size:var(--text-lg)}.lightbox-close{top:var(--space-md);right:var(--space-md)}.lightbox-nav{width:40px;height:40px}.lightbox-prev{left:var(--space-md)}.lightbox-next{right:var(--space-md)}.lightbox-counter{top:var(--space-md)}.lightbox-caption{max-width:90vw;font-size:var(--text-md);padding:var(--space-sm)var(--space-md)}}body.lightbox-open{overflow:hidden}@media print{.header,.footer,.hero:before,.hero:after{display:none}body{color:#000;background:#fff}.hero{color:#000;background:#fff;min-height:auto;padding:2rem 0}.hero h1,.hero-lead{color:#000}}