/*
Theme Name: Mildhill Child
Theme URI: https://mildhill.qodeinteractive.com/
Description: A child theme of Mildhill — customised for Cucinotta Drinks
Author: Select Themes
Author URI: http://themeforest.net/user/select-themes
Version: 1.0.1
Text Domain: mildhill
Template: mildhill
*/

/* ============================================================
   GOOGLE FONTS — Cormorant Garamond (headings) + Inter (body)
   ============================================================ */

/* Override mildhill default (Abril Fatface → Playfair Display) */
h1, h2, h3, h4, h5, h6,
.qodef-page-title h1,
.woocommerce h1, .woocommerce h2, .woocommerce h3 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
}

/* Body + UI: Inter instead of PT Sans */
body,
p, li, td, th, label, input, textarea, select, button,
.woocommerce, .woocommerce-page,
.qodef-header-navigation > ul > li > a,
.qodef-drop-down-second > ul > li > a {
  font-family: 'Inter', 'PT Sans', sans-serif !important;
}

/* Navigation: keep readable weight */
.qodef-header-navigation > ul > li > a {
  font-weight: 500 !important;
  letter-spacing: 0.03em !important;
  font-size: 13px !important;
}

/* ============================================================
   CUCINOTTA DRINKS — Design System
   Builds on top of Mildhill; all rules use !important only
   where needed to override WPBakery inline defaults.
   ============================================================ */

/* ---- DESIGN TOKENS --------------------------------------- */
:root {
  /* Core */
  --cd-navy:        #1b2f55;
  --cd-navy-mid:    #2a4a84;
  --cd-gold:        #c8a96e;
  --cd-gold-light:  #e8d5a8;

  /* Backgrounds */
  --cd-warm:        #faf8f2;
  --cd-warm-mid:    #f2ede0;
  --cd-white:       #ffffff;

  /* Text */
  --cd-ink:         #111827;
  --cd-muted:       #6b7280;
  --cd-caption:     #9ca3af;

  /* Brand accents */
  --cd-cucinotta:   #1b2f55;
  --cd-cucinotta-bg:#eef2fa;
  --cd-acheo:       #0d6c55;
  --cd-acheo-bg:    #e0f5ef;
  --cd-berso:       #3a5a2a;
  --cd-berso-bg:    #e8f2e0;
  --cd-dv:          #c44c2a;
  --cd-dv-bg:       #fdf0ea;

  /* UI */
  --cd-radius:      20px;
  --cd-radius-lg:   32px;
  --cd-radius-sm:   10px;
  --cd-shadow:      0 16px 48px rgba(17, 24, 39, 0.10);
  --cd-shadow-lg:   0 32px 80px rgba(17, 24, 39, 0.16);
  --cd-border:      1px solid rgba(17, 24, 39, 0.08);
}

/* ---- HEADER / FRONT PAGE FIXES --------------------------- */
.home .qodef-page-title,
.home.page .qodef-page-title,
.blog.home .qodef-page-title {
  display: none !important;
}

.qodef-header-logo-link img,
.qodef-mobile-header-logo-link img,
.qodef-header-logo-link .qodef-header-logo-image,
.qodef-mobile-header-logo-link .qodef-header-logo-image {
  width: auto !important;
  max-width: 240px !important;
  max-height: 72px !important;
  object-fit: contain !important;
}

/* ---- EYEBROW LABEL --------------------------------------- */
.cd-eyebrow {
  display: inline-block;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--cd-gold) !important;
  margin-bottom: 16px !important;
}

/* ---- LEAD TEXT ------------------------------------------- */
.cd-lead {
  font-size: 18px !important;
  line-height: 1.72 !important;
  color: var(--cd-muted) !important;
  max-width: 680px;
  margin-bottom: 0 !important;
}

/* ---- CTA GROUP ------------------------------------------- */
.cd-cta-group {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 32px !important;
  align-items: center;
}

/* ---- BUTTONS --------------------------------------------- */
.cd-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 50px !important;
  padding: 0 28px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.09em !important;
  text-decoration: none !important;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
  white-space: nowrap;
  border: 2px solid transparent;
}

.cd-btn--solid {
  background: var(--cd-navy) !important;
  color: #fff !important;
  border-color: var(--cd-navy) !important;
}
.cd-btn--solid:hover,
.cd-btn--solid:focus {
  background: var(--cd-navy-mid) !important;
  border-color: var(--cd-navy-mid) !important;
  color: #fff !important;
  text-decoration: none !important;
}

.cd-btn--ghost {
  background: transparent !important;
  border-color: var(--cd-navy) !important;
  color: var(--cd-navy) !important;
}
.cd-btn--ghost:hover,
.cd-btn--ghost:focus {
  background: var(--cd-navy) !important;
  color: #fff !important;
  text-decoration: none !important;
}

/* Gold solid (used inside ANY dark section: panels, hero, shop hero, chi siamo hero) */
.cd-panel--dark .cd-btn--solid,
.cd-home-hero .cd-btn--solid,
.cd-shop-hero .cd-btn--solid,
.cd-chi-siamo-hero .cd-btn--solid {
  background: var(--cd-gold) !important;
  border-color: var(--cd-gold) !important;
  color: var(--cd-navy) !important;
}
.cd-panel--dark .cd-btn--solid:hover,
.cd-home-hero .cd-btn--solid:hover,
.cd-shop-hero .cd-btn--solid:hover,
.cd-chi-siamo-hero .cd-btn--solid:hover {
  background: var(--cd-gold-light) !important;
  border-color: var(--cd-gold-light) !important;
  color: var(--cd-navy) !important;
}
.cd-panel--dark .cd-btn--ghost,
.cd-home-hero .cd-btn--ghost,
.cd-shop-hero .cd-btn--ghost,
.cd-chi-siamo-hero .cd-btn--ghost {
  border-color: rgba(255, 255, 255, 0.50) !important;
  color: #fff !important;
}
.cd-panel--dark .cd-btn--ghost:hover,
.cd-home-hero .cd-btn--ghost:hover,
.cd-shop-hero .cd-btn--ghost:hover,
.cd-chi-siamo-hero .cd-btn--ghost:hover {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #fff !important;
}

.cd-text-link {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--cd-navy) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
.cd-text-link:hover { color: var(--cd-navy-mid) !important; }

/* ---- HEADER LOGO ----------------------------------------- */
#qodef-page-header .qodef-header-logo-link,
#qodef-page-mobile-header .qodef-mobile-header-logo-link {
  display: inline-flex;
  align-items: center;
}

#qodef-page-header .qodef-header-logo-link img,
#qodef-page-mobile-header .qodef-mobile-header-logo-link img {
  width: auto !important;
  max-width: 240px !important;
  max-height: 68px !important;
  object-fit: contain;
}

/* ---- LISTS ----------------------------------------------- */
.cd-list {
  margin: 16px 0 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
}
.cd-list li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 10px !important;
  color: var(--cd-muted) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}
.cd-list li::before {
  content: '→';
  position: absolute;
  left: 0;
  color: var(--cd-gold);
  font-weight: 700;
}
.cd-list--compact li { margin-bottom: 6px !important; }

/* ---- PANELS ---------------------------------------------- */
.cd-hero-panel,
.cd-panel {
  background: var(--cd-warm) !important;
  border: var(--cd-border) !important;
  border-radius: var(--cd-radius-lg) !important;
  padding: 36px !important;
  box-shadow: var(--cd-shadow) !important;
}

.cd-panel--dark {
  background: linear-gradient(135deg, var(--cd-navy) 0%, var(--cd-navy-mid) 100%) !important;
  border-color: transparent !important;
  box-shadow: var(--cd-shadow-lg) !important;
}
.cd-panel--dark .cd-eyebrow { color: var(--cd-gold) !important; }
.cd-panel--dark h2,
.cd-panel--dark h3,
.cd-panel--dark p { color: rgba(255, 255, 255, 0.92) !important; }
/* Stronger specificity for WPBakery wrapper */
.wpb_text_column .cd-panel--dark h2,
.wpb_wrapper .cd-panel--dark h2,
.vc_column-inner .cd-panel--dark h2 { color: #ffffff !important; }

/* ---- NOTE TEXT ------------------------------------------- */
.cd-note {
  font-size: 13px !important;
  color: var(--cd-caption) !important;
  line-height: 1.65 !important;
  border-left: 3px solid var(--cd-warm-mid);
  padding-left: 14px;
  margin-top: 24px !important;
}

/* ============================================================
   HOME HERO
   ============================================================ */
.cd-home-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--cd-navy) 0%, var(--cd-navy-mid) 60%, #3559a0 100%) !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
}

/* Warm radial glow top-right */
.cd-home-hero::before {
  content: '';
  position: absolute;
  top: -30%; right: -8%;
  width: 65%; aspect-ratio: 1;
  background: radial-gradient(circle, rgba(200, 169, 110, 0.18) 0%, transparent 65%);
  pointer-events: none;
  z-index: 0;
}
/* Soft glow bottom-left */
.cd-home-hero::after {
  content: '';
  position: absolute;
  bottom: -25%; left: -5%;
  width: 45%; aspect-ratio: 1;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.04) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

.cd-home-hero > .vc_column_container { position: relative; z-index: 1; }

.cd-home-hero .vc_column-inner {
  padding-top: 104px !important;
  padding-bottom: 104px !important;
  padding-left: 52px !important;
  padding-right: 52px !important;
}

.cd-home-hero .cd-eyebrow {
  color: var(--cd-gold) !important;
  border-bottom: 1px solid rgba(200, 169, 110, 0.3);
  padding-bottom: 10px;
}

.cd-home-hero h1 {
  color: #ffffff !important;
  font-size: clamp(40px, 5vw, 70px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.025em !important;
  margin-bottom: 20px !important;
  font-weight: 700;
}

.cd-home-hero .cd-lead {
  color: rgba(255, 255, 255, 0.76) !important;
  max-width: 500px;
}

/* Hero brand logo grid (2×2 nella colonna destra) */
.cd-hero-brand-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
  padding: 8px !important;
}
.cd-hero-brand-item {
  border-radius: 16px !important;
  padding: 24px 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 120px !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  transition: transform 0.2s ease, border-color 0.2s ease !important;
}
.cd-hero-brand-item:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(255,255,255,0.3) !important;
}
.cd-hero-brand-item--cucinotta { background: rgba(255,255,255,0.92) !important; }
.cd-hero-brand-item--acheo     { background: rgba(255,255,255,0.92) !important; }
.cd-hero-brand-item--berso     { background: rgba(255,255,255,0.92) !important; }
.cd-hero-brand-item--dolce-vita { background: rgba(255,255,255,0.92) !important; }
.cd-hero-brand-item--sibega {
  grid-column: 1 / -1 !important;
  background: rgba(255,255,255,0.95) !important;
  min-height: 90px !important;
  padding: 20px 32px !important;
}
.cd-hero-brand-logo {
  max-width: 100% !important;
  max-height: 72px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
.cd-hero-brand-item--sibega .cd-hero-brand-logo {
  max-height: 52px !important;
}

/* Sezione prodotti in home */
.cd-products-section { background: var(--cd-white) !important; }
.cd-products-section--grid { padding-top: 0 !important; }
.cd-products-section .woocommerce ul.products {
  margin-top: 32px !important;
}

/* Hero glass panel (right column) */
.cd-home-hero .cd-hero-panel {
  background: rgba(255, 255, 255, 0.09) !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.cd-home-hero .cd-hero-panel h3 {
  color: rgba(255, 255, 255, 0.94) !important;
  font-size: 17px !important;
  margin-bottom: 16px !important;
}
.cd-hero-logo-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 220px;
  margin-bottom: 22px;
  padding: 28px;
  border-radius: var(--cd-radius);
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
}
.cd-hero-logo {
  max-width: 100%;
  width: auto;
  max-height: 116px;
  object-fit: contain;
}
.cd-brand-pill-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.cd-brand-pill {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.14);
}
.cd-home-hero .cd-list li {
  color: rgba(255, 255, 255, 0.70) !important;
}
.cd-home-hero .cd-list li::before { color: var(--cd-gold); }

/* ============================================================
   GENERIC SECTIONS
   ============================================================ */
.cd-section {
  padding: 80px 0 !important;
  margin: 0 !important;
}
.cd-section .vc_column-inner {
  padding-left: 52px !important;
  padding-right: 52px !important;
}
.cd-section h2 {
  color: var(--cd-navy) !important;
  font-size: clamp(28px, 3.5vw, 46px) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 16px !important;
}
.cd-section p { color: var(--cd-muted) !important; line-height: 1.7 !important; }

