/* ============================================================
   Cart & Checkout — restyles WooCommerce's own default markup
   (no template override; keeps all cart/checkout/shipping logic
   exactly as WooCommerce + ScaleUp OS handle it, only the look
   changes). !important is used where WooCommerce core CSS
   (.woocommerce ...) outranks a plain class selector — same
   technique already used for the add-to-cart buttons.
   ============================================================ */

/* ScaleUp OS already hides Company/Country/Postcode/State on the classic
   checkout (COD business, none of these are needed) via a
   woocommerce_checkout_fields filter — that filter only runs on the
   classic checkout template, not Block Checkout, so Company was still
   showing here. Hiding it the same way, scoped to Block Checkout's own
   (core, stable) field-wrapper class. */
.wc-block-components-text-input.wc-block-components-address-form__company{ display:none !important; }

/* page-checkout.php / page-11328.php (Cart) now build their own header —
   see .ka-section-head-left below — instead of relying on index.php's bare
   fallback <h1>. The old rules here assumed that fallback markup (main
   h1 with a hand-tuned 32px padding-left to fake-align with the classic
   checkout's card layout) and no longer apply; kept only the content
   container width, updated to match the new template's own container. */
.woocommerce-cart .ka-container,
.woocommerce-checkout .ka-container{ max-width:1200px; }

/* Utility pages (Cart/Checkout) — left-aligned, no max-width clamp, no
   bottom margin eating into the content right below it. Overrides
   .ka-section-head's marketing-page defaults (centered, 640px cap, 48px
   bottom margin) which don't suit a working page like this. */
.ka-section-head-left{
	text-align:left;
	max-width:none;
	margin:0 0 8px;
}

/* Header-to-heading gap on Cart/Checkout — the site's default .ka-section
   top padding (80px, tuned for long marketing pages) reads as too much
   empty space above a working page like this. */
.woocommerce-cart .ka-section,
.woocommerce-checkout .ka-section{ padding-top:40px; }

/* Small, quiet "back to cart" link — Checkout only, not a prominent button,
   so it doesn't compete with the Place Order CTA further down the page. */
/* Order Summary quantity stepper (checkout only) — reuses the exact same
   .ka-qty-stepper/.ka-qty-btn design already used on the product page
   (and the Cart page's own stepper), just scaled down to fit this smaller
   row. Native read-only "2" badge circle hidden since this replaces it. */
.wc-block-components-order-summary-item__quantity{ display:none !important; }
.ka-summary-qty{ height:24px !important; margin-top:6px; border-radius:var(--ka-radius-sm) !important; }
.ka-summary-qty .ka-qty-btn{ width:24px; flex-basis:24px; height:24px !important; font-size:13px; }
.ka-summary-qty .qty{ width:26px; height:24px !important; font-size:12px; display:flex; align-items:center; justify-content:center; }

.ka-summary-edit-cart{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	width:100%;
	box-sizing:border-box;
	margin:0 0 12px;
	padding:12px 16px;
	border:1.5px solid var(--ka-green-100);
	border-radius:var(--ka-radius-sm);
	background:var(--ka-white);
}
.ka-summary-edit-cart__label{ font-size:13.5px; font-weight:600; color:var(--ka-ink); }
.ka-summary-edit-cart__btn{
	padding:8px 16px;
	background:var(--ka-green);
	color:#fff;
	font-size:12.5px;
	font-weight:700;
	border-radius:var(--ka-radius-sm);
	white-space:nowrap;
}
.ka-summary-edit-cart__btn:hover{ background:var(--ka-green-700); }
.ka-summary-edit-cart:hover{ background:var(--ka-green-100); }

/* ---- Notices ---- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
	background:var(--ka-green-50) !important;
	border:1px solid var(--ka-green) !important;
	color:var(--ka-ink) !important;
	border-radius:var(--ka-radius-sm);
	padding:14px 20px 14px 50px !important;
	font-size:14.5px;
}
.woocommerce-error{ background:#FDEEEE !important; border-color:#D6273C !important; }
/* On checkout the cards below (col-1/#order_review) sit 32px in from the
   container edge (their own padding), but this notice spans the full
   container width — so its left edge sticks out 32px past the card below
   it even though the right edge already lines up. Shrink from the left
   only, leave the right edge (which already matches) alone. */
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error{ margin-left:32px; }
.woocommerce-message .button,
.woocommerce-error .button{
	background:var(--ka-green) !important;
	color:#fff !important;
	border-radius:999px !important;
}

/* ---- Empty cart suggestions ---- */
.ka-empty-cart-suggestions{ margin-top:32px; }
.ka-empty-cart-suggestions h2{ font-size:20px; margin:0 0 20px; text-align:center; }

