/*
 * ============================================================
 * EILF — Professional Outdoor Gear E-Commerce Theme
 * everythingiamlookingfor.com
 * Version: 5.0.0
 * ============================================================
 *
 * COLOR PALETTE — Clean Teal-Steel / White Professional
 * --eilf-primary:       #4A7C8F  (teal-steel blue — brand color)
 * --eilf-primary-dark:  #3A6272  (hover state)
 * --eilf-primary-light: #EBF4F8  (very light blue tint)
 * --eilf-accent:        #2D5F7A  (deep blue for contrast)
 * --eilf-charcoal:      #2D3436  (near-black body text)
 * --eilf-dark:          #1A2530  (darkest — header/footer bg)
 * --eilf-gray:          #7F8C8D  (medium gray — secondary text)
 * --eilf-gray-light:    #F5F7FA  (very light gray — card bg)
 * --eilf-border:        #E1E8ED  (light border color)
 * --eilf-white:         #FFFFFF  (white)
 * --eilf-sale:          #E74C3C  (sale badges)
 * --eilf-star:          #F39C12  (ratings — amber)
 * --eilf-success:       #27AE60  (green for trust badges)
 *
 * ============================================================
 */

/* --------------------------------------------------------
   0. CSS CUSTOM PROPERTIES
   -------------------------------------------------------- */
:root {
  --eilf-primary: #4A7C8F;
  --eilf-primary-dark: #3A6272;
  --eilf-primary-light: #EBF4F8;
  --eilf-accent: #2D5F7A;
  --eilf-charcoal: #2D3436;
  --eilf-dark: #1A2530;
  --eilf-gray: #7F8C8D;
  --eilf-gray-light: #F5F7FA;
  --eilf-border: #E1E8ED;
  --eilf-white: #FFFFFF;
  --eilf-sale: #E74C3C;
  --eilf-star: #F39C12;
  --eilf-success: #27AE60;
  --eilf-font: 'Figtree', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --eilf-radius: 8px;
  --eilf-radius-lg: 16px;
  --eilf-radius-xl: 24px;
  --eilf-radius-pill: 100px;
  --eilf-shadow: 0 2px 12px rgba(0,0,0,0.08);
  --eilf-shadow-hover: 0 8px 32px rgba(0,0,0,0.12);
  --eilf-shadow-glow: 0 4px 24px rgba(74, 124, 143, 0.15);
  --eilf-transition: 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  --eilf-transition-fast: 0.25s cubic-bezier(0.22, 1, 0.36, 1);
  --eilf-gradient-gold: linear-gradient(135deg, #4A7C8F 0%, #3A6272 50%, #4A7C8F 100%);
  --eilf-gradient-dark: linear-gradient(135deg, #1A2530 0%, #142028 100%);

  /* EILF v2 Design Tokens */
  --eilf-black:       #1a1a1a;
  --eilf-cream:       #f8f6f3;
  --eilf-gold:        #c9a96e;
  --eilf-gold-dark:   #b08d4f;
  --eilf-grey:        #6b6b6b;
  --eilf-grey-light:  #e8e5e0;
  --eilf-grey-dark:   #3a3a3a;
  --eilf-danger:      #c0392b;
  --eilf-container:   1280px;
}

/* --------------------------------------------------------
   1. GLOBAL RESET & TYPOGRAPHY
   -------------------------------------------------------- */
body,
body.elementor-default,
body.elementor-page,
body.woocommerce,
body.woocommerce-page {
  font-family: var(--eilf-font);
  font-size: 16px;
  line-height: 1.65;
  color: var(--eilf-charcoal);
  background-color: var(--eilf-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title,
.woocommerce h1, .woocommerce h2, .woocommerce h3 {
  font-family: var(--eilf-font) !important;
  color: var(--eilf-charcoal) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.03em !important;
}

h1, .elementor-size-xxl { font-size: 3.25rem !important; }
h2, .elementor-size-xl  { font-size: 2.5rem !important; }
h3, .elementor-size-lg  { font-size: 1.75rem !important; }
h4, .elementor-size-md  { font-size: 1.375rem !important; }

p, li, td, th, span, label, input, textarea, select {
  font-family: var(--eilf-font) !important;
}

a {
  color: var(--eilf-primary) !important;
  text-decoration: none !important;
  transition: color var(--eilf-transition) !important;
}
a:hover {
  color: var(--eilf-primary-dark) !important;
  text-decoration: none !important;
}

::selection {
  background: rgba(74, 124, 143, 0.2);
  color: #ffffff;
}

/* --------------------------------------------------------
   2. HEADER / NAVIGATION
   -------------------------------------------------------- */

/* Top announcement bar */
.elementor-location-header .elementor-section:first-child,
.elementor-location-header .e-con:first-child {
  background: var(--eilf-gradient-gold) !important;
  padding: 7px 0 !important;
}
.elementor-location-header .elementor-section:first-child *,
.elementor-location-header .e-con:first-child * {
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

/* Main header bar */
.elementor-location-header {
  background-color: transparent !important;
  box-shadow: none !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}

/* Site logo */
.elementor-widget-theme-site-logo img,
.elementor-widget-image .elementor-image img,
.custom-logo {
  max-height: 48px !important;
  width: auto !important;
  transition: opacity var(--eilf-transition-fast) !important;
}
.elementor-widget-theme-site-logo img:hover,
.custom-logo:hover {
  opacity: 0.85 !important;
}

/* Navigation links */
.elementor-nav-menu .elementor-item,
.elementor-nav-menu--main .elementor-item,
nav a,
.hfe-nav-menu a.hfe-menu-item {
  font-family: var(--eilf-font) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--eilf-charcoal) !important;
  padding: 10px 18px !important;
  transition: color var(--eilf-transition-fast), opacity var(--eilf-transition-fast) !important;
  position: relative !important;
}
.elementor-nav-menu .elementor-item:hover,
.elementor-nav-menu--main .elementor-item:hover,
nav a:hover,
.hfe-nav-menu a.hfe-menu-item:hover {
  color: var(--eilf-primary) !important;
  text-decoration: none !important;
}
.elementor-nav-menu .elementor-item.elementor-item-active,
.hfe-nav-menu a.hfe-menu-item.current-menu-item {
  color: var(--eilf-primary) !important;
  border-bottom: 2px solid var(--eilf-primary) !important;
}

/* Navigation dropdown */
.elementor-nav-menu--dropdown,
.sub-menu {
  background: #ffffff !important;
  border: 1px solid var(--eilf-border) !important;
  border-radius: var(--eilf-radius-lg) !important;
  box-shadow: 0 16px 48px rgba(0,0,0,0.1), 0 0 0 1px rgba(0,0,0,0.03) !important;
  padding: 8px !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
}
.elementor-nav-menu--dropdown .elementor-item,
.sub-menu li a {
  font-size: 13px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  padding: 10px 18px !important;
  color: var(--eilf-charcoal) !important;
  border-radius: var(--eilf-radius) !important;
  transition: all var(--eilf-transition-fast) !important;
}
.elementor-nav-menu--dropdown .elementor-item:hover,
.sub-menu li a:hover {
  background-color: var(--eilf-primary-light) !important;
  color: var(--eilf-primary) !important;
}

/* Cart icon in header */
.elementor-menu-cart__toggle-button,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__main-wrapper {
  color: var(--eilf-charcoal) !important;
}
.elementor-menu-cart__toggle-button:hover {
  color: var(--eilf-primary) !important;
}
.elementor-menu-cart__toggle-button .elementor-button-icon-qty {
  background: var(--eilf-gradient-gold) !important;
  color: #ffffff !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  min-width: 18px !important;
  height: 18px !important;
  line-height: 18px !important;
  border-radius: 50% !important;
}

/* Search bar */
.elementor-search-form__input,
.elementor-widget-search-form input[type="search"] {
  border: 1px solid var(--eilf-border) !important;
  border-radius: var(--eilf-radius-pill) !important;
  padding: 11px 20px !important;
  font-size: 14px !important;
  background: var(--eilf-white) !important;
  color: var(--eilf-charcoal) !important;
  transition: all var(--eilf-transition) !important;
}
.elementor-search-form__input:focus,
.elementor-widget-search-form input[type="search"]:focus {
  border-color: var(--eilf-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(74, 124, 143, 0.15) !important;
  background: var(--eilf-white) !important;
}
.elementor-search-form__submit,
.elementor-widget-search-form button {
  background: var(--eilf-gradient-gold) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0 var(--eilf-radius-pill) var(--eilf-radius-pill) 0 !important;
  font-weight: 700 !important;
}

/* --------------------------------------------------------
   3. HERO / BANNER SECTIONS
   -------------------------------------------------------- */
.elementor-section.elementor-section-height-full,
.elementor-section[data-settings*="background_background"],
.e-con[data-settings*="background_background"] {
  position: relative !important;
}

/* Overlay text on hero */
.elementor-section.elementor-section-height-full .elementor-heading-title,
.e-con .elementor-widget-heading .elementor-heading-title {
  text-shadow: 0 2px 8px rgba(0,0,0,0.4) !important;
}

/* --------------------------------------------------------
   4. BUTTONS — Premium Pill Style
   -------------------------------------------------------- */

/* Primary buttons (teal-steel) */
.elementor-button,
.elementor-widget-button .elementor-button,
button.elementor-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.wp-element-button,
.wc-block-components-button {
  background: var(--eilf-gradient-gold) !important;
  color: #ffffff !important;
  border: 2px solid transparent !important;
  border-radius: var(--eilf-radius-pill) !important;
  font-family: var(--eilf-font) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  padding: 14px 32px !important;
  cursor: pointer !important;
  transition: all var(--eilf-transition) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1.4 !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(74, 124, 143, 0.2) !important;
}
.elementor-button:hover,
.elementor-widget-button .elementor-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.wp-element-button:hover,
.wc-block-components-button:hover {
  background: linear-gradient(135deg, #3A6272 0%, #4A7C8F 50%, #5A8CA0 100%) !important;
  border-color: transparent !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--eilf-shadow-glow), 0 8px 24px rgba(74, 124, 143, 0.25) !important;
}

/* Secondary / outline buttons */
.elementor-button.elementor-size-sm,
.woocommerce a.button:not(.alt):not(.checkout-button),
.woocommerce button.button:not(.alt) {
  background: transparent !important;
  color: var(--eilf-primary) !important;
  border: 2px solid var(--eilf-primary) !important;
  padding: 10px 24px !important;
  box-shadow: none !important;
}
.elementor-button.elementor-size-sm:hover,
.woocommerce a.button:not(.alt):not(.checkout-button):hover,
.woocommerce button.button:not(.alt):hover {
  background: var(--eilf-gradient-gold) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: var(--eilf-shadow-glow) !important;
}

/* Add to cart specific */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.add_to_cart_button {
  background: var(--eilf-gradient-gold) !important;
  color: #ffffff !important;
  border: 2px solid transparent !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 12px 20px !important;
  width: 100% !important;
  text-align: center !important;
  margin-top: 10px !important;
  border-radius: var(--eilf-radius-pill) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

/* --------------------------------------------------------
   5. WOOCOMMERCE PRODUCT CARDS / GRID
   -------------------------------------------------------- */
.woocommerce ul.products,
.elementor-widget-woocommerce-products ul.products,
.elementor-widget-wc-products ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 28px !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce ul.products li.product,
.elementor-widget-woocommerce-products ul.products li.product,
.elementor-widget-wc-products ul.products li.product {
  background: var(--eilf-white) !important;
  border: 1px solid var(--eilf-border) !important;
  border-radius: var(--eilf-radius-lg) !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
  transition: all var(--eilf-transition) !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
}
.woocommerce ul.products li.product:hover {
  box-shadow: var(--eilf-shadow-glow), var(--eilf-shadow-hover) !important;
  transform: translateY(-6px) !important;
  border-color: rgba(74, 124, 143, 0.25) !important;
}

/* Product image */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
  width: 100% !important;
  height: 300px !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  margin: 0 !important;
  display: block !important;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1) !important;
}
.woocommerce ul.products li.product:hover a img {
  transform: scale(1.05) !important;
}

/* Product info area */
.woocommerce ul.products li.product a {
  padding: 20px !important;
  display: block !important;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-family: var(--eilf-font) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--eilf-charcoal) !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title:hover {
  color: var(--eilf-primary) !important;
}

/* Product price */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product span.price {
  font-family: var(--eilf-font) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: var(--eilf-primary) !important;
  display: block !important;
  margin-bottom: 12px !important;
  letter-spacing: -0.02em !important;
}
.woocommerce ul.products li.product .price del {
  color: var(--eilf-gray) !important;
  font-weight: 400 !important;
  font-size: 14px !important;
}
.woocommerce ul.products li.product .price ins {
  color: var(--eilf-sale) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* Sale badge */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
  background: var(--eilf-sale) !important;
  color: #ffffff !important;
  font-family: var(--eilf-font) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  border-radius: var(--eilf-radius-pill) !important;
  padding: 5px 14px !important;
  min-width: auto !important;
  min-height: auto !important;
  line-height: 1.4 !important;
  top: 16px !important;
  left: 16px !important;
  right: auto !important;
  margin: 0 !important;
  box-shadow: 0 2px 8px rgba(231, 76, 60, 0.3) !important;
}

/* Star ratings */
.woocommerce .star-rating,
.woocommerce ul.products li.product .star-rating {
  color: var(--eilf-star) !important;
  font-size: 13px !important;
  margin: 4px 0 8px !important;
}

/* --------------------------------------------------------
   6. SINGLE PRODUCT PAGE
   -------------------------------------------------------- */
.woocommerce div.product {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 60px 24px !important;
}

.woocommerce div.product div.images,
.woocommerce div.product .woocommerce-product-gallery {
  border: 1px solid var(--eilf-border) !important;
  border-radius: var(--eilf-radius-lg) !important;
  overflow: hidden !important;
  background: var(--eilf-gray-light) !important;
}

.woocommerce div.product .product_title {
  font-size: 2.5rem !important;
  font-weight: 800 !important;
  color: var(--eilf-charcoal) !important;
  margin-bottom: 10px !important;
  letter-spacing: -0.03em !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-size: 2rem !important;
  font-weight: 800 !important;
  color: var(--eilf-primary) !important;
}

.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: 15px !important;
  color: var(--eilf-gray) !important;
  line-height: 1.75 !important;
  margin: 20px 0 !important;
  padding-bottom: 20px !important;
  border-bottom: 1px solid var(--eilf-border) !important;
}

/* Quantity input */
.woocommerce .quantity .qty,
.woocommerce div.product form.cart .quantity input {
  border: 1px solid var(--eilf-border) !important;
  border-radius: var(--eilf-radius) !important;
  width: 72px !important;
  padding: 12px !important;
  font-size: 16px !important;
  text-align: center !important;
  background: var(--eilf-white) !important;
  color: var(--eilf-charcoal) !important;
}
.woocommerce .quantity .qty:focus {
  border-color: var(--eilf-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(74, 124, 143, 0.15) !important;
}

/* Single product add to cart */
.woocommerce div.product form.cart .single_add_to_cart_button {
  font-size: 14px !important;
  padding: 16px 44px !important;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--eilf-border) !important;
  padding: 0 !important;
  margin: 48px 0 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  border-bottom: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: none !important;
  background: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--eilf-font) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--eilf-gray) !important;
  padding: 14px 28px !important;
  border-bottom: 2px solid transparent !important;
  transition: all var(--eilf-transition) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--eilf-primary) !important;
  border-bottom-color: var(--eilf-primary) !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
  padding: 28px 0 !important;
  border: none !important;
  color: var(--eilf-gray) !important;
}

/* Related products */
.woocommerce div.product .related.products > h2,
.woocommerce div.product .upsells.products > h2 {
  font-size: 1.75rem !important;
  font-weight: 800 !important;
  margin-bottom: 28px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid var(--eilf-border) !important;
}

/* --------------------------------------------------------
   7. SHOP / ARCHIVE PAGE
   -------------------------------------------------------- */
.woocommerce-products-header__title {
  font-size: 2.5rem !important;
  font-weight: 800 !important;
  margin-bottom: 10px !important;
  letter-spacing: -0.03em !important;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  font-family: var(--eilf-font) !important;
  font-size: 13px !important;
  color: var(--eilf-gray) !important;
  margin-bottom: 28px !important;
}

