/* Web2Ink premium store themes — shared, token-driven layer.
 * Loaded only on store pages. All visual variables come from per-store --w2i-* tokens
 * (emitted by W2I_Astores_Public::output_store_palette from the web2ink_theme_tokens meta),
 * so prebuilt themes differ by tokens, not by bespoke CSS. Update-safe; no per-store overrides here.
 * Targets the markup produced by the web2ink widgets (w2i_store_items, w2i_store_cats,
 * w2i_sw_store_categories_thumbs, etc.) so templates are built from widgets, not custom code. */
:root{
  --w2i-primary:#03a7f2; --w2i-primary2:#38BDF8; --w2i-on-primary:#FFFFFF;
  --w2i-ink:#0E1B2E; --w2i-muted:#5B6B82;
  --w2i-bg:#F4F7FB; --w2i-surface:#FFFFFF; --w2i-field:#ECF2FB;
  --w2i-border:rgba(15,23,42,0.12); --w2i-radius:16px;
  --w2i-shadow:0 10px 26px rgba(15,23,42,.06); --w2i-shadow-h:0 22px 48px rgba(15,23,42,.14);
}

/* ---------- product / design grid (w2i_store_items → .w2i-design-list) ---------- */
.w2i-design-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:26px;max-width:100%;margin:0 auto;}
.w2i-design-list>div{display:flex;flex-direction:column;background:var(--w2i-surface);border:1px solid var(--w2i-border);border-radius:var(--w2i-radius);overflow:hidden;box-shadow:var(--w2i-shadow);transition:transform .25s ease,box-shadow .25s ease;}
/* override legacy frontend.css `div.w2i-design-list>div{width:24%;max-width:280px}` so grid cards fill their column */
div.w2i-design-list>div{width:100%;max-width:none;}
.w2i-design-list>div:hover{transform:translateY(-6px);box-shadow:var(--w2i-shadow-h);}
.w2i-design-list>div>a{order:1;display:block;line-height:0;position:relative;overflow:hidden;background:var(--w2i-field);}
.w2i-design-list>div>a img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;transition:transform .45s ease;}
.w2i-design-list>div:hover>a img{transform:scale(1.05);}
.w2i-design-list>div>a::after{content:var(--w2i-cta-label,"Customise \2192");position:absolute;left:50%;bottom:14px;transform:translate(-50%,10px);background:var(--w2i-primary);color:var(--w2i-on-primary);font-size:12.5px;font-weight:700;line-height:1;padding:11px 20px;border-radius:999px;opacity:0;transition:opacity .22s ease,transform .22s ease;white-space:nowrap;box-shadow:var(--w2i-shadow-h);}
.w2i-design-list>div:hover>a::after{opacity:1;transform:translate(-50%,0);}
.w2i-design-list>div .w2i-item-title{order:2;padding:15px 16px 0;font-weight:600;color:var(--w2i-ink);font-size:15px;line-height:1.35;}
.w2i-design-list>div .w2i-item-title i{font-style:normal;}
.w2i-design-list>div .w2i-item-price{order:3;padding:6px 16px 16px;color:var(--w2i-ink);font-weight:700;font-size:16px;}
.w2i-design-list>div .w2i-item-colors{order:4;padding:0 16px 16px;margin-top:-4px;}
.w2i-design-list>div .w2i-item-sizes{order:5;padding:0 16px 16px;color:var(--w2i-muted);font-size:13px;}