/* ---- Cart table ---- */
.woocommerce-cart-form{ margin-bottom:32px; }
table.shop_table{
	width:100%;
	border-collapse:collapse;
	background:var(--ka-white);
	border:1px solid var(--ka-green-100) !important;
	border-radius:var(--ka-radius);
	overflow:hidden;
	box-shadow:var(--ka-shadow-sm);
}
table.shop_table thead th{
	background:var(--ka-green-50);
	color:var(--ka-green-800);
	font-size:13px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.03em;
	padding:14px 16px;
	text-align:left;
}
table.shop_table tbody th,
table.shop_table tfoot th,
table.shop_table td{
	padding:16px;
	border-bottom:1px solid var(--ka-green-100);
	vertical-align:middle;
	font-size:15px;
}
table.shop_table tr:last-child th,
table.shop_table tr:last-child td{ border-bottom:none; }
.product-thumbnail img{
	width:72px;
	height:72px;
	object-fit:cover;
	border-radius:var(--ka-radius-sm);
}
.product-name a{ color:var(--ka-ink); font-weight:600; text-decoration:none; }
.product-name a:hover{ color:var(--ka-green-700); }
td.product-price,
td.product-subtotal{ font-weight:700; color:var(--ka-green-700); }
.product-remove a.remove{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:28px;
	height:28px;
	border-radius:50%;
	background:var(--ka-green-50) !important;
	color:var(--ka-ink) !important;
	font-size:18px;
	line-height:1;
	text-decoration:none !important;
}
.product-remove a.remove:hover{ background:#D6273C !important; color:#fff !important; }
.quantity.ka-qty-stepper{ height:42px; }
.quantity .qty{
	text-align:center;
	font-family:var(--ka-font-bn);
	font-size:15px;
}

.shop_table .actions{ padding:18px 16px; }
.shop_table .actions .coupon{ display:inline-flex; gap:10px; max-width:100%; }
.shop_table .actions .coupon .input-text{
	height:42px;
	width:220px !important;
	max-width:100%;
	border:1.5px solid var(--ka-green-100);
	border-radius:var(--ka-radius-sm);
	padding:0 14px;
	font-family:var(--ka-font-bn);
}
@media (max-width:480px){
	.shop_table .actions .coupon{ display:flex; width:100%; }
	.shop_table .actions .coupon .input-text{ flex:1 1 auto; width:auto; }
}
.shop_table .actions .button{
	background:var(--ka-white) !important;
	color:var(--ka-green-700) !important;
	border:1.5px solid var(--ka-green) !important;
	border-radius:999px !important;
	padding:0 22px !important;
	height:42px;
	font-weight:700 !important;
}
.shop_table .actions .button:hover{ background:var(--ka-green-50) !important; }
.shop_table .actions .coupon .input-text:not(:placeholder-shown) ~ .button{
	background:var(--ka-green) !important;
	color:#fff !important;
}
.shop_table .actions .coupon .input-text:not(:placeholder-shown) ~ .button:hover{ background:var(--ka-green-700) !important; }

/* ---- Cart totals / collaterals ---- */
.cart-collaterals{ display:flex; justify-content:flex-end; margin-top:8px; }
.cart_totals{
	width:100%;
	max-width:420px;
	background:var(--ka-white);
	border-radius:var(--ka-radius);
	box-shadow:var(--ka-shadow-sm);
	padding:24px 26px;
}
.cart_totals h2{ font-size:19px; margin:0 0 16px; }
.cart_totals table{ width:100%; border-collapse:collapse; }
.cart_totals tr th,
.cart_totals tr td{
	padding:11px 0;
	border-bottom:1px solid var(--ka-green-100);
	font-size:14.5px;
	text-align:left;
}
.cart_totals tr th{ font-weight:600; color:var(--ka-ink-soft); }
.cart_totals tr td{ text-align:right; font-weight:700; color:var(--ka-ink); }
.cart_totals tr.order-total th,
.cart_totals tr.order-total td{
	border-bottom:none;
	font-size:19px;
	color:var(--ka-green-700);
	padding-top:16px;
}
.wc-proceed-to-checkout{ margin-top:20px; }
.wc-proceed-to-checkout .checkout-button{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:52px;
	background:var(--ka-green) !important;
	color:#fff !important;
	border-radius:999px !important;
	font-weight:700 !important;
	font-size:16px;
	text-decoration:none !important;
	transition:background .2s ease, transform .2s ease;
}
.wc-proceed-to-checkout .checkout-button:hover{ background:var(--ka-green-700) !important; transform:translateY(-2px); }

/* ---- Checkout form ---- */
.woocommerce-checkout form.checkout{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:32px;
	align-items:start;
}
.woocommerce-checkout #customer_details{ grid-column:1; }
.woocommerce-checkout #order_review{ grid-column:2; }
.woocommerce-checkout .col2-set{
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
	gap:32px;
	margin-bottom:0;
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{
	float:none !important;
	width:auto !important;
	flex:1 1 320px;
	max-width:560px;
	background:var(--ka-white);
	border-radius:var(--ka-radius);
	box-shadow:var(--ka-shadow-sm);
	padding:24px 26px;
}
.woocommerce-checkout h3{ font-size:18px; margin:0 0 18px; }
.woocommerce-checkout .col-1 #order_comments_field{
	margin-top:8px;
	padding-top:18px;
	border-top:1px solid var(--ka-green-100);
}
.woocommerce-checkout .form-row{ margin-bottom:16px; }
.woocommerce-checkout .form-row label{
	display:block;
	font-size:13.5px;
	font-weight:600;
	color:var(--ka-ink-soft);
	margin-bottom:6px;
}
.woocommerce-checkout .form-row .required{ color:#D6273C; text-decoration:none; }
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea{
	width:100%;
	min-height:46px;
	border:1.5px solid var(--ka-green-100) !important;
	border-radius:var(--ka-radius-sm);
	padding:0 14px;
	font-family:var(--ka-font-bn);
	font-size:15px;
	background:var(--ka-white);
	outline:none;
}
.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus{
	border-color:var(--ka-green) !important;
}
.woocommerce-checkout textarea{ padding:12px 14px; min-height:60px; }
.select2-container .select2-selection--single{
	height:46px !important;
	border:1.5px solid var(--ka-green-100) !important;
	border-radius:var(--ka-radius-sm) !important;
	display:flex;
	align-items:center;
	padding:0 6px;
}

#order_review_heading{ font-size:19px; margin:0 0 12px; }
#order_review{
	background:var(--ka-white);
	border-radius:var(--ka-radius);
	box-shadow:var(--ka-shadow-sm);
	padding:24px 26px;
	position:sticky;
	top:80px;
}
body.admin-bar #order_review{ top:112px; }

.wc-block-checkout__sidebar{
	position:sticky !important;
	top:80px !important;
	align-self:start;
}
body.admin-bar .wc-block-checkout__sidebar{ top:112px !important; }
#order_review table.shop_table{ box-shadow:none; border:none !important; border-radius:0; }
#order_review table.shop_table th,
#order_review table.shop_table td{ padding:11px 14px; }
#order_review table.shop_table th:last-child,
#order_review table.shop_table td:last-child{ text-align:right; }
#order_review .product-name{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:12px;
}
.ka-order-review-thumb{
	width:52px;
	height:52px;
	flex:0 0 52px;
	object-fit:cover;
	border-radius:10px;
}
.ka-order-review-name{ line-height:1.4; }

