/* ==========================================================================
   Digizenver Storefront Design System & Custom Overrides
   Reference: template.md (Zenvertise Design System)
   ========================================================================== */

:root {
  --brand: #d93e30;
  --brand-dark: #b83024;
  --brand-soft: #fbe9e7;
  --ink: #14100f;
  --ink-soft: #5c5552;
  --ink-line: #e6ded6;
  --cream: #faf6f1;
  --cream-deep: #f2ece5;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
  max-width: 100vw;
}

body.zv-body,
body,
body[class*="columns-"] {
  background-color: var(--cream);
  color: var(--ink);
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  max-width: 100vw;
  width: 100%;
  position: relative;
  column-count: auto !important;
}

/* Text Selection */
::selection {
  background-color: var(--brand);
  color: #ffffff;
}

/* Typography Tokens */
.font-display {
  font-family: 'Playfair Display', Georgia, serif;
}
.font-sans {
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Subtle Grain Pattern */
.grain {
  background-image: radial-gradient(rgba(20, 16, 15, 0.045) 1px, transparent 1px);
  background-size: 4px 4px;
}

/* Reveal on scroll animations */
.reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.reveal.is-visible {
  opacity: 1;
  transform: none;
}

/* Cart Drawer transitions */
#zv-cart-drawer {
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Card border-radius token */
.rounded-card {
  border-radius: 1.25rem;
}

/* --------------------------------------------------------------------------
   Guaranteed Color Utility Fallbacks (Zero-flash design token guarantee)
   -------------------------------------------------------------------------- */

/* Backgrounds */
.bg-cream { background-color: var(--cream) !important; }
.bg-cream-deep { background-color: var(--cream-deep) !important; }
.bg-ink { background-color: var(--ink) !important; }
.bg-brand { background-color: var(--brand) !important; }
.bg-brand-dark { background-color: var(--brand-dark) !important; }
.bg-brand-soft { background-color: var(--brand-soft) !important; }

/* Text Colors */
.text-ink { color: var(--ink) !important; }
.text-ink-soft { color: var(--ink-soft) !important; }
.text-ink-line { color: var(--ink-line) !important; }
.text-cream { color: var(--cream) !important; }
.text-brand { color: var(--brand) !important; }
.text-brand-dark { color: var(--brand-dark) !important; }

/* Border Colors */
.border-ink-line { border-color: var(--ink-line) !important; }
.border-brand { border-color: var(--brand) !important; }
.border-ink { border-color: var(--ink) !important; }

/* SVG Icons */
.fill-brand { fill: var(--brand) !important; }
.stroke-brand { stroke: var(--brand) !important; }

/* Base Secondary Button Pill & Category Button Styling */
div.zv-btn-secondary,
.elementor-widget-button.zv-btn-secondary,
.elementor-widget-button.zv-btn-primary {
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  width: auto !important;
}

/* Secondary Buttons & Category Pill Buttons: Clean White Normal State */
a.zv-btn-secondary,
button.zv-btn-secondary,
.zv-btn-secondary a.elementor-button,
.zv-btn-secondary .elementor-button,
.zv-btn-secondary a,
.zv-cat-button {
  background-color: #ffffff !important;
  color: #14100f !important;
  -webkit-text-fill-color: #14100f !important;
  border: 1px solid rgba(20, 16, 15, 0.2) !important;
  border-radius: 9999px !important;
  text-decoration: none !important;
  transition: all 0.25s ease-in-out !important;
}

.zv-btn-secondary *,
.zv-btn-secondary a *,
.zv-btn-secondary .elementor-button *,
.zv-cat-button * {
  color: #14100f !important;
  -webkit-text-fill-color: #14100f !important;
  background-color: transparent !important;
}

/* Secondary Buttons & Category Buttons Hover: Dark Ink Background with Crisp White Text */
a.zv-btn-secondary:hover,
button.zv-btn-secondary:hover,
.zv-btn-secondary a.elementor-button:hover,
.zv-btn-secondary .elementor-button:hover,
.zv-btn-secondary a:hover,
.zv-btn-secondary:hover,
a.hover\:bg-ink:hover,
button.hover\:bg-ink:hover,
.hover\:bg-ink:hover,
.zv-cat-button:hover,
.group:hover .zv-cat-button {
  background-color: #14100f !important;
  border-color: #14100f !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.zv-btn-secondary:hover *,
.zv-btn-secondary:hover a *,
.zv-btn-secondary:hover .elementor-button *,
.zv-btn-secondary a:hover *,
.zv-btn-secondary .elementor-button:hover *,
.zv-btn-secondary:hover .elementor-button-text,
.zv-btn-secondary .elementor-button:hover .elementor-button-text,
.zv-btn-secondary:hover .elementor-button-content-wrapper,
.zv-btn-secondary .elementor-button:hover .elementor-button-content-wrapper,
a.zv-btn-secondary:hover *,
button.zv-btn-secondary:hover *,
a.hover\:bg-ink:hover *,
button.hover\:bg-ink:hover *,
.hover\:bg-ink:hover *,
.zv-cat-button:hover *,
.group:hover .zv-cat-button * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background-color: transparent !important;
}

/* Secondary Button & Category Button SVG Icons */
.zv-btn-secondary svg,
.zv-cat-button svg {
  stroke: #14100f !important;
  color: #14100f !important;
  background-color: transparent !important;
}

.zv-btn-secondary:hover svg,
.zv-btn-secondary:hover a svg,
.zv-btn-secondary:hover .elementor-button svg,
.zv-btn-secondary a:hover svg,
.zv-btn-secondary .elementor-button:hover svg,
a.zv-btn-secondary:hover svg,
button.zv-btn-secondary:hover svg,
a.hover\:bg-ink:hover svg,
button.hover\:bg-ink:hover svg,
.hover\:bg-ink:hover svg,
.zv-cat-button:hover svg,
.group:hover .zv-cat-button svg {
  stroke: #ffffff !important;
  color: #ffffff !important;
  background-color: transparent !important;
}

.zv-btn-secondary:hover svg *,
.zv-cat-button:hover svg *,
.group:hover .zv-cat-button svg * {
  stroke: #ffffff !important;
  color: #ffffff !important;
}

/* Primary Brand Buttons (Shop All, Get the bundle, Start shopping) */
a.zv-btn-primary,
button.zv-btn-primary,
.zv-btn-primary a.elementor-button,
.zv-btn-primary .elementor-button,
.zv-btn-primary a,
.elementor-1676 .elementor-element-zv_hero_btn_shop .elementor-button,
.elementor-1676 .elementor-element-zv_cta_btn_shop .elementor-button {
  background-color: #d93e30 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 1px solid #d93e30 !important;
  border-radius: 9999px !important;
  text-decoration: none !important;
  transition: all 0.25s ease-in-out !important;
}

a.zv-btn-primary:hover,
button.zv-btn-primary:hover,
.zv-btn-primary a.elementor-button:hover,
.zv-btn-primary .elementor-button:hover,
.zv-btn-primary a:hover,
.elementor-1676 .elementor-element-zv_hero_btn_shop .elementor-button:hover,
.elementor-1676 .elementor-element-zv_cta_btn_shop .elementor-button:hover {
  background-color: #b83024 !important;
  border-color: #b83024 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Prevent Elementor Button Icons / SVGs from expanding into giant icons in Editor & Preview */
.elementor-button .elementor-button-icon,
.elementor-widget-button .elementor-button-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
}

.elementor-button .elementor-button-icon svg,
.elementor-button .elementor-button-icon .e-font-icon-svg,
.elementor-widget-button .elementor-button svg,
.elementor-widget-button .elementor-button .e-font-icon-svg,
.zv-btn-secondary .elementor-button-icon svg,
.zv-btn-primary .elementor-button-icon svg {
  width: 14px !important;
  max-width: 14px !important;
  height: 14px !important;
  max-height: 14px !important;
  font-size: 14px !important;
  display: inline-block !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
}

.elementor-button .elementor-button-content-wrapper,
.elementor-widget-button .elementor-button-content-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: auto !important;
  height: auto !important;
}

