/**
 * OffGridPower - Mobile Responsiveness & Modern Checkout Styling
 * Eliminates mobile cramping, fixes edge-clipping, and modernizes WooCommerce forms.
 */

/* ==========================================================================
   1. GLOBAL MOBILE LAYOUT & CONTAINER GUTTERS
   ========================================================================== */
@media (max-width: 768px) {
  body {
    overflow-x: hidden !important;
  }

  /* Full-bleed homepage - ZERO side gaps on mobile hero & full-width sections */
  .main-content,
  .main-content.index,
  #PageContainer {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }

  .slideshow,
  .sec_cov,
  .oss_wrap,
  .index-section,
  .fw-sec {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }

  /* Full-bleed Hero - absolute 0px margins on all viewports */
  html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .wp-site-blocks,
  #PageContainer,
  .main-content,
  .main-content.index {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .shopify-section:has(.slideshow),
  #shopify-section-template--24821782642724__2ce38bbc-fd8f-48f7-8422-808f7cbcc730,
  .sec_cov[data-section-type="slideshow"],
  .oss_wrap,
  .slideshow {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    left: 0 !important;
    right: 0 !important;
  }

  .slideshow .swiper-slide,
  .slideshow .ss_link,
  .slideshow picture,
  .slideshow img.ssimg {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    height: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    display: block !important;
  }

  /* Explore Solar & Energy Solutions (Round Banners Carousel) Smooth Touch Swiper */
  #swptemplate--24821782642724__round_banners_Phj4BX {
    overflow: hidden !important;
    padding-bottom: 10px !important;
    position: relative !important;
    touch-action: pan-y !important;
  }
  #swptemplate--24821782642724__round_banners_Phj4BX .swiper-wrapper {
    display: flex !important;
    box-sizing: content-box !important;
  }
  #swptemplate--24821782642724__round_banners_Phj4BX .swiper-slide {
    flex-shrink: 0 !important;
    height: 100% !important;
    position: relative !important;
    transition-property: transform !important;
  }

  /* Specific content pages that require side gutters */
  .shopify-policy__container,
  .woocommerce-cart .main-content,
  .woocommerce-cart,
  .page-contact .main-content {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }

  /* Header Mobile Polish */
  .main_hdr {
    padding: 10px 16px !important;
    min-height: 56px !important;
  }

  .header-logo {
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
  }

  .header-logo .stlogo {
    max-height: 34px !important;
    width: auto !important;
    display: block !important;
  }

  .mbnavCol .navToggle,
  .header-icons .hdicon {
    min-width: 44px !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* ==========================================================================
   2. CHECKOUT MOBILE RESPONSIVENESS & MODERN FORM FIELDS
   ========================================================================== */

/* Stack all checkout columns on mobile */
@media (max-width: 768px) {
  .woocommerce-checkout .col2-set .col-1,
  .woocommerce-checkout .col2-set .col-2,
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* Force side-by-side fields (First Name / Last Name) to stack full-width on mobile */
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last,
  .woocommerce-checkout .form-row-wide {
    width: 100% !important;
    float: none !important;
    margin: 0 0 16px 0 !important;
    clear: both !important;
  }

  .woocommerce-billing-fields h3,
  .woocommerce-shipping-fields h3,
  #order_review_heading {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 24px 0 16px 0 !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    letter-spacing: -0.01em !important;
  }
}

/* Modern Input & Select Styling */
.woocommerce form .form-row {
  margin-bottom: 18px !important;
  padding: 0 !important;
}

.woocommerce form .form-row label {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  margin-bottom: 6px !important;
  display: block !important;
  line-height: 1.4 !important;
}

.woocommerce form .form-row label .required {
  color: #ef4444 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.woocommerce form .form-row label .optional {
  color: #64748b !important;
  font-weight: 400 !important;
  font-size: 13px !important;
}

/* Inputs, Textareas, and Native Selects */
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout textarea,
.woocommerce-checkout select:not(.select2-hidden-accessible),
.woocommerce-checkout .input-text {
  width: 100% !important;
  height: 48px !important;
  padding: 12px 14px !important;
  font-size: 16px !important; /* 16px strictly prevents iOS Safari viewport zooming */
  line-height: 1.5 !important;
  color: #0f172a !important;
  background-color: #ffffff !important;
  border: 1.5px solid #d1d5db !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
  box-sizing: border-box !important;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
  -webkit-appearance: none !important;
}

.woocommerce-checkout textarea {
  height: auto !important;
  min-height: 90px !important;
}

/* Input Focus States */
.woocommerce-checkout input[type="text"]:focus,
.woocommerce-checkout input[type="email"]:focus,
.woocommerce-checkout input[type="tel"]:focus,
.woocommerce-checkout input[type="password"]:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout .input-text:focus {
  border-color: #0056ff !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0, 86, 255, 0.15) !important;
  background-color: #ffffff !important;
}

/* Placeholder Styling */
.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder {
  color: #94a3b8 !important;
  font-size: 15px !important;
}

/* Select2 Dropdown Harmonization */
.woocommerce-checkout .select2-container .select2-selection--single {
  height: 48px !important;
  border: 1.5px solid #d1d5db !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
  padding: 10px 14px !important;
  display: flex !important;
  align-items: center !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 26px !important;
  padding-left: 0 !important;
  color: #0f172a !important;
  font-size: 16px !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 46px !important;
  right: 10px !important;
}

/* ==========================================================================
   3. MODERN COUPON BANNER & NOTICES
   ========================================================================== */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  border-radius: 8px !important;
  padding: 14px 18px !important;
  margin-bottom: 24px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.woocommerce-info {
  background-color: #f0f7ff !important;
  border: 1px solid #bae6fd !important;
  color: #0369a1 !important;
}

.woocommerce-info::before {
  color: #0284c7 !important;
  font-size: 16px !important;
  top: 14px !important;
}

.woocommerce-info a {
  color: #0284c7 !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}

/* ==========================================================================
   4. COMPREHENSIVE HIGH-TICKET CHECKOUT ARCHITECTURE (MOBILE & DESKTOP)
   Eradicates nested box syndrome, fixes word wrapping & unlocks full responsive width
   ========================================================================== */

/* Suppress footer completely on Checkout page */
.woocommerce-checkout footer,
.woocommerce-checkout .footer-wrapper,
.woocommerce-checkout .site-footer,
.woocommerce-checkout .shopify-section-group-footer-group,
.woocommerce-checkout #shopify-section-sections--24821783298084__footer,
.woocommerce-checkout .o_ft,
.page-id-11 footer,
.page-id-11 .shopify-section-group-footer-group,
.page-id-11 .o_ft {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Main Checkout Wrapper */
.woocommerce-checkout .main-content,
.woocommerce-checkout-page,
.checkout-page-wrapper {
  max-width: 1240px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

@media (min-width: 992px) {
  .checkout-page-wrapper {
    padding: 24px 20px 60px !important;
  }
  form.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: 1.15fr 0.85fr !important;
    gap: 36px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    float: none !important;
    box-sizing: border-box !important;
  }
  form.woocommerce-checkout #customer_details,
  form.woocommerce-checkout .col2-set {
    grid-column: 1 !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 28px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
    box-sizing: border-box !important;
  }
  form.woocommerce-checkout #order_review {
    grid-column: 2 !important;
    width: 100% !important;
    float: none !important;
    position: sticky !important;
    top: 24px !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 26px 24px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
  }
  form.woocommerce-checkout #order_review_heading {
    display: none !important;
  }
}

@media (max-width: 991px) {
  .checkout-page-wrapper,
  .woocommerce-checkout {
    padding: 12px 12px 40px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  form.woocommerce-checkout {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
  }
  form.woocommerce-checkout #customer_details,
  form.woocommerce-checkout .col2-set {
    width: 100% !important;
    float: none !important;
    margin: 0 0 20px 0 !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 18px 14px !important;
    box-sizing: border-box !important;
  }
  form.woocommerce-checkout #order_review {
    width: 100% !important;
    float: none !important;
    margin: 0 0 20px 0 !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 18px 14px !important;
    box-sizing: border-box !important;
  }
}

/* Order Review Header */
#order_review::before {
  content: "ORDER SUMMARY" !important;
  display: block !important;
  font-family: Oswald, var(--ft2), sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 18px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

/* TABLE ARCHITECTURE: Prevents 1-word text squishing */
.woocommerce-checkout table.shop_table,
.woocommerce-checkout table.woocommerce-checkout-review-order-table {
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: none !important;
  margin-bottom: 20px !important;
  background: transparent !important;
}

/* Col 1: Product Name & Specs (72% allocated width) */
.woocommerce-checkout table.shop_table th.product-name,
.woocommerce-checkout table.shop_table td.product-name {
  width: 72% !important;
  padding: 12px 10px 12px 0 !important;
  border: none !important;
  border-bottom: 1px solid #f1f5f9 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  color: #0f172a !important;
  text-align: left !important;
  vertical-align: top !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

/* Col 2: Product Total Price (28% width, right aligned, strictly single line) */
.woocommerce-checkout table.shop_table th.product-total,
.woocommerce-checkout table.shop_table td.product-total {
  width: 28% !important;
  min-width: 90px !important;
  padding: 12px 0 12px 10px !important;
  border: none !important;
  border-bottom: 1px solid #f1f5f9 !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  text-align: right !important;
  vertical-align: top !important;
  white-space: nowrap !important;
}

/* Product Quantity */
.woocommerce-checkout table.shop_table .product-quantity {
  font-weight: 700 !important;
  color: #64748b !important;
  font-size: 13px !important;
}

/* Variation Metadata & Option Badges */
.woocommerce-checkout table.shop_table dl.variation,
.woocommerce-checkout table.shop_table ul.wc-item-meta,
.woocommerce-checkout table.shop_table .variation {
  margin: 6px 0 0 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  color: #64748b !important;
  font-weight: 400 !important;
}

.woocommerce-checkout table.shop_table dl.variation dt,
.woocommerce-checkout table.shop_table .variation dt {
  font-weight: 600 !important;
  color: #475569 !important;
  float: none !important;
  display: inline !important;
  margin: 0 !important;
}

.woocommerce-checkout table.shop_table dl.variation dd,
.woocommerce-checkout table.shop_table .variation dd {
  display: inline !important;
  margin: 0 0 4px 4px !important;
  color: #64748b !important;
}

.woocommerce-checkout table.shop_table dl.variation dd::after {
  content: " • ";
  color: #cbd5e1;
}
.woocommerce-checkout table.shop_table dl.variation dd:last-child::after {
  content: "";
}

/* Subtotal & Shipping Rows */
.woocommerce-checkout table.shop_table tr.cart-subtotal th,
.woocommerce-checkout table.shop_table tr.cart-subtotal td,
.woocommerce-checkout table.shop_table tr.shipping th,
.woocommerce-checkout table.shop_table tr.shipping td {
  padding: 11px 0 !important;
  border: none !important;
  border-bottom: 1px solid #f1f5f9 !important;
  font-size: 13.5px !important;
  vertical-align: middle !important;
}

.woocommerce-checkout table.shop_table tr.cart-subtotal th,
.woocommerce-checkout table.shop_table tr.shipping th {
  color: #475569 !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  text-align: left !important;
}

.woocommerce-checkout table.shop_table tr.cart-subtotal td,
.woocommerce-checkout table.shop_table tr.shipping td {
  text-align: right !important;
  color: #0f172a !important;
  font-weight: 600 !important;
}

/* Grand Total Row */
.woocommerce-checkout table.shop_table tr.order-total th,
.woocommerce-checkout table.shop_table tr.order-total td {
  border: none !important;
  border-top: 2px solid #0f172a !important;
  padding: 16px 0 !important;
  vertical-align: middle !important;
}

.woocommerce-checkout table.shop_table tr.order-total th {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  text-align: left !important;
}

.woocommerce-checkout table.shop_table tr.order-total td {
  text-align: right !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #0056FF !important;
  white-space: nowrap !important;
}

/* ==========================================================================
   FLATTEN PAYMENT SECTION & ERADICATE NESTED BOXES
   ========================================================================== */
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 18px 0 0 0 !important;
  box-shadow: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#add_payment_method #payment ul.payment_methods,
.woocommerce-cart #payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
  padding: 0 !important;
  margin: 0 0 16px 0 !important;
  list-style: none !important;
  border-bottom: none !important;
}

#add_payment_method #payment ul.payment_methods li,
.woocommerce-cart #payment ul.payment_methods li,
.woocommerce-checkout #payment ul.payment_methods li {
  margin-bottom: 12px !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.woocommerce-checkout #payment ul.payment_methods li label {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #0f172a !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 6px !important;
}

/* Single Unified Payment Box (Clean Card) */
.woocommerce-checkout #payment div.payment_box {
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 14px 12px !important;
  margin: 8px 0 14px 0 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

.woocommerce-checkout #payment div.payment_box::before {
  display: none !important;
}

/* Stripe Currency / Link / Card Elements */
.woocommerce-checkout #payment .wc-stripe-elements-field,
.woocommerce-checkout #payment .stripe-card-group,
.woocommerce-checkout #payment iframe[name*="__privateStripeFrame"] {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* High-Converting Place Order Button */
#add_payment_method #payment #place_order,
.woocommerce-cart #payment #place_order,
.woocommerce-checkout #payment #place_order {
  background-color: #0056FF !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  padding: 14px 24px !important;
  height: 52px !important;
  border-radius: 8px !important;
  border: none !important;
  width: 100% !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(0, 86, 255, 0.28) !important;
  transition: all 0.2s ease-in-out !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 14px !important;
}

#add_payment_method #payment #place_order:hover,
.woocommerce-cart #payment #place_order:hover,
.woocommerce-checkout #payment #place_order:hover {
  background-color: #0044cc !important;
  box-shadow: 0 6px 18px rgba(0, 86, 255, 0.38) !important;
  transform: translateY(-1px) !important;
}

#add_payment_method #payment #place_order:active,
.woocommerce-cart #payment #place_order:active,
.woocommerce-checkout #payment #place_order:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 6px rgba(0, 86, 255, 0.2) !important;
}

/* ==========================================================================
   5. ZERO-PHONE INVARIANT & PRIVACY POLISH
   ========================================================================== */
#billing_phone_field,
#shipping_phone_field,
.woocommerce-checkout .form-row[id*="phone"],
.wc-block-components-address-form__phone,
.wc-block-components-checkout-step--contact .wc-block-components-text-input:has(input[type="tel"]) {
  display: none !important;
}

/* ==========================================================================
   6. MOBILE HEADER STABILIZATION (PREVENTS CRUSHING / WRAPPING)
   ========================================================================== */
@media (max-width: 768px) {
  .main_hdr {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 8px 12px !important;
    min-height: 52px !important;
    gap: 8px !important;
  }

  .mbnavCol {
    flex: 0 0 44px !important;
    width: 44px !important;
  }

  .header-logo {
    flex: 1 1 auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 4px !important;
    overflow: hidden !important;
  }

  .header-logo a.hdr_logo_lnk {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: 100% !important;
  }

  .header-logo .stlogo {
    max-height: 24px !important;
    max-width: 210px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
  }

  .icons-col {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
  }

  /* Prevent bottom sticky bar from overlapping checkout controls */
  body.woocommerce-checkout {
    padding-bottom: 76px !important;
  }
}

/* ==========================================================================
   7. CHECKOUT HEADER LOGO REINFORCEMENT
   ========================================================================== */
.woocommerce-checkout .wp-block-site-title,
body.woocommerce-checkout .wp-block-site-title {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
}

.woocommerce-checkout .wp-block-site-title a,
body.woocommerce-checkout .wp-block-site-title a {
  display: inline-block !important;
  width: 240px !important;
  height: 24px !important;
  background: url("https://offgridpower.us/wp-content/themes/offgridpower-theme/assets/images/offgridpower-logo-master.png?v=logo_20261108") no-repeat left center / contain !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
}

@media (max-width: 768px) {
  .woocommerce-checkout .wp-block-site-title a,
  body.woocommerce-checkout .wp-block-site-title a {
    width: 190px !important;
    height: 19px !important;
  }
}



