/* ===========================================================
   LabelSwift — Global CSS (child theme: labelswift.css)
   Brand blue: #499CC2 | Accent orange: #E07A2D | Dark: #252531
   =========================================================== */


/* -----------------------------------------------------------
   0) Global link behavior
----------------------------------------------------------- */
:root :where(a:where(:not(.wp-element-button))) {
  text-decoration: none !important;
}


/* -----------------------------------------------------------
   1) Global utility
----------------------------------------------------------- */
.woocommerce .show-password-input { display: none; }
.select2-container { width: 100% !important; }

/* Safety: prevent random horizontal scroll (MOBILE ONLY — do not break Elementor widths) */
@media (max-width: 767px){
  html, body { max-width: 100%; overflow-x: hidden !important; }
  img, svg, video, iframe { max-width: 100% !important; height: auto; }
  .elementor { overflow-x: hidden; }
}
@supports (overflow: clip) {
  @media (max-width: 767px){
    html, body { overflow-x: clip !important; }
  }
}


/* ===========================================================
   2) CHECKOUT — structural polish
   =========================================================== */
body.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 12px;
  row-gap: 6px;
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.45;
  color: #222;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dt,
body.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dd { margin: 0; padding: 0; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dt { font-weight: 600; color: #333; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dt::after { content: none !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dd p { margin: 0; display: inline; }

/* Hide section headers in checkout compact view */
body.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dt.variation-DesignVariations,
body.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dd.variation-DesignVariations,
body.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dt.variation-LabelSpecifications,
body.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dd.variation-LabelSpecifications,
body.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dt.variation-AdditionalCharges,
body.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dd.variation-AdditionalCharges { display: none !important; }

body.woocommerce-checkout table.shop_table { width: 100%; table-layout: auto; }
body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td { padding: 14px 20px; }
body.woocommerce-checkout table.shop_table tr.cart-subtotal th,
body.woocommerce-checkout table.shop_table tr.cart-subtotal td,
body.woocommerce-checkout table.shop_table tr.shipping th,
body.woocommerce-checkout table.shop_table tr.shipping td,
body.woocommerce-checkout table.shop_table tr.order-total th,
body.woocommerce-checkout table.shop_table tr.order-total td {
  width: auto;
  white-space: nowrap;
  vertical-align: middle;
}

/* Billing name fields */
body.woocommerce-checkout #billing_first_name_field,
body.woocommerce-checkout #billing_last_name_field {
  width: 49% !important;
  display: inline-block;
  float: left;
}
body.woocommerce-checkout #billing_first_name_field { margin-right: 2% !important; }
body.woocommerce-checkout #billing_first_name_field input.input-text,
body.woocommerce-checkout #billing_last_name_field  input.input-text {
  width: 100% !important;
  box-sizing: border-box;
}

/* Shipping name fields */
body.woocommerce-checkout #shipping_first_name_field,
body.woocommerce-checkout #shipping_last_name_field {
  width: 49% !important;
  display: inline-block;
  float: left;
}
body.woocommerce-checkout #shipping_first_name_field { margin-right: 2% !important; }
body.woocommerce-checkout #shipping_first_name_field input.input-text,
body.woocommerce-checkout #shipping_last_name_field  input.input-text {
  width: 100% !important;
  box-sizing: border-box;
  font-size: 15px;
  padding: 12px 14px;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper p.form-row,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper p.form-row { margin-bottom: 12px; }
body.woocommerce-checkout label { font-size: 15px; font-weight: 600; }
body.woocommerce-checkout input.input-text { font-size: 15px; padding: 12px 14px; }

/* Place order */
body.woocommerce-checkout #place_order,
body.woocommerce-checkout .form-row.place-order .button.alt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #499CC2;
  color: #fff;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: .03em;
  text-transform: uppercase;
  border: none;
  border-radius: 4px;
  padding: 14px 22px;
  width: 100%;
  line-height: 1;
  cursor: pointer;
  transition: background-color .25s ease, color .25s ease;
}
body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout #place_order:focus,
body.woocommerce-checkout .form-row.place-order .button.alt:hover,
body.woocommerce-checkout .form-row.place-order .button.alt:focus {
  background-color: #000;
  color: #fff;
  outline: none;
}

/* Create account row */
.elementor-4791 .woocommerce-account-fields .create-account { margin-top: 26px !important; }
.elementor-4791 .woocommerce-account-fields label.woocommerce-form__label-for-checkbox.checkbox {
  display: flex !important;
  align-items: center;
  gap: 8px;
  margin: 0 0 20px;
  font-family: "Roboto", sans-serif !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: var(--e-global-color-secondary, #252531);
}
.elementor-4791 .woocommerce-account-fields label.checkbox input[type="checkbox"] {
  display: inline-block !important;
  margin: 0 8px 0 0 !important;
  transform: translateY(1px);
  accent-color: #499CC2;
}
.elementor-4791 .woocommerce-account-fields label.checkbox .woocommerce-form__input-checkbox + span::before,
.elementor-4791 .woocommerce-account-fields label.checkbox .woocommerce-form__input-checkbox + span::after {
  content: none !important;
  display: none !important;
}
.elementor-4791 .woocommerce-account-fields label.checkbox span { padding-left: 0 !important; }

/* Order comments */
.ls-order-notes-after-toggle,
.ls-order-notes-before-payment-heading,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper { margin-top: 24px !important; }

#order_comments_field label { display:block; margin:0 0 8px; font-weight:600; color:#111; }
#order_comments {
  width:100%;
  box-sizing:border-box;
  padding:12px 14px;
  font-size:15px;
  line-height:1.45;
  border:1px solid #ccc;
  border-radius:4px;
}