.woocommerce .woocommerce-ordering select {
  border: 1px solid var(--eilf-border) !important;
  border-radius: var(--eilf-radius-pill) !important;
  padding: 10px 16px !important;
  font-family: var(--eilf-font) !important;
  font-size: 13px !important;
  background: var(--eilf-white) !important;
  color: var(--eilf-charcoal) !important;
}
.woocommerce .woocommerce-ordering select:focus {
  border-color: var(--eilf-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(74, 124, 143, 0.15) !important;
}

/* Breadcrumbs */
.woocommerce .woocommerce-breadcrumb,
.elementor-widget-woocommerce-breadcrumb {
  font-size: 12px !important;
  color: var(--eilf-gray) !important;
  padding: 16px 0 !important;
  margin-bottom: 20px !important;
  letter-spacing: 0.02em !important;
}
.woocommerce .woocommerce-breadcrumb a {
  color: var(--eilf-primary) !important;
  font-weight: 600 !important;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul {
  border: none !important;
  display: flex !important;
  gap: 8px !important;
  justify-content: center !important;
  margin-top: 48px !important;
}
.woocommerce nav.woocommerce-pagination ul li {
  border: none !important;
  margin: 0 !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span.current {
  font-family: var(--eilf-font) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 10px 16px !important;
  border: 1px solid var(--eilf-border) !important;
  border-radius: var(--eilf-radius) !important;
  color: var(--eilf-charcoal) !important;
  background: var(--eilf-white) !important;
  transition: all var(--eilf-transition) !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
  border-color: var(--eilf-primary) !important;
  color: var(--eilf-primary) !important;
  box-shadow: var(--eilf-shadow-glow) !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--eilf-gradient-gold) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  font-weight: 800 !important;
}

/* --------------------------------------------------------
   8. CART PAGE
   -------------------------------------------------------- */
.woocommerce-cart table.cart,
.woocommerce table.shop_table {
  border: 1px solid var(--eilf-border) !important;
  border-radius: var(--eilf-radius-lg) !important;
  overflow: hidden !important;
  border-collapse: separate !important;
  background: var(--eilf-white) !important;
}
.woocommerce table.shop_table th {
  background-color: var(--eilf-gray-light) !important;
  font-family: var(--eilf-font) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--eilf-gray) !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid var(--eilf-border) !important;
}
.woocommerce table.shop_table td {
  font-family: var(--eilf-font) !important;
  padding: 18px 20px !important;
  vertical-align: middle !important;
  border-bottom: 1px solid var(--eilf-border) !important;
  color: var(--eilf-charcoal) !important;
}
.woocommerce table.shop_table td.product-name a {
  font-weight: 600 !important;
  color: var(--eilf-charcoal) !important;
}
.woocommerce table.shop_table td.product-name a:hover {
  color: var(--eilf-primary) !important;
}

/* Cart totals */
.woocommerce .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals {
  background: var(--eilf-gray-light) !important;
  border: 1px solid var(--eilf-border) !important;
  border-radius: var(--eilf-radius-lg) !important;
  padding: 28px !important;
}
.woocommerce .cart_totals h2 {
  font-size: 1.25rem !important;
  margin-bottom: 20px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid var(--eilf-border) !important;
  color: var(--eilf-charcoal) !important;
}

/* Coupon */
.woocommerce .coupon .input-text {
  border: 1px solid var(--eilf-border) !important;
  border-radius: var(--eilf-radius-pill) !important;
  padding: 12px 18px !important;
  font-size: 14px !important;
  background: var(--eilf-white) !important;
  color: var(--eilf-charcoal) !important;
}

/* Remove item */
.woocommerce a.remove {
  color: var(--eilf-sale) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  transition: all var(--eilf-transition-fast) !important;
  border-radius: 50% !important;
  width: 28px !important;
  height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.woocommerce a.remove:hover {
  background: var(--eilf-sale) !important;
  color: #ffffff !important;
}

/* --------------------------------------------------------
   9. CHECKOUT PAGE
   -------------------------------------------------------- */
.woocommerce form.checkout,
.woocommerce-checkout {
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.woocommerce form .form-row label {
  font-family: var(--eilf-font) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--eilf-charcoal) !important;
  margin-bottom: 6px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
  border: 1px solid var(--eilf-border) !important;
  border-radius: var(--eilf-radius) !important;
  padding: 14px 16px !important;
  font-family: var(--eilf-font) !important;
  font-size: 15px !important;
  transition: border-color var(--eilf-transition), box-shadow var(--eilf-transition) !important;
  background: var(--eilf-white) !important;
  color: var(--eilf-charcoal) !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--eilf-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(74, 124, 143, 0.15) !important;
}

/* Order review */
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading {
  background: var(--eilf-gray-light) !important;
  border: 1px solid var(--eilf-border) !important;
  border-radius: var(--eilf-radius-lg) !important;
  padding: 28px !important;
}

/* Payment methods */
.woocommerce-checkout #payment {
  background: var(--eilf-gray-light) !important;
  border: 1px solid var(--eilf-border) !important;
  border-radius: var(--eilf-radius-lg) !important;
}
.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--eilf-border) !important;
  padding: 20px !important;
}
.woocommerce-checkout #payment ul.payment_methods li {
  padding: 10px 0 !important;
}
.woocommerce-checkout #payment div.place-order {
  padding: 20px !important;
}

/* --------------------------------------------------------
   10. MY ACCOUNT PAGE
   -------------------------------------------------------- */
.woocommerce-MyAccount-navigation {
  background: var(--eilf-white) !important;
  border: 1px solid var(--eilf-border) !important;
  border-radius: var(--eilf-radius-lg) !important;
  overflow: hidden !important;
}
.woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce-MyAccount-navigation ul li a {
  display: block !important;
  padding: 16px 24px !important;
  font-family: var(--eilf-font) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--eilf-charcoal) !important;
  border-bottom: 1px solid var(--eilf-border) !important;
  transition: all var(--eilf-transition-fast) !important;
}
.woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--eilf-primary-light) !important;
  color: var(--eilf-primary) !important;
  text-decoration: none !important;
  padding-left: 30px !important;
}
.woocommerce-MyAccount-navigation ul li.is-active a {
  background: var(--eilf-gradient-gold) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* Login form */
.woocommerce form.login,
.woocommerce form.register {
  border: 1px solid var(--eilf-border) !important;
  border-radius: var(--eilf-radius-lg) !important;
  padding: 32px !important;
  background: var(--eilf-white) !important;
}

/* --------------------------------------------------------
   11. ELEMENTOR SECTIONS & WIDGETS
   -------------------------------------------------------- */

/* Sections spacing */
.elementor-section,
.e-con {
  padding: 0 !important;
}
.elementor-section .elementor-container,
.e-con-inner {
  max-width: 1280px !important;
}

/* Widget spacing */
.elementor-widget:not(:last-child) {
  margin-bottom: 24px !important;
}

/* Icon boxes */
.elementor-widget-icon-box .elementor-icon {
  color: var(--eilf-primary) !important;
  font-size: 48px !important;
  margin-bottom: 18px !important;
  transition: transform var(--eilf-transition) !important;
}
.elementor-widget-icon-box:hover .elementor-icon {
  transform: scale(1.1) !important;
}
.elementor-widget-icon-box .elementor-icon-box-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--eilf-charcoal) !important;
}
.elementor-widget-icon-box .elementor-icon-box-description {
  font-size: 14px !important;
  color: var(--eilf-gray) !important;
}

/* Image boxes */
.elementor-widget-image-box .elementor-image-box-img {
  border-radius: var(--eilf-radius-lg) !important;
  overflow: hidden !important;
}
.elementor-widget-image-box:hover .elementor-image-box-img img {
  transform: scale(1.05) !important;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

/* Testimonials */
.elementor-widget-testimonial {
  background: var(--eilf-white) !important;
  border-radius: var(--eilf-radius-lg) !important;
  padding: 36px !important;
  border: 1px solid var(--eilf-border) !important;
  transition: all var(--eilf-transition) !important;
}
.elementor-widget-testimonial:hover {
  box-shadow: var(--eilf-shadow-glow) !important;
  border-color: rgba(74, 124, 143, 0.2) !important;
}
.elementor-testimonial-content {
  font-size: 16px !important;
  font-style: italic !important;
  color: var(--eilf-charcoal) !important;
  line-height: 1.75 !important;
}

/* Dividers */
.elementor-divider-separator {
  border-color: var(--eilf-border) !important;
}

/* --------------------------------------------------------
   12. FOOTER
   -------------------------------------------------------- */
.elementor-location-footer,
footer#colophon,
.site-footer {
  background-color: var(--eilf-dark) !important;
  color: rgba(255, 255, 255, 0.6) !important;
  padding: 72px 0 0 !important;
  position: relative !important;
}
.elementor-location-footer::before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 10% !important;
  right: 10% !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent 0%, var(--eilf-primary) 50%, transparent 100%) !important;
}
.elementor-location-footer *,
footer#colophon *,
.site-footer * {
  color: rgba(255, 255, 255, 0.55) !important;
}
.elementor-location-footer h1,
.elementor-location-footer h2,
.elementor-location-footer h3,
.elementor-location-footer h4,
.elementor-location-footer h5,
.elementor-location-footer h6,
.elementor-location-footer .elementor-heading-title {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  margin-bottom: 20px !important;
}
.elementor-location-footer a {
  color: rgba(255, 255, 255, 0.55) !important;
  font-size: 14px !important;
  transition: color var(--eilf-transition-fast) !important;
}
.elementor-location-footer a:hover {
  color: var(--eilf-primary) !important;
  text-decoration: none !important;
}

/* Footer bottom bar */
.elementor-location-footer .elementor-section:last-child,
.elementor-location-footer .e-con:last-child {
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  padding: 24px 0 !important;
  margin-top: 48px !important;
}
.elementor-location-footer .elementor-section:last-child *,
.elementor-location-footer .e-con:last-child * {
  font-size: 12px !important;
  color: rgba(255, 255, 255, 0.35) !important;
}

/* --------------------------------------------------------
   13. WIDGETS — SIDEBAR / FILTERS
   -------------------------------------------------------- */
.widget,
.woocommerce .widget {
  margin-bottom: 36px !important;
  padding-bottom: 36px !important;
  border-bottom: 1px solid var(--eilf-border) !important;
}
.widget-title,
.woocommerce .widget h2 {
  font-family: var(--eilf-font) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: var(--eilf-charcoal) !important;
  margin-bottom: 18px !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid var(--eilf-primary) !important;
}
.widget ul li a,
.woocommerce .widget ul li a {
  font-size: 14px !important;
  color: var(--eilf-gray) !important;
  padding: 8px 0 !important;
  display: block !important;
  transition: all var(--eilf-transition-fast) !important;
}
.widget ul li a:hover,
.woocommerce .widget ul li a:hover {
  color: var(--eilf-primary) !important;
  padding-left: 6px !important;
}

/* Price filter */
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
  background: var(--eilf-border) !important;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
  background: var(--eilf-gradient-gold) !important;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
  background: var(--eilf-primary) !important;
  border: 3px solid var(--eilf-white) !important;
  box-shadow: 0 0 0 2px var(--eilf-primary), var(--eilf-shadow-glow) !important;
}

/* --------------------------------------------------------
   14. NOTICES & MESSAGES
   -------------------------------------------------------- */
.woocommerce-message {
  border-top-color: var(--eilf-primary) !important;
  background: var(--eilf-primary-light) !important;
  color: var(--eilf-accent) !important;
  border-radius: var(--eilf-radius-lg) !important;
  font-family: var(--eilf-font) !important;
  border: 1px solid rgba(74, 124, 143, 0.2) !important;
}
.woocommerce-message::before {
  color: var(--eilf-primary) !important;
}
.woocommerce-message a.button {
  background: var(--eilf-gradient-gold) !important;
  color: #ffffff !important;
}

.woocommerce-error {
  border-top-color: var(--eilf-sale) !important;
  border-radius: var(--eilf-radius-lg) !important;
  background: rgba(231, 76, 60, 0.06) !important;
  border: 1px solid rgba(231, 76, 60, 0.2) !important;
}

.woocommerce-info {
  border-top-color: var(--eilf-primary) !important;
  border-radius: var(--eilf-radius-lg) !important;
  background: var(--eilf-primary-light) !important;
  border: 1px solid rgba(74, 124, 143, 0.15) !important;
}

/* --------------------------------------------------------
   15. MINI CART (HEADER DROPDOWN)
   -------------------------------------------------------- */
.elementor-menu-cart__products {
  padding: 20px !important;
}
.elementor-menu-cart__product-name a {
  font-weight: 600 !important;
  font-size: 14px !important;
  color: var(--eilf-charcoal) !important;
}
.elementor-menu-cart__product-price {
  font-weight: 700 !important;
  color: var(--eilf-primary) !important;
}
.elementor-menu-cart__subtotal {
  font-weight: 800 !important;
  font-size: 16px !important;
  padding: 14px 20px !important;
  border-top: 1px solid var(--eilf-border) !important;
  color: var(--eilf-charcoal) !important;
}

/* --------------------------------------------------------
   16. WISHLIST (YITH)
   -------------------------------------------------------- */
.yith-wcwl-add-to-wishlist a {
  color: var(--eilf-gray) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  transition: color var(--eilf-transition-fast) !important;
}
.yith-wcwl-add-to-wishlist a:hover {
  color: var(--eilf-sale) !important;
}

/* --------------------------------------------------------
   17. FORMS (GENERAL)
   -------------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
textarea,
select {
  font-family: var(--eilf-font) !important;
  border: 1px solid var(--eilf-border) !important;
  border-radius: var(--eilf-radius) !important;
  padding: 12px 16px !important;
  font-size: 15px !important;
  transition: border-color var(--eilf-transition), box-shadow var(--eilf-transition) !important;
  background: var(--eilf-white) !important;
  color: var(--eilf-charcoal) !important;
}
input:focus,
textarea:focus,
select:focus {
  border-color: var(--eilf-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(74, 124, 143, 0.15) !important;
}

/* Placeholder styling */
::placeholder {
  color: var(--eilf-gray) !important;
  opacity: 1 !important;
}

/* --------------------------------------------------------
   18. SCROLLBAR (TEAL-TINTED)
   -------------------------------------------------------- */
::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar-track {
  background: var(--eilf-gray-light);
}
::-webkit-scrollbar-thumb {
  background: rgba(74, 124, 143, 0.3);
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--eilf-primary);
}

/* Firefox scrollbar */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(74, 124, 143, 0.3) var(--eilf-gray-light);
}

/* --------------------------------------------------------
   19. RESPONSIVE
   -------------------------------------------------------- */
@media (max-width: 1024px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
    gap: 20px !important;
  }
  h1, .elementor-size-xxl { font-size: 2.5rem !important; }
  h2, .elementor-size-xl  { font-size: 2rem !important; }
}

@media (max-width: 767px) {
  body {
    font-size: 15px !important;
  }
  h1, .elementor-size-xxl { font-size: 2rem !important; }
  h2, .elementor-size-xl  { font-size: 1.625rem !important; }
  h3, .elementor-size-lg  { font-size: 1.375rem !important; }

  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }
  .woocommerce ul.products li.product a img {
    height: 200px !important;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 13px !important;
  }
  .woocommerce ul.products li.product .price {
    font-size: 15px !important;
  }

  /* Mobile nav */
  .elementor-nav-menu--dropdown .elementor-item {
    padding: 14px 18px !important;
  }

  /* Stack cart on mobile */
  .woocommerce table.cart td {
    display: block !important;
    text-align: center !important;
    padding: 10px 18px !important;
  }

  /* Full-width buttons on mobile */
  .elementor-button,
  .woocommerce a.button,
  .woocommerce button.button {
    width: 100% !important;
    text-align: center !important;
  }
}

@media (max-width: 480px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
  .woocommerce ul.products li.product a img {
    height: 260px !important;
  }
}

/* --------------------------------------------------------
   20. UTILITY CLASSES (for Elementor custom CSS)
   -------------------------------------------------------- */
.eilf-bg-primary { background: var(--eilf-gradient-gold) !important; }
.eilf-bg-accent  { background-color: var(--eilf-accent) !important; }
.eilf-bg-light   { background-color: var(--eilf-gray-light) !important; }
.eilf-bg-dark    { background-color: var(--eilf-dark) !important; }
.eilf-text-primary { color: var(--eilf-primary) !important; }
.eilf-text-accent  { color: var(--eilf-accent) !important; }
.eilf-text-white { color: var(--eilf-white) !important; }
.eilf-text-gray  { color: var(--eilf-gray) !important; }
.eilf-rounded    { border-radius: var(--eilf-radius-lg) !important; }
.eilf-rounded-xl { border-radius: var(--eilf-radius-xl) !important; }
.eilf-shadow     { box-shadow: var(--eilf-shadow) !important; }
.eilf-shadow-glow { box-shadow: var(--eilf-shadow-glow) !important; }
.eilf-no-margin  { margin: 0 !important; }
.eilf-center     { text-align: center !important; }

/* --------------------------------------------------------
   HERO VIDEO SLIDESHOW — Cinematic Marketing Edition v2
   -------------------------------------------------------- */

.eilf-hero-video-section {
  position: relative !important;
  min-height: 400px !important;
  height: 65vh !important;
  max-height: 600px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  overflow: hidden !important;
  background: var(--eilf-dark) !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* --- Cinematic overlay with premium vignette --- */
.eilf-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(ellipse at center, transparent 30%, rgba(0,0,0,0.6) 100%),
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.45) 0%,
      rgba(0, 0, 0, 0.05) 25%,
      rgba(0, 0, 0, 0.05) 55%,
      rgba(0, 0, 0, 0.7) 100%
    ) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.eilf-hero-videos {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
}

/* --- Video layers with ultra-smooth crossfade --- */
.eilf-hero-video {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  width: auto !important;
  height: auto !important;
  transform: translate(-50%, -50%) scale(1) !important;
  object-fit: cover !important;
  opacity: 0 !important;
  transition: opacity 2.8s cubic-bezier(0.22, 1, 0.36, 1) !important;
  will-change: opacity, transform !important;
  filter: brightness(0.9) saturate(1.1) !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}

/* Active slide */
.eilf-hero-video.active {
  opacity: 1 !important;
  filter: brightness(0.95) saturate(1.15) !important;
}

/* --- Multiple Ken Burns directions (JS applies these) --- */
.eilf-hero-video.eilf-zoom-in {
  animation: eilfZoomIn 12s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}
.eilf-hero-video.eilf-zoom-out {
  animation: eilfZoomOut 12s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}
.eilf-hero-video.eilf-pan-left {
  animation: eilfPanLeft 12s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}
.eilf-hero-video.eilf-pan-right {
  animation: eilfPanRight 12s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}
.eilf-hero-video.eilf-pan-up {
  animation: eilfPanUp 12s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}

