/* =====================================================================
   Locanda Gaia — stile pagine guida (cosa-vedere-muggia, dove-dormire-muggia)
   ===================================================================== */

/* ---- Hero ----------------------------------------------------------- */
.guide-hero { position: relative; padding: calc(var(--nav-h) + 70px) 0 64px; color: #fff; overflow: hidden; }
.guide-hero__bg { position: absolute; inset: 0; z-index: -2; }
.guide-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.guide-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10,18,45,0.60), rgba(10,18,45,0.84)); }
.guide-hero h1 { color: #fff; font-size: clamp(2.3rem, 5.5vw, 3.6rem); margin: 6px 0 12px; text-shadow: 0 2px 10px rgba(8,14,34,0.4); }
.guide-hero p { color: rgba(255,255,255,0.92); max-width: 60ch; font-size: 1.05rem; }
.guide-hero .eyebrow { color: var(--gold-soft); border: 0; margin-bottom: 8px; }

/* breadcrumb dentro l'hero */
.breadcrumb { font-size: 0.82rem; color: rgba(255,255,255,0.72); margin-bottom: 18px; }
.breadcrumb a { color: rgba(255,255,255,0.85); text-decoration: none; }
.breadcrumb a:hover { color: var(--gold-soft); text-decoration: underline; }
.breadcrumb span { margin: 0 7px; color: var(--gold-soft); }

/* ---- Corpo articolo -------------------------------------------------- */
.guide { max-width: 780px; margin: 0 auto; padding: 60px 24px 30px; }
.guide__lead { font-size: 1.12rem; color: var(--ink-soft); line-height: 1.75; }
.guide h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); margin: 48px 0 16px; scroll-margin-top: calc(var(--nav-h) + 16px); }
.guide h2::after { content: ""; display: block; width: 44px; height: 2px; background: var(--gold); margin-top: 10px; border-radius: 2px; }
.guide p, .guide li { color: var(--ink-soft); font-size: 1rem; line-height: 1.72; }
.guide p { margin-bottom: 14px; }
.guide ul { list-style: disc; padding-left: 22px; margin: 10px 0 18px; }
.guide li { margin-bottom: 7px; }
.guide a { color: var(--sea); text-decoration: underline; text-underline-offset: 2px; }
.guide a:hover { color: var(--sea-bright); }
.guide b { color: var(--sea-deep); }

/* chip per tempi/distanze in linea */
.guide .chip { text-decoration: none; white-space: nowrap; vertical-align: 1px; }

/* ---- Indice "In questa guida" ---------------------------------------- */
.guide-toc { background: var(--cream); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px 24px; margin: 28px 0 8px; }
.guide-toc b { display: block; font-family: var(--font-display); font-size: 1.2rem; color: var(--sea-deep); margin-bottom: 10px; }
.guide-toc ol { list-style: none; padding: 0; margin: 0; columns: 2; column-gap: 28px; }
.guide-toc li { margin: 0 0 8px; break-inside: avoid; font-size: 0.95rem; }
.guide-toc a { color: var(--ink-soft); text-decoration: none; display: inline-flex; align-items: baseline; gap: 8px; }
.guide-toc a::before { content: "→"; color: var(--gold); font-size: 0.85rem; }
.guide-toc a:hover { color: var(--sea-deep); text-decoration: underline; }
@media (max-width: 560px) { .guide-toc ol { columns: 1; } }

/* ---- Figure --------------------------------------------------------- */
.guide figure { margin: 22px 0 26px; }
.guide figure img { width: 100%; border-radius: var(--radius); box-shadow: var(--shadow); display: block; }
.guide figcaption { font-size: 0.82rem; color: var(--muted); margin-top: 10px; text-align: center; font-style: italic; }
/* variante compatta: foto più piccola, centrata */
.guide figure.figure--sm { max-width: 440px; margin-left: auto; margin-right: auto; }

/* mini-galleria camere (3 foto) */
.guide-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 20px 0 26px; }
.guide-gallery img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: var(--radius-sm); box-shadow: var(--shadow-sm); transition: transform 0.4s var(--ease); display: block; }
.guide-gallery a:hover img { transform: translateY(-4px); }
@media (max-width: 560px) { .guide-gallery { gap: 8px; } }

/* ---- Box CTA -------------------------------------------------------- */
.cta-box { position: relative; overflow: hidden; background: var(--sea-deep); color: #fff; border-radius: var(--radius); padding: 34px 30px; margin: 40px 0; text-align: center; box-shadow: var(--shadow); }
.cta-box::before { content: ""; position: absolute; inset: 0; background: radial-gradient(90% 120% at 85% 0%, rgba(193,154,78,0.22), transparent 60%); pointer-events: none; }
.cta-box > b { display: block; font-family: var(--font-display); font-size: 1.6rem; font-weight: 600; margin-bottom: 10px; color: #fff; }
.cta-box p { color: rgba(255,255,255,0.85); margin: 0 auto 20px; max-width: 48ch; }
.cta-box p b { color: #fff; }
.cta-box p a { color: var(--gold-soft); }
.cta-box .btn { text-decoration: none; }

/* ---- Mappa (pagina come-arrivare) ------------------------------------ */
.guide-map { border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); border: 1px solid var(--line); margin: 20px 0 14px; }
.guide-map iframe { display: block; width: 100%; height: 380px; border: 0; }
@media (max-width: 560px) { .guide-map iframe { height: 300px; } }

/* ---- Tabella distanze ------------------------------------------------ */
.table-wrap { overflow-x: auto; margin: 16px 0 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--cream); }
.guide table { width: 100%; border-collapse: collapse; font-size: 0.95rem; min-width: 420px; }
.guide th, .guide td { text-align: left; padding: 12px 16px; }
.guide th { background: var(--sea-deep); color: #fff; font-weight: 700; font-size: 0.82rem; letter-spacing: 0.06em; text-transform: uppercase; }
.guide td { border-top: 1px solid var(--line); color: var(--ink-soft); }
.guide td:first-child { font-weight: 600; color: var(--sea-deep); }
.guide tr:hover td { background: rgba(225,231,245,0.35); }

/* ---- FAQ a fisarmonica ----------------------------------------------- */
.faq h2 { margin-bottom: 20px; }
.faq details { background: var(--cream); border: 1px solid var(--line); border-radius: var(--radius-sm); margin-bottom: 10px; overflow: hidden; }
.faq summary { list-style: none; cursor: pointer; padding: 16px 48px 16px 18px; font-weight: 700; color: var(--sea-deep); font-size: 1rem; position: relative; transition: background 0.25s; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; border-radius: 50%; border: 1.5px solid var(--gold); color: var(--gold); display: grid; place-items: center; font-size: 1.05rem; font-weight: 500; transition: transform 0.3s var(--ease), background 0.3s, color 0.3s; }
.faq summary:hover { background: var(--sand); }
.faq details[open] summary::after { content: "–"; background: var(--gold); color: #fff; }
.faq details p { padding: 0 18px 16px; margin: 0; }
.faq details a { color: var(--sea); }

/* ---- CTA band più compatta sulle guide ------------------------------- */
.guide-cta-band { padding: clamp(56px, 7vw, 90px) 0; }
