/* Styles shared by every website page (1 Nov 2026). Until then each page carried them inline, about 50 KB
   downloaded again with every page; now the browser keeps this file. The order of the sections is the order the
   inline blocks had, so the cascade is unchanged. Page-specific styles stay inline in each page, after this file.
   Change ?v= in the pages' <link> when this file changes. */

/* ===== Theme: every website page (the former inline <style id="ba-theme-css">) ===== */
.ba-legal { max-width: 850px; margin: auto; padding: 4rem var(--gutter); }
.ba-legal h1 { font-size: var(--step-4); margin-bottom: 1.5rem; }
.ba-legal h2 { font-size: var(--step-2); margin-block: 2rem 1rem; }
.ba-legal p, .ba-legal li { font-size: 1rem; line-height: 1.7; }
.ba-legal table { width: 100%; border-collapse: collapse; }
.ba-legal td, .ba-legal th { padding: .65rem; text-align: left; border: 1px solid var(--line); }
.ba-legal a { overflow-wrap: anywhere; }

/* Seasonal banner (Impostazioni → Bagno Amedea) */
.ba-banner { background: var(--sand, #dccba8); color: var(--ink, #121a2e); padding: .65rem var(--gutter, 1rem); text-align: center; }
.ba-banner p { margin: 0 auto; max-width: 72rem; font-size: .95rem; line-height: 1.45; }
.ba-banner a { color: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: .2em; white-space: nowrap; }
.ba-banner a:hover { color: var(--sea, #16264d); }

/* Header booking button */
.site-header__cta { display: inline-flex; align-items: center; justify-content: center; padding: .4rem 1rem; border-radius: 8px; background: var(--sand, #dccba8); color: var(--ink, #121a2e); font-weight: 600; line-height: 1; text-decoration: none; white-space: nowrap; transition: background-color .15s ease; }
.site-header__cta:hover { background: var(--sand-deep, #cbb68d); }
.site-header__cta:focus-visible { outline: 2px solid var(--sand, #dccba8); outline-offset: 3px; }


/* Branded 404 */
.ba-404 { background: var(--sea, #16264d); color: #fff; padding: clamp(4rem, 12vw, 8rem) var(--gutter, 1rem); text-align: center; }
.ba-404__inner { max-width: 40rem; margin: auto; }
.ba-404__code { margin: 0 0 1rem; font-family: "Bodoni Moda Variable", Georgia, serif; font-size: clamp(4.5rem, 14vw, 8rem); line-height: 1; color: var(--sand, #dccba8); }
.ba-404 h1 { margin: 0 0 1rem; font-family: "Bodoni Moda Variable", Georgia, serif; font-weight: 400; font-size: clamp(2rem, 5vw, 3.25rem); line-height: 1.1; color: #fff; }
.ba-404 p { margin: 0 0 2rem; font-size: 1.125rem; line-height: 1.6; color: rgba(255, 255, 255, .85); }
.ba-404__links { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.ba-404__links a { display: inline-flex; align-items: center; min-height: 48px; padding: .75rem 1.5rem; border-radius: 8px; background: var(--sand, #dccba8); color: var(--ink, #121a2e); font-weight: 600; text-decoration: none; }
.ba-404__links a:hover { background: var(--sand-deep, #cbb68d); }

/* ==== Spiaggia page (redesign 17 Oct 2026) ==== */
.bch-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.bch-hero .page-hero__subtitle { max-width: 34ch; }
.bch-ic { display: inline-grid; flex: none; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--sand-2); color: var(--sea); }
.bch-ic svg { width: 24px; height: 24px; }
.bch-ic--lg { width: 56px; height: 56px; background: var(--sea); color: var(--sand); }
.bch-ic--lg svg { width: 28px; height: 28px; }
.bch-ic--sm { width: 22px; height: 22px; background: none; color: inherit; }
.bch-ic--sm svg { width: 20px; height: 20px; }
.bch-head { max-width: 46rem; margin-bottom: clamp(2rem, 1.5rem + 2vw, 3rem); }
.bch-head h2 { margin-bottom: .75rem; }
.bch-head .lead { margin: 0; color: var(--muted); }

/* Key facts strip */
.bch-facts { border-bottom: 1px solid var(--line); background: var(--white); color: var(--ink); }
.bch-facts__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1rem; margin: 0 auto; padding-block: 1.75rem; list-style: none; }
.bch-facts__list li { display: flex; align-items: center; gap: .75rem; margin: 0; font-size: .9375rem; line-height: 1.35; color: var(--muted); }
.bch-facts__list strong { display: block; color: var(--ink); font-size: 1.0625rem; }
.bch-facts .bch-ic { background: var(--sand-2); color: var(--sea); }

/* Intro */
.bch-intro__grid { display: grid; gap: 2.5rem; align-items: center; }
.bch-intro__text h2 { margin-bottom: 1.25rem; }
.bch-intro__text p { max-width: 58ch; color: var(--ink); font-size: var(--step-1); line-height: 1.6; }
.bch-intro__media { position: relative; margin: 0; }
.bch-intro__media::after { content: ""; position: absolute; inset: auto 1.25rem -1.25rem auto; z-index: -1; width: 70%; height: 70%; border-radius: var(--radius); background: repeating-linear-gradient(90deg, var(--sand) 0 20px, var(--sand-2) 20px 40px); }
.bch-intro__img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); box-shadow: 0 18px 40px rgba(10, 16, 34, .18); }

/* Services */
.bch-services__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 0; padding: 0; list-style: none; }
.bch-card { margin: 0; padding: 1.25rem 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.bch-card h3 { margin: 1rem 0 .35rem; font-family: var(--sans); font-size: 1.0625rem; font-weight: 700; letter-spacing: 0; }
.bch-card p { margin: 0; color: var(--muted); font-size: .9375rem; line-height: 1.5; }

/* Booking options */

.bch-contact { display: grid; gap: 1.25rem; margin-top: 1.5rem; padding: 1.5rem; border-radius: var(--radius); background: var(--sand-2); }
.bch-contact h3 { margin: 0 0 .35rem; font-family: var(--sans); font-size: 1.125rem; font-weight: 700; letter-spacing: 0; }
.bch-contact p { margin: 0; color: var(--muted); }
.bch-contact__btns { display: flex; flex-wrap: wrap; gap: .75rem; }

/* Gallery */
.bch-gallery__grid { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.bch-gallery__grid li, .bch-gallery__grid figure { margin: 0; }
.bch-gallery__grid figure { position: relative; overflow: hidden; border-radius: var(--radius); }
.bch-gallery__img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.bch-gallery__grid figcaption { position: absolute; inset: auto 0 0; padding: 2.5rem 1rem .85rem; background: linear-gradient(transparent, rgba(14, 22, 46, .8)); color: #fff; font-size: .9375rem; font-weight: 600; }

/* FAQ */
.bch-faq__grid { display: grid; gap: 2rem; }
.bch-faq__where { margin-top: 1.25rem; color: var(--muted); }
.bch-faq__list details { border-bottom: 1px solid var(--line); }
.bch-faq__list details:first-child { border-top: 2px solid var(--sea); }
.bch-faq__list summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 56px; padding: 1rem 0; color: var(--ink); font-size: 1.0625rem; font-weight: 650; cursor: pointer; list-style: none; }
.bch-faq__list summary::-webkit-details-marker { display: none; }
.bch-faq__list summary::after { content: "+"; flex: none; color: var(--stripe); font-size: 1.5rem; font-weight: 400; line-height: 1; }
.bch-faq__list details[open] summary::after { content: "\2013"; }
.bch-faq__list details p { max-width: 62ch; margin: 0 0 1.25rem; color: var(--muted); }

/* Closing call to action */
.bch-cta { position: relative; background: var(--sea); color: #fff; }
.bch-cta::before { content: ""; position: absolute; inset: 0 0 auto; height: 8px; background: repeating-linear-gradient(90deg, var(--sand) 0 28px, var(--sea) 28px 56px); }
.bch-cta__inner { display: grid; gap: 1.5rem; padding-block: clamp(3rem, 2rem + 4vw, 5rem); }
.bch-cta h2 { margin-bottom: .5rem; color: #fff; }
.bch-cta p { margin: 0; color: rgba(255, 255, 255, .85); font-size: var(--step-1); }

@media (width >= 600px) {
  .bch-gallery__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bch-gallery__img { aspect-ratio: 3 / 4; }
}
@media (width >= 720px) {
  .bch-services__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
  .bch-card { padding: 1.5rem 1.25rem; }
  .bch-contact { grid-template-columns: 1fr auto; align-items: center; padding: 1.75rem 2rem; }
}
@media (width >= 900px) {
  .bch-facts__list { grid-template-columns: repeat(4, minmax(0, 1fr)); padding-block: 2rem; }
  .bch-intro__grid { grid-template-columns: 6fr 5fr; gap: 5rem; }
  .bch-faq__grid { grid-template-columns: 4fr 7fr; gap: 5rem; }
  .bch-cta__inner { grid-template-columns: 1fr auto; align-items: center; }
}
@media (width <= 599px) {
  .bch-actions { flex-direction: column; align-items: stretch; max-width: 24rem; }
  .bch-contact__btns .btn { flex: 1 1 100%; }
}
.bch-intro__text .text-link { gap: .35rem; }

/* Single booking block (17 Oct 2026): Spiagge.it takes any dates, so no separate pass types */
.bch-book { display: grid; gap: 1.25rem; justify-items: start; padding: 1.75rem 1.5rem; border: 1px solid var(--line); border-top: 4px solid var(--sea); border-radius: var(--radius); background: var(--white); }
.bch-book h3 { margin: 0 0 .5rem; font-size: var(--step-3); }
.bch-book p { max-width: 52ch; margin: 0; color: var(--muted); }
@media (width >= 720px) { .bch-book { grid-template-columns: auto 1fr auto; align-items: center; gap: 1.5rem 2rem; padding: 2rem; } }

/* 17 Oct 2026: opening hours as a two-column table (from the menu admin, Orari e avvisi) */
.ba-hours { width: 100%; max-width: 26rem; margin: 0; border-collapse: collapse; font: inherit; color: inherit; }
.ba-hours th, .ba-hours td { padding: .4em 0; border-bottom: 1px solid rgba(128, 128, 128, .28); font-weight: inherit; text-align: left; vertical-align: top; }
.ba-hours th { padding-right: 1.25em; font-weight: 600; }
.ba-hours td { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ba-hours tr:last-child th, .ba-hours tr:last-child td { border-bottom: 0; }
.ba-hours .is-closed td { opacity: .7; }

.site-footer__hours .ba-hours { max-width: 18rem; font-size: .95em; }

/* ===== Carnevale page (festive, photo-led) ===== */
.cv { --cv-navy: rgb(22, 38, 77); --cv-ink: rgb(18, 26, 46); --cv-sand: rgb(220, 203, 168); --cv-cream: #f7f1e6; --cv-yellow: #f3c13a; --cv-teal: #22a99a; --cv-pink: #e2589a; --cv-blue: #3b7fd9; }

.cv-wrap { width: min(1160px, 100% - 40px); margin-inline: auto; }
.cv-hero { position: relative; min-height: min(86svh, 820px); display: flex; align-items: flex-end; color: #fff; overflow: hidden; background: var(--cv-navy); }
.cv-hero picture, .cv-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; }
.cv-hero__img { object-fit: cover; object-position: 50% 30%; }
.cv-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 18, 40, .1) 0%, rgba(10, 18, 40, .2) 30%, rgba(10, 18, 40, .7) 55%, rgba(10, 18, 40, .92) 100%); }
.cv-hero__content { position: relative; z-index: 1; padding: 120px 0 44px; }
.cv-hero__eyebrow { display: inline-block; margin: 0 0 14px; padding: 6px 14px; border-radius: 999px; font-size: 15px; font-weight: 600; }
.cv-hero h1 { margin: 0 0 12px; color: #fff; font-size: clamp(44px, 9vw, 92px); line-height: .98; text-shadow: 0 2px 24px rgba(0, 0, 0, .35); }
.cv-hero__sub { max-width: 34rem; margin: 0 0 26px; font-size: clamp(17px, 2.2vw, 21px); line-height: 1.45; color: rgba(255, 255, 255, .92); }
.cv-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.cv-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 24px; border-radius: 10px; font-weight: 700; font-size: 16px; text-decoration: none !important; border: 1.5px solid transparent; transition: transform .15s ease, background .15s ease; }
.cv-btn:hover { transform: translateY(-1px); }
.cv-btn--sand { background: var(--cv-sand); color: var(--cv-ink) !important; }
.cv-btn--ghost { border-color: rgba(255, 255, 255, .8); color: #fff !important; }
.cv-intro { padding: 56px 0 8px; background: var(--cv-cream); }
.cv-intro p { max-width: 46rem; margin: 0; font-size: clamp(19px, 2.3vw, 24px); line-height: 1.5; color: var(--cv-ink); }
.cv-plan { padding: 40px 0 64px; background: var(--cv-cream); }
.cv-h2 { margin: 0 0 26px; font-size: clamp(30px, 4.4vw, 46px); line-height: 1.08; color: var(--cv-navy); }
.cv-cards { display: grid; gap: 16px; grid-template-columns: 1fr; margin: 0; padding: 0; list-style: none; }
.cv-card { position: relative; padding: 24px 22px 22px; border-radius: 16px; background: #fff; box-shadow: 0 1px 0 rgba(22, 38, 77, .06), 0 10px 30px -18px rgba(22, 38, 77, .35); overflow: hidden; }
.cv-card::before { content: ""; position: absolute; left: 0; top: 0; right: 0; }
.cv-card__time { display: inline-block; margin-bottom: 10px; font-size: 15px; font-weight: 700; }
.cv-card h3 { margin: 0 0 8px; font-size: 24px; line-height: 1.15; color: var(--cv-navy); }
.cv-card p { margin: 0; font-size: 16px; line-height: 1.55; color: #3b4357; }
.cv-card a { color: var(--cv-navy); font-weight: 600; }
.cv-gallery { padding: 64px 0; background: var(--cv-navy); color: #fff; }
.cv-gallery .cv-h2 { color: #fff; }

.cv-grid { display: grid; grid-template-columns: repeat(2, 1fr); grid-auto-rows: 180px; gap: 10px; margin: 0; padding: 0; list-style: none; }
.cv-grid li { border-radius: 12px; overflow: hidden; background: rgba(255, 255, 255, .06); }
.cv-grid li:first-child { grid-column: span 2; grid-row: span 2; }
.cv-grid img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.cv-grid li:hover img { transform: scale(1.04); }
.cv-why { padding: 64px 0; background: #fff; }
.cv-why__list { display: grid; gap: 22px; margin: 0; padding: 0; list-style: none; }
.cv-why__list li { padding-left: 18px; border-left: 4px solid var(--c, var(--cv-teal)); }
.cv-why__list h3 { margin: 0 0 6px; font-size: 21px; color: var(--cv-navy); }
.cv-why__list p { margin: 0; font-size: 16px; line-height: 1.55; color: #3b4357; }
.cv-info { padding: 0 0 72px; background: #fff; }
.cv-links { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.cv-links a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 64px; padding: 14px 20px; border-radius: 14px; background: var(--cv-cream); color: var(--cv-navy) !important; font-size: 17px; font-weight: 600; text-decoration: none !important; transition: background .15s ease; }

.cv-links a::after { content: "\2197"; font-size: 18px; }
.cv-links small { display: block; font-size: 13px; font-weight: 400; color: #5b6275; }
@media (min-width: 760px) {
  .cv-cards { grid-template-columns: repeat(3, 1fr); }
  .cv-grid { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 230px; }
  .cv-why__list { grid-template-columns: repeat(3, 1fr); gap: 32px; }
  .cv-links { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1100px) {
  .cv-hero__content { padding-bottom: 72px; }
  .cv-hero__img { object-position: 50% 38%; }
  .cv-grid { grid-auto-rows: 270px; }
}
@media (prefers-reduced-motion: reduce) { .cv-btn, .cv-grid img { transition: none; } }

/* ===== Design review fixes (18 Oct 2026) ===== */
/* Home hero: lighter overlay, crisper title */
@media (min-width: 900px) {
  body .hero .hero__scrim { background: linear-gradient(rgba(22, 38, 77, .25) 0%, rgba(22, 38, 77, 0) 22%), linear-gradient(90deg, rgba(14, 22, 46, .6) 0%, rgba(14, 22, 46, .3) 38%, rgba(14, 22, 46, 0) 62%), linear-gradient(rgba(14, 22, 46, 0) 55%, rgba(14, 22, 46, .5) 100%); }
}
body .hero .hero__title, body .hero .hero__subtitle { text-shadow: 0 2px 22px rgba(0, 0, 0, .28); }
.hero__media picture { display: contents; }

/* Inner pages: one hero system, full-bleed photo with the title on it */
body .page-hero.page-hero { display: flex; align-items: flex-end; min-height: min(82svh, 720px); overflow: hidden; }
body .page-hero .page-hero__media { position: absolute; inset: 0; aspect-ratio: auto; grid-area: auto; z-index: -2; }
body .page-hero .page-hero__media picture { display: contents; }
body .page-hero .page-hero__scrim { display: block; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(14, 22, 46, .35) 0%, rgba(14, 22, 46, 0) 26%, rgba(14, 22, 46, .3) 52%, rgba(14, 22, 46, .9) 100%); }
body .page-hero .page-hero__panel { display: block; grid-area: auto; }
body .page-hero .page-hero__content { padding: 8rem var(--gutter) clamp(4rem, 9vw, 5.5rem); }
body .page-hero h1, body .page-hero .page-hero__subtitle { text-shadow: 0 2px 20px rgba(0, 0, 0, .3); }
.page-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .25rem; }
@media (min-width: 900px) {
  body .page-hero.page-hero { display: flex; min-height: clamp(540px, 74svh, 780px); }
  body .page-hero .page-hero__media { grid-area: auto; }
  body .page-hero .page-hero__panel { display: block; }
  body .page-hero .page-hero__content { padding: 9rem clamp(2rem, 4vw, 4.5rem) 6rem max(var(--gutter), calc((100vw - var(--container)) / 2)); }
  body .page-hero .page-hero__scrim { background: linear-gradient(rgba(14, 22, 46, .3) 0%, rgba(14, 22, 46, 0) 24%), linear-gradient(90deg, rgba(14, 22, 46, .72) 0%, rgba(14, 22, 46, .38) 42%, rgba(14, 22, 46, 0) 68%), linear-gradient(rgba(14, 22, 46, 0) 55%, rgba(14, 22, 46, .5) 100%); }
}
@media (max-width: 599px) { .page-hero__actions .btn { flex: 1 1 100%; } }

/* Home: clearer info card */
body .intro .info { background: #fff; border-radius: var(--radius); padding: 1.25rem 1.5rem; box-shadow: 0 1px 0 rgba(22, 38, 77, .06), 0 14px 34px -22px rgba(22, 38, 77, .45); }
body .intro .info dt { color: var(--sea); font-size: .9375rem; font-weight: 700; }
body .intro .info dd { color: var(--ink); }

/* Home: card links become real buttons */
.feature__text .feature__btn { margin-top: .5rem; }

/* Reviews: readable body text, serif kept for headings */
body .review blockquote, body .review blockquote p { font-family: var(--sans) !important; font-size: 1.0625rem !important; line-height: 1.65 !important; font-style: normal; }
.review-actions .btn { margin-left: auto; }
@media (max-width: 599px) { .review-actions .btn { margin-left: 0; flex: 1 1 100%; } }

/* CTA band with two buttons */
.cta-band__btns { display: flex; flex-wrap: wrap; gap: .75rem; }
.cta-band__btns .btn--ghost-sea { background: transparent; color: var(--sea); border-color: var(--sea); }
.cta-band__btns .btn--ghost-sea:hover { background: var(--sea); color: var(--white); }
@media (max-width: 599px) { .cta-band__btns .btn { flex: 1 1 100%; } }

/* Home: travel options collapse on phones */
body .travel__item summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 48px; font-family: var(--serif); font-size: var(--step-2); color: var(--ink); }
body .travel__item summary::-webkit-details-marker { display: none; }
body .travel__item summary::after { content: ""; width: 10px; height: 10px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s; margin-right: 4px; }
body .travel__item[open] summary::after { transform: rotate(-135deg); }
@media (min-width: 760px) { body .travel__item summary { pointer-events: none; } body .travel__item summary::after { display: none; } }

/* Galleries on Ristorante and Eventi */
.ba-gallery { padding-block: var(--section); background: var(--sea); color: #fff; }
.ba-gallery h2 { color: #fff; margin-bottom: 1.75rem; }
.ba-grid { display: grid; grid-template-columns: repeat(2, 1fr); grid-auto-rows: 180px; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ba-grid li { border-radius: 12px; overflow: hidden; background: rgba(255, 255, 255, .06); }
.ba-grid li:first-child { grid-column: span 2; grid-row: span 2; }
.ba-grid img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 760px) { .ba-grid { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 230px; } }
@media (min-width: 1100px) { .ba-grid { grid-auto-rows: 270px; } }


/* Hero readability. 18 Oct 2026: a dark band behind the text. 1 Nov 2026 (design review): the photos were dimmed
   almost everywhere and the sea and the light turned grey-blue. The darkening now sits only where the text is (the
   lower part on phones, the lower left on computers) and the rest of the photo keeps its own colours; the text still
   measures 4.5:1 or better against the brightest 5% of the photo behind it on every page (tools in the PR). */
body .page-hero .page-hero__scrim, body .hero .hero__scrim { background: linear-gradient(180deg, rgba(14, 22, 46, .3) 0%, rgba(14, 22, 46, 0) 14%); }
.cv-hero::after { background: linear-gradient(180deg, rgba(10, 18, 40, .2) 0%, rgba(10, 18, 40, 0) 18%); }
body .hero, body .page-hero, .cv-hero { overflow-x: clip; }
body .hero .hero__content, body .page-hero .page-hero__content, .cv-hero__content { position: relative; isolation: isolate; }
body .hero .hero__content::before, body .page-hero .page-hero__content::before, .cv-hero__content::before {
  content: ""; position: absolute; inset: -4rem calc(-1 * var(--gutter, 20px)) 0; z-index: -1; pointer-events: none;
  background: linear-gradient(180deg, rgba(14, 22, 46, 0) 0, rgba(14, 22, 46, .6) 4rem, rgba(14, 22, 46, .76) 100%);
}
/* The beach photo on phones is mostly sky: show it larger from the bottom, so the umbrellas fill the screen. */
@media (max-aspect-ratio: 4/5) {
  body .page-hero .page-hero__img[src*="hero-spiaggia"] { top: auto; bottom: 0; height: 140%; object-position: 50% 100%; }
}
@media (min-width: 900px) {
  body .page-hero .page-hero__scrim, body .hero .hero__scrim { background: none; }
  .cv-hero::after { background: none; }
  body .hero .hero__content::before, body .page-hero .page-hero__content::before, .cv-hero__content::before {
    /* The text block is as wide as the page container, so the glow is sized to the text instead (1 Nov 2026: it
       covered the whole photo and darkened its right side). */
    inset: -4rem auto -2rem -50vw; width: calc(50vw + 78rem);
    background: linear-gradient(90deg, rgba(14, 22, 46, .66) 0, rgba(14, 22, 46, .58) calc(100% - 14rem), rgba(14, 22, 46, 0) 100%);
    -webkit-mask: linear-gradient(180deg, transparent 0, #000 5rem, #000 calc(100% - 2rem), transparent 100%);
    mask: linear-gradient(180deg, transparent 0, #000 5rem, #000 calc(100% - 2rem), transparent 100%);
  }
}
body .hero .hero__title, body .hero .hero__subtitle, body .page-hero h1, body .page-hero .page-hero__subtitle, .cv-hero h1, .cv-hero__sub { text-shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 2px 24px rgba(0, 0, 0, .35); }
/* Carnevale in its own colours, red and white (18 Oct 2026) */
.cv { --cv-red: #c8102e; }
.cv-confetti { height: 14px; background: repeating-linear-gradient(90deg, var(--cv-red) 0 28px, #fff 28px 56px); border-block: 1px solid rgba(200, 16, 46, .25); }
.cv-hero__eyebrow { background: var(--cv-red); color: #fff; }
.cv-card, .cv-why__list li { --c: var(--cv-red) !important; }
.cv-card__time { color: var(--cv-red); }
.cv-card::before { background: repeating-linear-gradient(90deg, var(--cv-red) 0 18px, #fff 18px 36px); height: 8px; }
.cv-why__list li { border-left-color: var(--cv-red); }
.cv-links a::after { color: var(--cv-red); }
.cv-links a:hover { background: #fbe9ec; }
/* ===== Eventi, second version (18 Oct 2026): invitation card + request form under the awning ===== */
.ev-occ { padding-block: var(--section); }
.ev-invite { position: relative; max-width: 1040px; margin: 0 auto; padding: clamp(2rem, 5vw, 3.75rem) clamp(1.25rem, 5vw, 4rem); background: #fff; border: 1px solid var(--sand); box-shadow: inset 0 0 0 8px #fff, inset 0 0 0 9px var(--sand); text-align: center; }
.ev-invite__lead { max-width: 40rem; margin: 0 auto; font-family: var(--serif); font-size: clamp(1.35rem, 1.1rem + 1.2vw, 1.9rem); line-height: 1.35; color: var(--ink); text-wrap: balance; }
.ev-invite__list { display: grid; gap: 0; margin: clamp(1.75rem, 4vw, 2.75rem) 0 0; padding: 0; list-style: none; }
.ev-invite__list li { padding: 1.4rem .5rem; border-top: 1px solid var(--sand); }
.ev-invite__list h2, .ev-invite__list h3 { margin: 0 0 .45rem; font-family: var(--serif); font-size: var(--step-2); color: var(--sea); }
.ev-invite__list p { margin: 0 auto; max-width: 22rem; color: var(--muted); line-height: 1.6; }
@media (min-width: 760px) {
  .ev-invite__list { grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--sand); }
  .ev-invite__list li { border-top: 0; padding: 1.75rem 1.5rem .25rem; }
  .ev-invite__list li + li { border-left: 1px solid var(--sand); }
}

.ba-gallery--light { background: var(--foam, #f7f5f0); color: var(--ink); }
.ba-gallery--light h2 { color: var(--ink); }

/* ===== One "Orari" block everywhere (18 Oct 2026) ===== */
.ba-orari { margin: 0; }
.ba-orari__status { margin: 0 0 .6em; font-weight: 600; color: inherit; }
.ba-orari.is-closed .ba-hours { opacity: .85; }
.ba-hours caption { text-align: left; padding: 0 0 .35em; font-weight: 700; caption-side: top; }
.ba-hours-block { margin: 1.25em 0; }
.site-footer__hours .ba-orari__status { color: var(--sand); }
.site-footer__hours .ba-hours th, .site-footer__hours .ba-hours td { padding: .3em 0; }
/* ===== Phone/tablet menu: the same collapsed switcher as on computers («IT ⌄»), opening upwards from the button;
   it folds again when a language is chosen, on a tap elsewhere and when the menu closes (26 Oct 2026) ===== */
@media (max-width: 1199.98px) {
  .site-nav__language-row { justify-content: flex-start !important; }
  .site-nav__language-row .site-nav__language-label { display: none !important; }
  .site-nav__language-row .language-trigger { display: flex; min-width: 72px; min-height: 44px; padding: .5rem .9rem; border: 1px solid rgba(255, 255, 255, .45); border-radius: 8px; font-size: .9375rem; }
  .site-nav__language-row .language-trigger[aria-expanded="true"] { border-color: var(--sand); }
  .site-nav__language-row .language-panel { inset: auto auto var(--language-bottom, auto) var(--language-left, 12px); }
}

/* 22 Oct 2026: phone menu fits short screens (in-app browsers such as Instagram/Facebook) without a scrollbar */
@media (max-width: 1199px) and (max-height: 760px) {
  html body .site-nav__language-row { min-height: 44px !important; padding-top: .25rem !important; margin-top: .5rem !important; }
}
/* 25 Oct 2026 – site review: on phones, secondary text 16 px (cards, captions, banners, forms, footer, cookie box) for reading in sunlight. */
@media (max-width: 760px) {
  html .bch-facts__list[class] li, html .bch-card[class] p, html .bch-gallery__grid[class] figcaption, html .ba-banner[class] p, html .ev-form[class] label, html .ev-form2[class] legend, html .ev-field[class] > span, html .ev-chip[class] span, html .ev-err[class], html .site-footer[class], html .site-footer__title[class], html .cc-text[class], html .cc-cat[class] p, html .cc-always[class], html .announcement[class], html .embed__text[class], html .review[class] figcaption, html .translation-notice[class], html .site-nav__language-row[class] .language-options a, html .info[class] dt, html .intro[class] .info dt { font-size: 1rem; }
  html .site-footer__base[class] { font-size: .875rem; }
  /* Beach page: the address goes under the questions, not between the heading and the list. */
  html .bch-faq__grid[class] { display: flex; flex-direction: column; }
  html .bch-faq__grid[class] > div:first-child { display: contents; }
  html .bch-faq__grid[class] .bch-faq__list { order: 1; }
  html .bch-faq__grid[class] .bch-faq__where { order: 2; margin-top: 24px; }
}
/* Cookie banner folded (approved 25 Oct 2026): the Google Analytics and Google Ads paragraphs are shown, word for word,
   under «Scegli tu» (Statistiche, Marketing), so the first screen keeps the page visible. Buttons and behaviour unchanged. */
/* 1 Nov 2026: a smaller cookie box. It covered 46% of a phone screen (58% on an iPhone SE); now about a third, with
   the same words and text size. Smaller title next to the ✕, less padding, «Scegli tu» on the buttons' row (Rifiuta and
   Accetta tutti stay equal). */
html .cc-banner[class] .cc-banner__body { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; column-gap: .5rem; padding: .875rem 1rem .75rem; }
html .cc-banner[class] .cc-title { grid-column: 1 / -1; margin: 0 2.75rem .375rem 0; font-size: 1.125rem; line-height: 1.3; }
html .cc-banner[class] .cc-close { top: .25rem; right: .25rem; }
html .cc-banner[class] .cc-text { grid-column: 1 / -1; margin: 0 0 .75rem; line-height: 1.45; }
html .cc-banner[class] .cc-actions { display: contents; }
html .cc-banner[class] .cc-actions .btn { min-height: 44px; padding-block: .5rem; }
html .cc-banner[class] .cc-more { width: auto; margin: 0; padding-inline: .5rem; }
/* Home hero while closed: the season line between the subtitle and the buttons (sand, like the footer's season line). */
html .hero[class] .hero__season { margin: -.75rem 0 1.75rem; max-width: 34ch; color: var(--sand); font-weight: 600; font-size: 1.0625rem; line-height: 1.45; text-shadow: 0 1px 2px rgba(0, 0, 0, .45), 0 2px 18px rgba(0, 0, 0, .35); }
@media (max-width: 760px) { html .hero[class] .hero__season { margin: -.5rem 0 1.25rem; } }


/* ===== Design tokens (Astro settings.css) ===== */
:root{--sea:#16264d;--sea-2:#22376a;--stripe:#236b85;--foam:#fafbf9;--white:#fff;--sand:#dccba8;--sand-deep:#cbb68d;--sand-dark:#75613d;--sand-2:#f3ecdf;--ink:#121a2e;--muted:#4a5568;--link:#1d6480;--line:#121a2e24;--line-light:#fff3;--step--1:.875rem;--step-0:1.0625rem;--step-1:1.25rem;--step-2:1.5rem;--step-3:clamp(1.75rem, 1.4rem + 1.2vw, 2.25rem);--step-4:clamp(2.125rem, 1.5rem + 2.4vw, 3.25rem);--step-5:clamp(2.75rem, 1.6rem + 4.6vw, 5.25rem);--step-6:clamp(3.5rem, 1.8rem + 8vw, 8.5rem);--gutter:20px;--container:1200px;--header-h:68px;--radius:12px;--section:clamp(3.25rem, 2rem + 4.5vw, 6.5rem)}@media (width>=720px){:root{--gutter:32px;--header-h:76px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}:target{scroll-margin-top:calc(var(--header-h) + 72px)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--foam);color:var(--ink);font-family:var(--sans);font-size:var(--step-0);-webkit-font-smoothing:antialiased;overflow-wrap:break-word;margin:0;line-height:1.65}img,svg,iframe{max-width:100%;display:block}img{height:auto}h1,h2,h3,h4{font-family:var(--serif);letter-spacing:-.02em;font-optical-sizing:auto;text-wrap:balance;margin:0;font-weight:500;line-height:1.14}h1{font-size:var(--step-5)}h2{font-size:var(--step-4)}h3{font-size:var(--step-3)}p{text-wrap:pretty;margin:0 0 1em}a{color:var(--link);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}strong{font-weight:650}:focus-visible{outline:3px solid var(--stripe);outline-offset:3px;border-radius:4px}.site-header :focus-visible,.site-footer :focus-visible,.hero__panel :focus-visible,.page-hero :focus-visible,.gallery :focus-visible{outline-color:var(--sand)}::selection{background:var(--sand);color:var(--ink)}.container{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section)}.section--sand{background:var(--sand-2)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:200;background:var(--sand);color:var(--ink);border-radius:6px;padding:.75rem 1rem;font-weight:600;position:absolute;top:-100px;left:8px}.skip-link:focus{top:8px}.btn{min-height:48px;font:600 1rem/1.2 var(--sans);text-align:center;cursor:pointer;border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.btn--sand{background:var(--sand);color:var(--ink)}.btn--sand:hover{background:var(--sand-deep)}.btn--sea{background:var(--sea);color:var(--white)}.btn--sea:hover{background:var(--sea-2)}.btn--outline-light{color:var(--white);background:0 0;border-color:#ffffffd9}.btn--outline-light:hover{background:#ffffff1f}.btn--outline{border-color:var(--sea);color:var(--sea);background:0 0}.btn--outline:hover{background:var(--sea);color:var(--white)}.text-link{color:var(--link);font-weight:600}.stripe-band{background:repeating-linear-gradient(90deg, var(--sand) 0 28px, var(--sea) 28px 56px);height:8px}.prose{max-width:68ch}.prose>:first-child{margin-top:0}.prose h2{font-size:var(--step-3);margin:2.5rem 0 1rem}.prose h3{font-family:var(--sans);font-size:var(--step-1);letter-spacing:0;margin:2rem 0 .5rem;font-weight:700}.prose ul,.prose ol{margin:0 0 1.25em;padding-left:1.25rem}.prose li{margin-bottom:.5em}.prose li::marker{color:var(--stripe)}.lead{font-size:var(--step-1);line-height:1.55}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}main,.container>*,.prose{min-width:0}.prose{line-height:1.75}.prose a,.site-footer a{overflow-wrap:anywhere}button,input,select,textarea{font-family:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed}.text-link{align-items:center;min-height:44px;display:inline-flex}@media (width<=599px){.lead{font-size:1.125rem}.btn{max-width:100%}}.translation-notice{max-width:var(--container);padding:.75rem var(--gutter);background:var(--sand-2);margin:1rem auto;font-size:.9375rem}.language-switcher{flex:none}.language-trigger{min-width:44px;min-height:44px;color:var(--white);cursor:pointer;font:500 .8125rem var(--sans);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:.35rem;padding:.5rem;display:flex}.language-trigger:hover,.language-trigger[aria-expanded=true]{background:#ffffff1a}.language-panel{inset:var(--language-top,72px) var(--language-right,12px) auto auto;width:180px;max-width:calc(100vw - 24px);max-height:calc(100dvh - var(--language-top,72px) - max(12px, env(safe-area-inset-bottom)));overscroll-behavior:contain;border:1px solid var(--line-light);background:var(--sea);color:var(--white);z-index:100;border-radius:8px;margin:0;padding:8px;display:none;position:fixed;overflow:auto;box-shadow:0 6px 20px #0a10222e}.language-panel:popover-open{display:block}.language-panel[data-open]{display:block}.language-panel::backdrop{background:0 0}.language-options{grid-template-columns:1fr;display:grid}.language-options a{min-height:44px;color:var(--white);font:500 .875rem var(--sans);border-radius:4px;justify-content:space-between;align-items:center;gap:4px;padding:8px 10px;text-decoration:none;display:flex}.language-options a:hover{background:#ffffff1a}.language-options a[aria-current]{color:var(--sand);font-weight:700}.language-options a:focus-visible{outline:2px solid var(--sand);outline-offset:-2px}.language-check{visibility:hidden}.language-options a[aria-current] .language-check{visibility:visible}


/* ===== Header, footer, buttons and cookie box (Astro Base.css) ===== */
.site-header[data-astro-cid-nen7h5rs]{z-index:50;background:var(--sea);color:var(--white);position:sticky;top:0}.site-header__bar[data-astro-cid-nen7h5rs]{min-height:var(--header-h);align-items:center;gap:1rem;display:flex}.site-header__logo[data-astro-cid-nen7h5rs]{min-width:0;color:var(--white);flex:0 auto;align-items:center;text-decoration:none;display:flex}.site-header__logo[data-astro-cid-nen7h5rs] img[data-astro-cid-nen7h5rs]{width:126px;height:auto;max-height:36px}@media (width>=720px){.site-header__logo[data-astro-cid-nen7h5rs] img[data-astro-cid-nen7h5rs]{width:154px;max-height:44px}}.site-nav[data-astro-cid-nen7h5rs]{align-items:center;gap:1.25rem;margin-left:auto;display:flex}.site-nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.site-nav__language-row[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;display:flex}.site-nav__language-label[data-astro-cid-nen7h5rs]{display:none}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--white);white-space:nowrap;border-radius:6px;padding:.625rem .65rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:block}.site-nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{background:#ffffff1a}.site-nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--sand);border-radius:0;font-weight:700}.site-header__actions[data-astro-cid-nen7h5rs]{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.site-header__toggle[data-astro-cid-nen7h5rs]{width:48px;height:48px;color:var(--white);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0;display:none}.burger[data-astro-cid-nen7h5rs],.burger[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs],.burger[data-astro-cid-nen7h5rs]:before,.burger[data-astro-cid-nen7h5rs]:after{background:currentColor;border-radius:2px;width:24px;height:2px;transition:transform .2s,opacity .2s;display:block}.burger[data-astro-cid-nen7h5rs]{background:0 0;margin:auto;position:relative}.burger[data-astro-cid-nen7h5rs]:before,.burger[data-astro-cid-nen7h5rs]:after{content:"";position:absolute;left:0}.burger[data-astro-cid-nen7h5rs]:before{top:-7px}.burger[data-astro-cid-nen7h5rs]:after{top:7px}@media (width<=1199px){.site-header__actions[data-astro-cid-nen7h5rs]{margin-left:auto}.site-header__toggle[data-astro-cid-nen7h5rs]{display:block}.site-nav__language-row[data-astro-cid-nen7h5rs]{flex:none;min-height:52px;padding-top:.5rem}.site-nav__language-label[data-astro-cid-nen7h5rs]{color:#ffffffd9;font-size:.875rem;display:block}}@media (width<=380px){.site-header__logo[data-astro-cid-nen7h5rs] img[data-astro-cid-nen7h5rs]{width:110px;max-height:30px}.site-header__bar[data-astro-cid-nen7h5rs]{gap:.5rem}}.site-header[data-astro-cid-nen7h5rs] :focus-visible{outline-color:var(--white)}.site-header[data-astro-cid-nen7h5rs][data-pointer-focus] :focus{outline:none}@media (width>=1200px){.site-header[data-astro-cid-nen7h5rs] :focus-visible{outline-color:var(--white)}.site-header[data-astro-cid-nen7h5rs][data-pointer-focus] :focus{outline:none}}.site-footer[data-astro-cid-jo6i4kqk]{background:var(--sea);color:#ffffffdb;font-size:.9375rem}.site-footer[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--white);text-decoration:none}.site-footer[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{text-decoration:underline}.site-footer__grid[data-astro-cid-jo6i4kqk]{gap:2.5rem;padding-block:4rem 3rem;display:grid}@media (width>=720px){.site-footer__grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr}}@media (width>=1000px){.site-footer__grid[data-astro-cid-jo6i4kqk]{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr)}}.site-footer__logo[data-astro-cid-jo6i4kqk]{margin-bottom:1.25rem;display:inline-block}.site-footer__logo[data-astro-cid-jo6i4kqk] img[data-astro-cid-jo6i4kqk]{width:auto;height:52px}.site-footer__brand[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{max-width:38ch}.site-footer__title[data-astro-cid-jo6i4kqk]{font-family:var(--sans);letter-spacing:0;color:var(--sand);margin-bottom:1rem;font-size:.9375rem;font-weight:700}.site-footer__list[data-astro-cid-jo6i4kqk],.site-footer__social[data-astro-cid-jo6i4kqk]{margin:0;padding:0;list-style:none}.site-footer__list[data-astro-cid-jo6i4kqk] li[data-astro-cid-jo6i4kqk]{margin-bottom:.25rem}.site-footer__social[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;display:flex}.site-footer__social[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{border:1.5px solid var(--line-light);border-radius:999px;padding:.375rem .875rem;font-weight:600;display:inline-block}.site-footer__social[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{border-color:var(--white);text-decoration:none}.site-footer__linkbtn[data-astro-cid-jo6i4kqk]{text-align:left;min-height:44px;color:var(--white);font:inherit;cursor:pointer;background:0 0;border:0;padding:.5rem 0}.site-footer__linkbtn[data-astro-cid-jo6i4kqk]:hover{text-decoration:underline}.site-footer__base[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line-light);color:#ffffffb3;padding-block:1.25rem 2rem;font-size:.8125rem}.site-footer__base[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{margin:0}.site-footer__list[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{padding-block:.5rem;display:inline-block}.site-footer__social[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{min-height:44px}@media (width>=480px) and (width<=719px){.site-footer__grid[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer__brand[data-astro-cid-jo6i4kqk]{grid-column:1/-1}}.cc-banner[data-astro-cid-hq3mgpmn]{z-index:100;left:8px;right:8px;bottom:max(8px, env(safe-area-inset-bottom));background:var(--white);max-width:460px;max-height:calc(100dvh - 32px);color:var(--ink);box-shadow:0 20px 50px #0a102247, 0 0 0 1px var(--line);border-radius:14px;position:fixed;overflow-y:auto}@media (width>=720px){.cc-banner[data-astro-cid-hq3mgpmn]{bottom:24px;left:auto;right:24px}}.cc-banner__body[data-astro-cid-hq3mgpmn]{padding:1.25rem 1.25rem 1rem;position:relative}.cc-close[data-astro-cid-hq3mgpmn]{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:.5rem;right:.5rem}.cc-close[data-astro-cid-hq3mgpmn]:hover{background:var(--foam);color:var(--ink)}.cc-title[data-astro-cid-hq3mgpmn]{margin:0 2.5rem .5rem 0;font-size:1.5rem}.cc-text[data-astro-cid-hq3mgpmn]{color:var(--muted);font-size:.9375rem;line-height:1.55}.cc-actions[data-astro-cid-hq3mgpmn]{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.cc-actions[data-astro-cid-hq3mgpmn] .btn[data-astro-cid-hq3mgpmn]{padding-inline:.75rem}.cc-more[data-astro-cid-hq3mgpmn]{width:100%;min-height:44px;color:var(--link);font:600 .9375rem var(--sans);text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;margin-top:.25rem;text-decoration:underline;display:block}.cc-dialog[data-astro-cid-hq3mgpmn]{background:var(--white);width:min(560px,100vw - 16px);max-height:calc(100dvh - 32px);color:var(--ink);border:0;border-radius:14px;padding:0;box-shadow:0 30px 60px #0a102259}.cc-dialog[data-astro-cid-hq3mgpmn]::backdrop{background:#16264d8c}.cc-dialog__body[data-astro-cid-hq3mgpmn]{padding:1.5rem;position:relative}.cc-cat[data-astro-cid-hq3mgpmn]{border-top:1px solid var(--line);padding:1rem 0}.cc-cat[data-astro-cid-hq3mgpmn] p[data-astro-cid-hq3mgpmn]{color:var(--muted);margin:.25rem 0 0;font-size:.9375rem;line-height:1.5}.cc-cat__head[data-astro-cid-hq3mgpmn]{justify-content:space-between;align-items:center;gap:1rem;display:flex}.cc-cat[data-astro-cid-hq3mgpmn] h3[data-astro-cid-hq3mgpmn]{font-family:var(--sans);letter-spacing:0;font-size:1.0625rem;font-weight:700}.cc-always[data-astro-cid-hq3mgpmn]{color:var(--stripe);font-size:.875rem;font-weight:600}.cc-switch[data-astro-cid-hq3mgpmn]{appearance:none;cursor:pointer;background:#b9c6cb;border-radius:999px;flex:none;width:64px;height:44px;margin:0;transition:background-color .15s;position:relative}.cc-switch[data-astro-cid-hq3mgpmn]:after{content:"";background:var(--white);border-radius:50%;width:32px;height:32px;transition:transform .15s;position:absolute;top:6px;left:6px;box-shadow:0 1px 3px #00000040}.cc-switch[data-astro-cid-hq3mgpmn]:checked{background:var(--stripe)}.cc-switch[data-astro-cid-hq3mgpmn]:checked:after{transform:translate(20px)}.cc-actions--dialog[data-astro-cid-hq3mgpmn]{grid-template-columns:1fr 1fr;margin-top:.5rem}.cc-actions--dialog[data-astro-cid-hq3mgpmn] [data-astro-cid-hq3mgpmn][data-cc=save]{grid-column:1/-1}.cc-policy-link[data-astro-cid-hq3mgpmn]{margin-inline-start:.25em}main[data-astro-cid-hkbrpulz]:focus{outline:none}


/* ===== Icon links ===== */
.ba-icon-link{display:inline-flex!important;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding:10px!important;border:1px solid currentColor;border-radius:50%;line-height:1;text-decoration:none!important;flex-shrink:0}.ba-icon-link svg{display:block;width:24px;height:24px}.ba-icon-link:hover{opacity:.75}.ba-icon-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}.site-footer__social{gap:.75rem!important;flex-wrap:wrap}.review-actions .ba-icon-link{color:var(--sea)}


/* ===== Wave edges under the heroes and above sand sections ===== */
.page-hero::after,.hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:clamp(22px,3.4vw,48px);background:var(--foam);-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201440%2048%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%2024C180%200%20360%200%20540%2024S900%2048%201080%2024%201320%200%201440%2024V48H0Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201440%2048%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%2024C180%200%20360%200%20540%2024S900%2048%201080%2024%201320%200%201440%2024V48H0Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat;pointer-events:none;z-index:2}
.cta-band,.section--sand{position:relative}
.cta-band::before,.section--sand::before{content:"";position:absolute;left:0;right:0;bottom:calc(100% - 1px);height:clamp(22px,3.4vw,48px);background:inherit;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201440%2048%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%2024C180%200%20360%200%20540%2024S900%2048%201080%2024%201320%200%201440%2024V48H0Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201440%2048%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%2024C180%200%20360%200%20540%2024S900%2048%201080%2024%201320%200%201440%2024V48H0Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat;pointer-events:none}
.review{border-radius:24px 8px 24px 8px!important}
@media print{.page-hero::after,.hero::after,.cta-band::before,.section--sand::before{display:none}}

/* ===== Design review (1 Nov 2026) ===== */
/* Text colours for reading in sunlight: grey text, links and the teal and Carnevale-red labels reach 7:1 on the
   off-white, white and sand backgrounds (were 5.2-6.6:1). */
:root { --muted: #3f4859; --link: #16536b; }
body .intro .intro__title { color: #1a5970; }
.cv-card__time { color: #a30d25; }
.cv-hero__eyebrow { background: #a30d25; }
.cv small { color: var(--muted); }

/* «Cosa trovi in spiaggia»: a plain list with the icons beside each item, not eight identical cards. */
.bch-services__grid { grid-template-columns: 1fr; gap: 0 3rem; }
.bch-card { display: grid; grid-template-columns: auto 1fr; column-gap: 1rem; align-items: start; padding: 1.125rem 0; border: 0; border-top: 1px solid rgba(18, 26, 46, .14); border-radius: 0; background: none; }
.bch-card .bch-ic--lg { grid-row: span 2; width: 40px; height: 40px; background: none; color: var(--sea); }
.bch-card h3 { margin: .2rem 0 .25rem; }
@media (width >= 720px) {
  .bch-services__grid { grid-template-columns: 1fr 1fr; gap: 0 3rem; }
  .bch-card { padding: 1.25rem 0; }
}

/* Home «Scopri il nostro stabilimento»: the rows' titles one step below the section title, so the page reads as
   sections with parts; the photos a little less tall, so text and photo read as one row. */
body .discover .feature .feature__text h3 { font-size: var(--step-3); }
body .discover .feature .feature__img { aspect-ratio: 3 / 2; }

/* The season notice takes less of a phone's first screen (same words and size, tighter lines). */
@media (max-width: 760px) {
  html .ba-banner[class] { padding-block: .45rem; }
  html .ba-banner[class] p { line-height: 1.35; }
}

/* Two corner sizes: 12 px for boxes and photos, 8 px for buttons and fields (pills and circles stay round). */
.review, .cv-card, .cv-links a, .ev-form2, .cc-banner, .cc-dialog { border-radius: var(--radius) !important; }
html .cv-btn, html .ev-send, html .tb-call, html .tb-check, html .tb-status, html .ev-form2 input:not([type="radio"]), html .ev-form2 textarea, html .ev-form2 select { border-radius: 8px; }
html .ev-stepper button:first-child { border-radius: 8px 0 0 8px; }
html .ev-stepper button:last-child { border-radius: 0 8px 8px 0; }

/* The awning stripe is the site's edge: the heroes end on a sand-and-navy stripe like the beach's awnings (the footer,
   the cookie box and Carnevale already use it) instead of the generic wave; the sand sections start on a plain edge. */
.page-hero::after, .hero::after { height: 12px; bottom: 0; background: repeating-linear-gradient(90deg, var(--sand) 0 28px, var(--sea) 28px 56px); -webkit-mask: none; mask: none; }
.cta-band::before, .section--sand::before { display: none; }

/* Spiaggia: the «AMEDEA» sign at the entrance, the most recognisable thing on the beach, gets a tall frame on computers. */
@media (min-width: 900px) {
  .bch-intro__img { aspect-ratio: 4 / 5; object-position: 14% 50%; }
}
