.elementor-22156 .elementor-element.elementor-element-36f1952f{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--flex-wrap:nowrap;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:rgba(255,255,255,0.05);--border-color:rgba(255,255,255,0.05);--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:1000;}.elementor-22156 .elementor-element.elementor-element-36f1952f:not(.elementor-motion-effects-element-type-background), .elementor-22156 .elementor-element.elementor-element-36f1952f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1E1A15;}.elementor-22156 .elementor-element.elementor-element-75dbfb8{--display:flex;--min-height:72px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:40px;--padding-right:40px;}.elementor-22156 .elementor-element.elementor-element-57db732{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--flex-wrap:nowrap;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-22156 .elementor-element.elementor-element-57db732.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-22156 .elementor-element.elementor-element-ae4b50c img{width:100%;max-width:100%;}.elementor-22156 .elementor-element.elementor-element-458051ce{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-22156 .elementor-element.elementor-element-74c9438b .elementor-menu-toggle{margin:0 auto;}.elementor-22156 .elementor-element.elementor-element-74c9438b .elementor-nav-menu .elementor-item{font-family:"DM Sans", Sans-serif;font-size:18px;font-weight:800;}.elementor-22156 .elementor-element.elementor-element-74c9438b .elementor-nav-menu--main .elementor-item{color:#3A302B;fill:#3A302B;padding-left:16px;padding-right:16px;}.elementor-22156 .elementor-element.elementor-element-74c9438b .elementor-nav-menu--main .elementor-item:hover,
					.elementor-22156 .elementor-element.elementor-element-74c9438b .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-22156 .elementor-element.elementor-element-74c9438b .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-22156 .elementor-element.elementor-element-74c9438b .elementor-nav-menu--main .elementor-item:focus{color:#FDFAF7;fill:#FDFAF7;}.elementor-22156 .elementor-element.elementor-element-74c9438b .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#3A302B;}.elementor-22156 .elementor-element.elementor-element-74c9438b .elementor-nav-menu--dropdown{background-color:#0201011A;}.elementor-22156 .elementor-element.elementor-element-74c9438b div.elementor-menu-toggle{color:#FFFFFF;}.elementor-22156 .elementor-element.elementor-element-74c9438b div.elementor-menu-toggle svg{fill:#FFFFFF;}.elementor-22156 .elementor-element.elementor-element-74c9438b{background-color:#1E1A15;}.elementor-22156 .elementor-element.elementor-element-687ee37{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-22156 .elementor-element.elementor-element-22ae507{width:var( --container-widget-width, 60% );max-width:60%;--container-widget-width:60%;--container-widget-flex-grow:0;background-color:#EDE4D7;border-style:none;border-radius:0px 0px 0px 0px;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-22156 .elementor-element.elementor-element-495d589{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--flex-wrap:nowrap;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:rgba(255,255,255,0.05);--border-color:rgba(255,255,255,0.05);--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:1000;}.elementor-22156 .elementor-element.elementor-element-495d589:not(.elementor-motion-effects-element-type-background), .elementor-22156 .elementor-element.elementor-element-495d589 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1E1A15;}.elementor-22156 .elementor-element.elementor-element-ed637d0{--display:flex;--min-height:72px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:40px;--padding-right:40px;}.elementor-22156 .elementor-element.elementor-element-ff5bc68{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--flex-wrap:nowrap;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-22156 .elementor-element.elementor-element-942768e img{width:100%;max-width:100%;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );}}@media(min-width:768px){.elementor-22156 .elementor-element.elementor-element-57db732{--width:24%;}.elementor-22156 .elementor-element.elementor-element-458051ce{--width:75%;}.elementor-22156 .elementor-element.elementor-element-687ee37{--width:23%;}.elementor-22156 .elementor-element.elementor-element-ff5bc68{--width:25%;}}@media(max-width:1024px) and (min-width:768px){.elementor-22156 .elementor-element.elementor-element-57db732{--width:209.258px;}}@media(max-width:767px){.elementor-22156 .elementor-element.elementor-element-458051ce{--width:100px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--flex-wrap:nowrap;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );}.elementor-22156 .elementor-element.elementor-element-74c9438b .elementor-nav-menu--main .elementor-item{padding-left:0px;padding-right:0px;padding-top:0px;padding-bottom:0px;}.elementor-22156 .elementor-element.elementor-element-74c9438b{--nav-menu-icon-size:27px;}.elementor-22156 .elementor-element.elementor-element-495d589{--justify-content:space-around;}.elementor-22156 .elementor-element.elementor-element-ed637d0{--justify-content:space-evenly;--flex-wrap:wrap;}}/* Start custom CSS for nav-menu, class: .elementor-element-74c9438b *//*
 * ================================================================
 *  DESPENSA 1893 — Custom CSS for Elementor
 *  Paste this into: Elementor → Site Settings → Custom CSS
 *  OR: Appearance → Additional CSS  (WordPress)
 *  OR: your child theme's style.css
 * ================================================================
 *
 *  TABLE OF CONTENTS
 *  1. Google Fonts import
 *  2. CSS Custom Properties (design tokens)
 *  3. Global resets & body
 *  4. Typography
 *  5. Elementor container overrides
 *  6. Navbar / Header
 *  7. Component: brand-divider
 *  8. Component: eyebrow
 *  9. Component: buttons
 * 10. Component: icon-box cards
 * 11. Component: testimonials
 * 12. Component: FAQ / accordion
 * 13. Component: stat numbers
 * 14. Component: product cards
 * 15. Component: form
 * 16. Section-specific helpers
 * 17. Animations & motion
 * 18. Responsive overrides
 * ================================================================
*/

/* ── 1. GOOGLE FONTS ──────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,700;1,400&family=DM+Sans:wght@300;400;500;600&display=swap');

/* ── 2. CSS CUSTOM PROPERTIES ─────────────────────────────────── */
:root {
  --amber:        #8C6F4B;
  --amber-dark:   #6B5237;
  --amber-light:  #B89470;
  --amber-pale:   #EDE3D6;
  --sage:         #74A253;
  --sage-dark:    #578040;
  --sage-light:   #9AC27A;
  --sage-pale:    #E8F2E0;
  --ink:          #1E1A15;
  --charcoal:     #3A3028;
  --stone:        #6B5F52;
  --pebble:       #9E9088;
  --linen:        #F7F3EE;
  --linen-dark:   #EDE5DA;
  --white:        #FDFAF7;

  --serif:  'Playfair Display', Georgia, serif;
  --sans:   'DM Sans', system-ui, sans-serif;

  --transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  --radius-sm:  4px;
  --radius-md:  8px;
  --radius-lg:  12px;

  --shadow-sm:    0 2px 12px rgba(140,111,75,0.08);
  --shadow-md:    0 8px 32px rgba(140,111,75,0.12);
  --shadow-lg:    0 20px 60px rgba(140,111,75,0.16);
  --shadow-green: 0 8px 28px rgba(116,162,83,0.25);
}

/* ── 3. GLOBAL RESETS ─────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: var(--sans);
  background-color: var(--linen);
  color: var(--charcoal);
  -webkit-font-smoothing: antialiased;
}

/* ── 4. TYPOGRAPHY ────────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--serif);
  font-weight: 500;
  color: var(--ink);
  line-height: 1.2;
}

p, li, td, label { font-family: var(--sans); }

/* Elementor heading widget */
.elementor-heading-title {
  font-family: var(--serif) !important;
  line-height: 1.2;
}

/* ── 5. ELEMENTOR CONTAINER OVERRIDES ────────────────────────── */

/* Remove default Elementor padding on mobile */
.elementor-section-boxed > .elementor-container {
  max-width: 1280px;
}

/* Full-width section inner alignment */
.e-con-full > .e-con-inner {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

/* ── 6. NAVBAR / HEADER ───────────────────────────────────────── */
.site-header,
.elementor-location-header {
  background: var(--ink) !important;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  position: sticky;
  top: 0;
  z-index: 1000;
  backdrop-filter: blur(12px);
  transition: background 0.3s ease, box-shadow 0.3s ease;
}

.site-header.scrolled {
  background: rgba(30,26,21,0.92) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.2);
}

/* Logo */
.site-logo a,
.custom-logo-link {
  font-family: var(--serif) !important;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--white) !important;
  text-decoration: none;
}

/* Nav links */
.elementor-nav-menu .elementor-item,
.main-navigation a {
  font-family: var(--sans) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: rgba(247,243,238,0.7) !important;
  transition: color 0.25s ease !important;
  text-decoration: none;
}

.elementor-nav-menu .elementor-item:hover,
.elementor-nav-menu .elementor-item.elementor-item-active,
.main-navigation a:hover {
  color: var(--white) !important;
}

/* Nav underline on hover */
.elementor-nav-menu .elementor-item::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0; right: 0;
  height: 2px;
  background: var(--sage);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.28s ease;
}

.elementor-nav-menu .elementor-item:hover::after,
.elementor-nav-menu .elementor-item.elementor-item-active::after {
  transform: scaleX(1);
}

/* CTA button in nav */
.nav-cta,
.elementor-nav-menu .menu-item-has-cta > a {
  background: var(--sage) !important;
  color: var(--white) !important;
  padding: 8px 20px !important;
  border-radius: 3px !important;
  transition: background 0.25s ease, transform 0.2s ease !important;
}

.nav-cta:hover,
.elementor-nav-menu .menu-item-has-cta > a:hover {
  background: var(--sage-dark) !important;
  transform: translateY(-1px) !important;
}

/* ── 7. BRAND DIVIDER (amber → sage gradient bar) ────────────── */
.d1893-divider .elementor-divider-separator,
.elementor-widget-divider.d1893-divider .elementor-divider-separator {
  background: linear-gradient(to right, var(--amber), var(--sage)) !important;
  border: none !important;
  height: 3px !important;
  max-width: 48px !important;
}

/* ── 8. EYEBROW LABEL ─────────────────────────────────────────── */
.d1893-eyebrow .elementor-heading-title,
.elementor-widget-heading.d1893-eyebrow .elementor-heading-title {
  font-family: var(--sans) !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  display: block;
  margin-bottom: 0.75rem;
}

/* ── 9. BUTTONS ───────────────────────────────────────────────── */
.elementor-widget-button .elementor-button {
  font-family: var(--sans) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-radius: 3px !important;
  padding: 14px 28px !important;
  transition: var(--transition) !important;
  border: none;
}

.elementor-widget-button .elementor-button:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}

/* Primary amber button */
.elementor-widget-button .elementor-button-primary,
.e-btn-amber {
  background: var(--amber) !important;
  color: var(--white) !important;
}
.elementor-widget-button .elementor-button-primary:hover,
.e-btn-amber:hover {
  background: var(--amber-dark) !important;
  box-shadow: 0 8px 28px rgba(140,111,75,0.28) !important;
}

/* Sage CTA button */
.elementor-widget-button .elementor-button-sage,
.e-btn-sage {
  background: var(--sage) !important;
  color: var(--white) !important;
}
.elementor-widget-button .elementor-button-sage:hover,
.e-btn-sage:hover {
  background: var(--sage-dark) !important;
  box-shadow: var(--shadow-green) !important;
}

/* ── 10. ICON BOX CARDS ───────────────────────────────────────── */
.elementor-widget-icon-box .elementor-icon-box-wrapper {
  transition: transform 0.3s ease;
}
.elementor-widget-icon-box:hover .elementor-icon-box-wrapper {
  transform: translateY(-4px);
}

.elementor-widget-icon-box .elementor-icon {
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease, transform 0.3s ease;
}

.elementor-widget-icon-box:hover .elementor-icon {
  transform: scale(1.08);
}

.elementor-widget-icon-box .elementor-icon-box-title {
  font-family: var(--serif) !important;
  font-size: 1.1rem !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}

.elementor-widget-icon-box .elementor-icon-box-description {
  font-family: var(--sans) !important;
  font-size: 0.9rem !important;
  color: var(--stone) !important;
  line-height: 1.7 !important;
}

/* ── 11. TESTIMONIAL CARDS ────────────────────────────────────── */
.d1893-testimonial {
  position: relative;
  border-bottom: 3px solid transparent;
  transition: border-color 0.3s ease, transform 0.3s ease;
}
.d1893-testimonial:hover {
  transform: translateY(-4px);
  border-bottom-color: var(--sage);
}

.d1893-testimonial::before {
  content: '\201C';
  position: absolute;
  top: 16px; right: 20px;
  font-family: var(--serif);
  font-size: 4rem;
  color: var(--amber-pale);
  line-height: 1;
  pointer-events: none;
}

/* ── 12. FAQ / ACCORDION ──────────────────────────────────────── */
.d1893-accordion .elementor-accordion-item {
  border-bottom: 1px solid var(--linen-dark) !important;
  border-left: none !important;
  border-right: none !important;
  border-radius: 0 !important;
  position: relative;
  transition: border-color 0.3s ease;
}
.d1893-accordion .elementor-accordion-item:first-child {
  border-top: 1px solid var(--linen-dark) !important;
}

/* Left accent bar on open item */
.d1893-accordion .elementor-accordion-item.elementor-active::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: linear-gradient(to bottom, var(--amber), var(--sage));
  border-radius: 0 2px 2px 0;
}

