.elementor-kit-1864167{--e-global-color-primary:#1B1416;--e-global-color-secondary:#5B4E52;--e-global-color-text:#1B1416;--e-global-color-accent:#C8102E;--e-global-color-itcrimsondk:#9D0C24;--e-global-color-itblush:#FBEEEE;--e-global-color-itivory:#F8F5F2;--e-global-color-itcard:#FFFFFF;--e-global-color-itink2:#5B4E52;--e-global-color-itink3:#6D6064;--e-global-color-itline:#E8DDD9;--e-global-color-itline2:#F2EAE7;--e-global-color-itgold:#A8874F;--e-global-color-itok:#2C7A54;--e-global-typography-primary-font-family:"Libre Baskerville";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Libre Baskerville";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"system-ui";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"system-ui";--e-global-typography-accent-font-weight:600;background-color:#F8F5F2;color:#1B1416;font-family:"system-ui", sans-serif;font-size:16px;font-weight:400;line-height:1.55em;}.elementor-kit-1864167 button,.elementor-kit-1864167 input[type="button"],.elementor-kit-1864167 input[type="submit"],.elementor-kit-1864167 .elementor-button{background-color:#C8102E;font-family:"system-ui", sans-serif;font-size:15px;font-weight:700;letter-spacing:0.2px;color:#FFFFFF;border-style:none;border-radius:3px 3px 3px 3px;padding:13px 22px 13px 22px;}.elementor-kit-1864167 button:hover,.elementor-kit-1864167 button:focus,.elementor-kit-1864167 input[type="button"]:hover,.elementor-kit-1864167 input[type="button"]:focus,.elementor-kit-1864167 input[type="submit"]:hover,.elementor-kit-1864167 input[type="submit"]:focus,.elementor-kit-1864167 .elementor-button:hover,.elementor-kit-1864167 .elementor-button:focus{background-color:#9D0C24;color:#FFFFFF;border-style:none;border-radius:3px 3px 3px 3px;}.elementor-kit-1864167 e-page-transition{background-color:#FFBC7D;}.elementor-kit-1864167 a{color:#C8102E;}.elementor-kit-1864167 a:hover{color:#9D0C24;}.elementor-kit-1864167 label{color:#6D6064;font-family:"system-ui", sans-serif;font-size:13px;font-weight:400;}.elementor-kit-1864167 input:not([type="button"]):not([type="submit"]),.elementor-kit-1864167 textarea,.elementor-kit-1864167 .elementor-field-textual{font-family:"system-ui", sans-serif;font-size:15px;font-weight:400;color:#1B1416;background-color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#E8DDD9;border-radius:3px 3px 3px 3px;transition:120ms;padding:8px 11px 8px 11px;}.elementor-kit-1864167 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-1864167 textarea:focus,.elementor-kit-1864167 .elementor-field-textual:focus{color:#1B1416;background-color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#C8102E;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-1864167.woocommerce button.button.alt,.elementor-kit-1864167.woocommerce button.button.alt.disabled,.elementor-kit-1864167.woocommerce ul.products li.product .button,.elementor-kit-1864167 .woocommerce ul.products li.product .button,.elementor-kit-1864167.woocommerce #respond input#submit,.elementor-kit-1864167.woocommerce .woocommerce-message .button,.elementor-kit-1864167.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper ul.tabs li.active,.elementor-kit-1864167.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,.elementor-kit-1864167.woocommerce-cart .cart .button,.elementor-kit-1864167.woocommerce-cart button.button,.elementor-kit-1864167.woocommerce-cart .cart .button,.elementor-kit-1864167.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,.elementor-kit-1864167.woocommerce-cart ul.products li.product .button,.elementor-kit-1864167.woocommerce-checkout button.button,.elementor-kit-1864167.woocommerce-checkout button.button.alt,.elementor-kit-1864167.woocommerce-cart a.button,.elementor-kit-1864167.woocommerce-account a.button,.elementor-kit-1864167.woocommerce-account a.button.alt,.elementor-kit-1864167.woocommerce-account button.button,.elementor-kit-1864167.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active{font-family:"system-ui", sans-serif;font-weight:700;}.elementor-kit-1864167.woocommerce{--ehc-button-border-top-left-radius:var(--ehc-button-border-radius-sharp);--ehc-button-border-top-right-radius:var(--ehc-button-border-radius-sharp);--ehc-button-border-bottom-left-radius:var(--ehc-button-border-radius-sharp);--ehc-button-border-bottom-right-radius:var(--ehc-button-border-radius-sharp);}.elementor-kit-1864167.woocommerce-cart{--ehc-button-border-top-left-radius:var(--ehc-button-border-radius-sharp);--ehc-button-border-top-right-radius:var(--ehc-button-border-radius-sharp);--ehc-button-border-bottom-left-radius:var(--ehc-button-border-radius-sharp);--ehc-button-border-bottom-right-radius:var(--ehc-button-border-radius-sharp);}.elementor-kit-1864167.woocommerce-checkout{--ehc-button-border-top-left-radius:var(--ehc-button-border-radius-sharp);--ehc-button-border-top-right-radius:var(--ehc-button-border-radius-sharp);--ehc-button-border-bottom-left-radius:var(--ehc-button-border-radius-sharp);--ehc-button-border-bottom-right-radius:var(--ehc-button-border-radius-sharp);}.elementor-kit-1864167.woocommerce-account{--ehc-button-border-top-left-radius:var(--ehc-button-border-radius-sharp);--ehc-button-border-top-right-radius:var(--ehc-button-border-radius-sharp);--ehc-button-border-bottom-left-radius:var(--ehc-button-border-radius-sharp);--ehc-button-border-bottom-right-radius:var(--ehc-button-border-radius-sharp);}.elementor-kit-1864167 .woocommerce ul.products li.product .button{--ehc-button-border-top-left-radius:var(--ehc-button-border-radius-sharp);--ehc-button-border-top-right-radius:var(--ehc-button-border-radius-sharp);--ehc-button-border-bottom-left-radius:var(--ehc-button-border-radius-sharp);--ehc-button-border-bottom-right-radius:var(--ehc-button-border-radius-sharp);}.elementor-kit-1864167.woocommerce div.product span.price,.elementor-kit-1864167.woocommerce div.product div.summary p.price,.elementor-kit-1864167.woocommerce ul.products li.product .price,.elementor-kit-1864167 .woocommerce ul.products li.product .price,.elementor-kit-1864167.woocommerce div.product .stock{font-family:"system-ui", sans-serif;font-weight:600;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* === Intimate Treasures design tokens (approved mockup) — managed by the Default Kit === */
:root{
  --it-ivory:#F8F5F2; --it-card:#FFFFFF;
  --it-ink:#1B1416; --it-ink-2:#5B4E52; --it-ink-3:#6D6064;
  --it-line:#E8DDD9; --it-line-2:#F2EAE7;
  --it-crimson:#C8102E; --it-crimson-dark:#9D0C24; --it-blush:#FBEEEE;
  --it-gold:#A8874F; --it-ok:#2C7A54;
  --it-serif:"Libre Baskerville", ui-serif, Georgia, "Palatino Linotype", Palatino, serif;
  --it-sans: ui-sans-serif, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Body: sans stack, ivory ground */
body{
  font-family:var(--it-sans);
  background-color:var(--it-ivory);
  color:var(--it-ink);
  -webkit-font-smoothing:antialiased;
}

/* Display faces: serif */
h1,h2,h3,h4,h5,h6,
.entry-title,.product_title,.woocommerce-loop-product__title,
.woocommerce-Price-amount.amount + .amount, .cart_totals h2, .cart-collaterals h2{
  font-family:var(--it-serif);
  color:var(--it-ink);
  letter-spacing:-.01em;
}

/* Links */
a{ color:var(--it-crimson); }
a:hover,a:focus{ color:var(--it-crimson-dark); }

/* Buttons — Woo + theme carry their own colors, so restate them here */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce input.button.alt, .woocommerce #respond input#submit.alt,
.woocommerce .single_add_to_cart_button, .woocommerce .checkout-button,
#place_order, .wc-block-components-button{
  font-family:var(--it-sans);
  font-weight:700;
  letter-spacing:.2px;
  background-color:var(--it-crimson);
  color:#fff;
  border:none;
  border-radius:3px;
  padding:13px 22px;
  transition:background-color .15s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce #respond input#submit:hover, .woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover,
.woocommerce .single_add_to_cart_button:hover, .woocommerce .checkout-button:hover,
#place_order:hover, .wc-block-components-button:hover{
  background-color:var(--it-crimson-dark);
  color:#fff;
}
.woocommerce a.button:disabled, .woocommerce button.button:disabled, #place_order:disabled{
  background-color:var(--it-line-2); color:var(--it-ink-2);
}

