@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%)}}

/* --- tipografia --------------------------------------------- */
.cr-h1{margin:0 0 16px;font:800 clamp(40px,6vw,88px)/.92 var(--cr-display);letter-spacing:-.035em;text-wrap:balance}
.cr-h2{margin:0 0 16px;font:800 clamp(34px,4.5vw,64px)/.95 var(--cr-display);letter-spacing:-.03em;text-wrap:balance}
.cr-h2--sm{font-size:clamp(30px,3.8vw,52px);line-height:.98}
.cr-h3{margin:0;font:800 24px/1.05 var(--cr-display);letter-spacing:-.02em}
.cr-eyebrow{font:700 11px var(--cr-display);letter-spacing:.16em;text-transform:uppercase;color:var(--cr-wine);margin-bottom:8px}
.cr-lead{margin:0 0 14px;font-size:clamp(16px,1.2vw,18px);line-height:1.6;text-wrap:pretty;color:rgba(26,20,20,.8)}
.cr-text{margin:0 0 12px;font-size:16px;line-height:1.65;text-wrap:pretty;color:rgba(26,20,20,.82)}
.cr-small{font-size:15px;line-height:1.55;color:rgba(26,20,20,.8)}

/* varianti su fondo scuro */
.cr-on-dark{color:var(--cr-cream)}
.cr-on-dark .cr-h1,.cr-on-dark .cr-h2,.cr-on-dark .cr-h3{color:var(--cr-cream)}
.cr-on-dark .cr-lead,.cr-on-dark .cr-text{color:rgba(243,235,221,.85)}
.cr-on-dark .cr-eyebrow{color:var(--cr-sand)}