/* ---- BRANDS INTRO ---------------------------------------- */
.cd-brands-intro { background: var(--cd-warm) !important; }

/* ---- RANGES SECTION -------------------------------------- */
.cd-ranges-section { background: var(--cd-warm-mid) !important; }

/* ---- STORY SECTION --------------------------------------- */
.cd-story-section { background: var(--cd-warm) !important; }
.cd-story-section h2 {
  font-size: clamp(24px, 3vw, 38px) !important;
  margin-bottom: 14px !important;
}
.cd-story-section .cd-panel h3 {
  font-size: 16px !important;
  color: var(--cd-navy) !important;
  margin-bottom: 14px !important;
}

/* ---- TEMPLATE SPLIT SECTION ------------------------------ */
.cd-template-split {
  background: linear-gradient(180deg, var(--cd-white) 0%, var(--cd-warm) 100%) !important;
}

.cd-template-split .cd-panel,
.cd-shop-bridge .cd-panel {
  height: 100%;
}

.cd-template-split h2,
.cd-shop-bridge h2 {
  max-width: 640px;
}

.cd-template-note {
  margin-top: 18px !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: var(--cd-caption) !important;
}

/* ---- SHOP BRIDGE ----------------------------------------- */
.cd-shop-bridge {
  background: linear-gradient(180deg, var(--cd-white) 0%, var(--cd-warm-mid) 100%) !important;
}

.cd-shop-bridge .cd-bridge-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 26px;
}

.cd-shop-bridge .cd-bridge-item {
  border-radius: var(--cd-radius);
  padding: 22px;
  background: rgba(255, 255, 255, 0.88);
  border: var(--cd-border);
  box-shadow: var(--cd-shadow);
}

.cd-shop-bridge .cd-bridge-item h3 {
  font-size: 18px !important;
  margin-bottom: 10px !important;
  color: var(--cd-navy) !important;
}

.cd-shop-bridge .cd-bridge-item p {
  font-size: 14px !important;
  margin-bottom: 0 !important;
}

/* ---- BRAND HUB HERO -------------------------------------- */
.cd-home-hero--brand {
  background: linear-gradient(135deg, #f3eee2 0%, #eef2fa 55%, #ffffff 100%) !important;
}

.cd-home-hero--brand::before,
.cd-home-hero--brand::after {
  display: none;
}

.cd-home-hero--brand h1 {
  color: var(--cd-navy) !important;
}

.cd-home-hero--brand .cd-lead {
  color: var(--cd-muted) !important;
}

.cd-home-hero--brand .cd-hero-panel {
  background: rgba(255, 255, 255, 0.72) !important;
  border-color: rgba(17, 24, 39, 0.08) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.cd-home-hero--brand .cd-hero-panel h3,
.cd-home-hero--brand .cd-list li {
  color: var(--cd-navy) !important;
}

.cd-home-hero--brand .cd-list li::before {
  color: var(--cd-gold);
}

/* ---- CONTACT CTA ----------------------------------------- */
.cd-contact-cta { background: var(--cd-warm-mid) !important; }

/* ---- SHOP CATEGORIES ------------------------------------- */
.cd-shop-categories {
  background: linear-gradient(180deg, var(--cd-warm) 0%, var(--cd-white) 100%) !important;
}

.cd-shop-categories .woocommerce {
  margin-top: 34px;
}

.cd-shop-categories ul.products {
  margin-top: 16px !important;
}

.cd-shop-categories .woocommerce ul.products li.product,
.cd-shop-categories .woocommerce-page ul.products li.product {
  margin-bottom: 0 !important;
}

/* ---- CHANNEL GRID ---------------------------------------- */
.cd-channel-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 34px;
}

.cd-channel-card {
  border-radius: var(--cd-radius);
  padding: 28px;
  background: var(--cd-white);
  border: var(--cd-border);
  box-shadow: var(--cd-shadow);
}

.cd-channel-card h3 {
  margin-bottom: 12px !important;
  color: var(--cd-navy) !important;
  font-size: 20px !important;
}

.cd-channel-card p {
  margin-bottom: 0 !important;
  color: var(--cd-muted) !important;
}

/* ============================================================
   BRAND CARDS
   ============================================================ */
.cd-brand-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 24px !important;
  margin-top: 40px !important;
}

.cd-brand-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--cd-radius-lg) !important;
  padding: 32px !important;
  background: var(--cd-white) !important;
  border: var(--cd-border) !important;
  box-shadow: var(--cd-shadow) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
.cd-brand-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--cd-shadow-lg) !important;
}

/* Coloured top stripe */
.cd-brand-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
}
.cd-brand-card--cucinotta::before { background: var(--cd-cucinotta); }
.cd-brand-card--acheo::before     { background: var(--cd-acheo); }
.cd-brand-card--berso::before     { background: var(--cd-berso); }
.cd-brand-card--dolce-vita::before { background: var(--cd-dv); }

/* Per-brand tinted backgrounds */
.cd-brand-card--cucinotta { background: linear-gradient(180deg, var(--cd-white) 0%, var(--cd-cucinotta-bg) 100%) !important; }
.cd-brand-card--acheo     { background: linear-gradient(180deg, var(--cd-white) 0%, var(--cd-acheo-bg)     100%) !important; }
.cd-brand-card--berso     { background: linear-gradient(180deg, var(--cd-white) 0%, var(--cd-berso-bg)     100%) !important; }
.cd-brand-card--dolce-vita { background: linear-gradient(180deg, var(--cd-white) 0%, var(--cd-dv-bg)       100%) !important; }

.cd-brand-card__asset {
  min-height: 160px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 24px !important;
  border-radius: var(--cd-radius) !important;
  padding: 24px !important;
  background: rgba(255, 255, 255, 0.65) !important;
  border: 1px solid rgba(17, 24, 39, 0.05) !important;
}
.cd-brand-asset {
  max-width: 100% !important;
  height: auto !important;
  max-height: 130px !important;
  object-fit: contain;
}
.cd-brand-fallback {
  font-size: 20px;
  font-weight: 700;
  color: var(--cd-navy);
  letter-spacing: -0.02em;
}

.cd-brand-card h3 {
  font-size: 22px !important;
  color: var(--cd-navy) !important;
  margin-bottom: 10px !important;
  letter-spacing: -0.01em !important;
}
.cd-brand-card p {
  color: var(--cd-muted) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  margin-bottom: 0 !important;
}
.cd-brand-card__links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 22px !important;
  align-items: center;
}

/* ============================================================
   RANGE CARDS
   ============================================================ */
.cd-range-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  margin-top: 36px !important;
}

.cd-range-card {
  border-radius: var(--cd-radius) !important;
  padding: 32px 28px !important;
  background: var(--cd-white) !important;
  border: var(--cd-border) !important;
  box-shadow: var(--cd-shadow) !important;
  transition: transform 0.2s ease !important;
}
.cd-range-card:hover { transform: translateY(-3px) !important; }

.cd-range-card .cd-eyebrow { display: block; margin-bottom: 10px !important; }
.cd-range-card h3 {
  font-size: 20px !important;
  color: var(--cd-navy) !important;
  margin-bottom: 12px !important;
}
.cd-range-card p {
  color: var(--cd-muted) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  margin-bottom: 0 !important;
}

/* ============================================================
   BRAND PAGE HERO
   ============================================================ */
.cd-brand-hero {
  padding: 88px 0 !important;
  margin: 0 !important;
}
.cd-brand-hero .vc_column-inner {
  padding-left: 52px !important;
  padding-right: 52px !important;
}

.cd-brand-hero h1 {
  font-size: clamp(34px, 4.5vw, 60px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
  margin-bottom: 16px !important;
}
.cd-brand-hero .cd-lead { font-size: 17px !important; }

/* Per-brand hero bg + heading colour */
.cd-brand-hero--cucinotta {
  background: linear-gradient(160deg, var(--cd-cucinotta-bg) 0%, var(--cd-white) 55%) !important;
}
.cd-brand-hero--cucinotta h1 { color: var(--cd-cucinotta) !important; }

.cd-brand-hero--acheo {
  background: linear-gradient(160deg, var(--cd-acheo-bg) 0%, var(--cd-white) 55%) !important;
}
.cd-brand-hero--acheo h1 { color: var(--cd-acheo) !important; }

.cd-brand-hero--berso {
  background: linear-gradient(160deg, var(--cd-berso-bg) 0%, var(--cd-white) 55%) !important;
}
.cd-brand-hero--berso h1 { color: var(--cd-berso) !important; }

.cd-brand-hero--dolce-vita {
  background: linear-gradient(160deg, var(--cd-dv-bg) 0%, var(--cd-white) 55%) !important;
}
.cd-brand-hero--dolce-vita h1 { color: var(--cd-dv) !important; }

.cd-brand-visual {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  min-height: 300px !important;
  background: rgba(255, 255, 255, 0.72) !important;
  border-radius: var(--cd-radius-lg) !important;
  border: var(--cd-border) !important;
  padding: 40px !important;
  box-shadow: var(--cd-shadow) !important;
}
/* Photo variant: no white box — image speaks for itself */
.cd-brand-visual--photo {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.cd-brand-visual--photo img {
  border-radius: 16px !important;
  box-shadow: var(--cd-shadow-lg) !important;
}

/* ---- Brand page inner sections --------------------------- */
.cd-brand-columns {
  background: var(--cd-warm) !important;
  padding: 72px 0 !important;
}
.cd-brand-columns .vc_column-inner {
  padding-left: 52px !important;
  padding-right: 52px !important;
}
.cd-brand-columns h2 {
  font-size: 24px !important;
  color: var(--cd-navy) !important;
  margin-bottom: 14px !important;
}
.cd-brand-columns h3 {
  font-size: 15px !important;
  color: var(--cd-navy) !important;
  margin: 24px 0 10px !important;
}

.cd-brand-cta { background: var(--cd-warm-mid) !important; }
.cd-brand-cta .vc_column-inner {
  padding-left: 52px !important;
  padding-right: 52px !important;
}

/* ---- Brand stats strip (hero bottom) --------------------- */
.cd-brand-stats {
  display: flex !important;
  gap: 24px !important;
  margin: 20px 0 24px !important;
  padding: 16px 0 16px !important;
  border-top: 1px solid rgba(255,255,255,0.18) !important;
  border-bottom: 1px solid rgba(255,255,255,0.18) !important;
}
.cd-brand-hero .cd-brand-stats {
  border-color: rgba(255,255,255,0.18) !important;
}
.cd-stat {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}
.cd-stat strong {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--cd-gold) !important;
  line-height: 1.1 !important;
}
.cd-stat span {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.65) !important;
}
/* Stats on light background (brand hero uses gradient, most are light) */
.cd-brand-hero--cucinotta .cd-brand-stats,
.cd-brand-hero--acheo .cd-brand-stats,
.cd-brand-hero--berso .cd-brand-stats,
.cd-brand-hero--dolce-vita .cd-brand-stats {
  border-color: rgba(0,0,0,0.10) !important;
}
.cd-brand-hero--cucinotta .cd-stat strong { color: var(--cd-cucinotta) !important; }
.cd-brand-hero--acheo     .cd-stat strong { color: var(--cd-acheo) !important; }
.cd-brand-hero--berso     .cd-stat strong { color: var(--cd-berso) !important; }
.cd-brand-hero--dolce-vita .cd-stat strong { color: var(--cd-dv) !important; }
.cd-brand-hero--cucinotta .cd-stat span,
.cd-brand-hero--acheo     .cd-stat span,
.cd-brand-hero--berso     .cd-stat span,
.cd-brand-hero--dolce-vita .cd-stat span { color: var(--cd-muted) !important; }

/* ---- Packshot grid (hero right column) ------------------- */
.cd-packshot-grid {
  display: grid !important;
  gap: 12px !important;
  background: rgba(255,255,255,0.72) !important;
  border-radius: var(--cd-radius-lg) !important;
  border: var(--cd-border) !important;
  padding: 20px !important;
  box-shadow: var(--cd-shadow) !important;
}
.cd-packshot-grid--2x2 {
  grid-template-columns: repeat(2, 1fr) !important;
}
.cd-packshot-grid--3x2 {
  grid-template-columns: repeat(3, 1fr) !important;
}
.cd-packshot-cell {
  background: var(--cd-warm) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  aspect-ratio: 1 / 1.4 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.cd-packshot-cell img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 8px !important;
}

