.elementor-kit-6{--e-global-color-primary:#B12F36;--e-global-color-secondary:#F5F2F0;--e-global-color-text:#121212;--e-global-color-accent:#A4A1A0;--e-global-typography-primary-font-family:"Big Shoulders Display";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Big Shoulders Display";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ===== Header: allow dropdowns to overflow ===== */
.elementor-location-header,
.elementor-location-header .e-con,
.elementor-location-header .e-con-inner,
.elementor-location-header .elementor-section,
.elementor-location-header .elementor-container,
.elementor-location-header .elementor-column,
.elementor-location-header .elementor-widget-wrap,
.elementor-location-header .elementor-widget-container {
  overflow: visible !important;
}

/* Keep the header (and its dropdowns) above page content */
.elementor-location-header {
  position: relative;
  z-index: 999;
}
.elementor-location-header .elementor-nav-menu--dropdown,
.elementor-location-header .elementor-nav-menu .sub-menu {
  z-index: 9999 !important;
}

/* ===== Side cart: break out of the header ===== */
.elementor-location-header:has(.elementor-menu-cart__container),
.elementor-location-header :has(.elementor-menu-cart__container) {
  transform: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  perspective: none !important;
  will-change: auto !important;
  contain: none !important;
  overflow: visible !important;
}

/* Full-screen overlay + dimmed page behind the cart */
.elementor-menu-cart--cart-type-side-cart .elementor-menu-cart__container {
  position: fixed !important;
  inset: 0 !important;
  height: 100vh !important;
  background: rgba(18, 18, 18, .55);
  z-index: 99999 !important;
}

/* ===== Side Cart – Brand Styles ===== */

/* Cart panel */
.elementor-menu-cart--cart-type-side-cart .elementor-menu-cart__main {
  width: min(420px, 100vw) !important;
  height: 100vh !important;
  max-height: 100vh !important;
  overflow-y: auto;
  padding: 28px 24px !important;
  background: #fff !important;
  box-shadow: -12px 0 40px rgba(0, 0, 0, .15);
  font-family: 'Inter', sans-serif;
  color: #121212;
}

/* Close (×) button */
.elementor-menu-cart__close-button::before,
.elementor-menu-cart__close-button::after {
  background: #121212 !important;
}
.elementor-menu-cart__close-button:hover::before,
.elementor-menu-cart__close-button:hover::after {
  background: #B12F36 !important;
}

/* Product rows */
.elementor-menu-cart__product {
  padding: 16px 0 !important;
  border-bottom: 1px solid #E8E4E1 !important;
}
.elementor-menu-cart__product-image img {
  border-radius: 8px;
  background: #F5F2F0;
}
.elementor-menu-cart__product-name a {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  color: #121212 !important;
  text-decoration: none;
  transition: color .2s ease;
}
.elementor-menu-cart__product-name a:hover {
  color: #B12F36 !important;
}
.elementor-menu-cart__product-price {
  font-size: 14px;
  color: #6B6766 !important;
}
.elementor-menu-cart__product-price .amount {
  font-weight: 600;
  color: #121212;
}

/* Remove item button */
.elementor-menu-cart__product-remove {
  border-color: #A4A1A0 !important;
  transition: border-color .2s ease;
}
.elementor-menu-cart__product-remove::before,
.elementor-menu-cart__product-remove::after {
  background: #A4A1A0 !important;
}
.elementor-menu-cart__product-remove:hover {
  border-color: #B12F36 !important;
}
.elementor-menu-cart__product-remove:hover::before,
.elementor-menu-cart__product-remove:hover::after {
  background: #B12F36 !important;
}

/* Subtotal */
.elementor-menu-cart__subtotal {
  padding: 20px 0 !important;
  border-color: #E8E4E1 !important;
  font-size: 17px;
  font-weight: 700;
  color: #121212;
}
.elementor-menu-cart__subtotal .amount {
  color: #B12F36;
}

/* Buttons */
.elementor-menu-cart__footer-buttons {
  gap: 10px;
}
.elementor-menu-cart__footer-buttons .elementor-button {
  padding: 15px 20px !important;
  border-radius: 10px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  transition: background .2s ease, color .2s ease;
}
.elementor-menu-cart__footer-buttons .elementor-button--view-cart {
  background: #fff !important;
  color: #B12F36 !important;
  border: 1px solid #B12F36 !important;
}
.elementor-menu-cart__footer-buttons .elementor-button--view-cart:hover {
  background: #F5F2F0 !important;
}
.elementor-menu-cart__footer-buttons .elementor-button--checkout {
  background: #B12F36 !important;
  color: #fff !important;
  border: 1px solid #B12F36 !important;
}
.elementor-menu-cart__footer-buttons .elementor-button--checkout:hover {
  background: #8E252B !important;
  border-color: #8E252B !important;
}

/* Empty cart message */
.elementor-menu-cart__main .woocommerce-mini-cart__empty-message {
  padding: 40px 0;
  text-align: center;
  font-size: 15px;
  color: #A4A1A0;
}

/* ===== Product page: Shipping accordion ===== */
.lm-shipping-info {
  margin: 24px 0 0;
  border-top: 1px solid #E8E4E1;
  border-bottom: 1px solid #E8E4E1;
  font-family: 'Inter', sans-serif;
}
.lm-shipping-info__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
  font-size: 16px;
  font-weight: 600;
  color: #121212;
  list-style: none;
  cursor: pointer;
}
.lm-shipping-info__summary::-webkit-details-marker {
  display: none;
}
.lm-shipping-info__summary::marker {
  content: "";
}
.lm-shipping-info__summary:hover {
  color: #B12F36;
}

