/* ==========================================================================
   LeaderSol — WooCommerce brand overrides. Loaded only on WC pages.
   Must share the same container edge as header/footer (.lstx-container = 1300px).
   ========================================================================== */

/* Vertical rhythm only — width/gutters come from .lstx-container on the wrapper.
   NEVER set max-width:100% here: body.woocommerce would override the container. */
.ls-woo{
	padding-top:40px;
	padding-bottom:64px;
	width:100%;
	box-sizing:border-box;
}
.ls-woo .woocommerce,
.ls-woo ul.products{
	max-width:100%;
	width:100%;
}

/* WC clearfix ::before/::after become grid cells and leave an empty first slot */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
.ls-woo ul.products::before,
.ls-woo ul.products::after{
	content:none!important;
	display:none!important;
}

/* headings */
.woocommerce h1,.woocommerce h2,.woocommerce .products h2{ font-family:'Sora',sans-serif; color:var(--ls-ink); font-weight:800; }

/* toolbar — result count + sorting */
.ls-woo .woocommerce-notices-wrapper{ margin-bottom:8px; }
.ls-woo .woocommerce-result-count{
	margin:0;
	font-family:'Sora',sans-serif;
	font-size:13.5px;
	font-weight:600;
	color:var(--ls-muted);
	letter-spacing:.01em;
}
.ls-woo .woocommerce-ordering{
	margin:0;
}
.ls-woo .woocommerce-ordering select,
.woocommerce .woocommerce-ordering select{
	appearance:none;
	-webkit-appearance:none;
	min-width:220px;
	height:44px;
	padding:0 42px 0 16px;
	border:1.5px solid #d7e8f0!important;
	border-radius:12px!important;
	background-color:#fff!important;
	background-image:
		linear-gradient(45deg, transparent 50%, #00ccf7 50%),
		linear-gradient(135deg, #00ccf7 50%, transparent 50%);
	background-position:
		calc(100% - 18px) calc(50% - 3px),
		calc(100% - 12px) calc(50% - 3px);
	background-size:6px 6px, 6px 6px;
	background-repeat:no-repeat;
	font-family:'Sora',sans-serif!important;
	font-size:13.5px!important;
	font-weight:600!important;
	color:var(--ls-ink)!important;
	box-shadow:0 8px 20px -16px rgba(0,120,150,.35);
	cursor:pointer;
	transition:border-color .2s, box-shadow .2s;
}
.ls-woo .woocommerce-ordering select:hover,
.ls-woo .woocommerce-ordering select:focus,
.woocommerce .woocommerce-ordering select:hover,
.woocommerce .woocommerce-ordering select:focus{
	border-color:#00ccf7!important;
	box-shadow:0 10px 24px -14px rgba(0,204,247,.55);
	outline:none;
}
.ls-woo .page-title{ margin:0 0 20px; font-size:28px; }

/* WC places result-count + ordering as siblings — align as a toolbar (SHOP ONLY) */
.ls-woo:not(.ls-woo--cart):not(.ls-woo--checkout) .woocommerce > .woocommerce-result-count,
.ls-woo:not(.ls-woo--cart):not(.ls-woo--checkout) .woocommerce > .woocommerce-ordering{
	display:inline-block;
	vertical-align:middle;
}
.ls-woo:not(.ls-woo--cart):not(.ls-woo--checkout) .woocommerce > .woocommerce-result-count{ float:left; line-height:44px; margin-bottom:28px; }
.ls-woo:not(.ls-woo--cart):not(.ls-woo--checkout) .woocommerce > .woocommerce-ordering{ float:right; margin-bottom:28px; }
.ls-woo:not(.ls-woo--cart):not(.ls-woo--checkout) .woocommerce > ul.products{ clear:both; }

@supports (display:flex){
	.ls-woo:not(.ls-woo--cart):not(.ls-woo--checkout) .woocommerce{
		display:flex;
		flex-wrap:wrap;
		align-items:center;
		column-gap:20px;
		row-gap:0;
	}
	.ls-woo:not(.ls-woo--cart):not(.ls-woo--checkout) .woocommerce > .woocommerce-notices-wrapper{ width:100%; flex:0 0 100%; margin:0 0 8px; }
	.ls-woo:not(.ls-woo--cart):not(.ls-woo--checkout) .woocommerce > .woocommerce-result-count{
		float:none; margin:0; flex:1 1 auto; line-height:44px;
	}
	.ls-woo:not(.ls-woo--cart):not(.ls-woo--checkout) .woocommerce > .woocommerce-ordering{
		float:none; margin:0 0 28px; align-self:flex-start;
	}
	.ls-woo:not(.ls-woo--cart):not(.ls-woo--checkout) .woocommerce > .woocommerce-result-count{
		margin:0 0 28px;
	}
	.ls-woo:not(.ls-woo--cart):not(.ls-woo--checkout) .woocommerce > ul.products{
		flex:0 0 100%; width:100%; clear:none; margin-top:4px!important;
	}
	.ls-woo:not(.ls-woo--cart):not(.ls-woo--checkout) .woocommerce > .woocommerce-pagination{ flex:0 0 100%; width:100%; margin-top:28px; }
}

/* buttons → brand cyan (shop, classic cart/checkout CTAs) */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,
.woocommerce .widget_price_filter .price_slider_amount .button,
.woocommerce #place_order,
.woocommerce button.woocommerce-button,
.woocommerce .checkout-button{
	background:var(--ls-cyan)!important; color:#fff!important; border:none!important; border-radius:10px!important;
	font-family:'Sora',sans-serif!important; font-weight:700!important; padding:.7em 1.4em!important;
	box-shadow:0 14px 28px -12px rgba(0,204,247,.6); transition:transform .18s,box-shadow .18s; text-shadow:none!important;
}
.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 #place_order:hover,.woocommerce .checkout-button:hover{
	background:#00b8e0!important; transform:translateY(-2px); box-shadow:0 20px 34px -12px rgba(0,204,247,.7); color:#fff!important;
}

/* product grid cards */
.woocommerce ul.products{ margin:0!important; padding:0!important; display:grid!important;
	grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; list-style:none; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
	float:none!important; width:auto!important; margin:0!important;
	display:flex!important; flex-direction:column;
	background:#fff; border:1px solid var(--ls-line); border-radius:18px; padding:14px!important;
	transition:transform .22s,box-shadow .22s,border-color .22s;
	box-shadow:0 12px 28px -24px rgba(0,90,120,.28);
}
.woocommerce ul.products li.product:hover{ transform:translateY(-6px); border-color:rgba(0,204,247,.45); box-shadow:0 28px 54px -30px rgba(0,120,150,.45); }
.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
.woocommerce ul.products li.product > a:first-child{
	display:block; text-decoration:none;
}
.woocommerce ul.products li.product a img{
	border-radius:14px; margin:0 0 16px; width:100%; height:auto;
	aspect-ratio:1/1; object-fit:cover; background:linear-gradient(145deg,#e8f9fd,#fff8d6);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
	font-family:'Sora',sans-serif; font-size:16px; font-weight:700; color:var(--ls-ink); padding:0; margin:0 0 8px; line-height:1.35;
}
.woocommerce ul.products li.product .price{
	color:var(--ls-ink); font-weight:700; font-family:'Sora',sans-serif; font-size:15.5px; margin:0 0 4px;
}
.woocommerce div.product p.price,.woocommerce div.product span.price,
.woocommerce ul.products li.product .price ins{ color:var(--ls-cyan)!important; text-decoration:none; }
.woocommerce ul.products li.product .price del{ opacity:.5; margin-right:6px; }
.woocommerce .star-rating span::before,.woocommerce p.stars a::before{ color:var(--ls-gold); }

/* sale flash */
.woocommerce span.onsale{
	background:var(--ls-gold)!important; color:var(--ls-ink)!important;
	border-radius:999px; font-family:'Sora',sans-serif; font-weight:800;
	min-height:auto; min-width:auto; line-height:1; padding:8px 12px;
	top:22px; left:auto; right:22px; box-shadow:0 10px 20px -10px rgba(253,208,0,.8);
}

/* single product */
.woocommerce div.product .product_title{ font-size:30px; letter-spacing:-.02em; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ border-bottom-color:#fff; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ font-family:'Sora',sans-serif; }

/* notices → brand */
.woocommerce-message,.woocommerce-info{ border-top-color:var(--ls-cyan)!important; }
.woocommerce-message::before,.woocommerce-info::before{ color:var(--ls-cyan)!important; }

/* forms (cart/checkout/account) reuse theme field look */
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce .select2-container .select2-selection{ border:1.5px solid #e4ebf1!important; border-radius:10px!important; background:#f8fbfd!important; }

/* my-account nav */
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; }
.woocommerce-account .woocommerce-MyAccount-navigation li{ margin:0 0 6px; }
.woocommerce-account .woocommerce-MyAccount-navigation li a{ display:block; padding:11px 14px; border-radius:10px; font-family:'Sora',sans-serif; font-weight:600; color:var(--ls-ink); text-decoration:none; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{ background:var(--ls-cyan); color:#fff; }

/* Product card CTA — full-width button; hide WC's inline "View cart" (drawer handles it) */
.woocommerce ul.products li.product .button{
	display:flex!important; width:100%; justify-content:center; align-items:center;
	margin-top:auto!important; margin-bottom:0!important; padding-top:.85em!important; padding-bottom:.85em!important;
}
.woocommerce ul.products li.product a.added_to_cart{ display:none!important; }
.woocommerce a.button.ls-added,
.woocommerce a.button.added{ opacity:.92; }

@media (max-width:1100px){
	.woocommerce ul.products{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:768px){
	.woocommerce ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
	.ls-woo{ padding-top:28px; padding-bottom:48px; }
}
@media (max-width:480px){
	.woocommerce ul.products{ grid-template-columns:1fr; }
}

/* ==========================================================================
   Mini-cart drawer (slides in from the right on add-to-cart)
   ========================================================================== */
html.ls-minicart-open{ overflow:hidden; }

.ls-minicart{
	position:fixed; inset:0; z-index:99980; pointer-events:none;
}
.ls-minicart.is-open{ pointer-events:auto; }

.ls-minicart__backdrop{
	position:absolute; inset:0; border:0; padding:0; cursor:pointer;
	background:rgba(11,22,48,.42); opacity:0;
	transition:opacity .28s ease;
}
.ls-minicart.is-open .ls-minicart__backdrop{ opacity:1; }

.ls-minicart__drawer{
	position:absolute; top:0; right:0; height:100%; width:min(380px,92vw);
	background:#fff; box-shadow:-18px 0 48px rgba(0,40,60,.18);
	display:flex; flex-direction:column;
	transform:translateX(105%);
	transition:transform .32s cubic-bezier(.22,.61,.36,1);
}
.ls-minicart.is-open .ls-minicart__drawer{ transform:translateX(0); }

.ls-minicart__head{
	display:flex; align-items:center; justify-content:space-between; gap:12px;
	padding:18px 18px 16px; border-bottom:1px solid var(--ls-line); flex-shrink:0;
}
.ls-minicart__title-wrap{ display:flex; align-items:center; gap:12px; min-width:0; }
.ls-minicart__icon{
	width:42px; height:42px; border-radius:12px; flex-shrink:0;
	display:grid; place-items:center; background:rgba(0,204,247,.12); color:var(--ls-cyan); font-size:18px;
}
.ls-minicart__title{
	margin:0; font-family:'Sora',sans-serif; font-weight:800; font-size:18px; color:var(--ls-ink); line-height:1.2;
}
.ls-minicart__count{ display:block; font-size:12.5px; color:var(--ls-muted); font-weight:600; margin-top:2px; }
.ls-minicart__close{
	width:36px; height:36px; border:0; border-radius:10px; background:#f2f6f9; color:var(--ls-ink);
	font-size:22px; line-height:1; cursor:pointer; flex-shrink:0;
}
.ls-minicart__close:hover{ background:#e6eef3; }

.ls-minicart__panel{ flex:1; min-height:0; overflow:auto; display:flex; flex-direction:column; }
.ls-minicart__body{ display:flex; flex-direction:column; flex:1; min-height:0; }

.ls-minicart__empty{
	flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
	text-align:center; padding:40px 24px; color:var(--ls-muted);
}
.ls-minicart__empty-ic{
	width:64px; height:64px; border-radius:18px; margin-bottom:14px;
	display:grid; place-items:center; background:#f2fafd; color:var(--ls-cyan); font-size:26px;
}
.ls-minicart__empty p{ margin:0 0 16px; font-weight:600; }
.ls-minicart__shop{ color:var(--ls-cyan); font-weight:700; text-decoration:none; }
.ls-minicart__shop:hover{ color:var(--ls-cyan); text-decoration:none; }

.ls-minicart__list{ list-style:none; margin:0; padding:8px 0; flex:1; }
.ls-minicart__item{
	display:grid; grid-template-columns:64px 1fr 28px; gap:12px; align-items:center;
	padding:14px 18px; border-bottom:1px solid #eef2f6;
}
.ls-minicart__media{ display:block; border-radius:10px; overflow:hidden; background:#f4f7fa; line-height:0; }
.ls-minicart__thumb,
.ls-minicart__media img{ width:64px; height:64px; object-fit:cover; display:block; }
.ls-minicart__name{
	display:block; font-family:'Sora',sans-serif; font-weight:700; font-size:14px;
	color:var(--ls-ink); text-decoration:none; line-height:1.35; margin-bottom:4px;
}
.ls-minicart__name:hover{ color:var(--ls-cyan); }
.ls-minicart__badge{
	display:inline-block;
	margin:4px 0 2px;
	padding:2px 8px;
	border-radius:999px;
	font-size:10px;
	font-weight:800;
	letter-spacing:.02em;
	color:#0b1630;
	background:rgba(0,204,247,.18);
}
.ls-minicart__item--site .ls-minicart__media{
	border:1px solid #e8eef5;
	box-shadow:0 4px 12px rgba(11,22,48,.06);
}
.ls-minicart__item--site .ls-minicart__thumb,
.ls-minicart__item--site .ls-minicart__media img{
	width:72px;
	height:54px;
	object-fit:cover;
}
.ls-minicart__remove{
	width:28px; height:28px; border-radius:8px; display:grid; place-items:center;
	color:#8a94a6; text-decoration:none; font-size:20px; line-height:1;
}
.ls-minicart__remove:hover{ background:#fff0f0; color:#b4232a; }

.ls-minicart__footer{
	margin-top:auto; padding:16px 18px 20px; border-top:1px solid var(--ls-line);
	background:#fafcfe; display:flex; flex-direction:column; gap:10px; flex-shrink:0;
}
.ls-minicart__sub{
	display:flex; justify-content:space-between; align-items:center;
	font-size:14.5px; color:var(--ls-muted); font-weight:600; margin-bottom:4px;
}
.ls-minicart__sub strong{ font-family:'Sora',sans-serif; font-size:18px; color:var(--ls-ink); }
.ls-minicart__btn{
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	height:46px; border-radius:10px; font-family:'Sora',sans-serif; font-weight:700;
	font-size:14.5px; text-decoration:none!important; transition:transform .18s, box-shadow .18s;
}
.ls-minicart__btn--cart{
	background:#fff; color:var(--ls-ink); border:1.5px solid var(--ls-line);
}
.ls-minicart__btn--cart:hover{ border-color:var(--ls-cyan); color:var(--ls-cyan); }
.ls-minicart__btn--checkout{
	background:var(--ls-cyan); color:#fff!important;
	box-shadow:0 12px 24px -12px rgba(0,204,247,.65);
}
.ls-minicart__btn--checkout:hover{ transform:translateY(-1px); color:#fff!important; }

/* Floating cart FAB */
.ls-minicart-fab{
	position:fixed; right:22px; bottom:22px; z-index:99970;
	width:56px; height:56px; border-radius:50%; border:0; cursor:pointer;
	background:var(--ls-cyan); color:#fff; font-size:20px;
	box-shadow:0 14px 32px -10px rgba(0,180,220,.7);
	display:grid; place-items:center;
	opacity:0; visibility:hidden; transform:translateY(12px) scale(.92);
	transition:opacity .22s, transform .22s, visibility .22s;
}
.ls-minicart-fab.is-visible{ opacity:1; visibility:visible; transform:none; }
.ls-minicart-fab:hover{ transform:translateY(-2px); }
.ls-minicart-fab__badge{
	position:absolute; top:-2px; right:-2px; min-width:22px; height:22px; padding:0 6px;
	border-radius:20px; background:var(--ls-gold); color:var(--ls-ink);
	font-family:'Sora',sans-serif; font-weight:800; font-size:11px;
	display:grid; place-items:center; line-height:1; border:2px solid #fff;
}
@media (max-width:480px){
	.ls-minicart__drawer{ width:100vw; }
	.ls-minicart-fab{ right:16px; bottom:16px; }
}

/* ==========================================================================
   Premium Cart + Checkout (classic shortcodes) — corporate LeaderSol look
   ========================================================================== */
.ls-woo--cart,
.ls-woo--checkout{
	padding-top:28px;
	padding-bottom:72px;
}

/* Kill WC block narrow rails if any leftover markup is present */
.ls-woo .wp-block-woocommerce-cart,
.ls-woo .wp-block-woocommerce-checkout,
.ls-woo .wc-block-cart,
.ls-woo .wc-block-checkout,
.ls-woo .alignwide{
	max-width:100%!important;
	margin-left:0!important;
	margin-right:0!important;
}

/* -------- CART LAYOUT -------- */
.ls-woo.ls-woo--cart .woocommerce,
body.woocommerce-cart .ls-woo--cart .woocommerce{
	display:grid!important;
	grid-template-columns:minmax(0,1.65fr) minmax(280px,.78fr);
	gap:28px;
	align-items:start;
	float:none!important;
}
.ls-woo.ls-woo--cart .woocommerce::before,
.ls-woo.ls-woo--cart .woocommerce::after{
	content:none!important;
	display:none!important;
}
.ls-woo--cart .woocommerce-cart-form{
	background:#fff;
	border:1px solid var(--ls-line);
	border-radius:20px;
	padding:8px 8px 18px;
	box-shadow:0 24px 50px -40px rgba(0,80,110,.35);
	grid-column:1;
	grid-row:2;
	float:none!important;
	width:100%!important;
	max-width:none!important;
	margin:0!important;
}
.ls-woo--cart .cart-collaterals{
	grid-column:2;
	grid-row:2;
	float:none!important;
	width:100%!important;
	max-width:none!important;
	margin:0!important;
	padding:0!important;
}
.ls-woo--cart .cart-collaterals .cart_totals,
.ls-woo--cart .cart-collaterals .cross-sells{
	float:none!important;
	width:100%!important;
	max-width:none!important;
}
.ls-woo--cart .woocommerce-notices-wrapper{
	grid-column:1 / -1;
	grid-row:1;
	margin:0;
}

.woocommerce table.shop_table{
	border:0!important;
	border-radius:0;
	margin:0!important;
	width:100%;
	border-collapse:separate;
	border-spacing:0;
}
.woocommerce table.shop_table thead th{
	font-family:'Sora',sans-serif;
	font-size:11.5px;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--ls-muted);
	background:#f7fbfd;
	padding:16px 18px!important;
	border:0!important;
	border-bottom:1px solid var(--ls-line)!important;
}
.woocommerce table.shop_table td{
	padding:22px 18px!important;
	border:0!important;
	border-bottom:1px solid #eef3f7!important;
	vertical-align:middle;
	background:transparent;
}
.woocommerce table.shop_table tr:last-child td{ border-bottom:0!important; }
.woocommerce table.shop_table .product-remove{ width:44px; }
.woocommerce table.shop_table .product-remove a{
	display:grid; place-items:center; width:32px; height:32px;
	border-radius:9px; background:#fff5f5; color:#c0392b!important;
	font-size:18px; text-decoration:none!important; border:0!important;
}
.woocommerce table.shop_table .product-remove a:hover{ background:#ffe0e0; }
.woocommerce table.shop_table .product-thumbnail{ width:88px; }
.woocommerce table.shop_table .product-thumbnail img{
	width:72px; height:72px; object-fit:cover; border-radius:14px;
	border:1px solid var(--ls-line); background:#f4f8fb;
}
.woocommerce table.shop_table .product-name a{
	font-family:'Sora',sans-serif; font-weight:700; font-size:16px;
	color:var(--ls-ink); text-decoration:none;
}
.woocommerce table.shop_table .product-name a:hover{ color:var(--ls-cyan); }
.woocommerce table.shop_table .product-name .variation{
	margin:8px 0 0; font-size:13px; color:var(--ls-muted);
}
.woocommerce table.shop_table .product-price,
.woocommerce table.shop_table .product-subtotal{
	font-family:'Sora',sans-serif; font-weight:700; color:var(--ls-ink); white-space:nowrap;
}
.woocommerce table.shop_table .product-price del,
.woocommerce table.shop_table .product-subtotal del{ opacity:.55; font-weight:600; }
.woocommerce table.shop_table .product-price ins,
.woocommerce table.shop_table .product-subtotal ins{
	background:none; color:var(--ls-cyan); text-decoration:none;
}

/* qty control */
.woocommerce .quantity{
	display:inline-flex; align-items:center; border:1.5px solid #e2ebf2;
	border-radius:10px; overflow:hidden; background:#fff; height:42px;
}
.woocommerce .quantity .qty{
	width:52px!important; height:42px!important; border:0!important; border-radius:0!important;
	text-align:center; font-family:'Sora',sans-serif; font-weight:700; font-size:14px;
	background:#fff!important; box-shadow:none!important; padding:0!important; margin:0!important;
	-moz-appearance:textfield;
}
.woocommerce .quantity .qty::-webkit-outer-spin-button,
.woocommerce .quantity .qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

.woocommerce-cart-form .actions{
	display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
	gap:14px; padding:18px 18px 6px; margin:0;
}
.woocommerce-cart-form .coupon{
	display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:0!important;
}
.woocommerce-cart-form .coupon label{ display:none; }
.woocommerce-cart-form .coupon .input-text{
	height:46px!important; min-width:200px; border:1.5px solid #e2ebf2!important;
	border-radius:10px!important; background:#f8fbfd!important; padding:0 14px!important;
	font-family:'Quicksand',sans-serif; font-size:14.5px;
}
.woocommerce-cart-form .coupon .button,
.woocommerce-cart-form .actions > .button{
	height:46px!important; padding:0 20px!important; margin:0!important;
}
.woocommerce-cart-form .actions > .button[name="update_cart"]{
	background:#fff!important; color:var(--ls-ink)!important;
	border:1.5px solid var(--ls-line)!important; box-shadow:none!important;
}
.woocommerce-cart-form .actions > .button[name="update_cart"]:hover{
	border-color:var(--ls-cyan)!important; color:var(--ls-cyan)!important; transform:none;
}

/* Cart totals card */
.cart-collaterals .cart_totals{
	background:linear-gradient(165deg,#ffffff 0%,#f3fbfe 55%,#fffceb 100%);
	border:1.5px solid rgba(0,204,247,.35);
	border-radius:20px;
	padding:26px 24px 24px;
	box-shadow:0 28px 60px -42px rgba(0,204,247,.45);
	position:sticky; top:100px;
}
.cart-collaterals .cart_totals > h2{
	font-family:'Sora',sans-serif; font-weight:800; font-size:20px;
	margin:0 0 6px; color:var(--ls-ink); letter-spacing:-.01em;
}
.cart-collaterals .cart_totals > h2::after{
	content:"";
	display:block; width:48px; height:4px; border-radius:4px; margin:10px 0 14px;
	background:linear-gradient(90deg,var(--ls-cyan) 0 55%,var(--ls-gold) 55% 100%);
}
.cart-collaterals .cart_totals table{
	border:0!important; margin:0 0 18px!important;
}
.cart-collaterals .cart_totals th,
.cart-collaterals .cart_totals td{
	border:0!important; border-bottom:1px solid #e8f0f5!important;
	padding:14px 0!important; background:transparent!important;
	font-size:14.5px;
}
.cart-collaterals .cart_totals th{
	font-weight:600; color:var(--ls-muted); text-align:left;
}
.cart-collaterals .cart_totals td{ text-align:right; font-weight:700; color:var(--ls-ink); }
.cart-collaterals .cart_totals .order-total th,
.cart-collaterals .cart_totals .order-total td{
	border-bottom:0!important; padding-top:18px!important;
	font-family:'Sora',sans-serif; font-size:17px; color:var(--ls-ink);
}
.cart-collaterals .cart_totals .order-total td,
.cart-collaterals .cart_totals .order-total .amount,
.cart-collaterals .cart_totals .order-total strong,
.cart-collaterals .cart_totals .order-total strong .amount{
	color:var(--ls-cyan)!important;
	font-size:24px!important;
	font-weight:800!important;
}
.woocommerce .wc-proceed-to-checkout{ padding:0!important; }
.woocommerce .wc-proceed-to-checkout .checkout-button{
	display:flex!important; width:100%; justify-content:center; align-items:center;
	height:52px!important; font-size:15.5px!important; border-radius:12px!important;
	background:var(--ls-gold)!important; color:var(--ls-ink)!important;
	box-shadow:0 14px 28px -12px rgba(253,208,0,.55)!important;
}
.woocommerce .wc-proceed-to-checkout .checkout-button:hover{
	background:#ffe14d!important; color:var(--ls-ink)!important; transform:translateY(-2px);
}

.woocommerce-cart .cart-empty{
	text-align:center; padding:48px 24px; background:#fff; border:1px dashed #bfe4ef;
	border-radius:18px; font-size:16px; color:var(--ls-muted);
}
.woocommerce-cart .return-to-shop{ text-align:center; margin-top:18px; }

/* -------- CHECKOUT LAYOUT -------- */
.ls-woo--checkout .woocommerce{
	display:block;
}
.woocommerce-checkout form.checkout{
	display:grid!important;
	grid-template-columns:minmax(0,1.25fr) minmax(320px,.9fr);
	gap:28px 32px;
	align-items:start;
}
.woocommerce-checkout #customer_details{
	grid-column:1;
	grid-row:1;
	width:100%!important;
	float:none!important;
}
.woocommerce-checkout #customer_details.col2-set,
.woocommerce-checkout .col2-set{
	display:block!important;
	width:100%!important;
	float:none!important;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2,
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{
	float:none!important; width:100%!important; max-width:none!important;
}
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields{
	background:#fff;
	border:1px solid var(--ls-line);
	border-radius:20px;
	padding:28px 26px;
	box-shadow:0 24px 50px -40px rgba(0,80,110,.32);
}
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields{
	margin-top:20px;
}
/* Empty shipping / notes shells left an orphan “blank box” under billing */
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper:empty,
.woocommerce-checkout #customer_details .col-2:not(:has(.form-row)),
.woocommerce-checkout .woocommerce-account-fields:empty{
	display:none!important;
	margin:0!important; padding:0!important; border:0!important;
	height:0!important; overflow:hidden!important; box-shadow:none!important;
}
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3{
	font-family:'Sora',sans-serif; font-weight:800; font-size:20px;
	color:var(--ls-ink); margin:0 0 20px; letter-spacing:-.01em;
}
.woocommerce-checkout #order_review_heading{
	display:none;
}
.woocommerce-checkout #order_review{
	grid-column:2;
	grid-row:1;
	align-self:start;
	background:linear-gradient(165deg,#ffffff 0%,#f3fbfe 55%,#fffceb 100%);
	border:1.5px solid rgba(0,204,247,.35);
	border-radius:20px;
	padding:26px 22px 22px;
	box-shadow:0 28px 60px -42px rgba(0,204,247,.45);
	position:sticky; top:100px;
}
.woocommerce-checkout #order_review::before{
	content:"Order summary";
	display:block;
	font-family:'Sora',sans-serif;
	font-weight:800;
	font-size:20px;
	color:var(--ls-ink);
	margin:0 0 18px;
	padding:0 0 14px;
	letter-spacing:-.01em;
	/* Short brand bar directly under the heading */
	background-image:linear-gradient(90deg,var(--ls-cyan) 0 55%,var(--ls-gold) 55% 100%);
	background-size:48px 4px;
	background-position:left bottom;
	background-repeat:no-repeat;
}
.woocommerce-checkout #order_review::after{
	content:none;
	display:none;
}

.woocommerce form .form-row{
	margin:0 0 16px; padding:0;
}
/* Order review sticky card (padding-top leaves room for sticky heading) */
.woocommerce form .form-row label{
	font-family:'Sora',sans-serif; font-weight:600; font-size:13px;
	color:var(--ls-ink); margin-bottom:7px; display:block;
}
.woocommerce form .form-row .required{ color:var(--ls-cyan); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single{
	height:48px!important; border:1.5px solid #e2ebf2!important;
	border-radius:11px!important; background:#f8fbfd!important;
	padding:0 14px!important; font-family:'Quicksand',sans-serif!important;
	font-size:15px!important; color:var(--ls-ink)!important;
	box-shadow:none!important; transition:border-color .18s, box-shadow .18s, background .18s;
	line-height:normal!important;
	box-sizing:border-box!important;
}
.woocommerce form .form-row select{
	padding:0 40px 0 14px!important;
	appearance:none; -webkit-appearance:none;
	background-image:
		linear-gradient(45deg, transparent 50%, #00ccf7 50%),
		linear-gradient(135deg, #00ccf7 50%, transparent 50%)!important;
	background-position:
		calc(100% - 18px) calc(50% - 3px),
		calc(100% - 12px) calc(50% - 3px)!important;
	background-size:6px 6px, 6px 6px!important;
	background-repeat:no-repeat!important;
}
.woocommerce form .form-row textarea{
	height:auto!important; min-height:110px; padding:12px 14px!important;
}
/* Select2 — equal vertical centering (Country / State) */
.woocommerce .select2-container{ width:100%!important; }
.woocommerce .select2-container .select2-selection--single{
	display:flex!important; align-items:center!important;
	padding:0 40px 0 14px!important;
}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered{
	line-height:1.25!important; padding:0!important; margin:0!important;
	display:block; width:100%;
	color:var(--ls-ink)!important;
}
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow{
	height:100%!important; top:0!important; right:10px!important; width:24px!important;
	display:flex!important; align-items:center!important; justify-content:center;
}
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow b{
	margin:0!important; position:static!important;
	border-color:#00ccf7 transparent transparent transparent!important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce .select2-container--open .select2-selection--single,
.woocommerce .select2-container--focus .select2-selection--single{
	border-color:var(--ls-gold)!important;
	box-shadow:0 0 0 4px rgba(253,208,0,.28)!important;
	background:#fff!important; outline:none!important;
}
/* Kill default black browser / WC focus ring — use brand gold */
.ls-woo input:focus,
.ls-woo textarea:focus,
.ls-woo select:focus,
.ls-woo button:focus,
.ls-woo a:focus,
.ls-woo .select2-selection:focus,
.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout input:focus-visible,
.woocommerce-checkout textarea:focus-visible,
.woocommerce-checkout select:focus-visible,
.woocommerce-checkout .select2-selection:focus{
	outline:none!important;
	outline-offset:0!important;
}
.ls-woo input:focus-visible,
.ls-woo textarea:focus-visible,
.ls-woo select:focus-visible,
.woocommerce-checkout .form-row input:focus-visible,
.woocommerce-checkout .form-row select:focus-visible,
.woocommerce-checkout .form-row textarea:focus-visible{
	border-color:var(--ls-gold)!important;
	box-shadow:0 0 0 4px rgba(253,208,0,.28)!important;
}
.woocommerce form .form-row-first,
.woocommerce form .form-row-last{
	float:left;
	clear:none!important;
	width:calc(50% - 8px)!important;
}
.woocommerce form .form-row-last{
	float:right;
}
.woocommerce form .form-row-wide{ width:100%!important; clear:both; float:none; }

/* Billing field grid — pairs sit side-by-side reliably */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:4px 16px;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row{
	float:none!important;
	width:auto!important;
	max-width:none!important;
	margin:0 0 14px;
	grid-column:auto;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-first{
	grid-column:1;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-last{
	grid-column:2;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-wide{
	grid-column:1 / -1;
}

/* Hide order notes / additional fields block completely */
.woocommerce-checkout .woocommerce-additional-fields{
	display:none!important;
}

.woocommerce-checkout #order_review table.shop_table{
	margin:0 0 18px!important;
}
.woocommerce-checkout #order_review table.shop_table thead{ display:none; }
.woocommerce-checkout #order_review table.shop_table td,
.woocommerce-checkout #order_review table.shop_table th{
	padding:12px 0!important; border-bottom:1px solid #e8f0f5!important;
	font-size:14.5px; background:transparent!important;
}
.woocommerce-checkout #order_review table.shop_table .product-total .amount,
.woocommerce-checkout #order_review table.shop_table .cart-subtotal .amount{
	color:var(--ls-ink);
	font-weight:700;
}
.woocommerce-checkout #order_review table.shop_table tfoot .order-total th,
.woocommerce-checkout #order_review table.shop_table tfoot .order-total td{
	border-bottom:0!important;
	padding-top:18px!important;
	font-family:'Sora',sans-serif;
	font-size:16px;
	border-top:1.5px solid rgba(253,208,0,.55)!important;
}
.woocommerce-checkout #order_review table.shop_table tfoot .order-total th{
	color:var(--ls-ink);
	font-weight:800;
}
.woocommerce-checkout #order_review table.shop_table tfoot .order-total .amount,
.woocommerce-checkout #order_review table.shop_table tfoot .order-total strong,
.woocommerce-checkout #order_review table.shop_table tfoot .order-total strong .amount{
	color:var(--ls-cyan)!important;
	font-size:26px!important;
	font-weight:800!important;
}

/* Payment box */
.woocommerce-checkout #payment{
	background:#fff!important;
	border:1px solid var(--ls-line)!important;
	border-radius:16px!important;
	padding:6px 0 0!important;
	margin:0!important;
}
.woocommerce-checkout #payment ul.payment_methods{
	border:0!important; padding:8px 16px!important; margin:0!important;
	background:transparent!important;
}
.woocommerce-checkout #payment ul.payment_methods li{
	padding:14px 4px!important; border-bottom:1px solid #eef3f7;
	line-height:1.45; border-radius:10px; transition:background .18s, box-shadow .18s;
}
.woocommerce-checkout #payment ul.payment_methods li:last-child{ border-bottom:0; }
.woocommerce-checkout #payment ul.payment_methods li label{
	font-family:'Sora',sans-serif; font-weight:700; font-size:14.5px; color:var(--ls-ink);
}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]{
	accent-color:var(--ls-gold);
	outline:none!important;
}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]:focus,
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]:focus-visible{
	outline:2px solid var(--ls-gold)!important;
	outline-offset:2px;
	box-shadow:0 0 0 4px rgba(253,208,0,.28);
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input[type="radio"]:checked + label,
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]:checked + label{
	color:var(--ls-ink);
}
.woocommerce-checkout #payment .payment_box{
	background:linear-gradient(135deg,rgba(253,208,0,.12),rgba(0,204,247,.08))!important;
	border-radius:12px; padding:12px 14px!important;
	color:var(--ls-muted); font-size:13.5px; margin:10px 0 0!important;
	border:1px solid rgba(253,208,0,.45);
}
.woocommerce-checkout #payment .payment_box::before{ display:none!important; }
.woocommerce-checkout #payment div.form-row{
	padding:16px!important; margin:0!important; border-top:1px solid var(--ls-line);
}
.woocommerce-checkout #payment #place_order{
	width:100%; height:52px!important; font-size:15.5px!important;
	border-radius:12px!important; margin-top:4px;
	background:var(--ls-gold)!important; color:var(--ls-ink)!important;
	box-shadow:0 14px 28px -12px rgba(253,208,0,.55)!important;
}
.woocommerce-checkout #payment #place_order:hover{
	background:#ffe14d!important; color:var(--ls-ink)!important;
}
.woocommerce-privacy-policy-text{
	font-size:12.5px; color:var(--ls-muted); line-height:1.55; margin:0 0 12px;
}
.woocommerce-privacy-policy-text a{ color:var(--ls-cyan); }