/* ===========================================================
   3) CART — structural base
   =========================================================== */
body.woocommerce-cart dl.variation {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: start;
  column-gap: 12px;
  row-gap: 8px;
  background: #fff;
  border: 1px solid #e8e8ee;
  border-radius: 12px;
  padding: 14px 16px;
  margin-top: 10px;
  font-size: 14px;
  color: #222;
}
body.woocommerce-cart dl.variation dt,
body.woocommerce-cart dl.variation dd { margin: 0; padding: 0; }
body.woocommerce-cart dl.variation dd p { margin: 0; line-height: 1.4; }

body.woocommerce-cart dl.variation dt {
  align-self: start;
  background: #f7f7f9;
  border: 1px solid #e8e8ee;
  border-radius: 999px;
  padding: 4px 8px;
  font-weight: 600;
  color: #333;
  white-space: nowrap;
}
body.woocommerce-cart dl.variation dd {
  border-bottom: 1px dashed #eee;
  padding-bottom: 4px;
}

/* Hide cart table header */
body.woocommerce-cart table.shop_table.cart thead { display: none !important; }
body.woocommerce-cart table.shop_table.cart tbody tr:first-child td { border-top: none; padding-top: .75em; }
body.woocommerce-cart table.shop_table.cart td { vertical-align: middle; }
body.woocommerce-cart table.shop_table.cart td.product-remove { border-bottom: none !important; }