/* Form inputs — Woo forms are not Elementor forms, so restate */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single,
.woocommerce-page input[type="text"], .woocommerce-page input[type="email"],
.woocommerce-page input[type="tel"], .woocommerce-page input[type="password"],
.woocommerce-page select, .woocommerce-page textarea{
  font-family:var(--it-sans);
  font-size:15px;
  color:var(--it-ink);
  background-color:var(--it-card);
  border:1px solid var(--it-line);
  border-radius:3px;
  padding:8px 11px;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce-page input[type="text"]:focus, .woocommerce-page input[type="email"]:focus,
.woocommerce-page input[type="tel"]:focus, .woocommerce-page select:focus{
  border-color:var(--it-crimson);
  outline:2px solid var(--it-crimson);
  outline-offset:0;
}
.woocommerce form .form-row label{
  font-family:var(--it-sans);
  font-size:13px;
  color:var(--it-ink-3);
}

/* Surfaces */
.woocommerce-checkout .woocommerce-checkout-review-order,
.woocommerce .cart_totals, .woocommerce-order-details{
  background-color:var(--it-blush);
  border:1px solid var(--it-line-2);
  border-radius:5px;
}



/* === IT CONFIRMATION :: START === */
.it-conf{
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:20px;
  padding:34px 22px 30px; margin-bottom:30px;
  background:var(--it-card); border:1px solid var(--it-line); border-radius:6px;
}
.it-conf__tick{
  width:52px; height:52px; border-radius:50%;
  background:#e8f3ed; color:var(--it-ok);
  display:grid; place-items:center; font-size:1.5rem; line-height:1;
}
.it-conf__h{
  font-family:var(--it-serif); font-size:1.9rem; margin:0; letter-spacing:-.01em; text-wrap:balance;
}
.it-conf__lede{ margin:0; color:var(--it-ink-2); max-width:46ch; font-size:.97rem; }

/* the pickup card — where do I go, when is it ready, what do I bring */
.it-conf__card{
  width:100%; max-width:460px; text-align:left;
  border:1.5px solid var(--it-crimson); border-radius:5px; background:var(--it-blush);
  padding:18px 20px; display:flex; flex-direction:column; gap:9px;
}
.it-conf__k{
  font-family:var(--it-mono, ui-monospace, monospace); font-size:.63rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--it-crimson);
}
.it-conf__store{ font-family:var(--it-serif); font-size:1.32rem; line-height:1.2; }
.it-conf__addr{ font-size:.9rem; color:var(--it-ink-2); line-height:1.45; }
.it-conf__row{
  display:flex; justify-content:space-between; gap:12px;
  font-size:.88rem; color:var(--it-ink-2);
  padding-top:8px; border-top:1px solid rgba(0,0,0,.06);
}
.it-conf__row strong{ color:var(--it-ink); font-weight:650; text-align:right; }
.it-conf__row a{ color:var(--it-ink); text-decoration:none; }
.it-conf__row a:hover{ color:var(--it-crimson); }