.d1893-accordion .elementor-tab-title {
  font-family: var(--serif) !important;
  font-size: 1.05rem !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  padding: 1.4rem 1rem !important;
  cursor: pointer;
  transition: color 0.25s ease;
}
.d1893-accordion .elementor-tab-title:hover {
  color: var(--amber) !important;
}
.d1893-accordion .elementor-active > .elementor-tab-title {
  color: var(--amber-dark) !important;
}

/* Icon */
.d1893-accordion .elementor-accordion-icon {
  width: 32px; height: 32px;
  border-radius: 50%;
  border: 1.5px solid var(--linen-dark);
  background: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--amber) !important;
  transition: background 0.28s, border-color 0.28s, transform 0.28s;
}
.d1893-accordion .elementor-active .elementor-accordion-icon {
  background: var(--amber) !important;
  border-color: var(--amber) !important;
  color: var(--white) !important;
  transform: rotate(45deg);
}

.d1893-accordion .elementor-tab-content {
  font-family: var(--sans) !important;
  font-size: 0.95rem !important;
  color: var(--stone) !important;
  line-height: 1.8 !important;
  padding: 0 1rem 1.4rem 1rem !important;
}

/* ── 13. STAT NUMBERS ─────────────────────────────────────────── */
.d1893-stats-row .elementor-heading-title[style*="48"] {
  font-family: var(--serif) !important;
  color: var(--amber) !important;
  line-height: 1 !important;
}