/* Cart remove cell */
body.woocommerce-cart td.product-remove { display: flex; align-items: center; gap: 8px; }
body.woocommerce-cart td.product-remove a.remove { font-size: 16px; color: #888; line-height: 1; text-decoration: none; }
body.woocommerce-cart td.product-remove a.remove:hover,
body.woocommerce-cart td.product-remove a.remove:focus { color: #333; }

@media (min-width: 992px) {
  body.woocommerce-cart table.shop_table.cart td.product-remove {
    display: flex; align-items: flex-start; justify-content: center; padding-top: 20px; gap: 8px;
  }
}
@media (max-width: 991.98px) {
  body.woocommerce-cart table.shop_table.cart td.product-remove {
    display: flex; align-items: flex-start; justify-content: center; padding-top: 10px; gap: 8px;
  }
}

/* UniCPO edit icon */
body.woocommerce-cart .uni-cpo-cart-action.uni-cpo-action-edit{
  display:inline-flex;
  width:16px; height:16px;
  font-size:0;
  color:#888;
  cursor:pointer;
  align-items:center;
  justify-content:center;
}
body.woocommerce-cart .uni-cpo-cart-action.uni-cpo-action-edit::before{
  content:"";
  display:block;
  width:16px; height:16px;
  background:no-repeat center / 16px 16px;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24"><path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM5.92 19.58H5v-.92l8.46-8.46.92.92-8.46 8.46zM20.71 7.04a1 1 0 0 0 0-1.41l-2.34-2.34a1 1 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z" fill="%23888"/></svg>');
}
body.woocommerce-cart td.product-remove a.remove::before,
body.woocommerce-cart td.product-remove a.remove::after,
body.woocommerce-cart .uni-cpo-cart-action.uni-cpo-action-edit::after { content:none !important; }

/* Totals CTA */
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background-color:#499CC2;
  color:#fff;
  font-weight:600;
  font-size:15px;
  letter-spacing:.03em;
  text-transform:uppercase;
  border:none;
  border-radius:4px;
  padding:14px 22px;
  width:100%;
  line-height:1;
  transition: background-color .25s ease, color .25s ease;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus{
  background:#000;
  color:#fff;
  outline:none;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button br{ display:none; }


/* ===========================================================
   4) MINI CART — JetBlocks dropdown (FINAL / cleaned)
   - No thumbnail
   - Card layout per item
   - Price bottom-right
   =========================================================== */
.jet-blocks-cart.jet-blocks-cart--dropdown-layout{
  --ls-text:#222;
  --ls-muted:#666;
  --ls-accent:#499CC2;
  --ls-radius:14px;
  font-size:14px;
}

/* Panel */
.jet-blocks-cart--dropdown-layout .jet-blocks-cart__list .widget_shopping_cart_content{
  padding:14px !important;
  border:1px solid rgba(0,0,0,.06) !important;
  border-radius:var(--ls-radius) !important;
  box-shadow:0 12px 30px rgba(0,0,0,.12) !important;
  background:#fff !important;
}

/* Hide thumbnail */
.jet-blocks-cart--dropdown-layout .elementor-menu-cart__product-image{ display:none !important; }

/* Item cards */
.jet-blocks-cart--dropdown-layout .elementor-menu-cart__product{
  position:relative;
  display:grid;
  grid-template-columns: 1fr !important;
  gap:10px !important;

  background:#fff !important;
  border:1px solid rgba(0,0,0,.08) !important;
  border-radius:16px !important;
  box-shadow:0 10px 24px rgba(0,0,0,.10) !important;

  padding:16px !important;
  margin:0 0 12px !important;
  border-bottom:none !important;
}

.jet-blocks-cart--dropdown-layout .elementor-menu-cart__product-name > a{
  display:inline-block;
  font-weight:600;
  color:var(--ls-text);
  line-height:1.25;
  margin-bottom:6px;
  text-decoration:none;
}

/* Variations: do NOT collapse values */
.jet-blocks-cart--dropdown-layout .elementor-menu-cart__product-name dl.variation{
  display:grid;
  grid-template-columns: max-content 1fr;
  column-gap:14px;
  row-gap:6px;
  margin-top:6px;
  font-size:12px;
  line-height:1.35;
  color:var(--ls-muted);
}
.jet-blocks-cart--dropdown-layout .elementor-menu-cart__product-name dl.variation dt{
  margin:0;
  font-weight:600;
  color:#555;
  white-space:nowrap;
}
.jet-blocks-cart--dropdown-layout .elementor-menu-cart__product-name dl.variation dd{
  margin:0;
  min-width:0;
  color:#222;
  white-space:normal;
  word-break:normal;
  overflow-wrap:anywhere;
}
.jet-blocks-cart--dropdown-layout .elementor-menu-cart__product-name dl.variation dd p{ margin:0; }

/* Remove Woo remove-from-cart button if present in title area */
.jet-blocks-cart--dropdown-layout .elementor_remove_from_cart_button{ display:none!important; }

/* Price bottom-right */
.jet-blocks-cart--dropdown-layout .elementor-menu-cart__product-price{
  grid-column: 1 / -1 !important;
  justify-self: end !important;
  align-self: end !important;
  margin-top: 10px !important;
  text-align: right !important;
  font-weight:700;
  white-space:nowrap;
  color:var(--ls-text);
}
.jet-blocks-cart--dropdown-layout .elementor-menu-cart__product-price .product-quantity{ display:none !important; }

/* Remove/edit row inside card */
.jet-blocks-cart--dropdown-layout .elementor-menu-cart__product-remove{
  position: static !important;
  margin-top: 12px !important;
  display:flex !important;
  gap:10px !important;
  align-items:center !important;
}

/* Buttons */
.jet-blocks-cart--dropdown-layout .elementor-menu-cart__product-remove .remove_from_cart_button,
.jet-blocks-cart--dropdown-layout .elementor-menu-cart__product-remove .uni-cpo-cart-action.uni-cpo-action-edit{
  all:unset;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border:1px solid #d0d5dc;
  border-radius:50%;
  font-size:16px;
  line-height:1;
  cursor:pointer;
  transition:.18s ease;
}
.jet-blocks-cart--dropdown-layout .elementor-menu-cart__product-remove .remove_from_cart_button::before{ content:"×"; color:#111; }
.jet-blocks-cart--dropdown-layout .elementor-menu-cart__product-remove .remove_from_cart_button:hover{ background:#111; color:#fff; }
.jet-blocks-cart--dropdown-layout .elementor-menu-cart__product-remove .uni-cpo-cart-action.uni-cpo-action-edit{
  border-color:var(--ls-accent);
  color:var(--ls-accent);
  font-size:14px;
}
.jet-blocks-cart--dropdown-layout .elementor-menu-cart__product-remove .uni-cpo-cart-action.uni-cpo-action-edit::before{
  content:"✎";
  transform:translateY(-1px);
}
.jet-blocks-cart--dropdown-layout .elementor-menu-cart__product-remove .uni-cpo-cart-action.uni-cpo-action-edit:hover{
  background:var(--ls-accent);
  color:#fff;
}

/* Hide duplicate edit icons if rendered twice */
.jet-blocks-cart--dropdown-layout .elementor-menu-cart__product-remove .uni-cpo-cart-action.uni-cpo-action-edit ~ .uni-cpo-cart-action.uni-cpo-action-edit,
.jet-blocks-cart--dropdown-layout .elementor-menu-cart__product-remove .uni-cpo-cart-action.uni-cpo-action-edit + .uni-cpo-cart-action.uni-cpo-action-edit,
.jet-blocks-cart--dropdown-layout .elementor-menu-cart__product-remove a.uni-cpo-cart-action.uni-cpo-action-edit ~ a.uni-cpo-cart-action.uni-cpo-action-edit{
  display:none !important;
}

/* Subtotal + buttons become a “card” */
.jet-blocks-cart--dropdown-layout .elementor-menu-cart__subtotal,
.jet-blocks-cart--dropdown-layout .elementor-menu-cart__footer-buttons{
  background:#fff !important;
  border-left:1px solid rgba(0,0,0,.08) !important;
  border-right:1px solid rgba(0,0,0,.08) !important;
  padding-left:16px !important;
  padding-right:16px !important;
}

.jet-blocks-cart--dropdown-layout .elementor-menu-cart__subtotal{
  border-top:1px solid rgba(0,0,0,.08) !important;
  border-top-left-radius:16px !important;
  border-top-right-radius:16px !important;
  margin-top:6px !important;
  padding-top:16px !important;
  padding-bottom:12px !important;
  box-shadow:0 10px 24px rgba(0,0,0,.10) !important;
  font-weight:700;
  color:var(--ls-text);
}

.jet-blocks-cart--dropdown-layout .elementor-menu-cart__footer-buttons{
  border-bottom:1px solid rgba(0,0,0,.08) !important;
  border-bottom-left-radius:16px !important;
  border-bottom-right-radius:16px !important;
  padding-top:14px !important;
  padding-bottom:16px !important;
  box-shadow:0 10px 24px rgba(0,0,0,.10) !important;
  border-top:none !important;
  margin-top:0 !important;

  display:flex !important;
  gap:14px !important;
  flex-wrap: nowrap !important;
}

.jet-blocks-cart--dropdown-layout .elementor-menu-cart__footer-buttons .elementor-button{
  border-radius:999px;
  padding:10px 16px;
}
.jet-blocks-cart--dropdown-layout .elementor-menu-cart__footer-buttons .elementor-button--view-cart{
  background:transparent;
  border:1px solid var(--ls-accent);
  color:var(--ls-accent);
}
.jet-blocks-cart--dropdown-layout .elementor-menu-cart__footer-buttons .elementor-button--checkout{
  background:var(--ls-accent);
  color:#fff;
}

/* Cart count badge */
.jet-blocks-cart.jet-blocks-cart--dropdown-layout .jet-blocks-cart__count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:18px;
  height:18px;
  padding:0 5px;
  margin-left:6px;
  background:var(--ls-accent);
  color:#fff;
  border-radius:999px;
  font-size:11px;
  line-height:1;
}

/* Hide mini-cart dropdown on cart/checkout pages */
body.woocommerce-checkout .jet-blocks-cart--dropdown-layout .jet-blocks-cart__list,
body.woocommerce-cart     .jet-blocks-cart--dropdown-layout .jet-blocks-cart__list{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:none !important;
}


/* ===========================================================
   5) HEADER — typography lock + menu structure
   =========================================================== */

/* HARD STOP (safe): contain overflow without changing child sizing */
#jet-theme-core-header{ overflow-x: clip; }
@supports not (overflow: clip){
  #jet-theme-core-header{ overflow-x: hidden; }
}

/* Safety: keep media inside header from blowing out */
#jet-theme-core-header img,
#jet-theme-core-header svg,
#jet-theme-core-header video,
#jet-theme-core-header iframe{
  max-width:100%;
  height:auto;
}

#jet-theme-core-header,
#jet-theme-core-header * { font-synthesis: none; }

#jet-theme-core-header .elementor-widget-n-menu,
#jet-theme-core-header .elementor-widget-n-menu *,
#jet-theme-core-header #e-n-menu-content-8941,
#jet-theme-core-header #e-n-menu-content-8941 *,
#jet-theme-core-header #e-n-menu-content-8942,
#jet-theme-core-header #e-n-menu-content-8942 * {
  font-family: "Roboto", sans-serif !important;
  letter-spacing: 0 !important;
}

/* clickable menu weight */
#jet-theme-core-header .e-n-menu-title,
#jet-theme-core-header .e-n-menu-title * { font-weight: 500 !important; }

/* remove list bleed */
#jet-theme-core-header ul,
#jet-theme-core-header ol,
#jet-theme-core-header li{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

/* top-level spacing */
#jet-theme-core-header
  .elementor-widget-n-menu
  > .e-n-menu
  > .e-n-menu-wrapper
  > .e-n-menu-heading{
  display:flex !important;
  gap:0 !important;
  align-items:center !important;
}

#jet-theme-core-header
  .elementor-widget-n-menu
  > .e-n-menu
  > .e-n-menu-wrapper
  > .e-n-menu-heading
  > .e-n-menu-item
  > .e-n-menu-title,
#jet-theme-core-header
  .elementor-widget-n-menu
  > .e-n-menu
  > .e-n-menu-wrapper
  > .e-n-menu-heading
  > .e-n-menu-item
  > .e-n-menu-title
  > .e-n-menu-title-container{
  padding:8px 10px !important;
  line-height:1.3 !important;
  margin:0 !important;
}

/* dropdown spacing: only real menu items */
#jet-theme-core-header
  .elementor-widget-n-menu
  .e-n-menu__submenu
  .e-n-menu-item
  > .e-n-menu-title,
#jet-theme-core-header
  .elementor-widget-n-menu
  .e-n-menu__submenu
  .e-n-menu-item
  > .e-n-menu-title
  > .e-n-menu-title-container{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:10px 14px !important;
  line-height:1.35 !important;
  text-decoration:none !important;
}
/* IMPORTANT: do not force padding on all <a> inside mega menu widgets */
#jet-theme-core-header .elementor-widget-n-menu .e-n-menu__submenu a { padding: unset !important; }

/* Mega menu width consistency */
#e-n-menu-content-8941, #e-n-menu-content-8942{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
#e-n-menu-content-8941 > .e-con-inner,
#e-n-menu-content-8942 > .e-con-inner{
  max-width:1200px !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/* Mega menu image box width fill */
#jet-theme-core-header .elementor-widget-image-box .elementor-image-box-content,
#jet-theme-core-header .elementor-widget-image-box .elementor-image-box-title,
#jet-theme-core-header .elementor-widget-image-box .elementor-image-box-title a,
#jet-theme-core-header .elementor-widget-image-box .elementor-image-box-wrapper {
  width: 100% !important;
}

/* MEGA MENU LAYOUT LOCK */
#jet-theme-core-header #e-n-menu-content-8941 > .e-con-inner,
#jet-theme-core-header #e-n-menu-content-8942 > .e-con-inner{
  display:flex !important;
  align-items:stretch !important;
  gap:0 !important;
}

