@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:300 800;font-stretch:100%;font-display:swap;src:url("fonts/bricolage-grotesque-normal-vietnamese.woff2") format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:300 800;font-stretch:100%;font-display:swap;src:url("fonts/bricolage-grotesque-normal-latin-ext.woff2") format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:300 800;font-stretch:100%;font-display:swap;src:url("fonts/bricolage-grotesque-normal-latin.woff2") format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Instrument Sans';font-style:italic;font-weight:400 700;font-stretch:100%;font-display:swap;src:url("fonts/instrument-sans-italic-latin-ext.woff2") format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Instrument Sans';font-style:italic;font-weight:400 700;font-stretch:100%;font-display:swap;src:url("fonts/instrument-sans-italic-latin.woff2") format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url("fonts/instrument-sans-normal-latin-ext.woff2") format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url("fonts/instrument-sans-normal-latin.woff2") format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* ===========================================================
   Carolina Ranch — design system
   Generato dal template Claude Design. Breakpoint design: 960px
   =========================================================== */
:root{
  --cr-cream:#F3EBDD;   /* fondo pagina */
  --cr-sand:#E4D3B4;    /* fondo alternato */
  --cr-wine:#5A2224;    /* bordeaux */
  --cr-dark:#2B1214;    /* marrone scuro */
  --cr-night:#0E0B14;   /* notte / astronomia */
  --cr-orange:#F26B1D;  /* accento */
  --cr-ink:#1A1414;     /* testo */
  --cr-wa:#25D366;      /* whatsapp */
  --cr-display:'Bricolage Grotesque',sans-serif;
  --cr-body:'Instrument Sans',system-ui,sans-serif;
  --cr-pad-y:clamp(56px,8vw,96px);
  --cr-pad-x:clamp(16px,4vw,48px);
}
/* --- base --------------------------------------------------- */
body.cr-page{background:var(--cr-cream);font-family:var(--cr-body);color:var(--cr-ink)}
body.cr-page a{color:var(--cr-wine)}
body.cr-page a:hover{color:var(--cr-orange)}
.cr-scope *{box-sizing:border-box}
.cr-scope img{max-width:100%}
@keyframes cr-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes cr-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* --- correzioni Astra/Elementor --- */
body.cr-page .site-content > .ast-container{max-width:none;padding:0}
body.cr-page .ast-page-builder-template .site-content{padding:0}
body.cr-page .elementor-section.elementor-section-boxed > .elementor-container{max-width:none}
/* ===========================================================
   Convivenza con Astra
   Il design colora per ereditarieta (un contenitore scuro e i figli
   ereditano). Astra assegna colori espliciti a titoli, paragrafi e link,
   rompendo quella catena: dentro .cr-scope glieli restituiamo.
   Gli stili inline del design vincono comunque su queste regole.
   =========================================================== */
.cr-scope h1,
.cr-scope h2,
.cr-scope h3,
.cr-scope h4,
.cr-scope h5,
.cr-scope h6,
.cr-scope p,
.cr-scope li,
.cr-scope span,
.cr-scope strong,
.cr-scope em,
.cr-scope dt,
.cr-scope dd,
.cr-scope summary,
.cr-scope figcaption{color:inherit}
.cr-scope a{color:inherit;text-decoration:none}
.cr-scope a:hover{color:inherit}
.cr-scope h1,.cr-scope h2,.cr-scope h3,.cr-scope h4,.cr-scope h5,.cr-scope h6{font-weight:inherit;line-height:inherit;margin-bottom:0}
.cr-scope ul,.cr-scope ol{margin:0}
.cr-scope details summary::-webkit-details-marker{display:none}
/* Elementor mette un margine sotto ai widget: qui non serve. */
.cr-scope .elementor-widget:not(:last-child){margin-block-end:0}
/* Astra impagina il contenuto: le pagine del design vanno a tutta larghezza. */
body.cr-page .entry-content > *{max-width:none}
body.cr-page .ast-container,body.cr-page .site-content .ast-container{max-width:100%;padding-inline:0}
/* ===========================================================
   Precedenza dei link dentro .cr-scope
   `body.cr-page a` (0,1,2) batterebbe `.cr-scope a` (0,1,1): qui la
   regola e' riscritta allo stesso livello di specificita.
   =========================================================== */
body.cr-page .cr-scope a{color:inherit}
body.cr-page .cr-scope a:hover{color:inherit}
/* ===========================================================
   Allineamento fra staging e produzione
   Il tema del sito live impone una line-height ASSOLUTA (25.6px) che gli
   elementi del design ereditano al posto del rapporto previsto: bastava
   quello per far crescere topbar, card recensioni e footer di qualche px.
   Qui la riportiamo a un rapporto, identico su entrambe le installazioni.
   =========================================================== */
.cr-scope{line-height:1.65}
/* ===========================================================
   Card prodotto WooCommerce — stessa lingua grafica delle card del design
   E' il blocco superstite della pagina precedente, conservato perche'
   e' un punto di acquisto reale. Qui prende la stessa lingua grafica
   delle card del design (.cr-card), senza toccare il negozio.
   =========================================================== */