/* ── 14. PRODUCT / CATEGORY CARDS ────────────────────────────── */
.d1893-card {
  overflow: hidden;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.d1893-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg) !important;
}

/* Top gradient border on hover */
.d1893-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(to right, var(--amber), var(--sage));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease;
}
.d1893-card:hover::before {
  transform: scaleX(1);
}

/* ── 15. FORM STYLES ──────────────────────────────────────────── */
.d1893-form .elementor-form-fields-wrapper {
  gap: 16px;
}

.d1893-form input,
.d1893-form textarea,
.d1893-form select {
  font-family: var(--sans) !important;
  font-size: 0.9rem !important;
  color: var(--charcoal) !important;
  background: var(--linen) !important;
  border: 1px solid var(--linen-dark) !important;
  border-radius: 4px !important;
  padding: 10px 14px !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
  width: 100%;
}
.d1893-form input:focus,
.d1893-form textarea:focus,
.d1893-form select:focus {
  border-color: var(--amber) !important;
  box-shadow: 0 0 0 3px rgba(140,111,75,0.12) !important;
  outline: none !important;
}

.d1893-form label {
  font-family: var(--sans) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--pebble) !important;
  margin-bottom: 6px !important;
  display: block;
}

.d1893-form .elementor-button {
  background: var(--sage) !important;
  color: var(--white) !important;
  font-family: var(--sans) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-radius: 3px !important;
  padding: 14px 32px !important;
  border: none !important;
  transition: background 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease !important;
  cursor: pointer;
}
.d1893-form .elementor-button:hover {
  background: var(--sage-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-green) !important;
}