#jet-theme-core-header #e-n-menu-content-8941 .e-n-tabs,
#jet-theme-core-header #e-n-menu-content-8942 .e-n-tabs{
  display:flex !important;
  width:100% !important;
  min-width:0 !important;
}

#jet-theme-core-header #e-n-menu-content-8941 .e-n-tabs-content,
#jet-theme-core-header #e-n-menu-content-8942 .e-n-tabs-content{
  flex:1 1 auto !important;
  min-width:0 !important;
}

#jet-theme-core-header #e-n-menu-content-8941 .e-n-tabs-content > [role="tabpanel"],
#jet-theme-core-header #e-n-menu-content-8942 .e-n-tabs-content > [role="tabpanel"]{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}

/* Pin promo column */
#jet-theme-core-header #e-n-menu-content-8941 .elementor-element-70b9b99,
#jet-theme-core-header #e-n-menu-content-8942 .elementor-element-0ba259f{
  flex:0 0 240px !important;
  width:240px !important;
  max-width:240px !important;

  /* hard lock */
  --justify-content:flex-start !important;
  --align-items:stretch !important;
  --padding-top:24px !important;
  --padding-bottom:24px !important;
  --padding-left:20px !important;
  --padding-right:0px !important;
  --margin-top:0px !important;
  --margin-bottom:0px !important;
  --margin-left:0px !important;
  --margin-right:0px !important;

  margin:0 !important;
  padding:24px 0 24px 20px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  align-items:stretch !important;
}