.elementor-widget-button .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  min-height: 42px !important;
  line-height: 1.25 !important;
}

/* Product Card Add-to-cart Button */
button.zv-add-to-cart {
  background-color: #f2ece5 !important;
  color: #14100f !important;
  -webkit-text-fill-color: #14100f !important;
  transition: all 0.2s ease-in-out !important;
}
button.zv-add-to-cart:hover {
  background-color: #d93e30 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
button.zv-add-to-cart:hover * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  stroke: #ffffff !important;
}

a.hover\:border-ink:hover,
button.hover\:border-ink:hover,
.hover\:border-ink:hover {
  border-color: var(--ink, #14100f) !important;
}

a.hover\:bg-brand:hover,
button.hover\:bg-brand:hover,
.hover\:bg-brand:hover {
  background-color: var(--brand) !important;
  color: #ffffff !important;
}

a.hover\:bg-brand:hover svg,
button.hover\:bg-brand:hover svg,
.hover\:bg-brand:hover svg,
a.hover\:bg-brand:hover path,
button.hover\:bg-brand:hover path {
  stroke: #ffffff !important;
  color: #ffffff !important;
}

a.hover\:bg-brand-dark:hover,
button.hover\:bg-brand-dark:hover,
.hover\:bg-brand-dark:hover {
  background-color: var(--brand-dark) !important;
}

a.hover\:bg-cream-deep:hover,
button.hover\:bg-cream-deep:hover,
.hover\:bg-cream-deep:hover {
  background-color: var(--cream-deep) !important;
}

a.hover\:border-brand:hover,
button.hover\:border-brand:hover,
.hover\:border-brand:hover {
  border-color: var(--brand) !important;
}

/* --------------------------------------------------------------------------
   Astra Theme Reset Overrides (Ensures clean full-width storefront presentation)
   -------------------------------------------------------------------------- */
#page,
.site,
.site-content,
.ast-container,
.entry-content,
#main,
#zv-header,
footer {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

#zv-cart-drawer.translate-x-full {
  visibility: hidden !important;
  pointer-events: none !important;
}

#zv-cart-drawer:not(.translate-x-full) {
  visibility: visible !important;
  pointer-events: auto !important;
}