/* ---- Pillars row (4 equal columns) ----------------------- */
.cd-pillars-row {
  background: var(--cd-navy) !important;
  padding: 56px 0 !important;
}
.cd-pillars-row .vc_column-inner {
  padding-left: 40px !important;
  padding-right: 40px !important;
}
.cd-pillar {
  border-left: 3px solid var(--cd-gold);
  padding-left: 20px !important;
}
.cd-pillar .cd-eyebrow { color: var(--cd-gold) !important; }
.cd-pillar h3 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 6px 0 10px !important;
  line-height: 1.25 !important;
}
.cd-pillar p {
  font-size: 13px !important;
  color: rgba(255, 255, 255, 0.72) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* ---- Line cards (Acheo 3-col product lines) -------------- */
.cd-line-card {
  background: var(--cd-white) !important;
  border-radius: var(--cd-radius) !important;
  border: var(--cd-border) !important;
  padding: 24px 22px !important;
  height: 100% !important;
  box-shadow: var(--cd-shadow) !important;
}
.cd-line-card h2 {
  font-size: 20px !important;
  margin-bottom: 6px !important;
  margin-top: 4px !important;
}

/* ---- Blockquote brand quote ------------------------------ */
.cd-quote {
  border-left: 3px solid var(--cd-gold) !important;
  padding: 16px 20px !important;
  margin: 0 !important;
  background: var(--cd-warm) !important;
  border-radius: 0 var(--cd-radius) var(--cd-radius) 0 !important;
}
.cd-quote p {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 16px !important;
  font-style: italic !important;
  color: var(--cd-navy) !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* ============================================================
   RESPONSIVE BREAKPOINTS
   ============================================================ */

/* Tablet */
@media (max-width: 1024px) {
  .cd-home-hero .vc_column-inner,
  .cd-section .vc_column-inner,
  .cd-brand-hero .vc_column-inner,
  .cd-brand-columns .vc_column-inner,
  .cd-brand-cta .vc_column-inner {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }

  .cd-range-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .cd-shop-bridge .cd-bridge-grid {
    grid-template-columns: 1fr !important;
  }

  .cd-channel-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .cd-home-hero .vc_column-inner {
    padding: 64px 20px !important;
  }
  .cd-section { padding: 56px 0 !important; }
  .cd-section .vc_column-inner,
  .cd-brand-hero .vc_column-inner,
  .cd-brand-columns .vc_column-inner,
  .cd-brand-cta .vc_column-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .cd-home-hero h1 { font-size: 36px !important; }
  .cd-brand-hero h1 { font-size: 30px !important; }
  .cd-section h2 { font-size: 26px !important; }

  .cd-brand-grid,
  .cd-range-grid {
    grid-template-columns: 1fr !important;
  }

  .cd-brand-hero { padding: 56px 0 !important; }

  /* Packshot grid: 2 columns on mobile */
  .cd-packshot-grid--3x2 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  /* Stats strip: wrap on mobile */
  .cd-brand-stats {
    flex-wrap: wrap !important;
    gap: 14px 20px !important;
  }
  /* Pillars: 2 col on mobile */
  .cd-pillars-row .vc_column-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* ============================================================
   SHOP PAGE
   ============================================================ */

/* Hero sopra la griglia prodotti WooCommerce */
.cd-shop-hero {
  background: linear-gradient(135deg, var(--cd-navy) 0%, var(--cd-navy-mid) 60%, #3559a0 100%) !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
  position: relative;
  overflow: hidden;
}
.cd-shop-hero::before {
  content: '';
  position: absolute;
  top: -30%; right: -8%;
  width: 55%; aspect-ratio: 1;
  background: radial-gradient(circle, rgba(200, 169, 110, 0.16) 0%, transparent 65%);
  pointer-events: none;
}
.cd-shop-hero .vc_column-inner {
  padding: 72px 52px !important;
  position: relative; z-index: 1;
}
.cd-shop-hero h1 {
  color: #ffffff !important;
  font-size: clamp(32px, 4vw, 52px) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 14px !important;
}
.cd-shop-hero .cd-eyebrow { color: var(--cd-gold) !important; }
.cd-shop-hero .cd-lead    { color: rgba(255,255,255,0.76) !important; }

/* Sezione brand cards */
.cd-shop-brands {
  background: var(--cd-warm) !important;
}
.cd-shop-brands--header {
  padding: 64px 0 8px !important;
}
.cd-shop-brands--header .vc_column-inner {
  padding-left: 52px !important;
  padding-right: 52px !important;
}
.cd-shop-brands--row {
  padding: 0 40px 24px !important;
}
.cd-shop-brands h2 {
  color: var(--cd-navy) !important;
  font-size: clamp(22px, 2.8vw, 36px) !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 6px !important;
}

/* Brand cards — layout 2×2 via WPBakery columns, card con overlay link */
.cd-cat-card {
  display: flex !important;
  flex-direction: column !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  background: var(--cd-white) !important;
  border: var(--cd-border) !important;
  box-shadow: var(--cd-shadow) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  position: relative !important;
  height: 100% !important;
}
.cd-cat-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--cd-shadow-lg) !important;
}
/* Link overlay — copre tutta la card rendendola cliccabile */
.cd-cat-card__link {
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  z-index: 2 !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
}
.cd-cat-card::before { display: none; }
/* Colonne WPBakery per le card */
.cd-cat-col > .vc_column-inner {
  padding-left: 12px !important;
  padding-right: 12px !important;
  padding-top: 0 !important;
  padding-bottom: 24px !important;
}
.cd-cat-col > .vc_column-inner > .wpb_wrapper { height: 100% !important; }
.cd-cat-col .wpb_text_column { height: 100% !important; }
.cd-cat-col .wpb_text_column .wpb_wrapper { height: 100% !important; }

/* Area immagine — proporzione fissa per uniformità */
.cd-cat-card__img {
  width: 100%;
  aspect-ratio: 16 / 7;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 32px 40px !important;
  border-bottom: 1px solid rgba(17,24,39,0.06);
}
.cd-cat-card--cucinotta .cd-cat-card__img { background: linear-gradient(160deg, var(--cd-cucinotta-bg) 0%, #ffffff 100%); }
.cd-cat-card--acheo     .cd-cat-card__img { background: linear-gradient(160deg, var(--cd-acheo-bg)     0%, #ffffff 100%); }
.cd-cat-card--berso     .cd-cat-card__img { background: linear-gradient(160deg, var(--cd-berso-bg)     0%, #ffffff 100%); }
.cd-cat-card--dolce-vita .cd-cat-card__img { background: linear-gradient(160deg, var(--cd-dv-bg)       0%, #ffffff 100%); }

.cd-cat-card__img img {
  max-height: 90px !important;
  max-width: 220px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
}

/* Body della card */
.cd-cat-card__body {
  padding: 26px 28px 28px !important;
  flex: 1;
  display: flex !important;
  flex-direction: column !important;
}
.cd-cat-card__tagline {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.cd-cat-card--cucinotta .cd-cat-card__tagline { color: var(--cd-cucinotta); }
.cd-cat-card--acheo     .cd-cat-card__tagline { color: var(--cd-acheo); }
.cd-cat-card--berso     .cd-cat-card__tagline { color: var(--cd-berso); }
.cd-cat-card--dolce-vita .cd-cat-card__tagline { color: var(--cd-dv); }

.cd-cat-card__title {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--cd-navy) !important;
  margin: 0 0 10px !important;
  line-height: 1.2 !important;
}
.cd-cat-card__desc {
  font-size: 14px !important;
  color: var(--cd-muted) !important;
  line-height: 1.7 !important;
  margin: 0 0 18px !important;
  flex: 1;
}
.cd-cat-card__formats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 20px;
}
.cd-cat-card__format {
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(17,24,39,0.06);
  color: #374151;
}
.cd-cat-card__cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.09em !important;
  color: #fff !important;
  text-decoration: none !important;
  align-self: flex-start;
  margin-top: auto;
  border: 2px solid transparent !important;
}
.cd-cat-card--cucinotta .cd-cat-card__cta { background: var(--cd-cucinotta) !important; border-color: var(--cd-cucinotta) !important; }
.cd-cat-card--acheo     .cd-cat-card__cta { background: var(--cd-acheo)     !important; border-color: var(--cd-acheo)     !important; }
.cd-cat-card--berso     .cd-cat-card__cta { background: var(--cd-berso)     !important; border-color: var(--cd-berso)     !important; }
.cd-cat-card--dolce-vita .cd-cat-card__cta { background: var(--cd-dv)       !important; border-color: var(--cd-dv)       !important; }
.cd-cat-card__cta:hover { opacity: 0.85 !important; color: #fff !important; text-decoration: none !important; }

/* Filtri sottocategoria */
.cd-shop-filters {
  background: var(--cd-warm-mid) !important;
  padding: 24px 0 !important;
}
.cd-shop-filters .vc_column-inner { padding-left: 52px !important; padding-right: 52px !important; }
.cd-filter-pills { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.cd-filter-label { font-size: 12px; font-weight: 700; color: var(--cd-muted); letter-spacing: 0.06em; text-transform: uppercase; }
.cd-filter-pill {
  display: inline-flex;
  align-items: center;
  height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none !important;
  border: 1.5px solid rgba(17,24,39,0.14);
  color: #374151 !important;
  background: #fff;
  transition: all 0.18s ease;
}
.cd-filter-pill:hover {
  border-color: var(--cd-navy) !important;
  color: var(--cd-navy) !important;
  background: var(--cd-cucinotta-bg);
  text-decoration: none !important;
}

/* WooCommerce archive — separa il contenuto dal loop prodotti */
.woocommerce .page-description { margin-bottom: 0 !important; }


@media (max-width: 1024px) {
  .cd-shop-hero .vc_column-inner,
  .cd-shop-brands .vc_column-inner,
  .cd-shop-filters .vc_column-inner { padding-left: 28px !important; padding-right: 28px !important; }
}
@media (max-width: 768px) {
  .cd-shop-hero .vc_column-inner { padding: 52px 20px !important; }
  .cd-shop-brands .vc_column-inner,
  .cd-shop-filters .vc_column-inner { padding-left: 20px !important; padding-right: 20px !important; }
  .cd-cat-col > .vc_column-inner { padding-left: 0 !important; padding-right: 0 !important; }
  .cd-cat-card__img { aspect-ratio: 16 / 6 !important; }
}

/* ============================================================
   CHI SIAMO — STORY PAGE
   ============================================================ */

/* --- Hero storia ------------------------------------------- */
.cd-chi-siamo-hero {
  background: linear-gradient(135deg, var(--cd-navy) 0%, var(--cd-navy-mid) 60%, #3559a0 100%) !important;
  padding: 0 !important;
  overflow: hidden;
  position: relative;
}
.cd-chi-siamo-hero::before {
  content: '';
  position: absolute;
  top: -20%; right: -5%;
  width: 55%; aspect-ratio: 1;
  background: radial-gradient(circle, rgba(200,169,110,0.15) 0%, transparent 65%);
  pointer-events: none;
}
.cd-chi-siamo-hero .vc_column-inner {
  padding-top: 96px !important;
  padding-bottom: 96px !important;
  padding-left: 64px !important;
  padding-right: 64px !important;
}
.cd-chi-siamo-hero h1 {
  color: #fff !important;
  font-size: clamp(36px, 4.5vw, 62px) !important;
  line-height: 1.07 !important;
  letter-spacing: -0.025em !important;
  margin-bottom: 18px !important;
}
.cd-chi-siamo-hero .cd-hero-sub {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--cd-gold) !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 20px !important;
  display: block;
}
.cd-chi-siamo-hero .cd-lead { color: rgba(255,255,255,0.75) !important; max-width: 620px; }

/* --- Sezioni narrative ------------------------------------- */
.cd-storia-section {
  padding: 88px 0 !important;
  margin: 0 !important;
}
.cd-storia-section .vc_column-inner {
  padding-left: 64px !important;
  padding-right: 64px !important;
}
.cd-storia-bg-warm  { background: var(--cd-warm) !important; }
.cd-storia-bg-white { background: var(--cd-white) !important; }
.cd-storia-bg-mid   { background: var(--cd-warm-mid) !important; }
.cd-storia-bg-navy  {
  background: linear-gradient(135deg, var(--cd-navy) 0%, var(--cd-navy-mid) 100%) !important;
}

.cd-storia-section h2 {
  color: var(--cd-navy) !important;
  font-size: clamp(26px, 3vw, 40px) !important;
  line-height: 1.14 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 20px !important;
}
.cd-storia-section p {
  color: var(--cd-muted) !important;
  line-height: 1.78 !important;
  font-size: 16px !important;
  max-width: 760px;
}
.cd-storia-section p + p { margin-top: 16px !important; }

/* Dark variant */
.cd-storia-bg-navy .cd-eyebrow { color: var(--cd-gold) !important; }
.cd-storia-bg-navy h2 { color: #fff !important; }
.cd-storia-bg-navy p  { color: rgba(255,255,255,0.78) !important; max-width: 100%; }
.cd-storia-bg-navy .cd-cta-group .cd-btn--solid {
  background: var(--cd-gold) !important;
  border-color: var(--cd-gold) !important;
  color: var(--cd-navy) !important;
}
.cd-storia-bg-navy .cd-cta-group .cd-btn--ghost {
  border-color: rgba(255,255,255,0.45) !important;
  color: #fff !important;
}
.cd-storia-bg-navy .cd-cta-group .cd-btn--ghost:hover {
  background: rgba(255,255,255,0.12) !important;
}

/* --- Citazione / callout ----------------------------------- */
.cd-storia-quote {
  border-left: 4px solid var(--cd-gold) !important;
  padding: 20px 28px !important;
  margin: 32px 0 0 !important;
  background: rgba(200,169,110,0.07) !important;
  border-radius: 0 var(--cd-radius-sm) var(--cd-radius-sm) 0 !important;
}
.cd-storia-quote p {
  font-size: 17px !important;
  font-style: italic !important;
  color: var(--cd-navy) !important;
  line-height: 1.6 !important;
  max-width: 100% !important;
  margin: 0 !important;
}

/* --- Timeline --------------------------------------------- */
.cd-timeline {
  position: relative;
  margin-top: 48px !important;
  padding-left: 32px;
}
.cd-timeline::before {
  content: '';
  position: absolute;
  left: 8px; top: 8px; bottom: 8px;
  width: 2px;
  background: linear-gradient(to bottom, var(--cd-gold) 0%, rgba(200,169,110,0.2) 100%);
}
.cd-timeline-item {
  position: relative;
  padding: 0 0 36px 28px;
}
.cd-timeline-item::before {
  content: '';
  position: absolute;
  left: -28px; top: 6px;
  width: 14px; height: 14px;
  border-radius: 50%;
  background: var(--cd-gold);
  border: 2px solid #fff;
  box-shadow: 0 0 0 2px var(--cd-gold);
}
.cd-timeline-item:last-child { padding-bottom: 0; }
.cd-timeline-year {
  display: inline-block;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--cd-gold) !important;
  margin-bottom: 6px !important;
}
.cd-timeline-item p {
  font-size: 15px !important;
  color: var(--cd-muted) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  max-width: 100% !important;
}

/* --- Values grid ------------------------------------------ */
.cd-valori-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  margin-top: 44px !important;
}
.cd-valore-card {
  background: var(--cd-white) !important;
  border: var(--cd-border) !important;
  border-radius: var(--cd-radius) !important;
  padding: 28px 24px !important;
  box-shadow: var(--cd-shadow) !important;
  transition: transform 0.2s ease !important;
}
.cd-valore-card:hover { transform: translateY(-3px) !important; }
.cd-valore-card__icon {
  width: 40px; height: 40px;
  border-radius: 10px;
  background: var(--cd-cucinotta-bg);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 16px;
  font-size: 20px;
}
.cd-valore-card h3 {
  font-size: 16px !important;
  color: var(--cd-navy) !important;
  margin-bottom: 8px !important;
  font-weight: 700 !important;
}
.cd-valore-card p {
  font-size: 14px !important;
  color: var(--cd-muted) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  max-width: 100% !important;
}

/* --- Product highlight ------------------------------------- */
.cd-prod-highlight {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  align-items: center !important;
  max-width: 960px;
  margin: 0 auto;
}
.cd-prod-highlight--rev { direction: rtl; }
.cd-prod-highlight--rev > * { direction: ltr; }

.cd-prod-highlight__img {
  border-radius: var(--cd-radius-lg) !important;
  overflow: hidden;
  background: var(--cd-cucinotta-bg);
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cd-prod-highlight__img img {
  width: 100%;
  max-height: 380px;
  object-fit: contain;
  padding: 32px;
}
.cd-prod-highlight__img--placeholder {
  color: var(--cd-caption);
  font-size: 14px;
  text-align: center;
  padding: 40px;
}
.cd-prod-highlight h3 {
  font-size: clamp(22px, 2.5vw, 32px) !important;
  color: var(--cd-navy) !important;
  letter-spacing: -0.015em !important;
  margin-bottom: 6px !important;
}
.cd-prod-highlight .cd-prod-subtitle {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--cd-gold) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  margin-bottom: 16px !important;
  display: block;
}
.cd-prod-highlight p {
  font-size: 15px !important;
  color: var(--cd-muted) !important;
  line-height: 1.75 !important;
  margin-bottom: 12px !important;
  max-width: 100% !important;
}
.cd-prod-claim {
  font-size: 14px !important;
  font-style: italic !important;
  color: var(--cd-navy) !important;
  font-weight: 600 !important;
  margin: 20px 0 4px !important;
}
.cd-prod-micro {
  font-size: 12px !important;
  color: var(--cd-caption) !important;
  letter-spacing: 0.04em !important;
  margin: 0 !important;
}

/* --- Mobile responsive ------------------------------------ */
@media (max-width: 1024px) {
  .cd-chi-siamo-hero .vc_column-inner,
  .cd-storia-section .vc_column-inner { padding-left: 32px !important; padding-right: 32px !important; }
  .cd-valori-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 768px) {
  .cd-chi-siamo-hero .vc_column-inner { padding: 64px 20px !important; }
  .cd-storia-section .vc_column-inner { padding-left: 20px !important; padding-right: 20px !important; }
  .cd-valori-grid { grid-template-columns: 1fr !important; }
  .cd-prod-highlight { grid-template-columns: 1fr !important; gap: 28px !important; }
  .cd-prod-highlight--rev { direction: ltr; }
  .cd-timeline { padding-left: 24px; }
}

/* ============================================================
   WOOCOMMERCE — Product grid (mildhill qodef-woo-product-list)
   ============================================================ */

/* Product card: white bg, border, shadow, hover lift */
.qodef-woo-product-list ul.products > .product {
  background: var(--cd-white) !important;
  border: var(--cd-border) !important;
  border-radius: var(--cd-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--cd-shadow) !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease !important;
}
.qodef-woo-product-list ul.products > .product:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--cd-shadow-lg) !important;
}

/* Inner wrapper: no extra padding from mildhill defaults */
.qodef-woo-product-list .qodef-woo-product-inner {
  padding: 0 !important;
}

/* Image container: fixed height + cream bg */
.qodef-woo-product-list .qodef-woo-product-image {
  background: var(--cd-warm) !important;
  height: 220px !important;
  width: 100% !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  display: block !important;
}

/* Image: fill the box, contain (no crop), centered */
.qodef-woo-product-list .qodef-woo-product-image img {
  width: 100% !important;
  height: 220px !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 12px !important;
  display: block !important;
  transform: none !important;
}
.qodef-woo-product-list ul.products > .product:hover .qodef-woo-product-image img {
  transform: none !important;
}

/* Content area */
.qodef-woo-product-list .qodef-woo-product-content {
  padding: 14px 16px 12px !important;
  text-align: left !important;
}

/* Title+price row: left-aligned instead of mildhill's centered flex */
.qodef-woo-product-list .qodef-woo-product-title-price-holder {
  display: block !important;
  justify-content: unset !important;
}

/* Product title */
.qodef-woo-product-list .qodef-woo-product-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--cd-navy) !important;
  line-height: 1.3 !important;
  margin: 0 0 6px !important;
  letter-spacing: -0.01em !important;
}

/* Product price */
#qodef-woo-page .price,
.qodef-woo-shortcode .price {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--cd-navy) !important;
  margin-left: 0 !important;
}
#qodef-woo-page .price .woocommerce-Price-amount,
.qodef-woo-shortcode .price .woocommerce-Price-amount {
  color: var(--cd-navy) !important;
}

/* Products without price */
.qodef-woo-product-list .qodef-woo-product-title-price-holder .price:empty::after {
  content: 'Prezzo su richiesta';
  color: var(--cd-muted) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  font-style: italic;
  font-family: 'Inter', sans-serif !important;
}

/* Add to cart button */
#qodef-woo-page .qodef-woo-buttons-holder .button,
#qodef-woo-page .qodef-woo-buttons-holder .added_to_cart {
  background: var(--cd-navy) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--cd-radius) !important;
  padding: 10px 16px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-family: 'Inter', sans-serif !important;
  transition: background 0.2s ease !important;
}
#qodef-woo-page .qodef-woo-buttons-holder .button:hover,
#qodef-woo-page .qodef-woo-buttons-holder .added_to_cart:hover {
  background: var(--cd-navy-mid) !important;
  color: #fff !important;
}

/* Responsive columns */
@media (max-width: 1200px) {
  .qodef-woo-product-list ul.products.columns-4 > .product { width: 33.333% !important; }
}
@media (max-width: 768px) {
  .qodef-woo-product-list ul.products.columns-4 > .product,
  .qodef-woo-product-list ul.products.columns-3 > .product { width: 50% !important; }
}
@media (max-width: 480px) {
  .qodef-woo-product-list ul.products > .product { width: 100% !important; }
}

/* Single product */
.woocommerce div.product .woocommerce-Price-amount.amount {
  color: var(--cd-navy) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
}
.woocommerce div.product button.single_add_to_cart_button {
  background: var(--cd-navy) !important;
  color: #fff !important;
  border-radius: 999px !important;
  border: none !important;
  padding: 14px 36px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: 13px !important;
  transition: background 0.2s ease !important;
}
.woocommerce div.product button.single_add_to_cart_button:hover {
  background: var(--cd-navy-mid) !important;
}

/* "Prezzo su richiesta" per prodotti senza prezzo nel loop */
.woocommerce ul.products li.product:not(.product-type-variable) .price:not(:empty) { display: block !important; }

/* ============================================================
   FOOTER — override mildhill default
   ============================================================ */
#qodef-page-footer {
  background: var(--cd-navy) !important;
}
#qodef-page-footer .qodef-footer-top-area {
  border-bottom: 1px solid rgba(255,255,255,0.10) !important;
  padding: 56px 0 48px !important;
}
#qodef-page-footer .qodef-footer-bottom-area {
  padding: 18px 0 !important;
}
#qodef-page-footer .widget-title {
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin-bottom: 18px !important;
  font-family: 'Inter', sans-serif !important;
}
#qodef-page-footer p,
#qodef-page-footer .textwidget {
  color: rgba(255,255,255,0.60) !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}