/* ── 16. SECTION-SPECIFIC HELPERS ────────────────────────────── */

/* Hero section full-height */
.d1893-hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
}

/* Dark section icon override */
.d1893-dark-section .elementor-icon-box-title {
  color: var(--linen) !important;
}
.d1893-dark-section .elementor-icon-box-description {
  color: rgba(247,243,238,0.6) !important;
}

/* Trust bar horizontal list */
.d1893-trust-bar {
  border-top: 1px solid rgba(255,255,255,0.06);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

/* Badge pill (hero inline badge) */
.d1893-badge-sage {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(116,162,83,0.14);
  border: 1px solid rgba(116,162,83,0.3);
  color: var(--sage-light);
  padding: 6px 16px;
  border-radius: 100px;
  font-family: var(--sans);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}

/* CTA sidebar contact card */
.d1893-contact-card {
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 28px;
  box-shadow: var(--shadow-md);
  border: 1px solid var(--linen-dark);
}

/* ── 17. ANIMATIONS & MOTION ──────────────────────────────────── */

/* Fade-up entrance — add class .d1893-fade-up to any container */
.d1893-fade-up {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.d1893-fade-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Pulse dot (live indicator) */
.d1893-live-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--sage);
  display: inline-block;
  animation: d1893pulse 2s ease-in-out infinite;
}
@keyframes d1893pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.4; transform: scale(0.7); }
}

/* Marquee scroll (occasions page) */
.d1893-marquee {
  overflow: hidden;
  white-space: nowrap;
}
.d1893-marquee-inner {
  display: inline-flex;
  animation: d1893marquee 30s linear infinite;
}
.d1893-marquee-inner span {
  padding: 0 40px;
  font-family: var(--sans);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(247,243,238,0.75);
}
.d1893-marquee-inner span::after {
  content: '·';
  padding-left: 40px;
  color: var(--amber);
}
@keyframes d1893marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* Scroll-triggered animation JS helper */
/* Add this <script> before </body>:
   document.querySelectorAll('.d1893-fade-up').forEach(el => {
     new IntersectionObserver(([e]) => {
       if (e.isIntersecting) { el.classList.add('is-visible'); }
     }, { threshold: 0.12 }).observe(el);
   });
*/

/* ── 18. RESPONSIVE ───────────────────────────────────────────── */
@media (max-width: 1024px) {
  .e-con-full > .e-con-inner { padding-left: 40px; padding-right: 40px; }
}

@media (max-width: 768px) {
  .e-con-full > .e-con-inner { padding-left: 24px; padding-right: 24px; }

  /* Stack hero columns */
  .d1893-hero .e-con-inner { flex-direction: column !important; }

  /* Stats compact */
  .elementor-widget-heading.stat-number .elementor-heading-title {
    font-size: 2.2rem !important;
  }

  /* Accordion full-width on mobile */
  .d1893-accordion { margin-bottom: 40px; }

  /* FAQ sidebar below accordion on mobile */
  .d1893-faq-layout { flex-direction: column !important; }
}

@media (max-width: 480px) {
  h1 .elementor-heading-title,
  .elementor-heading-title[style*="52"] { font-size: 2rem !important; }

  h2 .elementor-heading-title,
  .elementor-heading-title[style*="40"] { font-size: 1.6rem !important; }

  .elementor-widget-button .elementor-button { width: 100%; text-align: center; }

  .d1893-trust-bar p { font-size: 11px !important; }
}

/* ── END OF DESPENSA 1893 CUSTOM CSS ──────────────────────────── */

/* ================================================================
   WOOCOMMERCE — Despensa 1893 style overrides
   Add below the existing CSS in Site Settings → Custom CSS
   ================================================================ */

/* ── WC: General product cards ───────────────────────────────── */
.woocommerce ul.products li.product,
.wc-block-grid__product {
  font-family: var(--sans) !important;
  background: var(--white) !important;
  border-radius: var(--radius-md) !important;
  overflow: hidden;
  box-shadow: var(--shadow-sm) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  border: 1px solid var(--linen-dark) !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--shadow-md) !important;
}

/* Product image */
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
  border-radius: 0 !important;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title {
  font-family: var(--serif) !important;
  font-size: 1.05rem !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  line-height: 1.3 !important;
  padding: 0 16px !important;
  margin-top: 12px !important;
}
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title {
  color: var(--amber) !important;
}

/* Product price */
.woocommerce ul.products li.product .price,
.wc-block-grid__product-price {
  font-family: var(--serif) !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: var(--amber) !important;
  padding: 0 16px !important;
}
.woocommerce ul.products li.product .price del {
  color: var(--pebble) !important;
  font-size: 0.85rem !important;
  font-weight: 400 !important;
}

/* Add to cart button — loop */
.woocommerce ul.products li.product .button,
.wc-block-grid__product .wp-block-button__link {
  font-family: var(--sans) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  background: var(--amber) !important;
  color: var(--white) !important;
  border-radius: 3px !important;
  padding: 11px 20px !important;
  margin: 12px 16px 16px !important;
  width: calc(100% - 32px) !important;
  text-align: center !important;
  border: none !important;
  transition: var(--transition) !important;
  display: block !important;
}
.woocommerce ul.products li.product .button:hover {
  background: var(--amber-dark) !important;
  transform: translateY(-1px) !important;
}