@keyframes eilfZoomIn {
  0%   { transform: translate(-50%, -50%) scale(1); }
  100% { transform: translate(-50%, -50%) scale(1.12); }
}
@keyframes eilfZoomOut {
  0%   { transform: translate(-50%, -50%) scale(1.12); }
  100% { transform: translate(-50%, -50%) scale(1); }
}
@keyframes eilfPanLeft {
  0%   { transform: translate(-47%, -50%) scale(1.06); }
  100% { transform: translate(-53%, -50%) scale(1.06); }
}
@keyframes eilfPanRight {
  0%   { transform: translate(-53%, -50%) scale(1.04); }
  100% { transform: translate(-47%, -50%) scale(1.06); }
}
@keyframes eilfPanUp {
  0%   { transform: translate(-50%, -47%) scale(1.06); }
  100% { transform: translate(-50%, -53%) scale(1.06); }
}

/* --- Progress bar --- */
.eilf-hero-progress {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  z-index: 5 !important;
}
.eilf-hero-progress-bar {
  height: 100% !important;
  background: linear-gradient(90deg, var(--eilf-primary), #5A8CA0) !important;
  width: 0% !important;
  box-shadow: 0 0 16px rgba(74, 124, 143, 0.4) !important;
  border-radius: 0 2px 2px 0 !important;
}
/* JS toggles this class for CSS-only animation */
.eilf-hero-progress-bar.eilf-running {
  width: 100% !important;
  transition: width linear !important;
  /* duration set via JS inline style: transition-duration */
}
.eilf-hero-progress-bar.eilf-reset {
  width: 0% !important;
  transition: none !important;
}

/* --- Dot navigation (frosted glass pills) --- */
.eilf-hero-dots {
  position: absolute !important;
  bottom: 36px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  gap: 8px !important;
  z-index: 5 !important;
  background: rgba(0, 0, 0, 0.25) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  border-radius: 24px !important;
  padding: 10px 16px !important;
}
.eilf-hero-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 10px !important;
  border: none !important;
  background: rgba(255, 255, 255, 0.25) !important;
  cursor: pointer !important;
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
  padding: 0 !important;
  outline: none !important;
}
.eilf-hero-dot:hover {
  background: rgba(255, 255, 255, 0.55) !important;
  transform: scale(1.15) !important;
}
.eilf-hero-dot.active {
  background: var(--eilf-primary) !important;
  width: 32px !important;
  border-radius: 10px !important;
  box-shadow: 0 0 16px rgba(74, 124, 143, 0.4) !important;
}

/* --- Hero content --- */
.eilf-hero-content {
  position: relative !important;
  z-index: 3 !important;
  color: #fff !important;
  max-width: 880px !important;
  padding: 80px 32px 120px !important;
}

/* --- Staggered entrance: slide-up + blur-in --- */
/* NOTE: No !important on defaults so JS inline styles can override */
.eilf-hero-video-section .eilf-hero-content .eilf-hero-badge,
.eilf-hero-video-section .eilf-hero-content h1,
.eilf-hero-video-section .eilf-hero-content p,
.eilf-hero-video-section .eilf-hero-content .eilf-hero-buttons {
  opacity: 0;
  transform: translateY(30px);
  filter: blur(6px);
  transition: opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1),
              transform 1.1s cubic-bezier(0.22, 1, 0.36, 1),
              filter 1.1s cubic-bezier(0.22, 1, 0.36, 1);
}
.eilf-hero-video-section .eilf-hero-content.eilf-animate .eilf-hero-badge {
  transition-delay: 0.15s !important;
}
.eilf-hero-video-section .eilf-hero-content.eilf-animate h1 {
  transition-delay: 0.35s !important;
}
.eilf-hero-video-section .eilf-hero-content.eilf-animate p {
  transition-delay: 0.55s !important;
}
.eilf-hero-video-section .eilf-hero-content.eilf-animate .eilf-hero-buttons {
  transition-delay: 0.75s !important;
}

.eilf-hero-content h1 {
  color: #fff !important;
  font-size: 4.5rem !important;
  font-weight: 800 !important;
  margin-bottom: 24px !important;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.6), 0 8px 48px rgba(0, 0, 0, 0.25) !important;
  letter-spacing: -0.04em !important;
  line-height: 1.02 !important;
}
.eilf-hero-content p {
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 20px !important;
  margin-bottom: 44px !important;
  line-height: 1.7 !important;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.5) !important;
  max-width: 600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-weight: 400 !important;
}
.eilf-hero-badge {
  display: inline-block !important;
  background: rgba(74, 124, 143, 0.15) !important;
  backdrop-filter: blur(16px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
  border: 1px solid rgba(74, 124, 143, 0.3) !important;
  border-radius: var(--eilf-radius-pill) !important;
  padding: 8px 28px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  text-transform: uppercase !important;
  letter-spacing: 0.18em !important;
  margin-bottom: 28px !important;
}
.eilf-hero-buttons {
  display: flex !important;
  gap: 16px !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
}
.eilf-hero-buttons .eilf-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  padding: 18px 40px !important;
  border-radius: var(--eilf-radius-pill) !important;
  cursor: pointer !important;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
}
.eilf-btn-white {
  background: var(--eilf-gradient-gold) !important;
  color: #ffffff !important;
  border: 2px solid transparent !important;
  box-shadow: 0 4px 24px rgba(74, 124, 143, 0.3) !important;
}
.eilf-btn-white:hover {
  background: linear-gradient(135deg, #5A8CA0 0%, #4A7C8F 50%, #3A6272 100%) !important;
  color: #ffffff !important;
  transform: translateY(-3px) scale(1.02) !important;
  box-shadow: 0 12px 40px rgba(74, 124, 143, 0.4) !important;
}
.eilf-btn-outline {
  background: transparent !important;
  color: #fff !important;
  border: 2px solid rgba(255,255,255,0.3) !important;
}
.eilf-btn-outline:hover {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.7) !important;
  color: #fff !important;
  transform: translateY(-3px) scale(1.02) !important;
}

/* --- Hero responsive --- */
@media (max-width: 767px) {
  .eilf-hero-video-section {
    min-height: 320px !important;
    height: 55vh !important;
  }
  .eilf-hero-content h1 { font-size: 2.75rem !important; }
  .eilf-hero-content p { font-size: 16px !important; }
  .eilf-hero-content { padding: 60px 22px 100px !important; }
  .eilf-hero-dots { bottom: 20px !important; padding: 7px 12px !important; }
  .eilf-hero-dot { width: 6px !important; height: 6px !important; }
  .eilf-hero-dot.active { width: 24px !important; }
  .eilf-hero-buttons { flex-direction: column !important; gap: 12px !important; }
  .eilf-hero-buttons .eilf-btn { width: 100% !important; text-align: center !important; padding: 16px 28px !important; }
  .eilf-hero-video { transition: opacity 2.2s cubic-bezier(0.22, 1, 0.36, 1) !important; }
}

/* ============================================
   HEADER — Fixed overlay on hero
   ============================================ */
.elementor-location-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9990 !important;
  transition: background-color 0.4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.4s cubic-bezier(0.22, 1, 0.36, 1), backdrop-filter 0.4s ease !important;
}

/* Transparent state (over hero) */
.elementor-location-header:not(.eilf-header-scrolled) {
  background: rgba(0, 0, 0, 0.1) !important;
  backdrop-filter: blur(12px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(180%) !important;
  box-shadow: none !important;
}

/* Solid state (after scroll) */
.elementor-location-header.eilf-header-scrolled {
  background: rgba(26, 37, 48, 0.97) !important;
  backdrop-filter: blur(20px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(200%) !important;
  box-shadow: 0 1px 0 rgba(74, 124, 143, 0.15), 0 4px 24px rgba(0, 0, 0, 0.15) !important;
}

/* Hide top Products search bar section (redundant with main nav) */
.elementor-location-header .elementor-element-6573c663 {
  display: none !important;
}

/* Override backgrounds on header sections */
.elementor-location-header .elementor-section,
.elementor-location-header .e-con,
.elementor-547 .elementor-element.e-con,
.elementor-547 .elementor-element.elementor-element-6573c663,
.elementor-547 .elementor-element.elementor-element-6573c663:not(.elementor-motion-effects-element-type-background) {
  background-color: transparent !important;
  background: transparent !important;
  --e-global-color-background: transparent !important;
}

/* Header text/links — always white */
.elementor-location-header .elementor-widget-icon-list .elementor-icon-list-text,
.elementor-location-header .elementor-widget-icon-list a,
.elementor-location-header .elementor-widget-nav-menu a,
.elementor-location-header .elementor-nav-menu a,
.elementor-location-header .elementor-widget-search-form .elementor-search-form__input,
.elementor-location-header .elementor-widget-woocommerce-menu-cart a {
  color: #ffffff !important;
}

/* Header buttons styling */
.elementor-location-header .elementor-widget-button .elementor-button {
  border: 1px solid rgba(74, 124, 143, 0.5) !important;
  background: transparent !important;
  color: #ffffff !important;
  border-radius: var(--eilf-radius-pill) !important;
  font-size: 12px !important;
  padding: 10px 24px !important;
  transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1) !important;
  letter-spacing: 0.08em !important;
}
.elementor-location-header .elementor-widget-button .elementor-button:hover {
  background: var(--eilf-gradient-gold) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: var(--eilf-shadow-glow) !important;
}

/* Search form in header */
.elementor-location-header .elementor-search-form__container {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: var(--eilf-radius-pill) !important;
}
.elementor-location-header .elementor-search-form__input::placeholder {
  color: rgba(255, 255, 255, 0.45) !important;
}

/* Cart icon badge */
.elementor-location-header .elementor-menu-cart__toggle-button {
  color: #ffffff !important;
}

/* Logo sizing in header */
.elementor-location-header .elementor-widget-theme-site-logo img {
  max-height: 45px !important;
  width: auto !important;
}

/* Push page content below fixed header */
.eilf-hero-video-section {
  margin-top: 0 !important;
}

/* ============================================
   HOMEPAGE CONTENT SECTIONS
   ============================================ */
.eilf-home-sections {
  background: var(--eilf-gray-light);
  color: var(--eilf-charcoal) !important;
}
.eilf-home-sections h2,
.eilf-home-sections h3 {
  color: var(--eilf-charcoal) !important;
}

/* Feature bar — with subtle teal top glow */
.eilf-feature-bar {
  display: flex;
  justify-content: center;
  gap: 64px;
  padding: 44px 24px;
  background: #F0F4F7;
  border-top: 1px solid rgba(74, 124, 143, 0.12);
  border-bottom: 1px solid var(--eilf-border);
  flex-wrap: wrap;
  position: relative;
}
.eilf-feature-bar::before {
  content: '';
  position: absolute;
  top: 0;
  left: 15%;
  right: 15%;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(74, 124, 143, 0.3) 50%, transparent 100%);
}
.eilf-feature-item {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--eilf-charcoal);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  transition: color var(--eilf-transition-fast);
}
.eilf-feature-item:hover {
  color: var(--eilf-primary);
}
.eilf-feature-item svg {
  width: 26px;
  height: 26px;
  flex-shrink: 0;
  fill: var(--eilf-primary);
  transition: transform var(--eilf-transition);
}
.eilf-feature-item:hover svg {
  transform: scale(1.1);
}

/* Section common */
.eilf-section {
  max-width: 1280px;
  margin: 0 auto;
  padding: 88px 32px;
}
.eilf-section-header {
  text-align: center;
  margin-bottom: 56px;
}
.eilf-section-header h2 {
  font-size: 36px;
  font-weight: 800;
  color: var(--eilf-charcoal);
  margin: 0 0 14px;
  letter-spacing: -0.03em;
}
.eilf-section-header p {
  font-size: 16px;
  color: var(--eilf-gray);
  margin: 0;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.7;
}

/* Category cards grid — larger with premium hover */
.eilf-categories-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}
.eilf-category-card {
  position: relative;
  border-radius: var(--eilf-radius-lg);
  overflow: hidden;
  aspect-ratio: 4/3;
  background: var(--eilf-gray-light);
  cursor: pointer;
  transition: all 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  text-decoration: none;
  display: block;
  border: 1px solid var(--eilf-border);
}
.eilf-category-card:hover {
  transform: translateY(-6px) scale(1.01);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.1), var(--eilf-shadow-glow);
  border-color: rgba(74, 124, 143, 0.25);
}
.eilf-category-card .eilf-cat-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.eilf-category-card:hover .eilf-cat-bg {
  transform: scale(1.1);
}
.eilf-category-card .eilf-cat-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(26,37,48,0.85) 0%, rgba(26,37,48,0.15) 55%, rgba(26,37,48,0.05) 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 28px;
  transition: background var(--eilf-transition);
}
.eilf-category-card:hover .eilf-cat-overlay {
  background: linear-gradient(to top, rgba(26,37,48,0.9) 0%, rgba(26,37,48,0.2) 55%, rgba(26,37,48,0.05) 100%);
}
.eilf-category-card .eilf-cat-name {
  color: #ffffff;
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 6px;
  letter-spacing: -0.02em;
}
.eilf-category-card .eilf-cat-count {
  color: #A8D0E0;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* Promo banner — deep blue gradient */
.eilf-promo-banner {
  background: linear-gradient(135deg, #1A2530 0%, #142028 40%, #1E2D3A 100%);
  border: 1px solid rgba(74, 124, 143, 0.2);
  border-radius: var(--eilf-radius-xl);
  padding: 64px 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1280px;
  margin: 0 auto 0;
  gap: 36px;
  flex-wrap: wrap;
  position: relative;
  overflow: hidden;
}
.eilf-promo-banner::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(74, 124, 143, 0.1) 0%, transparent 70%);
  pointer-events: none;
}
.eilf-promo-content h2 {
  font-size: 38px;
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 12px;
  letter-spacing: -0.03em;
}
.eilf-promo-content p {
  font-size: 17px;
  color: rgba(255, 255, 255, 0.6);
  margin: 0;
  max-width: 520px;
  line-height: 1.65;
}
.eilf-promo-btn {
  display: inline-block;
  background: var(--eilf-gradient-gold);
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  padding: 18px 44px;
  border-radius: var(--eilf-radius-pill);
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  box-shadow: 0 4px 20px rgba(74, 124, 143, 0.25);
}
.eilf-promo-btn:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 12px 40px rgba(74, 124, 143, 0.35);
  color: #ffffff;
}

/* Why shop with us — white cards on light gray */
.eilf-why-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
}
.eilf-why-card {
  background: var(--eilf-white);
  border-radius: var(--eilf-radius-lg);
  padding: 40px 30px;
  text-align: center;
  border: 1px solid var(--eilf-border);
  transition: all var(--eilf-transition);
  position: relative;
  overflow: hidden;
}
.eilf-why-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(74, 124, 143, 0.3), transparent);
  opacity: 0;
  transition: opacity var(--eilf-transition);
}
.eilf-why-card:hover {
  border-color: rgba(74, 124, 143, 0.2);
  box-shadow: var(--eilf-shadow-glow), 0 8px 32px rgba(0,0,0,0.06);
  transform: translateY(-4px);
}
.eilf-why-card:hover::before {
  opacity: 1;
}
.eilf-why-card svg {
  width: 44px;
  height: 44px;
  fill: var(--eilf-primary);
  margin-bottom: 22px;
  transition: transform var(--eilf-transition);
}
.eilf-why-card:hover svg {
  transform: scale(1.1);
}
.eilf-why-card h3 {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--eilf-charcoal) !important;
  margin: 0 0 10px !important;
  letter-spacing: -0.01em !important;
}
.eilf-why-card p {
  font-size: 14px;
  color: var(--eilf-gray);
  margin: 0;
  line-height: 1.65;
}

/* Newsletter section — deep blue with teal accents */
.eilf-newsletter {
  text-align: center;
  padding: 88px 32px;
  background: linear-gradient(180deg, var(--eilf-dark) 0%, #142028 100%);
  position: relative;
}
.eilf-newsletter::before {
  content: '';
  position: absolute;
  top: 0;
  left: 20%;
  right: 20%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(74, 124, 143, 0.3), transparent);
}
.eilf-newsletter h2 {
  font-size: 32px;
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 12px;
  letter-spacing: -0.03em;
}
.eilf-newsletter p {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.55);
  margin: 0 0 36px;
  max-width: 460px;
  margin-left: auto;
  margin-right: auto;
}
.eilf-newsletter-form {
  display: flex;
  max-width: 500px;
  margin: 0 auto;
  gap: 0;
}
.eilf-newsletter-form input[type="email"] {
  flex: 1;
  padding: 16px 24px;
  border: 1px solid rgba(74, 124, 143, 0.3);
  border-right: none;
  border-radius: var(--eilf-radius-pill) 0 0 var(--eilf-radius-pill);
  background: rgba(74, 124, 143, 0.08);
  color: #ffffff;
  font-size: 15px;
  outline: none;
  transition: border-color var(--eilf-transition);
}
.eilf-newsletter-form input[type="email"]:focus {
  border-color: var(--eilf-primary);
}
.eilf-newsletter-form input[type="email"]::placeholder {
  color: rgba(255, 255, 255, 0.4);
}
.eilf-newsletter-form button {
  padding: 16px 32px;
  background: var(--eilf-gradient-gold);
  color: #ffffff;
  border: none;
  border-radius: 0 var(--eilf-radius-pill) var(--eilf-radius-pill) 0;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.eilf-newsletter-form button:hover {
  box-shadow: 0 4px 20px rgba(74, 124, 143, 0.3);
}

/* ============================================
   FOOTER ENHANCEMENTS
   ============================================ */
.elementor-location-footer {
  background: var(--eilf-dark) !important;
}
.elementor-location-footer .elementor-widget-theme-site-logo img {
  max-height: 50px !important;
}

/* ============================================
   ADDITIONAL PREMIUM DETAILS
   ============================================ */

/* Smooth page-wide transitions for interactive elements */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Image placeholders / lazy load fade-in */
img {
  transition: opacity 0.6s ease !important;
}
img[loading="lazy"] {
  opacity: 0;
}
img[loading="lazy"].loaded {
  opacity: 1;
}

/* WooCommerce product gallery thumbnails */
.woocommerce div.product .woocommerce-product-gallery__image {
  border-radius: var(--eilf-radius) !important;
  overflow: hidden !important;
}

/* WooCommerce review section */
.woocommerce #reviews #comments ol.commentlist li .comment-text {
  border: 1px solid var(--eilf-border) !important;
  border-radius: var(--eilf-radius-lg) !important;
  background: var(--eilf-gray-light) !important;
  padding: 24px !important;
}