/* Drawer action pills & interactive boxes */
.drawer__action-pill {
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}
.drawer__action-pill:hover,
.drawer__action-pill:active {
  background-color: #e5e7eb !important;
  transform: scale(1.05) !important;
}
.drawer__action-box input:focus,
.drawer__action-box textarea:focus {
  outline: 2px solid #0D6EFD !important;
  border-color: #0D6EFD !important;
}

/* ==========================================================================
   8. FOOTER MOBILE ACCORDIONS & INTERACTION
   ========================================================================== */
@media (min-width: 768px) {
  .o_ft .f_links .h4 + ul,
  .o_ft .f_links h4 + ul {
    display: block !important;
    margin: 0 !important;
  }
}

@media (max-width: 767px) {
  .o_ft .f_links .h4,
  .o_ft .f_links h4 {
    cursor: pointer !important;
    user-select: none !important;
    -webkit-tap-highlight-color: transparent !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #ede9e9 !important;
    margin-bottom: 0 !important;
  }

  .o_ft .f_links .h4 svg.arw,
  .o_ft .f_links h4 svg.arw {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    display: inline-block !important;
    width: 12px !important;
    height: 12px !important;
  }

  .o_ft .f_links .h4.active svg.arw,
  .o_ft .f_links h4.active svg.arw {
    transform: rotate(180deg) !important;
  }

  .o_ft .f_links .h4 + ul,
  .o_ft .f_links h4 + ul {
    transition: all 0.3s ease !important;
    padding: 10px 0 15px 0 !important;
  }

  .o_ft .f_links ul li a {
    display: block !important;
    padding: 6px 0 !important;
    font-size: 13px !important;
  }
}

/* ==========================================================================
   9. CLEAN MODERN SWIPER PAGINATION (BANS OVAL PILLS & MINUS DASHES)
   ========================================================================== */
.swiper-pagination,
.swpgtemplate--24821782642724__round_banners_Phj4BX,
.swpgtemplate--24821782642724__testimonials_eLpUAG,
.swpgtemplate--24821782642724__cc0bb58c-8687-4437-952d-0f8f8079df24 {
  position: relative !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  margin: 18px auto 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: 100% !important;
  z-index: 5 !important;
  clear: both !important;
}

/* Eliminate default.css 18x30px tall pill and :before dash */
.swiper-pagination-bullet,
.swiper-pagination-horizontal .swiper-pagination-bullet {
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  min-height: 8px !important;
  max-width: 24px !important;
  max-height: 8px !important;
  border-radius: 4px !important;
  background: #cbd5e1 !important;
  opacity: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block !important;
  border: none !important;
  transition: all 0.25s ease !important;
  cursor: pointer !important;
}

.swiper-pagination-bullet:before,
.swiper-pagination-bullet:after {
  content: none !important;
  display: none !important;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active,
.swiper-pagination-bullet-active {
  width: 22px !important;
  height: 8px !important;
  background: #0D6EFD !important;
  border-radius: 4px !important;
  opacity: 1 !important;
}

/* On round category banners: hide bullets to keep pure clean swipe experience */
.swpgtemplate--24821782642724__round_banners_Phj4BX {
  display: none !important;
}


/* ==========================================================================
   10. MOBILE PRODUCT CARDS: ZERO SECOND-ITEM OVERLAY / HOVER BLEED
   ========================================================================== */
@media (max-width: 1024px) {
  .grid_img_wr .hover,
  .grid_img.hover,
  .grid_bx .hover,
  .grid_img.hover.lazyload,
  .grid_img.hover.lazyloaded {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    height: 0 !important;
    width: 0 !important;
    z-index: -999 !important;
  }
  .grid_img_wr .primary,
  .grid_img.primary {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
    z-index: 1 !important;
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }
}

/* ==========================================================================
   11. MOBILE BANNER: "BUILD YOUR PERFECT SOLAR SETUP" RESPONSIVE FRAMING
   ========================================================================== */
#shopify-section-template--24821782642724__richtext_U9QJD3 .sec_cov {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

#shopify-section-template--24821782642724__richtext_U9QJD3 .imgWrapper {
  display: block !important;
  width: 100% !important;
  margin: 0 auto !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
}

#shopify-section-template--24821782642724__richtext_U9QJD3 .imgWrapper img,
#shopify-section-template--24821782642724__richtext_U9QJD3 .imgWrapper picture {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  border-radius: 12px !important;
}

@media (max-width: 767px) {
  #shopify-section-template--24821782642724__richtext_U9QJD3 {
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }
  #shopify-section-template--24821782642724__richtext_U9QJD3 .fw-sec {
    padding: 0 !important;
  }
}

/* ==========================================================================
   SEARCH DRAWER CONTROLLER & OVERLAY
   ========================================================================== */
.searchDrawer.active,
body.searchact .searchDrawer {
  transform: translateX(0) !important;
  visibility: visible !important;
}

body.searchact .modalOverly {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* ==========================================================================
   REMOVE QUICK VIEW & QUICK ADD TO CART BUTTONS FROM PRODUCT CARDS
   ========================================================================== */
.button-set,
.grid_bx .button-set,
.gbtn.add-to-cart,
.gbtn.quick-view,
.gbtn.quickShop,
.btn-options.quickShop {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ==========================================================================
   SALE BADGE ZERO-VISIBILITY SUPPRESSION
   ========================================================================== */
.woocommerce ul.products li.product span.onsale,
.woocommerce span.onsale,
.woocommerce-page span.onsale,
.collection span.onsale,
.archive span.onsale,
span.onsale,
.onsale {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  height: 0 !important;
  width: 0 !important;
  z-index: -999 !important;
}

/* ==========================================================================
   HEADER LOGO PROPORTIONS & RATIO
   ========================================================================== */
.header-logo img.stlogo,
.header-logo img {
  height: auto !important;
  max-height: 50px !important;
  width: auto !important;
  display: block !important;
}

@media only screen and (max-width: 1024px) {
  .header-logo img.stlogo,
  .header-logo img {
    max-height: 40px !important;
    width: auto !important;
  }
}

.wp-block-site-title a,
.checkout-header a,
header.wp-block-group a {
  display: inline-flex !important;
  align-items: center !important;
}

.wp-block-site-title a img,
.checkout-header img,
header.wp-block-group a img {
  max-height: 44px !important;
  width: auto !important;
  aspect-ratio: 1.833 / 1 !important;
  display: block !important;
}


/* ==========================================================================
   MOBILE NAVIGATION DRAWER, ACCORDION & CLOSE BUTTONS (ROCK-SOLID OVERRIDES)
   ========================================================================== */
.mobNavOverlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(0, 0, 0, 0.6) !important;
  z-index: 99990 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.3s ease, visibility 0.3s ease !important;
}

.mobNavOverlay.active,
body.menuact .mobNavOverlay {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.mob_nav_wr {
  width: 320px !important;
  max-width: 82vw !important;
  height: 100vh !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 99999 !important;
  background: #ffffff !important;
  transform: translateX(-100%) !important;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 4px 0 25px rgba(0, 0, 0, 0.25) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

.mob_nav_wr.active,
body.menuact .mob_nav_wr {
  transform: translateX(0) !important;
}

/* Inside close button in top bar */
.closeMnav.closeMnav_inside {
  width: 34px !important;
  height: 34px !important;
  background: #f1f5f9 !important;
  border-radius: 50% !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  color: #0f172a !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
}

.closeMnav.closeMnav_inside:hover {
  background: #e2e8f0 !important;
  transform: scale(1.05) !important;
}

/* Floating external close button (matching user screenshot) */
.closeMnav.closeMnav_floating {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  left: auto !important;
  width: 38px !important;
  height: 38px !important;
  background: #F1F5F9 !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 50% !important;
  color: #0F172A !important;
  cursor: pointer !important;
  z-index: 100002 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08) !important;
  transition: all 0.2s ease !important;
}

.closeMnav.closeMnav_floating:hover {
  background: #E2E8F0 !important;
  transform: scale(1.05) !important;
}

.closeMnav svg {
  pointer-events: none !important;
}

.mobNav {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 0 40px 0 !important;
}

.mobNav .backto {
  display: none !important;
}

.mobNav > li {
  border-bottom: 1px solid #f1f5f9 !important;
}

.mobNav > li > a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 15px 20px !important;
  color: #0f172a !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.mobNav a .at-icon.arw {
  width: 12px !important;
  height: 12px !important;
  transition: transform 0.25s ease !important;
  fill: #64748b !important;
  flex-shrink: 0 !important;
}

.mobNav li.open > a > .at-icon.arw,
.mobNav a.open > .at-icon.arw {
  transform: rotate(90deg) !important;
  fill: #0066cc !important;
}

/* Submenu Accordions: Force static, override theme.css transform and fixed position */
.mobNav ul.subLinks,
.mobNav .subLinks {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  transform: none !important;
  left: auto !important;
  top: auto !important;
  z-index: auto !important;
  display: none !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 4px 0 8px 16px !important;
  background: #f8fafc !important;
  border-left: 3px solid #0066cc !important;
  box-shadow: none !important;
  overflow: visible !important;
  transition: none !important;
}

.mobNav li.open > ul.subLinks,
.mobNav li.open > .subLinks,
.mobNav ul.subLinks.open,
.mobNav ul.subLinks.active {
  display: block !important;
}

.mobNav .subLinks > li > a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 10px 16px !important;
  color: #334155 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

.mobNav .subLinks > li > a:hover {
  color: #0066cc !important;
}

/* Deep nested submenus (Level 2) */
.mobNav .subLinks .subLinks {
  background: #f1f5f9 !important;
  border-left: 3px solid #38bdf8 !important;
  padding-left: 14px !important;
}

.mobNav .subLinks .subLinks > li > a {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #475569 !important;
  padding: 8px 12px !important;
}

.mobNav li.help {
  padding: 24px 20px 10px !important;
  font-size: 12px !important;
  color: #64748b !important;
  border-bottom: none !important;
}

.mobNav li.help b {
  color: #0f172a !important;
}

/* Total Sale Tag / Badge Suppression */
.woocommerce ul.products li.product span.onsale,
.woocommerce span.onsale,
.woocommerce-page span.onsale,
.collection span.onsale,
.archive span.onsale,
.grid-products span.onsale,
.grid_bx span.onsale,
span.onsale,
.onsale,
.wc-block-grid__product-onsale,
.wc-block-components-product-sale-badge {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  height: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
}

/* Mobile Logo Size */
@media only screen and (max-width: 767px) {
  .header-logo .stlogo,
  .main_hdr .header-logo img {
    max-height: 42px !important;
    width: auto !important;
  }
}


.closeMnav,
#mobNavCloseBtn,
.mob_nav_wr .closeMnav {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  left: auto !important;
  width: 38px !important;
  height: 38px !important;
  background: #F1F5F9 !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 50% !important;
  color: #0F172A !important;
  cursor: pointer !important;
  z-index: 100002 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08) !important;
  transition: all 0.2s ease !important;
}

.closeMnav:hover,
#mobNavCloseBtn:hover,
.mob_nav_wr .closeMnav:hover {
  background: #E2E8F0 !important;
  transform: scale(1.05) !important;
}

.closeMnav svg,
#mobNavCloseBtn svg,
.mob_nav_wr .closeMnav svg {
  width: 14px !important;
  height: 14px !important;
  fill: #0F172A !important;
  pointer-events: none !important;
}


/* ==========================================================================
   PDP DESCRIPTION CLAMPING, SPECIFICATIONS TAB & CHECKOUT UX REFINEMENTS
   ========================================================================== */

/* 1. PDP Description Clamping & Expand Button */
.pdp-desc-wrapper {
    position: relative !important;
    transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.pdp-desc-wrapper.pdp-desc-clamped {
    max-height: 440px !important;
    overflow: hidden !important;
}

.pdp-desc-wrapper.pdp-desc-expanded {
    max-height: none !important;
    overflow: visible !important;
}

.pdp-desc-fade {
    position: absolute !important;
    bottom: 52px !important;
    left: 0 !important;
    right: 0 !important;
    height: 140px !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.92) 75%, #ffffff 100%) !important;
    pointer-events: none !important;
    z-index: 2 !important;
}

.pdp-desc-btn-wrap {
    position: relative !important;
    z-index: 3 !important;
    margin: 16px 0 24px 0 !important;
    text-align: center !important;
}

.btn-pdp-expand {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 24px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    background: #f1f5f9 !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 9999px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

.btn-pdp-expand:hover {
    background: #0066cc !important;
    color: #ffffff !important;
    border-color: #0066cc !important;
    box-shadow: 0 4px 12px rgba(0, 102, 204, 0.25) !important;
}

.btn-pdp-expand:hover svg {
    fill: #ffffff !important;
}

/* 2. Organized & Mobile-Optimized PDP Description */
.woocommerce-Tabs-panel--description,
#tab-description {
    position: relative !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
    color: #1e293b !important;
    overflow-x: hidden !important;
    word-break: break-word !important;
    padding-top: 10px !important;
}

.woocommerce-Tabs-panel--description img,
#tab-description img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
    margin: 18px auto !important;
    display: block !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}

.woocommerce-Tabs-panel--description h2,
#tab-description h2,
.woocommerce-Tabs-panel--description h3,
#tab-description h3 {
    color: #0f172a !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    margin: 28px 0 12px 0 !important;
    letter-spacing: -0.01em !important;
    line-height: 1.3 !important;
}

.woocommerce-Tabs-panel--description p,
#tab-description p {
    margin-bottom: 16px !important;
    font-size: 15px !important;
    color: #334155 !important;
}

.woocommerce-Tabs-panel--description ul,
#tab-description ul {
    margin: 14px 0 18px 24px !important;
    color: #334155 !important;
    list-style: disc !important;
}

.woocommerce-Tabs-panel--description ul li,
#tab-description ul li {
    margin-bottom: 8px !important;
    line-height: 1.6 !important;
}

/* 3. Specifications Tab Styling */
.pdp-specs-container {
    padding: 10px 0 25px 0 !important;
}

.pdp-specs-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 0 16px 0 !important;
    letter-spacing: -0.01em !important;
}

.pdp-specs-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    margin-bottom: 25px !important;
}

.pdp-specs-table tr {
    border-bottom: 1px solid #e2e8f0 !important;
}

.pdp-specs-table tr:last-child {
    border-bottom: none !important;
}

.pdp-specs-table tr:nth-child(even) {
    background-color: #f8fafc !important;
}

.pdp-specs-table th {
    width: 30% !important;
    padding: 13px 18px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    background-color: #f1f5f9 !important;
    border-right: 1px solid #e2e8f0 !important;
    vertical-align: middle !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.pdp-specs-table td {
    padding: 13px 18px !important;
    font-size: 13.5px !important;
    color: #334155 !important;
    line-height: 1.5 !important;
    vertical-align: middle !important;
}

@media (max-width: 767px) {
    .pdp-specs-table th {
        width: 38% !important;
        padding: 10px 12px !important;
        font-size: 12px !important;
    }
    .pdp-specs-table td {
        padding: 10px 12px !important;
        font-size: 12px !important;
    }
}

/* 4. Checkout UX Enhancements (LO Direct Feedback) */
/* Hide BACS Direct Bank Transfer Instructions */
.woocommerce-checkout .payment_box.payment_method_bacs,
.woocommerce-checkout .payment_method_bacs .payment_box,
.woocommerce-checkout .payment_box.payment_method_bacs p,
.woocommerce-checkout .payment_method_bacs p {
    display: none !important;
}

/* Privacy Policy: Small Elegant Typography & Breathing Room */
.woocommerce-checkout .woocommerce-privacy-policy-text p,
.woocommerce-privacy-policy-text p {
    font-size: 11.5px !important;
    line-height: 1.45 !important;
    color: #64748b !important;
    margin-top: 14px !important;
    margin-bottom: 24px !important;
    padding: 0 4px !important;
}

.woocommerce-checkout #place_order {
    margin-top: 12px !important;
}