/* Sale badge */
.woocommerce span.onsale {
  background: var(--sage) !important;
  font-family: var(--sans) !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  border-radius: 3px !important;
  min-height: auto !important;
  min-width: auto !important;
  padding: 4px 10px !important;
  line-height: 1.4 !important;
  top: 10px !important;
  left: 10px !important;
  right: auto !important;
}

/* ── WC: Single product page ─────────────────────────────────── */

/* Product title */
.woocommerce div.product .product_title {
  font-family: var(--serif) !important;
  font-size: 2.4rem !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  line-height: 1.2 !important;
  margin-bottom: 12px !important;
}

/* Price block */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--serif) !important;
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  color: var(--amber) !important;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  color: var(--pebble) !important;
  font-size: 1.2rem !important;
  font-weight: 400 !important;
  margin-right: 8px !important;
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
  text-decoration: none !important;
}

/* Sale badge on single */
.woocommerce div.product span.onsale {
  background: var(--sage) !important;
  font-family: var(--sans) !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  border-radius: 3px !important;
  padding: 5px 12px !important;
}

/* Short description */
.woocommerce div.product .woocommerce-product-details__short-description p {
  font-family: var(--sans) !important;
  font-size: 0.95rem !important;
  color: var(--stone) !important;
  line-height: 1.8 !important;
}

/* Quantity input */
.woocommerce div.product form.cart div.quantity .qty {
  font-family: var(--sans) !important;
  font-size: 1rem !important;
  color: var(--ink) !important;
  background: var(--white) !important;
  border: 1.5px solid var(--linen-dark) !important;
  border-radius: 4px !important;
  padding: 10px 14px !important;
  width: 72px !important;
  text-align: center !important;
  transition: border-color 0.25s ease !important;
}
.woocommerce div.product form.cart div.quantity .qty:focus {
  border-color: var(--amber) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(140,111,75,0.12) !important;
}

/* Add to cart button — single */
.woocommerce div.product form.cart .single_add_to_cart_button,
.d1893-add-to-cart .elementor-button {
  font-family: var(--sans) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  background: var(--sage) !important;
  color: var(--white) !important;
  border-radius: 3px !important;
  padding: 14px 32px !important;
  border: none !important;
  cursor: pointer !important;
  transition: var(--transition) !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background: var(--sage-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-green) !important;
}

/* Variation selects */
.woocommerce div.product form.cart table.variations select {
  font-family: var(--sans) !important;
  font-size: 0.88rem !important;
  color: var(--charcoal) !important;
  background: var(--linen) !important;
  border: 1px solid var(--linen-dark) !important;
  border-radius: 4px !important;
  padding: 9px 12px !important;
  transition: border-color 0.25s ease !important;
}
.woocommerce div.product form.cart table.variations select:focus {
  border-color: var(--amber) !important;
  box-shadow: 0 0 0 3px rgba(140,111,75,0.12) !important;
  outline: none !important;
}

/* Variation labels */
.woocommerce div.product form.cart table.variations label {
  font-family: var(--sans) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--pebble) !important;
}

/* Swatch variations (if using variation swatches plugin) */
.variable-items-wrapper .variable-item {
  border: 1.5px solid var(--linen-dark) !important;
  border-radius: 4px !important;
  font-family: var(--sans) !important;
  font-size: 0.8rem !important;
  color: var(--stone) !important;
  transition: border-color 0.2s, color 0.2s !important;
}
.variable-items-wrapper .variable-item.selected,
.variable-items-wrapper .variable-item:hover {
  border-color: var(--amber) !important;
  color: var(--amber-dark) !important;
}

/* ── WC: Product data tabs ────────────────────────────────────── */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--linen-dark) !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  margin-right: 8px !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--sans) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--pebble) !important;
  padding: 12px 20px !important;
  display: block !important;
  transition: color 0.25s ease !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom-color: var(--amber) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--amber-dark) !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
  font-family: var(--sans) !important;
  font-size: 0.94rem !important;
  color: var(--stone) !important;
  line-height: 1.8 !important;
}

/* ── WC: Reviews ─────────────────────────────────────────────── */
#reviews #comments ol.commentlist li img.avatar {
  border-radius: 50% !important;
  width: 48px !important;
  height: 48px !important;
}
#reviews #comments ol.commentlist li .comment-text {
  border: 1px solid var(--linen-dark) !important;
  border-radius: var(--radius-md) !important;
  padding: 20px !important;
}
#reviews #comments ol.commentlist li .star-rating span {
  color: var(--amber) !important;
}
.woocommerce-review__author {
  font-family: var(--sans) !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
}
.woocommerce-review__published-date {
  font-family: var(--sans) !important;
  color: var(--pebble) !important;
  font-size: 0.78rem !important;
}
.woocommerce-review__description p {
  font-family: var(--sans) !important;
  color: var(--stone) !important;
  font-style: italic !important;
}

/* ── WC: Related products section ────────────────────────────── */
.d1893-related-products .elementor-products-grid .product-inner {
  background: var(--white) !important;
  border-radius: var(--radius-md) !important;
  border: 1px solid var(--linen-dark) !important;
  overflow: hidden !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.d1893-related-products .elementor-products-grid .product-inner:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--shadow-md) !important;
}