a {
  text-decoration: none;
}

button {
  cursor: pointer;
}

/* --------------------------------------------------------------------------
   Storefront Header & Footer Brand Logo
   Enforce strict responsive dimensions to override WooCommerce (.woocommerce img, .woocommerce-page img)
   -------------------------------------------------------------------------- */
#zv-header .zv-logo-link,
footer .zv-logo-link {
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
}

#zv-header .zv-logo-img,
footer .zv-logo-img,
.woocommerce #zv-header img.zv-logo-img,
.woocommerce-page #zv-header img.zv-logo-img,
.woocommerce footer img.zv-logo-img,
.woocommerce-page footer img.zv-logo-img {
  display: block !important;
  width: auto !important;
  height: 36px !important;
  max-height: 36px !important;
  max-width: 160px !important;
  object-fit: contain !important;
  transition: opacity 0.15s ease;
}

@media (min-width: 640px) {
  #zv-header .zv-logo-img,
  footer .zv-logo-img,
  .woocommerce #zv-header img.zv-logo-img,
  .woocommerce-page #zv-header img.zv-logo-img,
  .woocommerce footer img.zv-logo-img,
  .woocommerce-page footer img.zv-logo-img {
    height: 42px !important;
    max-height: 42px !important;
    max-width: 190px !important;
  }
}

@media (min-width: 768px) {
  #zv-header .zv-logo-img,
  footer .zv-logo-img,
  .woocommerce #zv-header img.zv-logo-img,
  .woocommerce-page #zv-header img.zv-logo-img,
  .woocommerce footer img.zv-logo-img,
  .woocommerce-page footer img.zv-logo-img {
    height: 48px !important;
    max-height: 48px !important;
    max-width: 220px !important;
  }
}
/* Elementor Canvas / Editor Parity Rules for Post 1676 */
div.zv-btn-secondary,
.elementor-widget-button.zv-btn-secondary,
.elementor-widget-button.zv-btn-primary {
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  width: auto !important;
}

.elementor-1676 .elementor-element-zv_hero_inner > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 48px !important;
  flex-wrap: nowrap !important;
}
.elementor-1676 .elementor-element-zv_hero_left {
  flex: 0 0 55% !important;
  max-width: 55% !important;
  width: 55% !important;
}
.elementor-1676 .elementor-element-zv_hero_right {
  flex: 0 0 42% !important;
  max-width: 42% !important;
  width: 42% !important;
  display: flex !important;
  justify-content: flex-end !important;
}
.elementor-1676 .elementor-element-zv_hero_buttons_wrap,
.elementor-1676 .elementor-element-zv_hero_buttons_wrap > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  width: auto !important;
}
.elementor-1676 .elementor-element.elementor-element-zv_hero_badge,
.elementor-element.elementor-element-zv_hero_badge,
.elementor-element-zv_hero_badge,
.elementor-element-zv_hero_badge .elementor-widget-container {
  display: inline-flex !important;
  width: fit-content !important;
  max-width: fit-content !important;
  align-self: flex-start !important;
  text-align: left !important;
}
.elementor-element-zv_hero_badge p,
.elementor-element-zv_hero_badge span {
  text-align: left !important;
  width: fit-content !important;
  display: inline-flex !important;
  margin: 0 !important;
}
.elementor-element-zv_hero_badge svg {
  width: 14px !important;
  max-width: 14px !important;
  height: 14px !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
}
.elementor-1676 .elementor-element-zv_hero_btn_shop,
.elementor-1676 .elementor-element-zv_hero_btn_hiw {
  width: auto !important;
  display: inline-block !important;
}

