/* ═══════════════════════════════════════════
   domyflor — CSS COMPLETO FIORISTA
   Versione consolidata con tutte le modifiche
═══════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Jost:wght@300;400;500&display=swap');

/* ── Variabili botaniche ── */
:root {
  --fi-cream:   #FAF7F2;
  --fi-warm:    #F2EDE4;
  --fi-sage:    #7A9E7E;
  --fi-sage-dk: #5C7D60;
  --fi-sage-lt: #B8D4BB;
  --fi-gold:    #C9A96E;
  --fi-gold-lt: #E8D5B0;
  --fi-bark:    #3D2B1F;
  --fi-bark2:   #5C3D2E;
  --fi-mid:     #7A6855;
  --fi-white:   #FFFFFF;
}

/* ════════════════════════════════════════
   PROFILO FIORISTA
════════════════════════════════════════ */
#fiorista-page { font-family: 'Jost', sans-serif; background: var(--fi-cream); color: var(--fi-bark); }
.fi-hero { background: var(--fi-bark); padding: 80px 72px 60px; position: relative; overflow: hidden; }
.fi-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 80% 60% at 50% 100%, rgba(201,169,110,.12) 0%, transparent 60%), radial-gradient(ellipse 40% 40% at 90% 20%, rgba(122,158,126,.08) 0%, transparent 50%); pointer-events: none; }
.fi-hero-inner { display: flex; align-items: center; gap: 48px; position: relative; z-index: 1; max-width: 900px; margin: 0 auto; }
.fi-logo-wrap { width: 120px; height: 120px; border-radius: 50%; background: var(--fi-warm); border: 3px solid var(--fi-gold); display: flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden; box-shadow: 0 0 0 8px rgba(201,169,110,.15); }
.fi-logo { width: 100%; height: 100%; object-fit: contain; padding: 12px; }
.fi-hero-tag { display: inline-block; font-family: 'Jost', sans-serif; font-size: .65rem; letter-spacing: .22em; text-transform: uppercase; color: var(--fi-gold); margin-bottom: 12px; }
.fi-hero-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(2.4rem, 4vw, 3.8rem); font-weight: 300; color: var(--fi-white); line-height: 1.1; margin: 0 0 12px; letter-spacing: -.01em; }
.fi-hero-since { font-size: .78rem; color: rgba(250,247,242,.45); letter-spacing: .08em; margin: 0; }
.fi-hero-deco { position: absolute; bottom: 0; left: 0; right: 0; display: flex; justify-content: center; gap: 32px; padding: 16px 0; font-size: 1rem; color: rgba(201,169,110,.2); z-index: 1; letter-spacing: .3em; }
.fi-sect { padding: 72px 72px; }
.fi-sect-inner { max-width: 900px; margin: 0 auto; }
.fi-sect-label { display: flex; align-items: center; gap: 14px; margin-bottom: 28px; }
.fi-label-line { width: 28px; height: 1px; background: var(--fi-gold); }
.fi-label-txt { font-size: .65rem; letter-spacing: .22em; text-transform: uppercase; color: var(--fi-gold); font-weight: 500; }
.fi-about { background: var(--fi-white); }
.fi-about-text { font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; line-height: 1.9; color: var(--fi-bark); font-weight: 300; max-width: 680px; border-left: 2px solid var(--fi-gold-lt); padding-left: 28px; }
.fi-zone { background: var(--fi-warm); }
.fi-zone-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.fi-zone-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.fi-zone-item { display: flex; align-items: center; gap: 12px; font-size: .9rem; color: var(--fi-bark2); padding: 12px 16px; background: var(--fi-white); border-radius: 8px; border: 1px solid var(--fi-gold-lt); transition: all .25s; }
.fi-zone-item:hover { border-color: var(--fi-gold); transform: translateX(4px); }
.fi-zone-dot { color: var(--fi-sage); font-size: .7rem; flex-shrink: 0; }
.fi-orari-text { font-size: .9rem; line-height: 2; color: var(--fi-bark2); white-space: pre-line; }
.fi-contatti { background: var(--fi-white); }
.fi-contatti-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.fi-contatto-item { display: flex; align-items: flex-start; gap: 16px; padding: 24px; border: 1px solid var(--fi-gold-lt); border-radius: 12px; background: var(--fi-cream); transition: all .25s; }
.fi-contatto-item:hover { border-color: var(--fi-gold); background: var(--fi-warm); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(61,43,31,.06); }
.fi-contatto-icon { font-size: 1.2rem; flex-shrink: 0; margin-top: 2px; }
.fi-contatto-label { font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; color: var(--fi-gold); margin-bottom: 4px; font-weight: 500; }
.fi-contatto-val { font-size: .9rem; color: var(--fi-bark); font-weight: 400; }
.fi-link { text-decoration: none; color: var(--fi-sage-dk); border-bottom: 1px solid var(--fi-sage-lt); transition: color .2s; }
.fi-link:hover { color: var(--fi-sage); }
.fi-cta { background: linear-gradient(135deg, var(--fi-sage-dk), var(--fi-sage)); padding: 80px 72px; text-align: center; position: relative; overflow: hidden; }
.fi-cta::before { content: '✿ ❀ ✾ ✿ ❀ ✾ ✿ ❀'; position: absolute; top: 20px; left: 0; right: 0; text-align: center; font-size: .9rem; color: rgba(255,255,255,.12); letter-spacing: .4em; }
.fi-cta-inner { position: relative; z-index: 1; max-width: 600px; margin: 0 auto; }
.fi-cta-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(2rem, 3vw, 2.8rem); font-weight: 300; color: var(--fi-white); margin-bottom: 16px; line-height: 1.2; }
.fi-cta-sub { font-size: .88rem; color: rgba(255,255,255,.7); line-height: 1.7; margin-bottom: 36px; }
.fi-btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 36px; background: var(--fi-white); color: var(--fi-sage-dk); border-radius: 4px; font-family: 'Jost', sans-serif; font-size: .78rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; transition: all .25s; }
.fi-btn:hover { background: var(--fi-cream); transform: translateY(-2px); box-shadow: 0 12px 32px rgba(61,43,31,.2); color: var(--fi-sage-dk); }
@media (max-width: 768px) { .fi-hero { padding: 48px 24px 40px; } .fi-hero-inner { flex-direction: column; gap: 24px; text-align: center; } .fi-sect { padding: 48px 24px; } .fi-zone-grid { grid-template-columns: 1fr; gap: 36px; } .fi-contatti-grid { grid-template-columns: 1fr; } .fi-cta { padding: 56px 24px; } }