#qodef-page-footer a {
  color: rgba(255,255,255,0.65) !important;
  text-decoration: none !important;
  transition: color 0.18s ease !important;
}
#qodef-page-footer a:hover {
  color: var(--cd-gold) !important;
}
#qodef-page-footer .qodef-footer-bottom-area p,
#qodef-page-footer .qodef-footer-bottom-area .textwidget {
  color: rgba(255,255,255,0.40) !important;
  font-size: 12px !important;
}

/* ============================================================
   HEADER — refinements
   ============================================================ */
/* Sticky header: white bg + shadow when scrolled */
.qodef--scrolled #qodef-page-header,
.qodef-sticky-header #qodef-page-header {
  background: #fff !important;
  box-shadow: 0 2px 24px rgba(17,24,39,0.10) !important;
}
/* Nav items dark when on light bg */
.qodef--scrolled .qodef-header-navigation > ul > li > a,
.qodef-sticky-header .qodef-header-navigation > ul > li > a {
  color: var(--cd-navy) !important;
}
/* Transparent header on hero (light skin = white items) */
.qodef-header-skin--light .qodef-header-navigation > ul > li > a {
  color: #fff !important;
}
.qodef-header-skin--light #qodef-page-header {
  background: transparent !important;
}

/* ============================================================
   SISTEMA RIVENDITORE — shop UI
   ============================================================ */