/* Minimize 'Ship to a different address' & 'Additional information / Order notes' */
#ship-to-different-address {
    font-size: 13px !important;
    font-weight: 600 !important;
    margin: 8px 0 2px 0 !important;
    padding: 0 !important;
}

#ship-to-different-address label {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #334155 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.woocommerce-additional-fields {
    margin-top: 6px !important;
    padding-top: 6px !important;
    border-top: 1px dashed #e2e8f0 !important;
}

.woocommerce-additional-fields h3 {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #475569 !important;
    margin: 6px 0 4px 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
}

.woocommerce-additional-fields #order_comments_field {
    margin-bottom: 4px !important;
    padding: 0 !important;
}

.woocommerce-additional-fields #order_comments_field label {
    font-size: 11.5px !important;
    color: #64748b !important;
    margin-bottom: 2px !important;
}

.woocommerce-additional-fields textarea#order_comments {
    height: 44px !important;
    min-height: 44px !important;
    padding: 6px 10px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    border-radius: 6px !important;
    border: 1px solid #cbd5e1 !important;
}


/* ==========================================================================
   MOBILE SWIPABLE TABS & STATIC HERO IMAGE PROTECTION (v1.4.0)
   ========================================================================== */
@media (max-width: 768px) {
  .single-product .woocommerce-tabs ul.tabs {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity !important;
    gap: 16px !important;
    padding: 0 4px 10px 4px !important;
    margin: 0 0 20px 0 !important;
    border-bottom: 1px solid #e5e5e5 !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    touch-action: pan-x !important;
  }
  .single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar {
    display: none !important;
  }
  .single-product .woocommerce-tabs ul.tabs li {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    scroll-snap-align: start !important;
  }
  .single-product .woocommerce-tabs ul.tabs li a {
    font-size: 15px !important;
    padding: 6px 4px !important;
  }
  .woocommerce-Tabs-panel--description,
  #tab-description,
  .pdp-desc-wrapper {
    font-size: 13px !important;
    line-height: 1.6 !important;
  }
  .woocommerce-Tabs-panel--description p,
  #tab-description p,
  .pdp-desc-wrapper p {
    font-size: 13px !important;
    line-height: 1.6 !important;
  }
  .woocommerce-Tabs-panel--description h2,
  #tab-description h2,
  .pdp-desc-wrapper h2 {
    font-size: 15px !important;
  }
}

/* Enforce Zero Hover Image Swapping across all viewports */
.grid_img.hover,
.grid_img_wr .hover,
.grid_bx .hover,
.grid_img.hover.lazyload,
.grid_img.hover.lazyloaded {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  height: 0 !important;
  width: 0 !important;
}


/* ==========================================================================
   MOBILE HORIZONTAL SCROLL & OVERFLOW CONTAINMENT (ZERO HORIZONTAL DRIFT)
   ========================================================================== */
html {
  overflow-x: clip !important;
  max-width: 100vw !important;
  width: 100% !important;
  position: relative !important;
  box-sizing: border-box !important;
}

body {
  overflow-x: clip !important;
  max-width: 100vw !important;
  width: 100% !important;
  position: relative !important;
  box-sizing: border-box !important;
}

.wp-site-blocks,
.main-content,
#MainContent,
main.product,
.page-width,
.shopify-section,
.container,
.site-content {
  max-width: 100% !important;
  overflow-x: clip !important;
  box-sizing: border-box !important;
}

