/* Mobile first: base per telefoni, estensione progressiva per tablet e desktop.
   I selettori sono limitati alle schede: widget e pagine di elenco restano autonomi. */
.detail-page { --ink:#182c3b; --blue:#075c91; --line:#dce4e9; --paper:#fff; color:var(--ink); font-size:16px; line-height:1.6; padding-bottom:84px; }
.detail-page *, .detail-page *::before, .detail-page *::after { box-sizing:border-box; }
.detail-page a { color:var(--blue); text-underline-offset:3px; }
.detail-page a:focus, .detail-page button:focus, .detail-page input:focus, .detail-page select:focus { outline:3px solid #a44200; outline-offset:3px; }
.skip-link { position:fixed; left:12px; top:12px; transform:translateY(-180%); z-index:100000; padding:12px 18px; background:#fff; color:#075c91; border:2px solid; }
.skip-link:focus { transform:none; }
.detail-page .copertina { padding:12px 0 18px; }
.detail-page .detail-eyebrow { margin:0 0 8px; font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--blue); }
.detail-page .copertina h1 { display:block; margin:0 0 16px; color:var(--ink); font-size:30px; font-size:clamp(1.8rem,5vw,3rem); line-height:1.12; letter-spacing:-.035em; text-shadow:none; }
.detail-page .info_tags { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; padding:0; list-style:none; }
.detail-page .info_tags li { margin:0; padding:6px 10px; border:1px solid var(--line); background:var(--paper); border-radius:24px; color:#385064; font-size:14px; line-height:1.4; }
.detail-page .detail-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.detail-page .detail-primary, .detail-page .detail-secondary, .detail-page .detail-expand { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 18px; border:1px solid var(--blue); border-radius:10px; font:inherit; font-weight:700; text-decoration:none; cursor:pointer; }
.detail-page .detail-primary { color:#fff; background:var(--blue); flex:1 1 100%; }
.detail-page .detail-secondary, .detail-page .detail-expand { color:var(--blue); background:#fff; flex:1 1 auto; }
.detail-page .detail-summary { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; margin-top:16px; }
.detail-page .detail-summary strong { font-size:26px; }
.detail-page .detail-status { display:inline-block; padding:5px 10px; background:#eef2f5; color:#455361; border-radius:7px; font-size:14px; }
.detail-page #carousel { overflow:hidden; border-radius:14px; margin-bottom:20px; background:#e8edf0; }
.detail-page #carousel .carousel-img { width:100%; height:260px; object-fit:cover; min-height:0; }
.detail-page #carousel .slick-slide { width:auto; }
.detail-page #carousel .slick-prev, .detail-page #carousel .slick-next { width:44px; height:44px; z-index:2; background:#fff; border-radius:50%; }
.detail-page #carousel .slick-prev { left:12px; }
.detail-page #carousel .slick-next { right:12px; }
.detail-page #carousel .slick-prev:before, .detail-page #carousel .slick-next:before { color:var(--blue); }
.detail-page nav.link-rapidi { position:sticky; top:0; z-index:100; overflow-x:auto; width:100%; height:auto; padding:0; border:1px solid var(--line); border-radius:10px; background:#fff; margin:0 0 24px; scrollbar-width:thin; }
.detail-page nav.link-rapidi ul { display:flex; width:max-content; min-width:100%; margin:0; padding:0; list-style:none; }
.detail-page nav.link-rapidi li { float:none; display:block; margin:0; border:0; }
.detail-page nav.link-rapidi a { display:block; padding:14px 16px; min-height:48px; font-size:14px; white-space:nowrap; border:0; }
.detail-page nav.link-rapidi li.current a { color:var(--ink); border-bottom:3px solid var(--blue); }
.detail-page [id] { scroll-margin-top:76px; }
.detail-page .c_block, .detail-page #prenota .widget { margin-bottom:20px; padding:18px 16px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 5px 18px rgba(20,55,76,.04); }
.detail-page .c_block .c_content { padding:0; }
.detail-page .c_block > .titolo, .detail-page #prenota .widget > h3 { padding:0; margin:0 0 18px; border:0; color:var(--ink); font-size:23px; line-height:1.25; text-align:left; }
.detail-page #prenota .widget.come_funziona { background:#edf5fa; }
.detail-page .come_funziona ul { display:grid; gap:16px; padding:0; }
.detail-page .come_funziona ul li { width:100%; margin:0; float:none; border:0; text-align:left; padding-left:40px; }
.detail-page .come_funziona ul li:before { background:var(--blue); }
.detail-page #prenota .row.single-event, .detail-page #prenota .row.single-bundle { margin:12px 0; padding:18px 14px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.detail-page #prenota .single-event > form, .detail-page #prenota .single-bundle > form { display:flex; flex-direction:column; align-items:stretch; gap:14px; }
.detail-page #prenota .row form > .col { float:none; margin:0; width:100%; text-align:left; }
.detail-page #prenota .row h2 { font-size:19px; line-height:1.35; text-align:left; }
.detail-page #prenota .row h3 { margin:0 0 5px; font-size:26px; color:var(--blue); text-align:left; }
.detail-page #prenota .row p { font-size:15px; line-height:1.5; text-align:left; }
.detail-page #prenota .row .button { min-height:48px; width:100%; border-radius:9px; font-size:16px; }
.detail-page #prenota .bundle-icons { opacity:1; }
.detail-page #prenota .bundle-icons a, .detail-page #prenota .detail-formula-title a.popupDetails { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
.detail-page #prenota .non_disponibile .ordine p { color:#465360; }
.detail-page #prenota .non_disponibile .ordine p:before { color:inherit; }
.detail-page .detail-expander { text-align:center; margin-top:16px; }
.detail-page #menu-evento .scheda-menu { width:100%; margin:0 0 18px!important; padding:0; border:0; max-height:none!important; height:auto!important; overflow:visible!important; text-align:left; font-style:normal; }
.detail-page #menu-evento .scheda-menu p { font-size:16px; line-height:1.6; text-align:left; font-style:normal; }
.detail-page #menu-evento .scheda-menu h5 { font-size:18px; font-style:normal; margin:16px 0; }
.detail-page #menu-evento .scheda-menu strong { display:block; color:var(--blue); margin-top:20px; }
.detail-page #menu-evento .fade-white { display:none!important; }
.detail-page .scheda-programma { max-width:72ch; }
.detail-page .qa-faq { margin:0 0 12px; border:1px solid var(--line); border-radius:9px; padding:12px; }
.detail-page .qa-faq h3 { margin:0; padding:0; font-size:16px; line-height:1.5; }
.detail-page .qa-faq h3 a { display:block; min-height:44px; padding:8px; }
.detail-page .qa-faq p { text-align:left; }
.detail-page .scheda-contatti > .col { width:100%; margin:0 0 20px; float:none; }
.detail-page .scheda-contatto .foto { width:64px; height:64px; }
.detail-page .scheda-contatto .dati { margin-left:76px; }
.detail-page .button-wa { background:#137b35; color:#fff; min-height:48px; }
.detail-page .email { font-size:18px; overflow-wrap:anywhere; }
.detail-page #sticky-footer-prenota { height:auto; padding:10px 16px; padding-bottom:calc(10px + env(safe-area-inset-bottom)); z-index:900; box-shadow:0 -3px 18px #182c3b12; }
.detail-page #sticky-footer-prenota a { background:var(--blue); min-height:48px; padding:12px; border-radius:10px; }
.detail-page select, .detail-page input:not([type=hidden]) { min-height:44px; font-size:16px; max-width:100%; }
.detail-page [hidden] { display:none!important; }
@media (min-width:760px) {
 .detail-page { padding-bottom:0; }
 .detail-page .copertina { padding:22px 0; }
 .detail-page .copertina h1 { max-width:28ch; }
 .detail-page .detail-primary, .detail-page .detail-secondary { flex:0 1 auto; }
 .detail-page #carousel .carousel-img { height:420px; }
 .detail-page .c_block, .detail-page #prenota .widget { padding:28px; }
 .detail-page .come_funziona ul { grid-template-columns:repeat(3,1fr); }
 .detail-page #prenota .single-event > form, .detail-page #prenota .single-bundle > form { flex-direction:row; align-items:center; }
 .detail-page #prenota .row form > .span_6_of_12 { flex:1 1 45%; width:auto; }
 .detail-page #prenota .row form > .span_3_of_12:not(.ordine) { flex:1 1 22%; width:auto; }
 .detail-page #prenota .row form > .ordine { flex:0 1 180px; width:auto; }
 .detail-page .scheda-contatti { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
 .detail-page #sticky-footer-prenota { display:none; }
}
@media (prefers-reduced-motion:reduce) {
 .detail-page *, .detail-page *::before, .detail-page *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* Neutralizza il vecchio titolo a nastro senza cambiare la gerarchia semantica. */
.detail-page .c_block > .titolo { background:transparent; left:0; width:auto; box-shadow:none; text-shadow:none; border-radius:0; }
.detail-page .c_block > .titolo::before, .detail-page .c_block > .titolo::after { display:none; }
.detail-page .scheda-contatti::before, .detail-page .scheda-contatti::after { display:none; }
.detail-page .scheda-contatti .button-wa { background:#137b35; color:#fff; text-shadow:none; }
.detail-page .scheda-contatto { min-height:76px; }
.detail-page .scheda-contatti p { text-align:left; }
.detail-page #menu-evento h5 { font-size:18px; }

.detail-page #prenota .widget > h2 { margin:0 0 18px; font-size:23px; color:var(--ink); line-height:1.25; text-align:left; }
.detail-page #prenota .row .detail-formula-title { font-size:19px; color:var(--ink); line-height:1.35; }

/* Comando informativo distinto dall'acquisto, con contrasto e area di tocco adeguati. */
.detail-page #prenota a.exp_in_bottles { display:inline-flex; align-items:center; min-height:44px; padding:8px 12px; margin-top:8px; color:#075c91; background:#edf5fa; border:1px solid #075c91; border-radius:8px; text-shadow:none; font-size:14px; }

/* Pacchetti: contenuti completi in una colonna, prezzo e stato sotto le due tappe. */
.detail-page #prenota .single-bundle > form { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; }
.detail-page #prenota .single-bundle form > .span_6_of_12 { width:100%; grid-column:1/-1; }
.detail-page #prenota .single-bundle form > .col { min-width:0; flex:none; width:100%; }
.detail-page #prenota .single-bundle .span_6_of_12 > .row { margin:0; padding:12px 0; border:0; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.detail-page #prenota .single-bundle .span_6_of_12 > .row::before, .detail-page #prenota .single-bundle .span_6_of_12 > .row::after { display:none; }
.detail-page #prenota .single-bundle .span_6_of_12 > .row > .col { float:none; width:100%; margin:0; }
.detail-page #prenota .single-bundle .bundle-icons { display:flex; flex-wrap:wrap; gap:8px; }
.detail-page #prenota .single-bundle .bundle-icons a { padding:6px 10px; border:1px solid #dce4e9; border-radius:8px; gap:6px; font-size:14px; text-decoration:none; }
.detail-page #prenota .single-bundle .bundle_plus { display:block; margin:0; font-size:24px; color:#075c91; line-height:1; }
.detail-page #prenota .single-bundle form > .span_3_of_12 { padding:14px; border-radius:10px; background:#f2f6f8; }
@media(min-width:760px){
 .detail-page #prenota .single-bundle > form { grid-template-columns:minmax(0,1fr) minmax(200px,1fr); }
 .detail-page #prenota .single-bundle form > .ordine { align-self:stretch; display:flex; align-items:center; }
}
/* Slider vicini: foto dominanti e niente colonne flottanti dentro le slide. */
.detail-page #nelle-vicinanze > .section { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; }
.detail-page #nelle-vicinanze > .section::before, .detail-page #nelle-vicinanze > .section::after { display:none; }
.detail-page #nelle-vicinanze > .section > .col { width:100%; margin:0; float:none; min-width:0; }
.detail-page .slick-vicinanze .slick-slide > .col { width:100%; margin:0; float:none; }
.detail-page .slick-vicinanze .immaginehome img { display:block; width:100%; height:280px; object-fit:cover; border-radius:10px; }
.detail-page .slick-vicinanze .dettagli { padding:14px 0 10px; }
.detail-page .slick-vicinanze .dettagli p { text-align:left; margin:0; }
.detail-page .slick-vicinanze .dettagli span { font-size:22px; font-weight:700; }
.detail-page .slick-vicinanze { margin:0 0 34px; }
.detail-page .slick-vicinanze .slick-prev, .detail-page .slick-vicinanze .slick-next { width:44px; height:44px; top:140px; z-index:2; background:#075c91; border-radius:50%; }
.detail-page .slick-vicinanze .slick-prev { left:8px; }
.detail-page .slick-vicinanze .slick-next { right:8px; }
.detail-page .slick-vicinanze .slick-dots button { width:44px; height:44px; }
@media(min-width:900px){ .detail-page #nelle-vicinanze > .section { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }

/* Il prezzo totale del pacchetto è leggibile prima delle tappe sul telefono. */
.detail-page #prenota .single-bundle form > .span_3_of_12:not(.ordine) { grid-row:1; }
.detail-page #prenota .single-bundle form > .span_6_of_12 { grid-row:2; }
.detail-page #prenota .single-bundle form > .ordine { grid-row:3; }
@media(min-width:760px){
 .detail-page #prenota .single-bundle form > .span_6_of_12 { grid-row:1; }
 .detail-page #prenota .single-bundle form > .span_3_of_12:not(.ordine) { grid-row:2; grid-column:1; }
 .detail-page #prenota .single-bundle form > .ordine { grid-row:2; grid-column:2; }
 .detail-page #carousel .carousel-img { height:560px; }
}

/* Contrasto minimo: anche i link già visitati e gli stili del widget remoto. */
.detail-page a:link, .detail-page a:visited, .detail-page nav.link-rapidi a:link, .detail-page nav.link-rapidi a:visited { color:#075c91; }
.detail-page a.detail-primary:link, .detail-page a.detail-primary:visited,
.detail-page a.button:link, .detail-page a.button:visited,
.detail-page a.button-wa:link, .detail-page a.button-wa:visited,
.detail-page #sticky-footer-prenota a:link, .detail-page #sticky-footer-prenota a:visited { color:#fff; }
.detail-page .slick-vicinanze .dettagli a.popupDetails { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; }
.detail-page .slick-dots li { width:44px; height:44px; margin:0 2px; }
.detail-page .slick-dots li button, .detail-page .slick-dots li button::before { width:44px; height:44px; line-height:44px; }
.detail-page .scheda-programma a { text-decoration:underline; }

.detail-page #prenota .row .detail-formula-price { color:#075c91; font-size:26px; font-weight:700; line-height:1.3; margin:0 0 6px; }
.detail-page #menu-evento .detail-menu-title { font-size:18px; line-height:1.4; margin:18px 0 12px; }

.detail-page .detail-section-select { display:none; }
@media(max-width:759px){
 .detail-page nav.detail-nav-enhanced ul { display:none; }
 .detail-page nav.detail-nav-enhanced { padding:8px; }
 .detail-page .detail-section-select { display:block; width:100%; min-height:48px; border:1px solid #075c91; border-radius:6px; color:#182c3b; background:#fff; font:inherit; padding:8px; }
}

/* Lo spazio del testo può crescere senza ritaglio delle schede dello slider. */
/* Le sezioni del tema hanno clear:both: Slick richiede slide affiancate. */
.detail-page .slick-vicinanze .slick-slide { clear:none; }
/* Rimuove il limite thumbnail del vecchio tema senza alterare la sorgente dinamica. */
.detail-page .slick-vicinanze .immaginehome img { max-width:none!important; width:100%!important; height:280px!important; }
.detail-page #carousel .carousel { max-height:none; }
