/*
 * Astro Cafè – stili del child theme.
 * Colori, font, spaziature e forme principali sono impostati in Elementor (Kit globale),
 * così restano modificabili dall'editor. Qui solo ciò che Elementor gratuito non offre.
 * Le classi astro-* si assegnano in Elementor > Avanzate > Classi CSS.
 */

:root{
	--astro-crema:#F3E9DA;
	--astro-latte:#FBF5EC;
	--astro-cacao:#592E2D;
	--astro-cacao-soft:#7D5A57;
	--astro-arancio:#CF4A17;   /* scurito da #E8561F: testo bianco leggibile (4,5:1) */
	--astro-sole:#F6C453;
	--astro-salvia:#7E9A6B;
	--astro-ease:cubic-bezier(.23,1,.32,1);        /* ease-out forte: entrate e feedback */
	--astro-ease-move:cubic-bezier(.77,0,.175,1);  /* ease-in-out: cose che si spostano sullo schermo */
}

/* Base "da app" su telefono: niente flash grigio al tocco, tocchi immediati, testi dei pulsanti non selezionabili. */
html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-padding-top:84px}
:where(a,button,[role="button"],summary,label,.elementor-button){touch-action:manipulation}
:where(button,[role="button"],.elementor-button,.astro-menu__cats a,.astro-menu__filters button){-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
/* iOS ingrandisce la pagina se il testo di un campo è sotto i 16 px. */
input,textarea,select{font-size:max(16px,1em)}
body{background:var(--astro-crema);color:var(--astro-cacao);overflow-x:clip}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--astro-arancio);outline-offset:3px;border-radius:8px}
/* Pulsanti: rispondono appena il dito appoggia (scale .97, 140 ms). */
.elementor-button,.astro-mappa__load,.astro-menu__filters button,.astro-menu__cats a{transition:transform 140ms var(--astro-ease),background-color 200ms ease,color 200ms ease!important}
:is(.elementor-button,.astro-mappa__load,.astro-menu__filters button,.astro-menu__cats a):active{transform:scale(.97)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* Raggi del sole dietro l'arco dell'hero: rotazione lentissima. */
.astro-raggi{pointer-events:none}
.astro-raggi img,.astro-raggi svg{animation:astro-ruota 80s linear infinite;transform-origin:50% 50%;will-change:transform}
@keyframes astro-ruota{to{transform:rotate(360deg)}}

/* Arco dell'hero: proporzioni del video (5:6), il video lo riempie tutto. */
.astro-arch{position:relative;aspect-ratio:5/6;height:auto}
.astro-arch>.elementor-widget-video{position:absolute!important;inset:0;width:100%!important;height:100%;margin:0!important}
.astro-arch .elementor-wrapper{aspect-ratio:auto!important;height:100%;--video-aspect-ratio:auto}

/* Footer su fondo cacao: link color latte. */
.elementor .astro-footer a{color:var(--astro-latte);text-underline-offset:3px}
.elementor .astro-footer a:hover{color:var(--astro-sole)}

/* Video hero dentro l'arco: riempie il contenitore senza bande. */
.astro-hero-video,.astro-hero-video .elementor-wrapper,.astro-hero-video .e-hosted-video{height:100%}
.astro-hero-video video{display:block;width:100%;height:100%!important;object-fit:cover;background:var(--astro-crema)}

/* Carosello orizzontale su telefono (prodotti in evidenza). */
@media (max-width:1024px){
	.astro-rail{flex-wrap:nowrap!important;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:16px;scrollbar-width:none;margin-inline:-16px!important;padding-inline:16px!important}
	.astro-rail::-webkit-scrollbar{display:none}
	.astro-rail>.e-con,.astro-rail>.elementor-element{flex:0 0 min(74%,300px)!important;scroll-snap-align:start}
}
.astro-card img{transition:transform .5s var(--astro-ease)}

/* Nastro dei fornitori che scorre. Il contenuto va scritto due volte nel widget. */
.astro-marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.astro-marquee .elementor-widget-container,.astro-marquee>.elementor-heading-title,.astro-marquee p{width:max-content}
.astro-marquee p{display:flex;gap:40px;margin:0;white-space:nowrap;animation:astro-scorri 45s linear infinite}
.astro-marquee p span{display:inline-flex;align-items:center;gap:40px}
.astro-marquee p span::after{content:"";flex:none;width:12px;height:12px;border-radius:50%;background:var(--astro-sole)}
@keyframes astro-scorri{to{transform:translateX(-50%)}}

/* Barra fissa in basso su telefono: Chiama + Ordina. */
.astro-bottom-bar{position:fixed!important;left:12px!important;right:12px!important;width:auto!important;max-width:none!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;top:auto!important;z-index:60;box-shadow:0 10px 30px -12px rgba(89,46,45,.45)}
.astro-bottom-bar .elementor-button{width:100%;min-height:48px;padding-inline:12px;font-size:16px}
body.astro-has-bar{padding-bottom:92px}
@media (min-width:1025px){body.astro-has-bar{padding-bottom:0}}

/* Header sempre visibile in alto, leggermente trasparente. HFE lo stampa in #masthead. */
#masthead{position:sticky!important;top:0;z-index:50}
.admin-bar #masthead{top:32px}
/* Telefono e tablet: header (con il pulsante del menu) sempre visibile in alto mentre si scorre. */
@media (max-width:1024px){#masthead{box-shadow:0 1px 0 color-mix(in srgb,var(--astro-cacao) 10%,transparent)}}
@media (max-width:782px){.admin-bar #masthead{top:0}}
.astro-header{background:color-mix(in srgb,var(--astro-crema) 88%,transparent)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.astro-header .hfe-nav-menu a{text-decoration:none}
/* Il menu occupa lo spazio rimasto ma può restringersi: su telefono il pulsante resta dentro lo schermo. */
.astro-header .elementor-widget-navigation-menu{min-width:0;flex:1 1 0%}

/* Elenco eventi. */
.astro-eventi{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.astro-eventi a{display:flex;gap:18px;align-items:flex-start;padding:16px 20px;border:2px solid var(--astro-cacao);border-radius:24px;background:var(--astro-latte);text-decoration:none;color:var(--astro-cacao)}
.astro-eventi__data{display:grid;place-items:center;flex:none;width:64px;height:72px;border-radius:999px 999px 14px 14px;background:var(--astro-arancio);color:#fff;font-size:14px;text-transform:lowercase}
.astro-eventi__data b{font:400 26px/1 Adventor,sans-serif}
.astro-eventi__testo{display:grid;gap:2px}
.astro-eventi__testo strong{font-size:18px}
.astro-eventi__testo span{font-size:15px;color:var(--astro-cacao-soft)}
.astro-eventi--vuoto{display:grid;gap:16px;justify-items:start}

/* Stato "Aperto ora". */
.astro-aperto{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;min-height:1.5em}
.astro-aperto::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--astro-cacao-soft)}
.astro-aperto.is-open::before{background:var(--astro-salvia);box-shadow:0 0 0 4px color-mix(in srgb,var(--astro-salvia) 25%,transparent)}
.astro-aperto:empty{display:none}

/* Tabella orari. */
.astro-orari{width:100%;border-collapse:collapse;font-size:16px;margin:0}
.astro-orari th,.astro-orari td{padding:9px 0;border:0;border-bottom:1px solid color-mix(in srgb,var(--astro-cacao) 15%,transparent);background:none!important;text-align:left;font-weight:400}
.astro-orari th{padding-right:16px}
.astro-orari td{text-align:right;font-weight:600}
.astro-orari td span{display:block;white-space:nowrap}
.astro-indirizzo{font-style:normal}

/* Mappa: si carica solo dopo il clic. */
.astro-mappa{aspect-ratio:4/3;border-radius:20px;overflow:hidden;display:grid;place-content:center;justify-items:center;gap:12px;text-align:center;padding:20px;font-size:15px;background:repeating-linear-gradient(45deg,#efe2cf 0 12px,#f6ecdd 12px 24px)}
.astro-mappa p{margin:0;max-width:30ch}
.astro-mappa__load{min-height:48px;padding:0 22px;border-radius:999px;border:2px solid var(--astro-cacao);background:var(--astro-latte);color:var(--astro-cacao);font:700 16px/1 Figtree,sans-serif;cursor:pointer}
.astro-mappa__link{font-weight:700;color:var(--astro-cacao)}
.astro-mappa.is-loaded{padding:0;display:block}
.astro-mappa iframe{width:100%;height:100%;border:0;display:block}
@media (min-width:1025px){.astro-mappa{aspect-ratio:16/9}}

/* Etichette (vegano, bio, DOP). */
.astro-tag{display:inline-block;font-size:13px;font-weight:700;line-height:1;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--astro-salvia) 35%,var(--astro-latte));color:var(--astro-cacao)}

/* Menu sincronizzato da LeggiMenu. */
.astro-menu{--gap:clamp(16px,3vw,28px)}
/* Barra delle categorie: resta in alto sotto l'header; scorre di lato con il dito o con le frecce (mouse). */
.astro-menu__catsbar{display:flex;align-items:center;gap:8px;position:sticky;top:64px;z-index:5;background:var(--astro-crema);padding:4px 0 12px;margin-bottom:8px}
@media (min-width:1025px){.astro-menu__catsbar{top:72px}}
.admin-bar .astro-menu__catsbar{top:96px}
@media (max-width:782px){.admin-bar .astro-menu__catsbar{top:64px}}
.astro-menu__cats{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;flex:1 1 auto;min-width:0;padding:2px;scroll-padding-inline:8px;overscroll-behavior-x:contain}
.astro-menu__cats::-webkit-scrollbar{display:none}
/* Sfumatura sul lato dove ci sono altre categorie: si capisce che la barra continua. */
.astro-menu__cats.has-more-end{mask-image:linear-gradient(90deg,#000 calc(100% - 48px),transparent)}
.astro-menu__cats.has-more-start{mask-image:linear-gradient(90deg,transparent,#000 48px)}
.astro-menu__cats.has-more-start.has-more-end{mask-image:linear-gradient(90deg,transparent,#000 48px,#000 calc(100% - 48px),transparent)}
.astro-menu .astro-menu__scroll{flex:none;display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;border:2px solid var(--astro-cacao)!important;background:var(--astro-latte)!important;color:var(--astro-cacao)!important;cursor:pointer;transition:transform 140ms var(--astro-ease),opacity 150ms ease}
.astro-menu__scroll[hidden]{display:none}
.astro-menu__scroll:disabled{opacity:.3;cursor:default}
.astro-menu__scroll:not(:disabled):active{transform:scale(.94)}
.astro-menu__scroll svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
@media (hover:hover) and (pointer:fine){.astro-menu .astro-menu__scroll:not(:disabled):hover{background:color-mix(in srgb,var(--astro-sole) 30%,var(--astro-latte))!important}}
.astro-menu__cats a{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px 0 10px;border-radius:999px;border:2px solid var(--astro-cacao);background:var(--astro-latte);color:var(--astro-cacao);font-weight:600;font-size:15px;text-decoration:none}
.astro-menu__cats svg{width:26px;height:26px;flex:none}
.astro-menu__cats span{max-width:min(60vw,320px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.astro-menu__filters{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 var(--gap)}
.astro-menu__filters button{min-height:44px;padding:0 18px;border-radius:999px;border:2px solid transparent;background:color-mix(in srgb,var(--astro-cacao) 8%,transparent);color:var(--astro-cacao);font:600 15px/1 Figtree,sans-serif;cursor:pointer}
.astro-menu__filters button[aria-pressed="true"]{background:var(--astro-cacao);color:var(--astro-latte)}
.astro-menu__cat{background:var(--astro-latte);border:2px solid var(--astro-cacao);border-radius:28px;padding:clamp(20px,3vw,32px);margin-bottom:var(--gap);scroll-margin-top:140px}
.astro-menu__cat h2{display:flex;align-items:flex-start;gap:12px;margin:0 0 8px;font-family:Adventor,sans-serif;font-weight:400;font-size:clamp(26px,3.4vw,36px);color:var(--astro-cacao)}
.astro-menu__cat h2 svg{width:40px;height:40px;flex:none;margin-top:-2px}
.astro-menu__cat ul{list-style:none;margin:0;padding:0;display:grid;column-gap:48px}
@media (min-width:900px){.astro-menu__cat ul{grid-template-columns:1fr 1fr}}
.astro-menu__cat li{padding:14px 0;border-bottom:1px solid color-mix(in srgb,var(--astro-cacao) 14%,transparent)}
.astro-menu__row{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.astro-menu__row h3{margin:0;font:600 17px/1.3 Figtree,sans-serif;color:var(--astro-cacao)}
.astro-menu__price{font-family:Adventor,sans-serif;font-size:19px;white-space:nowrap}
.astro-menu__cat li p{margin:4px 0 0;font-size:15px;line-height:1.5;color:var(--astro-cacao-soft)}
.astro-menu__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.astro-menu__allergeni{font-size:13px}
.astro-menu__surgelato{font-size:13px;color:var(--astro-cacao-soft)}
/* Etichette alimentari: vegano e vegetariano in verde salvia (default), le altre in sole. */
.astro-tag--senza-glutine,.astro-tag--senza-lattosio{background:color-mix(in srgb,var(--astro-sole) 40%,var(--astro-latte))}
.astro-tag--piccante{background:color-mix(in srgb,var(--astro-arancio) 22%,var(--astro-latte))}
.astro-menu__note{font-size:14px;color:var(--astro-cacao-soft)}
.astro-menu[data-filter]:not([data-filter="tutto"]) li.is-hidden,.astro-menu__cat.is-hidden{display:none}

/* Comparsa morbida, una volta sola (solo se JS attivo: senza JS tutto resta visibile).
   Si parte già quasi a posto (12 px, opacità 0): niente salti, niente "pop". */
.astro-js .astro-reveal{opacity:0;transform:translateY(12px);transition:opacity .5s var(--astro-ease),transform .5s var(--astro-ease)}
.astro-js .astro-reveal.is-in{opacity:1;transform:none}
.elementor-editor-active .astro-reveal{opacity:1!important;transform:none!important}

/* Le foto ad arco si "aprono" dal basso, come una tenda che si alza sulla vetrata. */
.astro-js .astro-svela img{clip-path:inset(100% 0 0 0);transition:clip-path .7s var(--astro-ease-move)}
.astro-js .astro-svela.is-in img{clip-path:inset(0)}
.elementor-editor-active .astro-svela img{clip-path:none!important}

/* Elenco contatti (shortcode [astro_contatti]): icone line-art, tocchi da 44 px. */
.astro-contatti{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.astro-contatti a{display:flex;align-items:center;gap:12px;min-height:44px;color:inherit;text-decoration:none;overflow-wrap:anywhere}
.astro-contatti svg{width:28px;height:28px;flex:none}
.astro-contatti--footer svg{width:22px;height:22px}
@media (hover:hover) and (pointer:fine){.astro-contatti--lista a:hover span{text-decoration:underline;text-underline-offset:3px}}

/* Footer: testi, orari e titoli su fondo cacao. */
.astro-footer,.astro-footer .elementor-widget-text-editor{color:var(--astro-latte)}
.astro-footer .elementor-heading-title{color:var(--astro-sole)!important}
.astro-footer .astro-orari{font-size:15px}
.astro-footer .astro-orari th,.astro-footer .astro-orari td{border-bottom-color:color-mix(in srgb,var(--astro-latte) 18%,transparent);color:var(--astro-latte);padding:7px 0}

/* Fascia di fiducia sotto l'hero: linee di piombo sopra e sotto, come nel logo. */
.astro-fiducia .elementor-icon-box-title{margin-bottom:2px!important}
.astro-fiducia .elementor-icon-box-description{font-size:15px}

/* Menu ☰ su telefono: la tendina scende dall'header (200 ms, ease-out), si chiude più in fretta. */
@media (max-width:1024px){
	.astro-header nav.hfe-dropdown{transform:translateY(-8px);transform-origin:top;transition:opacity 150ms var(--astro-ease),transform 150ms var(--astro-ease),visibility 0s linear 150ms!important;border-radius:0 0 24px 24px;overflow:hidden;box-shadow:0 18px 30px -18px rgba(89,46,45,.45)}
	.astro-header nav.hfe-dropdown.menu-is-active{transform:none;transition:opacity 200ms var(--astro-ease),transform 200ms var(--astro-ease),visibility 0s!important}
	.astro-header nav.hfe-dropdown a.hfe-menu-item{padding-inline:16px!important}
}

/* Filtri del menu: le voci che ricompaiono entrano in dissolvenza (niente "salto"). */
.astro-menu__cat,.astro-menu__cat li{transition:opacity 150ms var(--astro-ease)}
.astro-menu .is-entering{opacity:0;transition:none}

/* Mappa: compare in dissolvenza quando Google ha caricato, invece del lampo bianco. */
.astro-mappa iframe{opacity:0;transition:opacity 250ms var(--astro-ease)}
.astro-mappa iframe.is-loaded{opacity:1}

/* Messaggio "Grazie!" dopo l'invio del modulo: momento raro, piccola entrata morbida. */
.ff-message-success{animation:astro-entra 300ms var(--astro-ease) both;border-radius:20px;border:2px solid var(--astro-salvia)!important;background:color-mix(in srgb,var(--astro-salvia) 18%,var(--astro-latte))!important;color:var(--astro-cacao)!important;padding:20px!important}
@keyframes astro-entra{from{opacity:0;transform:scale(.97)}}

/* Modulo contatti con lo stile del sito. */
.fluentform .ff-el-form-control{border:2px solid color-mix(in srgb,var(--astro-cacao) 30%,transparent)!important;border-radius:14px!important;background:#fff!important;min-height:52px;color:var(--astro-cacao)!important;transition:border-color 150ms ease}
.fluentform .ff-el-form-control:focus{border-color:var(--astro-cacao)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--astro-sole) 45%,transparent)!important}
.fluentform .ff-el-input--label label{font-weight:600;color:var(--astro-cacao)}
.fluentform .ff-btn-submit{border-radius:999px!important;font:700 18px/1 Figtree,sans-serif!important;padding:17px 28px!important;transition:transform 140ms var(--astro-ease),background-color 200ms ease!important}
.fluentform .ff-btn-submit:active{transform:scale(.97)}
.fluentform .error,.fluentform .text-danger{color:#B3261E!important;font-size:14px}

/* Hover solo con mouse vero: su telefono l'hover "resta attaccato" dopo il tocco. */
@media (hover:hover) and (pointer:fine){
	.astro-card:hover img{transform:scale(1.04)}
	.astro-marquee:hover p{animation-play-state:paused}
	.astro-menu__cats a:hover{background:color-mix(in srgb,var(--astro-sole) 30%,var(--astro-latte))}
	.astro-menu__filters button:not([aria-pressed="true"]):hover{background:color-mix(in srgb,var(--astro-cacao) 14%,transparent)}
}

/* "Riduci movimento": via spostamenti e rotazioni, restano le dissolvenze che aiutano a capire. */
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}
	.astro-js .astro-reveal{transform:none;transition:opacity .3s ease}
	.astro-js .astro-svela img{clip-path:none;transition:none}
	:is(.elementor-button,.astro-mappa__load,.astro-menu__filters button,.astro-menu__cats a,.fluentform .ff-btn-submit):active{transform:none}
	.astro-header nav.hfe-dropdown{transform:none!important}
	.ff-message-success{animation:astro-dissolvi 200ms ease both!important}
}
@keyframes astro-dissolvi{from{opacity:0}}

/* ---------- Animazioni Motion (assets/js/astro-motion.js, sorgente in src/motion/) ---------- */
@property --astro-shutter{syntax:"<number>";inherits:true;initial-value:1}
@property --astro-strike{syntax:"<number>";inherits:true;initial-value:1}

/* Saracinesca sulla vetrata dell'hero: chiusa al primo frame, Motion la arrotola verso l'alto
   (--astro-shutter da 1 a 0). Copre solo la finestra ovale del video. Solo prima visita, solo home. */
.astro-intro .astro-arch::after{content:"dalle 6:00"/"";position:absolute;inset:4% 17% 3.5%;z-index:3;border-radius:999px;display:grid;place-items:center;padding-top:25%;
	font:400 clamp(20px,2.6vw,32px)/1 Adventor,sans-serif;color:var(--astro-sole);
	background:linear-gradient(var(--astro-arancio),var(--astro-arancio)) 0 calc(var(--astro-shutter)*100%)/100% 12px no-repeat,
		repeating-linear-gradient(to bottom,#6b3b39 0 3px,var(--astro-cacao) 3px 15px,#47201f 15px 18px);
	clip-path:inset(0 0 calc((100% - 12px)*(1 - var(--astro-shutter))) 0);
	animation:astro-sicurezza .3s 3s forwards}
/* Se lo script non parte, dopo 3 secondi la saracinesca sparisce comunque. */
@keyframes astro-sicurezza{to{opacity:0;visibility:hidden}}
.elementor-editor-active .astro-arch::after{display:none}

/* Prezzo in promo: la riga sul vecchio prezzo si disegna da sinistra. */
.astro-prezzo-vecchio{opacity:.8!important}
.astro-motion .astro-prezzo-vecchio{text-decoration:none;position:relative;display:inline-block}
.astro-motion .astro-prezzo-vecchio::after{content:"";position:absolute;left:-.08em;right:-.08em;top:52%;height:.09em;min-height:2px;background:currentColor;transform:scaleX(var(--astro-strike));transform-origin:left center}
.astro-prezzo-nuovo{display:inline-block;transform-origin:30% 70%}

/* Filtri del menu: la pillola scura sta sotto i pulsanti e scivola sul filtro scelto. */
.astro-menu__filters.has-pill{position:relative}
.astro-menu__pill{position:absolute;left:0;top:0;border-radius:999px;background:var(--astro-cacao);pointer-events:none;z-index:0}
.has-pill button{position:relative;z-index:1}
.has-pill button[aria-pressed="true"]{background:transparent}

/* Stelle delle recensioni accese una a una. */
.astro-stella{display:inline-block}

/* "Aperto ora": il punto verde respira piano, come una spia accesa. */
.astro-aperto.is-open::before{animation:astro-respiro 2.6s ease-in-out infinite}
@keyframes astro-respiro{50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--astro-salvia) 12%,transparent)}}

/* "Da provare" su computer: più aria tra le schede, nome e prezzo non si toccano. */
@media (min-width:1025px){.astro-rail{column-gap:32px!important}.astro-rail>.astro-card{flex:1 1 0%!important;width:auto!important;min-width:0}}
/* Se nome e prezzo non stanno sulla stessa riga, il prezzo va a capo invece di uscire dalla scheda. */
.astro-card .e-con:has(>.elementor-widget .astro-prezzo){flex-wrap:wrap!important;column-gap:12px!important;row-gap:2px!important}
.astro-card .elementor-widget:has(.astro-prezzo){flex:none}

/* Banner cookie su telefono: pannello in basso, non copre il centro della pagina. */
@media (max-width:767px){
	#cmplz-cookiebanner-container .cmplz-cookiebanner{top:auto!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;left:12px!important;right:12px!important;width:auto!important;max-width:none!important;transform:none!important;max-height:calc(100dvh - 120px);overflow:auto}
}
.cmplz-cookiebanner .cmplz-btn{min-height:44px}
/* Su telefono "Accetta" e "Rifiuta" affiancati e grandi uguali, "Preferenze" sotto: pannello più basso. */
@media (max-width:767px){
	.cmplz-cookiebanner .cmplz-buttons{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
	.cmplz-cookiebanner .cmplz-buttons .cmplz-btn{width:100%!important;margin:0!important}
	.cmplz-cookiebanner .cmplz-buttons :is(.cmplz-view-preferences,.cmplz-save-preferences,.cmplz-manage-options){grid-column:1/-1}
	.cmplz-cookiebanner{padding:16px!important;row-gap:10px!important}
	.cmplz-cookiebanner .cmplz-message{font-size:14px;line-height:1.5}
}

@media (prefers-reduced-motion:reduce){.astro-intro .astro-arch::after{display:none}}

/* Domande frequenti (pagina Colazione a Como): si aprono al tocco, senza JavaScript. */
.astro-faq{border-bottom:1px solid color-mix(in srgb,var(--astro-cacao) 18%,transparent)}
.astro-faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:12px 0;font-weight:700;font-size:18px;cursor:pointer;list-style:none}
.astro-faq summary::-webkit-details-marker{display:none}
.astro-faq summary::after{content:"+";flex:none;font:400 28px/1 Adventor,sans-serif;color:var(--astro-arancio);transition:transform 200ms var(--astro-ease)}
.astro-faq[open] summary::after{transform:rotate(45deg)}
.astro-faq p{margin:0 0 16px;max-width:65ch}
/* Recensioni citate: nome e fonte sotto la frase. */
.astro-recensione__chi{margin:0;font-size:14px;font-weight:700;color:var(--astro-cacao-soft)}