/* Prevent background scrolling and scroll-chaining when Cart Drawer is active on mobile */
html.cart-drawer-open {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

body.cart-drawer-open {
  overflow: hidden !important;
  overscroll-behavior: none !important;
  touch-action: none !important;
}

cart-drawer,
.ctdrawer,
.cart-drawer,
#CartDrawer,
.drawer__inner {
  overscroll-behavior: contain !important;
}

#CartDrawer-Items,
.drawer__body {
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  touch-action: pan-y !important;
}

/* Off-canvas Cart Drawer Containment — Clean Parent-Driven Architecture */
cart-drawer:not(.active),
.ctdrawer:not(.active) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

cart-drawer.active #CartDrawer,
.ctdrawer.active #CartDrawer,
cart-drawer.active .cart-drawer,
.ctdrawer.active .cart-drawer {
  display: flex !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(0) !important;
}

cart-drawer,
.ctdrawer {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  height: 100% !important;
  overflow: hidden !important;
  z-index: 1200 !important;
}

cart-drawer.active,
.ctdrawer.active {
  display: flex !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Off-canvas Search Drawer Containment */
.searchDrawer:not(.active),
body:not(.searchact) .searchDrawer {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.searchDrawer {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  width: 450px !important;
  max-width: 90vw !important;
  height: 100% !important;
  z-index: 668 !important;
}

.searchDrawer.active,
body.searchact .searchDrawer {
  display: block !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(0) !important;
}

/* Off-canvas Mobile Nav Containment */
.mob_nav_wr:not(.active),
body:not(.menuact) .mob_nav_wr {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.mob_nav_wr {
  position: fixed !important;
  left: 0 !important;
  top: 0 !important;
  width: 320px !important;
  max-width: calc(100vw - 45px) !important;
  height: 100% !important;
  z-index: 99999 !important;
}

.mob_nav_wr.active,
body.menuact .mob_nav_wr {
  display: block !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(0) !important;
}

/* WooCommerce Product Gallery & Flexslider Containment */
.woocommerce-product-gallery,
.single-product .woocommerce-product-gallery {
  max-width: 100% !important;
  overflow: visible !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.woocommerce-product-gallery__wrapper {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.flex-viewport,
.woocommerce-product-gallery .flex-viewport,
.single-product .woocommerce-product-gallery .flex-viewport {
  max-width: 100% !important;
  overflow: hidden !important;
  border-radius: 8px !important;
  border: 1px solid #e2e8f0 !important;
  background: #ffffff !important;
  margin: 0 0 14px 0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  box-sizing: border-box !important;
}

.woocommerce-product-gallery img {
  max-width: 100% !important;
  height: auto !important;
}

ol.flex-control-nav.flex-control-thumbs,
.single-product .flex-control-thumbs {
  max-width: 100% !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-x !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  box-sizing: border-box !important;
  padding: 6px 4px 10px 4px !important;
}

ol.flex-control-nav.flex-control-thumbs li,
.single-product .flex-control-thumbs li {
  flex: 0 0 72px !important;
  width: 72px !important;
  height: 72px !important;
  min-width: 72px !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 8px !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
  box-sizing: border-box !important;
  touch-action: pan-x !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-touch-callout: none !important;
  cursor: pointer !important;
}

ol.flex-control-nav.flex-control-thumbs li img,
.single-product .flex-control-thumbs li img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
  pointer-events: none !important;
  -webkit-user-drag: none !important;
  user-drag: none !important;
  touch-action: pan-x !important;
}

ol.flex-control-nav.flex-control-thumbs li:has(img.flex-active),
.single-product .flex-control-thumbs li.active-thumb,
ol.flex-control-nav.flex-control-thumbs li.flex-active-li {
  border-color: #0D6EFD !important;
  box-shadow: 0 0 0 1.5px #0D6EFD !important;
}

ol.flex-control-nav.flex-control-thumbs::-webkit-scrollbar,
.single-product .flex-control-thumbs::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* Floating Photo Counter Badge on Hero Gallery */
.pdp-photo-counter {
  position: absolute !important;
  bottom: 14px !important;
  right: 14px !important;
  background: rgba(15, 23, 42, 0.72) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 4px 10px !important;
  border-radius: 20px !important;
  z-index: 10 !important;
  pointer-events: none !important;
  letter-spacing: 0.04em !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

/* Swiper Sliders Global Overflow Containment */
.swiper,
.swiper-container {
  max-width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}


/* Product Card Title & Vertical Alignment: Clean uncropped titles across all pages */
.grid_bx,
ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.grid_bx .details {
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
}

ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
.single-product .related.products ul.products li.product .woocommerce-loop-product__title a,
.grid_bx .grid_title,
.grid_bx .grid_title a,
h2.wp-block-post-title,
h2.wp-block-post-title a,
.wc-block-components-product-title,
.wc-block-components-product-title a,
.wc-block-grid__product-title,
.wc-block-grid__product-title a,
.search-results .wc-block-product h2,
.search-results .wc-block-product h2 a,
.wp-block-query .wp-block-post-title,
.wp-block-query .wp-block-post-title a {
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: #0f172a !important;
  min-height: 52px !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  display: block !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  margin-top: 6px !important;
  margin-bottom: 8px !important;
  text-align: left !important;
  text-decoration: none !important;
  word-break: break-word !important;
  white-space: normal !important;
}

.grid_bx .grid_meta,
ul.products li.product .price,
.single-product .related.products ul.products li.product .price {
  margin-top: auto !important;
}

.grid_bx .btn,
.grid_bx .button,
.grid_bx a.btn,
ul.products li.product .button {
  margin-top: 8px !important;
}


/* ==========================================================================
   WOOCOMMERCE PRODUCT GALLERY & FLEXSLIDER: SMOOTH HORIZONTAL SLIDER
   ========================================================================== */
.woocommerce-product-gallery,
.single-product .woocommerce-product-gallery {
  max-width: 100% !important;
  overflow: visible !important;
  position: relative !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.flex-viewport,
.woocommerce-product-gallery .flex-viewport,
.single-product .woocommerce-product-gallery .flex-viewport {
  max-width: 100% !important;
  overflow: hidden !important;
  position: relative !important;
  border-radius: 8px !important;
  border: 1px solid #e2e8f0 !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
  margin: 0 0 14px 0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

.woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  max-width: none !important;
  overflow: visible !important;
  border: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-sizing: content-box !important;
  margin: 0 !important;
  padding: 0 !important;
  transition: transform 0.35s ease !important;
}

.woocommerce-product-gallery .woocommerce-product-gallery__image {
  flex: 0 0 auto !important;
  max-width: none !important;
  display: block !important;
  box-sizing: border-box !important;
}

.woocommerce-product-gallery .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: contain !important;
}

/* ==========================================================================
   STRIPE EXPRESS CHECKOUT (GOOGLE PAY, APPLE PAY, LINK) - PROMINENT & RESPONSIVE
   ========================================================================== */
#wc-stripe-express-checkout-element,
#wc-stripe-payment-request-wrapper,
#wc-stripe-payment-request-button,
.wc-stripe-payment-request-wrapper,
.wc-stripe-banner-checkout {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  max-height: none !important;
  margin: 14px 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  width: 100% !important;
  clear: both !important;
}

#wc-stripe-express-checkout-element > div,
#wc-stripe-express-checkout-element .StripeElement {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  min-height: 44px !important;
  margin-bottom: 8px !important;
  width: 100% !important;
}

#wc-stripe-express-checkout-element iframe {
  width: 100% !important;
}



/* ==========================================================================
   AGENCY-GRADE CART PAGE ARCHITECTURE (/cart/)
   ========================================================================== */
.woocommerce-cart .main-content {
  background: #f8fafc !important;
  padding: 24px 16px 60px !important;
  min-height: 70vh !important;
}
/* ==========================================================================
   OFFGRID POWER - 1:1 PIXEL-PERFECT CART PAGE STYLES (MATCHING REFERENCE)
   ========================================================================== */
html,
body.woocommerce-cart {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 1. Scenic Backdrop & Header Section */
.woocommerce-cart main.woocommerce-cart-page {
  position: relative !important;
  background-color: #f8fafc !important;
  min-height: calc(100vh - 200px) !important;
}

.cart-scenic-backdrop {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 240px !important;
  background-image: url('https://offgridpower.us/wp-content/uploads/2026/11/ChatGPT_Image_Sep_4_2026_02_15_22_AM.png') !important;
  background-position: top right !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.cart-scenic-backdrop::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.75) 55%, #f8fafc 100%),
              linear-gradient(to right, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.65) 45%, rgba(255, 255, 255, 0.1) 100%) !important;
}

.woocommerce-cart .cart-page-wrapper {
  position: relative !important;
  z-index: 1 !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 24px 20px 60px !important;
  box-sizing: border-box !important;
}

/* Notice Banners on Cart Page */
.woocommerce-cart .woocommerce-notices-wrapper {
  max-width: 1240px !important;
  margin: 0 auto 16px auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .woocommerce-notices-wrapper:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info {
  background: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  border-radius: 10px !important;
  padding: 12px 18px !important;
  color: #166534 !important;
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  margin: 0 0 16px 0 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
}

.woocommerce-cart .woocommerce-message a.button.wc-forward {
  display: none !important;
}

.woocommerce-cart .woocommerce-error {
  background: #fef2f2 !important;
  border: 1px solid #fecaca !important;
  border-radius: 10px !important;
  padding: 12px 18px !important;
  color: #991b1b !important;
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  margin: 0 0 16px 0 !important;
}

/* 2. Title Section: "SHOPPING CART" Left-Aligned with Blue Accent Line */
.cart-header-section {
  margin: 0 0 20px 0 !important;
  text-align: left !important;
}

.cart-header-section .cart-page-title,
.woocommerce-cart-page h1.cart-page-title,
.woocommerce-cart h1.entry-title,
.woocommerce-cart-page h1,
.woocommerce-cart .cart-page-wrapper > h1 {
  font-family: Oswald, var(--ft2, sans-serif) !important;
  font-size: 34px !important;
  font-weight: 700 !important;
  color: #0b1727 !important;
  letter-spacing: -0.01em !important;
  text-transform: uppercase !important;
  line-height: 1.15 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  text-align: left !important;
  width: auto !important;
}

.cart-title-accent-bar {
  width: 48px !important;
  height: 3.5px !important;
  background: #0066cc !important;
  border-radius: 2px !important;
  margin-top: 8px !important;
}

/* 3. Two-Column Desktop Grid Layout */
@media (min-width: 992px) {
  .woocommerce-cart .entry-content > .woocommerce,
  .woocommerce-cart .woocommerce:has(form.woocommerce-cart-form),
  .woocommerce-cart .woocommerce {
    display: grid !important;
    grid-template-columns: minmax(0, 2.1fr) minmax(330px, 1fr) !important;
    gap: 28px !important;
    align-items: start !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    width: 100% !important;
  }

  .woocommerce-cart .woocommerce > .woocommerce-notices-wrapper {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin: 0 0 16px 0 !important;
  }

  .woocommerce-cart .woocommerce > form.woocommerce-cart-form {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    padding: 24px 20px 24px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
  }

  .woocommerce-cart .woocommerce > .cart-collaterals {
    grid-column: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    position: sticky !important;
    top: 90px !important;
    box-sizing: border-box !important;
  }

  .woocommerce-cart .woocommerce > wc-order-attribution-inputs {
    display: none !important;
  }
}

@media (max-width: 991px) {
  .woocommerce-cart .woocommerce {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    width: 100% !important;
  }

  .woocommerce-cart .woocommerce-cart-form {
    width: 100% !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    padding: 18px 16px 20px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
  }

  .woocommerce-cart .cart-collaterals {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* 4. Left Card - Products Table & ZERO Vertical Borders */
.woocommerce-cart table.shop_table.cart {
  width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  border: none !important;
  margin: 0 !important;
}

.woocommerce-cart table.shop_table.cart,
.woocommerce-cart table.shop_table.cart th,
.woocommerce-cart table.shop_table.cart td,
.woocommerce-cart table.shop_table.cart thead th,
.woocommerce-cart table.shop_table.cart tbody td,
.woocommerce-cart table.shop_table.cart tbody tr.cart_item td,
.woocommerce-cart table.shop_table.cart td.actions {
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
}

.woocommerce-cart table.shop_table.cart thead th {
  font-family: Inter, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #64748b !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 10px 12px 14px !important;
  border-bottom: 2px solid #f1f5f9 !important;
  background: transparent !important;
}

@media (min-width: 992px) {
  .woocommerce-cart table.shop_table.cart thead th.product-name,
  .woocommerce-cart table.shop_table.cart tbody td.product-name {
    width: auto !important;
    min-width: 0 !important;
    padding: 12px 10px !important;
    text-align: left !important;
  }
  .woocommerce-cart table.shop_table.cart thead th.product-thumbnail,
  .woocommerce-cart table.shop_table.cart tbody td.product-thumbnail {
    width: 76px !important;
    max-width: 78px !important;
    min-width: 65px !important;
    padding: 12px 6px !important;
    text-align: center !important;
  }
  .woocommerce-cart table.shop_table.cart thead th.product-remove,
  .woocommerce-cart table.shop_table.cart tbody td.product-remove {
    width: 32px !important;
    max-width: 34px !important;
    min-width: 28px !important;
    padding: 12px 4px !important;
    text-align: center !important;
  }
  .woocommerce-cart table.shop_table.cart thead th.product-price,
  .woocommerce-cart table.shop_table.cart tbody td.product-price {
    width: 13% !important;
    min-width: 72px !important;
    max-width: 90px !important;
    padding: 12px 4px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }
  .woocommerce-cart table.shop_table.cart thead th.product-quantity,
  .woocommerce-cart table.shop_table.cart tbody td.product-quantity {
    width: 17% !important;
    min-width: 85px !important;
    max-width: 105px !important;
    padding: 12px 4px !important;
    text-align: center !important;
  }
  .woocommerce-cart table.shop_table.cart thead th.product-subtotal,
  .woocommerce-cart table.shop_table.cart tbody td.product-subtotal {
    width: 17% !important;
    min-width: 85px !important;
    max-width: 110px !important;
    padding: 12px 16px 12px 4px !important;
    text-align: right !important;
    white-space: nowrap !important;
  }
}

.woocommerce-cart table.shop_table.cart thead th.product-remove {
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  border: none !important;
  border-bottom: 2px solid #f1f5f9 !important;
}

.woocommerce-cart table.shop_table.cart thead th.product-thumbnail {
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  border: none !important;
  border-bottom: 2px solid #f1f5f9 !important;
}

.woocommerce-cart table.shop_table.cart tbody tr.cart_item td {
  padding: 18px 12px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  vertical-align: middle !important;
}

/* Product Remove Button */
.woocommerce-cart table.shop_table.cart td.product-remove {
  text-align: center !important;
}

.woocommerce-cart table.shop_table.cart td.product-remove a.remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  color: #94a3b8 !important;
  font-size: 16px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

.woocommerce-cart table.shop_table.cart td.product-remove a.remove:hover {
  background: #fee2e2 !important;
  border-color: #fca5a5 !important;
  color: #ef4444 !important;
}

/* Product Thumbnail */
.woocommerce-cart table.shop_table.cart td.product-thumbnail img {
  width: 70px !important;
  height: 70px !important;
  object-fit: contain !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  padding: 4px !important;
  display: block !important;
}

.woocommerce-cart table.shop_table.cart td.product-name a {
  font-family: Inter, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: #0b1727 !important;
  line-height: 1.38 !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
  display: block !important;
}

.woocommerce-cart table.shop_table.cart td.product-name a:hover {
  color: #0066cc !important;
}

.cart-in-stock-badge {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 6px !important;
  font-family: Inter, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #16a34a !important;
}

.cart-in-stock-dot {
  width: 7px !important;
  height: 7px !important;
  background-color: #16a34a !important;
  border-radius: 50% !important;
  display: inline-block !important;
}

/* Product Price & Subtotal: Bold Blue */
.woocommerce-cart table.shop_table.cart td.product-price,
.woocommerce-cart table.shop_table.cart td.product-subtotal,
.woocommerce-cart table.shop_table.cart td.product-price .amount,
.woocommerce-cart table.shop_table.cart td.product-subtotal .amount,
.woocommerce-cart table.shop_table.cart td.product-price bdi,
.woocommerce-cart table.shop_table.cart td.product-subtotal bdi {
  font-family: Inter, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #0066cc !important;
  white-space: nowrap !important;
  text-align: center !important;
}

/* Quantity Stepper [- 1 +] */
.woocommerce-cart table.shop_table.cart td.product-quantity {
  text-align: center !important;
}

.woocommerce-cart table.shop_table.cart td.product-quantity .quantity {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  overflow: hidden !important;
  height: 38px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
}

.woocommerce-cart .cart-qty-btn {
  width: 32px !important;
  height: 38px !important;
  border: none !important;
  background: transparent !important;
  color: #64748b !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  padding: 0 !important;
  margin: 0 !important;
  user-select: none !important;
}

.woocommerce-cart .cart-qty-btn:hover {
  background: #f1f5f9 !important;
  color: #0b1727 !important;
}

.woocommerce-cart table.shop_table.cart td.product-quantity input.qty {
  width: 40px !important;
  height: 38px !important;
  border: none !important;
  text-align: center !important;
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #0b1727 !important;
  padding: 0 !important;
  background: transparent !important;
  -moz-appearance: textfield !important;
}

.woocommerce-cart table.shop_table.cart td.product-quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart table.shop_table.cart td.product-quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* 5. Integrated Coupon Box */
.woocommerce-cart table.shop_table.cart td.actions {
  padding: 20px 0 0 0 !important;
  border-top: none !important;
  border-bottom: none !important;
  background: transparent !important;
}

.woocommerce-cart td.actions .coupon {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  background: #f0f7ff !important;
  border: 1px solid #d0e3ff !important;
  border-radius: 12px !important;
  padding: 12px 18px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.cart-coupon-label-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: Inter, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0b1727 !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.cart-coupon-label-wrapper svg {
  width: 18px !important;
  height: 18px !important;
  stroke: #0066cc !important;
  fill: none !important;
}

.woocommerce-cart td.actions .coupon input[type="text"] {
  flex: 1 !important;
  max-width: 320px !important;
  height: 42px !important;
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  padding: 0 16px !important;
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  color: #0f172a !important;
  box-sizing: border-box !important;
  text-transform: none !important;
}

.woocommerce-cart td.actions .coupon input[type="text"]::placeholder {
  color: #94a3b8 !important;
  text-transform: none !important;
}

.woocommerce-cart td.actions .coupon button[name="apply_coupon"] {
  height: 42px !important;
  background: #0066cc !important;
  background-color: #0066cc !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 0 22px !important;
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background 0.15s ease !important;
}

.woocommerce-cart td.actions .coupon button[name="apply_coupon"]:hover {
  background: #0052a3 !important;
  background-color: #0052a3 !important;
}

.woocommerce-cart td.actions button[name="update_cart"] {
  display: none !important;
}

/* Continue Shopping Pill Button */
.cart-continue-shopping-wrapper {
  margin-top: 18px !important;
  text-align: left !important;
  display: block !important;
}

.cart-continue-shopping-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 8px 22px !important;
  border: 1.5px solid #0066cc !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  color: #0066cc !important;
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

.cart-continue-shopping-btn:hover {
  background: #f0f7ff !important;
  color: #0052a3 !important;
  border-color: #0052a3 !important;
}

/* 6. Right Card - Order Summary */
.woocommerce-cart .cart_totals {
  width: 100% !important;
  float: none !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  padding: 0 !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .cart_totals > h2 {
  display: none !important;
}

.cart-summary-header {
  background: #0b1727 !important;
  padding: 16px 24px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  color: #ffffff !important;
  font-family: Inter, sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}

.cart-summary-header svg {
  stroke: #ffffff !important;
  fill: none !important;
  flex-shrink: 0 !important;
}

/* Inside Order Summary Body */
.woocommerce-cart .cart_totals table.shop_table {
  width: 100% !important;
  border-collapse: collapse !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 24px !important;
  display: block !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .cart_totals table.shop_table tbody {
  display: block !important;
  width: 100% !important;
}

/* Subtotal Row */
.woocommerce-cart .cart_totals table.shop_table tr.cart-subtotal {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 18px 0 14px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .cart_totals table.shop_table tr.cart-subtotal th {
  display: block !important;
  font-family: Inter, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #475569 !important;
  border: none !important;
  padding: 0 !important;
  text-align: left !important;
}

.woocommerce-cart .cart_totals table.shop_table tr.cart-subtotal td,
.woocommerce-cart .cart_totals table.shop_table tr.cart-subtotal td .amount,
.woocommerce-cart .cart_totals table.shop_table tr.cart-subtotal td bdi {
  display: block !important;
  font-family: Inter, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #0b1727 !important;
  border: none !important;
  padding: 0 !important;
  text-align: right !important;
}

/* Hide Default Clunky Shipping Calculator */
.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals,
.woocommerce-cart .cart_totals tr.shipping {
  display: none !important;
}

/* Free Shipping Dedicated Row Inside Order Summary */
.woocommerce-cart .cart_totals table.shop_table tr.cart-free-shipping-row {
  display: block !important;
  width: 100% !important;
  padding: 14px 0 !important;
  border: none !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .cart_totals table.shop_table tr.cart-free-shipping-row td {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  border: none !important;
  box-sizing: border-box !important;
}

.cart-free-shipping-card {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  background: #f0f7ff !important;
  border: 1px solid #d0e3ff !important;
  border-radius: 10px !important;
  padding: 14px 18px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.cart-free-shipping-icon {
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cart-free-shipping-icon svg {
  stroke: #0066cc !important;
  fill: #0066cc !important;
}

.cart-free-shipping-info {
  display: flex !important;
  flex-direction: column !important;
}

.cart-free-shipping-title {
  font-family: Inter, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0066cc !important;
  line-height: 1.25 !important;
}

.cart-free-shipping-sub {
  font-family: Inter, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #64748b !important;
  margin-top: 2px !important;
}

/* Total Row */
.woocommerce-cart .cart_totals table.shop_table tr.order-total {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 14px 0 20px !important;
  border-top: none !important;
  border-bottom: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .cart_totals table.shop_table tr.order-total th {
  display: block !important;
  font-family: Inter, sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #0b1727 !important;
  border: none !important;
  padding: 0 !important;
}

.woocommerce-cart .cart_totals table.shop_table tr.order-total td,
.woocommerce-cart .cart_totals table.shop_table tr.order-total td strong,
.woocommerce-cart .cart_totals table.shop_table tr.order-total td .amount,
.woocommerce-cart .cart_totals table.shop_table tr.order-total td bdi {
  display: block !important;
  font-family: Inter, sans-serif !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #0066cc !important;
  border: none !important;
  padding: 0 !important;
  text-align: right !important;
}

/* Proceed to Checkout & 2x2 Express Checkout */
.woocommerce-cart .wc-proceed-to-checkout {
  padding: 0 24px 24px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .checkout-button,
.woocommerce-cart a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart a.checkout-button.wp-element-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  height: 50px !important;
  background: #0066cc !important;
  background-color: #0066cc !important;
  color: #ffffff !important;
  font-family: Inter, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  text-decoration: none !important;
  border-radius: 10px !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(0, 102, 204, 0.25) !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  margin-bottom: 12px !important;
}

.woocommerce-cart .checkout-button:hover,
.woocommerce-cart a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: #0052a3 !important;
  background-color: #0052a3 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(0, 102, 204, 0.35) !important;
}

/* 2x2 Express Checkout Grid */
.cart-express-checkout-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 8px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin-top: 4px !important;
}

.cart-express-btn {
  height: 44px !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: none !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  width: 100% !important;
  transition: opacity 0.15s ease, transform 0.1s ease !important;
}

.cart-express-btn:hover {
  opacity: 0.92 !important;
  transform: translateY(-1px) !important;
}

.cart-btn-applepay {
  background: #000000 !important;
}

.cart-btn-gpay {
  background: #000000 !important;
}

.cart-btn-amazonpay {
  background: #fad676 !important;
}

.cart-btn-linkpay {
  background: #00d66f !important;
}

/* Suppress redundant or empty Stripe elements on Cart */
.woocommerce-cart .wc-stripe-banner-checkout {
  display: none !important;
}

/* 7. Trust Badges Row (Beneath Cart Columns) */
.cart-trust-badges-wrapper {
  margin-top: 28px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.cart-trust-badges-grid {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 22px 28px !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

.cart-trust-badge-item {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 6px 12px !important;
  position: relative !important;
}

.cart-trust-badge-item:not(:last-child)::after {
  content: '' !important;
  position: absolute !important;
  right: -8px !important;
  top: 15% !important;
  height: 70% !important;
  width: 1px !important;
  background-color: #e2e8f0 !important;
}

.cart-trust-badge-icon {
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cart-trust-badge-icon svg {
  stroke: #0066cc !important;
  fill: none !important;
}

.cart-trust-badge-text {
  display: flex !important;
  flex-direction: column !important;
}

.cart-trust-badge-title {
  font-family: Inter, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0b1727 !important;
  line-height: 1.25 !important;
}

.cart-trust-badge-sub {
  font-family: Inter, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #64748b !important;
  margin-top: 2px !important;
}

/* 8. Mobile & Small Screen Responsive Adjustments */
@media (max-width: 768px) {
  .woocommerce-cart .main-content,
  .woocommerce-cart main.woocommerce-cart-page,
  .woocommerce-cart main#CartPageContainer {
    padding: 12px 6px 36px 6px !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .woocommerce-cart .page-width.cart-page-wrapper,
  .woocommerce-cart .cart-page-wrapper,
  .woocommerce-cart .page-width {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .woocommerce-cart .entry-content,
  .woocommerce-cart .wp-block-post-content,
  .woocommerce-cart .woocommerce {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .woocommerce-cart .woocommerce > form.woocommerce-cart-form,
  .woocommerce-cart .woocommerce-cart-form {
    padding: 14px 10px 16px !important;
    margin: 0 0 14px 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    border-radius: 12px !important;
  }

  .woocommerce-cart .cart-collaterals,
  .woocommerce-cart .cart_totals {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 0 14px 0 !important;
    border-radius: 12px !important;
  }

  .woocommerce-cart .cart-trust-badges-wrapper {
    padding: 0 !important;
    margin: 16px 0 0 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .woocommerce-cart .cart-trust-badges-grid {
    padding: 12px 10px !important;
    border-radius: 12px !important;
    gap: 10px 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .cart-header-section {
    padding-left: 6px !important;
    padding-right: 6px !important;
    margin-bottom: 12px !important;
  }

  .cart-header-section .cart-page-title,
  .woocommerce-cart-page h1.cart-page-title {
    font-size: 26px !important;
  }

  .cart-title-accent-bar {
    width: 38px !important;
    height: 3px !important;
    margin-top: 6px !important;
  }

  /* Suppress WooCommerce default pseudo-element headers on mobile */
  .woocommerce-cart table.shop_table_responsive tr td::before,
  .woocommerce-cart table.shop_table.cart td::before {
    display: none !important;
    content: "" !important;
  }

  .woocommerce-cart table.shop_table.cart thead {
    display: none !important;
  }

  /* Product Row CSS Grid Layout on Mobile */
  .woocommerce-cart table.shop_table.cart tbody tr.cart_item {
    display: grid !important;
    grid-template-columns: 60px minmax(0, 1fr) 28px !important;
    grid-template-areas:
      "thumb name remove"
      "price qty subtotal" !important;
    gap: 12px 10px !important;
    align-items: center !important;
    padding: 16px 0 !important;
    border-bottom: 1px solid #f1f5f9 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .woocommerce-cart table.shop_table.cart thead th.product-name,
  .woocommerce-cart table.shop_table.cart tbody td.product-name {
    width: auto !important;
    min-width: 0 !important;
    padding: 0 4px !important;
  }

  .woocommerce-cart table.shop_table.cart thead th.product-thumbnail,
  .woocommerce-cart table.shop_table.cart tbody td.product-thumbnail {
    width: 60px !important;
    min-width: 0 !important;
    max-width: 60px !important;
    padding: 0 !important;
  }

  .woocommerce-cart table.shop_table.cart thead th.product-remove,
  .woocommerce-cart table.shop_table.cart tbody td.product-remove {
    width: 28px !important;
    min-width: 0 !important;
    max-width: 28px !important;
    padding: 0 !important;
  }

  .woocommerce-cart table.shop_table.cart thead th.product-price,
  .woocommerce-cart table.shop_table.cart tbody td.product-price,
  .woocommerce-cart table.shop_table.cart thead th.product-quantity,
  .woocommerce-cart table.shop_table.cart tbody td.product-quantity,
  .woocommerce-cart table.shop_table.cart thead th.product-subtotal,
  .woocommerce-cart table.shop_table.cart tbody td.product-subtotal {
    width: auto !important;
    min-width: 0 !important;
  }

  .woocommerce-cart table.shop_table.cart tbody tr.cart_item td {
    border: none !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-thumbnail {
    grid-area: thumb !important;
    width: 60px !important;
    height: 60px !important;
    margin: 0 !important;
    display: block !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-thumbnail img {
    width: 60px !important;
    height: 60px !important;
    border-radius: 8px !important;
    border: 1px solid #e2e8f0 !important;
    padding: 2px !important;
    object-fit: contain !important;
    background: #ffffff !important;
    display: block !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-name {
    grid-area: name !important;
    padding: 0 4px !important;
    text-align: left !important;
    min-width: 0 !important;
    display: block !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-name a {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #0b1727 !important;
    line-height: 1.35 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    display: block !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-remove {
    grid-area: remove !important;
    width: 28px !important;
    height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin: 0 !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-remove a.remove {
    width: 24px !important;
    height: 24px !important;
    font-size: 15px !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-price {
    grid-area: price !important;
    text-align: left !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #0066cc !important;
    white-space: nowrap !important;
    display: block !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-quantity {
    grid-area: qty !important;
    display: flex !important;
    justify-content: center !important;
    margin: 0 !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-quantity .quantity {
    height: 34px !important;
  }

  .woocommerce-cart .cart-qty-btn {
    width: 28px !important;
    height: 34px !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-quantity input.qty {
    width: 32px !important;
    height: 34px !important;
    font-size: 13px !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-subtotal {
    grid-area: subtotal !important;
    display: flex !important;
    justify-content: flex-end !important;
    text-align: right !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #0066cc !important;
    white-space: nowrap !important;
  }

  /* Coupon Box on Mobile */
  .woocommerce-cart table.shop_table.cart td.actions .coupon {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    padding: 12px 14px !important;
  }

  .woocommerce-cart td.actions .coupon input[type="text"] {
    max-width: 100% !important;
    width: 100% !important;
    height: 42px !important;
    font-size: 16px !important;
  }

  .woocommerce-cart td.actions .coupon button[name="apply_coupon"] {
    width: 100% !important;
    height: 42px !important;
  }

  .cart-continue-shopping-wrapper {
    margin-top: 14px !important;
  }

  /* Order Summary on Mobile */
  .cart-summary-header {
    padding: 14px 18px !important;
    font-size: 16px !important;
  }

  .woocommerce-cart .cart_totals table.shop_table {
    padding: 0 16px !important;
  }

  .woocommerce-cart .cart_totals table.shop_table tr.order-total td strong,
  .woocommerce-cart .cart_totals table.shop_table tr.order-total td .amount {
    font-size: 22px !important;
  }

  .woocommerce-cart .wc-proceed-to-checkout {
    padding: 0 16px 18px !important;
  }

  .woocommerce-cart a.checkout-button {
    height: 48px !important;
    font-size: 15px !important;
    margin-bottom: 10px !important;
  }

  .cart-express-checkout-grid {
    gap: 6px !important;
  }

  .cart-express-btn {
    height: 40px !important;
    border-radius: 8px !important;
  }

  /* Trust Badges 2x2 Grid on Mobile */
  .cart-trust-badges-wrapper {
    margin-top: 18px !important;
  }

  .cart-trust-badges-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px 8px !important;
    padding: 14px 12px !important;
    border-radius: 12px !important;
  }

  .cart-trust-badge-item {
    padding: 4px !important;
    gap: 8px !important;
  }

  .cart-trust-badge-icon svg {
    width: 24px !important;
    height: 24px !important;
  }

  .cart-trust-badge-title {
    font-size: 13px !important;
  }

  .cart-trust-badge-sub {
    font-size: 11px !important;
  }

  /* Hide Mobile Floating Toolbar on Cart Page */
  .woocommerce-cart #shopify-section-mobile-toolbar,
  .woocommerce-cart .mbtlwraper,
  .woocommerce-cart .mbtoolbar {
    display: none !important;
  }
}


/* ==========================================================================
   TIGHTENED CART DRAWER SPACING (ZERO DEAD WHITE GAP)
   ========================================================================== */
.drawer__inner.block-cart,
.drawer__inner,
.cart-drawer .drawer__inner {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}
.drawer__header {
  padding: 14px 20px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  min-height: auto !important;
  height: auto !important;
}
.drawer__header-title {
  font-size: 18px !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}
.drawer__body {
  padding: 14px 20px !important;
  flex: 1 1 auto !important;
  overflow-y: auto !important;
}
.drawer__item {
  gap: 14px !important;
  padding-bottom: 14px !important;
  margin-bottom: 14px !important;
  border-bottom: 1px solid #f1f5f9 !important;
}
/* Remove Order Note and Coupon Code buttons from Cart Drawer */
.drawer__actions-row,
#CartDrawer-Actions,
.drawer__action-box,
#CartDrawer-NoteBox,
#CartDrawer-CouponBox,
#CartDrawer-NoteBtn,
#CartDrawer-CouponBtn {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}
.drawer__footer {
  padding: 8px 20px 18px !important;
  border-top: none !important;
  background: #ffffff !important;
  margin: 0 !important;
}
.drawer__total-row {
  margin-bottom: 2px !important;
  padding-top: 4px !important;
}
.drawer__shipping-note {
  margin-bottom: 12px !important;
  font-size: 12px !important;
}
.drawer__checkout-btn {
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 8px !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  box-sizing: border-box !important;
}
.drawer__viewcart-btn {
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  box-sizing: border-box !important;
}
@media (max-width: 767px) {
  cart-drawer,
  .ctdrawer {
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
  }

  .cart-drawer,
  #CartDrawer {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100% !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
  }

  .drawer__inner.block-cart,
  .drawer__inner,
  .cart-drawer .drawer__inner {
    height: 100% !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    touch-action: pan-y !important;
    display: flex !important;
    flex-direction: column !important;
  }

  /* Sticky header with item count and close button while scrolling */
  .drawer__header {
    position: sticky !important;
    top: 0 !important;
    background: #ffffff !important;
    z-index: 25 !important;
    flex-shrink: 0 !important;
    padding: 14px 16px !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important;
  }

  .drawer__body,
  #CartDrawer-Items {
    flex: 0 0 auto !important;
    overflow: visible !important;
    padding: 14px 16px !important;
  }



  .drawer__footer,
  #CartDrawer-Footer {
    flex-shrink: 0 !important;
    margin-top: auto !important;
    padding: 12px 16px calc(24px + env(safe-area-inset-bottom, 20px) + 36px) !important;
    background: #ffffff !important;
  }

  .drawer__checkout-btn {
    height: 48px !important;
    font-size: 14px !important;
    margin-bottom: 10px !important;
  }

  .drawer__viewcart-btn {
    height: 44px !important;
    font-size: 13.5px !important;
    margin-bottom: 12px !important;
  }
}


/* Strict Select2 Accessibility Hidden Guard (Prevents 444px horizontal blowout) */
select.select2-hidden-accessible,
.select2-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
  margin: -1px !important;
}


/* ==========================================================================
   CHECKOUT CONTAINER WIDTH UNLOCKING (OVERRIDE WOOCOMMERCE 1000PX CLAMP)
   ========================================================================== */
.woocommerce-checkout main .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-checkout .entry-content,
.woocommerce-checkout .wp-block-post-content,
.woocommerce-checkout .checkout-page-wrapper,
.woocommerce-checkout form.woocommerce-checkout {
  max-width: 1240px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 768px) {
  body.woocommerce-checkout {
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow-x: hidden !important;
  }
  .woocommerce-checkout .main-content,
  .woocommerce-checkout main,
  #CheckoutPageContainer {
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .checkout-page-wrapper,
  .woocommerce-checkout .entry-content,
  .woocommerce-checkout .woocommerce {
    padding-left: 12px !important;
    padding-right: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  form.woocommerce-checkout {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
}




/* ==========================================================================
   OFFGRID POWER - MODERN 2-COLUMN CHECKOUT EXPERIENCE (PRECISION REFINEMENT)
   ========================================================================== */

/* 1. Global Checkout Canvas */
body.woocommerce-checkout {
    background-color: #F8FAFC !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    color: #0F172A !important;
    margin: 0 !important;
    padding: 0 !important;
    -webkit-font-smoothing: antialiased !important;
}

/* 2. Completely Hide Default Theme Header, Announcement Bar, Footer & Mobile Toolbar on Checkout */
body.woocommerce-checkout header.wp-block-template-part,
body.woocommerce-checkout #shopify-section-top-header,
body.woocommerce-checkout .tophwrap,
body.woocommerce-checkout .top_hdr,
body.woocommerce-checkout .main_hdr,
body.woocommerce-checkout header.site-header,
body.woocommerce-checkout .site-header,
body.woocommerce-checkout .top-bar,
body.woocommerce-checkout .announcement-bar,
body.woocommerce-checkout .header-top,
body.woocommerce-checkout #shopify-section-mobile-toolbar,
body.woocommerce-checkout .mbtlwraper,
body.woocommerce-checkout .mbtoolbar {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

/* 2b. Enable Footer on Checkout Page & Eliminate Dead Bottom Void */
body.woocommerce-checkout main#CheckoutPageContainer,
body.woocommerce-checkout .main-content.page,
body.woocommerce-checkout .checkout-page-wrapper,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout form.woocommerce-checkout {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

body.woocommerce-checkout footer.wp-block-template-part,
body.woocommerce-checkout .shopify-section-group-footer-group,
body.woocommerce-checkout footer.o_ft {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    margin: 24px 0 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    pointer-events: auto !important;
    opacity: 1 !important;
}

body.woocommerce-checkout footer.o_ft .page-width {
    max-width: 1320px !important;
    margin: 0 auto !important;
}

/* 3. Kill Pseudo-element Duplicate Headings */
#order_review::before,
form.woocommerce-checkout #order_review::before {
    content: none !important;
    display: none !important;
}

/* 4. Minimalist Sticky Top Header */
.custom-checkout-header {
    background: #FFFFFF !important;
    border-bottom: 1px solid #DCE4EF !important;
    padding: 16px 24px !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    width: 100% !important;
    box-sizing: border-box !important;
    display: block !important;
    visibility: visible !important;
    height: auto !important;
}

.custom-checkout-header-inner {
    max-width: 1100px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    min-height: 44px !important;
}

.checkout-logo-link {
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
}

.checkout-logo-img {
    height: 42px !important;
    width: auto !important;
    display: block !important;
    object-fit: contain !important;
}

.checkout-cart-link {
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    text-decoration: none !important;
    color: #0F172A !important;
    padding: 6px 10px !important;
    border-radius: 8px !important;
    transition: background-color 0.2s ease !important;
}

.checkout-cart-link:hover {
    background-color: #F1F5F9 !important;
}

.checkout-cart-count {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
}

/* 5. Checkout Main Container */
.woocommerce-checkout .main-content,
.woocommerce-checkout .shopify-policy__container,
.woocommerce-checkout .container,
.woocommerce-checkout #content {
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 24px 20px 60px 20px !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

/* 6. Top Coupon Banner */
.woocommerce-form-coupon-toggle {
    max-width: 1100px !important;
    margin: 0 auto 24px auto !important;
}

.woocommerce-form-coupon-toggle .woocommerce-info {
    background: #F0F7FF !important;
    border: 1px solid #BAE6FD !important;
    border-radius: 12px !important;
    padding: 14px 44px 14px 20px !important;
    display: flex !important;
    align-items: center !important;
    color: #0369A1 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
    position: relative !important;
}

.woocommerce-form-coupon-toggle .woocommerce-info::before {
    content: "ℹ" !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    background: #0284C7 !important;
    color: #FFFFFF !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    margin-right: 12px !important;
    flex-shrink: 0 !important;
}

.woocommerce-form-coupon-toggle .woocommerce-info::after {
    content: "" !important;
    position: absolute !important;
    right: 20px !important;
    top: 50% !important;
    width: 8px !important;
    height: 8px !important;
    border-right: 2px solid #0284C7 !important;
    border-bottom: 2px solid #0284C7 !important;
    transform: translateY(-65%) rotate(45deg) !important;
    pointer-events: none !important;
}

.woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon {
    color: #0284C7 !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    margin-left: 4px !important;
}

/* Collapsible Coupon Form (Default Hidden, Opens on Click) */
form.checkout_coupon {
    max-width: 1100px !important;
    margin: 12px auto 24px auto !important;
    background: #FFFFFF !important;
    border: 1px solid #DCE4EF !important;
    border-radius: 12px !important;
    padding: 20px !important;
    box-sizing: border-box !important;
}

form.checkout_coupon p {
    margin: 0 !important;
}

form.checkout_coupon input.input-text {
    height: 44px !important;
    border: 1px solid #DCE4EF !important;
    border-radius: 8px !important;
    padding: 8px 14px !important;
    font-size: 14px !important;
}

form.checkout_coupon button.button {
    height: 44px !important;
    background: #0866FF !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 0 20px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
}

/* 7. Express Checkout Stack */
#wc-stripe-express-checkout-element {
    max-width: 100% !important;
    margin: 0 0 20px 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
    grid-column: 1 / -1 !important;
    box-sizing: border-box !important;
}

#wc-stripe-express-checkout-element > div,
#wc-stripe-express-checkout-element .StripeElement,
#wc-stripe-express-checkout-element iframe {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
}

#wc-stripe-express-checkout-button-separator {
    text-align: center !important;
    margin: 20px auto 32px auto !important;
    position: relative !important;
    max-width: 500px !important;
    color: #64748B !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    width: 100% !important;
    grid-column: 1 / -1 !important;
}

#wc-stripe-express-checkout-button-separator::before,
#wc-stripe-express-checkout-button-separator::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    width: 42% !important;
    height: 1px !important;
    background-color: #DCE4EF !important;
}

#wc-stripe-express-checkout-button-separator::before { left: 0 !important; }
#wc-stripe-express-checkout-button-separator::after { right: 0 !important; }

/* 8. Main Form: 2-Column Desktop Grid */
form.checkout.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: 1.05fr 0.95fr !important;
    gap: 32px !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    align-items: start !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Left Card: Customer Details */
#customer_details {
    background: #FFFFFF !important;
    border: 1px solid #DCE4EF !important;
    border-radius: 16px !important;
    padding: 32px !important;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.03) !important;
    width: 100% !important;
    float: none !important;
    box-sizing: border-box !important;
}

#customer_details .col-1,
#customer_details .col-2 {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Right Card: Order Review & Payment */
#order_review {
    background: #FFFFFF !important;
    border: 1px solid #DCE4EF !important;
    border-radius: 16px !important;
    padding: 32px !important;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.03) !important;
    width: 100% !important;
    float: none !important;
    box-sizing: border-box !important;
}

/* 9. Section Titles & Circular Blue Badges */
.woocommerce-billing-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
    border: none !important;
    line-height: 1.3 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.checkout-badge-icon {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

.badge-blue {
    background-color: #0866FF !important;
    color: #FFFFFF !important;
}

.badge-blue-sm {
    background-color: #0866FF !important;
    color: #FFFFFF !important;
    width: 26px !important;
    height: 26px !important;
}

/* 10. Field Layout & Inputs */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
}

.woocommerce-billing-fields__field-wrapper .form-row-wide,
#billing_address_1_field,
#billing_address_2_field,
#billing_country_field,
#billing_email_field,
#billing_company_field,
#order_comments_field {
    grid-column: span 2 !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.woocommerce-billing-fields__field-wrapper .form-row-first,
.woocommerce-billing-fields__field-wrapper .form-row-last,
#billing_first_name_field,
#billing_last_name_field,
#billing_city_field,
#billing_state_field,
#billing_postcode_field {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.woocommerce form .form-row label {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #1E293B !important;
    margin-bottom: 6px !important;
    display: block !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.woocommerce form .form-row label .required {
    color: #EF4444 !important;
    font-weight: 700 !important;
}

.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-checkout .input-text {
    height: 46px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    color: #0F172A !important;
    background-color: #FFFFFF !important;
    border: 1px solid #DCE4EF !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    outline: none !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    font-family: inherit !important;
}

.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
    border-color: #0866FF !important;
    box-shadow: 0 0 0 3px rgba(8, 102, 255, 0.15) !important;
}

.woocommerce-checkout textarea {
    height: auto !important;
    min-height: 85px !important;
    resize: vertical !important;
}

/* Shipping Checkbox */
#ship-to-different-address {
    margin: 20px 0 0 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1E293B !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

#ship-to-different-address input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    accent-color: #0866FF !important;
    cursor: pointer !important;
}

.woocommerce-additional-fields {
    margin-top: 28px !important;
    padding-top: 24px !important;
    border-top: 1px solid #F1F5F9 !important;
}

/* 11. Order Summary Table */
table.woocommerce-checkout-review-order-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 24px !important;
    border: none !important;
}

table.woocommerce-checkout-review-order-table th,
table.woocommerce-checkout-review-order-table td {
    padding: 14px 0 !important;
    border: none !important;
    border-bottom: 1px solid #F1F5F9 !important;
    font-size: 14px !important;
    vertical-align: middle !important;
}

table.woocommerce-checkout-review-order-table thead th {
    color: #64748B !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    letter-spacing: 0.05em !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #E2E8F0 !important;
}

table.woocommerce-checkout-review-order-table thead th:last-child {
    text-align: right !important;
}

/* Product Thumbnail & Cell Meta */
.checkout-product-cell {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
}

.checkout-product-thumb {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    object-fit: contain !important;
    background: #FFFFFF !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 8px !important;
    padding: 2px !important;
}

.checkout-product-meta {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #0F172A !important;
    line-height: 1.4 !important;
}

.checkout-product-meta .product-quantity {
    font-weight: 600 !important;
    color: #475569 !important;
    margin-left: 4px !important;
}

table.woocommerce-checkout-review-order-table .product-total,
table.woocommerce-checkout-review-order-table td:last-child {
    text-align: right !important;
    color: #0F172A !important;
    font-weight: 600 !important;
    font-size: 14.5px !important;
}

/* Shipment Row */
table.woocommerce-checkout-review-order-table tr.shipping th {
    font-weight: 600 !important;
    color: #475569 !important;
}

table.woocommerce-checkout-review-order-table tr.shipping td {
    text-align: right !important;
    font-weight: 500 !important;
    color: #475569 !important;
    font-size: 13px !important;
}

table.woocommerce-checkout-review-order-table tr.shipping ul#shipping_method {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Total Row - Vibrant Blue (#0866FF) & 24px Bold */
table.woocommerce-checkout-review-order-table .order-total th {
    font-size: 17px !important;
    color: #0F172A !important;
    font-weight: 700 !important;
    text-transform: none !important;
    padding-top: 18px !important;
    border-bottom: none !important;
}

table.woocommerce-checkout-review-order-table .order-total td,
table.woocommerce-checkout-review-order-table .order-total td *,
table.woocommerce-checkout-review-order-table .order-total .amount,
table.woocommerce-checkout-review-order-table .order-total bdi,
table.woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount {
    font-size: 24px !important;
    color: #0866FF !important;
    font-weight: 800 !important;
    text-align: right !important;
    border-bottom: none !important;
}

/* 12. Payment Options Container */
#payment {
    background: #F8FAFC !important;
    border: 1px solid #DCE4EF !important;
    border-radius: 12px !important;
    padding: 22px !important;
    margin-top: 24px !important;
}

.payment-options-heading {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    margin-bottom: 16px !important;
    text-transform: none !important;
}

#payment ul.payment_methods {
    border: none !important;
    padding: 0 !important;
    margin: 0 0 16px 0 !important;
    list-style: none !important;
}

#payment ul.payment_methods li {
    padding: 0 !important;
    margin: 0 !important;
}

#payment ul.payment_methods li label,
#payment ul.payment_methods li.payment_method_stripe > label {
    display: none !important;
}

#payment ul.payment_methods li.payment_method_stripe > input[type="radio"] {
    display: none !important;
}

#payment div.payment_box {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #475569 !important;
    font-size: 13px !important;
}

#payment div.payment_box::before {
    display: none !important;
}

/* Stripe UPE Currency Selector & Radio Cards */
.wc-stripe-currency-selector {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-bottom: 16px !important;
}

.wc-stripe-currency-selector label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px 14px !important;
    background: #FFFFFF !important;
    border: 1px solid #DCE4EF !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #0F172A !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.wc-stripe-currency-selector label:has(input:checked),
.wc-stripe-currency-selector input:checked + label {
    border-color: #0866FF !important;
    background: #EFF6FF !important;
}

/* Privacy Box */
.woocommerce-privacy-policy-text {
    margin: 16px 0 18px 0 !important;
    font-size: 12.5px !important;
    color: #64748B !important;
    line-height: 1.5 !important;
}

.woocommerce-privacy-policy-text a {
    color: #0866FF !important;
    text-decoration: underline !important;
}

/* 13. Full-Width Primary Blue Place Order Button */
#place_order {
    background: #0866FF !important;
    background-color: #0866FF !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    height: 54px !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(8, 102, 255, 0.25) !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    text-transform: uppercase !important;
    margin-top: 14px !important;
    float: none !important;
}

#place_order:hover {
    background: #0052CC !important;
    background-color: #0052CC !important;
    box-shadow: 0 6px 18px rgba(8, 102, 255, 0.35) !important;
    transform: translateY(-1px) !important;
}

#place_order:active {
    transform: translateY(0) !important;
}

/* 14. Responsive Behavior (Tablet & Mobile) */
@media (max-width: 860px) {
    form.checkout.woocommerce-checkout {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    #customer_details,
    #order_review {
        padding: 20px !important;
        border-radius: 12px !important;
    }

    .woocommerce-billing-fields__field-wrapper,
    .woocommerce-additional-fields__field-wrapper {
        grid-template-columns: 1fr !important;
    }

    .woocommerce-billing-fields__field-wrapper .form-row-first,
    .woocommerce-billing-fields__field-wrapper .form-row-last,
    #billing_first_name_field,
    #billing_last_name_field {
        grid-column: span 1 !important;
        width: 100% !important;
    }

    .custom-checkout-header {
        padding: 12px 16px !important;
    }

    .checkout-logo-img {
        height: 36px !important;
    }
}


/* ==========================================================================
   OFFGRIDPOWER CHECKOUT SURGICAL REMEDIATION v2.0
   1. Zero Header Top Blank Gap
   2. Full Mobile Width Utilization (Eradicates 72px gutter waste)
   3. Strict Stacked 100% Billing Fields on Mobile (Fixes 51px First Name Squish)
   4. Complete Hiding of Additional Information / Order Notes
   ========================================================================== */

/* 1. ZERO BLANK SPACE ABOVE HEADER */
body.woocommerce-checkout {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.woocommerce-checkout #CheckoutPageContainer,
.woocommerce-checkout .main-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.woocommerce-checkout .checkout-page-wrapper {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.custom-checkout-header {
  margin: 0 0 16px 0 !important;
  padding: 12px 16px !important;
  background: #FFFFFF !important;
  border-bottom: 1px solid #DCE4EF !important;
  width: 100% !important;
  box-sizing: border-box !important;
  display: block !important;
  position: relative !important;
  top: 0 !important;
}

.custom-checkout-header-inner {
  max-width: 1240px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 44px !important;
}

/* 2. ERADICATE NESTED GUTTER WASTE (MAXIMIZE MOBILE AVAILABLE WIDTH) */
.woocommerce-checkout .entry-content,
.woocommerce-checkout .woocommerce {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 768px) {
  .checkout-page-wrapper {
    padding: 0 12px 30px !important;
    margin: 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  form.woocommerce-checkout {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  form.woocommerce-checkout #customer_details,
  form.woocommerce-checkout #order_review {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 18px 0 !important;
    padding: 18px 14px !important;
    box-sizing: border-box !important;
  }
}

/* 3. STRICT 100% FULL-WIDTH BILLING FIELDS ON MOBILE (FIXES 51px FIRST NAME SQUISH) */
@media (max-width: 768px) {
  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-additional-fields__field-wrapper {
    display: block !important;
    width: 100% !important;
    grid-template-columns: none !important;
    gap: 0 !important;
  }

  .woocommerce-billing-fields__field-wrapper .form-row,
  .woocommerce-billing-fields__field-wrapper .form-row-first,
  .woocommerce-billing-fields__field-wrapper .form-row-last,
  .woocommerce-billing-fields__field-wrapper .form-row-wide,
  #billing_first_name_field,
  #billing_last_name_field,
  #billing_company_field,
  #billing_country_field,
  #billing_address_1_field,
  #billing_address_2_field,
  #billing_city_field,
  #billing_state_field,
  #billing_postcode_field,
  #billing_email_field {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    float: none !important;
    clear: both !important;
    margin: 0 0 16px 0 !important;
    box-sizing: border-box !important;
    grid-column: auto !important;
  }

  .woocommerce-billing-fields__field-wrapper .woocommerce-input-wrapper {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .woocommerce-billing-fields__field-wrapper input.input-text,
  .woocommerce-billing-fields__field-wrapper select,
  .woocommerce-billing-fields__field-wrapper textarea {
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    height: 48px !important;
  }

  .woocommerce form .form-row label,
  .woocommerce-checkout label {
    display: block !important;
    width: 100% !important;
    white-space: normal !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    margin-bottom: 6px !important;
  }
}

@media (min-width: 769px) {
  .woocommerce-billing-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 16px !important;
  }

  .woocommerce-billing-fields__field-wrapper .form-row-wide,
  #billing_address_1_field,
  #billing_address_2_field,
  #billing_country_field,
  #billing_email_field,
  #billing_company_field {
    grid-column: span 2 !important;
    width: 100% !important;
  }

  .woocommerce-billing-fields__field-wrapper .form-row-first,
  .woocommerce-billing-fields__field-wrapper .form-row-last,
  #billing_first_name_field,
  #billing_last_name_field,
  #billing_city_field,
  #billing_state_field,
  #billing_postcode_field {
    grid-column: span 1 !important;
    width: 100% !important;
  }
}

/* 4. CUSTOM ORDER NOTE / ADDITIONAL INFORMATION */
.woocommerce-checkout .woocommerce-additional-fields {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  margin: 14px 0 0 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  clear: both !important;
}

.woocommerce-checkout .woocommerce-additional-fields h3 {
  display: none !important;
}

.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout #order_comments_field {
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
  width: 100% !important;
  clear: both !important;
}

.woocommerce-checkout #order_comments_field label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1E293B !important;
  margin-bottom: 6px !important;
  display: block !important;
}

.woocommerce-checkout textarea#order_comments {
  display: block !important;
  width: 100% !important;
  min-height: 72px !important;
  height: 72px !important;
  padding: 10px 12px !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  border: 1px solid #CBD5E1 !important;
  border-radius: 8px !important;
  background: #FFFFFF !important;
  color: #1E293B !important;
  box-sizing: border-box !important;
  resize: vertical !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.woocommerce-checkout textarea#order_comments:focus {
  border-color: #0866FF !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(8, 102, 255, 0.12) !important;
}

/* Desktop: Always Visible Directly Under Ship to Different Address */
@media (min-width: 769px) {
  .woocommerce-checkout .toggle-order-notes-btn {
    display: none !important;
  }
  .woocommerce-checkout #order_comments_field {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
  }
}

/* Mobile: Collapsed by Default, Click to View/Expand */
@media (max-width: 768px) {
  .woocommerce-checkout .toggle-order-notes-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #0866FF !important;
    background: #F1F5F9 !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 6px !important;
    padding: 6px 12px !important;
    margin: 6px 0 10px 0 !important;
    cursor: pointer !important;
    user-select: none !important;
    transition: background 0.2s ease, border-color 0.2s ease !important;
  }
  .woocommerce-checkout .toggle-order-notes-btn:active {
    background: #E2E8F0 !important;
  }
  .woocommerce-checkout .woocommerce-additional-fields:not(.notes-expanded) #order_comments_field {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
  .woocommerce-checkout .woocommerce-additional-fields.notes-expanded #order_comments_field {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    margin: 4px 0 14px 0 !important;
    animation: fadeInOrderNote 0.25s ease-out !important;
  }
  .woocommerce-checkout .woocommerce-additional-fields.notes-expanded .toggle-order-notes-btn {
    background: #EFF6FF !important;
    border-color: #BFDBFE !important;
  }
  @keyframes fadeInOrderNote {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
  }
}


/* Hide sticky mobile bottom navigation toolbar on checkout page */
.woocommerce-checkout #shopify-section-mobile-toolbar,
.woocommerce-checkout .mbtlwraper,
.woocommerce-checkout .mbtoolbar {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  pointer-events: none !important;
}

html, body.woocommerce-checkout {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}


/* ==========================================================================
   DEFINITIVE OVERRIDES: DESKTOP CHECKOUT 1920PX CENTERING & NAV DRAWER CLOSE
   ========================================================================== */
html,
body.woocommerce-checkout {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: #F8FAFC !important;
}

.custom-checkout-header {
  width: 100% !important;
  max-width: 100% !important;
  background: #FFFFFF !important;
  border-bottom: 1px solid #DCE4EF !important;
  padding: 16px 24px !important;
  box-sizing: border-box !important;
}

.custom-checkout-header-inner {
  max-width: 1100px !important;
  width: 100% !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
}

.woocommerce-checkout .main-content,
.woocommerce-checkout .shopify-policy__container,
.woocommerce-checkout .container,
.woocommerce-checkout #content,
.woocommerce-checkout .entry-content,
.woocommerce-checkout .woocommerce {
  max-width: 1140px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 24px 20px 60px 20px !important;
  box-sizing: border-box !important;
  float: none !important;
}

form.checkout.woocommerce-checkout,
form.woocommerce-checkout {
  display: grid !important;
  grid-template-columns: 1.05fr 0.95fr !important;
  gap: 32px !important;
  max-width: 1100px !important;
  width: 100% !important;
  margin: 0 auto !important;
  align-items: start !important;
  box-sizing: border-box !important;
  float: none !important;
}

@media (max-width: 991px) {
  form.checkout.woocommerce-checkout,
  form.woocommerce-checkout {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 0 16px !important;
  }
}

#wc-stripe-express-checkout-element {
  max-width: 500px !important;
  width: 100% !important;
  margin: 0 auto 16px auto !important;
}