/* --- bottoni ------------------------------------------------- */
.cr-btn{text-decoration:none;font-weight:700;font-size:14px;letter-spacing:.04em;padding:15px 24px;border-radius:999px;display:inline-block;text-align:center;border:0;cursor:pointer;transition:filter .15s ease}
.cr-btn:hover{filter:brightness(1.08)}
.cr-btn--primary{background:var(--cr-orange);color:#fff}
.cr-btn--primary:hover{color:#fff}
.cr-btn--wine{background:var(--cr-wine);color:var(--cr-cream)}
.cr-btn--wine:hover{color:var(--cr-cream)}
.cr-btn--ghost{color:var(--cr-wine);border:1.5px solid var(--cr-wine);background:transparent}
.cr-btn--ghost-light{color:var(--cr-cream);border:1.5px solid rgba(243,235,221,.5);background:transparent}
.cr-btn--ghost-light:hover{color:var(--cr-cream)}
.cr-btn--wa{background:var(--cr-wa);color:#fff}
.cr-btn--wa:hover{color:#fff}
.cr-btn-row{display:flex;gap:12px;flex-wrap:wrap}

/* --- layout -------------------------------------------------- */
.cr-section{padding:var(--cr-pad-y) var(--cr-pad-x)}
.cr-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.cr-grid--wide{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:40px 64px;align-items:center}
.cr-grid--cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}

/* --- card ---------------------------------------------------- */
.cr-card{text-decoration:none;color:inherit;display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden}
.cr-card__media{height:200px;background:var(--cr-sand)}
.cr-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.cr-card__body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.cr-card__text{margin:0;font-size:15px;line-height:1.55;color:rgba(26,20,20,.75);flex:1}
.cr-card__cta{font-weight:700;font-size:13px;letter-spacing:.04em;color:var(--cr-orange)}

/* --- header / footer costruiti in Elementor ------------------ */
.cr-topbar{background:var(--cr-dark);color:var(--cr-sand);font-size:12px;letter-spacing:.04em}
.cr-topbar a{color:var(--cr-sand);text-decoration:none}
.cr-topbar a:hover{color:#fff}

/* CTA sticky mobile */
.cr-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:12px var(--cr-pad-x) 16px;
  background:linear-gradient(180deg,rgba(43,18,20,0),rgba(43,18,20,.92) 38%);display:none}
.cr-sticky-cta__row{display:flex;gap:10px;align-items:center;max-width:640px;margin:0 auto}

/* --- responsive: il design commuta a 960px -------------------- */
@media (max-width:959px){
  .cr-hide-mobile{display:none !important}
  .cr-sticky-cta{display:block}
  body.cr-page{padding-bottom:84px}
}
@media (min-width:960px){
  .cr-hide-desktop{display:none !important}
}

/* ===========================================================
   Header e footer costruiti con widget Elementor nativi
   =========================================================== */

/* --- topbar --- */
.cr-topbar.e-con{--padding-block-start:8px;--padding-block-end:8px}
.cr-topbar .cr-topbar__inner{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;width:100%}
.cr-topbar .cr-topbar__links{display:flex;gap:24px;flex-wrap:wrap}
.cr-topbar .cr-topbar__right{display:flex;gap:14px;align-items:center}
.cr-topbar .cr-lang{display:flex;border:1px solid rgba(228,211,180,.35);border-radius:999px;overflow:hidden}
.cr-topbar .cr-lang span{padding:3px 12px;font:600 11px var(--cr-body);background:var(--cr-sand);color:var(--cr-dark)}
.cr-topbar .cr-lang a{padding:3px 12px;font:600 11px var(--cr-body)}
.cr-topbar .cr-social{display:flex;gap:12px;opacity:.8}
.cr-topbar .cr-topbar__links a{font-weight:600}

/* --- barra principale --- */
.cr-header.e-con{position:sticky;top:0;z-index:20;background:var(--cr-cream);
  border-bottom:1px solid rgba(90,34,36,.15)}
.cr-header .cr-logo img{width:clamp(64px,7vw,96px);height:clamp(64px,7vw,96px);object-fit:contain}
.cr-header .cr-logo .elementor-widget-container{display:flex;align-items:center}

/* menu principale */
.cr-nav .elementor-nav-menu--main ul.elementor-nav-menu > li > a.elementor-item{
  font:600 15px var(--cr-body);color:var(--cr-ink);letter-spacing:0;
  padding:8px clamp(9px,1.2vw,17px);white-space:nowrap}
.cr-nav .elementor-nav-menu--main ul.elementor-nav-menu > li > a.elementor-item:hover,
.cr-nav .elementor-nav-menu--main ul.elementor-nav-menu > li > a.elementor-item.elementor-item-active{color:var(--cr-orange)}
.cr-nav .elementor-nav-menu--main .elementor-item:focus{background:transparent}
/* pannello mobile del widget: stessa lingua grafica del design */
.cr-nav .elementor-nav-menu--dropdown{background:var(--cr-dark)}
.cr-nav .elementor-nav-menu--dropdown a.elementor-item{
  color:var(--cr-cream);font:800 28px/1.2 var(--cr-display);padding:12px var(--cr-pad-x);
  border-bottom:1px solid rgba(228,211,180,.15)}
.cr-nav .elementor-nav-menu--dropdown a.elementor-item:hover,
.cr-nav .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active{
  background:transparent;color:var(--cr-orange)}
.cr-nav .elementor-menu-toggle{color:var(--cr-ink);background:transparent;font-size:22px}

.cr-header__actions{display:flex;gap:10px;align-items:center}

/* --- footer --- */
.cr-footer.e-con{background:var(--cr-dark);color:var(--cr-sand)}
.cr-footer a{color:var(--cr-sand);text-decoration:none}
.cr-footer a:hover{color:#fff}
.cr-footer .cr-footer__brand .elementor-heading-title{
  font:800 40px/1 var(--cr-display);color:var(--cr-cream);letter-spacing:-.02em}
.cr-footer .cr-footer__tagline{font-size:14px;line-height:1.6;max-width:320px;opacity:.75;color:var(--cr-sand)}
.cr-footer .cr-footer__col .elementor-heading-title{
  font:700 14px var(--cr-body);color:var(--cr-cream);margin-bottom:4px}
.cr-footer .cr-footer__col .elementor-nav-menu--main .elementor-item{
  color:var(--cr-sand);font-size:14px;padding:5px 0}
.cr-footer .cr-footer__col .elementor-nav-menu--main .elementor-item:hover{color:#fff;background:transparent}
.cr-footer .cr-footer__bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  border-top:1px solid rgba(228,211,180,.2);padding-top:20px;font-size:12px;opacity:.6}
.cr-footer .cr-footer__bottom .cr-legal{display:flex;gap:14px;flex-wrap:wrap}

/* --- 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,
.cr-topbar__inner a,.cr-footer__bottom a{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}

/* I widget HTML sono figli flex del container: devono occupare la riga intera. */
.cr-scope > .elementor-widget-html,
.cr-topbar > .elementor-widget-html,
.cr-footer > .elementor-widget-html{width:100%;max-width:100%}
.elementor-widget-html > .elementor-widget-container{width:100%}

/* 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}

/* ===========================================================
   Precedenze e layout dell'header
   `body.cr-page a` ha specificita (0,1,2) e batteva le regole di
   topbar e footer scritte come `.cr-topbar a` (0,1,1): qui le
   riscriviamo allo stesso livello, prefissandole con body.cr-page.
   =========================================================== */
body.cr-page .cr-topbar a{color:var(--cr-sand)}
body.cr-page .cr-topbar a:hover{color:#fff}
body.cr-page .cr-footer a{color:var(--cr-sand)}
body.cr-page .cr-footer a:hover{color:#fff}
body.cr-page .cr-scope a{color:inherit}
body.cr-page .cr-scope a:hover{color:inherit}

/* Ripartizione della barra: logo e azioni alla loro misura, il menu prende il resto. */
.cr-header > .elementor-element{flex:0 0 auto}
.cr-header > .cr-nav{flex:1 1 auto;min-width:0}
.cr-header > .cr-header__actions{width:auto;max-width:none}
.cr-header .cr-logo img{width:clamp(64px,7vw,96px);height:clamp(64px,7vw,96px);
  object-fit:contain;max-width:none}
.cr-nav .elementor-nav-menu--main ul.elementor-nav-menu{flex-wrap:nowrap;justify-content:flex-start}

/* Sotto i 960px comanda il pannello a tendina del widget. */
@media (max-width:959px){
  .cr-header > .cr-nav{flex:0 0 auto}
}

/* ===========================================================
   Widget Elementor: portare i componenti alla lingua del design
   Le classi custom finiscono sul wrapper del widget, non sul tag <a>:
   per i bottoni bisogna quindi puntare .elementor-button dentro al wrapper.
   =========================================================== */
.elementor-widget-button.cr-btn .elementor-button{
  font:700 14px var(--cr-body);letter-spacing:.04em;padding:15px 24px;
  border-radius:999px;border:0;text-align:center;transition:filter .15s ease}
.elementor-widget-button.cr-btn .elementor-button:hover{filter:brightness(1.08)}
.elementor-widget-button.cr-btn--primary .elementor-button{background:var(--cr-orange);color:#fff}
.elementor-widget-button.cr-btn--wine    .elementor-button{background:var(--cr-wine);color:var(--cr-cream)}
.elementor-widget-button.cr-btn--wa      .elementor-button{background:var(--cr-wa);color:#fff}
.elementor-widget-button.cr-btn--ghost   .elementor-button{
  background:transparent;color:var(--cr-wine);border:1.5px solid var(--cr-wine)}
.elementor-widget-button.cr-btn--ghost   .elementor-button:hover{color:var(--cr-wine)}

/* Le colonne del footer sono container interni: Elementor le porta a width:100%
   e finirebbero impilate. Qui tornano a dividersi la riga come nel design. */
.cr-footer__cols > .e-con{flex:1 1 180px;width:auto;max-width:none}
.cr-footer__cols > .cr-footer__brand{flex:1 1 260px}
@media (max-width:767px){
  .cr-footer__cols > .e-con{flex:1 1 100%}
}

/* ===========================================================
   Header sotto i 960px: una sola riga, come nel design
   logo | bottone principale | hamburger
   =========================================================== */
@media (max-width:959px){
  .cr-header.e-con{flex-wrap:nowrap;gap:8px}
  .cr-header > .cr-logo{flex:0 0 auto;order:1}
  .cr-header > .cr-header__actions{flex:1 1 auto;order:2;justify-content:flex-end}
  .cr-header > .cr-nav{flex:0 0 auto;order:3;width:auto}
  .cr-header .cr-logo img{width:64px;height:64px}
  .elementor-widget-button.cr-btn .elementor-button{padding:12px 18px;font-size:13px}
  /* il pannello a tendina esce a tutta larghezza sotto la barra */
  .cr-nav .elementor-nav-menu--dropdown{
    position:absolute;left:0;right:0;top:100%;width:100vw;margin-inline:0}
  .cr-header.e-con{position:sticky}
}

/* ===========================================================
   Rifiniture header — richieste 2026-09-10
   =========================================================== */

/* Le classi .cr-btn nascono per i link dentro i widget HTML, ma finiscono
   anche sul WRAPPER del widget Bottone: bordo e pillola venivano disegnati
   due volte, uno dentro l'altro. Il wrapper torna neutro, decora solo il link. */
.elementor-widget.cr-btn{
  border:0;padding:0;border-radius:0;background:none;
  display:inline-block;width:auto;text-align:inherit}

/* Menu allineato a destra, accanto ai bottoni. */
.cr-nav .elementor-nav-menu--main ul.elementor-nav-menu{justify-content:flex-end}

/* EN non ancora attivo: stessa forma del design, ma non cliccabile
   finche' il sito inglese non esiste (evita un 404 nell'header). */
.cr-topbar .cr-lang .cr-lang__soon{
  padding:3px 12px;font:600 11px var(--cr-body);color:var(--cr-sand);opacity:.55;cursor:default}

/* ===========================================================
   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,.cr-topbar,.cr-header,.cr-footer{line-height:1.65}

/* Le voci dei menu nel footer devono usare il font del testo, non quello
   globale del kit (che sui due siti e diverso: Roboto contro Bricolage). */
.cr-footer .cr-footer__col .elementor-nav-menu--main .elementor-item{
  font:400 14px/1.6 var(--cr-body);letter-spacing:0}
.cr-footer .cr-footer__col .elementor-heading-title{
  font:700 14px/1.6 var(--cr-body);letter-spacing:0}

/* ===========================================================
   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.
   =========================================================== */
.cr-woo-related,
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}.cr-woo-related > .elementor-container,
body.cr-page.single-product .related > .elementor-container,
body.cr-page.woocommerce-shop .site-content > .elementor-container{max-width:none}/* titolo della sezione */
.cr-woo-related .elementor-widget-heading .elementor-heading-title,
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 */
.cr-woo-related ul.products,
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}.cr-woo-related ul.products::before,
body.cr-page.single-product .related ul.products::before,
body.cr-page.woocommerce-shop .site-content ul.products::before,
.cr-woo-related ul.products::after,
body.cr-page.single-product .related ul.products::after,
body.cr-page.woocommerce-shop .site-content ul.products::after{content:none !important}/* la card */
.cr-woo-related li.product,
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}.cr-woo-related li.product:hover,
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 */
.cr-woo-related .astra-shop-thumbnail-wrap,
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}.cr-woo-related .astra-shop-thumbnail-wrap > a,
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%}.cr-woo-related .astra-shop-thumbnail-wrap img,
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 */
.cr-woo-related .astra-shop-summary-wrap,
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 */
.cr-woo-related .ast-woo-product-category,
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 */
.cr-woo-related .woocommerce-loop-product__title,
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}.cr-woo-related .ast-loop-product__link,
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}.cr-woo-related li.product:hover .woocommerce-loop-product__title,
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 */
.cr-woo-related .price,
body.cr-page.single-product .related .price,
body.cr-page.woocommerce-shop .site-content .price,
.cr-woo-related .price .amount,
body.cr-page.single-product .related .price .amount,
body.cr-page.woocommerce-shop .site-content .price .amount,
.cr-woo-related .price bdi,
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}.cr-woo-related .price del,
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 */
.cr-woo-related .ast-on-card-button,
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)}.cr-woo-related .ast-on-card-button .ast-icon svg,
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){
  .cr-woo-related .astra-shop-thumbnail-wrap{height:170px}.cr-woo-related .woocommerce-loop-product__title,
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}

/* --- galleria --- */
body.cr-page.single-product .woocommerce-product-gallery__wrapper,
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}

/* --- 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}