/* Header rows with View all buttons */
.elementor-1676 .elementor-element-zv_best_top_bar > .e-con-inner,
.elementor-1676 .elementor-element-zv_new_top_bar > .e-con-inner,
.elementor-1676 .elementor-element-zv_blog_top_bar > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  width: 100% !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  margin-bottom: 32px !important;
}
.elementor-1676 .elementor-element-zv_best_btn_view_all,
.elementor-1676 .elementor-element-zv_new_btn_view_all,
.elementor-1676 .elementor-element-zv_blog_btn_read {
  width: auto !important;
  display: inline-block !important;
}
.elementor-1676 .elementor-element-zv_best_heading,
.elementor-1676 .elementor-element-zv_new_heading,
.elementor-1676 .elementor-element-zv_blog_heading {
  flex: 1 1 auto !important;
}

/* Bundle Section */
.elementor-1676 .elementor-element.elementor-element-zv_bundle_inner > .e-con-inner,
.elementor-element-zv_bundle_inner > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 40px !important;
  flex-wrap: nowrap !important;
}
.elementor-1676 .elementor-element.elementor-element-zv_bundle_left,
.elementor-element-zv_bundle_left {
  flex: 1 1 52% !important;
  max-width: 52% !important;
  width: 52% !important;
}
.elementor-1676 .elementor-element.elementor-element-zv_bundle_right,
.elementor-element-zv_bundle_right {
  flex: 1 1 44% !important;
  max-width: 44% !important;
  width: 44% !important;
}
.elementor-element-zv_bundle_right img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 4/3 !important;
  object-fit: cover !important;
  border-radius: 16px !important;
  display: block !important;
}
.elementor-1676 .elementor-element-zv_bundle_btn_row,
.elementor-1676 .elementor-element-zv_bundle_btn_row > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  width: auto !important;
}

/* CTA Section */
.elementor-1676 .elementor-element-zv_cta_inner > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}
.elementor-1676 .elementor-element-zv_cta_btn_row,
.elementor-1676 .elementor-element-zv_cta_btn_row > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  width: auto !important;
}

@media (max-width: 900px) {
  .elementor-1676 .elementor-element-zv_hero_inner > .e-con-inner {
    flex-direction: column !important;
    gap: 32px !important;
  }
  .elementor-1676 .elementor-element-zv_hero_left,
  .elementor-1676 .elementor-element-zv_hero_right {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  .elementor-1676 .elementor-element-zv_bundle_inner > .e-con-inner {
    flex-direction: column !important;
  }
  .elementor-1676 .elementor-element-zv_bundle_left,
  .elementor-1676 .elementor-element-zv_bundle_right {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* ==========================================================================
   Header Action Buttons & Cart Button Hover State (Fixes Astra dark hover)
   ========================================================================== */
#zv-header #zv-cart-trigger,
button#zv-cart-trigger,
button.zv-cart-open,
.zv-cart-open {
  background-color: #ffffff !important;
  color: #14100f !important;
  -webkit-text-fill-color: #14100f !important;
  border: 1px solid #e6ded6 !important;
  border-radius: 9999px !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
  transition: all 0.2s ease-in-out !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  cursor: pointer !important;
}

#zv-header #zv-cart-trigger:hover,
#zv-header #zv-cart-trigger:focus,
#zv-header #zv-cart-trigger:active,
button#zv-cart-trigger:hover,
button#zv-cart-trigger:focus,
button#zv-cart-trigger:active,
button.zv-cart-open:hover,
button.zv-cart-open:focus,
button.zv-cart-open:active,
.zv-cart-open:hover,
.zv-cart-open:focus,
.zv-cart-open:active {
  background-color: #ffffff !important;
  color: #d93e30 !important;
  -webkit-text-fill-color: #d93e30 !important;
  border-color: #d93e30 !important;
  box-shadow: 0 2px 6px 0 rgba(217, 62, 48, 0.18) !important;
  transform: translateY(-1px) !important;
}

#zv-header #zv-cart-trigger svg,
button#zv-cart-trigger svg,
.zv-cart-open svg {
  color: #14100f !important;
  stroke: #14100f !important;
  fill: none !important;
  transition: color 0.2s ease, stroke 0.2s ease !important;
}

#zv-header #zv-cart-trigger:hover svg,
#zv-header #zv-cart-trigger:focus svg,
button#zv-cart-trigger:hover svg,
button#zv-cart-trigger:focus svg,
.zv-cart-open:hover svg,
.zv-cart-open:focus svg {
  color: #d93e30 !important;
  stroke: #d93e30 !important;
  fill: none !important;
}

#zv-header #zv-cart-trigger #zv-cart-count,
button#zv-cart-trigger #zv-cart-count,
.zv-cart-open #zv-cart-count {
  background-color: #d93e30 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  border-radius: 9999px !important;
}

#zv-header #zv-cart-trigger:hover #zv-cart-count,
#zv-header #zv-cart-trigger:focus #zv-cart-count,
button#zv-cart-trigger:hover #zv-cart-count,
button#zv-cart-trigger:focus #zv-cart-count,
.zv-cart-open:hover #zv-cart-count,
.zv-cart-open:focus #zv-cart-count {
  background-color: #d93e30 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

#zv-header #zv-mobile-toggle,
button#zv-mobile-toggle {
  background-color: transparent !important;
  color: #14100f !important;
  border: none !important;
  box-shadow: none !important;
}

#zv-header #zv-mobile-toggle:hover,
button#zv-mobile-toggle:hover {
  background-color: #f2ece5 !important;
  color: #d93e30 !important;
}