#wc-stripe-express-checkout-element > div,
#wc-stripe-express-checkout-element .StripeElement,
#wc-stripe-express-checkout-element iframe {
  width: 100% !important;
  max-width: 100% !important;
  background: transparent !important;
  border: none !important;
}

/* Nav Drawer Close Button & Overlay Invariants */
.mob_nav_wr {
  overflow-x: hidden !important;
}

.closeMnav,
#mobNavCloseBtn,
.mob_nav_wr .closeMnav {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  left: auto !important;
  bottom: auto !important;
  width: 38px !important;
  height: 38px !important;
  background: #F1F5F9 !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 50% !important;
  color: #0F172A !important;
  cursor: pointer !important;
  z-index: 100002 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
  transition: all 0.2s ease !important;
}

.closeMnav:hover,
#mobNavCloseBtn:hover,
.mob_nav_wr .closeMnav:hover {
  background: #E2E8F0 !important;
  transform: scale(1.05) !important;
}

.closeMnav svg,
#mobNavCloseBtn svg,
.mob_nav_wr .closeMnav svg {
  width: 14px !important;
  height: 14px !important;
  fill: #0F172A !important;
  pointer-events: none !important;
}

.mobNav {
  padding-top: 55px !important;
}

.mobNavOverlay {
  cursor: pointer !important;
  z-index: 99990 !important;
}