.ka-delivery-methods-card{
	margin-top:18px;
	padding-top:18px;
	border-top:1px solid var(--ka-green-100);
}
.ka-delivery-methods-card h3{ margin-bottom:12px !important; }
.ka-delivery-item{ padding-top:14px; margin-top:14px; border-top:1px dashed var(--ka-green-100); }
.ka-delivery-methods-card h3 + .ka-delivery-item{ padding-top:0 !important; margin-top:0 !important; border-top:none !important; }
.ka-delivery-options{ list-style:none; margin:0; padding:0; }
.ka-delivery-options li{
	border:1.5px solid var(--ka-green-100);
	border-radius:var(--ka-radius-sm);
	padding:12px 14px;
	margin-bottom:8px;
	transition:background-color .15s ease, border-color .15s ease;
}
.ka-delivery-options li.is-selected{
	border-color:var(--ka-green-700);
	background:var(--ka-green-50);
}
.ka-delivery-options li label{
	display:flex;
	align-items:center;
	gap:10px;
	font-size:14.5px;
	font-weight:700;
	color:var(--ka-ink);
	cursor:pointer;
}
.ka-delivery-options input[type="radio"],
ul.payment_methods input[type="radio"]{
	accent-color:var(--ka-green-700);
	width:18px;
	height:18px;
	flex:0 0 auto;
}
.ka-delivery-option-box{
	background:var(--ka-green-50);
	border-radius:var(--ka-radius-sm);
	margin-top:8px;
	padding:10px 12px;
	font-size:12.5px;
	color:var(--ka-ink-soft);
}
.ka-delivery-option-box p{ margin:0; }

#payment.woocommerce-checkout-payment{
	background:transparent !important;
	border-radius:0 !important;
	margin-top:12px;
}
.ka-payment-methods-heading{ margin-bottom:12px !important; }
ul.payment_methods{ list-style:none; margin:0 0 10px !important; padding:0 !important; }
ul.payment_methods li{
	border:1.5px solid var(--ka-green-100);
	border-radius:var(--ka-radius-sm);
	padding:12px 14px !important;
	margin-bottom:6px !important;
	transition:background-color .15s ease, border-color .15s ease;
}
ul.payment_methods li:has(input:checked){
	border-color:var(--ka-green-700);
	background:var(--ka-green-50);
}
ul.payment_methods li label{
	display:flex;
	align-items:center;
	gap:10px;
	font-size:14.5px;
	font-weight:700;
	cursor:pointer;
}
ul.payment_methods .payment_box{
	background:var(--ka-green-50) !important;
	border-radius:var(--ka-radius-sm) !important;
	margin-top:8px !important;
	padding:10px 12px !important;
	font-size:12.5px !important;
	line-height:1.45;
	color:var(--ka-ink-soft);
}
ul.payment_methods .payment_box p{ margin:0; }
#place_order{
	width:100%;
	float:none !important;
	height:54px;
	background:var(--ka-green) !important;
	color:#fff !important;
	border:none !important;
	border-radius:999px !important;
	font-weight:700 !important;
	font-size:16.5px;
	cursor:pointer;
	transition:background .2s ease, transform .2s ease;
}
#place_order:hover{ background:var(--ka-green-700) !important; transform:translateY(-2px); }
.ka-checkout-trust{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	width:100%;
	flex-basis:100%;
	gap:16px;
	margin-top:14px;
}
.ka-checkout-trust span{
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-size:12.5px;
	font-weight:700;
	color:var(--ka-green-700);
}