/* ==========================================================================
   Storefront Header Formatting Rules
   ========================================================================== */
#zv-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 40 !important;
  width: 100% !important;
  background-color: rgba(250, 246, 241, 0.95) !important;
  border-bottom: 1px solid rgba(230, 222, 214, 0.8) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

#zv-header nav[aria-label="Primary"] a {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #14100f !important;
  text-decoration: none !important;
  transition: color 0.15s ease-in-out !important;
}

#zv-header nav[aria-label="Primary"] a:hover {
  color: #d93e30 !important;
}

/* ==========================================================================
   Storefront Footer Formatting Rules
   ========================================================================== */
footer.bg-ink,
footer {
  background-color: #14100f !important;
  color: #faf6f1 !important;
  font-family: 'Inter', system-ui, sans-serif !important;
}

footer a {
  text-decoration: none !important;
}

footer .font-display {
  font-family: 'Playfair Display', Georgia, serif !important;
}

footer .rounded-2xl.bg-cream {
  background-color: #faf6f1 !important;
  border-radius: 1rem !important;
  padding: 12px 20px !important;
  display: inline-block !important;
}

/* Footer Social Icons */
footer a[aria-label="Facebook"],
footer a[aria-label="Instagram"],
footer a[aria-label="Pinterest"],
footer a[aria-label="YouTube"] {
  display: inline-flex !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 9999px !important;
  border: 1px solid rgba(250, 246, 241, 0.2) !important;
  background-color: rgba(250, 246, 241, 0.05) !important;
  color: rgba(250, 246, 241, 0.8) !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.25s ease-in-out !important;
}

footer a[aria-label="Facebook"]:hover,
footer a[aria-label="Instagram"]:hover,
footer a[aria-label="Pinterest"]:hover,
footer a[aria-label="YouTube"]:hover {
  background-color: #d93e30 !important;
  border-color: #d93e30 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
}

footer a[aria-label="Facebook"]:hover svg,
footer a[aria-label="Instagram"]:hover svg,
footer a[aria-label="Pinterest"]:hover svg,
footer a[aria-label="YouTube"]:hover svg {
  stroke: #ffffff !important;
  color: #ffffff !important;
}

/* ==========================================================================
   Elementor Template Formatting (Header #1683 & Footer #1913 in Editor)
   ========================================================================== */
.elementor-1913,
[data-elementor-id="1913"],
.zv-elementor-footer {
  background-color: #14100f !important;
  color: #faf6f1 !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  width: 100% !important;
  border-top: 1px solid rgba(250, 246, 241, 0.1) !important;
}