/* ==========================================================================
   MOBILE-FIRST SCREEN-FILL & APPLE HIG SPACING (WCAG 44PX TOUCH & ZERO VOID)
   ========================================================================== */
@media (max-width: 768px) {
  /* 1. Reset all nested wrappers so content fills the viewport with 12px safe margins */
  html,
  body.woocommerce-checkout {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    background-color: #F8FAFC !important;
    overflow-x: hidden !important;
  }

  .wp-site-blocks {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .woocommerce-checkout .main-content,
  .woocommerce-checkout #CheckoutPageContainer,
  .woocommerce-checkout .checkout-page-wrapper,
  .woocommerce-checkout .entry-content,
  .woocommerce-checkout .woocommerce {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* 2. Top Header spans 100% edge-to-edge (ONLY on checkout) */
  .woocommerce-checkout .custom-checkout-header {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 16px 0 !important;
    padding: 14px 16px !important;
    background: #FFFFFF !important;
    border-bottom: 1px solid #E2E8F0 !important;
    box-sizing: border-box !important;
  }

  header .wp-block-group.alignwide,
  .custom-checkout-header-inner {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
  }

  /* 3. Main wrapper: clean 12px mobile edge margins */
  .woocommerce-checkout .checkout-page-wrapper {
    padding: 0 12px 40px 12px !important;
    box-sizing: border-box !important;
  }

  /* 4. Coupon Notice full width */
  .woocommerce-checkout .woocommerce-form-coupon-toggle,
  .woocommerce-checkout .woocommerce-info,
  .woocommerce-checkout .wc-block-components-notice-banner {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 16px 0 !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
  }

  /* 5. Express Checkout full width & seamless buttons */
  #wc-stripe-express-checkout-element {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #wc-stripe-express-checkout-element > div,
  #wc-stripe-express-checkout-element .StripeElement,
  #wc-stripe-express-checkout-element iframe {
    width: 100% !important;
    max-width: 100% !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }

  /* 6. Form Checkout: Clean single column filling the screen */
  form.checkout.woocommerce-checkout,
  form.woocommerce-checkout {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 16px !important;
    box-sizing: border-box !important;
  }

  /* 7. Apple HIG Cards: 100% width, generous touch padding, subtle shadow */
  #customer_details,
  #order_review {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 22px 18px !important;
    background: #FFFFFF !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 16px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
    float: none !important;
  }

  /* 8. Touch-friendly Apple HIG inputs (48px height, 16px font to prevent zoom) */
  .woocommerce-billing-fields,
  .woocommerce-billing-fields__field-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    box-sizing: border-box !important;
  }

  .form-row {
    width: 100% !important;
    margin: 0 0 4px 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .form-row input.input-text,
  .form-row select,
  .select2-container--default .select2-selection--single {
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    padding: 0 14px !important;
    border: 1px solid #DCE4EF !important;
    background-color: #FFFFFF !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  }

  .form-row input.input-text:focus,
  .form-row select:focus,
  .select2-container--default--open .select2-selection--single {
    border-color: #0866FF !important;
    box-shadow: 0 0 0 3px rgba(8, 102, 255, 0.15) !important;
    outline: none !important;
  }

  /* 9. Product summary rows in mobile */
  .woocommerce-checkout-review-order-table {
    width: 100% !important;
    margin: 0 0 16px 0 !important;
    box-sizing: border-box !important;
  }

  /* 10. Primary Action: Full-width Apple HIG Place Order button */
  #place_order {
    width: 100% !important;
    height: 52px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-radius: 12px !important;
    margin-top: 16px !important;
    background-color: #0866FF !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 14px rgba(8, 102, 255, 0.28) !important;
    border: none !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}


/* ==========================================================================
   DEFINITIVE CHECKOUT MOBILE SCREEN-FILL (ZERO TOP GAP, ZERO SIDE VOID)
   ========================================================================== */
@media (max-width: 768px) {
  html,
  body.woocommerce-checkout,
  .woocommerce-checkout {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    background-color: #F8FAFC !important;
    overflow-x: hidden !important;
  }

  .woocommerce-checkout .wp-site-blocks,
  .woocommerce-checkout .main-content,
  .woocommerce-checkout #CheckoutPageContainer,
  .woocommerce-checkout .entry-content,
  .woocommerce-checkout .woocommerce {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Obliterate empty store notices that cause 60px top white gap */
  .woocommerce-checkout .wc-block-store-notices,
  .woocommerce-checkout .wc-block-store-notices:empty,
  .woocommerce-checkout .woocommerce-store-notices,
  .woocommerce-checkout .woocommerce-NoticeGroup {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    overflow: hidden !important;
  }

  /* Full-bleed header pinned at top: 0 with centered logo */
  .woocommerce-checkout header.custom-checkout-header,
  .custom-checkout-header {
    width: 100% !important;
    max-width: 100vw !important;
    margin: 0 0 16px 0 !important;
    padding: 12px 16px !important;
    background: #FFFFFF !important;
    border-bottom: 1px solid #E2E8F0 !important;
    box-sizing: border-box !important;
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
  }

  .custom-checkout-header-inner {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important; /* CENTER LOGO */
    padding: 0 !important;
  }

  .checkout-logo-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .checkout-logo-img {
    height: 36px !important;
    width: auto !important;
    max-height: 40px !important;
    object-fit: contain !important;
  }

  .checkout-cart-link {
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    align-items: center !important;
    padding: 6px !important;
  }

  /* Single clean 12px gutter on mobile */
  .woocommerce-checkout .checkout-page-wrapper {
    padding: 0 12px 40px 12px !important;
    margin: 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Cards expand completely across 366px of 390px */
  .woocommerce-checkout form.checkout,
  .woocommerce-checkout form.woocommerce-checkout {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 20px 16px !important;
    background: #FFFFFF !important;
    border: 1px solid #DCE4EF !important;
    border-radius: 16px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
    float: none !important;
  }

  /* Form field rows and inputs */
  .woocommerce-checkout .form-row {
    width: 100% !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .woocommerce-checkout .form-row input.input-text,
  .woocommerce-checkout .form-row select,
  .woocommerce-checkout .select2-container--default .select2-selection--single {
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    font-size: 16px !important;
    border-radius: 10px !important;
    border: 1px solid #DCE4EF !important;
    padding: 0 14px !important;
    box-sizing: border-box !important;
  }

  /* Place order button full width 52px height */
  .woocommerce-checkout #place_order {
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-radius: 12px !important;
    margin-top: 16px !important;
    background-color: #0866FF !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 14px rgba(8, 102, 255, 0.28) !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}


/* ==========================================================================
   APPROVED REFINEMENTS: HEADER CART BADGE, FLATTENED PAYMENT & DESKTOP SPACING
   ========================================================================== */

/* 1. Header Cart Icon & Badge Alignment across all pages */
.header-icons #cartLink,
#cartLink {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
}

#cartLink svg.at-icon,
#cartLink svg {
  width: 22px !important;
  height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  display: block !important;
  margin: 0 !important;
}

#cartLink #cart-icon-bubble,
#cartLink .cartCount {
  position: absolute !important;
  top: 4px !important;
  right: 4px !important;
  left: auto !important;
  bottom: auto !important;
  min-width: 17px !important;
  height: 17px !important;
  line-height: 17px !important;
  padding: 0 4px !important;
  background-color: #0866FF !important;
  color: #FFFFFF !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
  text-align: center !important;
  box-sizing: border-box !important;
  z-index: 2 !important;
}

/* 2. Balanced Order Review Table Column Proportions (Prevents Price Clipping) */
table.woocommerce-checkout-review-order-table {
  width: 100% !important;
  table-layout: fixed !important;
  box-sizing: border-box !important;
}

table.woocommerce-checkout-review-order-table th {
  width: 38% !important;
  max-width: 38% !important;
  text-align: left !important;
  word-break: break-word !important;
  padding: 12px 0 !important;
}

table.woocommerce-checkout-review-order-table td {
  width: 62% !important;
  text-align: right !important;
  box-sizing: border-box !important;
  padding: 12px 0 !important;
}

table.woocommerce-checkout-review-order-table tr.order-total th {
  font-size: 16px !important;
  font-weight: 700 !important;
  vertical-align: middle !important;
  padding: 16px 0 !important;
}

table.woocommerce-checkout-review-order-table tr.order-total td,
table.woocommerce-checkout-review-order-table tr.order-total td .amount,
table.woocommerce-checkout-review-order-table tr.order-total td .woocommerce-Price-amount {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #0866FF !important;
  text-align: right !important;
  white-space: nowrap !important;
  display: inline-block !important;
  max-width: 100% !important;
  overflow: visible !important;
  padding: 16px 0 !important;
}

/* 3. Mobile Payment Card Flattening (Zero "Card Inside Card Inside Card") */
@media (max-width: 768px) {
  #order_review #payment,
  form.checkout #order_review #payment {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 16px 0 0 0 !important;
    box-shadow: none !important;
  }

  #order_review #payment ul.payment_methods {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 12px 0 !important;
  }

  #order_review #payment ul.payment_methods li.wc_payment_method {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 10px 0 !important;
  }

  #order_review #payment div.payment_box {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 8px 0 0 0 !important;
    box-shadow: none !important;
  }

  #order_review #payment .wc-stripe-elements-field,
  #order_review #payment .payment_box_stripe {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* 4. Desktop Whitespace Optimization (Eliminating Massive Top Voids) */