/* ════════════════════════════════════════
   HOMEPAGE FIORISTA
════════════════════════════════════════ */
.fih-hero { min-height: 90vh; background: var(--fi-bark); background-size: cover; background-position: center; position: relative; display: flex; align-items: center; justify-content: center; text-align: center; }
.fih-hero-overlay { position: absolute; inset: 0; background: rgba(61,43,31,.65); }
.fih-hero-inner { position: relative; z-index: 1; padding: 60px 32px; max-width: 700px; margin: 0 auto; }
.fih-logo-wrap { width: 90px; height: 90px; border-radius: 50%; background: rgba(250,247,242,.1); border: 2px solid var(--fi-gold); display: flex; align-items: center; justify-content: center; margin: 0 auto 24px; overflow: hidden; }
.fih-logo { width: 100%; height: 100%; object-fit: contain; padding: 10px; }
.fih-hero-title { font-family: "Cormorant Garamond", serif; font-size: clamp(2.8rem, 6vw, 5rem); font-weight: 300; color: #fff; line-height: 1.05; margin: 0 0 16px; }
.fih-hero-slogan { font-size: .9rem; color: rgba(250,247,242,.7); letter-spacing: .12em; text-transform: uppercase; margin-bottom: 40px; }
.fih-hero-ctas { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.fih-hero-zone { font-size: .85rem; color: rgba(250,247,242,.75); letter-spacing: .08em; margin-bottom: 32px; margin-top: -16px; }
.fih-btn-main { display: inline-flex; align-items: center; gap: 8px; padding: 14px 32px; border-radius: 4px; background: var(--fi-gold); color: var(--fi-bark); font-family: "Jost", sans-serif; font-size: .78rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; transition: all .25s; }
.fih-btn-main:hover { background: var(--fi-bark); color: var(--fi-gold); transform: translateY(-2px); box-shadow: 0 10px 28px rgba(61,43,31,.3); }
.fih-btn-ghost { display: inline-flex; align-items: center; gap: 8px; padding: 14px 32px; border-radius: 4px; background: transparent; color: #fff; font-family: "Jost", sans-serif; font-size: .78rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; border: 1.5px solid rgba(255,255,255,.3); transition: all .25s; }
.fih-btn-ghost:hover { border-color: rgba(255,255,255,.7); color: #fff; }
.fih-btn-outline { display: inline-flex; align-items: center; gap: 8px; padding: 12px 28px; border-radius: 4px; background: transparent; color: var(--fi-sage-dk); font-family: "Jost", sans-serif; font-size: .78rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; border: 1.5px solid var(--fi-sage-lt); transition: all .25s; }
.fih-btn-outline:hover { border-color: var(--fi-sage-dk); background: var(--fi-sage-dk); color: #fff; }
.fih-sect-label { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.fih-label-line { width: 24px; height: 1px; background: var(--fi-gold); }
.fih-label-txt { font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: var(--fi-gold); font-weight: 500; }
.fih-sect-title { font-family: "Cormorant Garamond", serif; font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 300; color: var(--fi-bark); margin: 0 0 32px; line-height: 1.2; }
.fih-sect-title em { font-style: normal; color: var(--fi-sage-dk); }
.fih-config { background: var(--fi-bark); padding: 100px 72px; position: relative; overflow: hidden; }
.fih-config::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 80% at 100% 50%, rgba(122,158,126,.1) 0%, transparent 60%); pointer-events: none; }
.fih-config-inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; position: relative; z-index: 1; }
.fih-badge { display: inline-block; background: rgba(201,169,110,.15); border: 1px solid rgba(201,169,110,.3); border-radius: 40px; padding: 5px 16px; font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; color: var(--fi-gold); margin-bottom: 20px; }
.fih-config-title { font-family: "Cormorant Garamond", serif; font-size: clamp(2rem, 3.5vw, 3rem); font-weight: 300; color: #fff; line-height: 1.1; margin: 0 0 20px; }
.fih-config-title em { font-style: normal; color: var(--fi-gold); }
.fih-config-desc { font-size: .88rem; line-height: 1.8; color: rgba(250,247,242,.5); margin-bottom: 32px; }
.fih-config-steps { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 16px; }
.fih-config-steps li { display: flex; align-items: center; gap: 14px; font-size: .85rem; color: rgba(250,247,242,.65); }
.fih-step-n { font-family: "Cormorant Garamond", serif; font-size: 1.2rem; font-weight: 300; color: var(--fi-gold); flex-shrink: 0; width: 28px; }
.fih-config-card { background: rgba(250,247,242,.05); border: 1px solid rgba(201,169,110,.2); border-radius: 16px; padding: 40px; text-align: center; }
.fih-config-card-tag { font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; color: var(--fi-gold); margin-bottom: 20px; }
.fih-config-card-title { font-family: "Cormorant Garamond", serif; font-size: 1.8rem; font-weight: 300; color: #fff; margin-bottom: 8px; }
.fih-config-card-sub { font-size: .78rem; color: rgba(250,247,242,.4); margin-bottom: 32px; line-height: 1.6; }
.fih-config-start { display: inline-flex; align-items: center; gap: 8px; padding: 14px 32px; border-radius: 4px; background: var(--fi-gold); color: var(--fi-bark); font-size: .78rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; transition: all .25s; }
.fih-config-start:hover { background: var(--fi-gold-lt); transform: translateY(-2px); }
.fih-products { background: var(--fi-cream); padding: 80px 72px; }
.fih-products-inner { max-width: 1100px; margin: 0 auto; }
.fih-woo-wrap { margin-top: 32px; }
.fih-woo-wrap ul.products { display: grid !important; grid-template-columns: repeat(4,1fr) !important; gap: 20px !important; list-style: none !important; padding: 0 !important; }
.fih-woo-wrap ul.products li.product { background: #fff; border: 1px solid var(--fi-gold-lt); border-radius: 12px; padding: 20px; transition: all .25s; }
.fih-woo-wrap ul.products li.product:hover { border-color: var(--fi-gold); transform: translateY(-3px); box-shadow: 0 12px 32px rgba(61,43,31,.08); }
.fih-woo-wrap .woocommerce-loop-product__title { font-family: "Cormorant Garamond", serif !important; font-size: 1.1rem !important; font-weight: 400 !important; color: var(--fi-bark) !important; }
.fih-woo-wrap .price { color: var(--fi-sage-dk) !important; }
.fih-products-cta { text-align: center; margin-top: 40px; }
.fih-about { background: var(--fi-warm); padding: 80px 72px; }
.fih-about-inner { max-width: 700px; margin: 0 auto; }
.fih-about-text { font-family: "Cormorant Garamond", serif; font-size: 1.2rem; line-height: 1.9; color: var(--fi-bark); font-weight: 300; border-left: 2px solid var(--fi-gold-lt); padding-left: 24px; margin-bottom: 20px; }
.fih-about-since { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--fi-gold); margin-bottom: 28px; }
.fih-info { background: var(--fi-bark); padding: 80px 72px; }
.fih-info-inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.fih-zone-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.fih-zone-list li { font-size: .88rem; color: rgba(250,247,242,.6); padding: 10px 0; border-bottom: 1px solid rgba(201,169,110,.1); }
.fih-orari { font-size: .88rem; line-height: 2; color: rgba(250,247,242,.6); white-space: pre-line; }
.fih-info .fih-sect-title { color: #fff; }
.fih-info .fih-label-txt { color: var(--fi-gold); }
.fih-ispiraz { background: var(--fi-bark); padding: 80px 72px; text-align: center; }
.fih-ispiraz-inner { max-width: 700px; margin: 0 auto; }
.fih-ispiraz .fih-sect-label { justify-content: center; }
.fih-ispiraz .fih-sect-title { color: #fff; }
.fih-ispiraz .fih-sect-title em { color: var(--fi-gold); }
.fih-ispiraz-desc { font-size: .9rem; color: rgba(250,247,242,.5); line-height: 1.8; margin-bottom: 32px; }
.fih-ispiraz-cta { border-color: var(--fi-gold) !important; color: var(--fi-gold) !important; }
.fih-ispiraz-cta:hover { background: var(--fi-gold) !important; color: var(--fi-bark) !important; }
@media(max-width:1024px) { .fih-config { padding: 72px 32px; } .fih-config-inner { grid-template-columns: 1fr; gap: 48px; } .fih-config-right { display: none; } .fih-products { padding: 60px 32px; } .fih-woo-wrap ul.products { grid-template-columns: repeat(2,1fr) !important; } .fih-about { padding: 60px 32px; } .fih-info { padding: 60px 32px; } .fih-info-inner { grid-template-columns: 1fr; gap: 40px; } }
@media(max-width:768px) { .fih-ispiraz { padding: 56px 24px; } }
@media(max-width:600px) { .fih-hero-title { font-size: 2.4rem; } .fih-woo-wrap ul.products { grid-template-columns: 1fr !important; } }

/* ════════════════════════════════════════
   GLOBAL — base, header, footer, overflow
════════════════════════════════════════ */
/* ── Fix overflow orizzontale — soluzioni mirate per ogni colpevole ──
   Il drawer carrello è fuori schermo a destra per design (slide-in),
   i select2 nascosti hanno larghezza automatica enorme,
   il bottone WhatsApp sborda di qualche pixel.
   Soluzione: clip sul wrapper della pagina, non su html/body ── */
html { overflow-x: clip; } /* clip non blocca position:fixed come hidden */

/* Drawer carrello: già fuori schermo per design, non deve causare scroll */
.domyflor-cart-drawer { overflow: hidden; max-width: 100vw; }

/* Select2 hidden: elementi nascosti di WooCommerce fuori dal flusso */
.select2-hidden-accessible { position: absolute !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; width: 1px !important; height: 1px !important; }

/* WhatsApp button: contieni dentro il viewport */
.wa-text { max-width: calc(100vw - 80px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body { background: var(--fi-cream) !important; }
.inside-header, .site-header .inside-header { background: transparent !important; }
.site-header, .site-header .inside-header, header.site-header { background: #3D2B1F !important; border-bottom: 1px solid rgba(201,169,110,.2) !important; }
.main-navigation, .main-navigation .inside-navigation, nav.main-navigation { background: #3D2B1F !important; }
.main-navigation a, .main-navigation ul li a { color: rgba(250,247,242,.82) !important; font-family: 'Jost', sans-serif !important; font-size: .95rem !important; font-weight: 400 !important; }
.main-navigation a:hover, .main-navigation ul li a:hover, .main-navigation .main-nav ul li.current-menu-item > a { color: #C9A96E !important; background: transparent !important; }
.main-navigation .main-nav ul ul, .main-navigation ul ul { background: #3D2B1F !important; border: 1px solid rgba(201,169,110,.15) !important; border-radius: 6px !important; }
.menu-toggle, button.menu-toggle { color: rgba(250,247,242,.85) !important; background: transparent !important; border: 1px solid rgba(201,169,110,.3) !important; border-radius: 4px !important; }
.main-navigation.toggled .main-nav, .main-navigation.toggled ul { background: #3D2B1F !important; }

/* WhatsApp button: contieni dentro il viewport */
.site-branding { display: flex !important; align-items: center !important; gap: 0 !important; }
.site-branding::before { content: "" !important; display: inline-block !important; width: 125px !important; height: 60px !important; min-width: 70px !important; margin-right: 25px !important; background-image: url(https://www.domyflor.com/wp-content/uploads/2026/06/logodomyflornew-fotor-20260601173138.png) !important; background-size: contain !important; background-repeat: no-repeat !important; background-position: center !important; opacity: .9 !important; }
.site-branding::after { display: none !important; }
.site-branding .site-title, .site-branding .site-title a { font-family: 'Cormorant Garamond', serif !important; font-size: 1.3rem !important; font-weight: 300 !important; color: rgba(250,247,242,.85) !important; text-decoration: none !important; }
.main-title a, .main-title a:hover {
    padding-top: 18px !important;
    display: inline-block;
    font-family: 'Cormorant Garamond';
    color: #C9A96E !important;
    font-size: xx-large;
    font-weight: bolder;
}
.site-footer { background: var(--fi-bark) !important; color: rgba(250,247,242,.45) !important; padding: 40px 32px !important; border-top: 1px solid rgba(201,169,110,.12) !important; }
.site-footer .site-info { display: flex !important; align-items: center !important; justify-content: space-between !important; flex-wrap: wrap !important; gap: 12px !important; max-width: 1140px !important; margin: 0 auto !important; }
.site-footer a { color: var(--fi-gold) !important; text-decoration: none !important; font-size: .8rem !important; }
.site-footer a:hover { color: var(--fi-gold-lt) !important; }
.site-footer p { font-family: 'Jost', sans-serif !important; font-size: .8rem !important; margin: 0 !important; }
.site-footer .powered-by { display: none !important; }
@media (max-width: 768px) { .site-footer { padding: 28px 20px !important; } }

/* Footer custom dmd */
.dmd-footer { background: #3D2B1F !important; border-top: 1px solid rgba(201,169,110,.15) !important; padding: 50px 24px 0 !important; }
.dmd-footer-inner { max-width: 1140px !important; margin: 0 auto !important; display: grid !important; grid-template-columns: 2fr 1fr 1fr !important; gap: 40px !important; padding-bottom: 36px !important; border-bottom: 1px solid rgba(201,169,110,.1) !important; }
.dmd-footer-brand { display: flex !important; align-items: end !important; gap: 10px !important; margin-bottom: 10px !important; }
.dmd-footer-sitename { font-family: 'Cormorant Garamond', serif !important; font-size: 1.3rem !important; font-weight: 300 !important; color: rgba(250,247,242,.85) !important; }
.dmd-footer-tagline { font-family: 'Jost', sans-serif !important; font-size: .82rem !important; color: rgba(250,247,242,.4) !important; line-height: 1.6 !important; margin: 0 !important; }
.dmd-footer-tagline a { color: #C9A96E !important; text-decoration: none !important; }
.dmd-footer-title { font-family: 'Jost', sans-serif !important; font-size: .68rem !important; letter-spacing: .16em !important; text-transform: uppercase !important; color: #C9A96E !important; margin-bottom: 14px !important; font-weight: 500 !important; }
.dmd-footer-links { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex !important; flex-direction: column !important; gap: 8px !important; }
.dmd-footer-links li { font-family: 'Jost', sans-serif !important; font-size: .88rem !important; color: rgba(250,247,242,.5) !important; }
.dmd-footer-links li a { color: rgba(250,247,242,.6) !important; text-decoration: none !important; transition: color .2s !important; }
.dmd-footer-links li a:hover { color: #C9A96E !important; }
.dmd-footer-bottom { max-width: 1140px !important; margin: 0 auto !important; padding: 18px 0 22px !important; display: flex !important; align-items: center !important; gap: 12px !important; flex-wrap: wrap !important; font-family: 'Jost', sans-serif !important; font-size: .8rem !important; color: rgba(250,247,242,.35) !important; }
.dmd-footer-bottom a { color: rgba(250,247,242,.45) !important; text-decoration: none !important; }
.dmd-footer-bottom a:hover { color: #C9A96E !important; }
@media (max-width: 768px) { .dmd-footer-inner { grid-template-columns: 1fr !important; gap: 28px !important; } .dmd-footer { padding: 36px 20px 0 !important; } }

/* ════════════════════════════════════════
   WOOCOMMERCE — contenitore e sidebar
════════════════════════════════════════ */
.widget_search, .widget_recent_entries, .widget_recent_comments, .widget_archive, .widget_categories, .widget_meta, .secondary, #secondary { display: none !important; }
.generate-columns-container { display: block !important; }
body:not(.woocommerce-page):not(.woocommerce-shop):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.single-product) .site-main,
body:not(.woocommerce-page):not(.woocommerce-shop):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.single-product) #primary,
body:not(.woocommerce-page):not(.woocommerce-shop):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.single-product) .content-area { width: 100% !important; max-width: 100% !important; float: none !important; padding-right: 0 !important; }
body.woocommerce-page .widget-area, body.woocommerce-page #secondary, body.woocommerce-page .secondary { display: none !important; }
body.woocommerce-page .site-content, body.woocommerce-page .content-area, body.woocommerce-page #primary, body.woocommerce-page .entry-content, body.woocommerce-page article, body.woocommerce-page .inside-article { max-width: 1100px !important; width: 100% !important; float: none !important; padding: 0 !important; margin: 0 auto 40px !important; background: transparent !important; }
body.woocommerce-page .woocommerce, body.woocommerce-shop .woocommerce, body.woocommerce-cart .woocommerce, body.woocommerce-checkout .woocommerce, body.woocommerce-account .woocommerce { max-width: 1140px !important; margin: 0 auto !important; padding: 24px 20px 60px !important; box-sizing: border-box !important; }
body.woocommerce-page .entry-header, body.woocommerce-page h1.entry-title, body.woocommerce-page h1.page-title, body.woocommerce-page .woocommerce-breadcrumb { max-width: 1140px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 0 !important; padding-right: 0 !important; width: 100% !important; box-sizing: border-box !important; display: block !important; }
@media (max-width: 480px) { body.woocommerce-page .woocommerce, body.woocommerce-page .woocommerce-breadcrumb, body.woocommerce-page h1.page-title { padding-left: 14px !important; padding-right: 14px !important; } body.woocommerce-page .woocommerce { padding-top: 16px !important; padding-bottom: 48px !important; } }

/* ════════════════════════════════════════
   MESSAGGI WC
════════════════════════════════════════ */
.woocommerce-message, .woocommerce-error, .woocommerce-info, .woocommerce-notice { border-radius: 0 8px 8px 0 !important; border-top: none !important; border-right: none !important; border-bottom: none !important; padding: 1em 2em 1em 1.8em !important; margin: 0 0 20px !important; font-family: 'Jost', sans-serif !important; font-size: .88rem !important; display: flex !important; align-items: center !important; gap: 12px !important; flex-wrap: wrap !important; position: relative !important; }
.woocommerce-message { background: #f0f5f0 !important; border-left: 3px solid var(--fi-sage-dk) !important; color: #2a4a2e !important; }
.woocommerce-message::before { color: var(--fi-sage-dk) !important; }
.woocommerce-error { background: #fdf1f1 !important; border-left: 3px solid #c0395a !important; color: #7a1f30 !important; list-style: none !important; }
.woocommerce-error li { padding: 3px 0 !important; }
.woocommerce-info { background: #fdf8f0 !important; border-left: 3px solid var(--fi-gold) !important; color: var(--fi-bark2) !important; }
.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before { left: 6px !important; }
.woocommerce-message .button, .woocommerce-info .button { background: var(--fi-sage-dk) !important; color: #fff !important; border: none !important; border-radius: 4px !important; padding: 7px 16px !important; font-size: .75rem !important; font-weight: 600 !important; letter-spacing: .06em !important; text-transform: uppercase !important; text-decoration: none !important; margin-left: auto !important; white-space: nowrap !important; transition: background .2s !important; }
.woocommerce-message .button:hover { background: #286028 !important; }
.added_to_cart { display: inline-flex !important; align-items: center !important; gap: 6px !important; background: var(--fi-sage-dk) !important; color: #fff !important; border-radius: 4px !important; padding: 8px 18px !important; font-family: 'Jost', sans-serif !important; font-size: .75rem !important; font-weight: 600 !important; letter-spacing: .06em !important; text-transform: uppercase !important; text-decoration: none !important; transition: background .2s !important; margin-top: 8px !important; }
.added_to_cart:hover { background: #286028 !important; color: #fff !important; }
.added_to_cart::before { content: "→ "; }

/* ════════════════════════════════════════
   BREADCRUMB
════════════════════════════════════════ */
.woocommerce-breadcrumb { font-family: 'Jost', sans-serif !important; font-size: .75rem !important; color: var(--fi-mid) !important; letter-spacing: .04em !important; padding: 14px 0 8px !important; }
.woocommerce-breadcrumb a { color: var(--fi-gold) !important; text-decoration: none !important; }
.woocommerce-breadcrumb a:hover { color: var(--fi-bark) !important; }

/* ════════════════════════════════════════
   CATALOGO PRODOTTI
════════════════════════════════════════ */
.woocommerce-products-header__title, .woocommerce-shop h1.page-title { font-family: 'Cormorant Garamond', serif !important; font-size: clamp(1.8rem, 3vw, 2.4rem) !important; font-weight: 300 !important; color: var(--fi-bark) !important; margin: 0 !important; }

.woocommerce-products-header__title, .woocommerce-shop h1.page-title { font-family: 'Cormorant Garamond', serif !important; font-size: clamp(1.8rem, 3vw, 2.4rem) !important; font-weight: 300 !important; color: var(--fi-bark) !important; margin: 0 !important; }
.woocommerce-result-count { font-family: 'Jost', sans-serif !important; font-size: .78rem !important; color: var(--fi-mid) !important; }
.woocommerce-ordering select { border: 1px solid var(--fi-gold-lt) !important; border-radius: 4px !important; padding: 6px 10px !important; font-family: 'Jost', sans-serif !important; font-size: .78rem !important; background: #fff !important; color: var(--fi-bark) !important; }
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 20px !important; list-style: none !important; padding: 0 !important; margin: 0 !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { background: #fff !important; border: 1px solid rgba(232,213,176,.6) !important; border-radius: 8px !important; overflow: hidden !important; transition: border-color .25s, transform .25s, box-shadow .25s !important; padding: 0 !important; margin: 0 !important; float: none !important; width: auto !important; }
.woocommerce ul.products li.product:hover { border-color: var(--fi-gold) !important; transform: translateY(-3px) !important; box-shadow: 0 8px 24px rgba(61,43,31,.08) !important; }
.woocommerce ul.products li.product img { width: 100% !important; height: 180px !important; object-fit: cover !important; display: block !important; border-radius: 0 !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: 'Cormorant Garamond', serif !important; font-size: 1.05rem !important; font-weight: 400 !important; color: var(--fi-bark) !important; padding: 12px 14px 4px !important; margin: 0 !important; line-height: 1.3 !important; }
.woocommerce ul.products li.product .price { font-family: 'Jost', sans-serif !important; font-size: .88rem !important; color: var(--fi-sage-dk) !important; padding: 0 14px 8px !important; display: block !important; font-weight: 500 !important; }
.woocommerce ul.products li.product .price del { color: rgba(61,43,31,.3) !important; font-size: .78rem !important; }
.woocommerce ul.products li.product .price ins { text-decoration: none !important; font-weight: 600 !important; }
.woocommerce ul.products li.product .button, .woocommerce ul.products li.product .add_to_cart_button { display: block !important; width: calc(100% - 28px) !important; margin: 6px 14px 14px !important; padding: 9px !important; background: var(--fi-sage) !important; color: #fff !important; border: none !important; border-radius: 4px !important; font-family: 'Jost', sans-serif !important; font-size: .7rem !important; font-weight: 600 !important; letter-spacing: .08em !important; text-transform: uppercase !important; text-align: center !important; text-decoration: none !important; cursor: pointer !important; transition: background .2s !important; }
.woocommerce ul.products li.product .button:hover { background: var(--fi-sage-dk) !important; color: #fff !important; }
.woocommerce span.onsale { background: var(--fi-gold) !important; color: var(--fi-bark) !important; font-size: .62rem !important; font-weight: 700 !important; letter-spacing: .08em !important; text-transform: uppercase !important; border-radius: 3px !important; padding: 3px 8px !important; min-height: unset !important; min-width: unset !important; top: 10px !important; left: 10px !important; line-height: 1.4 !important; }
@media (max-width: 1024px) { .woocommerce ul.products { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 640px)  { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; } }
@media (max-width: 400px)  { .woocommerce ul.products { grid-template-columns: 1fr !important; } }
.woocommerce nav.woocommerce-pagination ul { border: none !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { font-family: 'Jost', sans-serif !important; font-size: .8rem !important; color: var(--fi-bark) !important; border: 1px solid var(--fi-gold-lt) !important; border-radius: 4px !important; padding: 6px 12px !important; }
.woocommerce nav.woocommerce-pagination ul li a:hover, .woocommerce nav.woocommerce-pagination ul li span.current { background: var(--fi-gold) !important; color: var(--fi-bark) !important; border-color: var(--fi-gold) !important; }

/* ════════════════════════════════════════
   PRODOTTO SINGOLO
════════════════════════════════════════ */
.woocommerce div.product { background: #fff !important; border: 1px solid rgba(232,213,176,.5) !important; border-radius: 10px !important; padding: 28px !important; margin: 0 auto 40px !important; max-width: 1100px !important; }
.woocommerce div.product .product_title { font-family: 'Cormorant Garamond', serif !important; font-size: clamp(1.8rem, 3vw, 2.4rem) !important; font-weight: 300 !important; color: var(--fi-bark) !important; margin-bottom: 10px !important; }
.woocommerce div.product p.price { font-family: 'Jost', sans-serif !important; font-size: 1.4rem !important; color: var(--fi-sage-dk) !important; font-weight: 500 !important; }
.woocommerce div.product .single_add_to_cart_button { background: var(--fi-sage) !important; color: #fff !important; border: none !important; border-radius: 4px !important; font-family: 'Jost', sans-serif !important; font-size: .78rem !important; font-weight: 600 !important; letter-spacing: .08em !important; text-transform: uppercase !important; padding: 13px 32px !important; transition: background .2s !important; cursor: pointer !important; }
.woocommerce div.product .single_add_to_cart_button:hover { background: var(--fi-sage-dk) !important; }
.woocommerce div.product div.images { border-radius: 8px !important; overflow: hidden !important; }
.woocommerce div.product div.images img { border-radius: 0 !important; }
.woocommerce div.product div.images .flex-control-thumbs { display: flex !important; gap: 6px !important; padding: 8px !important; background: var(--fi-warm) !important; margin: 0 !important; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto !important; flex: 1 !important; }
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: 4px !important; border: 2px solid transparent !important; opacity: .7 !important; transition: all .2s !important; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active, .woocommerce div.product div.images .flex-control-thumbs li img:hover { border-color: var(--fi-gold) !important; opacity: 1 !important; }
.woocommerce div.product > div.images, .woocommerce div.product > .woocommerce-product-gallery { float: left !important; width: 52% !important; padding-right: 28px !important; }
.woocommerce div.product > .summary { float: right !important; width: 44% !important; }
.woocommerce div.product::after { content: "" !important; display: table !important; clear: both !important; }
.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .upsells { clear: both !important; width: 100% !important; padding-top: 32px !important; }
.woocommerce div.product .sku_wrapper { display: none !important; }
.woocommerce div.product .posted_in a, .woocommerce div.product .tagged_as a { display: inline-block !important; background: var(--fi-warm) !important; border: 1px solid var(--fi-gold-lt) !important; color: var(--fi-bark2) !important; border-radius: 20px !important; padding: 3px 12px !important; font-size: .7rem !important; font-weight: 500 !important; text-decoration: none !important; margin: 2px !important; transition: all .2s !important; }
.woocommerce div.product .posted_in a:hover, .woocommerce div.product .tagged_as a:hover { background: var(--fi-gold-lt) !important; border-color: var(--fi-gold) !important; }
.woocommerce .related h2, .woocommerce .upsells h2 { font-family: 'Cormorant Garamond', serif !important; font-size: 1.5rem !important; font-weight: 300 !important; color: var(--fi-bark) !important; margin-bottom: 20px !important; }
@media (max-width: 768px) { .woocommerce div.product { padding: 16px !important; } .woocommerce div.product > div.images, .woocommerce div.product > .woocommerce-product-gallery { float: none !important; width: 100% !important; padding-right: 0 !important; } .woocommerce div.product > .summary { float: none !important; width: 100% !important; margin-top: 20px !important; } }

/* ════════════════════════════════════════
   CARRELLO
════════════════════════════════════════ */
.woocommerce-cart h1.page-title, .woocommerce-cart .entry-title { font-family: 'Cormorant Garamond', serif !important; font-size: clamp(1.6rem, 3vw, 2.2rem) !important; font-weight: 300 !important; color: var(--fi-bark) !important; margin-bottom: 20px !important; }
.woocommerce table.cart { width: 100% !important; border-collapse: collapse !important; margin-bottom: 20px !important; border: 1px solid rgba(232,213,176,.5) !important; border-radius: 8px !important; overflow: hidden !important; background: #fff !important; }
.woocommerce table.cart thead th { background: var(--fi-warm) !important; font-family: 'Jost', sans-serif !important; font-size: .65rem !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: var(--fi-mid) !important; padding: 12px 14px !important; font-weight: 500 !important; border-bottom: 1px solid var(--fi-gold-lt) !important; }
.woocommerce table.cart td { padding: 16px 14px !important; border-bottom: 1px solid rgba(232,213,176,.4) !important; vertical-align: middle !important; color: var(--fi-bark) !important; font-family: 'Jost', sans-serif !important; font-size: .88rem !important; }
.woocommerce table.cart tr:last-child td { border-bottom: none !important; }
.woocommerce table.cart .product-name a { color: var(--fi-bark) !important; font-family: 'Cormorant Garamond', serif !important; font-size: 1rem !important; text-decoration: none !important; }
.woocommerce table.cart .product-thumbnail img { border-radius: 6px !important; }
.woocommerce .quantity input.qty { border: 1px solid var(--fi-gold-lt) !important; border-radius: 4px !important; padding: 6px 10px !important; width: 60px !important; font-family: 'Jost', sans-serif !important; font-size: .9rem !important; text-align: center !important; }

/* Input coupon carrello — più largo su desktop */
.woocommerce #content table.cart td.actions .input-text,
.woocommerce table.cart td.actions .input-text,
.woocommerce-page #content table.cart td.actions .input-text,
.woocommerce-page table.cart td.actions .input-text { width: 280px !important; max-width: 100% !important; }

/* ── Carrello mobile: coupon e bottoni impilati, niente accavallamento ── */
@media (max-width: 600px) {
    .woocommerce table.cart td.actions,
    .woocommerce-cart table.cart td.actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        align-items: stretch !important;
    }
    /* Il blocco coupon a piena larghezza, in colonna */
    .woocommerce table.cart td.actions .coupon,
    .woocommerce-cart .coupon {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        width: 100% !important;
        float: none !important;
    }
    .woocommerce table.cart td.actions .coupon .input-text,
    .woocommerce-cart .coupon .input-text {
        width: 100% !important;
        float: none !important;
        box-sizing: border-box !important;
    }
    /* Tutti i bottoni a piena larghezza, uno sotto l'altro */
    .woocommerce table.cart td.actions .button,
    .woocommerce-cart .coupon .button,
    button[name="apply_coupon"],
    button[name="update_cart"] {
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
}

/* Pulsanti carrello: Applica coupon + Aggiorna carrello */
.woocommerce-cart .coupon input, .woocommerce-cart .coupon .input-text { border: 1px solid var(--fi-gold-lt) !important; border-radius: 4px !important; padding: 9px 12px !important; font-family: 'Jost', sans-serif !important; font-size: .85rem !important; }
.woocommerce-cart .coupon .button,
.woocommerce table.cart td.actions .button,
.woocommerce-cart .cart_totals .button,
button[name="apply_coupon"],
button[name="update_cart"] {
    background: transparent !important;
    color: var(--fi-sage-dk) !important;
    border: 1.5px solid var(--fi-sage-lt) !important;
    border-radius: 4px !important;
    padding: 13px 18px !important;
    font-family: 'Jost', sans-serif !important;
    font-size: .75rem !important;
    font-weight: 600 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    transition: all .2s !important;
    cursor: pointer !important;
}
.woocommerce-cart .coupon .button:hover,
.woocommerce table.cart td.actions .button:hover,
button[name="apply_coupon"]:hover,
button[name="update_cart"]:hover { background: var(--fi-sage-dk) !important; color: #fff !important; border-color: var(--fi-sage-dk) !important; }

.woocommerce-cart .wc-proceed-to-checkout { padding: 0 !important; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button { background: var(--fi-sage-dk) !important; color: #fff !important; border: none !important; border-radius: 4px !important; padding: 13px 28px !important; font-family: 'Jost', sans-serif !important; font-size: .78rem !important; font-weight: 600 !important; letter-spacing: .08em !important; text-transform: uppercase !important; display: block !important; text-align: center !important; text-decoration: none !important; width: 100% !important; transition: background .2s !important; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover { background: #286028 !important; color: #fff !important; }
.woocommerce .cart_totals { background: #fff !important; border: 1px solid rgba(232,213,176,.5) !important; border-radius: 8px !important; padding: 22px !important; }
.woocommerce .cart_totals h2 { font-family: 'Cormorant Garamond', serif !important; font-size: 1.2rem !important; font-weight: 400 !important; color: var(--fi-bark) !important; margin-bottom: 16px !important; }
.woocommerce .cart_totals table { width: 100% !important; }
.woocommerce .cart_totals table th, .woocommerce .cart_totals table td { font-family: 'Jost', sans-serif !important; font-size: .88rem !important; color: var(--fi-bark) !important; padding: 8px 0 !important; border-bottom: 1px solid rgba(232,213,176,.4) !important; }
.woocommerce .cart_totals table tr:last-child th, .woocommerce .cart_totals table tr:last-child td { border-bottom: none !important; font-weight: 600 !important; font-size: .95rem !important; }
#add_payment_method .cart-collaterals .cart_totals table td,
#add_payment_method .cart-collaterals .cart_totals table th,
.woocommerce-cart .cart-collaterals .cart_totals table td,
.woocommerce-cart .cart-collaterals .cart_totals table th,
.woocommerce-checkout .cart-collaterals .cart_totals table td,
.woocommerce-checkout .cart-collaterals .cart_totals table th { vertical-align: top !important; border-left: 0 !important; border-right: 0 !important; line-height: 1.5em !important; padding: 10px !important; }

/* ════════════════════════════════════════
   CHECKOUT
════════════════════════════════════════ */
.woocommerce-checkout h1.page-title, .woocommerce-checkout .entry-title { font-family: 'Cormorant Garamond', serif !important; font-size: clamp(1.6rem, 3vw, 2.2rem) !important; font-weight: 300 !important; color: var(--fi-bark) !important; margin-bottom: 24px !important; }
.woocommerce-checkout h3 { font-family: 'Cormorant Garamond', serif !important; font-size: 1.15rem !important; font-weight: 400 !important; color: var(--fi-bark) !important; margin: 0 0 18px !important; padding-bottom: 10px !important; border-bottom: 1px solid rgba(232,213,176,.6) !important; }
.woocommerce-checkout .woocommerce-shipping-fields, .woocommerce-checkout .woocommerce-billing-fields { background: #fff !important; border: 1px solid rgba(232,213,176,.5) !important; border-radius: 8px !important; padding: 22px 18px !important; margin-bottom: 16px !important; }
.woocommerce-checkout .form-row label { font-family: 'Jost', sans-serif !important; font-size: .68rem !important; font-weight: 500 !important; letter-spacing: .07em !important; text-transform: uppercase !important; color: var(--fi-mid) !important; margin-bottom: 5px !important; display: block !important; }
.woocommerce-checkout .required { color: var(--fi-sage-dk) !important; }
.woocommerce-checkout .form-row input[type="text"], .woocommerce-checkout .form-row input[type="email"], .woocommerce-checkout .form-row input[type="tel"], .woocommerce-checkout .form-row input[type="number"], .woocommerce-checkout .form-row select, .woocommerce-checkout .form-row textarea { width: 100% !important; border: 1px solid #ddd5c8 !important; border-radius: 4px !important; padding: 10px 12px !important; font-family: 'Jost', sans-serif !important; font-size: .9rem !important; color: var(--fi-bark) !important; background: var(--fi-cream) !important; box-sizing: border-box !important; outline: none !important; transition: border-color .2s, box-shadow .2s !important; }
.woocommerce-checkout .form-row input:focus, .woocommerce-checkout .form-row select:focus, .woocommerce-checkout .form-row textarea:focus { border-color: var(--fi-gold) !important; box-shadow: 0 0 0 3px rgba(201,169,110,.1) !important; }
.woocommerce-checkout .form-row textarea { min-height: 80px !important; resize: vertical !important; }

/* Pulsante applica coupon nel checkout */
.woocommerce-checkout button[name="apply_coupon"],
.woocommerce-checkout .woocommerce-form-coupon .button {
    background: transparent !important;
    color: var(--fi-sage-dk) !important;
    border: 1.5px solid var(--fi-sage-lt) !important;
    border-radius: 4px !important;
    padding: 13px 18px !important;
    font-family: 'Jost', sans-serif !important;
    font-size: .75rem !important;
    font-weight: 600 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    transition: all .2s !important;
    cursor: pointer !important;
}
.woocommerce-checkout button[name="apply_coupon"]:hover,
.woocommerce-checkout .woocommerce-form-coupon .button:hover { background: var(--fi-sage-dk) !important; color: #fff !important; border-color: var(--fi-sage-dk) !important; }

.woocommerce-checkout #payment { background: var(--fi-warm) !important; border-radius: 8px !important; padding: 18px !important; margin-bottom: 0 !important; }
.woocommerce-checkout #payment .payment_methods { list-style: none !important; padding: 0 !important; margin: 0 0 14px !important; }
.woocommerce-checkout #payment .payment_methods li { padding: 10px 0 !important; border-bottom: 1px solid rgba(201,169,110,.15) !important; display: flex !important; align-items: center !important; gap: 10px !important; flex-wrap: wrap !important; }
.woocommerce-checkout #payment .payment_methods li:last-child { border-bottom: none !important; }
.woocommerce-checkout #payment .payment_methods li label { font-size: .88rem !important; color: var(--fi-bark) !important; cursor: pointer !important; font-weight: 400 !important; text-transform: none !important; letter-spacing: 0 !important; }
.woocommerce-checkout #payment .payment_box { background: rgba(255,255,255,.6) !important; border-radius: 4px !important; padding: 10px !important; font-size: .82rem !important; color: var(--fi-mid) !important; width: 100% !important; margin-top: 6px !important; }
/* Fix triangolino payment box */
#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before { border: 1em solid #faf8f4 !important; border-right-color: transparent !important; border-left-color: transparent !important; border-top-color: transparent !important; }
.woocommerce-checkout #place_order { background: var(--fi-sage-dk) !important; color: #fff !important; border: none !important; border-radius: 4px !important; padding: 15px !important; font-family: 'Jost', sans-serif !important; font-size: .82rem !important; font-weight: 600 !important; letter-spacing: .08em !important; text-transform: uppercase !important; width: 100% !important; cursor: pointer !important; transition: background .2s !important; margin-top: 4px !important; }
.woocommerce-checkout #place_order:hover { background: #286028 !important; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label { font-size: .8rem !important; color: var(--fi-mid) !important; text-transform: none !important; letter-spacing: 0 !important; }
/*body.woocommerce-checkout .woocommerce-NoticeGroup-checkout, body.woocommerce-checkout .woocommerce-error { display: none !important; }*/
.woocommerce-checkout p.form-row.hidden, .woocommerce-checkout .form-row.hidden { display: none !important; }

/* ════════════════════════════════════════
   CHECKOUT TEMPLATE OVERRIDE (dmd)
════════════════════════════════════════ */
.dmd-checkout-form .dmd-checkout-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 24px !important; align-items: start !important; width: 100% !important; }
/* min-width:0 permette alle colonne di restringersi col contenuto (fix overflow grid) */
.dmd-checkout-form .dmd-col-left,
.dmd-checkout-form .dmd-col-right { min-width: 0 !important; max-width: 100% !important; }
/* La tabella ordine WooCommerce non deve sforare la colonna */
.dmd-checkout-form .dmd-col-right table,
.dmd-checkout-form #order_review table,
.dmd-checkout-form .shop_table { width: 100% !important; max-width: 100% !important; table-layout: fixed !important; }
.dmd-checkout-form .dmd-col-right table td,
.dmd-checkout-form .dmd-col-right table th { word-wrap: break-word !important; overflow-wrap: break-word !important; }
.dmd-checkout-form .dmd-checkout-box { background: #fff !important; border: 1px solid rgba(232,213,176,.5) !important; border-radius: 8px !important; padding: 22px 18px !important; margin-bottom: 16px !important; }
.dmd-checkout-form .dmd-checkout-box:last-child { margin-bottom: 0 !important; }
.dmd-checkout-form .dmd-box-title { font-family: 'Cormorant Garamond', serif !important; font-size: 1.15rem !important; font-weight: 400 !important; color: #3D2B1F !important; margin: 0 0 18px !important; padding-bottom: 10px !important; border-bottom: 1px solid #E8D5B0 !important; }
.dmd-checkout-form .dmd-checkout-box .woocommerce-billing-fields, .dmd-checkout-form .dmd-checkout-box .woocommerce-shipping-fields, .dmd-checkout-form .dmd-checkout-box .woocommerce-billing-fields__field-wrapper, .dmd-checkout-form .dmd-checkout-box .woocommerce-shipping-fields__field-wrapper { background: transparent !important; border: none !important; padding: 0 !important; margin: 0 !important; }
.dmd-checkout-form .dmd-checkout-box .woocommerce-billing-fields > h3, .dmd-checkout-form .dmd-checkout-box .woocommerce-shipping-fields > h3, .dmd-checkout-form #order_review > h3 { display: none !important; }
.dmd-mini-items { list-style: none !important; padding: 0 !important; margin: 0 0 12px !important; }
.dmd-mini-item { display: flex !important; align-items: center !important; gap: 10px !important; padding: 8px 0 !important; border-bottom: 1px solid rgba(232,213,176,.3) !important; }
.dmd-mini-item:last-child { border-bottom: none !important; }
.dmd-mini-item img { width: 44px !important; height: 44px !important; object-fit: cover !important; border-radius: 4px !important; flex-shrink: 0 !important; }
.dmd-mini-info { flex: 1 !important; min-width: 0 !important; }
.dmd-mini-name { font-size: .82rem !important; color: #3D2B1F !important; display: block !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
.dmd-mini-qty { font-size: .7rem !important; color: #7A6855 !important; }
.dmd-mini-price { font-size: .82rem !important; font-weight: 600 !important; color: #5C7D60 !important; flex-shrink: 0 !important; }
.dmd-mini-total { display: flex !important; justify-content: space-between !important; font-size: .88rem !important; font-weight: 600 !important; color: #3D2B1F !important; padding-top: 10px !important; border-top: 1px solid rgba(232,213,176,.4) !important; }
@media (max-width: 860px) { .dmd-checkout-form .dmd-checkout-grid { grid-template-columns: 1fr !important; } }

/* ════════════════════════════════════════
   ACCOUNT
════════════════════════════════════════ */
.woocommerce-account h1.page-title, .woocommerce-account .entry-title { font-family: 'Cormorant Garamond', serif !important; font-size: clamp(1.6rem, 3vw, 2.2rem) !important; font-weight: 300 !important; color: var(--fi-bark) !important; margin-bottom: 24px !important; }
.woocommerce-account .woocommerce-MyAccount-navigation { background: var(--fi-warm) !important; border-radius: 8px !important; padding: 12px !important; margin-bottom: 20px !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block !important; padding: 9px 14px !important; border-radius: 4px !important; font-size: .85rem !important; color: var(--fi-bark2) !important; text-decoration: none !important; transition: background .15s !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a, .woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: rgba(201,169,110,.15) !important; color: var(--fi-bark) !important; }
.woocommerce-account .woocommerce-MyAccount-content { background: #fff !important; border: 1px solid rgba(232,213,176,.5) !important; border-radius: 8px !important; padding: 22px 18px !important; }

/* ════════════════════════════════════════
   BOUQUET CUSTOMIZER
════════════════════════════════════════ */
.bouquet-customizer { margin: 20px 0; padding: 18px; border: 1px solid #eee; border-radius: 8px; background: #fff; }
.customizer-title { font-weight: 700; font-size: 15px; margin-bottom: 14px; color: #111; }
.size-options-wrapper { display: flex; gap: 10px; margin-bottom: 18px; }
.size-option-item { flex: 1; cursor: pointer; margin: 0 !important; }
.size-option-item input[type="radio"] { display: none !important; }
.option-content { display: flex; flex-direction: column; align-items: center; padding: 13px 5px; border: 2px solid #f0f0f0; border-radius: 6px; background: #fafafa; transition: all .25s; }
.size-option-item input:checked + .option-content { border-color: #2b2b2b; background: #fff; box-shadow: 0 3px 10px rgba(0,0,0,.05); }
.option-content .name { font-size: 14px; font-weight: 600; margin: 5px 0 2px; }
.option-content .price { font-size: 16px; color: #888; }
.dot-icon { display: block; background: #d4a373; border-radius: 50%; }
.dot-icon.s { width: 9px; height: 9px; opacity: .5; }
.dot-icon.m { width: 14px; height: 14px; opacity: .8; }
.dot-icon.l { width: 20px; height: 20px; opacity: 1; }
.custom-price-input-box { border: 2px solid #f0f0f0; padding: 11px 14px; border-radius: 6px; background: #fafafa; display: flex; align-items: center; justify-content: flex-end; gap: 10px; transition: all .25s; cursor: pointer; }
.custom-price-input-box.is-active { border-color: #2b2b2b; background: #fff; box-shadow: 0 3px 10px rgba(0,0,0,.05); }
.custom-price-input-box label { font-size: 17px; font-weight: 600; color: #555; margin: 0 !important; cursor: pointer; }
#custom_price { width: 75px; height: 36px; border: 1px solid #ddd; border-radius: 4px; text-align: center; font-weight: 700; background: #fff; outline: none; cursor: pointer; }
#custom_price:focus { cursor: text; }
.custom-price-input-box.is-solo-libero { justify-content: center; padding: 22px; }
.custom-price-input-box.is-solo-libero label { font-size: 17px; color: #111; }
.custom-price-input-box.is-solo-libero #custom_price { width: 100px; height: 42px; font-size: 17px; border-color: #2b2b2b; }
.price-prefix-inline { font-size: .82em; color: #777; font-weight: 400; margin-right: 3px; }
@media(max-width:480px) { .custom-price-input-box { flex-direction: column; align-items: flex-end; gap: 4px; } }


/* ════════════════════════════════════════
   FIX ICONE HEADER (account + carrello)
   GP sovrascrive i button — forziamo gli stili
════════════════════════════════════════ */
.domyflor-header-icons {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin-left: 16px !important;
    flex-shrink: 0 !important;
}
.domyflor-header-icons .domyflor-icon-btn,
.domyflor-header-icons a.domyflor-icon-btn,
.domyflor-header-icons button.domyflor-icon-btn {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    cursor: pointer !important;
    color: rgba(250,247,242,.85) !important;
    text-decoration: none !important;
    -webkit-appearance: none !important;
    line-height: 1 !important;
}
.domyflor-header-icons .domyflor-icon-btn svg {
    stroke: rgba(250,247,242,.85) !important;
    display: block !important;
    margin: 0 !important;
}
.domyflor-header-icons .domyflor-icon-btn:hover {
    background: rgba(201,169,110,.15) !important;
    color: #C9A96E !important;
}
.domyflor-header-icons .domyflor-icon-btn:hover svg {
    stroke: #C9A96E !important;
}
.domyflor-header-icons .domyflor-cart-count {
    position: absolute !important;
    top: 2px !important;
    right: 2px !important;
    background: #c0395a !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    width: 16px !important;
    height: 16px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    pointer-events: none !important;
}

/* ── Drawer carrello: link rimuovi + bottone vedi carrello ──
   GP sovrascrive i colori dei link <a>, forziamo i nostri ── */
a.dcd-remove {
    color: #c0b0a8 !important;          /* grigio caldo discreto */
    text-decoration: none !important;
}
a.dcd-remove:hover {
    color: #c0395a !important;          /* rosso all'hover (rimozione) */
}
a.dcd-btn-cart {
    color: #7a7068 !important;          /* testo grigio caldo */
    text-decoration: none !important;
}
a.dcd-btn-cart:hover {
    color: var(--fi-sage-dk, #3a6b3a) !important;   /* verde salvia all'hover */
    border-color: var(--fi-sage-dk, #3a6b3a) !important;
}

/* ── Bottoni WooCommerce "di sistema" rimasti grigi ──
   Ritorna al negozio, login, registrazione, salva indirizzo, altri form WC ── */
.woocommerce a.button.wc-backward,
.woocommerce .return-to-shop .button,
.woocommerce-cart .return-to-shop .wc-backward,
.woocommerce a.button.wc-forward,
.woocommerce-account button[name="login"],
.woocommerce-account button[name="register"],
.woocommerce form.login button[type="submit"],
.woocommerce form.register button[type="submit"],
.woocommerce-EditAccountForm button[type="submit"],
.woocommerce-address-fields button[type="submit"],
.woocommerce .woocommerce-form-login button[type="submit"],
.woocommerce .woocommerce-Button {
    background: var(--fi-sage-dk, #3a6b3a) !important;
    background-color: var(--fi-sage-dk, #3a6b3a) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 40px !important;
    padding: 12px 28px !important;
    font-family: 'Jost', sans-serif !important;
    font-size: .75rem !important;
    font-weight: 600 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background .2s !important;
    display: inline-block !important;
    cursor: pointer !important;
}
.woocommerce a.button.wc-backward:hover,
.woocommerce .return-to-shop .button:hover,
.woocommerce a.button.wc-forward:hover,
.woocommerce-account button[name="login"]:hover,
.woocommerce-account button[name="register"]:hover,
.woocommerce form.login button[type="submit"]:hover,
.woocommerce form.register button[type="submit"]:hover,
.woocommerce-EditAccountForm button[type="submit"]:hover,
.woocommerce-address-fields button[type="submit"]:hover,
.woocommerce .woocommerce-form-login button[type="submit"]:hover,
.woocommerce .woocommerce-Button:hover {
    background: #286028 !important;
    background-color: #286028 !important;
    color: #fff !important;
}

/* ── Shop mobile: conteggio risultati + ordinamento impilati ──
   WooCommerce li mette in float opposti che si accavallano su schermo stretto ── */
@media (max-width: 600px) {
    .woocommerce-result-count,
    .woocommerce-page .woocommerce-result-count {
        float: none !important;
        display: block !important;
        width: 100% !important;
        margin: 0 0 10px !important;
        text-align: left !important;
    }
    .woocommerce-ordering,
    .woocommerce-page .woocommerce-ordering {
        float: none !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 20px !important;
        box-sizing: border-box !important;
    }
    .woocommerce-ordering select,
    .woocommerce-ordering .orderby {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        display: block !important;
    }
}

/* ── Margine laterale contenuto WooCommerce su mobile ──
   Le pagine shop/prodotto/account hanno padding:0 → il contenuto tocca i bordi.
   Carrello e checkout sono ESCLUSI: hanno già i loro box con padding interno
   (altrimenti il margine risulterebbe doppio) ── */
@media (max-width: 768px) {
    body.woocommerce-shop .entry-content,
    body.post-type-archive-product .entry-content,
    body.tax-product_cat .entry-content,
    body.single-product .entry-content,
    body.woocommerce-account .entry-content {
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-sizing: border-box !important;
    }
}

/* ── Pagina Termini e Condizioni ── */
.dmd-termini-avviso {
    background: #f7f4ee;
    border: 1px solid var(--fi-gold-lt, #e0d4b8);
    border-left: 3px solid var(--fi-gold, #C9A96E);
    border-radius: 8px;
    padding: 20px 24px;
    margin-bottom: 28px;
}
.dmd-termini-avviso h2 {
    font-size: 1.15rem;
    margin-top: 0;
    color: var(--fi-bark, #3D2B1F);
}
.dmd-termini-avviso p {
    font-size: .9rem;
    line-height: 1.6;
    margin: 10px 0;
}
.dmd-termini-fiorista hr {
    border: none;
    border-top: 1px solid var(--fi-gold-lt, #e0d4b8);
    margin: 28px 0;
}

/* ── Pagina Privacy / Cookie Policy ── */
.dmd-privacy-intest {
    background: #f7f4ee;
    border-left: 3px solid var(--fi-gold, #C9A96E);
    border-radius: 8px;
    padding: 16px 20px;
    margin-bottom: 24px;
    font-size: .92rem;
}
.dmd-privacy-intest p { margin: 0; line-height: 1.6; }
.dmd-cookie-table {
    border-collapse: collapse;
    width: 100%;
    margin: 16px 0;
    font-size: .85rem;
}
.dmd-cookie-table th,
.dmd-cookie-table td {
    border: 1px solid var(--fi-gold-lt, #e0d4b8);
    padding: 10px 12px;
    text-align: left;
}
.dmd-cookie-table th {
    background: #f7f4ee;
    font-weight: 600;
    color: var(--fi-bark, #3D2B1F);
}
@media (max-width: 600px) {
    .dmd-cookie-table { font-size: .78rem; }
    .dmd-cookie-table th, .dmd-cookie-table td { padding: 7px 8px; }
}




 #fc-header { padding: 30px 30px 6px !important; }