.beach-intro{max-width:720px;margin:0 auto 40px;text-align:center}.beach-intro-text{font-family:var(--font-body);color:var(--fg);font-size:1rem;line-height:1.6;margin:0 0 14px}.beach-intro-text a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}.beach-intro-text a:hover{color:var(--accent-strong)}.beach-toc{display:inline-flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;justify-content:center;padding:8px 16px;background:var(--bg-elev-1);border:1px solid var(--border);border-radius:999px;font-size:13px}.beach-toc-label{font-family:var(--font-body);color:var(--accent-strong);font-weight:600;letter-spacing:.04em;font-size:11px;text-transform:uppercase}.beach-toc a{color:var(--brand);text-decoration:none;font-variant-numeric:tabular-nums}.beach-toc a:hover{text-decoration:underline}.beach-toc span[aria-hidden]{color:var(--fg-soft)}#beach-free,#beach-stab{scroll-margin-top:80px}.beach-freshness{display:inline-flex;align-items:center;gap:6px;margin:14px 0 0;padding:6px 14px;border-radius:999px;font-family:var(--font-body);font-size:12px;line-height:1.4;font-variant-numeric:tabular-nums}.beach-freshness svg{width:13px;height:13px;flex-shrink:0}.beach-freshness--fresh{color:var(--fg-soft);background:var(--bg-elev-1);border:1px solid var(--border)}.beach-freshness--aging{color:#8a6212;background:#fdf3df;border:1px solid #e9d098}.beach-freshness--stale{color:#8a3a12;background:#fce3d4;border:1px solid #e9a98a}:root[data-theme=dark] .beach-freshness--fresh,html.dark .beach-freshness--fresh{color:var(--fg-soft);background:#ffffff0d;border-color:#ffffff1f}:root[data-theme=dark] .beach-freshness--aging,html.dark .beach-freshness--aging{color:#e9c477;background:#c9971c24;border-color:#c9971c5c}:root[data-theme=dark] .beach-freshness--stale,html.dark .beach-freshness--stale{color:#f0a37a;background:#c0563b2e;border-color:#c0563b5c}:root[data-theme=dark] .beach-intro-text a,html.dark .beach-intro-text a,:root[data-theme=dark] .beach-toc a,html.dark .beach-toc a{color:var(--heading)}.beach-section-head{text-align:center;max-width:640px;margin:0 auto 32px}.beach-section-head--second{margin-top:64px}.beach-group-head{font-family:var(--font-display);color:var(--brand);font-weight:500;font-size:1.1rem;letter-spacing:.01em;margin:24px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--border)}.beach-group-head--second{margin-top:48px}.beach-group-note{font-family:var(--font-body);color:var(--fg-soft);font-size:13px;margin:0 0 18px;max-width:60ch}.beach-card--varazze{background:var(--bg-elev-2, var(--bg-elev-1))}:root[data-theme=dark] .beach-group-head,html.dark .beach-group-head{color:var(--heading)}.beach-card-walk{display:inline-flex;align-items:center;gap:5px;margin:0;padding:3px 10px 3px 8px;background:var(--bg-elev-2);border-radius:999px;font-family:var(--font-body);font-size:12px;color:var(--fg);align-self:flex-start;width:fit-content}.beach-card-walk svg{width:12px;height:12px;color:var(--accent-strong)}.beach-card-walk strong{font-weight:600;color:var(--accent-strong);font-variant-numeric:tabular-nums}:root[data-theme=dark] .beach-card-walk,html.dark .beach-card-walk{background:#ffffff0f}.beach-section-sub{font-family:var(--font-body);color:var(--fg-soft);font-size:15px;margin:0;line-height:1.55}.beach-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:22px}@media(min-width:640px){.beach-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.beach-grid{grid-template-columns:repeat(3,1fr)}.beach-grid--stab{grid-template-columns:repeat(2,1fr)}}.beach-card{padding:22px;background:var(--bg-elev-1);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:8px}.beach-card--libera{background:var(--surface-warm, var(--bg-elev-1))}.beach-card--stab{gap:10px}.beach-card-stab-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;align-items:baseline;margin-bottom:4px}.beach-card-name{font-family:var(--font-display);color:var(--brand);font-weight:500;font-size:1.2rem;line-height:1.2;margin:0}.beach-card-segment{font-family:var(--font-body);color:var(--accent-strong);font-size:12px;letter-spacing:.04em;margin:0}.beach-card-opening{font-family:var(--font-body);color:var(--fg-soft);font-size:13px;margin:0;text-align:right;font-variant-numeric:tabular-nums}.beach-card-opening .bc-label{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-strong);display:block}.beach-card-desc{font-family:var(--font-body);color:var(--fg);font-size:14px;line-height:1.55;margin:0}.beach-card-prices{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;margin:4px 0 2px}.beach-card-prices dt{font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-strong);margin:0}.beach-card-prices dd{font-family:var(--font-body);margin:0;color:var(--fg);font-size:14px;font-variant-numeric:tabular-nums}.beach-card-source{font-family:var(--font-body);margin:0;font-size:12px;color:var(--fg-soft)}.beach-card-source a{color:var(--fg-soft);text-decoration:underline}.beach-card-source a:hover{color:var(--fg)}.beach-card-features{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-wrap:wrap;gap:4px 10px;color:var(--fg-soft);font-size:12px}.beach-card-features li{padding:0;margin:0;display:inline-flex;align-items:center;gap:5px}.beach-feat-glyph{display:inline-flex;flex-shrink:0;opacity:.9}.beach-feat-icon{display:block}.beach-card-meta-row{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:13px;margin:8px 0 0}.beach-card-link{display:inline-flex;align-items:center;gap:4px;color:var(--brand);text-decoration:none;padding:4px 10px 4px 8px;border:1px solid var(--border);border-radius:999px;background:transparent;transition:background var(--dur-fast) var(--ease-out-soft),border-color var(--dur-fast) var(--ease-out-soft)}.beach-card-link svg{width:13px;height:13px}.beach-card-link:hover{background:var(--bg-elev-2);border-color:var(--brand)}.beach-card-link--maps{color:var(--accent-strong)}.beach-card-link--maps:hover{background:var(--bg-elev-2);border-color:var(--accent-strong)}:root[data-theme=dark] .beach-card-link,html.dark .beach-card-link{color:var(--heading)}:root[data-theme=dark] .beach-card-name,html.dark .beach-card-name{color:var(--heading)}