#jet-theme-core-header #e-n-menu-content-8941 .elementor-element-70b9b99 > .e-con-inner,
#jet-theme-core-header #e-n-menu-content-8942 .elementor-element-0ba259f > .e-con-inner{
  margin:0 !important;
  padding:0 !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
}

#jet-theme-core-header #e-n-menu-content-8941 .elementor-element-70b9b99 .elementor-widget,
#jet-theme-core-header #e-n-menu-content-8942 .elementor-element-0ba259f .elementor-widget,
#jet-theme-core-header #e-n-menu-content-8941 .elementor-element-70b9b99 .elementor-widget-container,
#jet-theme-core-header #e-n-menu-content-8942 .elementor-element-0ba259f .elementor-widget-container{
  margin:0 !important;
}

/* Mega menu tabs sizing */
#e-n-menu-content-8941 .e-n-tabs-heading[role="tablist"],
#e-n-menu-content-8942 .e-n-tabs-heading[role="tablist"]{
  flex:0 0 300px !important;
  width:300px !important;
  max-width:300px !important;
  min-width:300px !important;
}

#e-n-menu-content-8941 .e-n-tab-title,
#e-n-menu-content-8942 .e-n-tab-title{
  width:100% !important;
  min-height:54px !important;
  padding:14px 18px !important;
  margin:0 !important;
  border-radius:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

#e-n-menu-content-8941 .e-n-tab-title-text,
#e-n-menu-content-8942 .e-n-tab-title-text{
  display:block !important;
  width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

#e-n-menu-content-8941 .e-n-tab-title:hover,
#e-n-menu-content-8941 .e-n-tab-title[aria-selected="true"],
#e-n-menu-content-8942 .e-n-tab-title:hover,
#e-n-menu-content-8942 .e-n-tab-title[aria-selected="true"]{
  padding:14px 18px !important;
  min-height:54px !important;
}