/* Select2 dropdown (WooCommerce) */
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: var(--eilf-primary) !important;
  color: #ffffff !important;
}
.select2-dropdown {
  background: var(--eilf-white) !important;
  border: 1px solid var(--eilf-border) !important;
  border-radius: var(--eilf-radius) !important;
}
.select2-container--default .select2-results__option {
  color: var(--eilf-charcoal) !important;
  padding: 10px 14px !important;
}

/* Loading spinner / overlay */
.woocommerce .blockUI.blockOverlay {
  background: rgba(255, 255, 255, 0.6) !important;
}
.woocommerce .blockUI.blockOverlay::before {
  border-color: rgba(74, 124, 143, 0.2) !important;
  border-top-color: var(--eilf-primary) !important;
}

/* Added to cart notification */
.woocommerce-message .button.wc-forward {
  background: var(--eilf-gradient-gold) !important;
  color: #ffffff !important;
  border: none !important;
}

/* Mini cart sidebar */
.elementor-menu-cart__container {
  background: var(--eilf-white) !important;
  border-left: 1px solid var(--eilf-border) !important;
}
.elementor-menu-cart__close-button {
  color: var(--eilf-charcoal) !important;
}
.elementor-menu-cart__footer-buttons .elementor-button {
  border-radius: var(--eilf-radius-pill) !important;
}

/* Elementor popup / lightbox */
.elementor-lightbox {
  background: rgba(0, 0, 0, 0.85) !important;
}

/* WooCommerce variable product swatches */
.woocommerce div.product form.cart .variations select {
  background: var(--eilf-white) !important;
  border: 1px solid var(--eilf-border) !important;
  border-radius: var(--eilf-radius) !important;
  color: var(--eilf-charcoal) !important;
  padding: 12px 16px !important;
}

/* Coupon applied */
.woocommerce-cart .cart-discount .amount {
  color: var(--eilf-primary) !important;
  font-weight: 700 !important;
}

/* Empty cart */
.woocommerce-cart .cart-empty,
.woocommerce-cart .return-to-shop {
  text-align: center !important;
  padding: 48px 24px !important;
}
.woocommerce-cart .return-to-shop .button {
  margin-top: 20px !important;
}

/* Order received / Thank you page */
.woocommerce-order-received .woocommerce-order {
  background: var(--eilf-gray-light) !important;
  border: 1px solid var(--eilf-border) !important;
  border-radius: var(--eilf-radius-lg) !important;
  padding: 36px !important;
}

/* ============================================
   MOBILE RESPONSIVE — HOMEPAGE
   ============================================ */
@media (max-width: 1024px) {
  .eilf-feature-bar {
    gap: 36px;
    padding: 36px 24px;
  }
  .eilf-section {
    padding: 64px 24px;
  }
  .eilf-promo-banner {
    padding: 48px 32px;
  }
  .eilf-categories-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }
}

@media (max-width: 768px) {
  .eilf-feature-bar {
    gap: 20px;
    padding: 32px 20px;
    justify-content: flex-start;
  }
  .eilf-feature-item {
    font-size: 12px;
    gap: 10px;
    flex: 0 0 auto;
  }
  .eilf-section {
    padding: 56px 20px;
  }
  .eilf-section-header {
    margin-bottom: 40px;
  }
  .eilf-section-header h2 {
    font-size: 26px;
  }
  .eilf-promo-banner {
    padding: 40px 24px;
    flex-direction: column;
    text-align: center;
    border-radius: var(--eilf-radius-lg);
  }
  .eilf-promo-content h2 {
    font-size: 28px;
  }
  .eilf-promo-content p {
    font-size: 15px;
  }
  .eilf-newsletter {
    padding: 60px 20px;
  }
  .eilf-newsletter h2 {
    font-size: 26px;
  }
  .eilf-newsletter-form {
    flex-direction: column;
    gap: 12px;
  }
  .eilf-newsletter-form input[type="email"] {
    border-right: 1px solid rgba(74, 124, 143, 0.3);
    border-radius: var(--eilf-radius-pill);
  }
  .eilf-newsletter-form button {
    border-radius: var(--eilf-radius-pill);
  }
  .eilf-categories-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .eilf-category-card .eilf-cat-name {
    font-size: 18px;
  }
  .eilf-category-card .eilf-cat-overlay {
    padding: 20px;
  }
}

@media (max-width: 480px) {
  .eilf-feature-bar {
    gap: 16px;
    padding: 24px 16px;
  }
  .eilf-section {
    padding: 44px 16px;
  }
  .eilf-section-header h2 {
    font-size: 22px;
  }
  .eilf-categories-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .eilf-category-card {
    aspect-ratio: 16/10;
  }
  .eilf-promo-banner {
    padding: 32px 20px;
  }
  .eilf-promo-content h2 {
    font-size: 24px;
  }
  .eilf-why-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .eilf-why-card {
    padding: 32px 24px;
  }
}

/* --------------------------------------------------------
   SMOOTH ENTRANCE ANIMATIONS
   -------------------------------------------------------- */
@keyframes eilfFadeInUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes eilfGlowPulse {
  0%, 100% {
    box-shadow: 0 0 0 rgba(74, 124, 143, 0);
  }
  50% {
    box-shadow: 0 0 24px rgba(74, 124, 143, 0.15);
  }
}

/* Apply entrance animation to sections when they scroll into view */
.eilf-section {
  animation: eilfFadeInUp 0.8s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Teal glow pulse on active dot */
.eilf-hero-dot.active {
  animation: eilfGlowPulse 3s ease-in-out infinite;
}

/* --------------------------------------------------------
   SC-PRODUCT → EILF DESIGN BRIDGE
   Unifies ShopCompanion product pages with the eilf palette.
   Overrides sc-product.css variables without editing that file.
   -------------------------------------------------------- */
.sc-product-page {
  --sc-primary: var(--eilf-charcoal);
  --sc-accent: var(--eilf-primary);
  --sc-accent-hover: var(--eilf-primary-dark);
  --sc-success: var(--eilf-success);
  --sc-danger: var(--eilf-sale);
  --sc-bg: var(--eilf-white);
  --sc-bg-soft: var(--eilf-gray-light);
  --sc-border: var(--eilf-border);
  --sc-text: var(--eilf-charcoal);
  --sc-text-muted: var(--eilf-gray);
  --sc-radius: var(--eilf-radius-lg);
  --sc-radius-sm: var(--eilf-radius);
  --sc-font-head: var(--eilf-font);
  --sc-font-body: var(--eilf-font);
}

/* --------------------------------------------------------
   MOBILE WOOCOMMERCE FIXES
   -------------------------------------------------------- */
@media (max-width: 768px) {
  /* Prevent iOS zoom on form inputs (must be >= 16px) */
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="password"],
  input[type="search"],
  input[type="number"],
  textarea,
  select {
    font-size: 16px !important;
  }

  /* Cart table horizontal scroll */
  .woocommerce-cart table.cart {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* Product page spacing */
  .woocommerce div.product {
    padding: 24px 16px !important;
  }
  .woocommerce div.product div.images {
    margin-bottom: 32px !important;
  }

  /* Checkout: full-width columns */
  .woocommerce-checkout .col2-set .col-1,
  .woocommerce-checkout .col2-set .col-2,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    width: 100% !important;
    float: none !important;
  }

  /* My Account: horizontal scroll tabs */
  .woocommerce-MyAccount-navigation ul {
    display: flex !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 0 16px !important;
    border-bottom: 1px solid var(--eilf-border) !important;
  }
  .woocommerce-MyAccount-navigation ul li {
    flex-shrink: 0 !important;
  }
  .woocommerce-MyAccount-navigation ul li a {
    padding: 14px 18px !important;
    font-size: 13px !important;
  }
  .woocommerce-MyAccount-navigation ul li.is-active a {
    border-bottom: 2px solid var(--eilf-primary) !important;
    color: var(--eilf-primary) !important;
  }

  /* Related / upsell products: 2 columns */
  .woocommerce div.product .related ul.products,
  .woocommerce div.product .upsells ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
}

@media (max-width: 480px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
  .woocommerce div.product .related ul.products,
  .woocommerce div.product .upsells ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================================
   21. UTILITY BAR
   ============================================================ */
.eilf-utility-bar {
  background: var(--eilf-black);
  color: var(--eilf-white);
  font-size: 0.75rem;
  line-height: 1;
  letter-spacing: 0.02em;
}

.eilf-utility-bar__inner {
  max-width: var(--eilf-container);
  margin: 0 auto;
  padding: 8px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.eilf-utility-bar__right a {
  color: var(--eilf-white) !important;
  margin-left: 16px;
  opacity: 0.85;
  transition: opacity 0.2s;
}

.eilf-utility-bar__right a:hover {
  opacity: 1;
  text-decoration: underline !important;
}

.eilf-utility-bar__left {
  opacity: 0.85;
}

/* ============================================================
   22. MAIN HEADER
   ============================================================ */
.eilf-main-header {
  background: var(--eilf-white);
  border-bottom: 1px solid var(--eilf-grey-light);
  position: sticky;
  top: 0;
  z-index: 1000;
  transition: box-shadow 0.3s ease;
}

.eilf-main-header.eilf-header-stuck {
  box-shadow: 0 2px 16px rgba(0,0,0,0.08);
}

.eilf-main-header__inner {
  max-width: var(--eilf-container);
  margin: 0 auto;
  padding: 12px 20px;
  display: flex;
  align-items: center;
  gap: 20px;
}

.eilf-main-header__logo {
  flex-shrink: 0;
}

.eilf-main-header__logo .custom-logo {
  max-height: 44px;
  width: auto;
}

.eilf-main-header__logo-text {
  font-family: var(--eilf-font) !important;
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--eilf-black) !important;
  letter-spacing: -0.03em;
  white-space: nowrap;
}

.eilf-main-header__search {
  flex: 1;
  max-width: 600px;
  margin: 0 auto;
}

.eilf-search-form {
  display: flex;
  align-items: center;
  background: var(--eilf-cream);
  border: 1px solid var(--eilf-grey-light);
  border-radius: var(--eilf-radius-pill);
  overflow: hidden;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.eilf-search-form:focus-within {
  border-color: var(--eilf-gold);
  box-shadow: 0 0 0 3px rgba(201,169,110,0.15);
}

.eilf-search-form input[type="search"] {
  flex: 1;
  border: none !important;
  background: transparent !important;
  padding: 10px 16px !important;
  font-size: 0.9rem !important;
  outline: none !important;
  box-shadow: none !important;
  color: var(--eilf-black) !important;
}

.eilf-search-form input[type="search"]::placeholder {
  color: var(--eilf-grey) !important;
}

.eilf-search-form button {
  background: none;
  border: none;
  padding: 8px 14px;
  cursor: pointer;
  color: var(--eilf-grey);
  transition: color 0.2s;
  display: flex;
  align-items: center;
}

.eilf-search-form button:hover {
  color: var(--eilf-black);
}

.eilf-main-header__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.eilf-header-icon {
  color: var(--eilf-black) !important;
  display: flex;
  align-items: center;
  padding: 6px;
  border-radius: 50%;
  transition: background 0.2s;
  position: relative;
}

.eilf-header-icon:hover {
  background: var(--eilf-cream);
}

.eilf-cart-count {
  position: absolute;
  top: -2px;
  right: -4px;
  background: var(--eilf-gold);
  color: var(--eilf-white) !important;
  font-size: 0.65rem;
  font-weight: 700;
  min-width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* Mobile menu toggle */
.eilf-mobile-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  padding: 6px;
  cursor: pointer;
}

.eilf-mobile-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--eilf-black);
  border-radius: 2px;
  transition: transform 0.3s;
}

/* ============================================================
   23. CATEGORY NAV
   ============================================================ */
.eilf-category-nav {
  background: var(--eilf-cream);
  border-bottom: 1px solid var(--eilf-grey-light);
}

.eilf-category-nav__inner {
  max-width: var(--eilf-container);
  margin: 0 auto;
  padding: 0 20px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.eilf-category-nav__inner::-webkit-scrollbar {
  display: none;
}

.eilf-category-nav__list {
  display: flex;
  align-items: center;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  white-space: nowrap;
}

.eilf-category-nav__list li a {
  display: block;
  padding: 12px 18px;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--eilf-black) !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  position: relative;
  transition: color 0.2s;
}

.eilf-category-nav__list li a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 18px;
  right: 18px;
  height: 2px;
  background: var(--eilf-gold);
  transform: scaleX(0);
  transition: transform 0.25s ease;
}

.eilf-category-nav__list li a:hover,
.eilf-category-nav__list li a:focus {
  color: var(--eilf-gold-dark) !important;
}

.eilf-category-nav__list li a:hover::after,
.eilf-category-nav__list li a:focus::after {
  transform: scaleX(1);
}

/* ============================================================
   24. PROMO COUNTDOWN BANNER
   ============================================================ */
.eilf-promo-countdown {
  background: var(--eilf-gold);
  color: var(--eilf-black);
  font-size: 0.9rem;
  font-weight: 600;
}

.eilf-promo-countdown__inner {
  max-width: var(--eilf-container);
  margin: 0 auto;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
}

.eilf-promo-countdown__text code {
  background: var(--eilf-black);
  color: var(--eilf-gold);
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.eilf-promo-countdown__timer {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.eilf-promo-countdown__timer span {
  display: inline-block;
  background: var(--eilf-black);
  color: var(--eilf-gold);
  padding: 2px 6px;
  border-radius: 3px;
  min-width: 28px;
  text-align: center;
  margin: 0 1px;
}

.eilf-promo-countdown__close {
  background: none;
  border: none;
  font-size: 1.3rem;
  cursor: pointer;
  color: var(--eilf-black);
  padding: 0 4px;
  opacity: 0.6;
  transition: opacity 0.2s;
  line-height: 1;
}

.eilf-promo-countdown__close:hover {
  opacity: 1;
}

/* ============================================================
   25. HERO ARROWS
   ============================================================ */
.eilf-hero__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;
  background: rgba(255,255,255,0.15);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 50%;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--eilf-white);
  transition: background 0.3s, transform 0.3s;
}

.eilf-hero__arrow:hover {
  background: rgba(255,255,255,0.3);
  transform: translateY(-50%) scale(1.08);
}

.eilf-hero__arrow--prev { left: 20px; }
.eilf-hero__arrow--next { right: 20px; }

/* ============================================================
   26. BRAND LOGO BAR
   ============================================================ */
.eilf-brand-logos {
  padding: 40px 0;
  background: var(--eilf-white);
  border-bottom: 1px solid var(--eilf-grey-light);
}

.eilf-brand-logos__inner {
  max-width: var(--eilf-container);
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.eilf-brand-logos__inner::-webkit-scrollbar {
  display: none;
}

.eilf-brand-logos__item {
  flex-shrink: 0;
  filter: grayscale(1);
  opacity: 0.6;
  transition: filter 0.3s, opacity 0.3s;
}

.eilf-brand-logos__item:hover {
  filter: grayscale(0);
  opacity: 1;
}

/* ============================================================
   27. PRODUCT CAROUSEL SECTIONS
   ============================================================ */
.eilf-product-carousel-section {
  max-width: var(--eilf-container);
  margin: 0 auto;
  padding: 32px 20px;
}

/* Carousel header */
.eilf-carousel-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--eilf-grey-light);
}

.eilf-carousel-header__left {
  display: flex;
  align-items: baseline;
  gap: 16px;
}

.eilf-carousel-header__title {
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  color: var(--eilf-black) !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

.eilf-carousel-header__viewall {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--eilf-gold-dark) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

.eilf-carousel-header__viewall:hover {
  color: var(--eilf-black) !important;
}

.eilf-carousel-counter {
  font-size: 0.8rem;
  color: var(--eilf-grey);
  font-variant-numeric: tabular-nums;
}

/* Carousel track */
.eilf-carousel-wrap {
  position: relative;
}

.eilf-carousel-track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 4px 0 8px;
}

.eilf-carousel-track::-webkit-scrollbar {
  display: none;
}

/* Carousel arrows */
.eilf-carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background: var(--eilf-white);
  border: 1px solid var(--eilf-grey-light);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--eilf-black);
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  transition: background 0.2s, box-shadow 0.2s;
}

.eilf-carousel-arrow:hover {
  background: var(--eilf-cream);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.eilf-carousel-arrow:disabled {
  opacity: 0.3;
  cursor: default;
  box-shadow: none;
}

.eilf-carousel-arrow--prev { left: -16px; }
.eilf-carousel-arrow--next { right: -16px; }

/* ============================================================
   28. PRODUCT CARD
   ============================================================ */
.eilf-product-card {
  flex: 0 0 calc(25% - 12px);
  min-width: 220px;
  scroll-snap-align: start;
  background: var(--eilf-white);
  border: 1px solid var(--eilf-grey-light);
  border-radius: var(--eilf-radius);
  overflow: hidden;
  transition: box-shadow 0.25s, transform 0.25s;
}

.eilf-product-card:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  transform: translateY(-2px);
}

