/* Gadget Nir — modern checkout (loaded on checkout / cart / account only) */
body.woocommerce-checkout {
	--gnc-primary: var(--gn-blue, #F58817);
	--gnc-primary-dark: var(--gn-blue-dark, #D9700A);
	--gnc-ink: var(--gn-ink, #1E1B2E);
	--gnc-muted: var(--gn-muted, #6B6880);
	--gnc-line: var(--gn-line, #E6E6F0);
	--gnc-soft: var(--gn-soft, #F5F5FB);
	--gnc-tint: #FFF5EA;
	background: var(--gnc-soft);
}
body.woocommerce-checkout .page-wrapper,
body.woocommerce-checkout .content-page,
body.woocommerce-checkout .elementor-section,
body.woocommerce-checkout .elementor-7 { background: transparent !important; }
body.woocommerce-checkout .container.content-page { padding-top: 8px; padding-bottom: 72px; max-width: 1240px; }

/* ---- Step bar ---- */
body.woocommerce-checkout .cart-checkout-nav {
	display: flex; justify-content: center; align-items: center; gap: 12px;
	background: transparent !important; padding: 28px 16px 20px !important; margin: 0 !important;
}
body.woocommerce-checkout .cart-checkout-nav a {
	display: inline-flex; align-items: center; gap: 10px;
	font-size: 14px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important;
	color: var(--gnc-muted) !important; padding: 8px 16px 8px 8px; border-radius: 999px;
	background: #fff; border: 1px solid var(--gnc-line);
}
body.woocommerce-checkout .cart-checkout-nav a.active { color: var(--gnc-ink) !important; border-color: var(--gnc-primary); }
body.woocommerce-checkout .cart-checkout-nav a::before {
	width: 28px !important; height: 28px !important; line-height: 28px !important; font-size: 13px !important;
	border-radius: 50% !important; margin: 0 !important; border: 0 !important;
	background: var(--gnc-line) !important; color: var(--gnc-muted) !important;
}
body.woocommerce-checkout .cart-checkout-nav a.active::before { background: var(--gnc-primary) !important; color: #fff !important; }
body.woocommerce-checkout .cart-checkout-nav a::after { display: none !important; }
body.woocommerce-checkout .cart-checkout-nav a + a { margin-left: 28px; position: relative; }

/* ---- Coupon ---- */
body.woocommerce-checkout .etheme-elementor-cart-checkout-page-coupon { margin-bottom: 20px; }
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	background: #fff !important; border: 1px dashed var(--gnc-primary) !important; border-radius: 12px !important;
	padding: 14px 18px !important; color: var(--gnc-ink) !important; font-size: 14px !important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { display: none !important; }
body.woocommerce-checkout .woocommerce-form-coupon-toggle a { color: var(--gnc-primary) !important; font-weight: 600; }
body.woocommerce-checkout form.checkout_coupon {
	background: #fff; border: 1px solid var(--gnc-line) !important; border-radius: 12px; padding: 16px !important; margin-top: 10px !important;
}

/* ---- Layout / cards ---- */
body.woocommerce-checkout .etheme-elementor-cart-checkout-page-wrapper { gap: 28px; }
body.woocommerce-checkout .etheme-elementor-cart-checkout-page-column.first,
body.woocommerce-checkout .order-review {
	background: #fff !important; border: 1px solid var(--gnc-line) !important; border-radius: 18px !important;
	box-shadow: 0 1px 2px rgba(30,27,46,.04), 0 12px 32px -18px rgba(30,27,46,.18);
}
body.woocommerce-checkout .etheme-elementor-cart-checkout-page-column.first { padding: 30px 32px 20px !important; }
body.woocommerce-checkout .order-review { padding: 28px 26px !important; }
body.woocommerce-checkout .etheme-elementor-cart-checkout-page-column.last { position: sticky; top: 110px; align-self: flex-start; }

/* Section headings with numbered badges */
body.woocommerce-checkout form.checkout { counter-reset: gnc-step; }
body.woocommerce-checkout .step-title {
	display: flex !important; align-items: center; gap: 12px;
	font-size: 18px !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: -.01em !important;
	color: var(--gnc-ink) !important; border: 0 !important; padding: 0 !important; margin: 0 0 20px !important;
}
body.woocommerce-checkout .step-title::after { display: none !important; }
body.woocommerce-checkout .etheme-elementor-cart-checkout-page-column.first .step-title::before {
	counter-increment: gnc-step; content: counter(gnc-step);
	flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%;
	background: var(--gnc-tint); color: var(--gnc-primary); font-size: 14px; font-weight: 700;
	display: inline-flex; align-items: center; justify-content: center;
}
body.woocommerce-checkout .woocommerce-shipping-fields { margin-top: 12px; padding-top: 24px; border-top: 1px solid var(--gnc-line); }
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper { margin-top: 4px; }
body.woocommerce-checkout .woocommerce-shipping-fields .step-title + .woocommerce-additional-fields__field-wrapper,
body.woocommerce-checkout .shipping_address_wrapper + .step-title { margin-top: 24px !important; }

/* ---- Fields ---- */
body.woocommerce-checkout form.checkout .form-row { margin-bottom: 18px !important; padding: 0 !important; }
body.woocommerce-checkout form.checkout .form-row-first,
body.woocommerce-checkout form.checkout .form-row-last { width: calc(50% - 9px) !important; }
body.woocommerce-checkout form.checkout .form-row label {
	font-size: 13px !important; font-weight: 600 !important; color: var(--gnc-ink) !important;
	text-transform: none !important; letter-spacing: 0 !important; margin-bottom: 7px !important; line-height: 1.3;
}
body.woocommerce-checkout form.checkout .form-row label .optional { color: var(--gnc-muted); font-weight: 400; }
body.woocommerce-checkout form.checkout .form-row .required { color: #E5484D !important; text-decoration: none; }
body.woocommerce-checkout form.checkout .input-text,
body.woocommerce-checkout form.checkout select,
body.woocommerce-checkout form.checkout textarea,
body.woocommerce-checkout .select2-container--default .select2-selection--single {
	height: 50px !important; min-height: 50px; border: 1px solid var(--gnc-line) !important; border-radius: 12px !important;
	background: #FCFCFE !important; color: var(--gnc-ink) !important; font-size: 15px !important;
	padding: 0 16px !important; box-shadow: none !important; transition: border-color .15s, box-shadow .15s, background .15s;
}
body.woocommerce-checkout form.checkout textarea { height: 110px !important; padding: 14px 16px !important; resize: vertical; }
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 48px !important; padding: 0 !important; color: var(--gnc-ink) !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { height: 48px !important; right: 12px !important; }
body.woocommerce-checkout form.checkout .input-text:hover,
body.woocommerce-checkout .select2-container--default .select2-selection--single:hover { border-color: #CFCDE0 !important; }
body.woocommerce-checkout form.checkout .input-text:focus,
body.woocommerce-checkout form.checkout textarea:focus,
body.woocommerce-checkout .select2-container--open .select2-selection--single,
body.woocommerce-checkout .select2-container--focus .select2-selection--single {
	border-color: var(--gnc-primary) !important; background: #fff !important;
	box-shadow: 0 0 0 4px rgba(245,136,23,.15) !important; outline: 0;
}
body.woocommerce-checkout form.checkout .woocommerce-invalid .input-text,
body.woocommerce-checkout form.checkout .woocommerce-invalid .select2-selection--single { border-color: #E5484D !important; }
body.woocommerce-checkout .select2-dropdown { border: 1px solid var(--gnc-line) !important; border-radius: 12px !important; overflow: hidden; box-shadow: 0 16px 32px -12px rgba(30,27,46,.25); }
body.woocommerce-checkout .select2-search--dropdown .select2-search__field { height: 40px; border-radius: 8px !important; border: 1px solid var(--gnc-line) !important; }
body.woocommerce-checkout .select2-results__option--highlighted[aria-selected],
body.woocommerce-checkout .select2-results__option--highlighted[data-selected] { background: var(--gnc-primary) !important; color: #fff !important; }
/* Country is fixed to Bangladesh */
body.woocommerce-checkout #billing_country_field .select2-selection--single,
body.woocommerce-checkout #shipping_country_field .select2-selection--single { background: var(--gnc-soft) !important; }

/* Ship to different address */
body.woocommerce-checkout #ship-to-different-address label {
	display: flex !important; align-items: center; gap: 10px; font-size: 15px !important; font-weight: 600 !important;
	text-transform: none !important; color: var(--gnc-ink) !important; cursor: pointer;
}
body.woocommerce-checkout input[type="checkbox"], body.woocommerce-checkout input[type="radio"] { accent-color: var(--gnc-primary); }
body.woocommerce-checkout #ship-to-different-address input { width: 18px; height: 18px; margin: 0 !important; }

/* ---- Order summary ---- */
body.woocommerce-checkout .order-review .step-title { font-size: 18px !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table { border: 0 !important; margin: 0 !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead { display: none; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table th { border: 0 !important; padding: 0 !important; background: transparent !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item td { padding: 14px 0 !important; border-bottom: 1px solid var(--gnc-line) !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item:first-child td { padding-top: 0 !important; }
body.woocommerce-checkout .product-name-info { display: grid !important; grid-template-columns: 1fr auto; column-gap: 16px; row-gap: 4px; align-items: start; }
body.woocommerce-checkout .product-name-info .product-name { grid-column: 1; font-size: 14px !important; font-weight: 600 !important; color: var(--gnc-ink) !important; line-height: 1.4; }
body.woocommerce-checkout .product-name-info .product-price-quantity { grid-column: 1; font-size: 13px !important; color: var(--gnc-muted) !important; }
body.woocommerce-checkout .product-name-info .product-price-quantity .product-quantity { font-weight: 600; color: var(--gnc-muted); }
body.woocommerce-checkout .product-name-info .product-subtotal {
	grid-column: 2; grid-row: 1 / span 2; font-size: 0 !important; color: transparent !important; text-align: right; white-space: nowrap;
}
body.woocommerce-checkout .product-name-info .product-subtotal .amount { font-size: 14px !important; font-weight: 700 !important; color: var(--gnc-ink) !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr td { padding: 10px 0 !important; font-size: 14px !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:first-child th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:first-child td { padding-top: 18px !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th { color: var(--gnc-muted) !important; font-weight: 500 !important; text-transform: none !important; text-align: left; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td { text-align: right; color: var(--gnc-ink) !important; font-weight: 600; }
body.woocommerce-checkout .woocommerce-shipping-methods { margin: 0 !important; padding: 0 !important; list-style: none; }
body.woocommerce-checkout .woocommerce-shipping-methods li { margin: 0 !important; justify-content: flex-end; }
body.woocommerce-checkout .woocommerce-shipping-methods label { font-size: 14px !important; font-weight: 600; color: var(--gnc-ink) !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
	border-top: 1px dashed #D7D5E3 !important; padding-top: 16px !important; margin-top: 6px;
	font-size: 18px !important; color: var(--gnc-ink) !important; font-weight: 700 !important; text-transform: none !important;
}
body.woocommerce-checkout .order-total .amount { font-size: 22px !important; color: var(--gnc-primary) !important; font-weight: 800 !important; }

/* ---- Payment ---- */
body.woocommerce-checkout #payment { background: transparent !important; border: 0 !important; padding: 0 !important; margin-top: 18px; border-radius: 0 !important; }
body.woocommerce-checkout #payment ul.payment_methods { border: 0 !important; padding: 0 !important; margin: 0 0 16px !important; }
body.woocommerce-checkout #payment .wc_payment_method {
	border: 1.5px solid var(--gnc-line); border-radius: 14px; padding: 14px 16px !important; margin: 0 0 10px !important; background: #fff; list-style: none;
}
body.woocommerce-checkout #payment .wc_payment_method:has(input:checked) { border-color: var(--gnc-primary); background: var(--gnc-tint); }
body.woocommerce-checkout #payment .wc_payment_method > label {
	display: flex !important; align-items: center; gap: 10px; font-size: 15px !important; font-weight: 700 !important;
	text-transform: none !important; color: var(--gnc-ink) !important; margin: 0 !important; cursor: pointer;
}
body.woocommerce-checkout #payment .wc_payment_method > label::before {
	content: ""; flex: 0 0 18px; width: 18px; height: 18px; border-radius: 50%;
	border: 2px solid #CFCDE0; background: #fff; box-sizing: border-box; position: static !important; margin: 0 !important; transform: none !important;
}
body.woocommerce-checkout #payment .wc_payment_method:has(input:checked) > label::before { border: 5px solid var(--gnc-primary); }
body.woocommerce-checkout #payment .wc_payment_method > label::after {
	content: "৳"; margin-left: auto; width: 30px; height: 30px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center;
	background: #fff; border: 1px solid var(--gnc-line); color: var(--gnc-primary); font-weight: 800; font-size: 15px;
}
body.woocommerce-checkout #payment .payment_box {
	background: transparent !important; padding: 8px 0 0 28px !important; margin: 0 !important;
	font-size: 13px !important; color: var(--gnc-muted) !important; line-height: 1.55;
}
body.woocommerce-checkout #payment .payment_box::before { display: none !important; }
body.woocommerce-checkout #payment .payment_box p { margin: 0 !important; }
body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper p { font-size: 12px !important; color: var(--gnc-muted) !important; line-height: 1.55; }
body.woocommerce-checkout .woocommerce-privacy-policy-text a { color: var(--gnc-primary) !important; }
body.woocommerce-checkout #payment .place-order { padding: 0 !important; margin: 0 !important; border: 0 !important; }
body.woocommerce-checkout #place_order {
	width: 100% !important; height: 56px !important; border-radius: 14px !important; margin-top: 14px !important;
	background: var(--gnc-primary) !important; border: 0 !important; color: #fff !important;
	font-size: 16px !important; font-weight: 700 !important; letter-spacing: 0 !important; text-transform: none !important;
	box-shadow: 0 12px 24px -10px rgba(245,136,23,.6) !important; transition: background .2s, transform .15s;
}
body.woocommerce-checkout #place_order:hover { background: var(--gnc-primary-dark) !important; transform: translateY(-1px); }
body.woocommerce-checkout #place_order::after { content: "  →"; }
body.woocommerce-checkout .gnc-trust {
	display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; margin-top: 14px;
	font-size: 12px; color: var(--gnc-muted);
}
body.woocommerce-checkout .gnc-trust span::before { content: "✓ "; color: #16A34A; font-weight: 700; }

/* ---- Notices ---- */
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error {
	border-radius: 12px !important; border: 1px solid #F5C2C4 !important; background: #FFF1F1 !important; color: #9B1C1F !important;
}

/* ---- Responsive ---- */
@media (max-width: 991px) {
	body.woocommerce-checkout .etheme-elementor-cart-checkout-page-wrapper { flex-direction: column !important; }
	body.woocommerce-checkout .etheme-elementor-cart-checkout-page-column { width: 100% !important; max-width: 100% !important; flex: 1 1 auto !important; }
	body.woocommerce-checkout .etheme-elementor-cart-checkout-page-column.last { position: static; }
}
@media (max-width: 600px) {
	body.woocommerce-checkout .etheme-elementor-cart-checkout-page-column.first { padding: 22px 18px 8px !important; }
	body.woocommerce-checkout .order-review { padding: 22px 18px !important; }
	body.woocommerce-checkout form.checkout .form-row-first,
	body.woocommerce-checkout form.checkout .form-row-last { width: 100% !important; float: none !important; }
	body.woocommerce-checkout .cart-checkout-nav { gap: 6px; padding-top: 18px !important; }
	body.woocommerce-checkout .cart-checkout-nav a { font-size: 0 !important; padding: 4px; gap: 0; }
	body.woocommerce-checkout .cart-checkout-nav a + a { margin-left: 10px; }
}

/* v1.1.1 fixes */
body.woocommerce-checkout .product-name-info > * { margin: 0 !important; width: auto !important; }
body.woocommerce-checkout #payment .payment_box, body.woocommerce-checkout #payment .payment_box p { text-align: left !important; }
body.woocommerce-checkout #place_order { font-style: normal !important; transform: none !important; }
body.woocommerce-checkout #place_order:hover { transform: none !important; }
body.woocommerce-checkout #place_order::before { display: none !important; }
body.woocommerce-checkout .woocommerce-shipping-methods label, body.woocommerce-checkout .woocommerce-shipping-methods .amount,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .amount { text-decoration: none !important; border: 0 !important; }

/* v1.2 mobile banking */
body.woocommerce-checkout #payment .wc_payment_method[class*="payment_method_gn_"] > label::after {
	width: auto; padding: 0 10px; height: 26px; border-radius: 999px; font-size: 12px; font-weight: 800; border: 0; color: #fff;
}
body.woocommerce-checkout #payment .payment_method_gn_bkash > label::after { content: "bKash"; background: #E2136E; }
body.woocommerce-checkout #payment .payment_method_gn_nagad > label::after { content: "Nagad"; background: #EC1C24; }
body.woocommerce-checkout #payment .payment_method_gn_upay > label::after { content: "Upay"; background: #0054A6; }
body.woocommerce-checkout #payment .payment_method_gn_rocket > label::after { content: "Rocket"; background: #8C3494; }
body.woocommerce-checkout #payment .payment_method_cod > label::after { content: "COD"; width: auto; padding: 0 10px; height: 26px; border-radius: 999px; font-size: 12px; }
.gn-mfs { padding-top: 4px; }
.gn-mfs__desc { margin: 0 0 10px !important; }
.gn-mfs__pay { background: #fff; border: 1px dashed #F5C48C; border-radius: 12px; padding: 12px 14px; margin-bottom: 10px; }
.gn-mfs__row { display: flex; justify-content: space-between; align-items: center; font-size: 13px; color: var(--gnc-muted, #6B6880); }
.gn-mfs__amount, .gn-mfs__amount .amount { color: var(--gnc-ink, #1E1B2E) !important; font-size: 15px !important; }
.gn-mfs__number { display: flex; justify-content: space-between; align-items: center; margin-top: 6px; }
.gn-mfs__number strong { font-size: 20px; letter-spacing: .04em; color: var(--gnc-ink, #1E1B2E); font-weight: 800; }
body.woocommerce-checkout .gn-mfs__copy {
	height: 30px !important; padding: 0 12px !important; border-radius: 8px !important; font-size: 12px !important; font-weight: 700 !important;
	background: var(--gnc-tint, #FFF5EA) !important; color: var(--gnc-primary, #F58817) !important; border: 1px solid #F5C48C !important; cursor: pointer; box-shadow: none !important;
}
.gn-mfs__steps { margin: 0 0 12px 18px !important; padding: 0 !important; font-size: 12.5px; color: var(--gnc-muted, #6B6880); line-height: 1.6; }
body.woocommerce-checkout .gn-mfs .form-row { margin-bottom: 10px !important; }
body.woocommerce-checkout .gn-mfs .input-text { height: 44px !important; background: #fff !important; }
.gn-mfs-thanks { background: #FFF5EA; border: 1px solid #F5C48C; border-radius: 12px; padding: 14px 18px; margin: 0 0 20px; }

/* v1.2.1 */
body.woocommerce-checkout #payment .wc_payment_method > input.input-radio { position: absolute !important; opacity: 0 !important; width: 1px !important; height: 1px !important; margin: 0 !important; pointer-events: none; }
body.woocommerce-checkout #payment .wc_payment_method { position: relative; }
body.woocommerce-checkout .gn-mfs .input-text::placeholder { text-transform: none; }

/* v1.3 advance payment */
body.woocommerce-checkout #payment .payment_method_gn_advance > label::after { content: "৳100"; width: auto; padding: 0 10px; height: 26px; border-radius: 999px; font-size: 12px; font-weight: 800; border: 0; color: #fff; background: var(--gnc-primary); }
.gn-adv__split { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 10px; }
.gn-adv__split > div { background: #fff; border: 1px solid var(--gnc-line, #E6E6F0); border-radius: 12px; padding: 10px 12px; display: flex; flex-direction: column; gap: 2px; }
.gn-adv__split span { font-size: 12px; color: var(--gnc-muted, #6B6880); }
.gn-adv__split strong, .gn-adv__split .amount { font-size: 17px !important; font-weight: 800; color: var(--gnc-ink, #1E1B2E) !important; }
.gn-adv__split > div:first-child strong, .gn-adv__split > div:first-child .amount { color: var(--gnc-primary, #F58817) !important; }
.gn-adv__providers { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.gn-adv__provider { position: relative; margin: 0 !important; cursor: pointer; }
.gn-adv__provider input { position: absolute; opacity: 0; pointer-events: none; }
.gn-adv__provider span { display: inline-block; padding: 7px 14px; border-radius: 999px; background: #fff; border: 1.5px solid var(--gnc-line, #E6E6F0); font-size: 13px; font-weight: 700; color: var(--gnc-ink, #1E1B2E); }
.gn-adv__provider input:checked + span { color: #fff; border-color: transparent; }
.gn-adv__provider--bkash input:checked + span { background: #E2136E; }
.gn-adv__provider--nagad input:checked + span { background: #EC1C24; }
.gn-adv__provider--upay input:checked + span { background: #0054A6; }
.gn-adv__provider--rocket input:checked + span { background: #8C3494; }
.gn-adv__provider input:focus-visible + span { outline: 2px solid var(--gnc-ink, #1E1B2E); outline-offset: 2px; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.gn-adv-row th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.gn-adv-row td { padding: 6px 0 !important; font-size: 14px !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.gn-adv-row td .amount { color: var(--gnc-primary) !important; font-weight: 700; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.gn-adv-row--due td .amount { color: var(--gnc-ink) !important; }