/* ── WC: Cart widget in header ───────────────────────────────── */
.woocommerce-mini-cart {
  background: var(--white) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-lg) !important;
  border: 1px solid var(--linen-dark) !important;
}
.woocommerce-mini-cart .mini_cart_item {
  font-family: var(--sans) !important;
  border-bottom: 1px solid var(--linen-dark) !important;
  padding: 12px 0 !important;
}
.woocommerce-mini-cart a.button.checkout {
  background: var(--sage) !important;
  font-family: var(--sans) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-radius: 3px !important;
  transition: var(--transition) !important;
}
.woocommerce-mini-cart a.button.checkout:hover {
  background: var(--sage-dark) !important;
}

/* ── Product price badge (sale %) ────────────────────────────── */
.d1893-product-price .woocommerce-Price-amount {
  color: var(--amber) !important;
}
.d1893-price-badge {
  display: inline-flex;
  align-items: center;
  background: var(--sage);
  color: var(--white);
  font-family: var(--sans);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 4px 10px;
  border-radius: 3px;
  margin-left: 12px;
  vertical-align: middle;
}

/* ── Header / footer component CSS ───────────────────────────── */

/* Announcement bar */
.d1893-announcement-bar {
  display: block;
}
@media (max-width: 768px) {
  .d1893-announcement-bar { display: none; }
}

/* Header main */
.d1893-header-main {
  transition: background 0.3s ease, box-shadow 0.3s ease;
}
.d1893-header-main.is-stuck {
  background: rgba(30,26,21,0.94) !important;
  backdrop-filter: blur(12px);
  box-shadow: 0 4px 24px rgba(0,0,0,0.22) !important;
}

/* Logo in header */
.d1893-logo .elementor-heading-title {
  font-family: var(--serif) !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  color: var(--white) !important;
  letter-spacing: -0.01em;
}

/* Nav CTA */
.d1893-nav-cta .elementor-button {
  background: var(--sage) !important;
  border-radius: 3px !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.14em !important;
}
.d1893-nav-cta .elementor-button:hover {
  background: var(--sage-dark) !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--shadow-green) !important;
}

/* Footer heading labels */
.elementor-location-footer .d1893-eyebrow .elementor-heading-title {
  color: var(--amber-light) !important;
}

/* Footer nav menu links */
.elementor-location-footer .elementor-nav-menu .elementor-item {
  color: rgba(247,243,238,0.45) !important;
  font-size: 0.88rem !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
}
.elementor-location-footer .elementor-nav-menu .elementor-item:hover {
  color: var(--sage-light) !important;
}
.elementor-location-footer .elementor-nav-menu .elementor-item::after {
  display: none !important;
}

/* Quote card sticky */
.d1893-quote-card {
  position: sticky !important;
  top: 100px;
}

/* ── END WOOCOMMERCE / HEADER / FOOTER CSS ────────────────────── */

/* ================================================================
 *  DESPENSA 1893 — WooCommerce + Header + Footer CSS
 *  Append to the main despensa1893-custom.css file
 * ================================================================ */

/* ── HEADER ───────────────────────────────────────────────────── */
.d1893-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  transition: background 0.3s ease, box-shadow 0.3s ease !important;
}

.d1893-header.is-scrolled {
  background: rgba(30, 26, 21, 0.94) !important;
  backdrop-filter: blur(12px) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.22) !important;
}

/* Logo */
.d1893-logo .elementor-heading-title {
  font-family: var(--serif) !important;
  font-size: 1.4rem !important;
  color: var(--white) !important;
  font-weight: 400 !important;
}
.d1893-logo .elementor-heading-title strong {
  font-weight: 700;
  color: var(--amber-light);
}

/* Nav links */
.d1893-nav .elementor-nav-menu > li > a,
.d1893-nav .elementor-nav-menu > li > .elementor-item {
  font-family: var(--sans) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(247,243,238,0.65) !important;
  padding: 8px 14px !important;
  transition: color 0.22s ease !important;
  position: relative;
}
.d1893-nav .elementor-nav-menu > li > a:hover,
.d1893-nav .elementor-nav-menu > li > .elementor-item-active {
  color: var(--white) !important;
}

/* Sage underline on active/hover */
.d1893-nav .elementor-nav-menu > li > a::after {
  content: '';
  position: absolute;
  bottom: 0; left: 14px; right: 14px;
  height: 2px;
  background: var(--sage);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s ease;
}
.d1893-nav .elementor-nav-menu > li:hover > a::after,
.d1893-nav .elementor-nav-menu > li > .elementor-item-active::after {
  transform: scaleX(1);
}

/* Navbar CTA button */
.d1893-nav-cta.elementor-button {
  background: var(--sage) !important;
  color: var(--white) !important;
  padding: 9px 20px !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-radius: 3px !important;
  border: none !important;
  transition: background 0.22s ease, transform 0.2s ease !important;
}
.d1893-nav-cta.elementor-button:hover {
  background: var(--sage-dark) !important;
  transform: translateY(-1px) !important;
}

/* Cart icon badge */
.d1893-cart-icon .woocommerce-menu-cart__toggle {
  color: rgba(247,243,238,0.65) !important;
  transition: color 0.22s !important;
}
.d1893-cart-icon .woocommerce-menu-cart__toggle:hover {
  color: var(--white) !important;
}
.d1893-cart-icon .woocommerce-cart-item-count {
  background: var(--sage) !important;
  color: var(--white) !important;
  font-family: var(--sans) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
}

/* Mobile nav toggle */
.d1893-nav .elementor-menu-toggle {
  color: var(--white) !important;
}