/* Trust strip under checkout */
.ls-woo--checkout .woocommerce::after{
	content:"Secure checkout · Transparent pricing · Support within 1 business day";
	display:block; grid-column:1 / -1; text-align:center;
	margin-top:28px; font-size:13.5px; font-weight:600; color:#7a8796;
	letter-spacing:.01em;
}

/* Thank-you */
.woocommerce-order{ max-width:820px; margin:0 auto; }
.woocommerce-order .woocommerce-thankyou-order-received{
	font-family:'Sora',sans-serif; font-weight:800; font-size:24px; color:var(--ls-ink);
	background:#f2fafd; border:1px solid #d7eaf3; border-radius:16px; padding:22px 24px;
}
.woocommerce-order-overview{
	display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
	list-style:none; margin:22px 0; padding:0;
}
.woocommerce-order-overview li{
	background:#fff; border:1px solid var(--ls-line); border-radius:14px; padding:16px;
	font-size:13px; color:var(--ls-muted);
}
.woocommerce-order-overview li strong{
	display:block; margin-top:6px; font-family:'Sora',sans-serif;
	font-size:15px; color:var(--ls-ink);
}

@media (max-width:991px){
	.ls-woo.ls-woo--cart .woocommerce,
	body.woocommerce-cart .ls-woo--cart .woocommerce,
	.woocommerce-checkout form.checkout{
		grid-template-columns:1fr!important;
	}
	.ls-woo--cart .woocommerce-cart-form,
	.ls-woo--cart .cart-collaterals{
		grid-column:1; grid-row:auto;
	}
	.woocommerce-checkout #customer_details,
	.woocommerce-checkout #order_review{
		grid-column:1;
	}
	.cart-collaterals .cart_totals,
	.woocommerce-checkout #order_review{ position:static; }
	.woocommerce-order-overview{ grid-template-columns:1fr 1fr; }
}
@media (max-width:640px){
	.woocommerce form .form-row-first,
	.woocommerce form .form-row-last{ width:100%!important; float:none!important; }
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{
		grid-template-columns:1fr;
	}
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-first,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-last{
		grid-column:1;
	}
	.woocommerce-cart-form .actions{ flex-direction:column; align-items:stretch; }
	.woocommerce-cart-form .coupon{ width:100%; }
	.woocommerce-cart-form .coupon .input-text{ flex:1; min-width:0; width:100%; }
	.woocommerce table.shop_table .product-thumbnail,
	.woocommerce table.shop_table .product-price{ display:none; }
	.woocommerce-order-overview{ grid-template-columns:1fr; }
}