/* ---------- clean product card (w2i_store_items → Card style: Clean card) ---------- */
.w2i-design-style-clean>.w2i-design-card{background:var(--w2i-surface,#fff);border:1px solid var(--w2i-border,rgba(15,23,42,.08));border-radius:var(--w2i-radius,16px);box-shadow:var(--w2i-shadow,0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.06));}
.w2i-design-style-clean>.w2i-design-card:hover{box-shadow:var(--w2i-shadow-h,0 6px 14px rgba(15,23,42,.07),0 20px 40px rgba(15,23,42,.12));}
.w2i-design-style-clean .w2i-design-card-media{background:var(--w2i-field,#f8fafc);}
.w2i-design-style-clean .w2i-design-card-body{padding:16px 18px 18px;}
.w2i-design-style-clean .w2i-item-title{color:var(--w2i-ink,#0f172a);font-weight:700;}
.w2i-design-style-clean .w2i-item-price{color:var(--w2i-ink,#0f172a);font-weight:600;}
.w2i-design-style-clean .w2i-design-wishlist{background:rgba(255,255,255,.94);color:var(--w2i-muted,#64748b);}
.w2i-design-style-clean .w2i-item-sizes{color:var(--w2i-muted,#64748b);}
.w2i-color-swatches{display:flex;gap:7px;flex-wrap:wrap;}
.w2i-color-swatches span,.w2i-color-swatches a{width:16px;height:16px;border-radius:50%;border:1px solid var(--w2i-border);display:inline-block;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);}
.w2i-arrange-box{display:flex;align-items:center;gap:10px;justify-content:flex-end;width:100%;max-width:100%;margin:0 0 18px;color:var(--w2i-muted);font-weight:600;font-size:14px;}
.w2i-arrange-box select{border-radius:999px;border:1px solid var(--w2i-border);padding:9px 16px;background:var(--w2i-field);color:var(--w2i-ink);font-weight:600;}
.w2i-store-load-more,.w2i-template-load-more{display:inline-block;margin:26px auto 0;padding:13px 30px;border-radius:999px;background:var(--w2i-surface);border:1px solid var(--w2i-border);color:var(--w2i-ink);font-weight:700;cursor:pointer;box-shadow:var(--w2i-shadow);}

/* ---------- category nav (w2i_store_cats → .w2i-tree) ---------- */
.elementor-widget-w2i_store_cats nav.w2i-store-categories li > a,
.elementor-widget-w2i_store_cats .w2i-menu nav.w2i-store-categories li > a{padding:var(--w2i-cat-link-padding,11px 22px);margin:var(--w2i-cat-link-margin,0);border-radius:var(--w2i-cat-link-radius,calc(var(--w2i-radius,16px) - 4px));}
.w2i-tree,.w2i-tree ul{list-style:none;margin:0;padding:0;}
.w2i-tree{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.w2i-tree li{border:0;}
.w2i-tree a{display:inline-flex;align-items:center;padding:var(--w2i-cat-link-padding,11px 22px);margin:var(--w2i-cat-link-margin,0);border-radius:var(--w2i-cat-link-radius,calc(var(--w2i-radius) - 4px));background:var(--w2i-surface);border:1px solid var(--w2i-border);color:var(--w2i-ink);font-weight:700;text-decoration:none;box-shadow:var(--w2i-shadow);transition:all .15s ease;}
.w2i-tree a:hover{background:var(--w2i-primary);border-color:var(--w2i-primary);color:var(--w2i-on-primary);transform:translateY(-2px);}
.w2i-tree ul{display:flex;gap:10px;padding-left:10px;}.w2i-tree ul a{padding:var(--w2i-cat-link-padding,7px 14px);font-weight:500;font-size:13px;}

/* ---------- category flat list (w2i_store_cats → List Style / List Style with Count) ---------- */
nav.w2i-store-cat-list > ul{gap:10px;}
nav.w2i-store-cat-list li > a.w2i-store-cat-link{padding:var(--w2i-cat-link-padding,11px 18px);margin:var(--w2i-cat-link-margin,0);border-radius:var(--w2i-cat-link-radius,calc(var(--w2i-radius,16px) - 4px));background:var(--w2i-surface,#fff);border:1px solid var(--w2i-border,rgba(15,23,42,.08));color:var(--w2i-ink,#0f172a);font-weight:600;box-shadow:var(--w2i-shadow,0 1px 2px rgba(15,23,42,.04));}
nav.w2i-store-cat-list li > a.w2i-store-cat-link:hover{background:var(--w2i-primary,#3b82f6);border-color:var(--w2i-primary,#3b82f6);color:var(--w2i-on-primary,#fff);transform:translateY(-1px);}
nav.w2i-store-cat-list .w2i-store-cat-count{color:var(--w2i-muted,#64748b);font-weight:500;}
nav.w2i-store-cat-list li > a.w2i-store-cat-link:hover .w2i-store-cat-count{color:inherit;opacity:.9;}

/* ---------- category list variations (buttons / pills / divided) ---------- */
nav.w2i-store-cat-list.w2i-cat-var-buttons > ul{justify-content:var(--w2i-cat-list-justify,center);}
nav.w2i-store-cat-list.w2i-cat-var-buttons li > a.w2i-store-cat-link{padding:var(--w2i-cat-link-padding,12px 26px);border-radius:var(--w2i-cat-link-radius,999px);background:var(--w2i-primary,#3b82f6);border:1px solid var(--w2i-primary,#3b82f6);color:var(--w2i-on-primary,#fff);box-shadow:var(--w2i-shadow,0 2px 8px rgba(15,23,42,.12));}
nav.w2i-store-cat-list.w2i-cat-var-buttons li > a.w2i-store-cat-link:hover{filter:brightness(1.06);transform:translateY(-2px);}
nav.w2i-store-cat-list.w2i-cat-var-pills li > a.w2i-store-cat-link{padding:var(--w2i-cat-link-padding,8px 18px);border-radius:var(--w2i-cat-link-radius,999px);background:var(--w2i-field,#f1f5f9);border:1px solid var(--w2i-border,rgba(15,23,42,.1));color:var(--w2i-ink,#0f172a);}
nav.w2i-store-cat-list.w2i-cat-var-pills li > a.w2i-store-cat-link:hover{background:color-mix(in srgb,var(--w2i-primary,#3b82f6) 12%,var(--w2i-field,#f1f5f9));border-color:color-mix(in srgb,var(--w2i-primary,#3b82f6) 40%,var(--w2i-border,rgba(15,23,42,.1)));}
nav.w2i-store-cat-list.w2i-cat-var-divided li > a.w2i-store-cat-link{padding:var(--w2i-cat-link-padding,14px 6px);display:flex;width:100%;}
nav.w2i-store-cat-list.w2i-cat-var-divided > ul > li + li{border-top:1px solid var(--w2i-border,rgba(15,23,42,.1));}
nav.w2i-store-cat-list.w2i-cat-var-divided li > a.w2i-store-cat-link:hover{background:color-mix(in srgb,var(--w2i-primary,#3b82f6) 6%,var(--w2i-surface,#fff));}

/* ---------- category image tiles — overlay style only (w2i_sw_store_categories_thumbs) ---------- */
.w2i-cat-style-overlay.w2i-store-categories-list ul{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px;justify-content:center;max-width:100%;}
.w2i-cat-style-overlay.w2i-store-categories-list li a{--w2i-overlay-scrim:15,23,42;--w2i-overlay-scrim-strong:.5;--w2i-overlay-scrim-mid:.2;--w2i-cat-card-height:260px;position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;min-height:var(--w2i-cat-card-height);height:var(--w2i-cat-card-height);border-radius:var(--w2i-radius,16px);overflow:hidden;border:1px solid rgba(15,23,42,.08);box-shadow:var(--w2i-shadow,0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.07));text-decoration:none;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;}
.w2i-cat-style-overlay.w2i-store-categories-list li a:hover{transform:translateY(-4px);box-shadow:var(--w2i-shadow-h,0 6px 14px rgba(15,23,42,.07),0 20px 40px rgba(15,23,42,.12));}
.w2i-cat-style-overlay .w2i-cat-overlay-accent{position:absolute;top:0;left:0;right:0;height:3px;z-index:4;background:var(--w2i-primary,var(--w2i-cat-accent,#dc2626));transform:scaleX(1);opacity:1;}
.w2i-cat-style-overlay .w2i-cat-overlay-media{position:absolute;inset:0;z-index:0;overflow:hidden;}
.w2i-cat-style-overlay .w2i-cat-overlay-media img,
.w2i-cat-style-overlay.w2i-store-categories-list li a img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .55s ease;}
.w2i-cat-style-overlay.w2i-store-categories-list li a:hover .w2i-cat-overlay-media img,
.w2i-cat-style-overlay.w2i-store-categories-list li a:hover img{transform:scale(1.04);}
.w2i-cat-style-overlay.w2i-store-categories-list li.w2i-cat-has-img a::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(var(--w2i-overlay-scrim),0) 0%,rgba(var(--w2i-overlay-scrim),0) 42%,rgba(var(--w2i-overlay-scrim),var(--w2i-overlay-scrim-mid)) 76%,rgba(var(--w2i-overlay-scrim),var(--w2i-overlay-scrim-strong)) 100%),linear-gradient(180deg,color-mix(in srgb,var(--w2i-cat-overlay-wash,var(--w2i-cat-accent,#dc2626)) 12%,transparent),color-mix(in srgb,var(--w2i-cat-overlay-wash,var(--w2i-cat-accent,#dc2626)) 8%,transparent));}
.w2i-cat-style-overlay.w2i-store-categories-list li.w2i-cat-has-img a:hover::before{--w2i-overlay-scrim-strong:.58;--w2i-overlay-scrim-mid:.28;}
.w2i-cat-style-overlay.w2i-store-categories-list li.w2i-cat-has-img a::after{display:none;}
.w2i-cat-style-overlay.w2i-store-categories-list li.w2i-cat-has-img .w2i-cat-overlay-caption{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:16px 16px 18px;background:transparent;}
.w2i-cat-style-overlay.w2i-store-categories-list li.w2i-cat-has-img .w2i-cat-card-title{color:#fff;font-weight:700;font-size:17px;letter-spacing:-.01em;line-height:1.3;}
.w2i-cat-style-overlay.w2i-store-categories-list li.w2i-cat-has-img .w2i-cat-card-desc{color:rgba(255,255,255,.9);font-size:12px;line-height:1.45;}
.w2i-cat-style-overlay .w2i-cat-overlay-action{background:#fff;color:#0f172a;box-shadow:0 2px 10px rgba(15,23,42,.2);}
.w2i-cat-style-overlay li a:hover .w2i-cat-overlay-action{
  background:var(--w2i-cat-accent-hover,var(--w2i-cat-accent,#dc2626));
  color:#fff;
  box-shadow:0 4px 14px color-mix(in srgb,var(--w2i-cat-accent-hover,var(--w2i-cat-accent,#dc2626)) 40%,rgba(15,23,42,.24));
}
.w2i-cat-style-overlay li a:hover .w2i-cat-overlay-accent{
  background:var(--w2i-cat-accent-hover,var(--w2i-cat-accent,#dc2626));
}
.w2i-cat-style-overlay.w2i-store-categories-list li.w2i-cat-no-img a{align-items:center;justify-content:center;background:color-mix(in srgb,var(--w2i-primary,#3b82f6) 10%,var(--w2i-field,#f1f5f9));}
.w2i-cat-style-overlay.w2i-store-categories-list li.w2i-cat-no-img a::before,
.w2i-cat-style-overlay.w2i-store-categories-list li.w2i-cat-no-img a::after{display:none;}
.w2i-cat-style-overlay.w2i-store-categories-list li.w2i-cat-no-img .w2i-cat-overlay-caption{text-align:center;align-items:center;justify-content:center;padding:0 22px;}
.w2i-cat-style-overlay.w2i-store-categories-list li.w2i-cat-no-img .w2i-cat-card-title{color:var(--w2i-ink,#0f172a);font-weight:700;font-size:18px;text-shadow:none;}
.w2i-cat-style-overlay.w2i-store-categories-list li.w2i-cat-no-img .w2i-cat-card-desc{color:var(--w2i-muted,#64748b);}

/* ---------- WooCommerce cart / checkout (style only — structure unchanged) ---------- */
/* Theme-tinted form controls — driven by per-store --w2i-primary token */
.w2i-store-cart,.woocommerce-cart,.w2i-store-checkout,.woocommerce-checkout{
  --w2i-themed-input-bg:color-mix(in srgb,var(--w2i-primary) 8%,var(--w2i-surface));
  --w2i-themed-input-border:color-mix(in srgb,var(--w2i-primary) 35%,var(--w2i-border));
  --w2i-themed-input-hover-border:color-mix(in srgb,var(--w2i-primary) 55%,var(--w2i-border));
  --w2i-themed-input-focus-ring:0 0 0 3px color-mix(in srgb,var(--w2i-primary) 22%,transparent);
  --w2i-themed-input-placeholder:color-mix(in srgb,var(--w2i-primary) 38%,var(--w2i-muted));
}
.w2i-store-cart .input-text,.w2i-store-cart select:not(.select2-hidden-accessible),.w2i-store-cart textarea,.w2i-store-cart .w2i-summary-coupon .input-text,.woocommerce-cart .input-text,.woocommerce-cart select:not(.select2-hidden-accessible),.woocommerce-cart textarea,.woocommerce-cart .w2i-summary-coupon .input-text,.w2i-store-checkout .input-text,.w2i-store-checkout select:not(.select2-hidden-accessible),.w2i-store-checkout textarea,.w2i-store-checkout .w2i-summary-coupon .input-text,.woocommerce-checkout .input-text,.woocommerce-checkout select:not(.select2-hidden-accessible),.woocommerce-checkout textarea,.woocommerce-checkout .w2i-summary-coupon .input-text{background:var(--w2i-themed-input-bg) !important;border-color:var(--w2i-themed-input-border) !important;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;}
.w2i-store-cart .input-text:hover,.w2i-store-cart select:not(.select2-hidden-accessible):hover,.w2i-store-cart textarea:hover,.w2i-store-cart .w2i-summary-coupon .input-text:hover,.woocommerce-cart .input-text:hover,.woocommerce-cart select:not(.select2-hidden-accessible):hover,.woocommerce-cart textarea:hover,.woocommerce-cart .w2i-summary-coupon .input-text:hover,.w2i-store-checkout .input-text:hover,.w2i-store-checkout select:not(.select2-hidden-accessible):hover,.w2i-store-checkout textarea:hover,.w2i-store-checkout .w2i-summary-coupon .input-text:hover,.woocommerce-checkout .input-text:hover,.woocommerce-checkout select:not(.select2-hidden-accessible):hover,.woocommerce-checkout textarea:hover,.woocommerce-checkout .w2i-summary-coupon .input-text:hover{border-color:var(--w2i-themed-input-hover-border) !important;}
.w2i-store-cart .input-text:focus,.w2i-store-cart select:focus,.w2i-store-cart textarea:focus,.w2i-store-cart .w2i-summary-coupon .input-text:focus,.woocommerce-cart .input-text:focus,.woocommerce-cart select:focus,.woocommerce-cart textarea:focus,.woocommerce-cart .w2i-summary-coupon .input-text:focus,.w2i-store-checkout .input-text:focus,.w2i-store-checkout select:focus,.w2i-store-checkout textarea:focus,.w2i-store-checkout .w2i-summary-coupon .input-text:focus,.woocommerce-checkout .input-text:focus,.woocommerce-checkout select:focus,.woocommerce-checkout textarea:focus,.woocommerce-checkout .w2i-summary-coupon .input-text:focus{border-color:var(--w2i-primary) !important;box-shadow:var(--w2i-themed-input-focus-ring) !important;outline:none;}
.w2i-store-cart .input-text::placeholder,.w2i-store-cart .w2i-summary-coupon .input-text::placeholder,.woocommerce-cart .input-text::placeholder,.woocommerce-cart .w2i-summary-coupon .input-text::placeholder,.w2i-store-checkout .input-text::placeholder,.w2i-store-checkout .w2i-summary-coupon .input-text::placeholder,.woocommerce-checkout .input-text::placeholder,.woocommerce-checkout .w2i-summary-coupon .input-text::placeholder{color:var(--w2i-themed-input-placeholder) !important;opacity:1;}
.w2i-store-cart .select2-container--default .select2-selection--single,.woocommerce-cart .select2-container--default .select2-selection--single,.w2i-store-checkout .select2-container--default .select2-selection--single,.woocommerce-checkout .select2-container--default .select2-selection--single{background:var(--w2i-themed-input-bg) !important;border-color:var(--w2i-themed-input-border) !important;transition:border-color .15s ease,box-shadow .15s ease;}
.w2i-store-cart .select2-container--default.select2-container--open .select2-selection--single,.w2i-store-cart .select2-container--default.select2-container--focus .select2-selection--single,.woocommerce-cart .select2-container--default.select2-container--open .select2-selection--single,.woocommerce-cart .select2-container--default.select2-container--focus .select2-selection--single,.w2i-store-checkout .select2-container--default.select2-container--open .select2-selection--single,.w2i-store-checkout .select2-container--default.select2-container--focus .select2-selection--single,.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single,.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single{border-color:var(--w2i-primary) !important;box-shadow:var(--w2i-themed-input-focus-ring) !important;}
.w2i-store-cart .w2i-summary-coupon .button,.woocommerce-cart .w2i-summary-coupon .button,.w2i-store-checkout .w2i-summary-coupon .button,.woocommerce-checkout .w2i-summary-coupon .button{background:color-mix(in srgb,var(--w2i-primary) 12%,var(--w2i-surface)) !important;border-color:color-mix(in srgb,var(--w2i-primary) 40%,var(--w2i-border)) !important;color:var(--w2i-primary) !important;transition:background-color .15s ease,border-color .15s ease,color .15s ease;}
.w2i-store-cart .w2i-summary-coupon .button:hover,.woocommerce-cart .w2i-summary-coupon .button:hover,.w2i-store-checkout .w2i-summary-coupon .button:hover,.woocommerce-checkout .w2i-summary-coupon .button:hover{background:var(--w2i-primary) !important;border-color:var(--w2i-primary) !important;color:var(--w2i-on-primary,#fff) !important;}
/* .w2i-store-cart scopes rules so Elementor editor preview matches the live storefront. */
.w2i-store-cart,.woocommerce-cart{--w2i-cart-control-h:42px;--w2i-cart-control-pad-x:18px;--w2i-cart-gap:clamp(20px,3vw,32px);}
.w2i-store-cart>.woocommerce,.woocommerce-cart>.woocommerce{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:var(--w2i-cart-gap);align-items:start;}
.w2i-store-cart .woocommerce-cart-form,.woocommerce-cart .woocommerce-cart-form{grid-column:1;margin:0;}
.w2i-store-cart .cart-collaterals,.woocommerce-cart .cart-collaterals{grid-column:2;width:100% !important;float:none !important;margin:0 !important;}
.w2i-store-cart .cart-collaterals .cart_totals,.woocommerce-cart .cart-collaterals .cart_totals{width:100% !important;max-width:100% !important;float:none !important;}
.w2i-store-cart .cart_totals,.woocommerce-cart .cart_totals{position:sticky;top:24px;}
.woocommerce table.shop_table{border-radius:var(--w2i-radius);overflow:hidden;border:1px solid var(--w2i-border);background:var(--w2i-surface);border-collapse:collapse;}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:10px 12px;border-color:var(--w2i-border);vertical-align:middle;}
.w2i-store-cart .woocommerce-cart-form table.shop_table,.woocommerce-cart .woocommerce-cart-form table.shop_table{border:0;border-radius:0;box-shadow:none;}
.woocommerce table.shop_table th{background:var(--w2i-field);color:var(--w2i-ink);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;}
.woocommerce table.shop_table td{background:var(--w2i-surface);}
.w2i-store-cart .product-name a,.woocommerce-cart .product-name a{font-weight:600;color:var(--w2i-ink);font-size:17px;line-height:1.35;}
.w2i-store-cart .product-name dl.variation,.woocommerce-cart .product-name dl.variation{margin:.35em 0 0;font-size:13px;line-height:1.45;color:var(--w2i-muted);}
.w2i-store-cart .product-name dl.variation dt,.woocommerce-cart .product-name dl.variation dt{display:inline;font-weight:600;color:var(--w2i-ink);margin:0;padding:0;float:none;}
.w2i-store-cart .product-name dl.variation dd,.woocommerce-cart .product-name dl.variation dd{display:inline;margin:0 0 0 2px;padding:0;float:none;}
.w2i-store-cart .product-name dl.variation dd::after,.woocommerce-cart .product-name dl.variation dd::after{content:"\a";white-space:pre;}
.w2i-store-cart .product-name dl.variation dd p,.woocommerce-cart .product-name dl.variation dd p{margin:0;display:inline;}
.w2i-store-cart .product-thumbnail img,.woocommerce-cart .product-thumbnail img{border-radius:10px;border:1px solid var(--w2i-border);padding:4px;box-sizing:border-box;background:var(--w2i-field);}
.w2i-store-cart .product-remove a,.woocommerce-cart .product-remove a{color:var(--w2i-muted) !important;opacity:.9;background:transparent !important;border:0 !important;box-shadow:none !important;border-radius:8px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:background .15s ease,color .15s ease;}
.w2i-store-cart .product-remove a:hover,.woocommerce-cart .product-remove a:hover{background:var(--w2i-primary) !important;color:#fff !important;opacity:1;}
.w2i-store-cart td.product-price,.w2i-store-cart td.product-subtotal,.woocommerce-cart td.product-price,.woocommerce-cart td.product-subtotal{font-weight:600;font-size:16px;font-variant-numeric:tabular-nums;}
.w2i-store-cart td.product-price .amount,.w2i-store-cart td.product-subtotal .amount,.w2i-store-cart td.product-price bdi,.w2i-store-cart td.product-subtotal bdi,.woocommerce-cart td.product-price .amount,.woocommerce-cart td.product-subtotal .amount,.woocommerce-cart td.product-price bdi,.woocommerce-cart td.product-subtotal bdi{font-size:16px;font-weight:600;}
.w2i-store-cart td.product-quantity .quantity .qty,.woocommerce-cart td.product-quantity .quantity .qty{min-width:4.5em;width:4.5em;text-align:center;border:1px solid var(--w2i-border);border-radius:8px;padding:8px 6px;background:var(--w2i-surface);}
.w2i-store-cart .woocommerce-cart-form td.actions,.woocommerce-cart .woocommerce-cart-form td.actions{background:var(--w2i-field);border-top:1px solid var(--w2i-border);padding:14px 18px;}
.w2i-store-cart .coupon,.woocommerce-cart .coupon{display:flex;align-items:center;flex-wrap:wrap;gap:10px;}
.w2i-store-cart .coupon .input-text,.w2i-store-cart #coupon_code,.w2i-store-cart button[name="apply_coupon"],.w2i-store-cart button[name="update_cart"],.w2i-store-cart .cart_totals .checkout-button,.woocommerce-cart .coupon .input-text,.woocommerce-cart #coupon_code,.woocommerce-cart button[name="apply_coupon"],.woocommerce-cart button[name="update_cart"],.woocommerce-cart .cart_totals .checkout-button{min-height:var(--w2i-cart-control-h) !important;height:var(--w2i-cart-control-h) !important;padding:0 var(--w2i-cart-control-pad-x) !important;font-size:13px !important;line-height:1.35 !important;box-sizing:border-box !important;border-radius:999px !important;margin:0 !important;}
.w2i-store-cart button[name="apply_coupon"],.w2i-store-cart button[name="update_cart"],.w2i-store-cart .cart_totals .checkout-button,.woocommerce-cart button[name="apply_coupon"],.woocommerce-cart button[name="update_cart"],.woocommerce-cart .cart_totals .checkout-button{display:inline-flex !important;align-items:center !important;justify-content:center !important;font-weight:600 !important;}
.w2i-store-cart .coupon .input-text,.w2i-store-cart #coupon_code,.woocommerce-cart .coupon .input-text,.woocommerce-cart #coupon_code{border:1px solid var(--w2i-border) !important;background:var(--w2i-surface) !important;color:var(--w2i-ink) !important;min-width:200px;border-radius:999px !important;}
.w2i-store-cart button[name="update_cart"],.woocommerce-cart button[name="update_cart"]{background:var(--w2i-surface) !important;color:var(--w2i-ink) !important;border:1px solid var(--w2i-border) !important;}
.w2i-store-cart button[name="apply_coupon"],.woocommerce-cart button[name="apply_coupon"]{background:var(--w2i-primary) !important;color:var(--w2i-on-primary) !important;border:0 !important;}
.w2i-store-cart .woocommerce-cart-form td.actions .button[name="update_cart"],.woocommerce-cart .woocommerce-cart-form td.actions .button[name="update_cart"]{margin-left:auto !important;}
.woocommerce .cart_totals,.woocommerce-checkout #order_review,.woocommerce form.checkout_coupon,.woocommerce #payment,.woocommerce-checkout .woocommerce-billing-fields,.woocommerce-checkout .woocommerce-shipping-fields,.woocommerce-checkout .woocommerce-additional-fields{border:1px solid var(--w2i-border);border-radius:var(--w2i-radius);background:var(--w2i-surface);padding:16px;box-shadow:var(--w2i-shadow);}
.w2i-store-cart .cart_totals,.woocommerce-cart .cart_totals{border-color:rgba(15,23,42,0.08);box-shadow:var(--w2i-shadow);padding:20px;}
.w2i-store-cart .cart_totals h2,.woocommerce-cart .cart_totals h2{font-size:16px;font-weight:700;margin:0 0 14px;color:var(--w2i-ink);letter-spacing:-.01em;}
.woocommerce .cart_totals table.shop_table{width:100%;border:1px solid rgba(15,23,42,0.08);border-radius:calc(var(--w2i-radius) - 4px);overflow:hidden;box-shadow:none;border-collapse:collapse;}
.w2i-store-cart .cart_totals table.shop_table tr,.woocommerce-cart .cart_totals table.shop_table tr{vertical-align:middle;}
.w2i-store-cart .cart_totals table.shop_table th,.w2i-store-cart .cart_totals table.shop_table td,.woocommerce-cart .cart_totals table.shop_table th,.woocommerce-cart .cart_totals table.shop_table td,.woocommerce .cart_totals table.shop_table th,.woocommerce .cart_totals table.shop_table td{background:transparent !important;border:none;border-bottom:1px solid rgba(15,23,42,0.06);padding:12px 16px;vertical-align:middle !important;line-height:1.4;}
.woocommerce .cart_totals table.shop_table th{text-align:left;font-weight:500;font-size:13px;text-transform:none;letter-spacing:0;}
.woocommerce .cart_totals table.shop_table td{text-align:right;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;}
.woocommerce .cart_totals table.shop_table td .amount,.woocommerce .cart_totals table.shop_table td bdi{font-size:15px;font-weight:600;}
.woocommerce .cart_totals table.shop_table tr:last-child th,.woocommerce .cart_totals table.shop_table tr:last-child td{border-bottom:none;}
.woocommerce .cart_totals table.shop_table tr.order-total th,.woocommerce .cart_totals table.shop_table tr.order-total td{font-weight:700;font-size:16px;padding-top:14px;}
.woocommerce .cart_totals table.shop_table tr.order-total td .amount,.woocommerce .cart_totals table.shop_table tr.order-total td bdi{font-size:16px;font-weight:700;}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #place_order{background:var(--w2i-primary) !important;color:var(--w2i-on-primary) !important;border-radius:999px !important;padding:7px 16px !important;font-weight:600 !important;font-size:13px !important;border:0 !important;}
.w2i-store-cart .wc-proceed-to-checkout,.woocommerce-cart .wc-proceed-to-checkout{padding:4px 0 0 !important;margin:14px 0 0 !important;}
.w2i-store-cart .cart_totals .checkout-button,.woocommerce-cart .cart_totals .checkout-button{background:var(--w2i-primary) !important;color:var(--w2i-on-primary) !important;border:0 !important;width:100% !important;font-size:14px !important;min-height:46px !important;height:46px !important;}
@media(max-width:900px){
  .w2i-store-cart>.woocommerce,.woocommerce-cart>.woocommerce{grid-template-columns:1fr;}
  .w2i-store-cart .cart-collaterals,.woocommerce-cart .cart-collaterals{grid-column:1;}
  .w2i-store-cart .cart_totals,.woocommerce-cart .cart_totals{position:static;}
  .w2i-store-cart .woocommerce-cart-form td.actions,.woocommerce-cart .woocommerce-cart-form td.actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;}
  .w2i-store-cart .woocommerce-cart-form td.actions .button[name="update_cart"],.woocommerce-cart .woocommerce-cart-form td.actions .button[name="update_cart"]{margin-left:0 !important;width:100%;}
}
.woocommerce .woocommerce-info,.woocommerce .woocommerce-message,.woocommerce .woocommerce-error{border-top-color:var(--w2i-primary);background:var(--w2i-field);color:var(--w2i-ink);border-radius:calc(var(--w2i-radius) - 4px);}
.woocommerce .woocommerce-info a,.woocommerce .woocommerce-message a,.woocommerce .woocommerce-error a{color:var(--w2i-primary);}
/* dark-theme legibility: WooCommerce body text/labels/fields take the theme ink (light themes already read dark-on-light, so this is a no-op for them) */
.woocommerce,.woocommerce table.shop_table,.woocommerce table.shop_table td,.woocommerce table.shop_table td a,.woocommerce .cart_totals,.woocommerce .cart_totals th,.woocommerce .cart_totals td,.woocommerce-checkout #order_review,.woocommerce-checkout #order_review th,.woocommerce-checkout #order_review td,.woocommerce .woocommerce-billing-fields,.woocommerce .woocommerce-shipping-fields,.woocommerce .woocommerce-additional-fields,.woocommerce form .form-row label,.woocommerce-checkout .woocommerce-checkout-review-order,.woocommerce-checkout .woocommerce-checkout-review-order-table{color:var(--w2i-ink);}
.woocommerce form .input-text,.woocommerce form select:not(.select2-hidden-accessible),.woocommerce form textarea,.woocommerce form .select2-selection{background:var(--w2i-surface) !important;color:var(--w2i-ink) !important;border:1px solid var(--w2i-border) !important;border-radius:6px !important;padding:7px 10px !important;font-size:13px !important;}
.w2i-store-cart .woocommerce form .input-text,.w2i-store-cart .woocommerce form select:not(.select2-hidden-accessible),.w2i-store-cart .woocommerce form textarea,.woocommerce-cart .woocommerce form .input-text,.woocommerce-cart .woocommerce form select:not(.select2-hidden-accessible),.woocommerce-cart .woocommerce form textarea,.w2i-store-checkout .woocommerce form .input-text,.w2i-store-checkout .woocommerce form select:not(.select2-hidden-accessible),.w2i-store-checkout .woocommerce form textarea,.woocommerce-checkout .woocommerce form .input-text,.woocommerce-checkout .woocommerce form select:not(.select2-hidden-accessible),.woocommerce-checkout .woocommerce form textarea{background:var(--w2i-themed-input-bg) !important;border-color:var(--w2i-themed-input-border) !important;border-radius:12px !important;padding:11px 16px !important;}
.w2i-store-cart .woocommerce form .select2-selection--single,.woocommerce-cart .woocommerce form .select2-selection--single,.w2i-store-checkout .woocommerce form .select2-selection--single,.woocommerce-checkout .woocommerce form .select2-selection--single{background:var(--w2i-themed-input-bg) !important;border-color:var(--w2i-themed-input-border) !important;border-radius:12px !important;}
.woocommerce form .select2-selection__rendered{background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;padding:0 !important;}
.woocommerce form select.select2-hidden-accessible{border:0 !important;padding:0 !important;background:transparent !important;}

/* ---------- WooCommerce checkout (two stacked columns + coupon spacing) ---------- */
/* Col 1: billing, shipping, additional. Col 2: your order (+ payment). */
.woocommerce-checkout,.w2i-store-checkout,.w2i-astores-woo-page{--w2i-checkout-gap:24px;--w2i-field-gap:8px;}
.woocommerce-checkout form.checkout{margin-top:var(--w2i-checkout-gap);}
.woocommerce-checkout form.checkout .w2i-checkout-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:var(--w2i-checkout-gap);align-items:start;margin:0;padding:0;}
.woocommerce-checkout form.checkout #customer_details::before,.woocommerce-checkout form.checkout #customer_details::after{display:none !important;content:none !important;}
.woocommerce-checkout form.checkout .w2i-checkout-col-left,.woocommerce-checkout form.checkout .w2i-checkout-col-right{display:flex;flex-direction:column;gap:var(--w2i-checkout-gap);min-width:0;}
.woocommerce-checkout form.checkout .w2i-checkout-col-left > *:first-child,.woocommerce-checkout form.checkout .w2i-checkout-col-right > *:first-child{margin-top:0 !important;}
.woocommerce-checkout form.checkout .w2i-checkout-order-panel{display:contents;}
.woocommerce-checkout form.checkout .w2i-checkout-order-panel>#order_review_heading{display:none !important;}
.woocommerce-checkout .woocommerce-shipping-fields .w2i-shipping-section-title{margin:0 0 10px;}
.woocommerce-checkout .woocommerce-shipping-fields #ship-to-different-address{float:none;clear:both;font-size:13px;font-weight:600;line-height:1.4;margin:0 0 12px;padding:0;}
.woocommerce-checkout .woocommerce-shipping-fields #ship-to-different-address label{font-size:13px;font-weight:600;line-height:1.4;cursor:pointer;}
/* compact billing/shipping field rows via 6-col grid: halves=3+3, thirds=2+2+2 */
.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper,.woocommerce-checkout form.checkout .woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:var(--w2i-field-gap);row-gap:var(--w2i-field-gap);}
.woocommerce-checkout form.checkout .woocommerce-billing-fields .form-row,.woocommerce-checkout form.checkout .woocommerce-shipping-fields .form-row{margin:0 !important;padding:0 !important;width:auto !important;float:none !important;clear:none !important;}
.woocommerce-checkout form.checkout .woocommerce-billing-fields .form-row-wide,.woocommerce-checkout form.checkout .woocommerce-shipping-fields .form-row-wide{grid-column:1 / -1;}
.woocommerce-checkout form.checkout .woocommerce-billing-fields .form-row-first:not(.w2i-field-third),.woocommerce-checkout form.checkout .woocommerce-shipping-fields .form-row-first:not(.w2i-field-third),.woocommerce-checkout form.checkout #billing_phone_field,.woocommerce-checkout form.checkout #shipping_phone_field{grid-column:span 3;}
.woocommerce-checkout form.checkout .woocommerce-billing-fields .form-row-last:not(.w2i-field-third),.woocommerce-checkout form.checkout .woocommerce-shipping-fields .form-row-last:not(.w2i-field-third),.woocommerce-checkout form.checkout #billing_email_field{grid-column:span 3;}
.woocommerce-checkout form.checkout .form-row.w2i-field-third-first,.woocommerce-checkout form.checkout .form-row.w2i-field-third-mid,.woocommerce-checkout form.checkout .form-row.w2i-field-third.form-row-last{grid-column:span 2;}
.woocommerce-checkout .w2i-checkout-order-card{border:1px solid var(--w2i-border);border-radius:var(--w2i-radius);background:var(--w2i-surface);padding:16px;box-shadow:var(--w2i-shadow);}
.woocommerce-checkout .w2i-checkout-order-card .w2i-order-review-title{font-size:15px;font-weight:700;margin:0 0 14px;color:var(--w2i-ink);}
.woocommerce-checkout .w2i-checkout-order-card table.woocommerce-checkout-review-order-table{margin:0;}
.woocommerce-checkout .w2i-checkout-order-panel #order_review{display:contents !important;border:none !important;padding:0 !important;box-shadow:none !important;background:transparent !important;}
.woocommerce-checkout .w2i-checkout-payment-card{margin-top:0;}
.woocommerce-checkout .w2i-checkout-payment-card #payment.woocommerce-checkout-payment{background:var(--w2i-field) !important;border:1px solid var(--w2i-border);border-radius:calc(var(--w2i-radius) - 4px);padding:12px 14px;margin:0;box-shadow:none;}
.woocommerce-checkout .w2i-checkout-payment-card #payment ul.payment_methods{border-bottom:1px solid var(--w2i-border);padding:0 0 8px;margin:0 0 8px;}
.woocommerce-checkout .w2i-checkout-payment-card #payment ul.payment_methods li{margin-bottom:6px;font-size:13px;line-height:1.4;}
.woocommerce-checkout .w2i-checkout-payment-card #payment ul.payment_methods li label{font-weight:600;cursor:pointer;}
.woocommerce-checkout .w2i-checkout-payment-card #payment div.payment_box{background:var(--w2i-surface) !important;color:var(--w2i-ink);border:1px solid var(--w2i-border);border-radius:6px;font-size:12.5px;line-height:1.45;margin:6px 0 0;padding:10px 12px;}
.woocommerce-checkout .w2i-checkout-payment-card #payment div.payment_box::before{border-bottom-color:var(--w2i-surface);}
.woocommerce-checkout .w2i-checkout-payment-card #payment .w2i-astores-pay-terms{margin-top:6px;}
.woocommerce-checkout .w2i-checkout-payment-card #payment .w2i-astores-pay-terms label{font-size:12.5px;font-weight:600;margin-bottom:4px;display:block;}
.woocommerce-checkout .w2i-checkout-payment-card #payment .w2i-astores-pay-terms input{width:100%;padding:8px 12px !important;font-size:13px !important;border:1px solid var(--w2i-border) !important;border-radius:6px !important;background:var(--w2i-surface) !important;}
.woocommerce-checkout .w2i-checkout-payment-card #payment .place-order{padding:0;margin:8px 0 0;float:none;}
.woocommerce-checkout .w2i-checkout-payment-card #payment .woocommerce-privacy-policy-text{font-size:12px;line-height:1.45;color:var(--w2i-muted);margin:0 0 10px;}
.woocommerce-checkout .w2i-checkout-payment-card #payment #place_order{width:100% !important;display:block;float:none !important;margin:0 !important;padding:11px 16px !important;font-size:14px !important;font-weight:600 !important;border-radius:8px !important;}
@media(max-width:900px){
  .woocommerce-checkout form.checkout .w2i-checkout-cols{grid-template-columns:1fr;}
  .woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper,.woocommerce-checkout form.checkout .woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr;}
  .woocommerce-checkout form.checkout .woocommerce-billing-fields .form-row,.woocommerce-checkout form.checkout .woocommerce-shipping-fields .form-row{grid-column:1 / -1 !important;}
}
/* coupon toggle + form: theme colours, uniform 24px gaps */
.woocommerce-checkout .woocommerce-form-coupon-toggle{margin:0;}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-message{background:var(--w2i-field) !important;color:var(--w2i-ink) !important;border:1px solid var(--w2i-border) !important;border-left:3px solid var(--w2i-primary) !important;border-top:3px solid var(--w2i-border) !important;margin:0 !important;padding:10px 14px 10px 2.2em !important;font-size:13px;line-height:1.45;border-radius:calc(var(--w2i-radius) - 4px);position:relative;}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-message::before{color:var(--w2i-primary) !important;background:transparent !important;background-color:transparent !important;box-shadow:none !important;border:0 !important;border-radius:0 !important;position:absolute;left:12px;top:50%;transform:translateY(-50%);width:auto;height:auto;line-height:1;margin:0;padding:0;}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a,.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-message a{color:var(--w2i-primary) !important;font-weight:600;}
.woocommerce-checkout .woocommerce-form-coupon-toggle .wc-block-components-notice-banner.is-info{background:var(--w2i-field) !important;color:var(--w2i-ink) !important;border:1px solid var(--w2i-border) !important;border-left:3px solid var(--w2i-primary) !important;margin:0 !important;padding:10px 14px !important;font-size:13px;line-height:1.45;border-radius:calc(var(--w2i-radius) - 4px);}
.woocommerce-checkout .woocommerce-form-coupon-toggle .wc-block-components-notice-banner.is-info svg{background:transparent !important;background-color:transparent !important;fill:var(--w2i-primary) !important;color:var(--w2i-primary) !important;box-shadow:none !important;border:0 !important;border-radius:0 !important;}
.woocommerce-checkout .woocommerce-form-coupon-toggle .wc-block-components-notice-banner.is-info a{color:var(--w2i-primary) !important;font-weight:600;}
.woocommerce-checkout form.checkout_coupon,.woocommerce-checkout form#woocommerce-checkout-form-coupon{margin:0 !important;padding:10px 12px !important;overflow:hidden;}
.woocommerce-checkout form.checkout_coupon:not([style*="display: none"]):not([style*="display:none"]),.woocommerce-checkout form#woocommerce-checkout-form-coupon:not([style*="display: none"]):not([style*="display:none"]){margin-top:var(--w2i-checkout-gap) !important;}
.woocommerce-checkout form.checkout_coupon .clear{display:none !important;}
.woocommerce-checkout form.checkout_coupon:not([style*="display: none"]):not([style*="display:none"])::after{content:"";display:table;clear:both;}
.woocommerce-checkout form.checkout_coupon:not([style*="display: none"]):not([style*="display:none"]) .form-row-first{float:left;width:calc(100% - 148px) !important;margin:0 8px 0 0 !important;padding:0 !important;}
.woocommerce-checkout form.checkout_coupon:not([style*="display: none"]):not([style*="display:none"]) .form-row-last{float:left;width:140px !important;margin:0 !important;padding:0 !important;}
.woocommerce-checkout form.checkout_coupon:not([style*="display: none"]):not([style*="display:none"]) .input-text,.woocommerce-checkout form.checkout_coupon:not([style*="display: none"]):not([style*="display:none"]) button.button{width:100%;min-height:38px;height:38px;line-height:1.35 !important;padding:0 14px !important;box-sizing:border-box;margin:0 !important;}
.woocommerce-checkout form.checkout_coupon:not([style*="display: none"]):not([style*="display:none"]) button.button{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;}
.woocommerce-checkout .woocommerce-billing-fields,.woocommerce-checkout .woocommerce-shipping-fields,.woocommerce-checkout .woocommerce-additional-fields,.woocommerce-checkout #order_review,.woocommerce-checkout #payment,.woocommerce-checkout form.checkout_coupon{border-color:rgba(15,23,42,0.08) !important;box-shadow:0 2px 10px rgba(15,23,42,0.04);}
.woocommerce-checkout h3{font-size:15px;font-weight:700;margin:0 0 14px;color:var(--w2i-ink);}
.woocommerce-checkout .form-row label{font-size:13px;font-weight:600;line-height:1.4;}
.woocommerce-checkout .form-row .required{color:#DC2626;}
.woocommerce-checkout .woocommerce-info,.woocommerce-checkout .woocommerce-message,.woocommerce-checkout .woocommerce-error{border:1px solid rgba(15,23,42,0.08) !important;border-left:3px solid var(--w2i-primary) !important;background:var(--w2i-field) !important;padding:12px 16px;margin-bottom:16px;}
.woocommerce-checkout form.checkout_coupon .button{padding:0 14px !important;font-size:13px !important;border-radius:6px !important;line-height:1.35 !important;}
.woocommerce-checkout .input-text,.woocommerce-checkout select:not(.select2-hidden-accessible),.woocommerce-checkout textarea{background:var(--w2i-themed-input-bg,var(--w2i-surface)) !important;border:1px solid var(--w2i-themed-input-border,var(--w2i-border)) !important;border-radius:12px !important;color:var(--w2i-ink) !important;font-size:13px !important;}
.woocommerce-checkout .select2-container .select2-selection--single{background:var(--w2i-themed-input-bg,var(--w2i-surface)) !important;border:1px solid var(--w2i-themed-input-border,var(--w2i-border)) !important;border-radius:12px !important;color:var(--w2i-ink) !important;font-size:13px !important;}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered{color:var(--w2i-ink) !important;line-height:1.35;padding:9px 16px !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;}
.woocommerce-checkout .input-text:focus,.woocommerce-checkout select:focus,.woocommerce-checkout textarea:focus{border-color:var(--w2i-primary) !important;outline:none;box-shadow:var(--w2i-themed-input-focus-ring,none) !important;}
.woocommerce-checkout table.woocommerce-checkout-review-order-table{border:1px solid rgba(15,23,42,0.08);border-radius:calc(var(--w2i-radius) - 4px);overflow:hidden;border-collapse:collapse;box-shadow:none;font-size:13px;}
.woocommerce-checkout table.woocommerce-checkout-review-order-table th,.woocommerce-checkout table.woocommerce-checkout-review-order-table td{padding:10px 16px;vertical-align:middle !important;line-height:1.4;}
.woocommerce-checkout table.woocommerce-checkout-review-order-table thead th{background:var(--w2i-field);color:var(--w2i-ink);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:0.04em;border-bottom:1px solid rgba(15,23,42,0.06);}
.woocommerce-checkout table.woocommerce-checkout-review-order-table thead th.product-total{text-align:right;}
.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody td{background:var(--w2i-surface);border-color:rgba(15,23,42,0.06);font-size:13px;}
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name{line-height:1.45;}
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-total{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;}
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-total .amount,.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-total bdi{font-size:14px;font-weight:600;}
.woocommerce-checkout table.woocommerce-checkout-review-order-table dl.variation{margin:.35em 0 0;font-size:12px;line-height:1.45;color:var(--w2i-muted);}
.woocommerce-checkout table.woocommerce-checkout-review-order-table dl.variation dt{display:inline;font-weight:600;color:var(--w2i-ink);margin:0;padding:0;float:none;}
.woocommerce-checkout table.woocommerce-checkout-review-order-table dl.variation dd{display:inline;margin:0 0 0 2px;padding:0;float:none;}
.woocommerce-checkout table.woocommerce-checkout-review-order-table dl.variation dd::after{content:"\a";white-space:pre;}
.woocommerce-checkout table.woocommerce-checkout-review-order-table dl.variation dd p{margin:0;display:inline;}
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot th{text-align:left;background:transparent !important;border:none;border-top:1px solid rgba(15,23,42,0.06);font-weight:500;font-size:13px;vertical-align:middle !important;}
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td{text-align:right;background:transparent !important;border:none;border-top:1px solid rgba(15,23,42,0.06);font-weight:600;font-size:13px;font-variant-numeric:tabular-nums;vertical-align:middle !important;}
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td .amount,.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td bdi{font-size:13px;font-weight:600;}
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total th,.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total td{font-weight:700;font-size:14px;}
.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 bdi{font-size:14px;font-weight:700;}
.woocommerce-checkout .select2-container{width:100% !important;}
.woocommerce-checkout .select2-container--default,.woocommerce-checkout span.select2,.woocommerce-checkout .woocommerce-input-wrapper,.woocommerce-checkout #billing_country_field .woocommerce-input-wrapper,.woocommerce-checkout #shipping_country_field .woocommerce-input-wrapper,.woocommerce-checkout #billing_state_field .woocommerce-input-wrapper,.woocommerce-checkout #shipping_state_field .woocommerce-input-wrapper{border:0 !important;background:transparent !important;box-shadow:none !important;padding:0 !important;outline:none !important;}
.woocommerce-checkout .select2-container--default .select2-selection--single{border:1px solid var(--w2i-themed-input-border,var(--w2i-border)) !important;border-radius:12px !important;height:auto !important;min-height:0 !important;box-shadow:none !important;background:var(--w2i-themed-input-bg,var(--w2i-surface)) !important;padding:0 !important;}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{padding:9px 16px !important;line-height:1.35 !important;font-size:13px !important;color:var(--w2i-ink) !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{top:0;height:100%;}
.woocommerce-checkout select.select2-hidden-accessible{border:0 !important;padding:0 !important;margin:0 !important;background:transparent !important;box-shadow:none !important;}
.woocommerce-checkout #billing_country_field .select2-selection--single,.woocommerce-checkout #shipping_country_field .select2-selection--single,.woocommerce-checkout #billing_state_field .select2-selection--single,.woocommerce-checkout #shipping_state_field .select2-selection--single{border-color:var(--w2i-themed-input-border,var(--w2i-border)) !important;}
.woocommerce-checkout #billing_country_field .select2-selection__rendered,.woocommerce-checkout #shipping_country_field .select2-selection__rendered,.woocommerce-checkout #billing_state_field .select2-selection__rendered,.woocommerce-checkout #shipping_state_field .select2-selection__rendered{border:0 !important;background:transparent !important;box-shadow:none !important;}
.woocommerce-checkout .input-text,.woocommerce-checkout select:not(.select2-hidden-accessible),.woocommerce-checkout textarea{height:auto !important;padding:9px 16px !important;line-height:1.35 !important;}
.woocommerce-checkout .input-text:focus,.woocommerce-checkout select:focus,.woocommerce-checkout textarea:focus,.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single,.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single{border-color:var(--w2i-primary) !important;outline:none;box-shadow:var(--w2i-themed-input-focus-ring,none) !important;}

/* header cart widget */
.elementor-widget-woocommerce-menu-cart .elementor-widget-container{display:flex;justify-content:flex-end;}

/* ---------- chrome built from native widgets + helper classes ---------- */
.w2i-wordmark,.w2i-wordmark *{font-size:23px !important;font-weight:800 !important;color:var(--w2i-ink) !important;letter-spacing:-.02em;line-height:1.1 !important;}
.w2i-eyebrow,.w2i-eyebrow *{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--w2i-primary);}
.w2i-hero-title,.w2i-hero-title *{font-size:clamp(34px,5vw,54px) !important;line-height:1.08 !important;font-weight:800 !important;color:var(--w2i-ink) !important;letter-spacing:-.01em;}
.elementor-widget.w2i-customization-hidden,.e-con.w2i-home-cta.w2i-customization-hidden,.e-con.w2i-customization-hidden,.elementor-section.w2i-home-cta.w2i-customization-hidden,.elementor-section.w2i-customization-hidden{display:none !important;height:0 !important;margin:0 !important;padding:0 !important;overflow:hidden !important;min-height:0 !important;border:0 !important;}
.elementor-widget-heading .elementor-heading-title:empty{display:none !important;}
.elementor-widget-heading:has(.elementor-heading-title:empty){display:none !important;height:0 !important;margin:0 !important;padding:0 !important;overflow:hidden !important;min-height:0 !important;}
.w2i-dynamic-hero-bg.w2i-customization-hidden-bg{background-image:none !important;}
.w2i-hero-sub,.w2i-hero-sub *{font-size:clamp(16px,2.2vw,20px) !important;color:var(--w2i-muted) !important;max-width:620px;line-height:1.55 !important;}
.w2i-sec-title,.w2i-sec-title *{font-size:clamp(24px,3.2vw,32px) !important;font-weight:800 !important;color:var(--w2i-ink) !important;}
.w2i-sec-sub,.w2i-sec-sub *{color:var(--w2i-muted) !important;font-size:16px !important;max-width:560px;}
.w2i-feature-card{background:var(--w2i-surface);border:1px solid var(--w2i-border);border-radius:var(--w2i-radius);box-shadow:var(--w2i-shadow);height:100%;}
.w2i-foot-h,.w2i-foot-h *{font-size:13px !important;text-transform:uppercase;letter-spacing:.07em;color:var(--w2i-ink) !important;font-weight:700 !important;}
.w2i-foot-t,.w2i-foot-t *{color:var(--w2i-muted) !important;font-size:14px !important;line-height:1.9 !important;}
.w2i-card-text,.w2i-card-text *{color:var(--w2i-muted) !important;font-size:14.5px !important;line-height:1.6 !important;}

/* ---------- web2ink section widgets (design title/desc/size chart, tagline) ---------- */
/* readable base on any themed background (light or dark) — widget Style-tab colours still win */
.w2i-section,.w2i-section p,.w2i-section li,.w2i-section td,.w2i-section h1,.w2i-section h2,.w2i-section h3,.w2i-section h4,.w2i-section h5{color:var(--w2i-ink);}
/* store hero tagline (w2i_sw_store_tagline) — theme defaults; Elementor Style tab overrides */
.w2i-section-store-tagline .w2i-tagline-title,
.w2i-section-store-tagline .w2i-section-text{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--w2i-primary);}
/* theme eyebrow / tagline default spacing — Elementor widget Style → Margin overrides */
.w2i-eyebrow,.w2i-section-store-tagline .w2i-tagline-title,
.w2i-section-store-tagline .w2i-section-text{margin-bottom:6px;}
.w2i-hero-sub,.w2i-sec-sub{margin-left:auto;margin-right:auto;}
/* keep the header cart control legible on dark themes */
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle,.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle *{color:var(--w2i-ink) !important;}

@media(max-width:680px){
  .w2i-design-list{grid-template-columns:1fr 1fr;gap:14px;}
}
@media(max-width:440px){ .w2i-design-list{grid-template-columns:1fr;} }

/* ---------- Add-to-cart / alert modals (w2ipublic.alert → .w2i-messagebox) ---------- */
.w2i-messagebox{background-color:color-mix(in srgb,var(--w2i-ink,#0f172a) 28%,transparent) !important;backdrop-filter:blur(2px);}
.w2i-messagebox > div{
  max-width:400px;border:1px solid var(--w2i-border) !important;border-radius:var(--w2i-radius,16px) !important;
  background:var(--w2i-surface,#fff) !important;box-shadow:var(--w2i-shadow-h,var(--w2i-shadow)) !important;overflow:hidden;
}
.w2i-messagebox > div > header{
  margin:0;padding:12px 16px;background:var(--w2i-primary,#2563eb) !important;color:var(--w2i-on-primary,#fff) !important;
  font-size:15px;font-weight:600;line-height:1.4;
}
.w2i-messagebox > div > header > span.dashicons-dismiss{color:var(--w2i-on-primary,#fff) !important;opacity:.85;}
.w2i-messagebox > div > header > span.dashicons-dismiss:hover{opacity:1;}
.w2i-messagebox > div > div,.w2i-messagebox > div .w2i-boxcontent{
  padding:20px 18px 22px;color:var(--w2i-ink,#0f172a);font-size:15px;line-height:1.5;text-align:center;
}
.w2i-messagebox .w2i-cart-added-actions{
  display:flex;flex-direction:column;gap:10px;margin-top:16px;align-items:stretch;text-align:center;
}
.w2i-messagebox .w2i-cart-added-actions .button{
  display:inline-flex !important;align-items:center;justify-content:center;width:100%;margin:0 !important;
  min-height:44px;padding:0 20px !important;border-radius:999px !important;font-size:14px !important;
  font-weight:600 !important;text-decoration:none !important;box-sizing:border-box;
}
.w2i-messagebox .w2i-cart-added-actions .button-primary{
  background:var(--w2i-primary) !important;color:var(--w2i-on-primary,#fff) !important;border:0 !important;
}
.w2i-messagebox .w2i-cart-added-actions .button-primary:hover{filter:brightness(1.05);}
.w2i-messagebox .w2i-cart-added-actions .button-secondary,
.w2i-messagebox .w2i-cart-added-actions .closeme{
  background:var(--w2i-surface,#fff) !important;color:var(--w2i-ink) !important;border:1px solid var(--w2i-border) !important;
}
.w2i-messagebox .w2i-cart-added-actions .button-secondary:hover,
.w2i-messagebox .w2i-cart-added-actions .closeme:hover{
  background:var(--w2i-field) !important;
  border-color:color-mix(in srgb,var(--w2i-primary) 35%,var(--w2i-border)) !important;color:var(--w2i-primary) !important;
}
.w2i-messagebox > div.w2i-alert{
  border-color:color-mix(in srgb,#dc2626 35%,var(--w2i-border)) !important;
  background:color-mix(in srgb,#dc2626 6%,var(--w2i-surface)) !important;color:#b91c1c !important;
}
.w2i-messagebox > div.w2i-alert > header{background:#dc2626 !important;color:#fff !important;}
.w2i-messagebox > div.w2i-alert .w2i-boxcontent{color:#b91c1c !important;}

/* Theme-linked Elementor widgets — CSS fallbacks when colour controls use globals / are empty */
.elementor-section:has(.elementor-widget-w2i_sw_store_hero_title),
.elementor-section:has(.elementor-widget-w2i_sw_store_tagline),
.elementor-section:has(.elementor-widget-w2i_sw_store_welcome),
.elementor-section:has(.elementor-widget-w2i_store_button),
.e-con:has(.elementor-widget-w2i_sw_store_hero_title),
.e-con:has(.elementor-widget-w2i_sw_store_tagline),
.e-con:has(.elementor-widget-w2i_sw_store_welcome),
.e-con:has(.elementor-widget-w2i_store_button){
  background-color:var(--w2i-bg,#F7FBFE);
}
.elementor-widget-w2i_store_button .w2i-store-button.button-primary,
.elementor-widget-w2i_store_button .w2i-store-button:not(.button-secondary){
  background-color:var(--w2i-primary,var(--e-global-color-primary,#2563EB));
  border-color:var(--w2i-primary,var(--e-global-color-primary,#2563EB));
  color:var(--w2i-on-primary,#fff);
}
.elementor-widget-w2i_store_button .w2i-store-button.button-secondary{
  background-color:var(--w2i-surface,#fff) !important;
  border-color:var(--w2i-primary,var(--e-global-color-primary,#2563EB)) !important;
  color:var(--w2i-primary,var(--e-global-color-primary,#2563EB)) !important;
}
.elementor-widget-w2i_store_button .w2i-store-button.button-primary:hover,
.elementor-widget-w2i_store_button .w2i-store-button:not(.button-secondary):hover,
.elementor-widget-w2i_store_button .w2i-store-button.button-primary:focus,
.elementor-widget-w2i_store_button .w2i-store-button:not(.button-secondary):focus{
  background-color:var(--w2i-primary2,var(--e-global-color-accent,#00C2A8));
  border-color:var(--w2i-primary2,var(--e-global-color-accent,#00C2A8));
}
.elementor-widget-w2i_store_button .w2i-store-button.button-secondary:hover,
.elementor-widget-w2i_store_button .w2i-store-button.button-secondary:focus{
  background-color:var(--w2i-primary,var(--e-global-color-primary,#2563EB)) !important;
  color:var(--w2i-on-primary,#fff) !important;
}
.elementor-widget-w2i_sw_design_form .w2i-cart-button{
  background-color:var(--w2i-primary,var(--e-global-color-primary,#2563EB)) !important;
  border-color:var(--w2i-primary,var(--e-global-color-primary,#2563EB)) !important;
  color:var(--w2i-on-primary,#fff) !important;
}
.elementor-widget-w2i_sw_store_hero_title .w2i-section-text,
.elementor-widget-w2i_sw_store_hero_title .w2i-hero-title{
  color:var(--w2i-ink,var(--e-global-color-text,#1e293b));
}
.elementor-widget-w2i_sw_store_welcome .w2i-section-text{
  color:var(--w2i-muted,#64748b);
}
.elementor-widget-w2i_sw_store_tagline .w2i-section-text{
  color:var(--w2i-primary,var(--e-global-color-primary,#2563EB));
}
.elementor-widget-w2i_store_desc .w2i-store-description{
  color:var(--w2i-muted,#64748b);
}