.it-conf__steps{
  display:grid; grid-template-columns:repeat(3,1fr); gap:10px;
  width:100%; max-width:560px; text-align:left;
}
.it-conf__s{
  background:var(--it-ivory); border:1px solid var(--it-line); border-radius:4px;
  padding:12px; font-size:.82rem; color:var(--it-ink-2); line-height:1.4;
}
.it-conf__d{
  font-family:var(--it-mono, ui-monospace, monospace); font-size:.63rem; letter-spacing:.08em;
  text-transform:uppercase; color:var(--it-crimson); margin-bottom:4px;
}

/* the standard receipt below the confirmation — quieten its duplicate "thank you" line */
.it-order-received .woocommerce-thankyou-order-received{ display:none; }
.it-order-received .woocommerce-order-overview{
  border:1px solid var(--it-line); border-radius:5px; background:var(--it-card);
  padding:14px 18px; margin:0 0 22px;
}

@media (max-width:640px){
  .it-conf{ padding:26px 16px 24px; }
  .it-conf__h{ font-size:1.5rem; }
  .it-conf__steps{ grid-template-columns:1fr; max-width:460px; }
}
/* === IT CONFIRMATION :: END === */

/* === IT MAINT :: START === */
.it-maint{ max-width:760px; margin:60px auto 90px; padding:0 20px; }
.it-maint__box{ background:var(--it-card); border:1px solid var(--it-line); border-left:4px solid var(--it-crimson);
  border-radius:6px; padding:34px 32px; }
.it-maint__k{ font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--it-crimson); margin-bottom:10px; }
.it-maint__h{ font-family:var(--it-serif); font-size:1.8rem; margin:0 0 12px; letter-spacing:-.01em; }
.it-maint__p{ color:var(--it-ink-2); margin:0 0 22px; max-width:58ch; line-height:1.6; }
.it-maint__actions{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin:0; }
.it-maint__btn{ background:var(--it-crimson); color:#fff !important; text-decoration:none; font-weight:700;
  font-size:.95rem; padding:13px 22px; border-radius:3px; display:inline-block; }