/* Notice bar (top of shop) */
.cd-riv-notice {
  background: var(--cd-warm) !important;
  border: 1px solid var(--cd-border-color, #e5e0d4) !important;
  border-radius: var(--cd-radius) !important;
  padding: 12px 20px !important;
  margin: 0 0 24px !important;
  font-size: 14px !important;
  color: var(--cd-navy) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.cd-riv-notice a {
  color: var(--cd-navy) !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}
.cd-riv-notice--active {
  background: var(--cd-acheo-bg) !important;
  border-color: var(--cd-acheo) !important;
  color: var(--cd-acheo) !important;
}
.cd-riv-notice__icon {
  font-weight: 700 !important;
  font-size: 16px !important;
}

/* "Prezzo su richiesta" in shop loop */
.cd-price-request {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-style: italic !important;
  color: var(--cd-muted) !important;
  font-weight: 400 !important;
}

/* Rivenditore badge + price */
.cd-riv-badge {
  display: inline-block !important;
  background: var(--cd-acheo-bg) !important;
  color: var(--cd-acheo) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 2px 7px !important;
  border-radius: 999px !important;
  margin-right: 6px !important;
  vertical-align: middle !important;
}

/* "Richiedi preventivo" button (products without public price) */
.cd-btn-request.button {
  background: transparent !important;
  color: var(--cd-navy) !important;
  border: 1.5px solid var(--cd-navy) !important;
  border-radius: var(--cd-radius) !important;
  padding: 9px 14px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  font-family: 'Inter', sans-serif !important;
  transition: background 0.2s ease, color 0.2s ease !important;
}
.cd-btn-request.button:hover {
  background: var(--cd-navy) !important;
  color: #fff !important;
}

/* ─────────────────────────────────────────────────────────────────────
   Brand WooCommerce category header
   ───────────────────────────────────────────────────────────────── */

.cd-brand-cat-header {
  display: flex !important;
  gap: 32px !important;
  align-items: flex-start !important;
  padding: 36px 0 32px !important;
  flex-wrap: wrap !important;
  border-bottom: 1px solid #ebebeb !important;
  margin-bottom: 8px !important;
}

.cd-brand-cat-logo-box {
  flex: 0 0 120px !important;
  height: 120px !important;
  border-radius: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.07) !important;
}

.cd-brand-cat-logo-box img {
  max-width: 86px !important;
  max-height: 70px !important;
  object-fit: contain !important;
  display: block !important;
}

.cd-brand-cat-body {
  flex: 1 !important;
  min-width: 220px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  padding-top: 2px !important;
}

.cd-brand-cat-desc {
  font-size: 15px !important;
  line-height: 1.78 !important;
  color: #555 !important;
  margin: 0 !important;
}

.cd-brand-cat-divider {
  height: 1px !important;
  background: #ebebeb !important;
  border: none !important;
  margin: 0 !important;
}

.cd-brand-cat-row {
  display: flex !important;
  gap: 32px !important;
  flex-wrap: wrap !important;
}

.cd-brand-cat-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.cd-brand-cat-label {
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cd-brand-cat-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

.cd-brand-cat-pill {
  display: inline-block !important;
  padding: 4px 12px !important;
  border-radius: 999px !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  white-space: nowrap !important;
}

.cd-brand-cat-pill--sub {
  background: #f3f4f6 !important;
  color: #555 !important;
  border-radius: 7px !important;
  padding: 4px 11px !important;
  font-size: 12px !important;
  border: 1px solid #e5e7eb !important;
  font-weight: 400 !important;
}

@media (max-width: 640px) {
  .cd-brand-cat-header { gap: 18px !important; padding: 24px 0 !important; }
  .cd-brand-cat-logo-box { flex: 0 0 88px !important; height: 88px !important; }
  .cd-brand-cat-row { gap: 18px !important; }
}

/* ============================================================
   HOME PAGE — HERITAGE STRIP
   Sezione grafica con storia Sibega-Cucinotta + illustrazioni SVG bottiglie
   ============================================================ */
.cd-heritage-strip {
  background: linear-gradient(160deg, var(--cd-warm) 0%, var(--cd-white) 55%, var(--cd-cucinotta-bg) 100%) !important;
  padding: 0 !important;
  overflow: hidden;
}

.cd-heritage-wrap {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
  max-width: 1400px;
  margin: 0 auto;
}

/* — Testo storico ——————————————————————————————————————————————— */
.cd-heritage-text {
  padding: 80px 64px 80px 52px !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.cd-heritage-title {
  font-size: clamp(28px, 3.2vw, 46px) !important;
  color: var(--cd-navy) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.025em !important;
  margin-bottom: 20px !important;
}

.cd-heritage-lead {
  font-size: 16px !important;
  line-height: 1.75 !important;
  color: var(--cd-muted) !important;
  max-width: 520px;
  margin-bottom: 36px !important;
}

.cd-heritage-facts {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px 24px !important;
  margin-bottom: 36px !important;
}

.cd-heritage-fact {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
}

.cd-hf-icon {
  width: 28px !important;
  height: 28px !important;
  flex-shrink: 0;
  margin-top: 2px;
}

.cd-heritage-fact div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.cd-heritage-fact strong {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--cd-navy) !important;
  line-height: 1.2 !important;
}

.cd-heritage-fact span {
  font-size: 12px !important;
  color: var(--cd-muted) !important;
  line-height: 1.4 !important;
}

.cd-btn--navy {
  background: transparent !important;
  border-color: var(--cd-navy) !important;
  color: var(--cd-navy) !important;
  align-self: flex-start;
}
.cd-btn--navy:hover {
  background: var(--cd-navy) !important;
  color: #fff !important;
}

/* — Visual SVG bottiglie ————————————————————————————————————————— */
.cd-heritage-visual {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, var(--cd-navy) 0%, var(--cd-navy-mid) 100%) !important;
  overflow: hidden !important;
  min-height: 460px !important;
}

.cd-heritage-visual::before {
  content: '';
  position: absolute;
  top: -20%; right: -10%;
  width: 60%; aspect-ratio: 1;
  background: radial-gradient(circle, rgba(200,169,110,0.2) 0%, transparent 60%);
  pointer-events: none;
}

.cd-bottles-svg {
  width: 90% !important;
  max-width: 400px !important;
  height: auto !important;
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 8px 32px rgba(0,0,0,0.25));
}

/* Badge Sibega sovrapposto all'SVG */
.cd-sibega-badge {
  position: absolute !important;
  bottom: 28px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: rgba(200,169,110,0.18) !important;
  border: 1px solid rgba(200,169,110,0.4) !important;
  border-radius: 999px !important;
  padding: 10px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 2px !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  white-space: nowrap;
  z-index: 2;
}

.cd-sibega-badge__year {
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--cd-gold) !important;
}

.cd-sibega-badge__name {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #fff !important;
  letter-spacing: 0.02em !important;
}

.cd-sibega-badge__place {
  font-size: 10px !important;
  color: rgba(255,255,255,0.6) !important;
  letter-spacing: 0.05em !important;
}

/* ============================================================
   HOME PAGE — ORIGINS SECTION
   "Dalla gazzosa con la pallina ai mocktail contemporanei"
   ============================================================ */
.cd-origins-section {
  background: var(--cd-warm-mid) !important;
  padding: 0 !important;
}

.cd-origins-wrap {
  padding: 80px 52px !important;
  max-width: 1400px;
  margin: 0 auto;
}

.cd-origins-header {
  text-align: center !important;
  max-width: 680px;
  margin: 0 auto 56px !important;
}

.cd-origins-header h2 {
  font-size: clamp(26px, 3vw, 42px) !important;
  color: var(--cd-navy) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 18px !important;
}

.cd-origins-sub {
  font-size: 16px !important;
  line-height: 1.72 !important;
  color: var(--cd-muted) !important;
  margin: 0 !important;
}

.cd-origins-cards {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}

.cd-origin-card {
  background: var(--cd-white) !important;
  border: var(--cd-border) !important;
  border-radius: var(--cd-radius) !important;
  padding: 28px 22px !important;
  box-shadow: var(--cd-shadow) !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease !important;
}

.cd-origin-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--cd-shadow-lg) !important;
}

.cd-origin-card__icon {
  width: 64px !important;
  height: 64px !important;
  margin-bottom: 20px !important;
}

.cd-origin-card__icon svg {
  width: 100% !important;
  height: 100% !important;
}

.cd-origin-card h3 {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--cd-navy) !important;
  line-height: 1.3 !important;
  margin-bottom: 12px !important;
  letter-spacing: -0.01em !important;
}

.cd-origin-card p {
  font-size: 14px !important;
  color: var(--cd-muted) !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

/* ============================================================
   SHOP CARDS — Logo ingrandito nella banda colorata
   ============================================================ */

/* Aumenta la proporzione della banda immagine */
.cd-cat-card__img {
  aspect-ratio: 16 / 8 !important;
  padding: 28px 36px !important;
}

/* Logo: molto più grande e con effetto drop shadow */
.cd-cat-card__img img {
  max-height: 130px !important;
  max-width: 280px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 4px 16px rgba(17,24,39,0.12)) !important;
  transition: transform 0.25s ease, filter 0.25s ease !important;
}

.cd-cat-card:hover .cd-cat-card__img img {
  transform: scale(1.04) !important;
  filter: drop-shadow(0 8px 24px rgba(17,24,39,0.18)) !important;
}

/* ============================================================
   CATEGORY PAGE — Logo brand prominente nella banda colorata
   Sostituisce il vecchio layout inline-style con classi semantiche
   ============================================================ */

/* Banda logo categoria: grande, centrata, con sfondo brand-tinted */
.cd-cat-logo-band {
  width: 100% !important;
  padding: 48px 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 20px 20px 0 0 !important;
  margin-bottom: 32px !important;
}