.eilf-product-card__img-wrap {
  position: relative;
  background: var(--eilf-cream);
  overflow: hidden;
}

.eilf-product-card__img-wrap img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.eilf-product-card:hover .eilf-product-card__img-wrap img {
  transform: scale(1.04);
}

/* Badges */
.eilf-product-card__badges {
  position: absolute;
  top: 8px;
  left: 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  z-index: 2;
}

.eilf-badge {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1.3;
}

.eilf-badge--sale {
  background: var(--eilf-danger);
  color: var(--eilf-white);
}

.eilf-badge--shipping {
  background: var(--eilf-success);
  color: var(--eilf-white);
}

.eilf-badge--new {
  background: #2980b9;
  color: var(--eilf-white);
}

/* Card body */
.eilf-product-card__body {
  padding: 12px 14px 14px;
}

.eilf-product-card__variants {
  display: inline-block;
  font-size: 0.72rem;
  color: var(--eilf-grey);
  margin-bottom: 4px;
}

.eilf-product-card__title {
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  margin: 0 0 6px !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.eilf-product-card__title a {
  color: var(--eilf-black) !important;
}

.eilf-product-card__title a:hover {
  color: var(--eilf-gold-dark) !important;
}

/* Star rating */
.eilf-product-card__rating {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-bottom: 6px;
  font-size: 0.82rem;
}

.eilf-star { color: var(--eilf-star); line-height: 1; }
.eilf-star--empty { color: var(--eilf-grey-light); }
.eilf-star--half { color: var(--eilf-star); opacity: 0.6; }

.eilf-product-card__review-count {
  font-size: 0.72rem;
  color: var(--eilf-grey);
  margin-left: 3px;
}

/* Price */
.eilf-product-card__price {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--eilf-black);
  margin-bottom: 8px;
}

.eilf-product-card__price del {
  color: var(--eilf-grey);
  font-weight: 400;
  font-size: 0.85rem;
  margin-right: 6px;
}

.eilf-product-card__price ins {
  text-decoration: none;
  color: var(--eilf-danger);
  font-weight: 700;
}

/* Compare checkbox */
.eilf-product-card__compare {
  font-size: 0.75rem;
  color: var(--eilf-grey);
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
}

.eilf-product-card__compare input {
  accent-color: var(--eilf-gold);
}

/* ============================================================
   29. SEO CONTENT BLOCK
   ============================================================ */
.eilf-seo-content {
  padding: 56px 20px;
  background: var(--eilf-white);
}

.eilf-seo-content__inner {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.eilf-seo-content__inner h2 {
  font-size: 1.75rem !important;
  font-weight: 800 !important;
  color: var(--eilf-black) !important;
  margin-bottom: 20px !important;
}

.eilf-seo-content__inner p {
  font-size: 0.95rem !important;
  line-height: 1.7 !important;
  color: var(--eilf-grey-dark) !important;
  margin-bottom: 16px !important;
}

/* ============================================================
   30. NEWSLETTER — Gold Restyle
   ============================================================ */
.eilf-newsletter.eilf-newsletter--gold {
  background: var(--eilf-gold) !important;
  color: var(--eilf-black) !important;
  padding: 48px 20px !important;
}

.eilf-newsletter--gold h2 {
  color: var(--eilf-black) !important;
  font-size: 1.5rem !important;
}

.eilf-newsletter--gold p {
  color: var(--eilf-black) !important;
  opacity: 0.85;
}

.eilf-newsletter--gold .eilf-newsletter-form input[type="email"] {
  background: var(--eilf-white) !important;
  border: 1px solid rgba(0,0,0,0.1) !important;
  color: var(--eilf-black) !important;
}

.eilf-newsletter--gold .eilf-newsletter-form button {
  background: var(--eilf-black) !important;
  color: var(--eilf-gold) !important;
}

.eilf-newsletter--gold .eilf-newsletter-form button:hover {
  background: var(--eilf-grey-dark) !important;
}

/* ============================================================
   31. FOOTER
   ============================================================ */
.eilf-footer {
  font-family: var(--eilf-font);
}

.eilf-footer__top {
  background: var(--eilf-black);
  color: var(--eilf-white);
  padding: 48px 0;
}

.eilf-footer__inner {
  max-width: var(--eilf-container);
  margin: 0 auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}

.eilf-footer__col h4 {
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: var(--eilf-white) !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 16px !important;
}

.eilf-footer__col ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.eilf-footer__col ul li {
  margin-bottom: 8px;
  font-size: 0.85rem;
  color: rgba(255,255,255,0.7);
}

.eilf-footer__col ul li a {
  color: rgba(255,255,255,0.7) !important;
  transition: color 0.2s;
}

.eilf-footer__col ul li a:hover {
  color: var(--eilf-gold) !important;
}

.eilf-footer__guarantee {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  font-size: 0.85rem;
  color: rgba(255,255,255,0.8);
}

.eilf-footer__guarantee svg {
  flex-shrink: 0;
  color: var(--eilf-gold);
  stroke: var(--eilf-gold);
}

/* Footer bottom */
.eilf-footer__bottom {
  background: #111;
  padding: 20px 0;
}

.eilf-footer__bottom .eilf-footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}

.eilf-footer__copy {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.5);
  margin: 0;
}

.eilf-footer__social {
  display: flex;
  gap: 16px;
}

.eilf-footer__social a {
  color: rgba(255,255,255,0.5) !important;
  transition: color 0.2s;
  display: flex;
}

.eilf-footer__social a:hover {
  color: var(--eilf-gold) !important;
}

.eilf-footer__legal {
  font-size: 0.78rem;
  display: flex;
  gap: 8px;
  align-items: center;
}

.eilf-footer__legal a {
  color: rgba(255,255,255,0.5) !important;
}

.eilf-footer__legal a:hover {
  color: var(--eilf-gold) !important;
}

.eilf-footer__legal span {
  color: rgba(255,255,255,0.3);
}

/* ============================================================
   32. RESPONSIVE — NEW SECTIONS
   ============================================================ */
@media (max-width: 1024px) {
  .eilf-product-card {
    flex: 0 0 calc(33.333% - 11px);
  }
  .eilf-carousel-arrow--prev { left: -8px; }
  .eilf-carousel-arrow--next { right: -8px; }
}