.it-maint__btn:hover{ background:var(--it-crimson-dark); }
.it-maint__link{ color:var(--it-ink-2); }
/* === IT MAINT :: END === */



/* === IT CART :: START === */
/* same width cap as checkout: an Elementor widget wrapper squeezes the cart into ~673px */
@media (min-width:1000px){
  .woocommerce-cart .elementor-widget-woocommerce-cart,
  .woocommerce-cart .elementor-widget-woocommerce-cart > .elementor-widget-container{
    width:100% !important; max-width:100% !important;
  }
  .woocommerce-cart .e-cart__container,
  .woocommerce-cart .e-cart__container.e-cart__container--2-columns{
    max-width:1140px !important;
    margin:0 auto !important;
    grid-template-columns:minmax(0,1fr) 372px !important;
    gap:38px !important;
    align-items:start !important;
  }
  .woocommerce-cart .e-cart__column-end{ position:sticky; top:24px; }
}

/* totals read as the same card as the checkout summary */
.woocommerce-cart .cart_totals{
  background:var(--it-blush);
  border:1px solid var(--it-line);
  border-radius:6px;
  padding:20px;
}
.woocommerce-cart .cart_totals h2{
  font-family:var(--it-serif); font-size:1.1rem; margin:0 0 12px;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td{
  border:0; border-bottom:1px solid rgba(0,0,0,.06); padding:9px 0; font-size:.9rem;
}
.woocommerce-cart .cart_totals tr.order-total th,
.woocommerce-cart .cart_totals tr.order-total td{
  border-bottom:0; border-top:1px solid var(--it-line); padding-top:13px;
  font-family:var(--it-serif); font-size:1.18rem; font-variant-numeric:tabular-nums;
}

/* the one button that matters on this page */
.woocommerce-cart .checkout-button,
.woocommerce .wc-proceed-to-checkout a.checkout-button{
  display:block !important;
  width:100% !important;
  background:var(--it-crimson) !important;
  color:#fff !important;
  border:none !important;
  border-radius:3px !important;
  padding:15px 18px !important;
  font-family:var(--it-sans) !important;
  font-weight:700 !important;
  font-size:1rem !important;
  text-align:center !important;
}
.woocommerce-cart .checkout-button:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover{
  background:var(--it-crimson-dark) !important; color:#fff !important;
}

/* product table, quieter */
.woocommerce-cart table.shop_table{ border:1px solid var(--it-line); border-radius:6px; background:var(--it-card); }
.woocommerce-cart table.shop_table th{ font-family:var(--it-sans); font-size:.8rem; letter-spacing:.03em; text-transform:uppercase; color:var(--it-ink-3); }
.woocommerce-cart table.shop_table td{ border-top:1px solid var(--it-line-2); }
.woocommerce-cart table.shop_table img{ width:64px; height:auto; border-radius:4px; }
/* === IT CART :: END === */



/* === IT HEADER A :: START === */
/* ---- STOP Chrome-on-Android force-darkening the site ----
   The page declared no colour scheme, so Chrome's "Auto dark theme" inverted the header —
   and the logo is dark script on transparent, so it disappeared into the darkened header.
   Declaring the scheme opts the page out of forced darkening. The site is a light design. */
:root{ color-scheme: light; }

/* ---- utility strip (markup from mu-plugin it-header-utility-bar.php) ---- */
.it-utilbar{ background:var(--it-ink); color:#e8dcdf; font-family:var(--it-sans); font-size:12px; }
.it-utilbar__in{ max-width:1280px; margin:0 auto; padding:6px 20px; display:flex; align-items:center;
  justify-content:space-between; gap:16px; }
.it-utilbar__promo{ margin:0; }
.it-utilbar__promo b{ color:#fff; font-weight:600; }
.it-utilbar__links{ display:flex; gap:18px; }
.it-utilbar__links a{ color:#e8dcdf; text-decoration:none; }
.it-utilbar__links a:hover, .it-utilbar__links a:focus{ color:#fff; text-decoration:underline; }
@media (max-width:820px){
  .it-utilbar__in{ padding:5px 14px; font-size:11px; justify-content:center; }
  .it-utilbar__links{ display:none; }
}

/* ---- nav: sans, single row, no underlines ---- */
.elementor-1872940 .elementor-element-1c2f571c .elementor-nav-menu > li > a,
.elementor-1872940 .elementor-element-1c2f571c .elementor-nav-menu a.elementor-item{
  font-family:var(--it-sans) !important;
  font-size:13px !important;
  font-weight:600 !important;
  letter-spacing:.03em;
  text-decoration:none !important;
  white-space:nowrap;
  color:var(--it-ink) !important;
  /* Spacing comes from a MARGIN on the <li> below, NOT padding here. Padding widens each
     anchor, which pushed "Sale" onto a second row; zero padding made the words collide. */
  padding:6px 0 !important;
  position:relative;
}
/* crimson rule slides in on hover instead of a permanent underline */
.elementor-1872940 .elementor-element-1c2f571c .elementor-nav-menu > li > a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background:var(--it-crimson); transform:scaleX(0); transform-origin:left;
  transition:transform .22s ease;
}
.elementor-1872940 .elementor-element-1c2f571c .elementor-nav-menu > li > a:hover::after,
.elementor-1872940 .elementor-element-1c2f571c .elementor-nav-menu > li > a:focus-visible::after{ transform:scaleX(1); }
.elementor-1872940 .elementor-element-1c2f571c .elementor-nav-menu > li > a:hover{ color:var(--it-crimson) !important; }
.elementor-1872940 .elementor-element-1c2f571c .elementor-nav-menu > li:last-child > a{ color:var(--it-crimson) !important; }
@media (prefers-reduced-motion: reduce){
  .elementor-1872940 .elementor-element-1c2f571c .elementor-nav-menu > li > a::after{ transition:none; }
}

/* submenus keep the sans face too */
.elementor-1872940 .elementor-element-1c2f571c .elementor-nav-menu ul a{
  font-family:var(--it-sans) !important; font-size:12.5px !important; text-decoration:none !important;
}

/* ---- search: quiet pill instead of a grey box + bolted-on button ---- */
.elementor-1872940 .aws-container .aws-search-form{
  border:1px solid var(--it-line); border-radius:999px; overflow:hidden; background:var(--it-ivory);
}
.elementor-1872940 .aws-container .aws-search-field{
  border:none !important; background:transparent !important; font-family:var(--it-sans) !important;
  font-size:13px !important; color:var(--it-ink) !important; padding:8px 14px !important; box-shadow:none !important;
}
.elementor-1872940 .aws-container .aws-search-btn,
.elementor-1872940 .aws-container .aws-search-btn_icon{
  background:transparent !important; border:none !important; color:var(--it-ink-3) !important;
}
.elementor-1872940 .aws-container .aws-search-form:focus-within{
  border-color:var(--it-crimson); box-shadow:0 0 0 3px rgba(200,16,46,.13);
}

/* ---- account / cart: quieter, aligned ---- */
.elementor-1872940 .elementor-icon-box-title,
.elementor-1872940 .elementor-icon-box-title a{
  font-family:var(--it-sans) !important; font-size:13px !important; font-weight:600 !important;
  text-decoration:none !important; color:var(--it-ink) !important;
}
.elementor-1872940 .elementor-icon-box-title a:hover{ color:var(--it-crimson) !important; }

/* ---- give the header its own ground: it was transparent, so the marble hero
        behind it was showing straight through ---- */
.elementor-1872940.elementor-location-header{
  background-color:var(--it-card) !important;
  border-bottom:1px solid var(--it-line);
  /* the hero image is a later sibling with no z-index, so it was painting straight
     over the header's lower half. Give the header its own stacking context. */
  position:relative;
  z-index:10;
}

/* ---- the marble: Elementor paints container backgrounds on ::before, which is why it
        survived setting a background-color on the header ---- */
.elementor-1872940 .elementor-element-3872d43e::before,
.elementor-1872940 .elementor-background-slideshow::before,
.elementor-1872940 .elementor-background-slideshow{
  background-image:none !important;
}
.elementor-1872940 .elementor-background-slideshow{ display:none !important; }

/* ---- cart (nav-menu widget 2c225d8e): icon + badge, on one line.
        Was rendering "Cart" stacked above a redundant "$0.00". ---- */
@media (min-width:821px){
  /* Desktop only. On mobile the cart renders "$0.00 [bag]" and hiding the price
     surfaces the word "Cart", which then collides with the logo. Leave mobile alone. */
  .elementor-1872940 .elementor-element-2c225d8e .woocommerce-Price-amount,
  .elementor-1872940 .elementor-element-2c225d8e .amount{ display:none !important; }

  /* the "Cart" item and the bag+badge were wrapping onto two rows */
  .elementor-1872940 .elementor-element-2c225d8e .elementor-nav-menu{
    display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important;
    align-items:center !important; gap:8px;
  }
  .elementor-1872940 .elementor-element-2c225d8e .elementor-nav-menu > li{ margin:0 !important; }
  .elementor-1872940 .elementor-element-2c225d8e .elementor-nav-menu > li > a{
    display:inline-flex !important; align-items:center; gap:7px;
    font-size:13px !important; font-weight:600 !important; padding:6px 0 !important;
  }
}

/* ---- breathing room between nav items (they were tight against the carets) ---- */
/* THE nav spacing. Margin on the <li> adds a gap WITHOUT widening the anchor (padding does,
   which is what pushed "Sale" onto a second row). The nav widget has a FIXED width, so the gap
   has to scale with the space actually available — 26px only fits above ~1600px. */
@media (min-width:821px){
  .elementor-1872940 .elementor-element-1c2f571c .elementor-nav-menu > li:last-child{ margin-right:0 !important; }
}
@media (min-width:1600px){
  .elementor-1872940 .elementor-element-1c2f571c .elementor-nav-menu > li{ margin-right:26px !important; }
}
@media (min-width:1360px) and (max-width:1599px){
  .elementor-1872940 .elementor-element-1c2f571c .elementor-nav-menu > li{ margin-right:14px !important; }
}
/* at 1280 even 14px wrapped — the nav widget's fixed width is the constraint, not the viewport */
@media (min-width:1025px) and (max-width:1359px){
  .elementor-1872940 .elementor-element-1c2f571c .elementor-nav-menu > li{ margin-right:9px !important; }
}

/* ---- reclaim vertical space: the 31px spacer earns nothing (desktop only —
        on mobile it is doing real layout work) ---- */
@media (min-width:821px){
  .elementor-1872940 .elementor-widget-spacer .elementor-spacer{ height:0 !important; }
  .elementor-1872940 .elementor-widget-spacer{ display:none !important; }
}

/* ---- 1025-1279px: horizontal nav still shows here, so make it FIT ----
   Below 1025 the widget's own Breakpoint (set to "tablet") hands over to the burger.
   Note: a pure-CSS "reveal the burger early" hack produces a burger that will NOT open —
   Elementor gates its dropdown CSS/JS behind that widget setting. Hence the setting, not CSS. */
@media (min-width:1025px) and (max-width:1279px){
  .elementor-1872940 .elementor-element-1c2f571c{ flex:1 1 auto !important; width:auto !important; min-width:0 !important; }
  .elementor-1872940 .elementor-element-1c2f571c .elementor-nav-menu{ flex-wrap:nowrap !important; }
  .elementor-1872940 .elementor-element-1c2f571c .elementor-nav-menu > li{ margin-right:0 !important; }
  .elementor-1872940 .elementor-element-1c2f571c .elementor-nav-menu > li > a{
    font-size:12px !important; letter-spacing:0 !important; padding:6px 0 !important;
  }
  .elementor-1872940 .elementor-element-1c2f571c .elementor-nav-menu .sub-arrow{ display:none !important; }
  .elementor-1872940 .elementor-element-8ef20bd{ flex:0 1 150px !important; width:auto !important; min-width:0 !important; }
  .elementor-1872940 .elementor-element-7933f274 .elementor-icon-box-title{ display:none !important; }
}

/* ---- vertical alignment: the widgets sat on 5 different baselines (y=59,63,82,84,88) ---- */
@media (min-width:821px){
  .elementor-1872940 .elementor-element-3872d43e > .elementor-element{
    align-self:center !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
}

/* ---- <=1024px (burger mode) ----
   The nav widget WRAPPER still reserved 469px after its menu collapsed to the burger, and the
   container's gap comes from --column-gap (a PERCENTAGE), not a plain `gap` — so overriding
   `gap` did nothing. Together they pushed "My Account" ~138px off the screen.

   These two rules are the whole fix. I tried "polishing" further (margins, padding,
   justify-content, flex-basis nudges) and every one of them traded a fixed defect for a new
   one — 900px and 768px started overflowing again and the header grew to 246px. Don't.
   If this needs to look better, fix the WIDGET WIDTHS in the Elementor template, not here. */
@media (max-width:1024px){
  .elementor-1872940 .elementor-element-1c2f571c{
    flex:0 0 auto !important; width:auto !important; min-width:0 !important;
  }
  .elementor-1872940 .elementor-element-3872d43e{
    --column-gap:16px !important;
  }
  /* cart wrapper is a COLUMN flex, which floated "Cart" above the optical line */
  .elementor-1872940 .elementor-element-2c225d8e .elementor-nav-menu{
    display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important;
    align-items:center !important; gap:8px;
  }
}

/* === IT HEADER A :: END === */

/* === IT CHECKOUT :: START === */
/* ---------- two columns: form | sticky summary (desktop only) ---------- */
@media (min-width:1000px){
  /* the FORM is itself a grid whose single column is 538px — that cap is why 1fr collapsed the
     form column to 128px. Let the form give its child the full width first. */
  /* an Elementor WIDGET WRAPPER caps the form at 844px inside a 1140px container */
  .woocommerce-checkout .elementor-widget-woocommerce-checkout-page,
  .woocommerce-checkout .elementor-widget-woocommerce-checkout-page > .elementor-widget-container{
    width:100% !important;
    max-width:100% !important;
  }
  .woocommerce-checkout form.checkout{
    display:block !important;
    width:100% !important;
    max-width:1140px !important;
    margin:0 auto !important;
  }
  .woocommerce-checkout form.checkout .e-checkout__container{
    width:100% !important;
    max-width:1140px !important;
    grid-template-columns:minmax(0,1fr) 430px !important;
    gap:38px !important;
    align-items:start !important;
  }
  .woocommerce-checkout .e-checkout__column-start{ min-width:0 !important; }
  .woocommerce-checkout .e-checkout__column-end{
    min-width:0 !important;
    position:sticky !important;
    top:24px;
  }
}

/* ---------- the PICKUP STORE .elementor-kit-1864167 must be usable ----------
   BUG (owner, live): "website wont let me select a location". The real select
   (_shipping_method_pickup_location_id[0], all 10 stores) is fine — but Local Pickup Plus renders
   it inside a NESTED TABLE CELL only ~121px wide, and my `select{width:100%}` made the Select2
   widget inherit the CELL width, not the column's. Result: a 121px stub reading "Search locations…"
   that a customer cannot use.
   Fix: break the pickup field out of the table cell and give it the full column.
   DO NOT set display:block on the shipping th/td — LPP nests a table there and the cells collapse,
   rendering text one letter per line. */
.woocommerce-checkout .e-checkout__column-end .pickup-location-field,
.woocommerce-checkout .e-checkout__column-end .wc-pickup-locations{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
}
.woocommerce-checkout .e-checkout__column-end .pickup-location-field .select2-container,
.woocommerce-checkout .e-checkout__column-end .pickup-location-field select,
.woocommerce-checkout .e-checkout__column-end select[name^="_shipping_method_pickup_location_id"]{
  width:100% !important;
  min-width:230px !important;
  max-width:100% !important;
  box-sizing:border-box;
}
/* the Select2 dropdown must not be clipped by the sticky summary card */
.woocommerce-checkout .e-checkout__column-end{ overflow:visible !important; }
.select2-container--open{ z-index:99999 !important; }

.woocommerce-checkout .e-checkout__column-end .product-name,
.woocommerce-checkout .e-checkout__column-end .wc-pickup-location-details{
  line-height:1.4;
}

/* ---------- the order summary reads as a card ---------- */
.woocommerce-checkout .e-checkout__column-end .woocommerce-checkout-review-order,
.woocommerce-checkout #order_review{
  background:var(--it-blush);
  border:1px solid var(--it-line);
  border-radius:6px;
  padding:20px 20px 22px;
}
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .e-checkout__column-end h3{
  font-family:var(--it-serif);
  font-size:1.1rem;
  margin:0 0 12px;
}
.woocommerce-checkout .shop_table{ background:transparent; border:0; }
.woocommerce-checkout .shop_table th,
.woocommerce-checkout .shop_table td{
  border:0;
  border-bottom:1px solid rgba(0,0,0,.06);
  padding:9px 0;
  font-size:.9rem;
}
.woocommerce-checkout .shop_table tr.order-total th,
.woocommerce-checkout .shop_table tr.order-total td{
  border-bottom:0;
  border-top:1px solid var(--it-line);
  padding-top:13px;
  font-family:var(--it-serif);
  font-size:1.18rem;
  font-variant-numeric:tabular-nums;
}

/* ---------- section headings ---------- */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3{
  font-family:var(--it-serif);
  font-size:1.15rem;
  margin:0 0 14px;
  color:var(--it-ink);
}

/* ---------- the pay button: the loudest thing on the page ---------- */
.woocommerce-checkout #place_order,
.woocommerce #place_order,
.woocommerce-checkout button#place_order{
  width:100% !important;
  background:var(--it-crimson) !important;
  color:#fff !important;
  border:none !important;
  border-radius:3px !important;
  padding:15px 18px !important;
  font-family:var(--it-sans) !important;
  font-size:1rem !important;
  font-weight:700 !important;
  letter-spacing:.2px;
}
.woocommerce-checkout #place_order:hover,
.woocommerce #place_order:hover{ background:var(--it-crimson-dark) !important; }

/* ---------- trust panel (markup from mu-plugin it-checkout-trust.php) ---------- */
.it-trust{
  display:flex; flex-direction:column; gap:9px;
  margin-top:16px; padding-top:14px;
  border-top:1px solid var(--it-line);
  font-size:.79rem; color:var(--it-ink-2);
}
.it-trust div{ display:flex; gap:8px; align-items:flex-start; line-height:1.4; }
.it-trust b{ color:var(--it-ink); font-weight:650; }
.it-trust .it-trust__i{ color:var(--it-crimson); flex:0 0 auto; }

/* ---------- tighten the vertical sprawl ---------- */
.woocommerce-checkout form .form-row{ margin-bottom:12px; }

/* ---------- pickup stock notice (markup: mu-plugin it-pickup-stock-notice.php) ----------
   Owner report: "website wont let me select a location". Nothing was broken — for a typical cart
   only 2 of 9 stores hold the goods, so seven are correctly disabled. But the page said NOTHING,
   so a working feature looked broken. This is the missing explanation. */
.woocommerce-checkout tr.it-pickup-note td{
  background:var(--it-blush);
  border-left:3px solid var(--it-crimson);
  border-bottom:0 !important;
  padding:9px 11px !important;
  font-size:.82rem;
  color:var(--it-ink-2);
  line-height:1.45;
}
.woocommerce-checkout tr.it-pickup-note b{ color:var(--it-ink); }
.woocommerce-checkout tr.it-pickup-note--none td{ border-left-color:var(--it-crimson); }

/* the "Not in stock here" tag on a greyed-out store */
.select2-results__option .it-oos{
  display:block;
  font-size:.7rem;
  color:var(--it-crimson);
  font-weight:600;
  margin-top:2px;
}
.select2-results__option[aria-disabled="true"]{ opacity:.55; }

/* ---------- PICKUP STORE TILES (markup: mu-plugin it-pickup-tiles.php) ----------
   The approved mockup's store grid. A dropdown hid the fact that only 2 of 9 stores can fulfil a
   typical cart — which is exactly why the owner reported "wont let me select a location".
   Tiles make stock visible at a glance. They drive the SAME hidden select, so Woo/LPP/BOPIS are
   untouched. */
.woocommerce-checkout tr.it-tiles-row > td{
  padding:4px 0 10px !important; border-bottom:0 !important; background:transparent;
}
.it-tiles{ margin:6px 0 2px; width:100%; }
.it-tiles__head{
  margin:0 0 8px; font-size:.83rem; color:var(--it-ink-2); line-height:1.45;
  background:var(--it-blush); border-left:3px solid var(--it-crimson);
  border-radius:0 3px 3px 0; padding:7px 10px;
}
.it-tiles__head b{ color:var(--it-ink); }
.it-tiles__grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:6px;
}
.it-tile{
  position:relative; text-align:left; cursor:pointer;
  border:1.5px solid var(--it-line); border-radius:4px;
  background:var(--it-card); color:var(--it-ink);
  padding:8px 10px; font-family:var(--it-sans);
  display:flex; flex-direction:column; gap:1px;
}
.it-tile:hover{ border-color:var(--it-ink-3); }
.it-tile:focus-visible{ outline:2px solid var(--it-crimson); outline-offset:2px; }
.it-tile[aria-pressed="true"]{
  border-color:var(--it-crimson); background:var(--it-blush);
  box-shadow:0 0 0 1px var(--it-crimson);
}
.it-tile[aria-pressed="true"]::after{
  content:"✓"; position:absolute; top:6px; right:8px;
  color:var(--it-crimson); font-weight:700; font-size:.78rem;
}
.it-tile__n{ font-weight:650; font-size:.83rem; line-height:1.25; }
.it-tile__d{ font-size:.7rem; color:var(--it-ink-3); }
.it-tile__s{ font-size:.68rem; font-weight:600; color:var(--it-ok, #2c7a54); margin-top:2px; }

/* a store that cannot fulfil: visibly out, and says why */
.it-tile--off{ opacity:.5; cursor:not-allowed; background:var(--it-ivory); }
.it-tile--off:hover{ border-color:var(--it-line); }
.it-tile--off .it-tile__n{ color:var(--it-ink-3); font-weight:500; }
.it-tile--off .it-tile__s{ color:var(--it-crimson); }

/* the dropdown stays in the DOM (Woo/LPP still use it) but the customer never sees it */
.it-tiles__hidden{ position:absolute !important; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap; }

@media (max-width:640px){
  .it-tiles__grid{ grid-template-columns:1fr 1fr; }
}
/* === IT CHECKOUT :: END === *//* End custom CSS */