body.cr-page.single-product .related,
body.cr-page.woocommerce-shop .site-content{
  background:var(--cr-cream);
  padding:var(--cr-pad-y) var(--cr-pad-x) !important
}
body.cr-page.single-product .related > .elementor-container,
body.cr-page.woocommerce-shop .site-content > .elementor-container{max-width:none}
/* titolo della sezione */
body.cr-page.single-product .related .elementor-widget-heading .elementor-heading-title,
body.cr-page.woocommerce-shop .site-content .elementor-widget-heading .elementor-heading-title{
  margin:0 0 clamp(24px,3vw,40px);
  font:800 clamp(34px,4.5vw,64px)/.95 var(--cr-display);
  letter-spacing:-.03em;color:var(--cr-ink);text-wrap:balance
}
/* griglia: stessa regola delle card del design */
body.cr-page.single-product .related ul.products,
body.cr-page.woocommerce-shop .site-content ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)) !important;
  gap:20px !important;margin:0 !important;padding:0;list-style:none
}
body.cr-page.single-product .related ul.products::before,
body.cr-page.woocommerce-shop .site-content ul.products::before,
body.cr-page.single-product .related ul.products::after,
body.cr-page.woocommerce-shop .site-content ul.products::after{content:none !important}
/* la card */
body.cr-page.single-product .related li.product,
body.cr-page.woocommerce-shop .site-content li.product{
  display:flex !important;flex-direction:column !important;flex-wrap:nowrap !important;
  align-items:stretch !important;justify-content:flex-start !important;
  background:#fff;border-radius:18px;overflow:hidden;
  margin:0 !important;width:auto !important;max-width:none !important;padding:0;
  transition:transform .18s ease, box-shadow .18s ease
}
body.cr-page.single-product .related li.product:hover,
body.cr-page.woocommerce-shop .site-content li.product:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(43,18,20,.12)}
/* immagine */
body.cr-page.single-product .related .astra-shop-thumbnail-wrap,
body.cr-page.woocommerce-shop .site-content .astra-shop-thumbnail-wrap{
  position:relative;height:200px;background:var(--cr-sand);margin:0 !important;
  width:100% !important;max-width:none !important;flex:0 0 auto !important;padding:0 !important
}
body.cr-page.single-product .related .astra-shop-thumbnail-wrap > a,
body.cr-page.woocommerce-shop .site-content .astra-shop-thumbnail-wrap > a{display:block;height:100%}
body.cr-page.single-product .related .astra-shop-thumbnail-wrap img,
body.cr-page.woocommerce-shop .site-content .astra-shop-thumbnail-wrap img{width:100%;height:100%;object-fit:cover;display:block;margin:0;border-radius:0}
/* corpo */
body.cr-page.single-product .related .astra-shop-summary-wrap,
body.cr-page.woocommerce-shop .site-content .astra-shop-summary-wrap{
  padding:22px !important;display:flex !important;flex-direction:column !important;
  gap:10px;flex:1 1 auto !important;width:100% !important;max-width:none !important;
  text-align:left !important
}
/* occhiello categoria */
body.cr-page.single-product .related .ast-woo-product-category,
body.cr-page.woocommerce-shop .site-content .ast-woo-product-category{
  font-family:var(--cr-display) !important;font-size:11px !important;font-weight:700 !important;
  line-height:1.4 !important;letter-spacing:.16em;text-transform:uppercase;
  color:var(--cr-wine) !important;margin:0
}
/* titolo prodotto */
body.cr-page.single-product .related .woocommerce-loop-product__title,
body.cr-page.woocommerce-shop .site-content .woocommerce-loop-product__title{
  margin:0 !important;padding:0 !important;
  font:800 24px/1.05 var(--cr-display) !important;letter-spacing:-.02em;
  color:var(--cr-ink) !important
}
body.cr-page.single-product .related .ast-loop-product__link,
body.cr-page.woocommerce-shop .site-content .ast-loop-product__link{text-decoration:none;display:block}
body.cr-page.single-product .related li.product:hover .woocommerce-loop-product__title,
body.cr-page.woocommerce-shop .site-content li.product:hover .woocommerce-loop-product__title{color:var(--cr-wine) !important}
/* prezzo */
body.cr-page.single-product .related .price,
body.cr-page.woocommerce-shop .site-content .price,
body.cr-page.single-product .related .price .amount,
body.cr-page.woocommerce-shop .site-content .price .amount,
body.cr-page.single-product .related .price bdi,
body.cr-page.woocommerce-shop .site-content .price bdi{
  font:800 20px/1.2 var(--cr-display) !important;color:var(--cr-orange) !important;
  margin:0;margin-top:auto
}
body.cr-page.single-product .related .price del,
body.cr-page.woocommerce-shop .site-content .price del{opacity:.5;font-size:.8em}
/* pulsante "aggiungi al carrello" sovrapposto alla foto */
body.cr-page.single-product .related .ast-on-card-button,
body.cr-page.woocommerce-shop .site-content .ast-on-card-button{
  border-radius:999px;background:var(--cr-orange);color:#fff;
  box-shadow:0 4px 14px rgba(43,18,20,.25)
}
body.cr-page.single-product .related .ast-on-card-button .ast-icon svg,
body.cr-page.woocommerce-shop .site-content .ast-on-card-button .ast-icon svg{fill:#fff}
@media (max-width:600px){
  body.cr-page.single-product .related .woocommerce-loop-product__title,
body.cr-page.woocommerce-shop .site-content .woocommerce-loop-product__title{font-size:21px !important}
}
/* ===========================================================
   Pagina prodotto — nella lingua grafica del sito
   Ambito: solo la scheda prodotto e il negozio.
   Carrello, checkout e area account restano quelli di WooCommerce.
   =========================================================== */
body.cr-page.single-product,
body.cr-page.woocommerce-shop{background:var(--cr-cream)}
/* --- intestazione della scheda --- */
body.cr-page.single-product .woocommerce-breadcrumb{font-size:12px;letter-spacing:.02em;color:rgba(26,20,20,.55);margin-bottom:14px}
body.cr-page.single-product .woocommerce-breadcrumb a{color:rgba(26,20,20,.55)}
body.cr-page.single-product .woocommerce-breadcrumb a:hover{color:var(--cr-orange)}
body.cr-page.single-product .single-product-category,
body.cr-page.single-product .single-product-category a{
  font:700 11px/1.4 var(--cr-display) !important;letter-spacing:.16em;text-transform:uppercase;
  color:var(--cr-wine) !important;text-decoration:none
}
body.cr-page.single-product .product_title{
  margin:6px 0 14px !important;
  font:800 clamp(30px,3.4vw,48px)/.98 var(--cr-display) !important;
  letter-spacing:-.03em;color:var(--cr-ink) !important;text-wrap:balance
}
body.cr-page.single-product .product_title i,
body.cr-page.single-product .product_title em{font-style:italic;font-weight:800}
body.cr-page.single-product .summary > .price,
body.cr-page.single-product .summary > .price .amount,
body.cr-page.single-product .summary > .price bdi{
  font:800 clamp(28px,2.6vw,38px)/1.1 var(--cr-display) !important;
  color:var(--cr-orange) !important;margin:0 0 18px
}
body.cr-page.single-product .summary > .price del{opacity:.45;font-size:.7em}
body.cr-page.single-product .woocommerce-product-details__short-description{font-size:16px;line-height:1.65;color:rgba(26,20,20,.82)}
body.cr-page.single-product .woocommerce-product-details__short-description ul{margin:0 0 14px;padding-left:1.1em}
body.cr-page.single-product .woocommerce-product-details__short-description li{margin-bottom:6px}
/* Il carosello della galleria e largo quanto tutte le sue diapositive
   (10 x 390px su mobile) dentro un contenitore da 390: senza ritaglio
   la pagina scorre lateralmente. */
body.cr-page.single-product .woocommerce-product-gallery{overflow:hidden;border-radius:18px}
body.cr-page.single-product .woocommerce-product-gallery__image img{border-radius:18px}
body.cr-page.single-product .flex-control-thumbs img{border-radius:10px}
body.cr-page.single-product .flex-viewport{overflow:hidden}
/* --- box prenotazione con codice --- */
body.cr-page .crb-box{
  background:#fff !important;border:0 !important;border-radius:18px !important;
  padding:26px !important;margin:4px 0 18px !important;
  box-shadow:0 8px 26px rgba(43,18,20,.08)
}
body.cr-page .crb-intro{
  font-size:15px !important;line-height:1.6 !important;color:rgba(26,20,20,.8) !important;
  margin:0 0 18px !important
}
body.cr-page .crb-field label,
body.cr-page .crb-unlock label{
  font:700 11px/1.4 var(--cr-display) !important;letter-spacing:.16em;text-transform:uppercase;
  color:var(--cr-wine) !important;margin-bottom:6px !important;display:block
}
body.cr-page .crb-field input,
body.cr-page .crb-field textarea,
body.cr-page .crb-unlock input{
  width:100%;font:400 15px/1.5 var(--cr-body) !important;color:var(--cr-ink) !important;
  background:var(--cr-cream) !important;border:1.5px solid rgba(90,34,36,.18) !important;
  border-radius:12px !important;padding:12px 14px !important;transition:border-color .15s ease
}
body.cr-page .crb-field input:focus,
body.cr-page .crb-field textarea:focus,
body.cr-page .crb-unlock input:focus{outline:none;border-color:var(--cr-orange) !important}
body.cr-page .crb-field input::placeholder,
body.cr-page .crb-unlock input::placeholder{color:rgba(26,20,20,.4)}
body.cr-page .crb-wa-btn{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--cr-wa) !important;color:#fff !important;
  font:700 14px/1 var(--cr-body) !important;letter-spacing:.04em;
  padding:15px 24px !important;border-radius:999px !important;border:0 !important;
  text-decoration:none;transition:filter .15s ease
}
body.cr-page .crb-wa-btn:hover{filter:brightness(1.08);color:#fff !important}
body.cr-page .crb-unlock{
  margin-top:22px !important;padding-top:20px !important;
  border-top:1px dashed rgba(90,34,36,.25) !important
}
body.cr-page .crb-unlock-hint{
  font-size:13px !important;line-height:1.55 !important;color:rgba(26,20,20,.6) !important;
  margin-top:10px !important
}
/* --- pulsante acquista --- */
body.cr-page.single-product .single_add_to_cart_button,
body.cr-page.woocommerce-shop .add_to_cart_button{
  font:700 14px/1 var(--cr-body) !important;letter-spacing:.04em;
  background:var(--cr-orange) !important;color:#fff !important;
  padding:16px 28px !important;border-radius:999px !important;border:0 !important;
  transition:filter .15s ease
}
body.cr-page.single-product .single_add_to_cart_button:hover{filter:brightness(1.08)}
body.cr-page.single-product .quantity input.qty{
  border:1.5px solid rgba(90,34,36,.18);border-radius:12px;padding:12px 8px;
  font:600 15px var(--cr-body)
}
/* --- meta e schede --- */
body.cr-page.single-product .product_meta{
  font-size:13px;color:rgba(26,20,20,.6);border-top:1px solid rgba(90,34,36,.12);
  padding-top:16px;margin-top:18px
}
body.cr-page.single-product .product_meta a{color:var(--cr-wine)}
body.cr-page.single-product .woocommerce-tabs .wc-tab h2,
body.cr-page.single-product .woocommerce-tabs h2{
  font:800 clamp(26px,2.4vw,36px)/1.05 var(--cr-display) !important;
  letter-spacing:-.02em;color:var(--cr-ink) !important;margin:0 0 16px
}
body.cr-page.single-product .woocommerce-tabs .wc-tab h3{
  font:800 22px/1.15 var(--cr-display) !important;letter-spacing:-.02em;
  color:var(--cr-ink) !important;margin:22px 0 10px
}
body.cr-page.single-product .woocommerce-tabs .wc-tab p,
body.cr-page.single-product .woocommerce-tabs .wc-tab li{font-size:16px;line-height:1.7;color:rgba(26,20,20,.82)}
body.cr-page.single-product .woocommerce-tabs ul.tabs li{
  border-radius:999px !important;border:1.5px solid rgba(90,34,36,.2) !important;
  background:transparent !important
}
body.cr-page.single-product .woocommerce-tabs ul.tabs li a{
  font:700 13px var(--cr-body) !important;letter-spacing:.04em;
  text-transform:uppercase;color:var(--cr-wine) !important
}
body.cr-page.single-product .woocommerce-tabs ul.tabs li.active{background:var(--cr-wine) !important;border-color:var(--cr-wine) !important}
body.cr-page.single-product .woocommerce-tabs ul.tabs li.active a{color:var(--cr-cream) !important}
/* --- titoli delle sezioni correlate / negozio --- */
body.cr-page.single-product .related > h2,
body.cr-page.single-product .up-sells > h2,
body.cr-page.woocommerce-shop .woocommerce-products-header__title{
  font:800 clamp(30px,3.4vw,48px)/.98 var(--cr-display) !important;
  letter-spacing:-.03em;color:var(--cr-ink) !important;margin:0 0 clamp(20px,2.4vw,32px)
}
/* --- avvisi WooCommerce nella lingua del sito --- */
body.cr-page.single-product .woocommerce-error,
body.cr-page.single-product .woocommerce-message,
body.cr-page.single-product .woocommerce-info{
  border-radius:14px;border:0;border-left:4px solid var(--cr-orange);
  background:#fff;color:var(--cr-ink);font-size:15px;line-height:1.6
}
/* Le gallerie [gallery] dentro la descrizione usano i margini negativi
   classici di WordPress e sfondano il contenitore (1460px su 1440).
   Qui diventano una griglia, coerente con le altre del sito. */
body.cr-page.single-product .woocommerce-tabs .gallery{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
  gap:14px;margin:20px 0;width:100%;max-width:100%
}
body.cr-page.single-product .woocommerce-tabs .gallery-item{
  width:auto !important;max-width:none !important;margin:0 !important;float:none !important;
  padding:0 !important
}
body.cr-page.single-product .woocommerce-tabs .gallery-item img{
  width:100%;height:220px;object-fit:cover;display:block;
  border:0 !important;border-radius:14px
}
body.cr-page.single-product .woocommerce-tabs .gallery-icon{margin:0}
body.cr-page.single-product .woocommerce-tabs .gallery-caption{font-size:12px;color:rgba(26,20,20,.6);margin-top:6px}
/* ===========================================================
   Condizioni di annullamento e rimborso
   Restano obbligatorie, ma vestite come il resto della scheda e
   spostate subito prima dell'acquisto: prima si chiede su WhatsApp,
   poi si accettano le condizioni, infine si completa.
   =========================================================== */
body.cr-page.single-product form.cart{display:flex;flex-direction:column;align-items:stretch}
body.cr-page.single-product form.cart .crb-box{order:1}
body.cr-page.single-product form.cart .crp-wrap{order:2}
body.cr-page.single-product form.cart .quantity{order:3}
body.cr-page.single-product form.cart .single_add_to_cart_button{order:4;align-self:flex-start}
body.cr-page .crp-wrap{background:var(--cr-sand);border-radius:18px;padding:20px 22px;margin:0 0 18px}
body.cr-page .crp-toggle{
  display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;
  background:transparent;border:0;padding:0;cursor:pointer;text-align:left
}
body.cr-page .crp-toggle-label{font:800 17px/1.25 var(--cr-display);letter-spacing:-.01em;color:var(--cr-dark)}
body.cr-page .crp-toggle-icon{color:var(--cr-orange);font-size:20px;flex:none;line-height:1}
body.cr-page .crp-panel-inner{
  font-size:14px;line-height:1.65;color:rgba(43,18,20,.82);
  padding-top:14px;margin-top:14px;border-top:1px solid rgba(90,34,36,.18)
}
body.cr-page .crp-panel-inner p{margin:0 0 8px}
body.cr-page .crp-checkbox{
  display:flex;align-items:flex-start;gap:10px;margin-top:16px;cursor:pointer;
  font-size:14px;line-height:1.5;color:var(--cr-dark)
}
body.cr-page .crp-checkbox input[type="checkbox"]{width:20px;height:20px;flex:none;margin-top:1px;accent-color:var(--cr-orange);cursor:pointer}
/* ===========================================================
   Margini laterali della scheda prodotto
   Le pagine del design vivono in sezioni a tutta larghezza, percio'
   piu' su azzeriamo il padding di .ast-container. La scheda prodotto
   non e' fatta cosi: qui il respiro laterale va restituito, con la
   stessa misura del resto del sito (48px desktop / 16px mobile).
   =========================================================== */
body.cr-page.single-product .site-content .ast-container{padding-inline:var(--cr-pad-x) !important}
/* correlati e schede sono gia dentro quel contenitore: niente doppio margine */
body.cr-page.single-product .related,
body.cr-page.single-product .up-sells{padding-inline:0 !important}
body.cr-page.single-product .woocommerce-tabs{padding-inline:0}
/* ===========================================================
   Descrizione sotto la galleria, con estratto espandibile
   Il layout della scheda e a float: la galleria sta a sinistra al 50%
   e sotto resta molto spazio vuoto. Qui ci finisce la descrizione,
   chiusa a un'anteprima e apribile con un clic.
   Il testo resta sempre nell'HTML: si comprime, non si carica dopo.
   =========================================================== */
.cr-desc{
float:left;clear:left;width:50%;margin:26px 0 40px;
  background:#fff;border-radius:18px;padding:26px
}
.cr-desc__title{
  margin:0 0 14px !important;font:800 22px/1.15 var(--cr-display) !important;
  letter-spacing:-.02em;color:var(--cr-ink) !important
}
.cr-desc__body{
position:relative;overflow:hidden;max-height:280px;
  transition:max-height .35s ease
}
.cr-desc__body::after{
content:"";position:absolute;left:0;right:0;bottom:0;height:90px;
  background:linear-gradient(180deg,rgba(255,255,255,0),#fff 85%);pointer-events:none;
  transition:opacity .25s ease
}
.cr-desc.is-open .cr-desc__body{max-height:none}
.cr-desc.is-open .cr-desc__body::after{opacity:0}
.cr-desc__body p,.cr-desc__body li{font-size:15px;line-height:1.7;color:rgba(26,20,20,.82);margin:0 0 10px}
.cr-desc__body h2,.cr-desc__body h3,.cr-desc__body h4{
  font:800 18px/1.2 var(--cr-display) !important;letter-spacing:-.01em;
  color:var(--cr-ink) !important;margin:18px 0 8px !important
}
.cr-desc__body ul,.cr-desc__body ol{margin:0 0 12px;padding-left:1.15em}
.cr-desc__body img{border-radius:12px;height:auto}
.cr-desc__body a{color:var(--cr-wine);text-decoration:underline}
.cr-desc__toggle{
  display:inline-flex;align-items:center;gap:8px;margin-top:16px;
  background:transparent;border:1.5px solid var(--cr-wine);border-radius:999px;
  padding:11px 20px;cursor:pointer;
  font:700 13px/1 var(--cr-body);letter-spacing:.04em;text-transform:uppercase;
  color:var(--cr-wine);transition:background .15s ease,color .15s ease
}
.cr-desc__toggle:hover{background:var(--cr-wine);color:var(--cr-cream)}
.cr-desc__toggle-icon{font-size:16px;line-height:1}
@media (max-width:959px){
  .cr-desc{float:none;width:100%;margin:20px 0 28px;padding:22px}
  .cr-desc__body{max-height:220px}
}
/* La descrizione e un float sinistro: cio' che viene dopo deve scendere
   sotto entrambe le colonne, non affiancarsi. */
body.cr-page.single-product .woocommerce-tabs,
body.cr-page.single-product .related,
body.cr-page.single-product .up-sells{clear:both}
/* Con auto-fit una card sola occupa tutta la riga e sembra un banner.
   Quando i correlati sono tre o meno, teniamo tre colonne fisse: la card
   resta della misura a cui l'occhio e abituato. Solo da 960px in su,
   sotto quella soglia la colonna singola e giusta. */
@media (min-width:960px){
  body.cr-page.single-product .related ul.products:has(> li.product:nth-child(-n+3):last-child),
body.cr-page.single-product .up-sells ul.products:has(> li.product:nth-child(-n+3):last-child){grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}
/* --- pulsante Prenota nelle card prodotto --- */
.cr-card-btn{
  display:inline-block;align-self:flex-start;margin-top:4px;
  font:700 13px/1 var(--cr-body);letter-spacing:.04em;text-transform:uppercase;
  color:#fff !important;background:var(--cr-orange);
  padding:12px 20px;border-radius:999px;text-decoration:none;
  transition:filter .15s ease
}
.cr-card-btn:hover{filter:brightness(1.08);color:#fff !important}
/* niente icona carrello dove l'acquisto richiede il codice */
li.product.cr-su-richiesta .ast-on-card-button,
li.product.cr-su-richiesta .add_to_cart_button{display:none !important}
/* ===========================================================
   Schede esperienza in pagina ([carolina_esperienze])
   Stesso impianto della scheda "Arco dei Baci" del design:
   foto a sinistra, dati a destra, caselle con le caratteristiche.
   =========================================================== */
.cr-exp-list{display:flex;flex-direction:column;gap:clamp(20px,2.4vw,32px)}
.cr-exp{
display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));
  background:#fff;border-radius:20px;overflow:hidden
}
.cr-exp__media{position:relative;min-height:340px;background:var(--cr-dark)}
.cr-exp__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.cr-exp__badge{
position:absolute;top:20px;left:20px;
  font:700 12px var(--cr-display);letter-spacing:.16em;text-transform:uppercase;
  color:var(--cr-cream);background:rgba(43,18,20,.55);backdrop-filter:blur(6px);
  padding:8px 14px;border-radius:999px
}
.cr-exp__body{padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:18px}
.cr-exp__title{
margin:0 0 6px !important;
  font:800 clamp(30px,3.8vw,52px)/.98 var(--cr-display) !important;
  letter-spacing:-.03em;text-wrap:balance;color:var(--cr-ink) !important
}
.cr-exp__title i,.cr-exp__title em{font-style:italic}
.cr-exp__sub{font-size:16px;color:rgba(26,20,20,.7)}
.cr-exp__chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.cr-exp__chip{
display:flex;flex-direction:column;gap:3px;padding:14px 16px;
  border-radius:12px;background:rgba(90,34,36,.08);color:var(--cr-ink)
}
.cr-exp__chip > span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.cr-exp__chip strong{font:700 17px var(--cr-display)}
.cr-exp__chip--prezzo{background:var(--cr-orange);color:#fff}
.cr-exp__chip--prezzo > span{opacity:.85}
.cr-exp__chip--prezzo strong,.cr-exp__chip--prezzo bdi{color:#fff}
.cr-exp__intro{margin:0;font-size:16px;line-height:1.6;color:rgba(26,20,20,.8)}
.cr-exp__cta{
align-self:flex-start;margin-top:auto;
  display:inline-block;text-decoration:none;
  font:700 14px/1 var(--cr-body);letter-spacing:.04em;text-transform:uppercase;
  color:#fff !important;background:var(--cr-wa);
  padding:17px 28px;border-radius:999px;transition:filter .15s ease
}
.cr-exp__cta:hover{filter:brightness(1.08);color:#fff !important}
@media (max-width:600px){
  .cr-exp__media{min-height:230px}
  .cr-exp__cta{width:100%;text-align:center}
}
/* Il reset `.cr-scope span{color:inherit}` spegneva il testo dell'occhiello,
   che finiva scuro su pillola scura: qui vince la regola piu' specifica. */
.cr-scope .cr-exp__badge{color:var(--cr-cream)}
.cr-scope .cr-exp__chip > span{color:inherit}
.cr-scope .cr-exp__chip--prezzo > span,
.cr-scope .cr-exp__chip--prezzo strong,
.cr-scope .cr-exp__chip--prezzo bdi,
.cr-scope .cr-exp__chip--prezzo .amount{color:#fff}
/* il nome prodotto porta con se <br> e corsivo: li rispettiamo */
.cr-exp__title i,.cr-exp__title em{display:block;font-style:italic;font-weight:800}
/* il prezzo di WooCommerce vive dentro <strong>: stessa misura del resto */
.cr-exp__chip strong .amount,.cr-exp__chip strong bdi{font:inherit}
/* Esperienza vendibile solo in aggiunta a un'altra. */
.cr-exp__aggiunta{margin:0;font-size:14px;color:rgba(26,20,20,.7)}
.cr-scope .cr-exp__aggiunta a{color:var(--cr-wine);text-decoration:underline;font-weight:600}
.cr-exp__cta--aggiunta{background:var(--cr-wine)}
/* ===========================================================
   Eventi ([carolina_eventi])
   Stessa lingua della pagina "Le nostre notti" del design:
   fondo notte, card con foto, etichetta della data, titolo.
   Gli eventi conclusi restano visibili ma spenti.
   =========================================================== */
.cr-ev-lista{
display:grid;gap:16px;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))
}
.cr-ev-lista--archivio{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.cr-ev{
display:flex;flex-direction:column;border-radius:16px;overflow:hidden;
  background:rgba(243,235,221,.06);border:1px solid rgba(243,235,221,.14);color:var(--cr-cream)
}
.cr-ev--concluso{filter:saturate(.55);opacity:.85}
.cr-ev__media{position:relative;height:190px;background:var(--cr-night);flex:none}
.cr-ev-lista--archivio .cr-ev__media{height:150px}
.cr-ev__media img{width:100%;height:100%;object-fit:cover;display:block}
.cr-ev--concluso .cr-ev__media img{opacity:.6}
.cr-ev__badge{
position:absolute;top:12px;left:12px;
  font:700 10px var(--cr-display);letter-spacing:.16em;text-transform:uppercase;
  background:var(--cr-sand);color:var(--cr-night);padding:5px 10px;border-radius:999px
}
.cr-ev:not(.cr-ev--concluso) .cr-ev__badge{background:var(--cr-orange);color:#fff}
.cr-ev__body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.cr-ev__rassegna{
font:700 10px var(--cr-display);letter-spacing:.16em;text-transform:uppercase;
  color:var(--cr-sand);opacity:.9
}
.cr-ev__titolo{
margin:0 !important;font:800 20px/1.15 var(--cr-display) !important;
  letter-spacing:-.02em;color:var(--cr-cream) !important
}
.cr-ev__quando{font-size:12px;color:rgba(243,235,221,.6)}
.cr-ev__testo{margin:0;font-size:14px;line-height:1.55;color:rgba(243,235,221,.8)}
.cr-ev__nota{font-size:12px;color:var(--cr-sand);opacity:.9}
.cr-ev__cta{
align-self:flex-start;margin-top:auto;text-decoration:none;
  font:700 12px/1 var(--cr-body);letter-spacing:.04em;text-transform:uppercase;
  color:#fff !important;background:var(--cr-orange);padding:12px 20px;border-radius:999px;
  transition:filter .15s ease
}
.cr-ev__cta:hover{filter:brightness(1.08);color:#fff !important}
.cr-ev-vuoto{color:rgba(243,235,221,.75);font-size:16px;margin:0}
/* Archivio eventi: filtro per tipologia e blocchi per anno ([carolina_eventi filtro="rassegna" raggruppa="anno"]) */
.cr-ev-archivio{display:flex;flex-direction:column;gap:clamp(28px,4vw,44px)}
.cr-ev-filtri{display:flex;flex-wrap:wrap;gap:8px}
.cr-ev-filtro{cursor:pointer;font:600 13px/1.2 var(--cr-body);padding:10px 16px;border-radius:999px;
  background:transparent;color:var(--cr-cream);border:1px solid rgba(243,235,221,.4);transition:background .15s ease,color .15s ease,border-color .15s ease}
.cr-ev-filtro:hover{border-color:rgba(243,235,221,.8)}
.cr-ev-filtro.is-attivo{background:var(--cr-cream);color:var(--cr-night);border-color:var(--cr-cream)}
.cr-ev-anno{display:flex;flex-direction:column;gap:16px}
.cr-scope .cr-ev-anno__titolo{margin:0;font:800 clamp(26px,3vw,36px)/1 var(--cr-display);letter-spacing:-.03em;color:var(--cr-cream)}
.cr-ev-anno[hidden],.cr-ev[hidden]{display:none}

/* Con pochi eventi in programma le card si allargherebbero a tutta riga
   come un banner: sotto le quattro teniamo colonne di misura normale. */
@media (min-width:960px){
  .cr-ev-lista:has(> .cr-ev:nth-child(-n+3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* La card dell'evento e cliccabile per intero: il link del titolo si
   estende su tutta la card. Il pulsante Prenota resta sopra, cosi
   continua a portare alla prenotazione e non alla scheda. */
.cr-ev{position:relative}
.cr-scope .cr-ev__titolo a{color:inherit;text-decoration:none}
.cr-ev__link::after{content:"";position:absolute;inset:0;z-index:1}
.cr-ev__cta{position:relative;z-index:2}
.cr-ev:hover{border-color:rgba(243,235,221,.3)}
.cr-ev:hover .cr-ev__titolo{color:var(--cr-orange) !important}
.cr-ev__vai{
margin-top:auto;font:700 11px var(--cr-body);letter-spacing:.06em;
  text-transform:uppercase;color:var(--cr-sand);opacity:.75
}
.cr-ev:hover .cr-ev__vai{color:var(--cr-orange);opacity:1}
/* ===========================================================
   Pagina di un singolo evento
   =========================================================== */
.cr-evento-singolo{background:var(--cr-night);color:var(--cr-cream)}
.cr-evento__hero{
position:relative;overflow:hidden;
  padding:clamp(72px,10vw,120px) var(--cr-pad-x) clamp(40px,5vw,64px)
}
.cr-evento__sfondo{position:absolute;inset:0}
.cr-evento__sfondo img{width:100%;height:100%;object-fit:cover;opacity:.35;display:block}
.cr-evento__hero::after{
content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(14,11,20,.45),rgba(14,11,20,.92))
}
.cr-evento__intro{position:relative;z-index:1;max-width:70ch}
.cr-evento__badge{
display:inline-block;margin-bottom:18px;
  font:700 12px var(--cr-display);letter-spacing:.2em;text-transform:uppercase;
  color:#fff;background:var(--cr-orange);padding:8px 14px;border-radius:999px
}
.cr-evento__badge--concluso{background:var(--cr-sand);color:var(--cr-night)}
.cr-evento__rassegna{
font:700 11px var(--cr-display);letter-spacing:.16em;
  text-transform:uppercase;color:var(--cr-sand);margin-bottom:10px
}
.cr-evento__titolo{
margin:0 0 14px !important;
  font:800 clamp(34px,5vw,68px)/.98 var(--cr-display) !important;
  letter-spacing:-.03em;color:var(--cr-cream) !important;text-wrap:balance
}
.cr-evento__quando{margin:0;font-size:clamp(15px,1.2vw,18px);color:rgba(243,235,221,.8)}
.cr-evento__corpo{padding:clamp(32px,4vw,56px) var(--cr-pad-x) clamp(56px,8vw,96px);max-width:78ch}
.cr-evento__testo p,.cr-evento__testo li{font-size:16px;line-height:1.7;color:rgba(243,235,221,.85)}
.cr-evento__testo h2,.cr-evento__testo h3{font:800 24px/1.15 var(--cr-display) !important;color:var(--cr-cream) !important;margin:24px 0 10px !important}
.cr-evento__testo a{color:var(--cr-sand);text-decoration:underline}
.cr-evento__testo img{border-radius:14px;height:auto}
.cr-evento__nota{margin:18px 0 0;font-size:14px;color:var(--cr-sand)}
.cr-evento__azioni{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:28px}
.cr-evento__cta{
text-decoration:none;font:700 14px/1 var(--cr-body);letter-spacing:.04em;
  text-transform:uppercase;color:#fff !important;background:var(--cr-orange);
  padding:16px 26px;border-radius:999px;transition:filter .15s ease
}
.cr-evento__cta:hover{filter:brightness(1.08);color:#fff !important}
.cr-evento__chiuso{margin:0;font-size:14px;color:rgba(243,235,221,.7)}
.cr-evento__indietro{
text-decoration:none;font:700 13px var(--cr-body);letter-spacing:.04em;
  color:var(--cr-sand) !important;border-bottom:1px solid rgba(228,211,180,.4);padding-bottom:2px
}
.cr-evento__indietro:hover{color:var(--cr-orange) !important}
/* La pagina evento usa un template proprio, non passa da Elementor:
   il contenitore a colonne di Astra la comprimerebbe a meta larghezza. */
body.single-cr_evento .site-content > .ast-container{display:block;max-width:100%;padding:0}
body.single-cr_evento .cr-evento-singolo{width:100%;max-width:none;flex:1 1 100%;display:block}
body.single-cr_evento .ast-separate-container .site-main,
body.single-cr_evento .entry-content{margin:0;padding:0;max-width:none}
/* Il modulo resta quello del plugin cr-gift-cards: qui lo si veste
   soltanto. Il plugin usa variabili proprie (--crgc-*): ridefinirle
   sul contenitore basta per la maggior parte dei colori. */
.cr-giftbuy{
background:var(--cr-dark);color:var(--cr-cream);
  padding:var(--cr-pad-y) var(--cr-pad-x)
}
.cr-giftbuy > .elementor-widget{width:100%;max-width:1180px;margin-inline:auto}
/* il modulo su un pannello crema, cosi le superfici chiare del plugin
   restano leggibili anche dentro la sezione scura */
.cr-giftbuy__panel{
background:var(--cr-cream);color:var(--cr-ink);
  border-radius:24px;padding:clamp(18px,3vw,40px)
}
.cr-giftbuy .crgc-form-wrapper{
  --crgc-primary:#F26B1D;
  --crgc-primary-dark:#d95c14;
  --crgc-success:#5A2224;
  --crgc-success-dark:#41181a;
  --crgc-radius:16px;
  font-family:var(--cr-body);padding:0
}
.cr-giftbuy .crgc-step-title{
margin:0 0 22px;color:var(--cr-ink);
  font:800 clamp(22px,2.2vw,30px)/1.05 var(--cr-display);letter-spacing:-.02em
}
.cr-giftbuy .crgc-step-number{
flex:0 0 auto;background:var(--cr-orange);
  font-family:var(--cr-display);font-weight:800
}
/* schede esperienza */
.cr-giftbuy .crgc-experiences-grid{gap:16px}
/* Griglia Gift Card: al massimo 4 colonne, piu' spazio per titoli e prezzi */
@media (min-width:1200px){.cr-giftbuy .crgc-experiences-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:768px) and (max-width:1199px){.cr-giftbuy .crgc-experiences-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cr-giftbuy .crgc-experience-card{
display:flex;flex-direction:column;
  background:#fff;border:1px solid rgba(26,20,20,.12);border-radius:18px
}
.cr-giftbuy .crgc-experience-card:hover{
border-color:var(--cr-orange);
  box-shadow:0 10px 24px rgba(26,20,20,.12)
}
.cr-giftbuy .crgc-experience-card.selected{
border-color:var(--cr-orange);
  box-shadow:0 0 0 3px rgba(242,107,29,.3)
}
.cr-giftbuy .crgc-experience-content{display:flex;flex-direction:column;flex:1;padding:20px}
.cr-giftbuy .crgc-experience-title{
margin:0 0 8px;color:var(--cr-ink);
  font:800 19px/1.15 var(--cr-display);letter-spacing:-.01em;padding-right:34px
}
.cr-giftbuy .crgc-experience-description{
font-size:14px;line-height:1.55;
  color:rgba(26,20,20,.7)
}
.cr-giftbuy .crgc-read-more{color:var(--cr-wine)}
.cr-giftbuy .crgc-experience-price{
margin-top:auto;padding-top:10px;
  font:800 24px var(--cr-display);color:var(--cr-ink)
}
.cr-giftbuy .crgc-select-indicator{border-color:rgba(26,20,20,.25)}
/* campi */
.cr-giftbuy .crgc-form-group label{
margin-bottom:8px;font-size:14px;
  font-weight:600;color:var(--cr-ink)
}
.cr-giftbuy .crgc-form-group input,
.cr-giftbuy .crgc-form-group textarea{
background:#fff;color:var(--cr-ink);
  border:1px solid rgba(26,20,20,.18);border-radius:12px;
  font-family:var(--cr-body);font-size:15px
}
.cr-giftbuy .crgc-form-group input:focus,
.cr-giftbuy .crgc-form-group textarea:focus{
border-color:var(--cr-orange);
  box-shadow:0 0 0 3px rgba(242,107,29,.18)
}
.cr-giftbuy .crgc-char-count{color:rgba(26,20,20,.5)}
/* pulsanti, come quelli del resto del sito */
.cr-giftbuy .crgc-btn{
padding:15px 26px;border-radius:999px;
  font:700 14px var(--cr-body);letter-spacing:.04em;text-transform:uppercase
}
.cr-giftbuy .crgc-btn-secondary{
background:transparent;color:var(--cr-ink);
  border:1px solid rgba(26,20,20,.25)
}
.cr-giftbuy .crgc-btn-secondary:hover:not(:disabled){background:rgba(26,20,20,.06)}
/* riepilogo */
.cr-giftbuy .crgc-summary-card{background:rgba(26,20,20,.05);border-radius:16px}
.cr-giftbuy .crgc-summary-row{border-bottom-color:rgba(26,20,20,.1)}
.cr-giftbuy .crgc-summary-label{color:rgba(26,20,20,.65)}
.cr-giftbuy .crgc-summary-value{color:var(--cr-ink)}
.cr-giftbuy .crgc-summary-total{border-top-color:rgba(26,20,20,.2)}
.cr-giftbuy .crgc-summary-price{font-family:var(--cr-display);color:var(--cr-ink) !important}
.cr-giftbuy .crgc-info-box{
border-radius:16px;
  background:rgba(90,34,36,.06) !important;border:1px solid rgba(90,34,36,.2) !important
}
.cr-giftbuy .crgc-info-box svg{color:var(--cr-wine)}
.cr-giftbuy .crgc-info-box p{color:rgba(26,20,20,.8)}
/* servizio accessorio e consenso: il plugin li stila in linea,
   quindi qui serve !important */
.cr-giftbuy #crgc-accessory-block{
padding:18px !important;border-radius:16px !important;
  background:rgba(242,107,29,.08) !important;border:1px solid rgba(242,107,29,.3) !important
}
.cr-giftbuy .crgc-accessory-details summary{color:var(--cr-wine) !important;font-weight:600}
/* Scheda prodotto: banner del servizio accessorio ("Prima della sella") */
body.cr-page .wvr-accessory{margin:0 0 22px}
body.cr-page .wvr-accessory__titolo{font:800 clamp(20px,2vw,24px)/1.15 var(--cr-display);letter-spacing:-.02em;color:var(--cr-ink);margin:0 0 12px}
body.cr-page .wvr-banner__card{position:relative;margin-top:16px;background:#FFF4EA;border:1.5px solid rgba(242,107,29,.35);border-radius:18px;padding:22px 22px 18px}
body.cr-page .wvr-banner__badge{position:absolute;top:-14px;left:16px;display:inline-flex;align-items:center;gap:6px;
  background:var(--cr-orange);color:#fff;font:800 12px/1 var(--cr-display);letter-spacing:.12em;text-transform:uppercase;
  padding:8px 14px;border-radius:999px;box-shadow:0 4px 12px rgba(242,107,29,.35)}
body.cr-page .wvr-banner__badge svg{width:13px;height:13px;fill:#fff;stroke:#fff}
body.cr-page .wvr-banner__top{display:flex;gap:22px;align-items:flex-start;margin-top:6px}
body.cr-page .wvr-banner__intro{display:flex;gap:18px;align-items:flex-start;flex:1 1 60%;min-width:0}
body.cr-page .wvr-banner__pic{flex:0 0 96px;width:96px;height:96px;border-radius:50%;overflow:hidden;background:var(--cr-sand);border:3px solid #fff;box-shadow:0 2px 10px rgba(43,18,20,.15)}
body.cr-page .wvr-banner__pic img{width:100%;height:100%;object-fit:cover;display:block;margin:0}
body.cr-page .wvr-banner__nome{margin:0 0 4px;font:800 clamp(22px,2.2vw,26px)/1.1 var(--cr-display);letter-spacing:-.02em;color:var(--cr-ink)}
body.cr-page .wvr-banner__sotto{font:700 11px/1.4 var(--cr-display);letter-spacing:.16em;text-transform:uppercase;color:var(--cr-wine);margin:0 0 10px}
body.cr-page .wvr-banner__testo{margin:0;font-size:15px;line-height:1.55;color:rgba(26,20,20,.8)}
body.cr-page .wvr-banner__azione{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:12px;text-align:right}
body.cr-page .wvr-banner__prezzo{font:800 clamp(22px,2vw,26px)/1 var(--cr-display);color:var(--cr-orange);white-space:nowrap}
body.cr-page .wvr-banner__prezzo .amount{color:inherit;font:inherit}
body.cr-page .wvr-banner__cta{display:inline-flex;align-items:center;gap:10px;cursor:pointer;margin:0;
  background:var(--cr-orange);color:#fff;font:800 17px/1 var(--cr-display);padding:14px 18px 14px 14px;border-radius:999px;
  box-shadow:0 6px 16px rgba(242,107,29,.3);transition:background .15s ease,transform .15s ease;user-select:none}
body.cr-page .wvr-banner__cta:hover{background:#d95c14;transform:translateY(-1px)}
body.cr-page .wvr-banner__cta input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
body.cr-page .wvr-banner__box{width:22px;height:22px;border-radius:6px;background:#fff;flex:none;position:relative}
body.cr-page .wvr-banner__cta input:checked ~ .wvr-banner__box::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid var(--cr-orange);border-width:0 3px 3px 0;transform:rotate(45deg)}
body.cr-page .wvr-banner__cta input:focus-visible ~ .wvr-banner__box{outline:2px solid #fff;outline-offset:2px}
body.cr-page .wvr-banner__cta:has(input:checked){background:var(--cr-wine)}
body.cr-page .wvr-banner__cta:has(input:checked) .wvr-banner__cta-testo{font-size:0}
body.cr-page .wvr-banner__cta:has(input:checked) .wvr-banner__cta-testo::after{content:attr(data-on);font-size:17px}
body.cr-page .wvr-banner__freccia{font-size:24px;line-height:1;margin-top:-2px}
body.cr-page .wvr-banner__tagline{font:italic 500 15px/1.3 var(--cr-display);color:var(--cr-orange);max-width:220px;transform:rotate(-3deg);transform-origin:right center}
body.cr-page .wvr-banner__punti{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
body.cr-page .wvr-banner__punti li{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid rgba(242,107,29,.25);border-radius:12px;padding:12px 14px;font:600 13px/1.35 var(--cr-body);color:var(--cr-ink);margin:0}
body.cr-page .wvr-banner__icona{flex:none;width:30px;height:30px;color:var(--cr-orange)}
body.cr-page .wvr-banner__icona svg{width:100%;height:100%}
body.cr-page .wvr-banner__dettagli{margin:14px 0 0}
body.cr-page .wvr-banner__dettagli summary{cursor:pointer;font:600 14px/1.4 var(--cr-body);color:var(--cr-wine);list-style:none;display:inline-flex;align-items:center;gap:8px}
body.cr-page .wvr-banner__dettagli summary::-webkit-details-marker{display:none}
body.cr-page .wvr-banner__dettagli summary::before{content:"";width:0;height:0;border:6px solid transparent;border-left:9px solid var(--cr-wine);border-right:0;transition:transform .15s ease}
body.cr-page .wvr-banner__dettagli[open] summary::before{transform:rotate(90deg)}
body.cr-page .wvr-banner__desc{margin-top:10px;font-size:14px;line-height:1.55;color:rgba(26,20,20,.8)}
body.cr-page .wvr-banner__desc ul{margin:0 0 10px 18px}
@media (max-width:767px){
  body.cr-page .wvr-banner__top{flex-direction:column;gap:14px}
  body.cr-page .wvr-banner__pic{flex-basis:72px;width:72px;height:72px}
  body.cr-page .wvr-banner__azione{align-items:flex-start;text-align:left;width:100%}
  body.cr-page .wvr-banner__cta{width:100%;justify-content:center}
  body.cr-page .wvr-banner__tagline{transform:none;max-width:none}
  body.cr-page .wvr-banner__punti{grid-template-columns:1fr}
}
.cr-giftbuy .crgc-acceptance{
border-radius:16px;background:rgba(26,20,20,.05);
  border-color:rgba(26,20,20,.12)
}
.cr-giftbuy .crgc-acceptance-label{color:rgba(26,20,20,.8)}
.cr-scope .cr-giftbuy .crgc-acceptance-label a{color:var(--cr-wine)}
.cr-giftbuy .crgc-progress{background:rgba(26,20,20,.12)}
@media (max-width:600px){
  .cr-giftbuy__panel{padding:18px 14px;border-radius:18px}
  .cr-giftbuy .crgc-experience-title{font-size:18px}
}
/* Le ancore interne non devono finire sotto l intestazione appiccicata. */
.cr-scope [id]{scroll-margin-top:130px}
@media (max-width:960px){
  .cr-scope [id]{scroll-margin-top:88px}
}
/* Le descrizioni delle esperienze sono testo semplice con gli a capo:
   senza questo si leggono tutte attaccate ("mezza giornata Distanza 25 Km"). */
.cr-giftbuy .crgc-experience-description{white-space:pre-line}
/* Prenota resta l'azione principale; regalare e la seconda strada,
   subito sotto, in versione secondaria per non competere. */
.cr-exp__azioni{
margin-top:auto;display:flex;flex-direction:column;
  align-items:flex-start;gap:10px
}
.cr-exp__azioni .cr-exp__cta{margin-top:0}
.cr-exp__regala,
.cr-regala__btn{
  display:inline-block;text-decoration:none;text-align:center;cursor:pointer;
  font:700 13px var(--cr-body);letter-spacing:.06em;text-transform:uppercase;
  padding:13px 22px;border-radius:999px;background:transparent;
  border:1.5px solid rgba(90,34,36,.35);
  transition:background .15s ease,color .15s ease,border-color .15s ease
}
/* la regola generale `body.cr-page .cr-scope a{color:inherit}` e piu forte
   di una classe sola: qui serve ripetere lo stesso percorso. */
body.cr-page .cr-scope a.cr-exp__regala,
body.cr-page .cr-scope a.cr-regala__btn,
.cr-scope a.cr-exp__regala,
.cr-scope a.cr-regala__btn{color:var(--cr-wine)}
body.cr-page .cr-scope a.cr-exp__regala:hover,
body.cr-page .cr-scope a.cr-regala__btn:hover,
.cr-scope a.cr-exp__regala:hover,
.cr-scope a.cr-regala__btn:hover{background:var(--cr-wine);border-color:var(--cr-wine);color:#fff}
/* "Maggiori dettagli": link testuale sotto i pulsanti, porta alla stessa
   scheda prodotto del pulsante Prenota. */
.cr-exp__dettagli{font:600 13px var(--cr-body);letter-spacing:.02em;text-decoration:underline;text-underline-offset:3px;padding:2px 0}
body.cr-page .cr-scope a.cr-exp__dettagli,.cr-scope a.cr-exp__dettagli{color:var(--cr-wine);text-decoration:underline;text-underline-offset:3px}
body.cr-page .cr-scope a.cr-exp__dettagli:hover,.cr-scope a.cr-exp__dettagli:hover{color:var(--cr-orange)}
/* scheda prodotto */
.cr-regala{
margin:14px 0 4px;display:flex;flex-direction:column;
  align-items:flex-start;gap:8px
}
.cr-regala__nota{margin:0;font-size:13px;line-height:1.5;color:rgba(26,20,20,.65)}
@media (max-width:640px){
  .cr-exp__azioni{align-items:stretch}
  .cr-exp__regala,.cr-regala__btn{width:100%}
}
/* l'esperienza arrivata da "Regala": si vede subito quale e stata scelta */
.crgc-experience-card.cr-evidenzia{animation:cr-evidenzia 1.6s ease 2}
@keyframes cr-evidenzia{
  0%,100%{box-shadow:0 0 0 3px rgba(242,107,29,.3)}
  50%{box-shadow:0 0 0 9px rgba(242,107,29,.18)}
}
/* Sulla scheda prodotto il pulsante "prenota" e quello verde del riquadro
   WhatsApp: "Regala" va subito dopo quel riquadro, prima delle condizioni,
   non in fondo a tutto. */
body.cr-page.single-product form.cart .cr-regala{order:2;width:100%}
body.cr-page.single-product form.cart .crp-wrap{order:3}
body.cr-page.single-product form.cart .quantity{order:4}
body.cr-page.single-product form.cart .single_add_to_cart_button{order:5}
/* Il motore di GTranslate serve solo come macchina: resta fuori vista
   ma dentro il DOM, perche il suo <select> deve esistere davvero. */
.cr-gt-motore{
position:absolute;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;margin:-1px
}
/* Un solo appuntamento in programma non deve sembrare una colonna
   rimasta a meta: occupa una larghezza propria e leggibile. */
.cr-ev-lista:has(> .cr-ev:only-child){grid-template-columns:minmax(0,760px)}
/* Etichetta dell'archivio: piu larga della data, quindi non a pillola stretta */
.cr-ev__badge--concluso{
  text-transform:uppercase;letter-spacing:.12em;font-size:10px;
  background:rgba(14,11,20,.82);color:var(--cr-sand);border:1px solid rgba(228,211,180,.35)
}
/* ===========================================================
   Pagine classiche (Termini, Privacy, Cookie, carrello, account…)
   Le regole del design azzerano padding e larghezza del contenitore
   Astra perche' le sezioni Elementor sono a tutta pagina. Sulle pagine
   senza Elementor pero' il testo finiva a filo del bordo. Qui, e solo
   qui, il contenitore torna leggibile.
   =========================================================== */
body.cr-page.page-template-default:not(.elementor-page) .site-content > .ast-container,
body.cr-page.page-template-default:not(.elementor-page) .site-content .ast-container{max-width:1200px;padding-inline:clamp(16px,4vw,48px);margin-inline:auto}
body.cr-page.page-template-default:not(.elementor-page) .site-content{padding-block:clamp(32px,5vw,72px)}
/* (specificita' superiore alla regola generale qui sopra) */
body.cr-page.page-template-default.page-id-72:not(.elementor-page) .site-content > .ast-container,
body.cr-page.page-template-default.page-id-68:not(.elementor-page) .site-content > .ast-container,
body.cr-page.page-template-default.page-id-280:not(.elementor-page) .site-content > .ast-container{max-width:860px}
body.cr-page.page-template-default:not(.elementor-page) .entry-title{font:800 clamp(30px,4vw,48px)/1.05 var(--cr-display);letter-spacing:-.03em;margin:0 0 24px}
body.cr-page.page-template-default:not(.elementor-page) .entry-content{font-size:17px;line-height:1.7;color:rgba(26,20,20,.85)}
body.cr-page.page-template-default:not(.elementor-page) .entry-content h2,
body.cr-page.page-template-default:not(.elementor-page) .entry-content h3{font-family:var(--cr-display);letter-spacing:-.02em;margin:1.6em 0 .5em}
/* Carrello flottante: bottone fisso in basso a destra, visibile solo se il
   carrello non e' vuoto (data-count > 0, aggiornato dai fragments Woo). */
body.cr-page .cr-cart--float{
position:fixed;right:clamp(14px,2vw,28px);bottom:clamp(14px,2vw,28px);z-index:60;
  display:inline-flex;align-items:center;gap:8px;padding:13px 18px 13px 16px;border-radius:999px;
  background:var(--cr-dark);color:var(--cr-cream);font:700 14px var(--cr-body);text-decoration:none;white-space:nowrap;
  box-shadow:0 10px 28px rgba(43,18,20,.35);transition:transform .15s ease,background .15s ease
}
body.cr-page .cr-cart--float:hover{background:var(--cr-wine);color:var(--cr-cream);transform:translateY(-2px)}
body.cr-page .cr-cart--float[data-count="0"]{display:none}
body.cr-page .cr-cart--float svg{width:20px;height:20px}
body.cr-page .cr-cart--float .cr-cart__n{
min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--cr-orange);color:#fff;
  font-size:12px;display:inline-flex;align-items:center;justify-content:center
}
@media (max-width:599px){
  body.cr-page .cr-cart--float{padding:12px 14px}
  body.cr-page .cr-cart--float .cr-cart__testo{display:none}
}
/* Header nativo (/new): stato attivo del selettore IT/EN. Il JS del tema
   mette la classe is-attiva sull'elemento con data-cr-lang (il wrapper del
   widget); Elementor non puo' stilare una classe aggiunta a runtime. */
.elementor-widget[data-cr-lang].is-attiva{background:var(--cr-sand)}
.elementor-widget[data-cr-lang].is-attiva .elementor-icon-list-text{color:var(--cr-dark) !important}
/* Home nativa: fascia scorrevole dei luoghi (Heading con classe cr-marquee).
   Elementor non ha un widget "marquee": l'animazione resta qui, 2 righe. */
.elementor-widget.cr-marquee{white-space:nowrap}
.elementor-widget.cr-marquee .elementor-heading-title{display:inline-block;animation:cr-marquee 28s linear infinite}
/* Widget Testo di Elementor: l'ultimo paragrafo non porta margine sotto,
   cosi' lo spazio fra i blocchi lo decide il contenitore (gap). */
.elementor-widget-text-editor p:last-child{margin-bottom:0}
/* Widget Accordion di Elementor: Astra colora gli h3 con il suo colore
   titoli e batte quello scelto nel widget; qui il titolo eredita. */
.elementor-widget-n-accordion .e-n-accordion-item-title-text{color:inherit}