@media (min-width: 769px) {
  .woocommerce-checkout .wc-block-store-notices,
  .woocommerce-checkout .wc-block-store-notices:empty,
  .woocommerce-checkout .woocommerce-store-notices {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  .woocommerce-checkout .main-content,
  .woocommerce-checkout #CheckoutPageContainer,
  .woocommerce-checkout .checkout-page-wrapper,
  .woocommerce-checkout .entry-content,
  .woocommerce-checkout .woocommerce {
    padding-top: 0 !important;
    margin-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  .custom-checkout-header {
    margin: 0 0 20px 0 !important;
    padding: 14px 24px !important;
  }

  .woocommerce-checkout .woocommerce-form-coupon-toggle {
    margin: 0 0 16px 0 !important;
  }

  #wc-stripe-express-checkout-element {
    margin: 0 0 12px 0 !important;
  }

  #wc-stripe-express-checkout-button-separator {
    margin: 12px 0 24px 0 !important;
  }

  form.checkout.woocommerce-checkout {
    gap: 24px !important;
  }
}


/* ==========================================================================
   GLOBAL HEADER FULL-BLEED ZERO-GAP GUARANTEE (HOMEPAGE & NON-CHECKOUT)
   ========================================================================== */
body:not(.woocommerce-checkout) header.wp-block-template-part,
body.home header.wp-block-template-part {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  width: 100% !important;
  max-width: 100% !important;
  background: transparent !important;
}

body:not(.woocommerce-checkout) #shopify-section-top-header,
body:not(.woocommerce-checkout) .tophwrap {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body:not(.woocommerce-checkout) .main_hdr {
  margin: 0 !important;
  width: 100% !important;
}

/* ==========================================================================
   OFFGRID POWER - COMPREHENSIVE CHECKOUT OPTIMIZATIONS (USER DIRECTIVE)
   ========================================================================== */

/* 1. FULL-WIDTH CHECKOUT HEADER (EDGE-TO-EDGE 100% LIKE HOMEPAGE & PRODUCT PAGES) */
body.woocommerce-checkout .custom-checkout-header,
.woocommerce-checkout header.custom-checkout-header {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 !important;
  padding: 16px 0 !important;
  background: #FFFFFF !important;
  border-bottom: 1px solid #E2E8F0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
  position: relative !important;
  z-index: 999 !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout .custom-checkout-header .custom-checkout-header-inner,
.woocommerce-checkout header.custom-checkout-header .custom-checkout-header-inner {
  max-width: 1320px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  position: relative !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout .custom-checkout-header .checkout-logo-link {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 auto !important;
}

body.woocommerce-checkout .custom-checkout-header .checkout-logo-img {
  height: 42px !important;
  width: auto !important;
  max-width: 220px !important;
  object-fit: contain !important;
  display: block !important;
}

body.woocommerce-checkout .custom-checkout-header .checkout-cart-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #0F172A !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  position: absolute !important;
  right: 24px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

@media (max-width: 767px) {
  body.woocommerce-checkout .custom-checkout-header,
  .woocommerce-checkout header.custom-checkout-header {
    padding: 12px 0 !important;
  }
  body.woocommerce-checkout .custom-checkout-header .custom-checkout-header-inner,
  .woocommerce-checkout header.custom-checkout-header .custom-checkout-header-inner {
    padding: 0 16px !important;
  }
  body.woocommerce-checkout .custom-checkout-header .checkout-cart-link {
    right: 16px !important;
  }
  body.woocommerce-checkout .custom-checkout-header .checkout-logo-img {
    height: 34px !important;
  }
}

/* 2. EXPRESS CHECKOUT UNDER BUY BUTTON (#place_order) */
#express-under-place-order-wrapper {
  margin-top: 14px !important;
  margin-bottom: 0 !important;
  width: 100% !important;
  clear: both !important;
  box-sizing: border-box !important;
}

/* Delete all occurrences of the OR separator */
#express-under-place-order-wrapper #wc-stripe-express-checkout-button-separator,
#express-under-place-order-wrapper #wc-stripe-express-checkout-separator,
#wc-stripe-express-checkout-button-separator,
#wc-stripe-express-checkout-separator,
.wc-stripe-express-checkout-separator,
.quick-pay-separator,
p#wc-stripe-express-checkout-button-separator,
form.checkout.woocommerce-checkout > #wc-stripe-express-checkout-button-separator,
form.checkout.woocommerce-checkout > #wc-stripe-express-checkout-separator,
.woocommerce-checkout #customer_details > #wc-stripe-express-checkout-button-separator,
.woocommerce-checkout #customer_details > #wc-stripe-express-checkout-separator {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

/* Guarantee ONLY ONE header is ever shown, hiding any duplicates immediately */
.custom-checkout-header ~ .custom-checkout-header,
.custom-checkout-header + .custom-checkout-header,
header.custom-checkout-header:not(:first-of-type) {
  display: none !important;
}

/* 2x2 Grid for Express Checkout Buttons (Checkout, PDP & Cart) */
.single-product #wc-stripe-express-checkout-element,
#express-under-place-order-wrapper #wc-stripe-express-checkout-element,
.woocommerce-cart .wc-proceed-to-checkout #wc-stripe-express-checkout-element {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 12px 0 0 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  clear: both !important;
  visibility: visible !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#express-under-place-order-wrapper #wc-stripe-express-checkout-element > div,
#express-under-place-order-wrapper #wc-stripe-express-checkout-element > div.StripeElement,
#express-under-place-order-wrapper #wc-stripe-express-checkout-element > div[id^="wc-stripe-express-checkout-element-"],
.woocommerce-cart .wc-proceed-to-checkout #wc-stripe-express-checkout-element > div,
.woocommerce-cart .wc-proceed-to-checkout #wc-stripe-express-checkout-element > div.StripeElement,
.woocommerce-cart .wc-proceed-to-checkout #wc-stripe-express-checkout-element > div[id^="wc-stripe-express-checkout-element-"] {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  visibility: visible !important;
  height: 48px !important;
}

#express-under-place-order-wrapper #wc-stripe-express-checkout-element > div.StripeElement iframe,
.woocommerce-cart .wc-proceed-to-checkout #wc-stripe-express-checkout-element > div.StripeElement iframe {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  visibility: visible !important;
  height: 48px !important;
}

.woocommerce-cart .cart_totals {
  overflow: hidden !important;
}

@media (max-width: 480px) {
  #express-under-place-order-wrapper {
    margin-top: 12px !important;
  }
  .single-product #wc-stripe-express-checkout-element,
  #express-under-place-order-wrapper #wc-stripe-express-checkout-element,
  .woocommerce-cart .wc-proceed-to-checkout #wc-stripe-express-checkout-element {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    visibility: visible !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