.cd-cat-logo-band--cucinotta { background: linear-gradient(160deg, var(--cd-cucinotta-bg) 0%, #fff 100%) !important; }
.cd-cat-logo-band--acheo     { background: linear-gradient(160deg, var(--cd-acheo-bg)     0%, #fff 100%) !important; }
.cd-cat-logo-band--berso     { background: linear-gradient(160deg, var(--cd-berso-bg)     0%, #fff 100%) !important; }
.cd-cat-logo-band--dolce-vita { background: linear-gradient(160deg, var(--cd-dv-bg)       0%, #fff 100%) !important; }

.cd-cat-logo-band img {
  max-height: 120px !important;
  max-width: 340px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 4px 18px rgba(17,24,39,0.13)) !important;
}

/* Body testo descrizione categoria */
.cd-cat-desc-body {
  font-size: 16px !important;
  line-height: 1.78 !important;
  color: var(--cd-muted) !important;
  margin: 0 0 28px !important;
}

.cd-cat-desc-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(22px, 2.5vw, 32px) !important;
  font-weight: 700 !important;
  color: var(--cd-navy) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 16px !important;
}

.cd-cat-desc-pills-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 20px !important;
}

/* Responsive: heritage + origins */
@media (max-width: 1024px) {
  .cd-heritage-wrap { grid-template-columns: 1fr !important; }
  .cd-heritage-visual { min-height: 340px !important; }
  .cd-heritage-text { padding: 60px 32px !important; }
  .cd-origins-wrap { padding: 64px 32px !important; }
  .cd-origins-cards { grid-template-columns: repeat(2, 1fr) !important; }
  .cd-cat-card__img { aspect-ratio: 16 / 7 !important; }
}

@media (max-width: 768px) {
  .cd-heritage-text { padding: 48px 20px !important; }
  .cd-heritage-facts { grid-template-columns: 1fr !important; }
  .cd-origins-wrap { padding: 48px 20px !important; }
  .cd-origins-cards { grid-template-columns: 1fr !important; }
  .cd-cat-card__img { aspect-ratio: 16 / 6 !important; padding: 20px !important; }
  .cd-cat-card__img img { max-height: 90px !important; max-width: 200px !important; }
}

/* ============================================================
   HERO v2 — Sibega logo + foto lifestyle + brand pills
   ============================================================ */

/* Logo Sibega in cima alla colonna sinistra */
.cd-hero-top {
  margin-bottom: 28px !important;
}
.cd-hero-sibega-logo {
  height: 320px !important;
  width: auto !important;          /* proporzionale: ~529px a 320px h */
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: left center !important;
  filter: drop-shadow(0 4px 20px rgba(200,169,110,0.35)) !important;
  display: block !important;
}

/* Brand pills in fondo alla colonna sinistra */
.cd-hero-brand-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 28px !important;
}
.cd-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 5px 14px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  white-space: nowrap !important;
  background: rgba(255,255,255,0.1) !important;
  color: rgba(255,255,255,0.85) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
}
.cd-pill::before {
  content: '' !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
}
.cd-pill--cucinotta::before { background: var(--cd-gold, #c8a96e) !important; }
.cd-pill--acheo::before     { background: #4ebda0 !important; }
.cd-pill--berso::before     { background: #7ab060 !important; }
.cd-pill--dv::before        { background: #e8834a !important; }

/* Foto lifestyle nella colonna destra del hero */
.cd-hero-photo-wrap {
  position: relative !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  line-height: 0 !important;
  box-shadow: 0 28px 72px rgba(0,0,0,0.35), 0 8px 20px rgba(0,0,0,0.2) !important;
}
.cd-hero-photo {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 20px !important;
}
/* Badge flottante "57 referenze · 4 brand" */
.cd-hero-photo-stat {
  position: absolute !important;
  bottom: 20px !important;
  right: 20px !important;
  background: rgba(10,22,48,0.92) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  color: #fff !important;
  border-radius: 16px !important;
  padding: 16px 22px !important;
  text-align: center !important;
  border: 1px solid rgba(200,169,110,0.4) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.35) !important;
  pointer-events: none !important;
  min-width: 110px !important;
}
.cd-hero-photo-stat strong {
  display: block !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 48px !important;
  font-weight: 800 !important;
  color: var(--cd-gold, #c8a96e) !important;
  line-height: 1 !important;
  letter-spacing: -0.02em !important;
}
.cd-hero-photo-stat span {
  display: block !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  text-transform: lowercase !important;
  color: rgba(255,255,255,0.82) !important;
  margin-top: 6px !important;
}
.cd-hero-photo-stat__sub {
  font-size: 11px !important;
  color: rgba(200,169,110,0.75) !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  margin-top: 4px !important;
  text-transform: uppercase !important;
}

/* ============================================================
   HERITAGE STRIP — Foto Gazzosa (lifestyle-single) con crop
   ============================================================ */
.cd-heritage-photo {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 28% center !important; /* taglia il bicchiere a destra */
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: 0 !important;
}
.cd-heritage-visual {
  background: var(--cd-navy) !important;
}

/* ============================================================
   HERO v3 — meta-row sotto la foto (no overlay)
   ============================================================ */
/* Rimuove il vecchio overlay (rimane nel DOM ma ora è nascosto
   se non c'è il badge, e la nuova meta-row è fuori dalla foto) */
.cd-hero-photo-stat { display: none !important; }

/* Meta-row: 57 referenze · 4 brand · Dal 1949 */
.cd-hero-photo-meta {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 14px !important;
  padding: 10px 18px !important;
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(200,169,110,0.22) !important;
  border-radius: 999px !important;
  flex-wrap: wrap !important;
}
.cd-hero-meta-item {
  font-size: 13px !important;
  color: rgba(255,255,255,0.8) !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
}
.cd-hero-meta-item strong {
  color: var(--cd-gold, #c8a96e) !important;
  font-weight: 700 !important;
}
.cd-hero-meta-sep {
  color: rgba(200,169,110,0.5) !important;
  font-size: 12px !important;
}

/* ============================================================
   ORIGIN CARDS — emoji icons
   ============================================================ */
.cd-origin-card__icon {
  font-size: 40px !important;
  line-height: 1 !important;
  margin-bottom: 16px !important;
  display: block !important;
  /* Elimina le dimensioni px precedenti che tagliavano l'emoji */
  width: auto !important;
  height: auto !important;
}

/* ============================================================
   GAZZOSA LITRO — rimuove sfondo bianco via blend mode
   (funziona quando la pagina ha sfondo chiaro)
   ============================================================ */
.cd-prod-highlight img,
.woocommerce-product-gallery img,
.wp-post-image {
  /* non applicare globalmente — solo sulle pagine che lo richiedono */
}
/* Classe da aggiungere manualmente al tag img se necessario */
.cd-img-cutout {
  mix-blend-mode: multiply !important;
}

/* ============================================================
   COLOR SYNC — header e footer in blu Cucinotta/oro Sibega
   ============================================================ */

/* HEADER */
#qodef-page-header,
.qodef-header--sticky #qodef-page-header,
#qodef-page-mobile-header {
  background-color: var(--cd-navy, #1b2f55) !important;
  border-bottom: 1px solid rgba(200,169,110,0.25) !important;
}
/* Link e voci menu header */
#qodef-page-header .qodef-header-navigation > ul > li > a,
#qodef-page-header .qodef-header-navigation > ul > li > a span,
.qodef-header-navigation a {
  color: rgba(255,255,255,0.88) !important;
}
#qodef-page-header .qodef-header-navigation > ul > li:hover > a,
#qodef-page-header .qodef-header-navigation > ul > li.current-menu-item > a,
#qodef-page-header .qodef-header-navigation > ul > li.current-menu-ancestor > a {
  color: var(--cd-gold, #c8a96e) !important;
}

/* FOOTER — sfondo navy con bollicine decorative */
#qodef-page-footer {
  position: relative !important;
  background-color: var(--cd-navy, #1b2f55) !important;
  /* Bollicine: cerchi SVG in stile inline come data-URI */
  background-image:
    radial-gradient(circle, rgba(200,169,110,0.18) 2px, transparent 2px),
    radial-gradient(circle, rgba(255,255,255,0.07) 1.5px, transparent 1.5px),
    radial-gradient(circle, rgba(200,169,110,0.10) 1px, transparent 1px) !important;
  background-size: 80px 80px, 50px 50px, 120px 120px !important;
  background-position: 0 0, 25px 25px, 10px 60px !important;
  border-top: 2px solid rgba(200,169,110,0.35) !important;
  overflow: hidden !important;
}
/* Testi footer in bianco/oro */
#qodef-page-footer,
#qodef-page-footer p,
#qodef-page-footer li,
#qodef-page-footer a,
#qodef-page-footer .widget-title,
#qodef-page-footer h3,
#qodef-page-footer h4 {
  color: rgba(255,255,255,0.82) !important;
}
#qodef-page-footer a:hover {
  color: var(--cd-gold, #c8a96e) !important;
}
#qodef-page-footer .widget-title,
#qodef-page-footer h3 {
  color: var(--cd-gold, #c8a96e) !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 14px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid rgba(200,169,110,0.25) !important;
  padding-bottom: 8px !important;
  margin-bottom: 16px !important;
}
/* Footer bottom area */
#qodef-page-footer-bottom-area {
  border-top: 1px solid rgba(200,169,110,0.18) !important;
  background: rgba(0,0,0,0.15) !important;
}
/* Logo Sibega nel footer (iniettato via PHP hook) */
.cd-footer-sibega {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 28px 24px 20px !important;
  border-bottom: 1px solid rgba(200,169,110,0.2) !important;
}
.cd-footer-sibega img {
  height: 44px !important;
  width: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 2px 8px rgba(200,169,110,0.3)) brightness(1.05) !important;
  opacity: 0.92 !important;
}

/* Responsive */
@media (max-width: 900px) {
  .cd-hero-photo-wrap { margin-top: 36px !important; }
  .cd-hero-sibega-logo { height: 200px !important; }
}
@media (max-width: 600px) {
  .cd-hero-brand-pills { gap: 6px !important; }
  .cd-pill { font-size: 11px !important; padding: 4px 11px !important; }
  .cd-hero-sibega-logo { height: 140px !important; }
  .cd-hero-photo-meta { flex-direction: column !important; gap: 4px !important; }
  .cd-hero-meta-sep { display: none !important; }
}

/* ============================================================
   WOOCOMMERCE PACKSHOT — rimuove sfondo bianco (mix-blend-mode)
   Tutti i packshot hanno sfondo bianco: multiply li rende
   trasparenti su pagine con sfondo chiaro (shop, product, home)
   ============================================================ */
.woocommerce div.product .woocommerce-product-gallery__image img,
.woocommerce ul.products li.product img.wp-post-image,
.cd-prod-highlight__img img {
  mix-blend-mode: multiply !important;
}

/* ============================================================
   CHI SIAMO — Le bibite iconiche (griglia 4 prodotti)
   ============================================================ */
.cd-icone-section .cd-eyebrow { display: block; margin-bottom: 10px; }
.cd-icone-section h2 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(24px, 2.8vw, 38px) !important;
  color: var(--cd-navy) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 20px !important;
}
.cd-iconic-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  margin-top: 8px !important;
}
.cd-iconic-card {
  background: var(--cd-white, #fff) !important;
  border: 1px solid rgba(27,47,85,0.08) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(17,24,39,0.07) !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease !important;
  display: flex !important;
  flex-direction: column !important;
}
.cd-iconic-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 12px 40px rgba(17,24,39,0.13) !important;
}
.cd-iconic-card__img {
  background: linear-gradient(160deg, #f8f9fb 0%, #fff 100%) !important;
  padding: 32px 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 200px !important;
}
.cd-iconic-card__img img {
  max-height: 180px !important;
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 8px 20px rgba(17,24,39,0.12)) !important;
  /* Gazzosa Litro ha sfondo trasparente — gli altri usano multiply */
  mix-blend-mode: multiply !important;
}
.cd-iconic-card__body {
  padding: 20px 22px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}
.cd-iconic-card__name {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--cd-navy) !important;
  margin: 0 0 4px !important;
}
.cd-iconic-card__sub {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--cd-gold, #c8a96e) !important;
  display: block !important;
  margin-bottom: 14px !important;
}
.cd-iconic-card__desc {
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: #666 !important;
  margin: 0 0 20px !important;
  flex: 1 !important;
}
.cd-iconic-card .cd-btn {
  align-self: flex-start !important;
  font-size: 13px !important;
  padding: 9px 18px !important;
}

@media (max-width: 900px) {
  .cd-iconic-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .cd-iconic-grid { grid-template-columns: 1fr !important; }
  .cd-iconic-card__img { min-height: 160px !important; }
}

/* ============================================================
   RESTYLING 2026 — Aggiornamenti visivi
   ============================================================ */

/* Nuovi token */
:root {
  --cd-navy-dark:   #0f1e36;
  --cd-gold-deep:   #a8874c;
  --cd-warm-deep:   #ede7d6;
  --cd-shadow-xs:   0 2px 8px rgba(17,24,39,0.06);
  --cd-shadow-xl:   0 40px 96px rgba(17,24,39,0.22);
  --cd-shadow-gold: 0 8px 32px rgba(200,169,110,0.35);
  --cd-ease:        cubic-bezier(0.4, 0, 0.2, 1);
  --cd-dur:         280ms;
  --cd-dur-slow:    420ms;
}

/* Selezione testo */
::selection { background: rgba(200,169,110,0.28); color: var(--cd-navy, #1b2f55); }

/* Eyebrow con linea decorativa */
.cd-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.cd-eyebrow::before {
  content: '';
  display: block;
  width: 24px;
  height: 2px;
  background: currentColor;
  flex-shrink: 0;
}

/* Bottoni — hover lift */
.cd-btn {
  transition: background var(--cd-dur) var(--cd-ease),
              color var(--cd-dur) var(--cd-ease),
              border-color var(--cd-dur) var(--cd-ease),
              transform var(--cd-dur) var(--cd-ease),
              box-shadow var(--cd-dur) var(--cd-ease) !important;
}
.cd-btn--solid:hover,
.cd-btn--solid:focus {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(27,47,85,0.22) !important;
}
.cd-panel--dark .cd-btn--solid:hover,
.cd-home-hero .cd-btn--solid:hover,
.cd-shop-hero .cd-btn--solid:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--cd-shadow-gold, 0 8px 32px rgba(200,169,110,0.35)) !important;
}
.cd-btn--ghost:hover,
.cd-btn--ghost:focus,
.cd-btn--ghost-navy:hover,
.cd-btn--ghost-navy:focus,
.cd-btn--navy:hover {
  transform: translateY(-2px) !important;
}

/* Header — vetro e underline animato */
#qodef-page-header,
.qodef-header--sticky #qodef-page-header {
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
}
#qodef-page-header .qodef-header-navigation > ul > li > a {
  position: relative !important;
  padding-bottom: 3px !important;
}
#qodef-page-header .qodef-header-navigation > ul > li > a::after {
  content: '' !important;
  position: absolute !important;
  bottom: -1px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 0 !important;
  height: 2px !important;
  background: var(--cd-gold, #c8a96e) !important;
  border-radius: 2px !important;
  transition: width var(--cd-dur) var(--cd-ease) !important;
}
#qodef-page-header .qodef-header-navigation > ul > li:hover > a::after,
#qodef-page-header .qodef-header-navigation > ul > li.current-menu-item > a::after,
#qodef-page-header .qodef-header-navigation > ul > li.current-menu-ancestor > a::after {
  width: 100% !important;
}

/* ---- STATS STRIP ----------------------------------------- */
.cd-stats-strip {
  background: var(--cd-navy-dark, #0f1e36) !important;
  border-bottom: 1px solid rgba(200,169,110,0.18) !important;
}
.cd-stats-strip .vc_column-inner {
  padding-top: 44px !important;
  padding-bottom: 44px !important;
}
.cd-stat-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
}
.cd-stat-block {
  text-align: center !important;
  padding: 4px 32px !important;
  border-right: 1px solid rgba(200,169,110,0.13) !important;
}
.cd-stat-block:last-child { border-right: none !important; }
.cd-stat-block__num {
  font-family: 'Playfair Display', serif !important;
  font-size: 54px !important;
  font-weight: 800 !important;
  color: var(--cd-gold, #c8a96e) !important;
  line-height: 1 !important;
  letter-spacing: -0.02em !important;
  display: block !important;
}
.cd-stat-block__label {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.45) !important;
  margin-top: 8px !important;
  display: block !important;
}