/* ===========================================================
   6) MOBILE — N-Menu full-width drawer
   =========================================================== */
@media (max-width: 767px) {

  :root { --ls-mobile-header-h: 92px; }

  #jet-theme-core-header .elementor-widget-n-menu .e-n-menu-wrapper{
    --stretch-left: 0px !important;
    --stretch-right: 0px !important;
    --stretch-width: 100vw !important;
  }

  #jet-theme-core-header .elementor-widget-n-menu
    .e-n-menu[data-layout="dropdown"] .e-n-menu-wrapper{
    left:0 !important;
    right:0 !important;
    width:100vw !important;
    max-width:100vw !important;
  }

  #jet-theme-core-header .elementor-widget-n-menu
    .e-n-menu[data-layout="dropdown"]
    .e-n-menu-toggle[aria-expanded="true"] + .e-n-menu-wrapper{
    position: fixed !important;
    top: var(--ls-mobile-header-h) !important;
    bottom: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    z-index: 2147483647 !important;
  }
}


/* ===========================================================
   7) MOBILE — Jet Search popup
   =========================================================== */
@media (max-width: 767px) {

  .jet-search__popup{
    position: fixed !important;
    top: calc(var(--ls-mobile-header-h, 92px) + 8px) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    margin: 0 !important;
    z-index: 2147483647 !important;
  }

  .elementor-2615 .elementor-element.elementor-element-c28998b .jet-search__form{
    display:flex !important;
    align-items:center !important;
    gap:6px !important;
  }

  .elementor-2615 .elementor-element.elementor-element-c28998b .jet-search__field{
    height:44px !important;
    font-size:16px !important;
    line-height:44px !important;
  }

  .elementor-2615 .elementor-element.elementor-element-c28998b .jet-search__submit,
  .elementor-2615 .elementor-element.elementor-element-c28998b .jet-search__popup-close{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    padding:0 !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:6px !important;
  }

  .elementor-2615 .elementor-element.elementor-element-c28998b .jet-search__submit svg,
  .elementor-2615 .elementor-element.elementor-element-c28998b .jet-search__popup-close svg{
    width:20px !important;
    height:20px !important;
    display:block !important;
  }
}


/* ===========================================================
   8) UniCPO — Guide links hover (Material/Coating)
   =========================================================== */
.uni-cpo-file-upload-choose-btn a,
.uni-node-115f0fd1 a {
  color: #E07A2D !important;
  font-weight: 500;
  text-decoration: none;
  transition: color .2s ease;
}
.uni-cpo-file-upload-choose-btn a:hover,
.uni-node-115f0fd1 a:hover {
  color: #499CC2 !important;
}


/* ===========================================================
   9) UniCPO Quote Form — CLICK FIX + RESPONSIVE LAYOUT
   REQUIREMENT: the UniCPO section wrapper has class .ls-quote-form
   =========================================================== */

/* ---- A) Click fix (DESKTOP + MOBILE)
   Root cause you’re seeing (Qty1 unclickable): the Plupload “moxie-shim”
   is ending up larger than the button, so it sits on top of the row and
   steals clicks. We *confine* it to the button only.
*/
.ls-quote-form .uni-module-file_upload,
.ls-quote-form .uni-module-file_upload *{
  /* prevent unexpected stacking contexts from prior experiments */
  transform: none !important;
}

/* Keep upload module in normal flow */
.ls-quote-form .uni-module-file_upload{
  position: relative !important;
  z-index: 0 !important;
}

/* The wrapper must be only as big as the button (NOT full-width) */
.ls-quote-form .uni-module-file_upload .dndWrapper{
  position: relative !important;
  display: inline-block !important;
  width: fit-content !important;
  max-width: 100% !important;
  height: auto !important;
}

/* Make the visible “Select file” act like a real button box */
.ls-quote-form .uni-module-file_upload .uni-cpo-file-upload-choose-btn{
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  line-height: 30px !important;
  z-index: 2 !important;
}

/* CRITICAL: confine the shim to the wrapper (which now equals the button size) */
.ls-quote-form .uni-module-file_upload .moxie-shim{
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  z-index: 1 !important;

  /* prevents it from stealing clicks outside the real file input */
  pointer-events: none !important;
}

/* Only the actual input is clickable (inside the button bounds) */
.ls-quote-form .uni-module-file_upload .moxie-shim input[type="file"]{
  pointer-events: auto !important;
}

/* ---- B) Desktop layout (leave UniCPO defaults alone)
   We do NOT force rows into flex globally. If UniCPO already
   lays these as columns on desktop, we keep it.
*/
.ls-quote-form .uni-row-content{ display: block !important; }