@media (max-width: 768px) {
  /* Utility bar */
  .eilf-utility-bar__inner {
    flex-direction: column;
    gap: 4px;
    text-align: center;
    padding: 6px 12px;
  }
  .eilf-utility-bar__right a {
    margin-left: 10px;
  }

  /* Header */
  .eilf-main-header__inner {
    flex-wrap: wrap;
    padding: 10px 16px;
  }
  .eilf-main-header__search {
    order: 3;
    flex: 1 1 100%;
    max-width: 100%;
    margin-top: 8px;
  }
  .eilf-main-header__actions {
    margin-left: auto;
  }
  .eilf-mobile-toggle {
    display: flex;
  }

  /* Category nav */
  .eilf-category-nav__list li a {
    padding: 10px 12px;
    font-size: 0.78rem;
  }

  /* Product cards */
  .eilf-product-card {
    flex: 0 0 calc(50% - 8px);
    min-width: 160px;
  }

  /* Carousel arrows — hide on mobile, use swipe */
  .eilf-carousel-arrow {
    display: none;
  }

  /* Hero arrows */
  .eilf-hero__arrow {
    width: 36px;
    height: 36px;
  }
  .eilf-hero__arrow--prev { left: 10px; }
  .eilf-hero__arrow--next { right: 10px; }

  /* Footer */
  .eilf-footer__inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
  .eilf-footer__bottom .eilf-footer__inner {
    flex-direction: column;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .eilf-product-card {
    flex: 0 0 calc(50% - 8px);
    min-width: 140px;
  }

  .eilf-footer__inner {
    grid-template-columns: 1fr;
  }

  .eilf-promo-countdown__inner {
    flex-direction: column;
    gap: 8px;
  }

  .eilf-carousel-header {
    flex-direction: column;
    gap: 4px;
  }

  .eilf-carousel-header__right {
    align-self: flex-end;
  }
}

/* ========================================================
   PART 2 — ALL PAGES BEYOND HOMEPAGE
   ======================================================== */

/* --------------------------------------------------------
   33. GLOBAL — Breadcrumbs
   -------------------------------------------------------- */

.woocommerce-breadcrumb,
.eilf-breadcrumb {
  font-size: 0.85rem;
  color: var(--eilf-grey);
  padding: 12px 0;
  max-width: var(--eilf-container);
  margin: 0 auto;
}

.woocommerce-breadcrumb a,
.eilf-breadcrumb a {
  color: var(--eilf-gold-dark);
  text-decoration: none;
}

.woocommerce-breadcrumb a:hover,
.eilf-breadcrumb a:hover {
  text-decoration: underline;
}

/* --------------------------------------------------------
   34. GLOBAL — Buttons
   -------------------------------------------------------- */

.eilf-btn {
  display: inline-block;
  padding: 12px 28px;
  border-radius: var(--eilf-radius, 6px);
  font-family: 'Figtree', sans-serif;
  font-weight: 600;
  font-size: 0.95rem;
  text-decoration: none;
  text-align: center;
  border: none;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
}

.eilf-btn:active {
  transform: scale(0.97);
}

.eilf-btn--gold {
  background: var(--eilf-gold);
  color: var(--eilf-black);
}

.eilf-btn--gold:hover {
  background: var(--eilf-gold-dark);
}

.eilf-btn--outline {
  background: transparent;
  border: 2px solid var(--eilf-black);
  color: var(--eilf-black);
}

.eilf-btn--outline:hover {
  background: var(--eilf-black);
  color: #fff;
}

.eilf-btn--sm {
  padding: 6px 16px;
  font-size: 0.82rem;
}

.eilf-btn--lg {
  padding: 16px 36px;
  font-size: 1.05rem;
}

/* --------------------------------------------------------
   35. SHOP PAGE
   -------------------------------------------------------- */

.eilf-shop-page {
  max-width: var(--eilf-container);
  margin: 0 auto;
  padding: 0 16px 60px;
}

.eilf-shop-page__breadcrumbs {
  padding: 16px 0 8px;
}

.eilf-shop-page__layout {
  display: flex;
  gap: 32px;
}

/* Sidebar */
.eilf-shop-sidebar {
  width: 280px;
  flex-shrink: 0;
}

.eilf-shop-sidebar__header {
  display: none;
}

.eilf-filter-group {
  border-bottom: 1px solid var(--eilf-grey-light, #eee);
  padding: 16px 0;
}

.eilf-filter-group__title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  font-size: 0.92rem;
  font-weight: 600;
  margin: 0;
  user-select: none;
}

.eilf-filter-group__title svg {
  transition: transform 0.2s;
}

.eilf-filter-group__title.collapsed svg {
  transform: rotate(-90deg);
}

.eilf-filter-group__body {
  padding-top: 10px;
}

.eilf-filter-group__body.collapsed {
  display: none;
}

.eilf-filter-cats {
  list-style: none;
  margin: 0;
  padding: 0;
}

.eilf-filter-cats li {
  margin-bottom: 6px;
}

.eilf-filter-cats a {
  color: var(--eilf-black);
  text-decoration: none;
  font-size: 0.88rem;
}

.eilf-filter-cats a:hover,
.eilf-filter-cats li.active a {
  color: var(--eilf-gold-dark);
  font-weight: 600;
}

.eilf-filter-cats a span {
  color: var(--eilf-grey);
  font-size: 0.82rem;
}

/* Price filter */
.eilf-filter-price__inputs {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.eilf-filter-price__inputs input {
  width: 80px;
  padding: 6px 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 0.88rem;
}

.eilf-filter-price__inputs input:focus {
  border-color: var(--eilf-gold);
  outline: none;
}

/* Rating filter */
.eilf-filter-rating {
  list-style: none;
  margin: 0;
  padding: 0;
}

.eilf-filter-rating li {
  margin-bottom: 4px;
}

.eilf-filter-rating a {
  display: flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  color: var(--eilf-black);
  font-size: 0.85rem;
}

.eilf-filter-rating a.active {
  font-weight: 600;
  color: var(--eilf-gold-dark);
}

/* Availability toggles */
.eilf-filter-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 0.88rem;
  margin-bottom: 8px;
}

.eilf-filter-toggle input[type="checkbox"] {
  accent-color: var(--eilf-gold);
  width: 16px;
  height: 16px;
}

.eilf-filter-clear {
  display: inline-block;
  margin-top: 16px;
  font-size: 0.85rem;
  color: var(--eilf-danger, #c00);
  text-decoration: underline;
}

/* Overlay */
.eilf-shop-overlay {
  display: none;
}

/* Toolbar */
.eilf-shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid var(--eilf-grey-light, #eee);
  margin-bottom: 20px;
  flex-wrap: wrap;
  gap: 8px;
}

.eilf-shop-toolbar__left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.eilf-shop-toolbar__filter-btn {
  display: none;
  align-items: center;
  gap: 6px;
  background: var(--eilf-black);
  color: #fff;
  border: none;
  padding: 8px 14px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.85rem;
  font-weight: 600;
}

.eilf-shop-toolbar__right {
  display: flex;
  align-items: center;
  gap: 12px;
}

.eilf-shop-toolbar .woocommerce-ordering select {
  padding: 6px 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 0.85rem;
  font-family: 'Figtree', sans-serif;
}

.eilf-shop-toolbar__view {
  display: flex;
  gap: 4px;
}

.eilf-view-btn {
  background: none;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 6px;
  cursor: pointer;
  color: var(--eilf-grey);
  transition: all 0.15s;
}

.eilf-view-btn.active {
  color: var(--eilf-black);
  border-color: var(--eilf-black);
}

.woocommerce-result-count {
  font-size: 0.85rem;
  color: var(--eilf-grey);
  margin: 0;
}

/* Shop main area */
.eilf-shop-main {
  flex: 1;
  min-width: 0;
}

.eilf-shop-main ul.products {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* List view */
.eilf-shop-main ul.products.eilf-view-list {
  grid-template-columns: 1fr;
}

.eilf-view-list .eilf-product-card {
  display: flex;
  flex-direction: row;
  gap: 20px;
}

.eilf-view-list .eilf-product-card__img-wrap {
  width: 200px;
  flex-shrink: 0;
}

/* Pagination */
.eilf-shop-pagination {
  padding: 30px 0;
}

.eilf-shop-pagination .woocommerce-pagination {
  text-align: center;
}

.eilf-shop-pagination .page-numbers {
  display: inline-flex;
  gap: 4px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.eilf-shop-pagination .page-numbers li a,
.eilf-shop-pagination .page-numbers li span {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid #ddd;
  border-radius: 4px;
  text-decoration: none;
  color: var(--eilf-black);
  font-size: 0.88rem;
}

.eilf-shop-pagination .page-numbers li span.current {
  background: var(--eilf-gold);
  border-color: var(--eilf-gold);
  color: var(--eilf-black);
  font-weight: 600;
}

.eilf-shop-pagination .page-numbers li a:hover {
  border-color: var(--eilf-gold);
}

/* Empty state */
.eilf-shop-empty {
  text-align: center;
  padding: 60px 20px;
}

.eilf-shop-empty h2 {
  margin-bottom: 8px;
}

.eilf-shop-empty p {
  color: var(--eilf-grey);
  margin-bottom: 24px;
}

/* Wishlist heart on cards */
.eilf-wishlist-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 5;
  background: #fff;
  border: none;
  border-radius: 50%;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 1px 4px rgba(0,0,0,0.12);
  transition: all 0.2s;
}

.eilf-wishlist-btn:hover {
  transform: scale(1.1);
}

.eilf-wishlist-btn.active svg {
  fill: #e53e3e;
  stroke: #e53e3e;
}

.eilf-product-card__img-wrap {
  position: relative;
}

/* --------------------------------------------------------
   36. SINGLE PRODUCT — EILF overrides for sc- classes
   -------------------------------------------------------- */

.sc-product-page {
  max-width: var(--eilf-container);
  margin: 0 auto;
  padding: 0 16px 60px;
}

.sc-breadcrumb {
  padding: 16px 0 8px;
}

.sc-breadcrumb .woocommerce-breadcrumb {
  font-size: 0.85rem;
  color: var(--eilf-grey);
}

.sc-breadcrumb .woocommerce-breadcrumb a {
  color: var(--eilf-gold-dark);
}

.sc-product-main {
  display: grid;
  grid-template-columns: 55% 45%;
  gap: 40px;
  margin-bottom: 40px;
}

.sc-gallery {
  position: relative;
}

.sc-gallery__main {
  border-radius: var(--eilf-radius, 6px);
  overflow: hidden;
  background: #f9f9f9;
}

.sc-gallery__img {
  width: 100%;
  height: auto;
  display: block;
}

.sc-gallery__thumbs {
  display: flex;
  gap: 8px;
  margin-top: 12px;
  overflow-x: auto;
}

.sc-gallery__thumb {
  width: 72px;
  height: 72px;
  border: 2px solid transparent;
  border-radius: 4px;
  cursor: pointer;
  overflow: hidden;
  flex-shrink: 0;
  transition: border-color 0.2s;
}

.sc-gallery__thumb:hover,
.sc-gallery__thumb.active {
  border-color: var(--eilf-gold);
}

.sc-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sc-badges {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.sc-badge {
  padding: 4px 10px;
  border-radius: 3px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
}

.sc-badge--sale {
  background: var(--eilf-danger, #c00);
  color: #fff;
}

.sc-badge--hot {
  background: var(--eilf-gold);
  color: var(--eilf-black);
}

.sc-badge--oos {
  background: var(--eilf-grey);
  color: #fff;
}

.sc-product-info__title {
  font-family: 'Figtree', sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 8px;
}

.sc-product-info__category {
  font-size: 0.82rem;
  color: var(--eilf-grey);
  margin-bottom: 6px;
}

.sc-product-info__category a {
  color: var(--eilf-gold-dark);
  text-decoration: none;
}

.sc-product-info__rating {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 12px;
}

.sc-stars {
  display: flex;
  gap: 1px;
}

.sc-star {
  color: #ddd;
  font-size: 1.1rem;
}

.sc-star--filled {
  color: #f5a623;
}

.sc-rating-count {
  font-size: 0.82rem;
  color: var(--eilf-grey);
}

.sc-product-info__price {
  font-size: 1.35rem;
  font-weight: 700;
  margin-bottom: 16px;
}

.sc-product-info__price del {
  color: var(--eilf-grey);
  font-weight: 400;
  margin-right: 8px;
}

.sc-product-info__price ins {
  color: var(--eilf-danger, #c00);
  text-decoration: none;
}

.sc-savings {
  display: inline-block;
  background: #fef2f2;
  color: var(--eilf-danger, #c00);
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 0.78rem;
  font-weight: 600;
  margin-left: 8px;
}

.sc-product-info__short-desc {
  font-size: 0.92rem;
  line-height: 1.6;
  color: #555;
  margin-bottom: 16px;
}

.sc-stock-status {
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 16px;
}

.sc-stock-status--instock {
  background: #f0fdf4;
  color: #16a34a;
}

.sc-stock-status--outofstock {
  background: #fef2f2;
  color: #dc2626;
}

.sc-stock-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #16a34a;
  margin-right: 6px;
  animation: eilf-pulse-dot 1.5s infinite;
}

@keyframes eilf-pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

/* ATC form */
.sc-add-to-cart .cart {
  display: flex;
  align-items: stretch;
  gap: 12px;
  margin-bottom: 16px;
}

.sc-add-to-cart .quantity {
  display: flex;
  align-items: center;
  border: 1px solid #ddd;
  border-radius: 4px;
  overflow: hidden;
}

.sc-add-to-cart .quantity input[type="number"] {
  width: 50px;
  text-align: center;
  border: none;
  font-size: 1rem;
  font-family: 'Figtree', sans-serif;
  -moz-appearance: textfield;
}

.sc-add-to-cart .quantity input::-webkit-outer-spin-button,
.sc-add-to-cart .quantity input::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

.sc-add-to-cart .single_add_to_cart_button {
  flex: 1;
  background: var(--eilf-gold) !important;
  color: var(--eilf-black) !important;
  border: none;
  padding: 14px 24px;
  border-radius: 4px;
  font-family: 'Figtree', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: background 0.2s;
}

.sc-add-to-cart .single_add_to_cart_button:hover {
  background: var(--eilf-gold-dark) !important;
}

/* Variations */
.sc-add-to-cart .variations select {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 0.92rem;
  font-family: 'Figtree', sans-serif;
}

.sc-add-to-cart .variations select:focus {
  border-color: var(--eilf-gold);
  outline: none;
}

.sc-add-to-cart .variations td.label label {
  font-weight: 600;
  font-size: 0.88rem;
}

/* Trust badges */
.sc-trust-badges,
.eilf-trust-badges {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin: 20px 0;
}

.sc-trust-badge,
.eilf-trust-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.82rem;
  color: #555;
  padding: 8px 10px;
  background: #f9f9f9;
  border-radius: 4px;
}

.sc-trust-icon {
  font-size: 1.1rem;
}

/* Delivery estimate */
.sc-delivery-estimate {
  padding: 10px 14px;
  background: #fefce8;
  border-radius: 4px;
  font-size: 0.85rem;
  margin-bottom: 16px;
}

/* Social share */
.sc-share {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.82rem;
  color: var(--eilf-grey);
  margin-top: 16px;
}

.sc-share-btn {
  padding: 4px 10px;
  border-radius: 3px;
  font-size: 0.78rem;
  text-decoration: none;
  color: #fff;
}

.sc-share-btn--fb { background: #1877f2; }
.sc-share-btn--tw { background: #1da1f2; }
.sc-share-btn--pt { background: #e60023; }

/* Product tabs */
.sc-tabs-section {
  margin-top: 40px;
}

.sc-tabs {
  display: flex;
  border-bottom: 2px solid var(--eilf-grey-light, #eee);
  gap: 0;
  overflow-x: auto;
}

.sc-tab {
  padding: 12px 24px;
  border: none;
  background: none;
  cursor: pointer;
  font-family: 'Figtree', sans-serif;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--eilf-grey);
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  transition: all 0.2s;
  white-space: nowrap;
}

.sc-tab:hover {
  color: var(--eilf-black);
}

.sc-tab--active {
  color: var(--eilf-black);
  border-bottom-color: var(--eilf-gold);
}

.sc-tab-content {
  display: none;
  padding: 24px 0;
  line-height: 1.7;
}

.sc-tab-content--active {
  display: block;
}

.sc-specs-table {
  width: 100%;
  border-collapse: collapse;
}

.sc-specs-table th,
.sc-specs-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--eilf-grey-light, #eee);
  text-align: left;
  font-size: 0.9rem;
}

.sc-specs-table th {
  font-weight: 600;
  width: 35%;
  color: var(--eilf-grey-dark, #555);
}

/* Related & upsells */
.sc-related,
.sc-upsells {
  margin-top: 50px;
}

.sc-section-title {
  font-family: 'Figtree', sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 24px;
}

.sc-product-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

/* Recently viewed */
.sc-recently-viewed {
  margin-top: 50px;
}

/* Gallery zoom hint */
.sc-gallery__zoom-hint {
  position: absolute;
  bottom: 10px;
  right: 10px;
  background: rgba(0,0,0,0.6);
  color: #fff;
  padding: 4px 10px;
  border-radius: 3px;
  font-size: 0.75rem;
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}

.sc-gallery__main:hover .sc-gallery__zoom-hint {
  opacity: 1;
}

/* Sticky ATC bar */
.sc-sticky-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  border-top: 1px solid var(--eilf-grey-light, #eee);
  padding: 10px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  z-index: 999;
  transform: translateY(100%);
  transition: transform 0.3s;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.08);
}

.sc-sticky-bar.visible {
  transform: translateY(0);
}

/* --------------------------------------------------------
   37. CART PAGE
   -------------------------------------------------------- */

.woocommerce-cart .woocommerce {
  max-width: var(--eilf-container);
  margin: 0 auto;
  padding: 20px 16px 60px;
}

.woocommerce-cart .woocommerce-cart-form__contents {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce-cart .woocommerce-cart-form__contents th {
  text-align: left;
  padding: 12px 10px;
  border-bottom: 2px solid var(--eilf-grey-light, #eee);
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--eilf-grey);
}

.woocommerce-cart .woocommerce-cart-form__contents td {
  padding: 16px 10px;
  border-bottom: 1px solid var(--eilf-grey-light, #eee);
  vertical-align: middle;
}

.woocommerce-cart .product-thumbnail img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 4px;
}

.woocommerce-cart .product-name a {
  color: var(--eilf-black);
  text-decoration: none;
  font-weight: 500;
}

.woocommerce-cart .product-name a:hover {
  color: var(--eilf-gold-dark);
}

.woocommerce-cart .product-quantity .quantity input {
  width: 60px;
  text-align: center;
  padding: 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 0.95rem;
  font-family: 'Figtree', sans-serif;
}

.woocommerce-cart .product-remove a {
  color: var(--eilf-grey) !important;
  font-size: 1.4rem;
  text-decoration: none;
}

.woocommerce-cart .product-remove a:hover {
  color: var(--eilf-danger, #c00) !important;
}

.woocommerce-cart .coupon {
  display: flex;
  gap: 8px;
}

.woocommerce-cart .coupon input[type="text"] {
  padding: 10px 14px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 0.9rem;
  font-family: 'Figtree', sans-serif;
}

.woocommerce-cart .coupon input:focus {
  border-color: var(--eilf-gold);
  outline: none;
}

.woocommerce-cart .coupon button,
.woocommerce-cart button[name="update_cart"] {
  background: var(--eilf-black);
  color: #fff;
  border: none;
  padding: 10px 20px;
  border-radius: 4px;
  font-family: 'Figtree', sans-serif;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.2s;
}

.woocommerce-cart .coupon button:hover,
.woocommerce-cart button[name="update_cart"]:hover {
  opacity: 0.85;
}

/* Cart totals */
.woocommerce-cart .cart_totals {
  max-width: 420px;
  margin-left: auto;
  margin-top: 30px;
}

.woocommerce-cart .cart_totals h2 {
  font-family: 'Figtree', sans-serif;
  font-size: 1.2rem;
  margin-bottom: 16px;
}

.woocommerce-cart .cart_totals table {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals td {
  padding: 12px 0;
  border-bottom: 1px solid var(--eilf-grey-light, #eee);
  font-size: 0.92rem;
}

.woocommerce-cart .cart_totals th {
  text-align: left;
  font-weight: 600;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  font-size: 1.15rem;
  font-weight: 700;
  border-bottom: none;
  padding-top: 16px;
}

.woocommerce-cart .wc-proceed-to-checkout a {
  display: block;
  background: var(--eilf-gold) !important;
  color: var(--eilf-black) !important;
  text-align: center;
  padding: 16px;
  border-radius: 4px;
  font-family: 'Figtree', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-top: 16px;
  transition: background 0.2s;
}

.woocommerce-cart .wc-proceed-to-checkout a:hover {
  background: var(--eilf-gold-dark) !important;
}

/* Empty cart */
.woocommerce-cart .cart-empty {
  text-align: center;
  padding: 60px 20px;
  font-size: 1.1rem;
}

.woocommerce-cart .return-to-shop a {
  display: inline-block;
  background: var(--eilf-gold);
  color: var(--eilf-black);
  padding: 14px 32px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 700;
  margin-top: 16px;
}

/* --------------------------------------------------------
   38. CHECKOUT PAGE
   -------------------------------------------------------- */

.woocommerce-checkout .woocommerce {
  max-width: var(--eilf-container);
  margin: 0 auto;
  padding: 20px 16px 60px;
}

.woocommerce-checkout .col2-set {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}

.woocommerce-checkout h3 {
  font-family: 'Figtree', sans-serif;
  font-size: 1.2rem;
  margin-bottom: 16px;
}

.woocommerce-checkout .woocommerce-input-wrapper input,
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce-checkout .woocommerce-input-wrapper textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #ddd;
  border-radius: var(--eilf-radius, 6px);
  font-size: 16px;
  font-family: 'Figtree', sans-serif;
  transition: border-color 0.2s;
}

.woocommerce-checkout .woocommerce-input-wrapper input:focus,
.woocommerce-checkout .woocommerce-input-wrapper select:focus,
.woocommerce-checkout .woocommerce-input-wrapper textarea:focus {
  border-color: var(--eilf-gold);
  outline: none;
  box-shadow: 0 0 0 2px rgba(201,169,110,0.15);
}

.woocommerce-checkout .form-row label {
  display: block;
  font-size: 0.88rem;
  font-weight: 600;
  margin-bottom: 4px;
}

.woocommerce-checkout .form-row {
  margin-bottom: 16px;
}

/* Order review */
.woocommerce-checkout #order_review_heading {
  font-family: 'Figtree', sans-serif;
  font-size: 1.2rem;
  margin-top: 30px;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
  padding: 10px 0;
  border-bottom: 1px solid var(--eilf-grey-light, #eee);
  font-size: 0.9rem;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
  font-size: 1.1rem;
  font-weight: 700;
}

/* Payment methods */
.woocommerce-checkout .wc_payment_methods {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
}

.woocommerce-checkout .wc_payment_methods li {
  padding: 12px 14px;
  border: 1px solid #ddd;
  border-radius: 4px;
  margin-bottom: 8px;
}

.woocommerce-checkout .wc_payment_methods li label {
  cursor: pointer;
  font-weight: 600;
  font-size: 0.92rem;
}

.woocommerce-checkout .wc_payment_methods input[type="radio"] {
  accent-color: var(--eilf-gold);
  margin-right: 8px;
}

/* Place order button */
.woocommerce-checkout #place_order {
  display: block;
  width: 100%;
  background: var(--eilf-gold) !important;
  color: var(--eilf-black) !important;
  border: none;
  padding: 16px;
  border-radius: 4px;
  font-family: 'Figtree', sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: background 0.2s;
}

.woocommerce-checkout #place_order:hover {
  background: var(--eilf-gold-dark) !important;
}

/* Coupon toggle */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  background: #f9f9f9;
  border-left: 3px solid var(--eilf-gold);
  padding: 12px 16px;
  font-size: 0.88rem;
  margin-bottom: 20px;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a {
  color: var(--eilf-gold-dark);
}

/* --------------------------------------------------------
   39. THANK YOU PAGE
   -------------------------------------------------------- */

.eilf-thankyou {
  max-width: 800px;
  margin: 0 auto;
  padding: 40px 16px 80px;
}

.eilf-thankyou__hero {
  text-align: center;
  margin-bottom: 40px;
}

.eilf-thankyou__check {
  margin-bottom: 16px;
}

.eilf-thankyou__hero h1 {
  font-family: 'Figtree', sans-serif;
  font-size: 1.6rem;
  margin: 0 0 6px;
}

.eilf-thankyou__subtitle {
  color: var(--eilf-grey);
  font-size: 0.95rem;
}

.eilf-thankyou__meta {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 30px;
  padding: 20px;
  background: #f9f9f9;
  border-radius: var(--eilf-radius, 6px);
}

.eilf-thankyou__meta-item {
  text-align: center;
}

.eilf-thankyou__label {
  display: block;
  font-size: 0.78rem;
  color: var(--eilf-grey);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}

.eilf-thankyou__items {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 30px;
}

.eilf-thankyou__items th {
  text-align: left;
  padding: 10px 0;
  border-bottom: 2px solid var(--eilf-grey-light, #eee);
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--eilf-grey);
}

.eilf-thankyou__items td {
  padding: 12px 0;
  border-bottom: 1px solid var(--eilf-grey-light, #eee);
  font-size: 0.9rem;
}

.eilf-thankyou__product {
  display: flex;
  align-items: center;
  gap: 12px;
}

.eilf-thankyou__product img {
  border-radius: 4px;
  object-fit: cover;
}

.eilf-thankyou__next {
  background: #f0fdf4;
  padding: 20px;
  border-radius: var(--eilf-radius, 6px);
  margin-bottom: 24px;
}

.eilf-thankyou__next h3 {
  margin: 0 0 8px;
  font-size: 1rem;
}

.eilf-thankyou__next a {
  color: var(--eilf-gold-dark);
}

.eilf-thankyou__cta {
  text-align: center;
}

/* --------------------------------------------------------
   40. MY ACCOUNT
   -------------------------------------------------------- */

.woocommerce-account .woocommerce {
  max-width: var(--eilf-container);
  margin: 0 auto;
  padding: 20px 16px 60px;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 240px;
  float: left;
  margin-right: 40px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  margin-bottom: 2px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 12px 16px;
  color: var(--eilf-black);
  text-decoration: none;
  font-size: 0.92rem;
  border-radius: 4px;
  transition: background 0.15s;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--eilf-grey-light, #f5f5f5);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background: var(--eilf-gold);
  color: var(--eilf-black);
  font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-content {
  overflow: hidden;
}

/* Orders table */
.woocommerce-account .woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce-account .woocommerce-orders-table th {
  text-align: left;
  padding: 10px;
  border-bottom: 2px solid var(--eilf-grey-light, #eee);
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--eilf-grey);
}

.woocommerce-account .woocommerce-orders-table td {
  padding: 14px 10px;
  border-bottom: 1px solid var(--eilf-grey-light, #eee);
  font-size: 0.9rem;
}

.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a {
  background: var(--eilf-black);
  color: #fff;
  padding: 6px 14px;
  border-radius: 3px;
  text-decoration: none;
  font-size: 0.8rem;
  font-weight: 600;
}

/* Status badges */
.woocommerce-account .woocommerce-orders-table .order-status {
  font-weight: 600;
  font-size: 0.82rem;
}

/* Address cards */
.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
  background: #f9f9f9;
  padding: 20px;
  border-radius: var(--eilf-radius, 6px);
}

/* Login / Register */
.woocommerce-account .u-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
  padding: 30px;
  background: #f9f9f9;
  border-radius: var(--eilf-radius, 6px);
}

.woocommerce-account .woocommerce-form-login input,
.woocommerce-account .woocommerce-form-register input {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 16px;
  font-family: 'Figtree', sans-serif;
  margin-bottom: 12px;
}

.woocommerce-account .woocommerce-form-login input:focus,
.woocommerce-account .woocommerce-form-register input:focus {
  border-color: var(--eilf-gold);
  outline: none;
}

.woocommerce-account .woocommerce-form-login button,
.woocommerce-account .woocommerce-form-register button {
  background: var(--eilf-gold) !important;
  color: var(--eilf-black) !important;
  border: none;
  padding: 14px 28px;
  border-radius: 4px;
  font-family: 'Figtree', sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  cursor: pointer;
}

.woocommerce-account .lost_password a {
  color: var(--eilf-gold-dark);
  font-size: 0.85rem;
}

/* --------------------------------------------------------
   41. 404 PAGE
   -------------------------------------------------------- */

.eilf-404 {
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 16px;
}

.eilf-404__inner {
  text-align: center;
  max-width: 600px;
}

.eilf-404__big {
  display: block;
  font-size: 8rem;
  font-weight: 900;
  line-height: 1;
  color: var(--eilf-gold);
  font-family: 'Figtree', sans-serif;
  margin-bottom: 12px;
}

.eilf-404 h1 {
  font-size: 1.6rem;
  margin: 0 0 8px;
}

.eilf-404 p {
  color: var(--eilf-grey);
  margin-bottom: 24px;
}

.eilf-404__search {
  margin-bottom: 16px;
}

.eilf-404__search form {
  display: flex;
  gap: 8px;
  max-width: 400px;
  margin: 0 auto;
}

.eilf-404__search input[type="search"] {
  flex: 1;
  padding: 12px 14px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 16px;
  font-family: 'Figtree', sans-serif;
}

.eilf-404__search input:focus {
  border-color: var(--eilf-gold);
  outline: none;
}

.eilf-404__cats {
  margin-top: 40px;
}

.eilf-404__cats h3 {
  font-size: 1rem;
  margin-bottom: 12px;
}

.eilf-404__cats-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

.eilf-404__cat-link {
  display: inline-block;
  padding: 8px 16px;
  border: 1px solid #ddd;
  border-radius: 20px;
  font-size: 0.85rem;
  color: var(--eilf-black);
  text-decoration: none;
  transition: all 0.2s;
}

.eilf-404__cat-link:hover {
  border-color: var(--eilf-gold);
  background: var(--eilf-gold);
  color: var(--eilf-black);
}

/* --------------------------------------------------------
   42. ABOUT PAGE
   -------------------------------------------------------- */

.eilf-about__hero {
  background: var(--eilf-black);
  color: #fff;
  padding: 80px 16px;
  text-align: center;
}

.eilf-about__hero h1 {
  font-family: 'Figtree', sans-serif;
  font-size: 2.4rem;
  font-weight: 800;
  margin: 0 0 12px;
}

.eilf-about__hero p {
  font-size: 1.1rem;
  opacity: 0.8;
  max-width: 600px;
  margin: 0 auto;
}

.eilf-about__story {
  max-width: var(--eilf-container);
  margin: 0 auto;
  padding: 60px 16px;
}

.eilf-about__story-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}

.eilf-about__story-text h2 {
  font-family: 'Figtree', sans-serif;
  font-size: 1.6rem;
  margin: 0 0 16px;
}

.eilf-about__story-text p {
  line-height: 1.7;
  color: #555;
  margin-bottom: 14px;
}

.eilf-about__placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #f5f5f5;
  border-radius: var(--eilf-radius, 6px);
  aspect-ratio: 4/3;
  color: var(--eilf-grey);
  font-size: 0.85rem;
  gap: 10px;
}

.eilf-about__values {
  background: #f9f9f9;
  padding: 60px 16px;
  text-align: center;
}

.eilf-about__values h2 {
  font-family: 'Figtree', sans-serif;
  font-size: 1.6rem;
  margin: 0 0 32px;
}

.eilf-about__values-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: var(--eilf-container);
  margin: 0 auto;
}

.eilf-about__value-card {
  background: #fff;
  padding: 32px 24px;
  border-radius: var(--eilf-radius, 6px);
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}

.eilf-about__value-card h3 {
  font-size: 1.05rem;
  margin: 16px 0 8px;
}

.eilf-about__value-card p {
  font-size: 0.88rem;
  line-height: 1.6;
  color: #555;
}

.eilf-about__cta {
  text-align: center;
  padding: 60px 16px;
}

.eilf-about__cta h2 {
  font-family: 'Figtree', sans-serif;
  font-size: 1.5rem;
  margin: 0 0 20px;
}

/* --------------------------------------------------------
   43. CONTACT PAGE
   -------------------------------------------------------- */

.eilf-contact {
  max-width: var(--eilf-container);
  margin: 0 auto;
  padding: 40px 16px 60px;
}

.eilf-contact h1 {
  font-family: 'Figtree', sans-serif;
  font-size: 2rem;
  text-align: center;
  margin: 0 0 40px;
}

.eilf-contact__layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 40px;
}

.eilf-contact-form {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.eilf-form-row {
  margin-bottom: 18px;
}

.eilf-form-row label {
  display: block;
  font-size: 0.88rem;
  font-weight: 600;
  margin-bottom: 5px;
}

.eilf-form-row label span {
  color: var(--eilf-danger, #c00);
}

.eilf-form-row input,
.eilf-form-row select,
.eilf-form-row textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #ddd;
  border-radius: var(--eilf-radius, 6px);
  font-size: 16px;
  font-family: 'Figtree', sans-serif;
  transition: border-color 0.2s;
}

.eilf-form-row input:focus,
.eilf-form-row select:focus,
.eilf-form-row textarea:focus {
  border-color: var(--eilf-gold);
  outline: none;
  box-shadow: 0 0 0 2px rgba(201,169,110,0.15);
}

.eilf-contact-form__status {
  margin-top: 12px;
  font-size: 0.9rem;
}

.eilf-contact__info-card {
  background: #f9f9f9;
  padding: 30px;
  border-radius: var(--eilf-radius, 6px);
  height: fit-content;
}

.eilf-contact__info-card h3 {
  font-size: 1.1rem;
  margin: 0 0 16px;
}

.eilf-contact__info-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.eilf-contact__info-card li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 16px;
  font-size: 0.9rem;
  color: #555;
}

.eilf-contact__info-card li svg {
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--eilf-gold-dark);
}

.eilf-contact__info-card a {
  color: var(--eilf-gold-dark);
  text-decoration: none;
}

.eilf-contact__map {
  margin-top: 40px;
}

.eilf-contact__map-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #f5f5f5;
  border-radius: var(--eilf-radius, 6px);
  height: 300px;
  color: var(--eilf-grey);
  font-size: 0.9rem;
  gap: 10px;
}

/* --------------------------------------------------------
   44. BLOG
   -------------------------------------------------------- */

.eilf-blog {
  max-width: var(--eilf-container);
  margin: 0 auto;
  padding: 40px 16px 60px;
}

.eilf-blog__header {
  text-align: center;
  margin-bottom: 40px;
}

.eilf-blog__header h1 {
  font-family: 'Figtree', sans-serif;
  font-size: 2rem;
  margin: 0 0 8px;
}

.eilf-blog__header p {
  color: var(--eilf-grey);
}

.eilf-blog__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* Post card */
.eilf-post-card {
  border-radius: var(--eilf-radius, 6px);
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  transition: box-shadow 0.2s, transform 0.2s;
}

.eilf-post-card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
  transform: translateY(-2px);
}

.eilf-post-card__img-wrap {
  display: block;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: #f5f5f5;
}

.eilf-post-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.eilf-post-card__img-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.eilf-post-card__body {
  padding: 16px 20px 20px;
}

.eilf-post-card__cat {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--eilf-gold-dark);
  text-decoration: none;
  margin-bottom: 6px;
}

.eilf-post-card__title {
  font-size: 1.05rem;
  line-height: 1.35;
  margin: 0 0 8px;
}

.eilf-post-card__title a {
  color: var(--eilf-black);
  text-decoration: none;
}

.eilf-post-card__title a:hover {
  color: var(--eilf-gold-dark);
}

.eilf-post-card__excerpt {
  font-size: 0.85rem;
  line-height: 1.5;
  color: #666;
  margin: 0 0 10px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.eilf-post-card__meta {
  display: flex;
  gap: 6px;
  font-size: 0.78rem;
  color: var(--eilf-grey);
}

/* Blog pagination */
.eilf-blog__pagination {
  margin-top: 40px;
  text-align: center;
}

.eilf-blog__pagination .nav-links {
  display: inline-flex;
  gap: 4px;
}

.eilf-blog__pagination .page-numbers {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid #ddd;
  border-radius: 4px;
  text-decoration: none;
  color: var(--eilf-black);
  font-size: 0.88rem;
}

.eilf-blog__pagination .page-numbers.current {
  background: var(--eilf-gold);
  border-color: var(--eilf-gold);
  font-weight: 600;
}

.eilf-blog__empty {
  text-align: center;
  padding: 60px 20px;
}

/* Single post */
.eilf-single-post {
  max-width: var(--eilf-container);
  margin: 0 auto;
  padding: 0 16px 60px;
}

.eilf-single-post__hero {
  max-height: 500px;
  overflow: hidden;
  border-radius: var(--eilf-radius, 6px);
  margin-bottom: 32px;
}

.eilf-single-post__featured-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.eilf-single-post__content {
  max-width: 720px;
  margin: 0 auto;
}

.eilf-single-post__meta-top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.eilf-single-post__cat-badge {
  display: inline-block;
  background: var(--eilf-gold);
  color: var(--eilf-black);
  padding: 3px 10px;
  border-radius: 3px;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
}

.eilf-single-post__date,
.eilf-single-post__read-time {
  font-size: 0.82rem;
  color: var(--eilf-grey);
}

.eilf-single-post__title {
  font-family: 'Figtree', sans-serif;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.25;
  margin: 0 0 20px;
}

.eilf-single-post__author-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--eilf-grey-light, #eee);
}

.eilf-single-post__avatar {
  border-radius: 50%;
}

.eilf-single-post__author-bar strong {
  display: block;
  font-size: 0.88rem;
}

.eilf-single-post__author-bar span {
  font-size: 0.78rem;
  color: var(--eilf-grey);
}

.eilf-single-post__body {
  font-size: 1.05rem;
  line-height: 1.8;
  color: #333;
}

.eilf-single-post__body h2 {
  font-size: 1.4rem;
  margin-top: 36px;
}

.eilf-single-post__body h3 {
  font-size: 1.15rem;
  margin-top: 28px;
}

.eilf-single-post__body img {
  max-width: 100%;
  border-radius: var(--eilf-radius, 6px);
  margin: 20px 0;
}

.eilf-single-post__body blockquote {
  border-left: 4px solid var(--eilf-gold);
  margin: 24px 0;
  padding: 16px 20px;
  background: #faf9f6;
  font-style: italic;
}

.eilf-single-post__tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 30px 0;
}