/* ── FOOTER ───────────────────────────────────────────────────── */
.elementor-location-footer .elementor-icon-list-items .elementor-icon-list-item a {
  font-family: var(--sans) !important;
  font-size: 0.875rem !important;
  color: rgba(247,243,238,0.45) !important;
  transition: color 0.22s ease, padding-left 0.22s ease !important;
  text-decoration: none !important;
}
.elementor-location-footer .elementor-icon-list-items .elementor-icon-list-item a:hover {
  color: var(--white) !important;
  padding-left: 4px !important;
}

.elementor-location-footer .elementor-icon-list-icon i {
  color: var(--amber) !important;
  font-size: 10px !important;
  transition: color 0.22s !important;
}
.elementor-location-footer .elementor-icon-list-item:hover .elementor-icon-list-icon i {
  color: var(--sage) !important;
}

/* Social icons */
.elementor-location-footer .elementor-social-icon {
  transition: background 0.25s ease, transform 0.22s ease !important;
}
.elementor-location-footer .elementor-social-icon:hover {
  transform: translateY(-2px) !important;
}

/* ── WOOCOMMERCE PRODUCT PAGE ─────────────────────────────────── */

/* Prices */
.d1893-price .woocommerce-Price-amount {
  font-family: var(--serif) !important;
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  color: var(--amber) !important;
}
.d1893-price del .woocommerce-Price-amount {
  font-size: 1.1rem !important;
  color: var(--pebble) !important;
  font-weight: 400 !important;
}

/* Rating stars */
.woocommerce-product-rating .star-rating span::before {
  color: var(--amber) !important;
}
.woocommerce-product-rating .woocommerce-review-link {
  font-family: var(--sans) !important;
  font-size: 0.8rem !important;
  color: var(--pebble) !important;
}

/* Variation selects */
.woocommerce div.product .variations select,
.woocommerce div.product .variations td.value select {
  font-family: var(--sans) !important;
  font-size: 0.9rem !important;
  color: var(--charcoal) !important;
  background: var(--linen) !important;
  border: 1px solid var(--linen-dark) !important;
  border-radius: 4px !important;
  padding: 10px 14px !important;
  width: 100% !important;
  transition: border-color 0.22s ease !important;
  appearance: none !important;
}
.woocommerce div.product .variations select:focus {
  border-color: var(--amber) !important;
  box-shadow: 0 0 0 3px rgba(140,111,75,0.1) !important;
  outline: none !important;
}

.woocommerce div.product .variations label {
  font-family: var(--sans) !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--pebble) !important;
  margin-bottom: 6px !important;
}

/* Quantity */
.woocommerce .quantity input.qty {
  font-family: var(--sans) !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  background: var(--linen) !important;
  border: 1px solid var(--linen-dark) !important;
  border-radius: 4px !important;
  padding: 8px 12px !important;
  width: 64px !important;
  text-align: center !important;
  transition: border-color 0.22s ease !important;
}
.woocommerce .quantity input.qty:focus {
  border-color: var(--amber) !important;
  outline: none !important;
}

/* Add to cart button (via Elementor widget) */
.d1893-add-to-cart .single_add_to_cart_button,
.woocommerce div.product form.cart .single_add_to_cart_button {
  font-family: var(--sans) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  background: var(--amber) !important;
  color: var(--white) !important;
  border: none !important;
  border-radius: 3px !important;
  padding: 14px 32px !important;
  cursor: pointer !important;
  transition: background 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease !important;
}
.d1893-add-to-cart .single_add_to_cart_button:hover,
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background: var(--amber-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(140,111,75,0.28) !important;
}

/* Buy now button */
.d1893-buy-now.elementor-button {
  background: var(--sage) !important;
  color: var(--white) !important;
  width: 100%;
  display: block;
  text-align: center;
  padding: 14px 32px !important;
}
.d1893-buy-now.elementor-button:hover {
  background: var(--sage-dark) !important;
}

/* Product gallery */
.d1893-product-gallery .woocommerce-product-gallery__wrapper {
  border-radius: 12px !important;
  overflow: hidden !important;
}
.d1893-product-gallery .woocommerce-product-gallery__image img {
  border-radius: 8px !important;
}
.d1893-product-gallery .flex-control-thumbs li img {
  border-radius: 6px !important;
  border: 2px solid transparent !important;
  transition: border-color 0.22s ease !important;
  cursor: pointer;
}
.d1893-product-gallery .flex-control-thumbs li img.flex-active {
  border-color: var(--amber) !important;
}

/* Product data tabs */
.d1893-product-tabs .woocommerce-tabs ul.tabs {
  border-bottom: 2px solid var(--linen-dark) !important;
  background: transparent !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
  display: flex;
  gap: 0;
}
.d1893-product-tabs .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.d1893-product-tabs .woocommerce-tabs ul.tabs li a {
  font-family: var(--sans) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--stone) !important;
  padding: 14px 24px !important;
  display: block;
  transition: color 0.22s ease !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -2px !important;
}
.d1893-product-tabs .woocommerce-tabs ul.tabs li.active a,
.d1893-product-tabs .woocommerce-tabs ul.tabs li a:hover {
  color: var(--amber) !important;
  border-bottom-color: var(--amber) !important;
}

.d1893-product-tabs .woocommerce-Tabs-panel {
  background: var(--white) !important;
  border-radius: 0 0 8px 8px !important;
  padding: 32px !important;
  border: 1px solid var(--linen-dark) !important;
  border-top: none !important;
}
.d1893-product-tabs .woocommerce-Tabs-panel p,
.d1893-product-tabs .woocommerce-Tabs-panel li {
  font-family: var(--sans) !important;
  font-size: 0.9rem !important;
  color: var(--stone) !important;
  line-height: 1.8 !important;
}