/* ---- BRAND CARDS — header colorato ----------------------- */
.cd-brand-card {
  display: flex !important;
  flex-direction: column !important;
  border-radius: var(--cd-radius, 20px) !important;
  overflow: hidden !important;
  box-shadow: var(--cd-shadow, 0 16px 48px rgba(17,24,39,0.10)) !important;
  transition: transform var(--cd-dur) var(--cd-ease),
              box-shadow var(--cd-dur) var(--cd-ease) !important;
  background: #fff !important;
  border: var(--cd-border, 1px solid rgba(17,24,39,0.08)) !important;
}
.cd-brand-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: var(--cd-shadow-xl, 0 40px 96px rgba(17,24,39,0.22)) !important;
}
.cd-brand-card__header {
  padding: 36px 28px 28px !important;
  position: relative !important;
  overflow: hidden !important;
  min-height: 190px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
}
.cd-brand-card--cucinotta  .cd-brand-card__header { background: var(--cd-navy, #1b2f55) !important; }
.cd-brand-card--acheo      .cd-brand-card__header { background: var(--cd-acheo, #0d6c55) !important; }
.cd-brand-card--berso      .cd-brand-card__header { background: var(--cd-berso, #3a5a2a) !important; }
.cd-brand-card--dolce-vita .cd-brand-card__header { background: var(--cd-dv, #c44c2a) !important; }

.cd-brand-card__header-bg {
  position: absolute !important;
  top: -12px !important;
  right: -12px !important;
  font-family: 'Playfair Display', serif !important;
  font-weight: 800 !important;
  font-size: 68px !important;
  line-height: 1 !important;
  color: rgba(255,255,255,0.07) !important;
  white-space: nowrap !important;
  letter-spacing: -0.03em !important;
  pointer-events: none !important;
  user-select: none !important;
}
.cd-brand-card__geo {
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.5) !important;
  margin-bottom: 10px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.cd-brand-card__geo::before {
  content: '' !important;
  width: 16px !important;
  height: 1px !important;
  background: rgba(255,255,255,0.35) !important;
  display: block !important;
  flex-shrink: 0 !important;
}
.cd-brand-card__name {
  font-family: 'Playfair Display', serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #fff !important;
  letter-spacing: -0.01em !important;
  line-height: 1.1 !important;
}
.cd-brand-card__body {
  padding: 22px 28px 28px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}
.cd-brand-card__body p {
  font-size: 14px !important;
  color: var(--cd-muted, #6b7280) !important;
  line-height: 1.72 !important;
  margin-bottom: 18px !important;
  flex: 1 !important;
}
/* Bottone brand-colorato per contesto */
.cd-brand-card--cucinotta  .cd-brand-card__body .cd-btn--solid { background: var(--cd-navy) !important; border-color: var(--cd-navy) !important; color: #fff !important; }
.cd-brand-card--acheo      .cd-brand-card__body .cd-btn--solid { background: var(--cd-acheo) !important; border-color: var(--cd-acheo) !important; color: #fff !important; }
.cd-brand-card--berso      .cd-brand-card__body .cd-btn--solid { background: var(--cd-berso) !important; border-color: var(--cd-berso) !important; color: #fff !important; }
.cd-brand-card--dolce-vita .cd-brand-card__body .cd-btn--solid { background: var(--cd-dv) !important; border-color: var(--cd-dv) !important; color: #fff !important; }

/* ---- ORIGINS SECTION — sfondo navy scuro ----------------- */
.cd-origins-section {
  background: linear-gradient(155deg, var(--cd-navy-dark, #0f1e36) 0%, var(--cd-navy, #1b2f55) 100%) !important;
}
.cd-origins-section .vc_column-inner {
  padding-top: 96px !important;
  padding-bottom: 96px !important;
}
.cd-origins-section .cd-eyebrow { color: var(--cd-gold, #c8a96e) !important; }
.cd-origins-section h2 { color: #fff !important; }
.cd-origins-section .cd-origins-sub { color: rgba(255,255,255,0.62) !important; }
.cd-origins-section .cd-origin-card {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(200,169,110,0.18) !important;
  border-top: 3px solid var(--cd-gold, #c8a96e) !important;
}
.cd-origins-section .cd-origin-card:hover {
  background: rgba(255,255,255,0.09) !important;
  border-color: rgba(200,169,110,0.38) !important;
  transform: translateY(-5px) !important;
}
.cd-origins-section .cd-origin-card h3 { color: #fff !important; }
.cd-origins-section .cd-origin-card p  { color: rgba(255,255,255,0.62) !important; }

/* ---- HERITAGE — anno decorativo in background ------------ */
.cd-heritage-text {
  position: relative !important;
  overflow: hidden !important;
}
.cd-heritage-text::before {
  content: '1949';
  position: absolute;
  bottom: -20px;
  left: -8px;
  font-family: 'Playfair Display', serif;
  font-size: 160px;
  font-weight: 800;
  color: rgba(27,47,85,0.04);
  line-height: 1;
  letter-spacing: -0.04em;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}
.cd-heritage-text > * { position: relative; z-index: 1; }

/* ---- ICONIC CARDS — linea oro in cima + hover ------------ */
.cd-iconic-card { position: relative !important; }
.cd-iconic-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--cd-gold, #c8a96e), var(--cd-gold-light, #e8d5a8), var(--cd-gold, #c8a96e)) !important;
  z-index: 2 !important;
}
.cd-iconic-card:hover {
  transform: translateY(-7px) !important;
  box-shadow: 0 24px 64px rgba(17,24,39,0.15) !important;
  border-color: rgba(200,169,110,0.22) !important;
}
.cd-iconic-card__img img {
  transition: transform var(--cd-dur-slow, 420ms) var(--cd-ease) !important;
}
.cd-iconic-card:hover .cd-iconic-card__img img {
  transform: scale(1.06) translateY(-4px) !important;
}

/* ---- HERO META — stacked (numero sopra, label sotto) ----- */
.cd-hero-photo-meta {
  display: flex !important;
  align-items: stretch !important;
  gap: 0 !important;
  padding: 0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  flex-wrap: nowrap !important;
}
.cd-hero-meta-item {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  padding: 16px 12px !important;
  border-right: 1px solid rgba(200,169,110,0.12) !important;
  gap: 3px !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  color: rgba(255,255,255,0.6) !important;
}
.cd-hero-meta-item:last-child { border-right: none !important; }
.cd-hero-meta-item strong {
  display: block !important;
  font-family: 'Playfair Display', serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--cd-gold, #c8a96e) !important;
  line-height: 1.1 !important;
  margin-bottom: 0 !important;
}
.cd-hero-meta-sep { display: none !important; }

/* ---- FOOTER — freccia animata sui link ------------------- */
#qodef-page-footer .widget ul li a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
}
#qodef-page-footer .widget ul li a::before {
  content: '→' !important;
  font-size: 11px !important;
  opacity: 0 !important;
  transform: translateX(-8px) !important;
  transition: opacity var(--cd-dur) var(--cd-ease),
              transform var(--cd-dur) var(--cd-ease) !important;
  margin-right: 0 !important;
  flex-shrink: 0 !important;
}
#qodef-page-footer .widget ul li a:hover::before {
  opacity: 1 !important;
  transform: translateX(0) !important;
  margin-right: 5px !important;
}

/* ---- RESPONSIVE aggiuntivo ----------------------------- */
@media (max-width: 900px) {
  .cd-stat-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .cd-stat-block { border-bottom: 1px solid rgba(200,169,110,0.1); }
  .cd-brand-card__header { min-height: 150px !important; }
}

/* ============================================================
   FIX CRITICI — Conflitti CSS esistenti + WPBakery inner layers
   ============================================================ */

/* BRAND GRID — 4 colonne (era repeat(2,1fr)) */
.cd-brand-grid {
  grid-template-columns: repeat(4, 1fr) !important;
  margin-top: 48px !important;
  gap: 24px !important;
}

/* BRAND CARD — azzera padding vecchio, rimuove stripe e gradient */
.cd-brand-card {
  padding: 0 !important;
  border-radius: var(--cd-radius, 20px) !important;
  overflow: hidden !important;
}
/* Nasconde vecchio stripe colorato in cima (sostituito da __header) */
.cd-brand-card::before { display: none !important; }
/* Rimuove gradient-background per-brand (ora bianco puro, colore è nell'header) */
.cd-brand-card--cucinotta,
.cd-brand-card--acheo,
.cd-brand-card--berso,
.cd-brand-card--dolce-vita { background: #fff !important; }

/* STATS STRIP — trasparenza inner WPBakery (altrimenti il navy non traspare) */
.cd-stats-strip .vc_column-inner,
.cd-stats-strip .wpb_column,
.cd-stats-strip .wpb_wrapper,
.cd-stats-strip .wpb_text_column,
.cd-stats-strip .wpb_text_column .wpb_wrapper { background: transparent !important; }

/* ORIGINS SECTION — trasparenza inner WPBakery */
.cd-origins-section .vc_column-inner,
.cd-origins-section .wpb_column,
.cd-origins-section .wpb_wrapper,
.cd-origins-section .wpb_text_column,
.cd-origins-section .wpb_text_column .wpb_wrapper { background: transparent !important; }

/* ============================================================
   HOME HERO — layout flex definitivo (foto piena altezza)
   Il WPBakery di default usa float: la catena flex sotto
   propaga l'altezza dal row fino all'<img>.
   ============================================================ */

/* 1 ── Row: flex con colonne di uguale altezza ──────────────── */
.cd-home-hero.vc_row,
.cd-home-hero.wpb_row {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  min-height: 88vh !important;
}

/* 2 ── Colonne: flex column, nessun float WPBakery ─────────── */
.cd-home-hero .wpb_column {
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
}

/* 3 ── vc_column-inner: riempie l'altezza della colonna ─────── */
.cd-home-hero .vc_column-inner {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

/* 4 ── Colonna DESTRA: catena flex fino all'immagine ─────────── */
.cd-hero-col-right > .vc_column-inner {
  padding: 24px 0 24px 24px !important;
  justify-content: stretch !important;
  align-items: stretch !important;
  gap: 0 !important;
}
/* Tutti i wrapper WPBakery della colonna destra diventano flex */
.cd-hero-col-right .wpb_wrapper,
.cd-hero-col-right .wpb_text_column,
.cd-hero-col-right .wpb_text_column .wpb_wrapper {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  background: transparent !important;
}

/* 5 ── Photo wrap: si estende a tutta l'altezza disponibile ─── */
.cd-hero-photo-wrap {
  flex: 1 1 0% !important;
  min-height: 420px !important;
  max-height: none !important;
  border-radius: 20px !important;
  overflow: hidden !important;
}

/* 6 ── Immagine: copre il wrap completamente ─────────────────── */
.cd-hero-photo {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* 7 ── Responsive: stack verticale su schermi piccoli ────────── */
@media (max-width: 960px) {
  .cd-home-hero.vc_row { flex-wrap: wrap !important; min-height: auto !important; }
  .cd-home-hero .wpb_column { width: 100% !important; flex: 0 0 100% !important; }
  .cd-home-hero .vc_column-inner { padding: 48px 24px !important; }
  .cd-hero-col-right > .vc_column-inner { padding: 0 24px 48px !important; }
  .cd-hero-photo-wrap { min-height: 300px !important; max-height: 460px !important; }
}
/* H1 hero — dimensione più drammatica */
.cd-home-hero h1 {
  font-size: clamp(46px, 5.5vw, 78px) !important;
  line-height: 1.0 !important;
  letter-spacing: -0.03em !important;
}
/* Lead hero — larghezza piena colonna */
.cd-home-hero .cd-lead { max-width: 560px; }

/* ---- RESPONSIVE brand grid ----------------------------- */
@media (max-width: 1024px) {
  .cd-brand-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .cd-brand-grid { grid-template-columns: 1fr !important; }
  .cd-home-hero .vc_column-inner { min-height: auto !important; }
}

/* ============================================================
   FIX UI — Maggio 2026
   ============================================================ */

/* ---- HERO — colonna destra: foto allineata dal top con gap ---- */
.cd-hero-col-right > .vc_column-inner {
  justify-content: flex-start !important;
  padding-top: 60px !important;
  padding-bottom: 24px !important;
  gap: 14px !important;
}
.cd-hero-photo-wrap {
  border-radius: 20px !important;
  overflow: hidden !important;
  flex: 1 1 0% !important;
  min-height: 280px !important;
  max-height: calc(100vh - 220px) !important;
}
.cd-hero-photo {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* ---- PAGINA CONTATTI ---- */
.cd-contact-info {
  margin-top: 28px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}
.cd-contact-item strong {
  display: block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--cd-gold, #c8a96e) !important;
  margin-bottom: 4px !important;
}
.cd-contact-item p {
  font-size: 15px !important;
  color: var(--cd-navy, #1b2f55) !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

/* ---- RIVENDITORI — B2B benefit cards ---- */
.cd-b2b-benefit {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(200,169,110,0.20) !important;
  border-radius: 16px !important;
  padding: 24px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  text-align: center !important;
}
.cd-b2b-benefit strong {
  display: block !important;
  color: var(--cd-gold, #c8a96e) !important;
  font-size: 20px !important;
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
.cd-b2b-benefit span {
  color: rgba(255,255,255,0.72) !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}

/* ---- I NOSTRI VALORI — griglia 3×2 (6 card) ---- */
.cd-valori-grid {
  grid-template-columns: repeat(3, 1fr) !important;
}
@media (max-width: 768px) {
  .cd-valori-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
  .cd-valori-grid { grid-template-columns: 1fr !important; }
}

/* ---- HUB BRAND — hero full-width ---- */
.cd-home-hero--brand .vc_col-sm-12 > .vc_column-inner {
  padding-top: 0 !important;
  justify-content: center !important;
  min-height: 50vh !important;
}

/* ---- BRAND CARD __text-link su hub brand ---- */
.cd-brand-card__body .cd-text-link {
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--cd-navy, #1b2f55) !important;
  text-decoration: none !important;
  border-bottom: 1px solid currentColor !important;
  padding-bottom: 1px !important;
  transition: opacity 0.2s !important;
}
.cd-brand-card__body .cd-text-link:hover { opacity: 0.65 !important; }

/* ---- FOOTER — nasconde vecchia striscia Sibega ---- */
.cd-footer-sibega { display: none !important; }

/* ---- RIVENDITORI — B2B benefit responsive ---- */
@media (max-width: 768px) {
  .cd-b2b-benefit { padding: 18px 16px !important; }
}

/* ============================================================
   CHI SIAMO — Sezioni fotografiche storiche
   ============================================================ */

/* ── A. Banner panorama fullscreen ─────────────────────────── */
.cd-storia-photo-banner {
  padding: 0 !important;
  margin: 0 !important;
}
.cd-storia-photo-banner .vc_column-inner,
.cd-storia-photo-banner .wpb_wrapper,
.cd-storia-photo-banner .wpb_text_column,
.cd-storia-photo-banner .wpb_text_column .wpb_wrapper {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}
.cd-photo-banner {
  position: relative !important;
  overflow: hidden !important;
  margin: 0 !important;
}
.cd-photo-banner__img {
  width: 100% !important;
  height: 520px !important;
  object-fit: cover !important;
  display: block !important;
  filter: brightness(0.72) !important;
}
.cd-photo-banner__overlay {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background: linear-gradient(to top,
    rgba(15,30,54,0.88) 0%,
    rgba(15,30,54,0.4)  55%,
    transparent         100%) !important;
  padding: 48px 72px !important;
}
.cd-photo-banner__caption {
  max-width: 640px !important;
}
.cd-photo-banner__tag {
  display: block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--cd-gold, #c8a96e) !important;
  margin-bottom: 10px !important;
}
.cd-photo-banner__text {
  color: rgba(255,255,255,0.88) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

/* ── B. Sezione stabilimento — split 2 colonne ──────────────── */
.cd-storia-split {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 72px !important;
  align-items: center !important;
}
.cd-storia-split__text h2 {
  font-size: clamp(26px, 3vw, 40px) !important;
  letter-spacing: -0.02em !important;
  margin: 14px 0 20px !important;
  line-height: 1.15 !important;
}
.cd-storia-split__photos {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}
.cd-storia-split__photo-wrap {
  position: relative !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 16px 48px rgba(17,24,39,0.14) !important;
}
.cd-storia-split__photo {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s ease !important;
}
.cd-storia-split__photo-wrap:hover .cd-storia-split__photo {
  transform: scale(1.03) !important;
}
.cd-storia-split__photo-label {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 10px 16px !important;
  background: linear-gradient(to top, rgba(15,30,54,0.8) 0%, transparent 100%) !important;
  font-size: 11px !important;
  letter-spacing: 0.06em !important;
  color: rgba(255,255,255,0.82) !important;
  font-style: italic !important;
}

/* ── C. Archivio fotografico 3×2 ────────────────────────────── */
.cd-archivio-intro {
  max-width: 640px !important;
  color: var(--cd-muted, #6b7280) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  margin: 0 0 44px !important;
}
.cd-archivio-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
}
.cd-archivio-item {
  margin: 0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: var(--cd-warm, #f5f0e8) !important;
  border: 1px solid rgba(17,24,39,0.06) !important;
  box-shadow: 0 4px 20px rgba(17,24,39,0.07) !important;
  transition: box-shadow 0.3s ease, transform 0.3s ease !important;
}
.cd-archivio-item:hover {
  box-shadow: 0 14px 48px rgba(17,24,39,0.14) !important;
  transform: translateY(-4px) !important;
}
.cd-archivio-item__img {
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
}
.cd-archivio-item__img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.5s ease !important;
}
.cd-archivio-item:hover .cd-archivio-item__img img {
  transform: scale(1.06) !important;
}
.cd-archivio-item__caption {
  padding: 12px 16px 14px !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  color: var(--cd-muted, #6b7280) !important;
  font-style: italic !important;
  border-top: 1px solid rgba(17,24,39,0.05) !important;
}

/* ── Responsive foto storia ─────────────────────────────────── */
@media (max-width: 1024px) {
  .cd-storia-split { gap: 40px !important; }
}
@media (max-width: 768px) {
  .cd-photo-banner__img { height: 320px !important; }
  .cd-photo-banner__overlay { padding: 28px 24px !important; }
  .cd-storia-split { grid-template-columns: 1fr !important; gap: 32px !important; }
  .cd-archivio-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
  .cd-archivio-grid { grid-template-columns: 1fr !important; }
}

/* ============================================================
   CHI SIAMO — Fix layout Maggio 2026 (2ª tornata)
   ============================================================ */

/* ── Sicurezza: inner elements cd-storia-section trasparenti ── */
.cd-storia-section .vc_column-inner,
.cd-storia-section .wpb_column,
.cd-storia-section .wpb_wrapper,
.cd-storia-section .wpb_text_column,
.cd-storia-section .wpb_text_column .wpb_wrapper {
  background: transparent !important;
}

/* ── HERO SPLIT: testo sinistra + stabilimento destra ────────── */
.cd-chi-siamo-hero .cd-chisiamo-hero-split {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 64px !important;
  align-items: center !important;
  width: 100% !important;
}
.cd-chisiamo-hero-split__text {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
.cd-chisiamo-hero-split__photo {
  position: relative !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 32px 80px rgba(0,0,0,0.35) !important;
}
.cd-chisiamo-hero-split__img {
  width: 100% !important;
  height: 560px !important;
  object-fit: cover !important;
  display: block !important;
  object-position: center center !important;
}

/* ── LE ORIGINI SPLIT: testo sinistra + faro destra ─────────── */
.cd-origini-split {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 64px !important;
  align-items: start !important;
}
.cd-origini-split__text {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
.cd-origini-split__photo {
  position: relative !important;
}
.cd-origini-split__img {
  width: 100% !important;
  height: 520px !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  border-radius: 20px !important;
  box-shadow: 0 16px 48px rgba(17,24,39,0.16) !important;
}
.cd-origini-split__caption {
  display: block !important;
  text-align: center !important;
  margin-top: 12px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--cd-gold, #c8a96e) !important;
}

/* ── SAMBUSODA: bottiglia storica con testo affiancato ───────── */
.cd-origini-sambusoda {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  margin-top: 28px !important;
  padding: 20px 24px !important;
  background: rgba(200,169,110,0.08) !important;
  border: 1px solid rgba(200,169,110,0.22) !important;
  border-radius: 16px !important;
}
.cd-origini-sambusoda__img {
  height: 120px !important;
  width: auto !important;
  object-fit: contain !important;
  display: block !important;
  flex-shrink: 0 !important;
  border-radius: 8px !important;
}
.cd-origini-sambusoda__info {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}
.cd-origini-sambusoda__info strong {
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--cd-gold, #c8a96e) !important;
}
.cd-origini-sambusoda__info span {
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: var(--cd-navy, #1b2f55) !important;
}

/* ── BRAND CARD — header con logo (nuova versione) ───────────── */
.cd-brand-card__header--logo {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 160px !important;
  padding: 32px !important;
  background: #f5f7fa !important;
  position: relative !important;
}
/* Colore accent specifico per brand */
.cd-brand-card--cucinotta .cd-brand-card__header--logo {
  background: #eef1f8 !important;
  border-top: 4px solid #1b2f55 !important;
}
.cd-brand-card--acheo .cd-brand-card__header--logo {
  background: #eef5f0 !important;
  border-top: 4px solid #1e4d2b !important;
}
.cd-brand-card--berso .cd-brand-card__header--logo {
  background: #edf5ee !important;
  border-top: 4px solid #2e7d32 !important;
}
.cd-brand-card--dolce-vita .cd-brand-card__header--logo {
  background: #f6eef2 !important;
  border-top: 4px solid #7a1a35 !important;
}
.cd-brand-card__logo-img {
  max-height: 80px !important;
  max-width: 180px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

/* ── ETICHETTE STORICHE — due foto verticali affiancate ─────── */
.cd-storia-split__labels {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
}
.cd-storia-split__label-wrap {
  position: relative !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #f8f4ec !important;
  box-shadow: 0 8px 32px rgba(17,24,39,0.12) !important;
}
.cd-storia-split__label-img {
  width: 100% !important;
  height: 320px !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  padding: 20px !important;
}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 900px) {
  .cd-chi-siamo-hero .cd-chisiamo-hero-split {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  .cd-chisiamo-hero-split__img { height: 340px !important; }
  .cd-origini-split {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  .cd-origini-split__img { height: 320px !important; }
  .cd-storia-split__labels { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .cd-storia-split__label-img { height: 240px !important; padding: 14px !important; }
}

/* ============================================================
   FIX LAYOUT — Maggio 2026 batch 3
   ============================================================ */

/* ── HOME: logo Sibega compact (era 320px) ───────────────────── */
.cd-hero-sibega-logo {
  height: 44px !important;
  filter: none !important;
}
@media (max-width: 900px) {
  .cd-hero-sibega-logo { height: 36px !important; }
}
@media (max-width: 600px) {
  .cd-hero-sibega-logo { height: 32px !important; }
}

/* ── HOME: margine sotto logo ridotto + colonna destra da top ── */
.cd-hero-top { margin-bottom: 16px !important; }
.cd-hero-col-right > .vc_column-inner { padding-top: 0 !important; }

/* ── HOME: nasconde meta box stats (rimosso anche da HTML) ────── */
.cd-hero-photo-meta { display: none !important; }

/* ── I BRAND: riduce spazio bianco sopra/sotto ───────────────── */
.cd-section.cd-brands-intro {
  padding-top: 48px !important;
  padding-bottom: 56px !important;
}
.cd-home-hero--brand.vc_row,
.cd-home-hero--brand.wpb_row {
  min-height: 36vh !important;
}
.cd-home-hero--brand .vc_col-sm-12 > .vc_column-inner {
  min-height: 36vh !important;
}

/* ── Header: logo Sibega sempre visibile ─────────────────────── */
#qodef-page-header .qodef-header-logo-link img.qodef--main,
#qodef-page-header .qodef-header-logo-link img {
  opacity: 1 !important;
  display: block !important;
  visibility: visible !important;
  max-height: 64px !important;
  width: auto !important;
  max-width: none !important;
  object-fit: contain !important;
}
/* Header: sfondo semi-trasparente per leggibilità logo su hero scuro */
#qodef-page-header {
  background-color: rgba(10, 25, 60, 0.85) !important;
}
/* Assicura che il wrapper del logo sia visibile */
#qodef-page-header .qodef-header-logo-link {
  opacity: 1 !important;
  visibility: visible !important;
}
/* Sticky header: sfondo pieno */
#qodef-page-sticky-header {
  background-color: rgba(10, 25, 60, 0.98) !important;
}
/* Sticky header logo */
#qodef-page-sticky-header .qodef-header-logo-link img {
  max-height: 48px !important;
  width: auto !important;
  max-width: none !important;
  opacity: 1 !important;
}