.eilf-single-post__tags a {
  display: inline-block;
  padding: 4px 12px;
  border: 1px solid #ddd;
  border-radius: 20px;
  font-size: 0.82rem;
  color: var(--eilf-grey-dark, #555);
  text-decoration: none;
}

.eilf-single-post__tags a:hover {
  border-color: var(--eilf-gold);
  color: var(--eilf-gold-dark);
}

.eilf-single-post__author-box {
  display: flex;
  gap: 20px;
  padding: 24px;
  background: #f9f9f9;
  border-radius: var(--eilf-radius, 6px);
  margin: 30px 0;
}

.eilf-single-post__avatar-lg {
  border-radius: 50%;
  flex-shrink: 0;
}

.eilf-single-post__author-box h3 {
  margin: 0 0 6px;
  font-size: 1rem;
}

.eilf-single-post__author-box p {
  font-size: 0.88rem;
  color: #555;
  line-height: 1.5;
}

.eilf-single-post__related {
  max-width: var(--eilf-container);
  margin: 50px auto 0;
  padding: 0 16px;
}

.eilf-single-post__related h2 {
  font-family: 'Figtree', sans-serif;
  font-size: 1.4rem;
  margin-bottom: 24px;
}

.eilf-single-post__comments {
  max-width: 720px;
  margin: 40px auto 0;
}

/* --------------------------------------------------------
   45. POLICY PAGES
   -------------------------------------------------------- */

.eilf-policy {
  max-width: var(--eilf-container);
  margin: 0 auto;
  padding: 40px 16px 60px;
}

.eilf-policy__inner {
  max-width: 800px;
  margin: 0 auto;
}

.eilf-policy__date {
  font-size: 0.82rem;
  color: var(--eilf-grey);
  margin-bottom: 8px;
}

.eilf-policy h1 {
  font-family: 'Figtree', sans-serif;
  font-size: 2rem;
  margin: 0 0 24px;
}

.eilf-policy__toc {
  background: #f9f9f9;
  padding: 20px 24px;
  border-radius: var(--eilf-radius, 6px);
  margin-bottom: 30px;
}

.eilf-policy__toc:empty {
  display: none;
}

.eilf-policy__toc h3 {
  font-size: 0.92rem;
  font-weight: 700;
  margin: 0 0 10px;
}

.eilf-policy__toc ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.eilf-policy__toc li {
  margin-bottom: 4px;
}

.eilf-policy__toc a {
  color: var(--eilf-gold-dark);
  text-decoration: none;
  font-size: 0.88rem;
}

.eilf-policy__toc a:hover {
  text-decoration: underline;
}

.eilf-policy__content {
  line-height: 1.7;
  color: #444;
}

.eilf-policy__content h2 {
  font-size: 1.3rem;
  margin-top: 36px;
  padding-top: 20px;
  border-top: 1px solid var(--eilf-grey-light, #eee);
}

.eilf-policy__content p {
  margin-bottom: 14px;
}

/* --------------------------------------------------------
   46. WISHLIST PAGE
   -------------------------------------------------------- */

.eilf-wishlist-page {
  max-width: var(--eilf-container);
  margin: 0 auto;
  padding: 40px 16px 60px;
}

.eilf-wishlist-page h1 {
  font-family: 'Figtree', sans-serif;
  font-size: 2rem;
  margin: 0 0 30px;
}

.eilf-wishlist-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.eilf-wishlist-empty {
  text-align: center;
  padding: 60px 20px;
}

.eilf-wishlist-empty h2 {
  margin: 16px 0 8px;
}

.eilf-wishlist-empty p {
  color: var(--eilf-grey);
  margin-bottom: 24px;
}

/* Skeleton loading */
.eilf-skeleton-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.eilf-skeleton-card {
  background: #f5f5f5;
  border-radius: var(--eilf-radius, 6px);
  aspect-ratio: 3/4;
  animation: eilf-skeleton-pulse 1.5s infinite ease-in-out;
}

@keyframes eilf-skeleton-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

/* --------------------------------------------------------
   47. SEARCH RESULTS
   -------------------------------------------------------- */

.eilf-search-results {
  max-width: var(--eilf-container);
  margin: 0 auto;
  padding: 40px 16px 60px;
}

.eilf-search-results h1 {
  font-family: 'Figtree', sans-serif;
  font-size: 1.5rem;
  margin: 0 0 30px;
}

.eilf-search-results__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.eilf-search-results__empty {
  text-align: center;
  padding: 40px 20px;
}

.eilf-search-results__retry {
  max-width: 400px;
  margin: 20px auto;
}

.eilf-search-results__retry form {
  display: flex;
  gap: 8px;
}

.eilf-search-results__retry input[type="search"] {
  flex: 1;
  padding: 12px 14px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 16px;
  font-family: 'Figtree', sans-serif;
}

.eilf-search-results__cats {
  margin-top: 30px;
}

/* --------------------------------------------------------
   48. BACK-TO-TOP BUTTON
   -------------------------------------------------------- */

.eilf-back-to-top {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 44px;
  height: 44px;
  background: var(--eilf-black);
  color: #fff;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 900;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.3s, visibility 0.3s, transform 0.3s;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.eilf-back-to-top.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.eilf-back-to-top:hover {
  background: var(--eilf-gold);
  color: var(--eilf-black);
}

/* --------------------------------------------------------
   49. RESPONSIVE — PART 2 PAGES
   -------------------------------------------------------- */

@media (max-width: 1024px) {
  .sc-product-main {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }

  .sc-product-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .eilf-about__story-inner {
    grid-template-columns: 1fr;
  }

  .eilf-contact__layout {
    grid-template-columns: 1fr;
  }

  .eilf-thankyou__meta {
    grid-template-columns: repeat(2, 1fr);
  }

  .eilf-wishlist-grid,
  .eilf-skeleton-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  /* Shop sidebar → drawer */
  .eilf-shop-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 300px;
    background: #fff;
    z-index: 1001;
    transform: translateX(-100%);
    transition: transform 0.3s;
    overflow-y: auto;
    padding: 20px;
    box-shadow: 4px 0 20px rgba(0,0,0,0.15);
  }

  .eilf-shop-sidebar--open {
    transform: translateX(0);
  }

  .eilf-shop-sidebar__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
  }

  .eilf-shop-sidebar__header h3 {
    margin: 0;
  }

  .eilf-shop-sidebar__close {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
  }

  .eilf-shop-overlay.active {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.4);
    z-index: 1000;
  }

  .eilf-shop-toolbar__filter-btn {
    display: flex;
  }

  .eilf-shop-main ul.products {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Product page */
  .sc-product-main {
    grid-template-columns: 1fr;
  }

  .sc-product-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .sc-trust-badges,
  .eilf-trust-badges {
    grid-template-columns: 1fr 1fr;
  }

  .sc-tab {
    padding: 10px 16px;
    font-size: 0.82rem;
  }

  /* Cart — stack on mobile */
  .woocommerce-cart .woocommerce-cart-form__contents thead {
    display: none;
  }

  .woocommerce-cart .woocommerce-cart-form__contents tr {
    display: flex;
    flex-wrap: wrap;
    padding: 16px 0;
    border-bottom: 1px solid var(--eilf-grey-light, #eee);
    gap: 8px;
    align-items: center;
  }

  .woocommerce-cart .woocommerce-cart-form__contents td {
    border-bottom: none;
    padding: 4px 0;
  }

  .woocommerce-cart .cart_totals {
    max-width: 100%;
  }

  /* Checkout */
  .woocommerce-checkout .col2-set {
    grid-template-columns: 1fr;
  }

  /* My Account */
  .woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100%;
    float: none;
    margin-right: 0;
    margin-bottom: 20px;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex;
    overflow-x: auto;
    gap: 4px;
    padding-bottom: 8px;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    white-space: nowrap;
    padding: 8px 14px;
  }

  .woocommerce-account .u-columns {
    grid-template-columns: 1fr;
  }

  /* Thank you */
  .eilf-thankyou__meta {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Blog */
  .eilf-blog__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Single post */
  .eilf-single-post__title {
    font-size: 1.5rem;
  }

  /* About */
  .eilf-about__values-grid {
    grid-template-columns: 1fr;
  }

  .eilf-about__hero h1 {
    font-size: 1.8rem;
  }

  /* Search */
  .eilf-search-results__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Wishlist */
  .eilf-wishlist-grid,
  .eilf-skeleton-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* 404 */
  .eilf-404__big {
    font-size: 5rem;
  }
}

@media (max-width: 480px) {
  .eilf-blog__grid {
    grid-template-columns: 1fr;
  }

  .sc-product-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .sc-trust-badges,
  .eilf-trust-badges {
    grid-template-columns: 1fr;
  }

  .sc-add-to-cart .cart {
    flex-direction: column;
  }

  .eilf-about__hero {
    padding: 50px 16px;
  }

  .eilf-about__hero h1 {
    font-size: 1.5rem;
  }

  .eilf-single-post__author-box {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }

  .eilf-single-post__title {
    font-size: 1.3rem;
  }

  .eilf-contact h1 {
    font-size: 1.5rem;
  }

  .eilf-thankyou__meta {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
}

/* --------------------------------------------------------
   50. AUDIT FIX — Missing CSS Rules
   -------------------------------------------------------- */

.eilf-container {
  width: 100%;
  max-width: var(--eilf-container, 1280px);
  margin: 0 auto;
  padding: 0 1.5rem;
}

.eilf-section-title {
  font-size: clamp(1.5rem, 3.5vw, 2.25rem);
  font-weight: 700;
  text-align: center;
  margin-bottom: 0.5rem;
  letter-spacing: -0.02em;
}

.eilf-about__story-img { overflow: hidden; border-radius: var(--eilf-radius, 6px); }

.eilf-author-box__info { flex: 1; }

.eilf-comments { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--eilf-grey-light, #eee); }

.eilf-contact__form { width: 100%; }
.eilf-contact__submit { width: 100%; margin-top: 0.5rem; }

.eilf-header-cart { position: relative; }

.eilf-product-card__badge--sale {
  background: var(--eilf-danger, #c0392b);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 600;
  padding: 0.2rem 0.6rem;
  border-radius: 100px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 2;
}

.eilf-shop-toolbar__sort { display: flex; align-items: center; }
.eilf-shop-toolbar__sort .woocommerce-ordering select {
  padding: 0.5rem 2rem 0.5rem 0.75rem;
  border: 1px solid var(--eilf-grey-light, #eee);
  border-radius: var(--eilf-radius, 6px);
  font-family: 'Figtree', sans-serif;
  font-size: 0.85rem;
  background: #fff;
  cursor: pointer;
}

.eilf-shop__main { min-width: 0; }

.eilf-shop__no-results { text-align: center; padding: 4rem 0; }
.eilf-shop__no-results p { color: var(--eilf-grey); margin-bottom: 1.5rem; }

.eilf-star--full { color: #F39C12; }

.eilf-thankyou__details { margin-bottom: 2rem; }
.eilf-thankyou__items h3 { font-size: 1.1rem; margin-bottom: 1rem; }

.eilf-view-btn--grid.active svg,
.eilf-view-btn--list.active svg { stroke: var(--eilf-gold); }

.eilf-wishlist__loading { text-align: center; padding: 3rem 0; color: var(--eilf-grey); }

/* List view mode for shop */
.eilf-view-list.products,
.eilf-view-list .products {
  display: flex !important;
  flex-direction: column;
  gap: 1rem;
}
.eilf-view-list .product,
.eilf-view-list .eilf-product-card {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 1.5rem;
}

/* --------------------------------------------------------
   51. AUDIT FIX — Accessibility Focus States
   -------------------------------------------------------- */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--eilf-gold);
  outline-offset: 2px;
}

/* --------------------------------------------------------
   52. AUDIT FIX — Skeleton Loading
   -------------------------------------------------------- */

.eilf-skeleton {
  background: var(--eilf-cream, #f8f6f3);
  border-radius: var(--eilf-radius, 6px);
  animation: eilf-skeleton-pulse 1.5s infinite;
}

/* --------------------------------------------------------
   53. AUDIT FIX — Print Styles
   -------------------------------------------------------- */

@media print {
  .eilf-utility-bar,
  .eilf-main-header,
  .eilf-category-nav,
  .eilf-promo-countdown,
  .eilf-feature-bar,
  .eilf-newsletter,
  .eilf-footer,
  .eilf-back-to-top,
  .sc-sticky-bar { display: none !important; }
  body { font-size: 12pt; color: #000; }
}

/* --------------------------------------------------------
   54. VISUAL POLISH — Product Card Image Consistency
   -------------------------------------------------------- */

.eilf-product-card__img-wrap,
.eilf-carousel .eilf-product-card .eilf-product-card__img-wrap {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--eilf-cream, #f8f6f3);
}

.eilf-product-card__img-wrap img,
.eilf-carousel .eilf-product-card img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 0.75rem;
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.eilf-product-card:hover .eilf-product-card__img-wrap img {
  transform: scale(1.06);
}

.woocommerce ul.products li.product a img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  padding: 0.5rem;
  background: var(--eilf-cream, #f8f6f3);
  border-radius: var(--eilf-radius, 6px);
}

/* --------------------------------------------------------
   55. VISUAL POLISH — Hero Section Contrast
   -------------------------------------------------------- */

.eilf-hero__cta-group,
.eilf-hero__content .eilf-hero__cta {
  margin: 0.5rem;
}

.eilf-hero__content {
  gap: 0.75rem;
}

.eilf-hero__badge {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  padding: 0.4rem 1.25rem;
  margin-bottom: 1.5rem;
  backdrop-filter: blur(4px);
}

.eilf-hero__headline {
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.4);
  margin-bottom: 1.25rem;
}

.eilf-hero__subtitle {
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.3);
  margin-bottom: 2.5rem;
}

.eilf-hero__overlay {
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.3) 0%,
    rgba(0, 0, 0, 0.6) 100%
  );
}

/* --------------------------------------------------------
   56. VISUAL POLISH — Category Nav Thumbnails
   -------------------------------------------------------- */

.eilf-category-nav__item img,
.eilf-cat-nav__img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 50%;
  border: 2px solid var(--eilf-grey-light, #eee);
  transition: border-color 0.3s;
}

.eilf-category-nav__item:hover img,
.eilf-cat-nav__item:hover .eilf-cat-nav__img {
  border-color: var(--eilf-gold);
}

.eilf-category-nav__inner,
.eilf-cat-nav__list {
  display: flex;
  gap: 1.5rem;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  padding: 0.75rem 0;
}

.eilf-category-nav__inner::-webkit-scrollbar,
.eilf-cat-nav__list::-webkit-scrollbar {
  display: none;
}

.eilf-category-nav__label,
.eilf-cat-nav__label {
  font-size: 0.75rem;
  font-weight: 500;
  margin-top: 0.35rem;
  white-space: nowrap;
}

/* --------------------------------------------------------
   57. VISUAL POLISH — Why Us 4-Column Grid
   -------------------------------------------------------- */

.eilf-why-us__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

@media (max-width: 992px) {
  .eilf-why-us__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .eilf-why-us__grid {
    grid-template-columns: 1fr;
  }
}

.eilf-why-us-card__icon,
.eilf-why-us-card svg {
  width: 48px;
  height: 48px;
  margin: 0 auto 1rem;
  color: var(--eilf-gold);
}

.eilf-why-us-card__title {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.eilf-why-us-card__text {
  font-size: 0.85rem;
  line-height: 1.6;
  color: var(--eilf-grey);
}

/* --------------------------------------------------------
   58. VISUAL POLISH — Promo Banner Section
   -------------------------------------------------------- */

.eilf-promo-banner {
  padding: 4rem 2rem;
  text-align: center;
}

.eilf-promo-banner__headline {
  font-size: clamp(1.5rem, 3.5vw, 2.5rem);
  margin-bottom: 0.75rem;
  line-height: 1.2;
}

.eilf-promo-banner__text {
  max-width: 550px;
  margin: 0 auto 2rem;
  line-height: 1.6;
}

.eilf-promo-banner form,
.eilf-promo-banner .eilf-promo-form {
  max-width: 480px;
  margin: 0 auto;
  display: flex;
  gap: 0.5rem;
}

.eilf-promo-banner input[type="email"] {
  flex: 1;
  padding: 0.85rem 1rem;
  border: none;
  border-radius: var(--eilf-radius, 6px);
  font-size: 16px;
  font-family: 'Figtree', sans-serif;
}

.eilf-promo-banner button[type="submit"] {
  padding: 0.85rem 1.5rem;
  background: var(--eilf-gold);
  color: var(--eilf-black, #1a1a1a);
  border: none;
  border-radius: var(--eilf-radius, 6px);
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}

/* --------------------------------------------------------
   59. VISUAL POLISH — Newsletter Spacing
   -------------------------------------------------------- */

.eilf-newsletter {
  padding: 3.5rem 2rem;
}

.eilf-newsletter .eilf-section-title,
.eilf-newsletter h2 {
  font-size: clamp(1.25rem, 3vw, 1.75rem);
  margin-bottom: 0.5rem;
  color: var(--eilf-black, #1a1a1a);
}

.eilf-newsletter .eilf-section-subtitle,
.eilf-newsletter p {
  margin-bottom: 1.5rem;
  color: var(--eilf-black, #1a1a1a);
  opacity: 0.8;
}

.eilf-newsletter__form {
  max-width: 500px;
  margin: 0 auto;
  display: flex;
  gap: 0.5rem;
}

@media (max-width: 480px) {
  .eilf-newsletter__form {
    flex-direction: column;
  }
  .eilf-newsletter__btn {
    width: 100%;
  }
}

/* --------------------------------------------------------
   60. VISUAL POLISH — Footer Link Spacing
   -------------------------------------------------------- */

.eilf-footer__top {
  padding: 3.5rem 0;
}

.eilf-footer__col h4 {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 1.25rem;
  color: #fff;
}

.eilf-footer__col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.eilf-footer__col li {
  margin-bottom: 0.6rem;
}

.eilf-footer__col a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-size: 0.85rem;
  transition: color 0.3s;
}

.eilf-footer__col a:hover {
  color: var(--eilf-gold);
}

.eilf-footer__bottom {
  padding: 1.5rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 0.8rem;
}

.eilf-footer__social a {
  color: rgba(255, 255, 255, 0.6);
  transition: color 0.3s;
}

.eilf-footer__social a:hover {
  color: var(--eilf-gold);
}

/* --------------------------------------------------------
   61. VISUAL POLISH — Carousel Section Headers
   -------------------------------------------------------- */

.eilf-carousel-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 1.25rem;
  padding: 0 0.25rem;
}

.eilf-carousel-header__title {
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.eilf-carousel-header__right {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.eilf-carousel-header__viewall {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--eilf-gold);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.eilf-carousel-header__viewall:hover {
  text-decoration: underline;
}

.eilf-carousel-counter {
  font-size: 0.75rem;
  color: var(--eilf-grey);
}

.eilf-carousel-arrow {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--eilf-grey-light, #eee);
  background: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
  flex-shrink: 0;
}

.eilf-carousel-arrow:hover {
  border-color: var(--eilf-gold);
  background: var(--eilf-gold);
  color: #fff;
}

.eilf-product-carousel-section {
  padding: 2rem 0;
  border-bottom: 1px solid var(--eilf-grey-light, #eee);
}

.eilf-product-carousel-section:last-of-type {
  border-bottom: none;
}

/* --------------------------------------------------------
   62. VISUAL POLISH — Homepage Section Rhythm
   -------------------------------------------------------- */

.eilf-home-sections > * {
  margin-bottom: 0;
}

.eilf-home-sections > section,
.eilf-home-sections > div {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.eilf-home-sections > section + section {
  border-top: 1px solid var(--eilf-grey-light, #eee);
}

.eilf-promo-banner,
.eilf-promo-banner + section {
  border-top: none !important;
}

/* --------------------------------------------------------
   63. VISUAL POLISH — Product Card Price & Compare
   -------------------------------------------------------- */

.eilf-product-card__price {
  font-size: 1rem;
  font-weight: 700;
  margin-top: 0.5rem;
}

.eilf-product-card__price del {
  color: var(--eilf-grey);
  font-weight: 400;
  font-size: 0.85rem;
  margin-right: 0.35rem;
}

.eilf-product-card__price ins {
  text-decoration: none;
  color: var(--eilf-danger, #c00);
  font-weight: 700;
}

.eilf-product-card__compare {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.75rem;
  color: var(--eilf-grey);
  margin-top: 0.5rem;
  cursor: pointer;
}

.eilf-product-card__compare input[type="checkbox"] {
  accent-color: var(--eilf-gold);
  width: 14px;
  height: 14px;
}

.eilf-product-card__title {
  font-size: 0.85rem;
  font-weight: 500;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0.35rem 0;
}

.eilf-product-card__title a {
  color: inherit;
  text-decoration: none;
}

.eilf-product-card__title a:hover {
  color: var(--eilf-gold);
}

.eilf-product-card__rating {
  font-size: 0.75rem;
  color: #F39C12;
  margin: 0.25rem 0;
}

.eilf-product-card__rating .eilf-rating-count {
  color: var(--eilf-grey);
  margin-left: 0.25rem;
}

/* --------------------------------------------------------
   END OF EILF CUSTOM CSS
   -------------------------------------------------------- */

/* ============================================================
   FOOTER REDESIGN — REI/Arc'teryx/Backcountry Inspired
   ============================================================ */

/* Newsletter Strip */
.eilf-footer__newsletter {
  background: var(--eilf-primary, #4A7C8F);
  padding: 2.5rem 0;
}
.eilf-footer__newsletter .eilf-footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
}
.eilf-footer__newsletter-content h3 {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 0.25rem;
}
.eilf-footer__newsletter-content p {
  color: rgba(255,255,255,0.8);
  font-size: 0.85rem;
  margin: 0;
}
.eilf-footer__newsletter-form {
  display: flex;
  gap: 0;
  max-width: 420px;
  width: 100%;
}
.eilf-footer__newsletter-form input[type="email"] {
  flex: 1;
  padding: 0.75rem 1rem;
  border: 2px solid rgba(255,255,255,0.3);
  border-right: none;
  border-radius: var(--eilf-radius, 8px) 0 0 var(--eilf-radius, 8px);
  background: rgba(255,255,255,0.1);
  color: #fff;
  font-family: var(--eilf-font);
  font-size: 0.85rem;
}
.eilf-footer__newsletter-form input::placeholder { color: rgba(255,255,255,0.6); }
.eilf-footer__newsletter-form button {
  padding: 0.75rem 1.5rem;
  background: #fff;
  color: var(--eilf-primary, #4A7C8F);
  border: none;
  border-radius: 0 var(--eilf-radius, 8px) var(--eilf-radius, 8px) 0;
  font-family: var(--eilf-font);
  font-weight: 600;
  font-size: 0.85rem;
  cursor: pointer;
  transition: background 0.2s;
}
.eilf-footer__newsletter-form button:hover { background: #f0f0f0; }

/* Main Footer */
.eilf-footer__top {
  background: #1A2530;
  padding: 3.5rem 0 2.5rem;
}
.eilf-footer__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
}
.eilf-footer__col {
  flex: 1;
  min-width: 200px;
}
.eilf-footer__col h4 {
  color: #fff;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--eilf-primary, #4A7C8F);
  display: inline-block;
}
.eilf-footer__col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.eilf-footer__col li {
  margin-bottom: 0.6rem;
}
.eilf-footer__col a {
  color: #9AABB3;
  text-decoration: none;
  font-size: 0.85rem;
  transition: color 0.2s;
}
.eilf-footer__col a:hover { color: #fff; }

/* Trust Guarantees */
.eilf-footer__guarantee {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 0.75rem;
  color: #9AABB3;
  font-size: 0.82rem;
}
.eilf-footer__guarantee svg {
  stroke: var(--eilf-primary, #4A7C8F);
  flex-shrink: 0;
}
.eilf-footer__email {
  margin-top: 1rem;
  font-size: 0.8rem;
}
.eilf-footer__email a {
  color: var(--eilf-primary, #4A7C8F);
}

/* Bottom Bar */
.eilf-footer__bottom {
  background: #141D24;
  padding: 1.25rem 0;
  border-top: 1px solid #2C3E45;
}
.eilf-footer__bottom .eilf-footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}
.eilf-footer__copy {
  color: #5A6F78;
  font-size: 0.75rem;
  margin: 0;
}
.eilf-footer__social {
  display: flex;
  gap: 1rem;
}
.eilf-footer__social a {
  color: #5A6F78;
  transition: color 0.2s;
}
.eilf-footer__social a:hover { color: #fff; }
.eilf-footer__social svg { display: block; }
.eilf-footer__legal {
  display: flex;
  gap: 1.25rem;
}
.eilf-footer__legal a {
  color: #5A6F78;
  text-decoration: none;
  font-size: 0.75rem;
  transition: color 0.2s;
}
.eilf-footer__legal a:hover { color: #fff; }

/* Footer Responsive */
@media (max-width: 768px) {
  .eilf-footer__newsletter .eilf-footer__inner { flex-direction: column; text-align: center; }
  .eilf-footer__newsletter-form { max-width: 100%; }
  .eilf-footer__inner { flex-direction: column; }
  .eilf-footer__col { min-width: 100%; }
  .eilf-footer__bottom .eilf-footer__inner { flex-direction: column; text-align: center; }
  .eilf-footer__social { justify-content: center; }
  .eilf-footer__legal { justify-content: center; }
}