/* ---- Thank You / Order received page ---- */
.woocommerce-order-received main h1{ display:none; }
.woocommerce-order-received main.ka-container{ max-width:760px; }
.ka-thankyou-hero{
	background:var(--ka-white);
	border-radius:var(--ka-radius);
	box-shadow:var(--ka-shadow-sm);
	padding:40px 32px;
	text-align:center;
	margin-bottom:24px;
}
.ka-thankyou-icon{
	width:64px;
	height:64px;
	border-radius:50%;
	background:var(--ka-green);
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0 auto 18px;
}
.ka-thankyou-hero h2{ font-size:clamp(22px,3vw,28px); margin:0 0 10px; }
.ka-thankyou-hero p{ font-size:15px; font-weight:700; color:var(--ka-ink); margin:0; }
.woocommerce-order-received .woocommerce-order > p{
	background:var(--ka-white);
	border-radius:var(--ka-radius);
	box-shadow:var(--ka-shadow-sm);
	padding:18px 20px;
	margin:0 0 24px;
	font-size:14.5px;
	line-height:1.7;
}
.woocommerce-order-received .woocommerce-thankyou-order-received{ display:none; }
.woocommerce-order-received ul.woocommerce-order-overview{
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	justify-content:center;
	gap:16px;
	list-style:none;
	margin:0 0 24px;
	padding:0;
}
.woocommerce-order-received ul.woocommerce-order-overview::before,
.woocommerce-order-received ul.woocommerce-order-overview::after{
	content:none !important;
	display:none !important;
}
.woocommerce-order-received ul.woocommerce-order-overview li{
	background:var(--ka-white);
	border:none !important;
	border-radius:var(--ka-radius-sm);
	box-shadow:var(--ka-shadow-sm);
	padding:16px 18px !important;
	margin:0 !important;
	font-size:13px;
	color:var(--ka-ink-soft);
}
.woocommerce-order-received ul.woocommerce-order-overview li strong{
	display:block;
	font-size:16px;
	color:var(--ka-ink);
	margin-top:4px;
}
.ka-order-overview-sep{ color:var(--ka-green); margin:0 2px; }
.ka-thankyou-support{
	background:var(--ka-white);
	border-radius:var(--ka-radius);
	box-shadow:var(--ka-shadow-sm);
	padding:22px 24px;
	text-align:center;
	margin-bottom:24px;
}
.ka-thankyou-support h3{ font-size:20px; margin:0 0 12px; }
.ka-thankyou-support p{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	gap:14px;
	margin:0;
}
.ka-thankyou-support-call,
.ka-thankyou-support-wa{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-weight:700;
	padding:10px 18px;
	border-radius:999px;
	text-decoration:none;
	transition:background .2s ease, border-color .2s ease, color .2s ease;
}
.ka-thankyou-support-call{
	background:transparent;
	border:1.5px solid var(--ka-green);
	color:var(--ka-green-700);
}
.ka-thankyou-support-call:hover{ background:var(--ka-green-50); }
.ka-thankyou-support-wa{
	background:#1DA851;
	color:#fff !important;
}
.ka-thankyou-support-wa:hover{ background:#17913f; }
.woocommerce-order-received section.woocommerce-order-details,
.woocommerce-order-received section.woocommerce-customer-details{
	background:var(--ka-white);
	border-radius:var(--ka-radius);
	box-shadow:var(--ka-shadow-sm);
	padding:26px 28px;
	margin-bottom:24px;
}
.woocommerce-order-received h2.woocommerce-order-details__title,
.woocommerce-order-received h2.woocommerce-column__title{
	font-size:18px;
	margin:0 0 16px;
}
.woocommerce-order-received table.shop_table.order_details{ margin:0; }
.woocommerce-order-received address{
	font-style:normal;
	font-size:14.5px;
	line-height:1.9;
	color:var(--ka-ink-soft);
}
.ka-thankyou-related{ margin-bottom:24px; }
.ka-thankyou-related h3{ font-size:20px; margin:0 0 16px; text-align:center; }
.ka-thankyou-actions{
	display:flex;
	flex-wrap:wrap;
	gap:14px;
	justify-content:center;
	margin-top:8px;
}
.ka-thankyou-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:48px;
	padding:0 28px;
	border-radius:999px;
	font-weight:700;
	font-size:14.5px;
	text-decoration:none;
	transition:background .2s ease, transform .2s ease;
}
.ka-thankyou-btn-primary{ background:var(--ka-green); color:#fff; }
.ka-thankyou-btn-primary:hover{ background:var(--ka-green-700); transform:translateY(-2px); }
.ka-thankyou-btn-outline{ background:var(--ka-white); color:var(--ka-green-700); border:1.5px solid var(--ka-green); }
.ka-thankyou-btn-outline:hover{ background:var(--ka-green-50); }

.ka-delivery-desc{ display:none; margin:4px 0 0; font-size:13px; color:var(--ka-ink-soft); line-height:1.5; }
.wc-block-components-radio-control__option-checked .ka-delivery-desc{ display:block; }

.wc-block-components-radio-control__label{
	font-size:14.5px !important;
	font-weight:700 !important;
	color:var(--ka-ink) !important;
}
.wc-block-components-radio-control__secondary-label{
	font-size:14px !important;
	font-weight:700 !important;
}
.wc-block-components-radio-control-accordion-option{
	transition:background-color .15s ease, border-color .15s ease;
}
.wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control__option-checked{
	background:var(--ka-green-50) !important;
}
/* পেমেন্ট (accordion) অপশনে বাছাই-বর্ডারটা wrapper-এর inset box-shadow, কিন্তু
   ভেতরের লেবেলের ব্যাকগ্রাউন্ড সেটা ঢেকে দিচ্ছিল — ফলে শুধু নিচের বর্ণনা-অংশে
   বর্ডার দেখা যেত। লেবেল স্বচ্ছ করে ব্যাকগ্রাউন্ড/বর্ডার wrapper-এই রাখা হলো। */
.wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option{
	background:transparent !important;
}
.wc-block-components-radio-control-accordion-option--checked-option-highlighted{
	box-shadow:inset 0 0 0 1.5px var(--ka-green-700) !important;
}
.wc-block-components-radio-control__input{
	border-color:var(--ka-ink-soft) !important;
}
.wc-block-components-radio-control__input:checked{
	border-color:var(--ka-green-700) !important;
}
.wc-block-components-radio-control__input:checked::before{
	background-color:var(--ka-green-700) !important;
}

.wc-block-components-totals-shipping__via{ font-size:12px !important; }

.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wc-block-components-product-button__button,
.woocommerce-cart .wp-block-button__link.add_to_cart_button{
	background:var(--ka-green) !important;
	color:#fff !important;
	border-radius:999px !important;
	font-size:14.5px !important;
	font-weight:700 !important;
}
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover,
.woocommerce-cart .wp-block-button__link.add_to_cart_button:hover,
.wc-block-components-product-button__button:hover{ background:var(--ka-green-700) !important; }

/* চেকআউটের "অর্ডার কনফার্ম করুন" মূল বাটন — লেখা বড়, প্রোডাক্ট পেজের বাটনের মতো হালকা shine (৩.৫ সেকেন্ড)। */
.wc-block-components-checkout-place-order-button{
	font-size:18px !important;
	position:relative;
	overflow:hidden !important;
}
.wc-block-components-checkout-place-order-button .wc-block-components-button__text{ font-size:18px !important; }
@media (prefers-reduced-motion:no-preference){
	.wc-block-components-checkout-place-order-button::after{
		content:"";
		position:absolute;
		top:0;
		left:-60%;
		width:35%;
		height:100%;
		background:linear-gradient(100deg, transparent, rgba(255,255,255,.35), transparent);
		transform:skewX(-20deg);
		pointer-events:none;
		animation:ka-cta-shine 3.5s ease-in-out infinite;
	}
	@keyframes ka-cta-shine{
		0%{ left:-60%; }
		35%,100%{ left:130%; }
	}
}

.wc-block-components-panel .wc-block-components-panel__button{
	padding:16px 0;
	font-size:14.5px;
	font-weight:700;
	color:var(--ka-ink);
}
.wc-block-components-totals-coupon__content{ padding:2px 0 18px; }
.wc-block-components-totals-coupon-link{ display:none; }
.wc-block-components-totals-coupon__form{
	display:flex;
	align-items:stretch;
	gap:8px;
}
.wc-block-components-totals-coupon__form .wc-block-components-text-input{
	flex:1 1 auto;
	margin:0;
}
.wc-block-components-totals-coupon__form .wc-block-components-text-input input{
	height:32px;
	width:100%;
	padding:0 12px;
	border:1px solid var(--ka-green-100);
	border-radius:var(--ka-radius-sm);
	font-size:13px;
	background:#fff;
}
.wc-block-components-totals-coupon__form .wc-block-components-text-input input:focus{
	border-color:var(--ka-green);
	box-shadow:0 0 0 4px var(--ka-green-50);
}
.wc-block-components-totals-coupon__form .wc-block-components-text-input label{ display:none; }
.wc-block-components-totals-coupon__form .wc-block-components-text-input input::placeholder{ color:var(--ka-ink-soft); }
.wc-block-components-totals-coupon__button{
	flex:0 0 auto;
	height:32px;
	padding:0 18px;
	border-radius:999px !important;
	background:var(--ka-green) !important;
	color:#fff !important;
	font-size:13px !important;
	font-weight:700 !important;
	white-space:nowrap;
}
.wc-block-components-totals-coupon__button:hover:not(:disabled){ background:var(--ka-green-700) !important; }
.wc-block-components-totals-coupon__button:disabled{ background:var(--ka-green-100) !important; color:var(--ka-ink-soft) !important; }

@media (max-width:380px){
	.wc-block-components-totals-coupon__form{ flex-wrap:wrap; }
	.wc-block-components-totals-coupon__form .wc-block-components-text-input{ flex-basis:100%; }
	.wc-block-components-totals-coupon__button{ flex:1 1 100%; }
}

@media (max-width:600px){
	.woocommerce-order-received ul.woocommerce-order-overview{ grid-template-columns:1fr; }
}

@media (max-width:820px){
	.woocommerce-checkout form.checkout{ grid-template-columns:1fr; }
	.woocommerce-checkout #customer_details{ grid-column:1; margin-bottom:24px; }
	.woocommerce-checkout #order_review{ grid-column:1; }
	.woocommerce-checkout #order_review,
	.wc-block-checkout__sidebar{
		position:static !important;
		top:auto !important;
	}
	.woocommerce-checkout .col2-set{ gap:8px; }
	.cart_totals{ max-width:none; }
	table.shop_table.shop_table_responsive thead{ display:none; }
	table.shop_table.shop_table_responsive tr{ display:block; border-bottom:1px solid var(--ka-green-100); }
	table.shop_table.shop_table_responsive td{
		display:flex;
		justify-content:space-between;
		align-items:center;
		border-bottom:none;
		padding:8px 16px;
	}
	table.shop_table.shop_table_responsive td::before{
		content:attr(data-title);
		font-weight:700;
		color:var(--ka-ink-soft);
		font-size:12.5px;
		margin-right:12px;
	}
}


/* Classic Checkout's built-in "Have a coupon?" toggle notice + hidden coupon
   form (core WooCommerce markup: form.checkout_coupon starts with inline
   style="display:none", revealed only after clicking the toggle notice) —
   forced always-visible and restyled to a single-row input+button, matching
   the Cart page's coupon design, instead of requiring an extra click to
   reveal a bare unstyled form. */
.woocommerce-form-coupon-toggle{ display:none !important; }
form.checkout_coupon.woocommerce-form-coupon{
	display:flex !important;
	width:100%;
	flex-wrap:wrap;
	align-items:flex-start;
	gap:8px;
	background:none;
	box-shadow:none;
	padding:0;
	margin:0 0 20px;
	border:none;
}
form.checkout_coupon.woocommerce-form-coupon p.form-row{
	margin:0;
	width:auto;
	flex:1 1 auto;
}
form.checkout_coupon.woocommerce-form-coupon #coupon_code{
	height:32px;
	width:100%;
	padding:0 12px;
	border:1px solid var(--ka-green-100);
	border-radius:var(--ka-radius-sm);
	font-size:13px;
	font-family:var(--ka-font-bn);
}
form.checkout_coupon.woocommerce-form-coupon #coupon_code:focus{
	border-color:var(--ka-green);
	box-shadow:0 0 0 2px var(--ka-green-50);
	outline:none;
}
form.checkout_coupon.woocommerce-form-coupon .button{
	flex:0 0 auto;
	height:32px;
	padding:0 18px;
	border-radius:999px !important;
	background:var(--ka-green-100) !important;
	color:var(--ka-ink-soft) !important;
	font-size:14px !important;
	font-weight:700 !important;
	white-space:nowrap;
	border:none;
}
form.checkout_coupon.woocommerce-form-coupon p.form-row-first:not(:has(#coupon_code:placeholder-shown)) ~ p.form-row-last .button{
	background:var(--ka-green) !important;
	color:#fff !important;
}
form.checkout_coupon.woocommerce-form-coupon p.form-row-first:not(:has(#coupon_code:placeholder-shown)) ~ p.form-row-last .button:hover{ background:var(--ka-green-700) !important; }
@media (max-width:380px){
	form.checkout_coupon.woocommerce-form-coupon p.form-row{ flex-basis:100%; }
	form.checkout_coupon.woocommerce-form-coupon .button{ flex:1 1 100%; }
}

/* পেমেন্ট (accordion) অপশনের বর্ণনা-লেখা আগে কার্ডের বাঁ কিনারার কাছে শুরু হত, শিরোনামের সাথে সোজা ছিল না।
   এখন ডেলিভারি কার্ডের মতোই শিরোনামের লেখার ঠিক নিচ থেকে শুরু (বাঁ কিনারা থেকে রেডিও + ফাঁক পর্যন্ত প্যাডিং)। */
.wc-block-components-radio-control-accordion-content{ padding-left:48px !important; }

/* পেমেন্ট কার্ড স্লিম: লেবেলের ওপর-নিচ প্যাডিং ১৬px → ১২px (উচ্চতা ৫২px → ৪৪px, ট্যাপের জন্য যথেষ্ট),
   আর বর্ণনা শিরোনামের কাছে টেনে আনা (আগে ~১৬px ফাঁক ছিল, এখন ~৪px)। রেডিও-বাটনের অবস্থান বদলায় না। */
.wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option{
	padding-top:12px !important;
	padding-bottom:12px !important;
}
.wc-block-components-radio-control-accordion-content{
	margin-top:-8px !important;
	padding-bottom:12px !important;
}

/* Order Summary স্লিম (চেকআউট): কুপন সারি, প্রোডাক্ট আইটেম আর Subtotal/Delivery/Total সারির ফাঁকা জায়গা কমানো —
   পুরো সেকশনের উচ্চতা ~১০০px কমে; লেখা ও ফন্ট প্রায় একই, শুধু ফাঁক কম। */
.wc-block-components-totals-wrapper:has(.wc-block-components-totals-item){ padding-top:10px !important; }
.wc-block-components-totals-wrapper:not(:has(*)){ padding:0 !important; } /* খালি সারি, ফাঁক যোগ করবে না */
.wp-block-woocommerce-checkout-order-summary-cart-items-block{ padding:4px 0 8px !important; }
.wc-block-components-order-summary-item__image{ padding-bottom:0 !important; margin-top:4px !important; }
.wc-block-components-order-summary-item__description{ padding:2px 0 6px !important; }
@media (min-width:783px){ .wc-block-components-order-summary-item__description{ padding-left:14px !important; } }
.wc-block-components-order-summary-item{ padding-bottom:6px !important; }
.wc-block-components-totals-wrapper:has(.wc-block-components-totals-coupon){ padding:0 !important; }
.wc-block-components-totals-coupon .wc-block-components-panel__button{
	padding:11px 0 !important;
	font-size:13.5px !important;
	font-weight:600 !important;
}
.wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item){ padding:12px 0 !important; }

/* কুপন ঘরের লেখা: WooCommerce ব্লক placeholder দেয় না, লেবেলটাই ("Enter code") ঘরের লেখা — উপরের `label{display:none}` সেটা
   লুকিয়ে ঘর খালি দেখাচ্ছিল। লেবেলটা ঘরের ভেতরে ধূসর "Enter coupon code" হিসেবে দেখানো হলো (কাস্টমার টাইপ শুরু করলে/ফোকাসে সরে যায়)। */
.wc-block-components-totals-coupon__form .wc-block-components-text-input{ position:relative; }
.wc-block-components-totals-coupon__form .wc-block-components-text-input label{
	display:block !important;
	position:absolute !important;
	left:12px !important;
	top:9px !important;
	height:32px !important;
	margin:0;
	font-size:0 !important;
	line-height:32px !important;
	color:var(--ka-ink-soft);
	pointer-events:none;
}
.wc-block-components-totals-coupon__form .wc-block-components-text-input label::after{
	content:"Enter coupon code";
	font-size:13px;
	font-weight:500;
}
.wc-block-components-totals-coupon__form .wc-block-components-text-input.is-active label{ display:none !important; }

/* Order Summary — বর্ডার স্পষ্ট (হালকা সবুজ, ডেলিভারি/পেমেন্ট কার্ডের চেয়ে নরম) + লেখা একটু বড়:
   বাইরের বক্স ১.৫px, ভেতরের ভাগ-রেখা ১px, Total-এর ওপরের রেখা ১.৫px গাঢ় সবুজ, কুপন ঘর ১px সবুজ বর্ডার;
   Subtotal/Delivery ১৪.৫px, ডেলিভারির নিচের বর্ণনা ১২.৫px (Total ২০px অপরিবর্তিত)। */
.wp-block-woocommerce-checkout-order-summary-block *{ border-color:#cfe0c4; }
.wp-block-woocommerce-checkout-order-summary-block{ border:1.5px solid #cfe0c4 !important; }
.wp-block-woocommerce-checkout-order-summary-coupon-form-block{ border-top:1px solid #cfe0c4 !important; }
.wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item){ border-top:1.5px solid #7fa66b !important; }
.wc-block-components-totals-coupon__form .wc-block-components-text-input input{ border:1px solid #7fa66b !important; }
.wc-block-components-totals-item:not(.wc-block-components-totals-footer-item) .wc-block-components-totals-item__label,
.wc-block-components-totals-item:not(.wc-block-components-totals-footer-item) .wc-block-components-totals-item__value{ font-size:14.5px !important; }
.wc-block-components-totals-item__description{ font-size:12.5px !important; }

/* Order Summary — একটাই বক্স, শিরোনাম বক্সের বাইরে ওপরে। ফোনে WooCommerce একটা বাইরের ঢাকনা (fill-wrapper) দিয়ে
   দুই স্তর বর্ডার বানাত, শিরোনামও ভেতরে ঠাসা ছিল, আর বক্স "অর্ডার কনফার্ম করুন" বাটনে লেগে যেত।
   এখন বর্ডার শুধু __content বক্সে (আইটেম/কুপন/যোগফল), শিরোনাম ওপরে ফাঁকসহ, বক্স ও বাটনের মাঝে ২০px ফাঁক। */
.wp-block-woocommerce-checkout-order-summary-block{
	border:0 !important;
	padding:0 !important;
	background:transparent !important;
}
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title{
	margin:0 0 10px !important;
	padding:0 !important;
}
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__content{
	border:1.5px solid #cfe0c4 !important;
	border-radius:var(--ka-radius-sm) !important;
	background:var(--ka-white);
	overflow:hidden;
}
.checkout-order-summary-block-fill-wrapper{ margin:0 0 20px !important; }

/* ফোনের ওপরের (ভাঁজ করা) Order summary — এটাই সাইডবার-ব্লক; বাইরের ১৬px প্যাডিং না থাকায় Subtotal/Delivery/Total/Add coupons
   লেখা বর্ডারে লেগে ছিল। শুধু ফোনে (≤৭৮২px) ওই সারিগুলোতে ১৬px পাশের ফাঁক। নিচের summary (fill-wrapper) ও ল্যাপটপ অপরিবর্তিত। */
@media (max-width:782px){
	.wc-block-checkout__sidebar .wc-block-components-totals-item,
	.wc-block-checkout__sidebar .wc-block-components-panel__button,
	.wc-block-checkout__sidebar .wc-block-components-totals-coupon__content{
		padding-left:16px !important;
		padding-right:16px !important;
	}
}

/* ফোনের নিচের (অর্ডার বাটনের আগের) Order summary বক্সটা আলাদা এলিমেন্ট (.checkout-order-summary-block-fill) — ওপরের summary-র
   সাজ (সবুজ বর্ডার, সাদা ব্যাকগ্রাউন্ড, গোল কোণ) এখানে পড়েনি, তাই ধূসর বর্ডার ও স্বচ্ছ ব্যাকগ্রাউন্ড ছিল। দুটো এখন একই। */
.checkout-order-summary-block-fill{
	border:1.5px solid #cfe0c4 !important;
	border-radius:var(--ka-radius-sm) !important;
	background:var(--ka-white) !important;
	overflow:hidden;
}

/* ফোনের ভাঁজ করা Order summary বার: উচ্চতা ৩১px ছিল (ট্যাপের জন্য একটু সরু) → প্যাডিং দিয়ে ~৪৯px, আর তীর ২৪px → ৩০px
   (সামান্য বড়; বার নিজেই ক্লিকযোগ্য, তাই তীর বেশি জোরালো করা হয়নি)। শুধু ফোনে; ল্যাপটপে অপরিবর্তিত। */
@media (max-width:782px){
	.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title{
		padding-top:9px !important;
		padding-bottom:9px !important;
		margin-top:4px !important;
	}
	.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-icon svg{
		width:30px !important;
		height:30px !important;
	}
}

/* ডেলিভারি কার্ডের ওপর-নিচ প্যাডিং ১৬px → ১২px (পেমেন্ট ও "ঢাকার মধ্যে/বাইরে" কার্ডের সমান), বর্ডার/রং অপরিবর্তিত। */
.wc-block-components-shipping-rates-control .wc-block-components-radio-control__option{
	padding-top:12px !important;
	padding-bottom:12px !important;
}
/* রেডিও বাটনের top ঠিক ১৬px ছিল — প্যাডিং ১২px করায় ওটা লেখার ৪px নিচে নেমে যেত, তাই ১২px-এ তোলা হলো। */
.wc-block-components-shipping-rates-control .wc-block-components-radio-control__option input[type="radio"]{
	top:12px !important;
}

/* চেকআউট সেকশন হেডিং ("Contact & Delivery Information" ইত্যাদি) আর নিচের প্রথম ঘরের মাঝের বাড়তি ফাঁক কমানো */
.wc-block-components-checkout-step__heading-container{ margin-bottom:6px !important; }
.wc-block-components-checkout-step__title{ line-height:24px !important; }

/* Checkout: "Checkout" টাইটেল আর নিচের প্রথম সেকশন হেডিংয়ের মাঝের ফাঁক কমানো (h1-এর নিচের margin ১৩px + head ৮px বাদ)। */
.woocommerce-checkout .ka-section-head-left{ margin-bottom:0; }
.woocommerce-checkout .ka-section-head-left h1{ margin-bottom:0; }

/* চেকআউটের সব সেকশন হেডিং এক মাপে: ২০px, বোল্ড ৭০০ ("Contact & Delivery Information"-এর মতো, যেটা ScaleUp OS বোল্ড করে)। */
.ka-delivery-methods-card h3,
.ka-payment-methods-heading{
	font-size:20px !important;
	font-weight:700 !important;
	line-height:24px !important;
}
@media (min-width:783px){
	.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title-text{
		margin-left:0 !important;
		font-size:20px !important;
		font-weight:700 !important;
		line-height:24px !important;
	}
}