.elementor-1913 .elementor-element-c451ca1,
[data-elementor-id="1913"] .elementor-element-c451ca1 {
  background-color: #14100f !important;
  width: 100% !important;
  padding: 64px 24px 36px 24px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.elementor-1913 .elementor-element-c451ca1 > .e-con-inner,
[data-elementor-id="1913"] .elementor-element-c451ca1 > .e-con-inner {
  max-width: 1280px !important;
  margin: 0 auto !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 48px !important;
}

/* 4-Column Grid for Footer */
.elementor-1913 .elementor-element-row_main_cols,
[data-elementor-id="1913"] .elementor-element-row_main_cols,
.elementor-1913 .elementor-element-row_main_cols > .e-con-inner,
[data-elementor-id="1913"] .elementor-element-row_main_cols > .e-con-inner {
  display: grid !important;
  grid-template-columns: 4fr 3fr 2fr 3fr !important;
  gap: 48px !important;
  align-items: start !important;
  width: 100% !important;
}

@media (max-width: 1024px) {
  .elementor-1913 .elementor-element-row_main_cols,
  [data-elementor-id="1913"] .elementor-element-row_main_cols,
  .elementor-1913 .elementor-element-row_main_cols > .e-con-inner,
  [data-elementor-id="1913"] .elementor-element-row_main_cols > .e-con-inner {
    grid-template-columns: 1fr 1fr !important;
    gap: 36px !important;
  }
}

@media (max-width: 640px) {
  .elementor-1913 .elementor-element-row_main_cols,
  [data-elementor-id="1913"] .elementor-element-row_main_cols,
  .elementor-1913 .elementor-element-row_main_cols > .e-con-inner,
  [data-elementor-id="1913"] .elementor-element-row_main_cols > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
}

/* Col 1: Brand */
.elementor-1913 .elementor-element-col_brand,
[data-elementor-id="1913"] .elementor-element-col_brand {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  width: 100% !important;
}

/* Logo Card in Footer */
.elementor-1913 .elementor-element-card_logo,
[data-elementor-id="1913"] .elementor-element-card_logo {
  display: inline-flex !important;
  background-color: #faf6f1 !important;
  border-radius: 16px !important;
  padding: 12px 20px !important;
  width: fit-content !important;
  max-width: fit-content !important;
  margin-bottom: 8px !important;
}

.elementor-1913 .elementor-element-card_logo .e-con-inner,
[data-elementor-id="1913"] .elementor-element-card_logo .e-con-inner {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
}

.elementor-1913 .elementor-element-eb32590 img,
[data-elementor-id="1913"] .elementor-element-eb32590 img {
  height: 38px !important;
  width: auto !important;
  display: block !important;
  object-fit: contain !important;
}

/* Col 1: Description text */
.elementor-1913 .elementor-element-5658fe9,
[data-elementor-id="1913"] .elementor-element-5658fe9,
.elementor-1913 .elementor-element-5658fe9 p,
[data-elementor-id="1913"] .elementor-element-5658fe9 p {
  color: rgba(250, 246, 241, 0.7) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* Col 1: Email Support */
.elementor-1913 .elementor-element-brand_support,
[data-elementor-id="1913"] .elementor-element-brand_support,
.elementor-1913 .elementor-element-brand_support p,
[data-elementor-id="1913"] .elementor-element-brand_support p {
  color: rgba(250, 246, 241, 0.8) !important;
  font-size: 13px !important;
  margin: 0 !important;
}

.elementor-1913 .elementor-element-brand_support a,
[data-elementor-id="1913"] .elementor-element-brand_support a {
  color: rgba(250, 246, 241, 0.85) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.elementor-1913 .elementor-element-brand_support a:hover,
[data-elementor-id="1913"] .elementor-element-brand_support a:hover {
  color: #d93e30 !important;
}

/* Social Icons in Footer */
.elementor-1913 .elementor-widget-social-icons .elementor-grid,
.elementor-1913 .elementor-widget-social-icons .elementor-icon-list-items,
[data-elementor-id="1913"] .elementor-widget-social-icons .elementor-grid {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 0 !important;
  margin: 8px 0 0 0 !important;
}

.elementor-1913 .elementor-widget-social-icons .elementor-social-icon,
[data-elementor-id="1913"] .elementor-widget-social-icons .elementor-social-icon {
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 9999px !important;
  border: 1px solid rgba(250, 246, 241, 0.2) !important;
  background-color: rgba(250, 246, 241, 0.05) !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: all 0.25s ease-in-out !important;
  box-sizing: border-box !important;
}

.elementor-1913 .elementor-widget-social-icons .elementor-social-icon svg,
.elementor-1913 .elementor-widget-social-icons .elementor-social-icon i,
[data-elementor-id="1913"] .elementor-widget-social-icons .elementor-social-icon svg,
[data-elementor-id="1913"] .elementor-widget-social-icons .elementor-social-icon i {
  width: 16px !important;
  max-width: 16px !important;
  height: 16px !important;
  max-height: 16px !important;
  font-size: 16px !important;
  fill: rgba(250, 246, 241, 0.85) !important;
  color: rgba(250, 246, 241, 0.85) !important;
  stroke: none !important;
  transition: fill 0.2s ease, color 0.2s ease !important;
}

.elementor-1913 .elementor-widget-social-icons .elementor-social-icon:hover,
[data-elementor-id="1913"] .elementor-widget-social-icons .elementor-social-icon:hover {
  background-color: #d93e30 !important;
  border-color: #d93e30 !important;
  transform: translateY(-2px) !important;
}

.elementor-1913 .elementor-widget-social-icons .elementor-social-icon:hover svg,
.elementor-1913 .elementor-widget-social-icons .elementor-social-icon:hover i,
[data-elementor-id="1913"] .elementor-widget-social-icons .elementor-social-icon:hover svg,
[data-elementor-id="1913"] .elementor-widget-social-icons .elementor-social-icon:hover i {
  fill: #ffffff !important;
  color: #ffffff !important;
}

/* Col 2 & Col 3: Headings & Link Lists */
.elementor-1913 .elementor-widget-heading h4,
[data-elementor-id="1913"] .elementor-widget-heading h4 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #faf6f1 !important;
  margin-bottom: 16px !important;
}

.elementor-1913 .elementor-icon-list-items,
[data-elementor-id="1913"] .elementor-icon-list-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.elementor-1913 .elementor-icon-list-item,
[data-elementor-id="1913"] .elementor-icon-list-item {
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-1913 .elementor-icon-list-item a,
.elementor-1913 .elementor-icon-list-text,
[data-elementor-id="1913"] .elementor-icon-list-item a,
[data-elementor-id="1913"] .elementor-icon-list-text {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 14px !important;
  color: rgba(250, 246, 241, 0.7) !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.elementor-1913 .elementor-icon-list-item a:hover,
.elementor-1913 .elementor-icon-list-item:hover .elementor-icon-list-text,
[data-elementor-id="1913"] .elementor-icon-list-item a:hover,
[data-elementor-id="1913"] .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: #d93e30 !important;
}

/* Col 4: Trust Card */
.elementor-1913 .elementor-element-card_trust,
[data-elementor-id="1913"] .elementor-element-card_trust {
  background-color: rgba(250, 246, 241, 0.05) !important;
  border: 1px solid rgba(250, 246, 241, 0.1) !important;
  border-radius: 16px !important;
  padding: 18px !important;
  margin-top: 16px !important;
  width: 100% !important;
}

.elementor-1913 .elementor-element-card_trust .elementor-icon-box-title,
[data-elementor-id="1913"] .elementor-element-card_trust .elementor-icon-box-title {
  color: #faf6f1 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin-bottom: 6px !important;
}

.elementor-1913 .elementor-element-card_trust .elementor-icon-box-description,
[data-elementor-id="1913"] .elementor-element-card_trust .elementor-icon-box-description {
  color: rgba(250, 246, 241, 0.7) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

.elementor-1913 .elementor-element-card_trust .elementor-icon-box-icon svg,
[data-elementor-id="1913"] .elementor-element-card_trust .elementor-icon-box-icon svg {
  fill: #d93e30 !important;
  color: #d93e30 !important;
  width: 18px !important;
  height: 18px !important;
}

/* Bottom Bar */
.elementor-1913 .elementor-element-row_bottom_bar,
[data-elementor-id="1913"] .elementor-element-row_bottom_bar,
.elementor-1913 .elementor-element-row_bottom_bar > .e-con-inner,
[data-elementor-id="1913"] .elementor-element-row_bottom_bar > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  border-top: 1px solid rgba(250, 246, 241, 0.1) !important;
  padding-top: 28px !important;
  margin-top: 48px !important;
  width: 100% !important;
}

.elementor-1913 .elementor-element-copyright_text,
.elementor-1913 .elementor-element-copyright_text p,
[data-elementor-id="1913"] .elementor-element-copyright_text,
[data-elementor-id="1913"] .elementor-element-copyright_text p {
  color: rgba(250, 246, 241, 0.6) !important;
  font-size: 12px !important;
  margin: 0 !important;
}

.elementor-1913 .elementor-element-legal_links .elementor-icon-list-items,
[data-elementor-id="1913"] .elementor-element-legal_links .elementor-icon-list-items {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 24px !important;
}

.elementor-1913 .elementor-element-legal_links .elementor-icon-list-item a,
.elementor-1913 .elementor-element-legal_links .elementor-icon-list-text,
[data-elementor-id="1913"] .elementor-element-legal_links .elementor-icon-list-item a,
[data-elementor-id="1913"] .elementor-element-legal_links .elementor-icon-list-text {
  color: rgba(250, 246, 241, 0.6) !important;
  font-size: 12px !important;
  transition: color 0.15s ease !important;
}

.elementor-1913 .elementor-element-legal_links .elementor-icon-list-item a:hover,
.elementor-1913 .elementor-element-legal_links .elementor-icon-list-item:hover .elementor-icon-list-text,
[data-elementor-id="1913"] .elementor-element-legal_links .elementor-icon-list-item a:hover,
[data-elementor-id="1913"] .elementor-element-legal_links .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: #d93e30 !important;
}

/* Header 1683 Editor Formatting */
.elementor-1683,
[data-elementor-id="1683"] {
  width: 100% !important;
  font-family: 'Inter', system-ui, sans-serif !important;
}

.elementor-1683 .elementor-element-promo_bar_container,
[data-elementor-id="1683"] .elementor-element-promo_bar_container {
  background-color: #14100f !important;
  color: #faf6f1 !important;
  text-align: center !important;
  padding: 10px 16px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
}

.elementor-1683 .elementor-element-promo_text_widget p,
[data-elementor-id="1683"] .elementor-element-promo_text_widget p {
  color: #faf6f1 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

.elementor-1683 .elementor-element-2010fc3,
[data-elementor-id="1683"] .elementor-element-2010fc3 {
  background-color: rgba(250, 246, 241, 0.95) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border-bottom: 1px solid rgba(20, 16, 15, 0.08) !important;
  width: 100% !important;
  padding: 0 !important;
}

.elementor-1683 .elementor-element-2010fc3 > .e-con-inner,
[data-elementor-id="1683"] .elementor-element-2010fc3 > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 14px 24px !important;
  width: 100% !important;
}

.elementor-1683 .elementor-element-1db9b8e,
[data-elementor-id="1683"] .elementor-element-1db9b8e {
  flex: 0 0 auto !important;
  width: auto !important;
}

.elementor-1683 .elementor-element-1db9b8e img,
[data-elementor-id="1683"] .elementor-element-1db9b8e img {
  height: 42px !important;
  width: auto !important;
  display: block !important;
  object-fit: contain !important;
}

.elementor-1683 .elementor-element-0448f0e,
[data-elementor-id="1683"] .elementor-element-0448f0e {
  flex: 1 1 auto !important;
  display: flex !important;
  justify-content: center !important;
}

.elementor-1683 .elementor-nav-menu--main,
[data-elementor-id="1683"] .elementor-nav-menu--main {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.elementor-1683 .elementor-nav-menu--main li,
[data-elementor-id="1683"] .elementor-nav-menu--main li {
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-1683 .elementor-nav-menu--main a,
[data-elementor-id="1683"] .elementor-nav-menu--main a {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #14100f !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
  padding: 4px 0 !important;
}

.elementor-1683 .elementor-nav-menu--main a:hover,
[data-elementor-id="1683"] .elementor-nav-menu--main a:hover {
  color: #d93e30 !important;
}

.elementor-1683 .elementor-element-410f885,
[data-elementor-id="1683"] .elementor-element-410f885 {
  flex: 0 0 auto !important;
  width: auto !important;
}

.elementor-1683 .elementor-menu-cart__toggle,
[data-elementor-id="1683"] .elementor-menu-cart__toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 18px !important;
  border-radius: 9999px !important;
  border: 1px solid #e6ded6 !important;
  background-color: #ffffff !important;
  color: #14100f !important;
  -webkit-text-fill-color: #14100f !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;
  transition: all 0.2s ease !important;
}

.elementor-1683 .elementor-menu-cart__toggle:hover,
.elementor-1683 .elementor-menu-cart__toggle:focus,
[data-elementor-id="1683"] .elementor-menu-cart__toggle:hover,
[data-elementor-id="1683"] .elementor-menu-cart__toggle:focus {
  background-color: #ffffff !important;
  border-color: #d93e30 !important;
  color: #d93e30 !important;
  -webkit-text-fill-color: #d93e30 !important;
  box-shadow: 0 2px 6px rgba(217, 62, 48, 0.18) !important;
}