/* 3. DESKTOP CHECKOUT CONTAINER EXPANSION - WIDER 1320PX TWO-COLUMN (ZERO WASTED SIDES) */
@media (min-width: 992px) {
  .woocommerce-checkout main#CheckoutPageContainer,
  .woocommerce-checkout .main-content.page,
  .woocommerce-checkout .checkout-page-wrapper,
  .woocommerce-checkout .entry-content,
  .woocommerce-checkout .woocommerce,
  .woocommerce-checkout form.woocommerce-checkout {
    max-width: 1320px !important;
    width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }

  .woocommerce-checkout .checkout-page-wrapper {
    padding: 20px 24px 0 !important;
    margin-bottom: 0 !important;
  }

  .woocommerce-checkout form.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: 1.15fr 0.85fr !important; /* Left 57.5%, Right 42.5% */
    gap: 36px !important;
    align-items: start !important;
  }

  .woocommerce-checkout #customer_details {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .woocommerce-checkout #order_review {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* 4. PRIVACY POLICY NOTICE & PLACE ORDER TIGHT SPACING (ZERO VOID GAPS) */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  margin: 8px 0 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout .woocommerce-privacy-policy-text {
  margin: 6px 0 8px !important;
  padding: 0 !important;
}

.woocommerce-checkout .woocommerce-privacy-policy-text .checkout-privacy-inner {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
}

.woocommerce-checkout .woocommerce-privacy-policy-text p {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 11.5px !important;
  line-height: 1.4 !important;
  color: #64748B !important;
}

.woocommerce-checkout #payment .form-row.place-order {
  margin: 8px 0 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout #place_order {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
}

/* 5. ORDER REVIEW TABLE - COMPACT PRODUCT NAMES & ZERO EXCESSIVE BLANK SPACE */
.woocommerce-checkout table.woocommerce-checkout-review-order-table {
  table-layout: fixed !important;
  width: 100% !important;
  border-collapse: collapse !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table th.product-name,
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name {
  width: 76% !important;
  padding: 10px 0 !important;
  vertical-align: top !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table th.product-total,
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-total {
  width: 24% !important;
  padding: 10px 0 !important;
  text-align: right !important;
  vertical-align: top !important;
  white-space: nowrap !important;
  font-weight: 700 !important;
  color: #0F172A !important;
}

.woocommerce-checkout .checkout-product-cell {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

.woocommerce-checkout .checkout-product-thumb {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  object-fit: contain !important;
  border-radius: 6px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  flex-shrink: 0 !important;
}

.woocommerce-checkout .checkout-product-meta {
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  color: #0F172A !important;
  word-break: break-word !important;
}

.woocommerce-checkout .checkout-product-meta dl.variation,
.woocommerce-checkout .checkout-product-meta .item-variation {
  font-size: 11px !important;
  line-height: 1.3 !important;
  font-weight: 400 !important;
  color: #64748B !important;
  margin-top: 2px !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr {
  border-bottom: 1px solid #F1F5F9 !important;
}

/* ==========================================================================
   HOMEPAGE PRODUCT CARDS, DISCOVER MORE BUTTON & MOBILE NAV SUBMENUS
   ========================================================================== */

/* 1. PRODUCT CARDS SPACING & ROW SEPARATION (ZERO TOUCHING CARDS) */
.grid-products .gitem,
.grid-products .grid_bx,
ul.products li.product,
.woocommerce ul.products li.product {
  margin-bottom: 24px !important;
}

.grid-products {
  margin-bottom: 24px !important;
}

@media (max-width: 767px) {
  .grid-products {
    margin: 0 -6px 20px -6px !important;
  }
  .grid-products .gitem {
    padding-left: 6px !important;
    padding-right: 6px !important;
    margin-bottom: 16px !important;
  }
  .grid-products .grid_bx {
    margin-bottom: 16px !important;
  }
}

/* 2. DISCOVER MORE BUTTON - TIGHT & BALANCED SPACING */
.grid-products + .tc,
.grid-products ~ .tc,
.template--24821782642724__afe95ee9-c5c7-4701-8be4-1797c55c58f7 .tc,
div.tc:has(> a[href*="ecoflow-delta-pro-ultra-x-solar-generator-kits"]),
div.tc:has(> a.btn1) {
  margin-top: 12px !important;
  margin-bottom: 16px !important;
  padding-top: 0 !important;
  clear: both !important;
}

a.btn.btn1[href*="ecoflow-delta-pro-ultra-x-solar-generator-kits"],
.grid-products ~ .tc a.btn {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  display: inline-block !important;
}

@media (max-width: 767px) {
  .grid-products + .tc,
  .grid-products ~ .tc,
  .template--24821782642724__afe95ee9-c5c7-4701-8be4-1797c55c58f7 .tc,
  div.tc:has(> a[href*="ecoflow-delta-pro-ultra-x-solar-generator-kits"]),
  div.tc:has(> a.btn1) {
    margin-top: 10px !important;
    margin-bottom: 12px !important;
    padding-top: 0 !important;
  }
}

/* 3. MOBILE MENU ACCORDION SUBMENUS & ROTATING CHEVRON */
.mobNav .subLinks {
  display: none;
}

.mobNav li.open > ul.subLinks,
.mobNav li.open > .subLinks,
.mobNav li.parent.open > .subLinks,
.mobNav ul.subLinks.open,
.mobNav ul.subLinks.active {
  display: block !important;
}

.mobNav a.hasSub svg.arw {
  transition: transform 0.25s ease !important;
}

.mobNav li.open > a.hasSub svg.arw,
.mobNav a.hasSub.open svg.arw {
  transform: rotate(90deg) !important;
}

/* ==========================================================================
   OFFGRID POWER - ELIMINATE TABS CORNERS & PDP QUICK PAY BUTTONS
   ========================================================================== */
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after,
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after,
.woocommerce-tabs ul.tabs li.active::before,
.woocommerce-tabs ul.tabs li.active::after {
  display: none !important;
  content: none !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  width: 0 !important;
  height: 0 !important;
}

/* ==========================================================================
   OFFGRID POWER PDP REFERENCE ALIGNMENT (SINGLE COLUMN 4 EXPRESS BUTTONS,
   OR DIVIDER, TRUCK DELIVERY, 3 TRUST CARDS, IN STOCK PILL, ZERO DUPLICATES)
   ========================================================================== */

/* 1. SINGLE PRODUCT PAGE: 2x2 GRID EXPRESS BUTTONS DIRECTLY UNDER ADD TO CART */
.single-product #wc-stripe-express-checkout-element {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 12px 0 16px 0 !important;
  box-sizing: border-box !important;
  clear: both !important;
  visibility: visible !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.single-product #wc-stripe-express-checkout-element > div,
.single-product #wc-stripe-express-checkout-element > div.StripeElement,
.single-product #wc-stripe-express-checkout-element div[id^="wc-stripe-express-checkout-element-"] {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  display: block !important;
  box-sizing: border-box !important;
  visibility: visible !important;
}

.single-product #wc-stripe-express-checkout-element iframe {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  height: 48px !important;
  min-height: 44px !important;
  border-radius: 6px !important;
  display: block !important;
  box-sizing: border-box !important;
  visibility: visible !important;
}

/* Primary Add to Cart Button with Small White Cart Icon */
.single-product button.single_add_to_cart_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  height: 50px !important;
  background-color: #0866FF !important;
  color: #FFFFFF !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
  text-transform: none !important;
  cursor: pointer !important;
  box-shadow: 0 2px 6px rgba(8, 102, 255, 0.25) !important;
  transition: background-color 0.2s ease, transform 0.1s ease !important;
}

.single-product button.single_add_to_cart_button:hover {
  background-color: #0756d6 !important;
  transform: translateY(-1px) !important;
}

.single-product button.single_add_to_cart_button svg.pdp-cart-icon {
  width: 18px !important;
  height: 18px !important;
  stroke: #FFFFFF !important;
  fill: none !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
}

/* 2. COMPLETELY HIDE DUPLICATE QUICK PAY WRAPPER */
#pdp-quick-pay-wrapper,
.pdp-quick-pay-wrapper {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* 3. IN STOCK PILL BADGE ABOVE TITLE */
.pdp-in-stock-pill {
  display: inline-block !important;
  background: #EFF6FF !important;
  color: #2563EB !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  padding: 5px 10px !important;
  border-radius: 4px !important;
  margin-bottom: 8px !important;
  letter-spacing: 0.2px !important;
}

/* 4. OR DIVIDER BELOW EXPRESS BUTTONS */
.pdp-or-divider {
  display: flex !important;
  align-items: center !important;
  text-align: center !important;
  margin: 14px 0 16px 0 !important;
  width: 100% !important;
  clear: both !important;
}

.pdp-or-divider::before,
.pdp-or-divider::after {
  content: "" !important;
  flex: 1 !important;
  border-bottom: 1px solid #E2E8F0 !important;
}

.pdp-or-divider span {
  padding: 0 12px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #64748B !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

/* 5. PDP DELIVERY BOX MATCHING REFERENCE */
.single-product .pdp-delivery-box {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13px !important;
  color: #334155 !important;
  margin: 12px 0 16px 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  width: 100% !important;
}

.single-product .pdp-delivery-box svg.pdp-delivery-truck {
  width: 18px !important;
  height: 18px !important;
  stroke: #1E293B !important;
  flex-shrink: 0 !important;
}

.single-product .pdp-delivery-box b {
  color: #0F172A !important;
  font-weight: 700 !important;
}

/* 6. TRUST GRID & 3 TRUST CARDS MATCHING REFERENCE */
.single-product .pdp-trust-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
  margin: 0 0 24px 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.single-product .pdp-trust-card {
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  padding: 12px 6px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 6px !important;
  box-sizing: border-box !important;
  transition: border-color 0.15s ease !important;
}

.single-product .pdp-trust-card:hover {
  border-color: #CBD5E1 !important;
}

.single-product .pdp-trust-card svg {
  width: 20px !important;
  height: 20px !important;
  stroke: #1E293B !important;
  fill: none !important;
}

.single-product .pdp-trust-card span {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #1E293B !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

@media (max-width: 480px) {
  .single-product #wc-stripe-express-checkout-element {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
    margin: 10px 0 14px 0 !important;
  }
  .single-product #wc-stripe-express-checkout-element iframe {
    height: 44px !important;
    min-height: 44px !important;
  }
  .single-product .pdp-trust-grid {
    gap: 6px !important;
  }
  .single-product .pdp-trust-card {
    padding: 10px 4px !important;
  }
  .single-product .pdp-trust-card span {
    font-size: 10px !important;
  }
}

/* ==========================================================================
   OFFGRID POWER CHECKOUT UX & PRECISION FIXES (LO FEEDBACK)
   1. Straight, unbroken horizontal divider lines (collapse table borders).
   2. Zero total amount cutoff / overflow on mobile (auto width + responsive font).
   3. Single Card Border on Payment (eliminate nested fieldset/payment boxes).
   ========================================================================== */

/* 1. ORDER REVIEW TABLE - UNBROKEN STRAIGHT DIVIDERS & ZERO OVERFLOW */
.woocommerce-checkout table.woocommerce-checkout-review-order-table {
  table-layout: auto !important;
  width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  margin-bottom: 18px !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table td {
  border-bottom: none !important;
  border-top: none !important;
}

/* Row-level dividers: 100% continuous straight line across th and td */
.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.shipping {
  border-bottom: 1px solid #E2E8F0 !important;
  border-top: none !important;
}

/* Total row: Razor-straight 1px top border, zero offset between th and td */
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total {
  border-top: 1px solid #DCE4EF !important;
  border-bottom: none !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total th {
  border-top: none !important;
  border-bottom: none !important;
  padding-top: 16px !important;
  padding-bottom: 14px !important;
  width: 32% !important;
  min-width: 65px !important;
  text-align: left !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #0F172A !important;
  vertical-align: middle !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total td {
  border-top: none !important;
  border-bottom: none !important;
  padding-top: 16px !important;
  padding-bottom: 14px !important;
  padding-right: 0 !important;
  width: 68% !important;
  text-align: right !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total td strong,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total td .amount,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total td .woocommerce-Price-amount {
  font-size: clamp(16px, 4.8vw, 22px) !important;
  font-weight: 800 !important;
  color: #0866FF !important;
  display: inline-block !important;
  letter-spacing: -0.3px !important;
  max-width: 100% !important;
}

@media (max-width: 480px) {
  .woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total th {
    font-size: 15px !important;
    width: 28% !important;
  }
  .woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total td {
    width: 72% !important;
  }
  .woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total td .amount {
    font-size: 17px !important;
  }
}

/* 2. PAYMENT DE-NESTING: ELIMINATE FRAME INSIDE FRAME INSIDE FRAME */
.woocommerce-checkout #payment,
.woocommerce-checkout #order_review #payment,
form.checkout #order_review #payment,
#payment {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 16px 0 0 0 !important;
  border-radius: 0 !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods,
.woocommerce-checkout #payment ul.payment_methods,
#payment ul.payment_methods,
#payment ul.wc_payment_methods {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li,
.woocommerce-checkout #payment ul.wc_payment_methods li,
.woocommerce-checkout #payment li.wc_payment_method {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-checkout #payment div.payment_box,
.woocommerce-checkout #payment .payment_box.payment_method_stripe,
#payment div.payment_box {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

.woocommerce-checkout #payment div.payment_box::before,
#payment div.payment_box::before {
  display: none !important;
  content: none !important;
}

/* Strip fieldset borders completely from Stripe UPE container */
.woocommerce-checkout fieldset#wc-stripe-upe-form,
.woocommerce-checkout fieldset.wc-upe-form,
.woocommerce-checkout fieldset.wc-payment-form,
.woocommerce-checkout #payment fieldset,
fieldset#wc-stripe-upe-form,
fieldset.wc-payment-form {
  border: none !important;
  outline: none !important;
  padding: 0 !important;
  margin: 0 0 10px 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.woocommerce-checkout #payment .wc-stripe-elements-field,
.woocommerce-checkout #payment .payment_box_stripe {
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
}

/* ==========================================================================
   OFFGRIDPOWER SEARCH RESULTS PAGE - MOBILE SPACING & PADDING FIX
   Scoped strictly to search results on mobile screens (max-width: 768px).
   Prevents content & product cards from touching screen edges.
   Zero regression on desktop.
   ========================================================================== */
@media (max-width: 768px) {
  /* Enforce safe lateral container margins on main search wrapper */
  body.search-results main.wp-block-group,
  body.search main.wp-block-group,
  body.search-results .wp-block-group.has-global-padding,
  body.post-type-archive-product.search main {
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-top: 15px !important;
    padding-bottom: 40px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  /* Keep all wide-aligned children within the 16px padded bounds */
  body.search-results main > .alignwide,
  body.search main > .alignwide,
  body.search-results .wp-block-woocommerce-product-collection.alignwide,
  body.search-results .wc-block-breadcrumbs.alignwide,
  body.search-results h1.wp-block-query-title.alignwide,
  body.search-results main .wp-block-group.alignwide {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* Product collection list & grid styling */
  body.search-results .wc-block-product-template,
  body.search .wc-block-product-template {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    gap: 16px 12px !important;
  }

  /* Two clean, balanced columns on phones to prevent card crushing or horizontal cut-off */
  body.search-results .wc-block-product-template__responsive.columns-3,
  body.search .wc-block-product-template__responsive.columns-3 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  /* Card internal spacing & border refinement */
  body.search-results .wc-block-product-template .wc-block-product,
  body.search .wc-block-product-template .wc-block-product {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin: 0 !important;
  }

  /* Prevent product prices from overflowing card borders on small screens */
  body.search-results .wc-block-product .wp-block-woocommerce-product-price,
  body.search-results .wc-block-product .wc-block-components-product-price,
  body.search-results .wc-block-product .price,
  body.search .wc-block-product .wp-block-woocommerce-product-price,
  body.search .wc-block-product .wc-block-components-product-price,
  body.search .wc-block-product .price {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px 4px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    text-align: center !important;
    margin-bottom: 8px !important;
  }

  body.search-results .wc-block-product .wc-block-components-product-price .woocommerce-Price-amount,
  body.search-results .wc-block-product .price .woocommerce-Price-amount,
  body.search .wc-block-product .wc-block-components-product-price .woocommerce-Price-amount,
  body.search .wc-block-product .price .woocommerce-Price-amount {
    display: inline-block !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }
}