/* ---- C) Mobile layout restore (2-col for Qty + Name, upload full width) */
@media (max-width: 767px){

  /* Make the row behave like a grid */
  .ls-quote-form .uni-row-content-wrap{
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px 14px !important;
    align-items: start !important;

    /* undo any previous “100% hard reset” attempts */
    width: auto !important;
    max-width: none !important;
  }

  .ls-quote-form .uni-node-content{ max-width: none !important; }

  /* Qty + Name stay in the 2 columns */
  .ls-quote-form .uni-row-content-wrap > .uni-node-0fdf3c16,
  .ls-quote-form .uni-row-content-wrap > .uni-node-f97e7c64{
    width: auto !important;
    max-width: none !important;
  }

  /* Upload spans full width under them */
  .ls-quote-form .uni-row-content-wrap > .uni-node-f9de2993{
    grid-column: 1 / -1 !important;
  }

  /* Inputs fill their cell */
  .ls-quote-form input[type="number"],
  .ls-quote-form input[type="text"]{
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* Super narrow phones: stack */
@media (max-width: 420px){
  .ls-quote-form .uni-row-content-wrap{
    grid-template-columns: 1fr !important;
  }
}






/* =========================================================
   UniCPO FILE UPLOAD — HARD CLICK-THROUGH FIX
   Goal: stop upload module overlay from blocking Qty/Name fields
   ========================================================= */

/* 1) Make the WHOLE upload module click-through... */
.uni-module-file_upload,
.uni-module-file_upload * {
  pointer-events: none !important;
}

/* 2) ...but turn pointer events back ON for the parts that must be clickable */
.uni-module-file_upload .uni-cpo-file-upload-choose-btn,
.uni-module-file_upload .uni-cpo-file-upload-choose-btn *,

/* Plupload / moxie shim + its input must be clickable */
.uni-module-file_upload .moxie-shim,
.uni-module-file_upload .moxie-shim input[type="file"],

/* Uploaded file list + remove buttons must be clickable */
.uni-module-file_upload .uni-cpo-file-upload-files,
.uni-module-file_upload .uni-cpo-file-upload-files *,
.uni-module-file_upload button,
.uni-module-file_upload .uni-cpo-file-upload-files-item-remove {
  pointer-events: auto !important;
}

/* 3) Confine the shim to the button box only (prevents “spill” overlays) */
.uni-module-file_upload .dndWrapper{
  position: relative !important;
  display: inline-block !important;
  width: auto !important;
}

.uni-module-file_upload .uni-cpo-file-upload-choose-btn{
  position: relative !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* The shim should match the button’s box, not the whole row */
.uni-module-file_upload .moxie-shim{
  position: absolute !important;
  inset: 0 !important;          /* top/right/bottom/left = 0 */
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  z-index: 1 !important;
}

/* 4) As a safety net: force UniCPO text/number inputs above neighboring modules */
.uni-module-text_input,
.uni-module-text_input input,
.uni-module-text_input label{
  position: relative !important;
  z-index: 5 !important;
}






/* =========================================================
   UniCPO Quote Form — MOBILE CONSISTENT COLUMNS (ALL VERSIONS)
   Locks Qty column width sitewide on iPhone
========================================================= */

@media (max-width: 767px){

  /* Any UniCPO row that contains BOTH a qty module + a name module */
  .ls-quote-form .uni-row-content-wrap:has(.ls-qty-ver):has(.ls-name-ver){
    display: grid !important;
    grid-template-columns: 150px 1fr !important; /* <- lock qty column width */
    column-gap: 14px !important;
    row-gap: 12px !important;
    align-items: start !important;
  }

  /* Ensure the cells can shrink properly (prevents weird overflow) */
  .ls-quote-form .uni-row-content-wrap:has(.ls-qty-ver):has(.ls-name-ver)
    > *{
    min-width: 0 !important;
  }

  /* Qty + Name modules sit in the 2 columns */
  .ls-quote-form .ls-qty-ver{ grid-column: 1 !important; }
  .ls-quote-form .ls-name-ver{ grid-column: 2 !important; }

  /* Inputs fill their column */
  .ls-quote-form .ls-qty-ver input,
  .ls-quote-form .ls-name-ver input{
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* If the upload is in the same wrap, force it under both columns */
  .ls-quote-form .uni-row-content-wrap:has(.ls-qty-ver):has(.ls-name-ver) .uni-module-file_upload{
    grid-column: 1 / -1 !important;
  }
}




/* =========================================================
   UniCPO Quote Form — MOBILE CONSISTENT COLUMNS (NO :has)
   Works across iOS/Safari + all UniCPO “versions”
========================================================= */
@media (max-width: 767px){

  /* Make the row container behave predictably on mobile */
  .ls-quote-form .uni-row-content-wrap{
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 14px !important;
  }

  /* LOCK the Qty column width */
  .ls-quote-form .ls-qty-ver{
    flex: 0 0 132px !important;      /* <-- change this and it WILL change */
    max-width: 132px !important;
    min-width: 132px !important;
  }

  /* Name takes the remaining space */
  .ls-quote-form .ls-name-ver{
    flex: 1 1 calc(100% - 146px) !important; /* 132 + gap buffer */
    min-width: 0 !important;
  }

  /* Inputs fill their containers */
  .ls-quote-form .ls-qty-ver input,
  .ls-quote-form .ls-name-ver input{
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Upload goes full width underneath */
  .ls-quote-form .uni-module-file_upload{
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}


/* ===========================================================
   LabelSwift – Primary CTA Buttons (Add to Cart + Email Quote)
   =========================================================== */

/* Base style (both buttons) */
.single-product .single_add_to_cart_button,
.ls-email-quote-button{
  background-color: #E07A2D !important;
  color: #ffffff !important;

  text-transform: uppercase !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  font-size: 15px !important;

  border: none !important;
  border-radius: 4px !important;

  height: 56px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  transition: background-color .25s ease !important;
}

/* Hover state */
.single-product .single_add_to_cart_button:hover,
.ls-email-quote-button:hover{
  background-color: #499CC2 !important;
  color: #ffffff !important;
}



/* Cancel under ATC */
.ls-under-atc-wrap{
  margin-top: 10px;
}

.ls-under-atc-wrap .uni-cpo-cancel-edit-link.button,
.ls-under-atc-wrap .uni-cpo-cancel-edit-link.button.alt{
  display: block;
  width: 100%;
}

/* Make cancel visually consistent but "secondary" */
.ls-under-atc-wrap .uni-cpo-cancel-edit-link{
  text-align: center;
}

/* Cancel button: match CTA + hover blue */
.ls-under-atc-wrap .uni-cpo-cancel-edit-link.button,
.ls-under-atc-wrap .uni-cpo-cancel-edit-link.button.alt{
  background-color: #E07A2D !important;
  color: #ffffff !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  font-size: 15px !important;
  border: none !important;
  border-radius: 4px !important;
  height: 56px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background-color .25s ease !important;
}

.ls-under-atc-wrap .uni-cpo-cancel-edit-link.button:hover,
.ls-under-atc-wrap .uni-cpo-cancel-edit-link.button.alt:hover,
.ls-under-atc-wrap .uni-cpo-cancel-edit-link.button:focus,
.ls-under-atc-wrap .uni-cpo-cancel-edit-link.button.alt:focus{
  background-color: #499CC2 !important;
  color: #ffffff !important;
  outline: none !important;
}

/* ===== Make entire Elementor image tile clickable (INCLUDING caption) ===== */

.elementor-widget-image figure.wp-caption {
  position: relative;
}

/* Create a full-tile click overlay using the IMAGE link */
.elementor-widget-image figure.wp-caption > a:first-child::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 10;
}

/* Keep caption visible but let clicks go through to overlay */
.elementor-widget-image figure.wp-caption figcaption {
  position: relative;
  z-index: 1;
  pointer-events: none;
}

/* Optional: keep caption text styles intact */
.elementor-widget-image figure.wp-caption figcaption a {
  pointer-events: none;
}


/* Modal styling for send a quote */
.ls-eq-btn {
    background-color: #227a99 !important; /* your site blue */
    color: #ffffff;
    border: none;
    padding: 12px 20px;
    border-radius: 4px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.ls-eq-btn:hover {
    background-color: #000000 !important;
}

.ls-eq-btn.primary {
    background-color: #e07a2d !important;
}

.ls-eq-btn.primary:hover {
    background-color: #000000 !important;
}


/* Email Quote button under cart — match Add to Cart typography */
.ls-eq-under-cart .ls-eq-trigger {
  /* Match ATC typography (Elementor global typography token) */
  font-family: var(--e-global-typography-f78445c-font-family), Sans-serif !important;
  font-size: var(--e-global-typography-f78445c-font-size) !important;
  font-weight: var(--e-global-typography-f78445c-font-weight) !important;
  text-transform: var(--e-global-typography-f78445c-text-transform) !important;
  line-height: var(--e-global-typography-f78445c-line-height) !important;

  /* If your ATC uses tracking, keep it consistent */
  letter-spacing: 0.08em !important;

  /* Colors */
  background-color: #499CC2 !important; /* LabelSwift Blue */
  border-color: #499CC2 !important;
  color: #ffffff !important;

  /* Layout */
  width: 100% !important;
  display: block !important;
  border-radius: 4px !important;
  height: 56px !important;
  padding: 0 !important;

  transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}

.ls-eq-under-cart .ls-eq-trigger:hover {
  background-color: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
}

.single-product .ls-eq-trigger {
    background-color: #499CC2 !important;
    color: #ffffff !important;

    font-family: Roboto, sans-serif !important;
    font-weight: 900 !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;

    border: none !important;
    border-radius: 4px !important;
    height: 56px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    transition: background-color .25s ease !important;
}

.single-product .ls-eq-trigger:hover {
    background-color: #000000 !important;
}

/* Add to Cart hover = black */
.single-product .single_add_to_cart_button:hover {
    background-color: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}

/* Add spacing between totals box and Add to Cart */
.single-product .single_add_to_cart_button {
    margin-top: 35px !important;
}