/* Chevron */
.lm-shipping-info__chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
}
.lm-shipping-info__chevron::before {
  content: "";
  width: 8px;
  height: 8px;
  margin-top: -4px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform .2s ease, margin .2s ease;
}
.lm-shipping-info[open] .lm-shipping-info__chevron::before {
  margin-top: 4px;
  transform: rotate(225deg);
}

/* Content */
.lm-shipping-info__content {
  padding: 0 0 18px;
  font-size: 14px;
  line-height: 1.65;
  color: #3D3A39;
}
.lm-shipping-info__content p {
  margin: 0 0 10px;
}
.lm-shipping-info__content p:last-child {
  margin-bottom: 0;
}
.lm-shipping-info__content a {
  color: #B12F36 !important;
  font-weight: 600;
  text-decoration: none !important;
}
.lm-shipping-info__content a:hover {
  text-decoration: underline !important;
}

/* ===== Square modifiers (product page) ===== */

/* Layout: modifiers get their own full-width row ABOVE quantity + Add to cart */
.single-product div.product form.cart:not(.variations_form) > *:not(.quantity):not(.single_add_to_cart_button):not(.sws-express-checkout):not(input),
.single-product div.product .woocommerce-variation-add-to-cart > *:not(.quantity):not(.single_add_to_cart_button):not(.sws-express-checkout):not(input) {
  flex-basis: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  order: -1;
  margin: 0 0 8px !important;
}

/* "Choose Modifiers" → "Customize it" */
.single-product div.product form.cart h4 {
  margin: 0 0 4px !important;
  font-size: 0 !important;
  line-height: 0 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.single-product div.product form.cart h4::before {
  content: "Customize it";
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  color: #121212;
}

/* Group title, e.g. "Embroidery" */
.single-product div.product form.cart :is(h5, h6) {
  margin: 12px 0 10px !important;
  font-family: 'Inter', sans-serif;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #6B6766 !important;
}

/* Options container: stacked list */
.single-product div.product form.cart :has(> label > input[type="checkbox"]),
.single-product div.product form.cart :has(> label > input[type="radio"]) {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 8px;
  width: 100%;
  margin: 0 0 12px !important;
}

/* Each option = clickable card */
.single-product div.product form.cart label:has(> input[type="checkbox"]),
.single-product div.product form.cart label:has(> input[type="radio"]) {
  display: flex !important;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin: 0 !important;
  padding: 13px 14px !important;
  background: #fff;
  border: 1px solid #E3DEDB;
  border-radius: 10px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  color: #121212;
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.single-product div.product form.cart label:has(> input[type="checkbox"]):hover,
.single-product div.product form.cart label:has(> input[type="radio"]):hover {
  border-color: #A4A1A0;
}

/* Selected option */
.single-product div.product form.cart label:has(> input:checked) {
  background: #FDF6F6;
  border-color: #B12F36;
  box-shadow: 0 0 0 1px #B12F36;
}

/* Checkbox / radio */
.single-product div.product form.cart label > input[type="checkbox"],
.single-product div.product form.cart label > input[type="radio"] {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin: 0 !important;
  accent-color: #B12F36;
  cursor: pointer;
}

/* Text boxes (e.g. a "Name to add" text modifier) */
.single-product div.product form.cart :is(input[type="text"], textarea):not(.qty) {
  width: 100%;
  min-height: 46px;
  padding: 11px 14px;
  background: #fff;
  border: 1px solid #A4A1A0;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  color: #121212;
}
.single-product div.product form.cart :is(input[type="text"], textarea):not(.qty):focus {
  border-color: #B12F36;
  box-shadow: 0 0 0 3px rgba(177, 47, 54, .15);
  outline: none;
}

@media (max-width: 767px) {
  .single-product div.product form.cart :is(input[type="text"], textarea):not(.qty) {
    font-size: 16px; /* prevents iOS zoom on focus */
  }
}


/* ===== Lewis Marketing: Zoom Link Card ===== */
.lm-zoom-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  cursor: pointer;
}

/* Zoomable copy of each card's own background image */
.lm-zoom-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: inherit;
  background-position: inherit;
  background-size: inherit;
  background-repeat: inherit;
  transform: scale(1);
  transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
  will-change: transform;
}

/* Keep the gradient overlay above the image */
.lm-zoom-card::before {
  z-index: -1;
}

/* Zoom on hover and keyboard focus */
.lm-zoom-card:hover::after,
.lm-zoom-card:focus-within::after {
  transform: scale(1.08);
}

/* Stretch the button link across the whole card */
.lm-zoom-card .elementor-widget-button {
  position: static;
}
.lm-zoom-card .elementor-button::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
  .lm-zoom-card::after {
    transition: none;
  }
}/* End custom CSS */