/* Reviews tab */
.d1893-product-tabs #reviews .comment-text {
  border: 1px solid var(--linen-dark) !important;
  border-radius: 8px !important;
  padding: 20px !important;
  background: var(--linen) !important;
}
.d1893-product-tabs #reviews .star-rating span::before {
  color: var(--amber) !important;
}

/* Related products */
.d1893-related-products .products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}
.d1893-related-products .product {
  background: var(--white) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  border: 1px solid var(--linen-dark) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.d1893-related-products .product:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--shadow-md) !important;
}
.d1893-related-products .product img {
  width: 100% !important;
  aspect-ratio: 4/3 !important;
  object-fit: cover !important;
}
.d1893-related-products .woocommerce-loop-product__title {
  font-family: var(--serif) !important;
  font-size: 1rem !important;
  color: var(--ink) !important;
  padding: 12px 16px 4px !important;
}
.d1893-related-products .woocommerce-Price-amount {
  font-family: var(--serif) !important;
  color: var(--amber) !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
}
.d1893-related-products .add_to_cart_button {
  font-family: var(--sans) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  background: var(--sage) !important;
  color: var(--white) !important;
  border-radius: 3px !important;
  padding: 8px 16px !important;
  border: none !important;
  transition: background 0.22s ease !important;
  cursor: pointer;
}
.d1893-related-products .add_to_cart_button:hover {
  background: var(--sage-dark) !important;
}

@media (max-width: 768px) {
  .d1893-related-products .products { grid-template-columns: repeat(2, 1fr) !important; }
  .d1893-product-tabs .woocommerce-Tabs-panel { padding: 20px !important; }
}

/* ── WOOCOMMERCE CART / CHECKOUT (global) ─────────────────────── */
.woocommerce-cart table.cart,
.woocommerce-checkout form .woocommerce-billing-fields input,
.woocommerce-checkout form .woocommerce-billing-fields select,
.woocommerce-checkout form .woocommerce-billing-fields textarea {
  font-family: var(--sans) !important;
  border-color: var(--linen-dark) !important;
  border-radius: 4px !important;
}
.woocommerce-checkout form input:focus,
.woocommerce-checkout form select:focus,
.woocommerce-checkout form textarea:focus {
  border-color: var(--amber) !important;
  box-shadow: 0 0 0 3px rgba(140,111,75,0.1) !important;
  outline: none !important;
}

.woocommerce #place_order,
.woocommerce button[type="submit"].checkout-button {
  font-family: var(--sans) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  background: var(--sage) !important;
  color: var(--white) !important;
  border: none !important;
  border-radius: 3px !important;
  padding: 14px 32px !important;
  transition: background 0.22s ease, transform 0.2s ease !important;
  cursor: pointer;
}
.woocommerce #place_order:hover,
.woocommerce button[type="submit"].checkout-button:hover {
  background: var(--sage-dark) !important;
  transform: translateY(-1px) !important;
}

/* ── HEADER SCROLL SCRIPT ─────────────────────────────────────── */
/*
  Add this before </body> in your theme footer (or via Code Snippets plugin):

  <script>
  window.addEventListener('scroll', function () {
    var h = document.querySelector('.d1893-header');
    if (h) h.classList.toggle('is-scrolled', window.scrollY > 20);
  });
  </script>
*//* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-22ae507 */.live-product-search {
  position: relative;
  width: 100%;
}

.live-search-input {
  width: 100%;
  padding: 10px;
}

.live-search-results {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background: #ede4d7;
  z-index: 999;
  display: none;
  border: 0px solid #ddd;
  max-height: 360px; /* approx 6 items */
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

/* scrollbar */
.live-search-results::-webkit-scrollbar {
  width: 6px;
}

.live-search-results::-webkit-scrollbar-thumb {
  background: #ede4d7;
  border-radius: 0px;
}

.live-search-results::-webkit-scrollbar-track {
  background: transparent;
}

/* results list */
.live-search-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.live-search-list li a {
  display: grid;
  grid-template-columns: 50px 1fr auto;
  gap: 12px;
  color: black;
  padding: 10px;
  text-decoration: none;
  align-items: center;
}

.live-search-list li:hover {
  background: #ede4d7;
}

.live-search-list li:hover a {
  color: #73a252;
}

.price {
  white-space: nowrap;
}

/* tablet */
@media (max-width: 1024px) {
  .live-search-input {
    padding: 14px 16px;
    font-size: 16px;
  }

  .live-search-list li a {
    grid-template-columns: 44px 1fr;
    gap: 14px;
    padding: 12px 14px;
  }
}

/* mobile */
@media (max-width: 768px) {
  .live-product-search {
    max-width: 100%;
  }

  .live-search-results {
    position: fixed;
    top: 72px; /* header height */
    left: 0;
    width: 100vw;
    max-height: calc(100vh - 72px);
    overflow-y: auto;
    z-index: 9999;
  }

  .live-search-list li a {
    grid-template-columns: 40px 1fr;
    padding: 14px 16px;
  }

  .live-search-list img {
    width: 40px;
    height: 40px;
    object-fit: cover;
  }
}

/* touch feedback */
.live-search-list li a:active {
  background: #ede4d7;
}/* End custom CSS */