/* Scoped to NCF checkout/cart wrapper. No global theme styling. */
.ncfcd-wrap{max-width:var(--ncfcd-width,1180px);margin:20px auto 55px;padding:0 12px;color:var(--ncfcd-text,#152321);font-size:14px;line-height:1.5;box-sizing:border-box}
.ncfcd-wrap *{box-sizing:border-box}
.ncfcd-wrap a{text-decoration:none}
.ncfcd-wrap button,.ncfcd-wrap input,.ncfcd-wrap select,.ncfcd-wrap textarea{font:inherit}
.ncfcd-wrap button{cursor:pointer}
.ncfcd-titlebar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:8px 2px 22px}
.ncfcd-titlebar h1{font-size:22px;font-weight:750;line-height:1.25;margin:0;color:var(--ncfcd-dark)}
.ncfcd-breadcrumb{display:flex;gap:8px;font-size:12px;color:#6d7277;white-space:nowrap}
.ncfcd-breadcrumb a{color:inherit}
.ncfcd-breadcrumb span:last-child{color:var(--ncfcd-accent)}
.ncfcd-wrap .ncfcd-section{background:var(--ncfcd-card,#fff);border:1px solid var(--ncfcd-border,#e5e8ec);border-radius:var(--ncfcd-radius,14px);padding:18px;min-width:0;box-shadow:0 1px 1px rgba(9,30,31,.015)}
.ncfcd-wrap .ncfcd-section h2{font-size:16px;line-height:1.35;font-weight:720;margin:0 0 16px;color:var(--ncfcd-text)}
.ncfcd-wrap .ncfcd-section h2:before{content:"";display:inline-block;background:var(--ncfcd-accent);height:17px;width:3px;border-radius:8px;margin-right:9px;vertical-align:-3px}
.ncfcd-banner{padding:13px 18px;border:1px solid #f7d9af;background:#fff7ea;border-radius:8px;margin-bottom:15px}
.ncfcd-wrap .woocommerce-error,.ncfcd-wrap .woocommerce-message,.ncfcd-wrap .woocommerce-info{margin:0 0 13px!important;border-radius:10px;background:#fff;border:1px solid var(--ncfcd-border);box-shadow:none;font-size:13px}
.ncfcd-cart-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(245px,.8fr);gap:var(--ncfcd-gap,14px);align-items:start}
.ncfcd-cart-list{display:flex;flex-direction:column;gap:0}
.ncfcd-item{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid var(--ncfcd-border);position:relative}
.ncfcd-item:first-child{padding-top:4px}
.ncfcd-item:last-child{border-bottom:none}
.ncfcd-item-photo{width:77px;height:77px;flex:0 0 77px;border:1px solid var(--ncfcd-border);border-radius:9px;overflow:hidden;display:grid;place-items:center;background:#fff}
.ncfcd-item-photo img{width:100%;height:100%;object-fit:contain;margin:0}
.ncfcd-item-data{flex:1;min-width:0}
.ncfcd-item-title{font-size:14px;font-weight:650;line-height:1.35;overflow-wrap:anywhere}
.ncfcd-item-title a{color:var(--ncfcd-text)}
.ncfcd-item-meta{font-size:11px;color:#667;margin-top:3px}
.ncfcd-item-meta dl{margin:0;display:flex;gap:4px}
.ncfcd-item-meta dd,.ncfcd-item-meta dt{margin:0}
.ncfcd-line{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:10px;font-size:12px}
.ncfcd-unit,.ncfcd-line-total{white-space:nowrap}
.ncfcd-line-total{color:var(--ncfcd-text)}
.ncfcd-stepper,.ncfcd-checkout-stepper{display:inline-flex;align-items:center;overflow:hidden;border:1px solid var(--ncfcd-border);border-radius:6px;height:29px;background:#fff;flex:none}
.ncfcd-stepper button,.ncfcd-checkout-stepper button{padding:0!important;margin:0!important;border:0!important;width:27px!important;height:27px!important;min-width:27px!important;line-height:27px!important;display:grid!important;place-items:center!important;font-size:16px!important;font-weight:400!important;background:#f8f9fa!important;color:var(--ncfcd-accent)!important;border-radius:0!important;box-shadow:none!important}
.ncfcd-stepper input.qty,.ncfcd-checkout-stepper input{margin:0!important;width:34px!important;min-width:34px!important;max-width:34px!important;height:27px!important;padding:0 3px!important;display:block!important;text-align:center!important;border:0!important;box-shadow:none!important;background:#fff!important;font-size:12px!important;font-weight:650!important;color:var(--ncfcd-text)!important;appearance:textfield}
.ncfcd-stepper input.qty::-webkit-inner-spin-button,.ncfcd-stepper input.qty::-webkit-outer-spin-button{appearance:none}
.ncfcd-stepper button:disabled,.ncfcd-checkout-stepper button:disabled{opacity:.35!important;cursor:not-allowed!important}
.ncfcd-remove{font-size:26px;line-height:1;color:#8b8f94;align-self:flex-start;margin-left:auto;padding:0 0 5px 6px}
.ncfcd-remove:hover{color:#c5332f}
.ncfcd-cart-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:14px}
.ncfcd-coupon{display:flex;align-items:flex-end;flex-wrap:wrap;gap:6px;max-width:370px}
.ncfcd-coupon>span{flex:0 0 100%;font-size:12px}
.ncfcd-coupon input{border:1px solid var(--ncfcd-border)!important;border-radius:6px!important;height:var(--ncfcd-field-h);min-width:90px;max-width:185px;background:#fff!important;padding:0 10px!important}
.ncfcd-wrap .ncfcd-coupon button,.ncfcd-wrap .ncfcd-update{background:var(--ncfcd-accent)!important;color:#fff!important;padding:8px 12px!important;border:0!important;border-radius:6px!important;min-height:var(--ncfcd-button-h)!important;font-size:12px!important}
.ncfcd-wrap .ncfcd-update{background:#eef0f2!important;color:var(--ncfcd-text)!important}
.ncfcd-wrap .cart_totals{float:none!important;width:100%!important;padding:0!important;margin:0!important}
.ncfcd-wrap .cart_totals h2{margin:0 0 10px!important}
.ncfcd-wrap .cart_totals table{border-collapse:collapse!important;width:100%!important;margin:0 0 15px!important;box-shadow:none!important;border:0!important;display:table!important}
.ncfcd-wrap .cart_totals th,.ncfcd-wrap .cart_totals td{padding:12px 4px!important;border:0!important;border-bottom:1px solid var(--ncfcd-border)!important;font-size:13px!important;background:transparent!important}
.ncfcd-wrap .cart_totals td{text-align:right!important}
.ncfcd-wrap .cart_totals .order-total th,.ncfcd-wrap .cart_totals .order-total td{font-size:16px!important;font-weight:800!important}
.ncfcd-wrap .cart_totals .wc-proceed-to-checkout{padding:0!important;float:none!important}
.ncfcd-wrap .cart_totals .checkout-button,.ncfcd-wrap a.checkout-button,.ncfcd-wrap .ncfcd-btn{display:block!important;background:var(--ncfcd-accent)!important;color:#fff!important;text-align:center!important;font-size:13px!important;font-weight:700!important;border-radius:6px!important;min-height:var(--ncfcd-button-h)!important;line-height:var(--ncfcd-button-h)!important;padding:0 12px!important;margin:0!important;border:none!important;box-shadow:none!important}
.ncfcd-wrap .woocommerce-shipping-methods{list-style:none!important;margin:0!important;padding:0!important;text-align:left}
.ncfcd-wrap .woocommerce-shipping-methods li{font-size:12px}
.ncfcd-wrap .woocommerce-shipping-destination,.ncfcd-wrap .woocommerce-shipping-calculator{font-size:11px;line-height:1.5}
.ncfcd-wrap .woocommerce-shipping-calculator a{color:var(--ncfcd-dark)}
.ncfcd-empty{text-align:center;padding:45px 20px!important}
.ncfcd-empty .ncfcd-btn{display:inline-block!important;margin-top:15px!important;min-width:175px}
/* Checkout classic forms */
.ncfcd-checkout{background:var(--ncfcd-bg);padding:16px 18px 24px;border-radius:14px}
.ncfcd-checkout-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.9fr);gap:var(--ncfcd-gap);align-items:start}
.ncfcd-checkout-left,.ncfcd-checkout-right{display:flex;flex-direction:column;gap:var(--ncfcd-gap);min-width:0}
.ncfcd-checkout .woocommerce-form-login-toggle,.ncfcd-checkout .woocommerce-form-coupon-toggle{margin:0 0 10px}
.ncfcd-checkout .woocommerce-form-login,.ncfcd-checkout .woocommerce-form-coupon{padding:15px!important;border:1px solid var(--ncfcd-border)!important;background:#fff;border-radius:var(--ncfcd-radius);margin:0 0 12px!important}
.ncfcd-checkout .woocommerce-form-coupon input,.ncfcd-checkout .woocommerce-form-login input{border:1px solid var(--ncfcd-border)!important;border-radius:6px!important}
.ncfcd-checkout .woocommerce-form-coupon button,.ncfcd-checkout .woocommerce-form-login button{background:var(--ncfcd-accent)!important;color:#fff!important;border:0!important;border-radius:6px!important}
.ncfcd-order-item{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--ncfcd-border);padding:9px 0;min-width:0}
.ncfcd-order-item:last-child{border-bottom:none}
.ncfcd-order-photo{width:49px;height:49px;flex:0 0 49px;border:1px solid var(--ncfcd-border);border-radius:6px;display:grid;place-items:center;overflow:hidden;background:#fff}
.ncfcd-order-photo img{width:100%;height:100%;object-fit:contain}
.ncfcd-order-info{flex:1;min-width:0}
.ncfcd-order-name{font-weight:650;font-size:12px;display:block;line-height:1.4}
.ncfcd-order-info dl.variation{display:flex;gap:5px;margin:0;font-size:11px}
.ncfcd-order-info dl.variation dt,.ncfcd-order-info dl.variation dd{margin:0}
.ncfcd-order-qtyline{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;margin-top:6px}
.ncfcd-order-line-total{margin-left:auto;white-space:nowrap;font-size:12px}
.ncfcd-order-unit{white-space:nowrap}
.ncfcd-checkout-remove{width:22px;height:25px;min-width:22px;display:grid;place-items:center;color:#d24545!important;border:none!important;box-shadow:none!important;background:transparent!important;font-size:19px!important;padding:0!important}
.ncfcd-checkout-remove:hover{color:#8f1212!important}
.ncfcd-order-item.is-busy{opacity:.55;pointer-events:none}
.ncfcd-checkout .woocommerce-billing-fields h3,.ncfcd-checkout .woocommerce-shipping-fields h3,.ncfcd-checkout .woocommerce-additional-fields h3{font-size:13px;margin:10px 0 12px!important}
.ncfcd-checkout .woocommerce-billing-fields__field-wrapper,.ncfcd-checkout .woocommerce-shipping-fields__field-wrapper{display:flex;flex-wrap:wrap;column-gap:3%;}
.ncfcd-checkout .woocommerce form .form-row,.ncfcd-checkout form .form-row{padding:0!important;margin:0 0 12px!important;clear:none!important}
.ncfcd-checkout form .form-row-first,.ncfcd-checkout form .form-row-last{width:48.5%!important;float:none!important}
.ncfcd-checkout form .form-row-wide{width:100%!important;float:none!important}
.ncfcd-checkout form .form-row label{font-size:11px!important;color:#566165!important;margin-bottom:4px!important;line-height:1.4!important}
.ncfcd-checkout form .form-row .input-text,.ncfcd-checkout form .form-row input[type=email],.ncfcd-checkout form .form-row input[type=tel],.ncfcd-checkout form .form-row select,.ncfcd-checkout .select2-container .select2-selection{width:100%!important;min-height:var(--ncfcd-field-h)!important;border:1px solid #d4d7da!important;border-radius:6px!important;background:#fff!important;box-shadow:none!important;color:var(--ncfcd-text)!important;padding:9px 10px!important;line-height:1.3!important;font-size:12px!important}
.ncfcd-checkout .select2-container .select2-selection{display:flex!important;align-items:center!important}
.ncfcd-checkout .select2-selection__rendered{padding-left:0!important;font-size:12px!important;line-height:1.3!important}
.ncfcd-checkout .select2-selection__arrow{top:7px!important}
.ncfcd-checkout .woocommerce-shipping-fields,.ncfcd-checkout .woocommerce-additional-fields{margin-top:14px}
.ncfcd-checkout .woocommerce-additional-fields textarea{min-height:90px!important}
.ncfcd-checkout .woocommerce-checkout-review-order-table{border:0!important;border-collapse:collapse!important;width:100%!important;margin:0!important;box-shadow:none!important;background:transparent!important}
.ncfcd-checkout .woocommerce-checkout-review-order-table th,.ncfcd-checkout .woocommerce-checkout-review-order-table td{font-size:12px!important;padding:10px 2px!important;border:0!important;border-bottom:1px solid var(--ncfcd-border)!important;background:transparent!important;vertical-align:top!important}
.ncfcd-checkout .woocommerce-checkout-review-order-table .product-name{font-size:12px;line-height:1.4}
.ncfcd-checkout .woocommerce-checkout-review-order-table td:last-child,.ncfcd-checkout .woocommerce-checkout-review-order-table th:last-child{text-align:right!important;white-space:nowrap}
.ncfcd-checkout .woocommerce-checkout-review-order-table tfoot .order-total th,.ncfcd-checkout .woocommerce-checkout-review-order-table tfoot .order-total td{font-size:15px!important;font-weight:800!important}
.ncfcd-checkout .woocommerce-checkout-payment{border:0!important;background:transparent!important;padding:0!important;margin:0!important}
.ncfcd-checkout .woocommerce-checkout-payment ul.payment_methods{border:0!important;padding:0!important;display:grid;grid-template-columns:1fr 1fr;gap:8px;background:transparent!important;list-style:none!important;margin:0!important}
.ncfcd-checkout .woocommerce-checkout-payment ul.payment_methods li{position:relative;border:1px solid #d6dadd!important;border-radius:7px!important;padding:11px!important;margin:0!important;font-size:12px!important;background:#fff!important;min-width:0}
.ncfcd-checkout .woocommerce-checkout-payment ul.payment_methods li:has(input:checked){border-color:var(--ncfcd-accent)!important;background:#fff8ee!important}
.ncfcd-checkout .woocommerce-checkout-payment ul.payment_methods li label{font-size:12px!important;display:inline!important}
.ncfcd-checkout .woocommerce-checkout-payment .payment_box{position:static!important;width:100%!important;grid-column:span 2!important;float:none!important;margin:7px 0 0!important;padding:8px!important;font-size:11px!important;background:#f7f8f9!important;box-shadow:none!important;color:var(--ncfcd-text)!important;overflow-wrap:anywhere}
.ncfcd-checkout .woocommerce-checkout-payment .payment_box:before{display:none!important}
.ncfcd-checkout .woocommerce-checkout-payment .place-order{background:transparent!important;padding:14px 0 0!important;margin:0!important}
.ncfcd-checkout .woocommerce-checkout-payment #place_order{width:100%!important;border:none!important;border-radius:6px!important;min-height:var(--ncfcd-button-h)!important;background:var(--ncfcd-accent)!important;color:#fff!important;font-size:12px!important;font-weight:750!important;float:none!important;box-shadow:none!important}
.ncfcd-checkout .woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper,.ncfcd-checkout .woocommerce-checkout-payment .woocommerce-privacy-policy-text{font-size:11px!important;line-height:1.55!important}
.ncfcd-checkout .woocommerce-checkout-payment img{max-height:24px;width:auto;vertical-align:middle}
.ncfcd-checkout #order_review_heading{display:none!important}
.ncfcd-wrap p.form-row{margin-bottom:10px!important}
.ncfcd-wrap .woocommerce-invalid input{border-color:#c83030!important}
.ncfcd-wrap .woocommerce-shipping-totals{font-size:11px}
.ncfcd-checkout .blockUI.blockOverlay{z-index:3!important}
@media (max-width:900px){
 .ncfcd-checkout-grid{grid-template-columns:1fr 1fr}
 .ncfcd-cart-grid{grid-template-columns:minmax(0,1.45fr) minmax(240px,.75fr)}
 .ncfcd-order-qtyline{gap:4px}
}
@media (max-width:767px){
 .ncfcd-wrap{margin:8px auto 55px;padding:0 var(--ncfcd-mobile-pad,12px);font-size:13px}
 .ncfcd-checkout{padding:10px var(--ncfcd-mobile-pad,12px) 20px}
 .ncfcd-checkout-grid,.ncfcd-cart-grid{grid-template-columns:minmax(0,1fr);gap:10px}
 .ncfcd-wrap .ncfcd-section{padding:13px;border-radius:12px}
 .ncfcd-titlebar{padding:6px 2px 14px}
 .ncfcd-titlebar h1{font-size:19px}
 .ncfcd-item-photo{width:58px;height:58px;flex-basis:58px}
 .ncfcd-item{gap:8px}
 .ncfcd-item-title{font-size:12px}
 .ncfcd-line{gap:4px;font-size:11px}
 .ncfcd-order-qtyline{gap:5px}
 .ncfcd-order-line-total{margin-left:0}
 .ncfcd-checkout form .form-row-first,.ncfcd-checkout form .form-row-last{width:48.5%!important}
 .ncfcd-checkout .woocommerce-checkout-payment ul.payment_methods{grid-template-columns:1fr 1fr}
 .ncfcd-wrap .cart_totals{font-size:12px}
}
@media (max-width:410px){
 .ncfcd-checkout form .form-row-first,.ncfcd-checkout form .form-row-last{width:100%!important}
 .ncfcd-checkout .woocommerce-checkout-payment ul.payment_methods{grid-template-columns:1fr}
 .ncfcd-order-qtyline{row-gap:4px}
 .ncfcd-order-eq{display:none}
}
/* Hide the country input only when BD is the store's *sole* allowed shipping country.
   The field remains present in the request for shipping, tax, and gateway validation. */
.ncfcd-checkout.ncfcd-single-country #billing_country_field,
.ncfcd-checkout.ncfcd-single-country #shipping_country_field{display:none!important}
/* ThemeHunk Top Store: safely suppress Woo page-specific sidebars ONLY when this designer is active.
   This is also configurable from Layout & Mobile. */
body.ncfcd-designer-live .page-head-woo{display:none!important}
body.ncfcd-wide-layout .main-area #sidebar-primary,
body.ncfcd-wide-layout .main-area #sidebar-secondary,
body.ncfcd-wide-layout .main-area > .sidebar-content-area{display:none!important}
body.ncfcd-wide-layout .main-area #primary,
body.ncfcd-wide-layout .main-area > .primary-content-area{width:100%!important;max-width:100%!important;float:none!important;flex:1 1 100%!important;margin-left:0!important;margin-right:0!important}
body.ncfcd-wide-layout .main-area .primary-content-wrap{width:100%!important;max-width:100%!important}
/* A signed-in user's WooCommerce account email is retained in the HTML form, even if visually hidden. */
.ncfcd-checkout.ncfcd-hide-email #billing_email_field{display:none!important}
.ncfcd-checkout .woocommerce-billing-fields > h3{display:none!important}
.ncfcd-checkout-coupon-input{display:flex;align-items:stretch;gap:8px}
.ncfcd-checkout-coupon-input input{width:100%;min-width:0;border:1px solid var(--ncfcd-border)!important;border-radius:6px!important;background:#fff!important;font-size:12px!important;padding:9px 10px!important;min-height:var(--ncfcd-field-h)!important;box-shadow:none!important}
.ncfcd-checkout-coupon-input button{border:0!important;background:var(--ncfcd-accent)!important;color:#fff!important;border-radius:6px!important;padding:6px 12px!important;font-size:12px!important;line-height:1.3!important;white-space:nowrap!important;min-height:var(--ncfcd-field-h)!important}
.ncfcd-checkout-coupon-input button:disabled{opacity:.6}
.ncfcd-coupon-feedback{font-size:11px;line-height:1.5;margin-top:7px;color:#42554e}
.ncfcd-notes-box:empty{display:none!important}
.ncfcd-notes-box .woocommerce-additional-fields{margin:0!important}
.ncfcd-notes-box .woocommerce-additional-fields h3{display:none!important}
.ncfcd-notes-box .form-row-wide{width:100%!important}

/* NCFCutout 2.0: independent dashboard sizing controls */
.ncfcd-wrap .ncfcd-section{padding:var(--ncfcd-section-pad,18px)}
.ncfcd-checkout-grid{grid-template-columns:minmax(0,var(--ncfcd-left-col,62%)) minmax(0,1fr);gap:var(--ncfcd-checkout-gap,14px)}
.ncfcd-checkout-left,.ncfcd-checkout-right{gap:var(--ncfcd-checkout-gap,14px)}
.ncfcd-item-photo{width:var(--ncfcd-cart-img,74px);height:var(--ncfcd-cart-img,74px);flex:0 0 var(--ncfcd-cart-img,74px)}
.ncfcd-item-title{font-size:var(--ncfcd-cart-title,15px)}
.ncfcd-stepper,.ncfcd-checkout-stepper{height:var(--ncfcd-cart-step,28px)}
.ncfcd-stepper button,.ncfcd-checkout-stepper button{height:calc(var(--ncfcd-cart-step,28px) - 2px)!important;width:calc(var(--ncfcd-cart-step,28px) - 2px)!important;min-width:calc(var(--ncfcd-cart-step,28px) - 2px)!important}
.ncfcd-stepper input.qty,.ncfcd-checkout-stepper input{height:calc(var(--ncfcd-cart-step,28px) - 2px)!important}
.ncfcd-checkout form .ncfcd-field-w-25{width:22.75%!important;flex:0 0 22.75%!important}
.ncfcd-checkout form .ncfcd-field-w-50{width:48.5%!important;flex:0 0 48.5%!important}
.ncfcd-checkout form .ncfcd-field-w-75{width:74.25%!important;flex:0 0 74.25%!important}
.ncfcd-checkout form .ncfcd-field-w-100{width:100%!important;flex:0 0 100%!important}
@media(max-width:900px){.ncfcd-checkout-grid{grid-template-columns:1fr 1fr}}
@media(max-width:767px){.ncfcd-checkout-grid{grid-template-columns:1fr}.ncfcd-wrap .ncfcd-section{padding:clamp(8px,var(--ncfcd-section-pad,18px),26px)}.ncfcd-item-photo{width:min(74px,var(--ncfcd-cart-img,74px));height:min(74px,var(--ncfcd-cart-img,74px));flex-basis:min(74px,var(--ncfcd-cart-img,74px))}}
@media(max-width:540px){.ncfcd-checkout form .ncfcd-field-w-25,.ncfcd-checkout form .ncfcd-field-w-50,.ncfcd-checkout form .ncfcd-field-w-75{width:100%!important;flex:0 0 100%!important}}

/* v2.1 Checkout UX: compact store checkout, safe WooCommerce forms. */
.ncfcd-login-strip{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid #d8dce3;border-radius:9px;margin:12px 0 15px;padding:10px 14px;font-size:13px}
.ncfcd-login-actions{display:flex;align-items:center;gap:8px}
.ncfcd-login-actions a{display:inline-flex!important;align-items:center;justify-content:center;border:1px solid var(--ncfcd-accent)!important;color:#d27100!important;padding:5px 14px;border-radius:5px;text-decoration:none!important;font-weight:600;font-size:12px;white-space:nowrap}
.ncfcd-login-actions a.ncfcd-register{background:var(--ncfcd-accent)!important;color:#fff!important}
.ncfcd-shipping-fields,.ncfcd-alt-billing-fields{display:flex;flex-wrap:wrap;align-items:start;column-gap:3%;}
.ncfcd-shipping-fields>.form-row,.ncfcd-alt-billing-fields>.form-row{float:none!important}
.ncfcd-shipping-fields .ncfcd-field-w-50,.ncfcd-alt-billing-fields .ncfcd-field-w-50{width:48.5%!important;flex:0 0 48.5%}
.ncfcd-shipping-fields .ncfcd-field-w-100,.ncfcd-alt-billing-fields .ncfcd-field-w-100{width:100%!important;flex:0 0 100%}
.ncfcd-main-address-help{font-size:11px;color:#5b6574;margin:-3px 0 12px;line-height:1.5}
.ncfcd-checkout .ncfcd-shipping-fields .form-row,.ncfcd-checkout .ncfcd-alt-billing-fields .form-row{margin-bottom:10px!important}
.ncfcd-checkout .ncfcd-shipping-fields label,.ncfcd-checkout .ncfcd-alt-billing-fields label{font-weight:600}
.ncfcd-checkout .ncfcd-shipping-fields label .required,.ncfcd-checkout .ncfcd-alt-billing-fields label .required{color:#ea680b}
.ncfcd-billing-heading{display:flex!important;justify-content:space-between;gap:9px;align-items:center;flex-wrap:wrap;cursor:pointer;font-size:15px;margin:0!important}
.ncfcd-billing-control{font-size:12px;display:flex;gap:7px;align-items:center;font-weight:500}
.ncfcd-billing-control input{accent-color:var(--ncfcd-accent);margin:0!important}
.ncfcd-alt-billing-fields[hidden]{display:none!important}
.ncfcd-alt-billing-fields{margin-top:14px;padding-top:14px;border-top:1px solid var(--ncfcd-border)}
.ncfcd-alt-billing-fields>p{width:100%;margin:0 0 10px;font-size:12px;color:#606870}
.ncfcd-checkout .ncfcd-checkout-review-order-table thead,
.ncfcd-checkout .ncfcd-checkout-review-order-table tbody{display:none}
.ncfcd-checkout .woocommerce-checkout-review-order-table thead,
.ncfcd-checkout .woocommerce-checkout-review-order-table tbody{display:none}
.ncfcd-checkout .woocommerce-checkout-review-order-table .cart-subtotal th,.ncfcd-checkout .woocommerce-checkout-review-order-table .cart-subtotal td{font-weight:400}
.ncfcd-order-item .ncfcd-checkout-remove{background:#fff3f4!important;border-radius:5px!important}
.ncfcd-checkout .woocommerce-checkout-payment ul.payment_methods li{border-color:#d2d7de!important}
.ncfcd-checkout .woocommerce-checkout-payment ul.payment_methods li.wc_payment_method:has(input:checked){border-color:var(--ncfcd-accent)!important;background:#fff7ec!important}
.ncfcd-checkout .ncfcd-checkout-coupon-input input{min-width:0}
.ncfcd-checkout .ncfcd-checkout-coupon-input button{white-space:nowrap}
@media(max-width:767px){
 .ncfcd-login-strip{padding:9px;align-items:start;flex-wrap:wrap}
 .ncfcd-login-actions{margin-left:auto}
 .ncfcd-checkout .ncfcd-shipping-fields .ncfcd-field-w-50,.ncfcd-checkout .ncfcd-alt-billing-fields .ncfcd-field-w-50{width:48.5%!important;flex-basis:48.5%}
 .ncfcd-checkout .ncfcd-section{padding:12px!important}
 .ncfcd-billing-heading{font-size:13px}
}
@media(max-width:420px){
 .ncfcd-shipping-fields .ncfcd-field-w-50,.ncfcd-alt-billing-fields .ncfcd-field-w-50{width:100%!important;flex-basis:100%!important}
}
.ncfcd-referral-label{display:block;margin-top:11px;margin-bottom:5px;font-size:11px;color:#536170;font-weight:600}
.ncfcd-checkout #ncfcd_referral_code{border:1px solid #d5d9dd!important;border-radius:6px!important;padding:8px 10px!important;width:100%;font-size:12px;min-height:36px}

/* ===== NCFCutout v2.2.0 compact reference layout ===== */
body.ncfcd-checkout-active .main-area .entry-header,body.ncfcd-checkout-active .page-head-woo,body.ncfcd-checkout-active .main-area .page-header:not(.ncfcd-titlebar){display:none!important}
.ncfcd-wrap.ncfcd-checkout{--ncfcd-checkout-gap:12px;margin:0 auto 36px!important;padding:0 max(12px,var(--ncfcd-mobile-pad,12px)) 22px;background:transparent!important;max-width:var(--ncfcd-width,1180px);width:100%;}
.ncfcd-checkout .ncfcd-titlebar{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:3px!important;text-align:center!important;padding:8px 0 15px!important;margin:0!important;background:transparent!important}
.ncfcd-checkout .ncfcd-titlebar h1{font-size:22px!important;line-height:1.25!important;color:#162532!important;margin:0!important}
.ncfcd-checkout .ncfcd-breadcrumb{justify-content:center!important;font-size:12px!important}
.ncfcd-wrap .ncfcd-login-strip{display:flex!important;width:100%!important;min-height:46px!important;margin:0 0 12px!important;padding:7px 13px!important;border:1px solid #d1d4da!important;background:#f5f6f9!important;border-radius:7px!important;box-shadow:none!important;align-items:center!important;}
.ncfcd-checkout .ncfcd-checkout-form{display:block!important;margin:0!important;padding:0!important;background:transparent!important}
.ncfcd-checkout .ncfcd-checkout-grid{display:grid!important;grid-template-columns:minmax(0,var(--ncfcd-left-col,58%)) minmax(0,1fr)!important;gap:var(--ncfcd-checkout-gap,12px)!important;align-items:start!important;padding:0!important;margin:0!important;}
.ncfcd-checkout .ncfcd-checkout-left,.ncfcd-checkout .ncfcd-checkout-right{display:flex!important;flex-direction:column!important;gap:var(--ncfcd-checkout-gap,12px)!important;min-width:0!important;align-items:stretch!important;justify-content:flex-start!important;margin:0!important;padding:0!important;}
.ncfcd-checkout .ncfcd-checkout-left:before,.ncfcd-checkout .ncfcd-checkout-right:before,.ncfcd-checkout .ncfcd-checkout-left:after,.ncfcd-checkout .ncfcd-checkout-right:after{display:none!important;content:none!important}
.ncfcd-checkout .ncfcd-checkout-grid>.ncfcd-checkout-left>.ncfcd-section,.ncfcd-checkout .ncfcd-checkout-grid>.ncfcd-checkout-right>.ncfcd-section{position:static!important;display:block!important;float:none!important;flex:0 0 auto!important;width:100%!important;height:auto!important;min-height:0!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:var(--ncfcd-section-pad,16px)!important;border:1px solid var(--ncfcd-border,#e5e8ec)!important;border-radius:12px!important;background:var(--ncfcd-card,#fff)!important;box-shadow:none!important;}
.ncfcd-checkout .ncfcd-section h2{margin:0 0 13px!important;font-size:14px!important;font-weight:650!important;line-height:1.3!important;letter-spacing:0!important}
.ncfcd-checkout .ncfcd-section h2:before{height:15px!important;width:3px!important;margin-right:8px!important}
.ncfcd-checkout .ncfcd-order-item{min-height:0!important;padding:8px 0!important;margin:0!important;gap:10px!important;display:flex!important;align-items:center!important;}
.ncfcd-checkout .ncfcd-order-item:first-child{padding-top:2px!important}
.ncfcd-checkout .ncfcd-order-photo{width:45px!important;height:45px!important;min-width:45px!important;flex:0 0 45px!important;}
.ncfcd-checkout .ncfcd-order-photo img{width:100%!important;height:100%!important;object-fit:contain!important;max-width:100%!important;}
.ncfcd-checkout .ncfcd-order-name{font-size:12px!important;line-height:1.35!important;font-weight:600!important}
.ncfcd-checkout .ncfcd-order-qtyline{display:flex!important;align-items:center!important;gap:5px!important;flex-wrap:wrap!important;font-size:11px!important;line-height:1.4!important;margin:3px 0 0!important}
.ncfcd-checkout .ncfcd-checkout-stepper{height:24px!important;max-height:24px!important;border-radius:13px!important}
.ncfcd-checkout .ncfcd-checkout-stepper button{width:22px!important;height:22px!important;min-width:22px!important;font-size:12px!important;line-height:22px!important}
.ncfcd-checkout .ncfcd-checkout-stepper input{height:22px!important;min-height:22px!important;width:28px!important;max-width:28px!important;min-width:28px!important;text-align:center!important;font-size:11px!important;padding:0!important}
.ncfcd-checkout .ncfcd-checkout-remove{margin-left:auto!important;flex-shrink:0!important;width:23px!important;height:23px!important;min-width:23px!important;border-radius:5px!important;background:#f04452!important;color:white!important;font-size:17px!important;line-height:23px!important;padding:0!important;}
.ncfcd-checkout .ncfcd-shipping-fields,.ncfcd-checkout .ncfcd-billing-fieldset{display:flex!important;flex-wrap:wrap!important;column-gap:3%!important;margin:0!important;padding:0!important;}
.ncfcd-checkout .ncfcd-shipping-fields .form-row,.ncfcd-checkout .ncfcd-billing-fieldset .form-row{margin:0 0 9px!important;padding:0!important;}
.ncfcd-checkout .ncfcd-shipping-fields label:not(.checkbox),.ncfcd-checkout .ncfcd-billing-fieldset label:not(.checkbox){font-size:0!important;height:0!important;margin:0!important;overflow:hidden!important;display:block!important}
.ncfcd-checkout .ncfcd-shipping-fields input,.ncfcd-checkout .ncfcd-shipping-fields select,.ncfcd-checkout .ncfcd-billing-fieldset input,.ncfcd-checkout .ncfcd-billing-fieldset select{height:var(--ncfcd-field-h,42px)!important;min-height:var(--ncfcd-field-h,42px)!important;border:1px solid #cdd1d7!important;border-radius:7px!important;font-size:12px!important;padding:7px 11px!important;margin:0!important;background:#fff!important;box-shadow:none!important}
.ncfcd-checkout .ncfcd-shipping-fields .select2-container .select2-selection,.ncfcd-checkout .ncfcd-billing-fieldset .select2-container .select2-selection{height:var(--ncfcd-field-h,42px)!important;min-height:var(--ncfcd-field-h,42px)!important;border:1px solid #cdd1d7!important;border-radius:7px!important;background:#fff!important}
.ncfcd-checkout .ncfcd-shipping-fields .select2-container .select2-selection__rendered,.ncfcd-checkout .ncfcd-billing-fieldset .select2-container .select2-selection__rendered{line-height:var(--ncfcd-field-h,42px)!important;font-size:12px!important}
.ncfcd-checkout .ncfcd-alt-billing .ncfcd-billing-heading{font-size:14px!important;margin:0!important}
.ncfcd-checkout .ncfcd-alt-billing-fields[hidden]{display:none!important}
.ncfcd-checkout .ncfcd-alt-billing-fields{margin:12px 0 0!important;padding:12px 0 0!important}
.ncfcd-checkout .ncfcd-alt-billing .ncfcd-billing-control{gap:5px!important;font-size:11px!important}
.ncfcd-checkout .ncfcd-payment-box #payment{padding:0!important;background:none!important;border:0!important;margin:0!important;box-shadow:none!important;}
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;}
.ncfcd-checkout .ncfcd-payment-box #payment li.wc_payment_method{min-width:0!important;float:none!important;display:block!important;margin:0!important;padding:8px 9px!important;background:#fff!important;border:1px solid #cfd3d9!important;border-radius:7px!important;}
.ncfcd-checkout .ncfcd-payment-box #payment li.wc_payment_method:has(input:checked){background:#eaf0ff!important;border-color:var(--ncfcd-accent)!important}
.ncfcd-checkout .ncfcd-payment-box #payment li.wc_payment_method label{font-size:11px!important;line-height:1.4!important;cursor:pointer!important;max-width:100%!important}
.ncfcd-checkout .ncfcd-payment-box #payment li.wc_payment_method img{max-width:30px!important;max-height:20px!important;object-fit:contain!important}
.ncfcd-checkout .ncfcd-payment-box #payment .payment_box{grid-column:1/-1!important;font-size:11px!important;position:relative!important;margin:10px 0 0!important;padding:8px!important;width:100%!important;box-shadow:none!important}
.ncfcd-checkout .ncfcd-checkout-coupon h2{font-size:13px!important}
.ncfcd-checkout .ncfcd-checkout-coupon-input{display:flex!important;gap:6px!important;align-items:center!important;}
.ncfcd-checkout .ncfcd-checkout-coupon-input input{flex:1!important;min-width:0!important;height:36px!important;min-height:36px!important;font-size:12px!important}
.ncfcd-checkout .ncfcd-checkout-coupon-input button{flex:0 0 auto!important;min-height:36px!important;padding:5px 10px!important;font-size:11px!important}
.ncfcd-checkout .ncfcd-referral-details{margin:8px 0 0!important;font-size:11px!important}
.ncfcd-checkout .ncfcd-referral-details summary{cursor:pointer;color:#5b6671!important}
.ncfcd-checkout .ncfcd-checkout-totals #order_review{margin:0!important;padding:0!important;border:0!important}
.ncfcd-checkout .ncfcd-checkout-totals .woocommerce-checkout-review-order-table{width:100%!important;margin:0!important;border:0!important;border-collapse:collapse!important}
.ncfcd-checkout .ncfcd-checkout-totals .woocommerce-checkout-review-order-table tfoot th,.ncfcd-checkout .ncfcd-checkout-totals .woocommerce-checkout-review-order-table tfoot td{padding:8px 0!important;font-size:12px!important;border:0!important;border-bottom:1px solid #edf0f2!important;background:none!important}
.ncfcd-checkout .ncfcd-checkout-totals .woocommerce-checkout-review-order-table tfoot tr:last-child th,.ncfcd-checkout .ncfcd-checkout-totals .woocommerce-checkout-review-order-table tfoot tr:last-child td{border-bottom:0!important;font-weight:750!important;font-size:14px!important}
.ncfcd-checkout .ncfcd-plan-box{border-top:1px solid #e9e9ed;margin:10px calc(-1 * var(--ncfcd-section-pad,16px)) calc(-1 * var(--ncfcd-section-pad,16px));padding:10px var(--ncfcd-section-pad,16px) 12px!important}
.ncfcd-checkout .ncfcd-plan-box h3{margin:0 0 8px!important;font-size:12px!important}
.ncfcd-checkout .ncfcd-plan-option{display:flex!important;align-items:center!important;gap:7px!important;padding:5px 0!important;font-size:11px!important;cursor:pointer}
.ncfcd-checkout .ncfcd-plan-warning{font-size:10px!important;line-height:1.5!important;color:#7b5b20!important;margin:6px 0 0!important}
.ncfcd-checkout .ncfcd-notes-box h2 small{font-weight:400!important;font-size:11px!important}
.ncfcd-checkout .ncfcd-notes-box textarea{width:100%!important;min-height:62px!important;border:1px solid #cfd4db!important;border-radius:7px!important;font-size:12px!important;padding:10px!important;margin:0!important;}
.ncfcd-checkout .ncfcd-submit-box{padding:0!important;border:none!important;border-radius:0!important;background:transparent!important}
.ncfcd-checkout .ncfcd-place-order{margin:0!important;padding:0!important;background:transparent!important;float:none!important;width:100%!important;}
.ncfcd-checkout .ncfcd-place-order .woocommerce-terms-and-conditions-wrapper{padding:2px 3px 12px!important;margin:0!important;font-size:12px!important;line-height:1.5!important;}
.ncfcd-checkout .ncfcd-place-order #place_order{display:block!important;width:100%!important;float:none!important;margin:0!important;height:var(--ncfcd-button-h,40px)!important;border-radius:5px!important;background:var(--ncfcd-accent)!important;color:white!important;border:0!important;font-weight:700!important;text-transform:uppercase!important;font-size:12px!important;}
.ncfcd-checkout .ncfcd-submit-box .woocommerce-privacy-policy-text{font-size:11px!important}
.ncfcd-checkout .woocommerce-checkout-payment .payment_box p:last-child{margin:0!important}
@media(max-width:767px){
 .ncfcd-checkout .ncfcd-checkout-grid{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
 .ncfcd-checkout .ncfcd-checkout-left,.ncfcd-checkout .ncfcd-checkout-right{gap:10px!important}
 .ncfcd-wrap.ncfcd-checkout{padding:0 12px 28px!important}
 .ncfcd-checkout .ncfcd-checkout-grid>.ncfcd-checkout-left>.ncfcd-section,.ncfcd-checkout .ncfcd-checkout-grid>.ncfcd-checkout-right>.ncfcd-section{padding:12px!important}
 .ncfcd-checkout .ncfcd-order-item{gap:7px!important}
 .ncfcd-checkout .ncfcd-order-qtyline{gap:3px!important}
 .ncfcd-checkout .ncfcd-order-eq{display:none!important}
}
@media(max-width:400px){
 .ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods{grid-template-columns:1fr!important}
 .ncfcd-checkout .ncfcd-checkout-coupon-input{flex-wrap:wrap!important}
 .ncfcd-checkout .ncfcd-checkout-coupon-input button{min-width:100%!important}
}

/* NCFCutout 2.3.0 – scoped refinements; the theme outside the four pages is unchanged */
body.ncfcd-checkout-active #primary,body.ncfcd-checkout-active .content-area,body.ncfcd-checkout-active .site-main,body.ncfcd-checkout-active .entry-content,body.ncfcd-checkout-active article.page,body.ncfcd-checkout-active .thunk-content-wrap,body.ncfcd-checkout-active .main-content{width:100%!important;max-width:none!important;flex:1 1 100%!important}
body.ncfcd-checkout-active .site-content .container,body.ncfcd-checkout-active .main-content .container,body.ncfcd-checkout-active .thunk-content-wrap>.container{max-width:1280px!important;width:100%!important}
.ncfcd-wrap.ncfcd-checkout{width:min(100%,var(--ncfcd-width,1180px))!important;max-width:100%!important;margin:0 auto 30px!important;padding:12px 14px 20px!important}
.ncfcd-checkout form.ncfcd-checkout-form{width:100%!important;max-width:none!important}
.ncfcd-checkout .ncfcd-checkout-grid{display:grid!important;grid-template-columns:minmax(0,var(--ncfcd-left-col,60%)) minmax(0,1fr)!important;gap:var(--ncfcd-checkout-gap,14px)!important;align-items:start!important;width:100%!important}
.ncfcd-checkout .ncfcd-checkout-left,.ncfcd-checkout .ncfcd-checkout-right{min-width:0!important;display:flex!important;flex-direction:column!important;gap:var(--ncfcd-gap,14px)!important}
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important;gap:8px!important}
.ncfcd-checkout .ncfcd-payment-box #payment li.wc_payment_method{min-height:38px!important;min-width:0!important;align-self:start!important;padding:7px 10px!important;line-height:1.3!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:3px!important}
.ncfcd-checkout .ncfcd-payment-box #payment li.wc_payment_method>input[type=radio]{flex:0 0 auto!important;position:static!important;margin:0 5px 0 0!important}
.ncfcd-checkout .ncfcd-payment-box #payment li.wc_payment_method>label{flex:1 1 75%!important;display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:4px!important;min-width:0!important;margin:0!important;font-size:11px!important}
.ncfcd-checkout .ncfcd-payment-box #payment li.wc_payment_method>label img{max-width:34px!important;max-height:24px!important;object-fit:contain!important;vertical-align:middle!important}
/* Only the selected gateway expands, and its fields use a full-width detail panel below its own label. */
.ncfcd-checkout .ncfcd-payment-box #payment li.wc_payment_method.ncfcd-gateway-expanded{grid-column:1 / -1!important;display:flex!important;flex-flow:row wrap!important;align-items:flex-start!important}
.ncfcd-checkout .ncfcd-payment-box #payment li.wc_payment_method.ncfcd-gateway-expanded>label{flex:1!important;min-height:20px!important}
.ncfcd-checkout .ncfcd-payment-box #payment li.wc_payment_method .payment_box{flex:0 0 100%!important;min-width:0!important;display:none!important;margin:8px 0 0!important;padding:12px!important;background:#f8fafc!important;border:1px solid #e7eaf0!important;border-radius:6px!important;overflow:visible!important;overflow-wrap:anywhere!important;height:auto!important;max-height:none!important;line-height:1.65!important;box-sizing:border-box!important}
.ncfcd-checkout .ncfcd-payment-box #payment li.wc_payment_method.ncfcd-gateway-expanded .payment_box{display:block!important}
.ncfcd-checkout .ncfcd-payment-box #payment li.wc_payment_method .payment_box :is(input,select,textarea){max-width:100%!important;width:100%!important;box-sizing:border-box!important;font-size:12px!important;min-height:32px!important;height:auto!important;padding:7px!important}
.ncfcd-checkout .ncfcd-payment-box #payment li.wc_payment_method .payment_box :is(table,tbody,tr,td){max-width:100%!important;overflow-wrap:anywhere!important;table-layout:auto!important;word-break:break-word!important;font-size:11px!important}

.ncfcd-checkout .ncfcd-payment-box #payment .payment_box::before{display:none!important}
.ncfcd-checkout .ncfcd-shipping-fields .form-row#shipping_first_name_field,.ncfcd-checkout .ncfcd-shipping-fields .form-row#shipping_phone_field{width:48.5%!important;flex:0 0 48.5%!important}
.ncfcd-checkout .ncfcd-shipping-fields .form-row#shipping_email_field,.ncfcd-checkout .ncfcd-shipping-fields .form-row#shipping_address_1_field{width:100%!important;flex:0 0 100%!important}
.ncfcd-checkout .ncfcd-shipping-fields .form-row#shipping_country_field{width:100%!important;flex:0 0 100%!important}
.ncfcd-checkout .ncfcd-shipping-fields .form-row#shipping_state_field,.ncfcd-checkout .ncfcd-shipping-fields .form-row#shipping_city_field{width:48.5%!important;flex:0 0 48.5%!important}
.ncfcd-checkout .ncfcd-billing-fieldset .form-row#billing_first_name_field,.ncfcd-checkout .ncfcd-billing-fieldset .form-row#billing_phone_field{width:48.5%!important;flex:0 0 48.5%!important}
.ncfcd-checkout .ncfcd-billing-fieldset .form-row#billing_country_field,.ncfcd-checkout .ncfcd-billing-fieldset .form-row#billing_state_field,.ncfcd-checkout .ncfcd-billing-fieldset .form-row#billing_city_field{width:31.3%!important;flex:0 0 31.3%!important}
.ncfcd-checkout .ncfcd-shipping-fields .ncfcd-address-preview{width:100%;flex:0 0 100%;background:#fffaf6;border:1px solid #ffdab9;color:#3d3430;border-radius:6px;margin:3px 0 0;padding:8px 11px;line-height:1.45}
.ncfcd-checkout .ncfcd-address-preview small{font-size:10px;color:#c86a15;display:block;letter-spacing:.03em}
.ncfcd-checkout .ncfcd-address-preview strong{display:block;font-size:12px;line-height:1.5;font-weight:600}
.ncfcd-checkout .ncfcd-alt-billing-fields[hidden],.ncfcd-checkout .ncfcd-plan-box[hidden]{display:none!important}
.ncfcd-checkout .ncfcd-plan-box{background:#fff!important}
.ncfcd-checkout .ncfcd-estimate{padding:8px 0;margin:9px 0;border-top:1px solid #e8eaed;border-bottom:1px solid #e8eaed}
.ncfcd-checkout .ncfcd-estimate>div{display:flex;justify-content:space-between;gap:8px;padding:5px 0;font-size:11px}
.ncfcd-checkout .ncfcd-estimate>div strong{font-variant-numeric:tabular-nums}
.ncfcd-checkout .ncfcd-estimate>div:last-child{color:#a65a10}
.ncfcd-checkout .ncfcd-submit-box{width:100%!important;max-width:100%!important}
/* WooCommerce native My Account markup and handlers, only aesthetic changes */
.ncfcd-auth{max-width:830px;margin:50px auto 65px;background:#fff;padding:28px;border-radius:15px;box-shadow:0 12px 36px rgba(11,24,29,.10);border:1px solid #e8e9ee;color:#17242b}
.ncfcd-auth *{box-sizing:border-box}
.ncfcd-auth-title{display:flex;justify-content:center;align-items:center;gap:12px;margin:0 0 24px}
.ncfcd-auth-title h1{font-size:22px;margin:0 0 3px!important;font-weight:750;line-height:1.3}
.ncfcd-auth-title p{font-size:12px;margin:0!important;color:#697581}
.ncfcd-auth-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:9px;background:#f58b20;color:#fff;font-size:28px}
.ncfcd-auth .woocommerce .u-columns{display:block!important;width:100%!important}
.ncfcd-auth .woocommerce .u-columns .u-column1,.ncfcd-auth .woocommerce .u-columns .u-column2{width:100%!important;max-width:420px;margin:0 auto!important;float:none!important;padding:0!important}
.ncfcd-auth--login .woocommerce .u-column2,.ncfcd-auth--register .woocommerce .u-column1{display:none!important}
.ncfcd-auth .woocommerce h2{font-size:15px!important;margin:0 0 12px!important}
.ncfcd-auth .woocommerce form.woocommerce-form{border:0!important;background:#f7f7f8!important;padding:21px!important;border-radius:11px!important;margin:0!important}
.ncfcd-auth .woocommerce form .form-row{display:block!important;width:100%!important;float:none!important;margin:0 0 12px!important;padding:0!important}
.ncfcd-auth .woocommerce form input:not([type=checkbox]),.ncfcd-auth .woocommerce form select{width:100%!important;max-width:none!important;min-height:42px!important;padding:10px 11px!important;background:white!important;border:1px solid #dfe2e7!important;border-radius:6px!important;font-size:13px!important}
.ncfcd-auth .woocommerce form button.button{width:100%!important;min-height:40px!important;border:0!important;border-radius:6px!important;background:#f58b20!important;color:#fff!important;font-size:13px!important;font-weight:700!important}
.ncfcd-auth .woocommerce form .woocommerce-form-login__rememberme{display:flex!important;gap:7px!important;align-items:center!important}
.ncfcd-auth .woocommerce form input[type=checkbox]{width:auto!important}
.ncfcd-auth .woocommerce form .lost_password{font-size:12px!important;text-align:right!important}
.ncfcd-auth-footer{text-align:center;font-size:12px;margin:22px 0 0;color:#4a5761}
.ncfcd-auth-footer a{color:#e77306!important;text-decoration:underline!important;margin-left:5px}
@media(max-width:767px){
 body.ncfcd-checkout-active .site-content .container{padding-left:0!important;padding-right:0!important}
 .ncfcd-checkout .ncfcd-checkout-grid{grid-template-columns:minmax(0,1fr)!important}
 .ncfcd-wrap.ncfcd-checkout{padding:8px 10px 65px!important}
 .ncfcd-checkout .ncfcd-shipping-fields .form-row#shipping_first_name_field,.ncfcd-checkout .ncfcd-shipping-fields .form-row#shipping_phone_field{width:48.5%!important;flex:0 0 48.5%!important}
 .ncfcd-checkout .ncfcd-shipping-fields .form-row#shipping_state_field,.ncfcd-checkout .ncfcd-shipping-fields .form-row#shipping_city_field{width:48.5%!important;flex:0 0 48.5%!important}
 .ncfcd-checkout .ncfcd-billing-fieldset .form-row#billing_country_field,.ncfcd-checkout .ncfcd-billing-fieldset .form-row#billing_state_field,.ncfcd-checkout .ncfcd-billing-fieldset .form-row#billing_city_field{width:100%!important;flex:0 0 100%!important}
 .ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .ncfcd-auth{padding:17px 13px;margin:18px 10px 45px}
}
@media(max-width:370px){.ncfcd-checkout .ncfcd-shipping-fields .form-row#shipping_first_name_field,.ncfcd-checkout .ncfcd-shipping-fields .form-row#shipping_phone_field{width:100%!important;flex:0 0 100%!important}}


/* NCFCutout 2.3.1 gateway layout fix
   Radios stay inside their original WooCommerce payment method <li> nodes.
   Payment boxes are visually positioned below the grid without detaching fields
   or interfering with third-party gateway JavaScript and server validation. */
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods{
    position:relative!important;
    display:grid!important;
    grid-template-columns:repeat(var(--ncfcd-gateway-cols,2),minmax(0,1fr))!important;
    gap:8px!important;
    align-items:stretch!important;
    padding:0 0 var(--ncfcd-gateway-detail-space,0px)!important;
    margin:0!important;
    list-style:none!important;
    box-sizing:border-box!important;
}
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods>li.wc_payment_method,
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods>li.wc_payment_method.ncfcd-gateway-expanded{
    position:static!important;
    grid-column:auto!important;
    grid-row:auto!important;
    align-self:stretch!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    align-content:center!important;
    align-items:center!important;
    gap:5px!important;
    margin:0!important;
    min-height:39px!important;
    padding:7px 9px!important;
    border-radius:7px!important;
    box-sizing:border-box!important;
}
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods>li.wc_payment_method>label,
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods>li.wc_payment_method.ncfcd-gateway-expanded>label{
    display:flex!important;
    flex:1 1 auto!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    min-width:0!important;
    width:auto!important;
    margin:0!important;
    gap:4px!important;
    padding:0!important;
    font-size:11px!important;
    line-height:1.4!important;
}
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods>li.wc_payment_method>.payment_box,
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods>li.wc_payment_method.ncfcd-gateway-expanded>.payment_box{
    position:absolute!important;
    top:var(--ncfcd-gateway-detail-top,90px)!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:11px!important;
    float:none!important;
    box-sizing:border-box!important;
    border:1px solid #e5e8ef!important;
    border-radius:7px!important;
    background:#f8fafc!important;
    overflow:visible!important;
}
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods>li.wc_payment_method>.payment_box{display:none!important;}
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods>li.wc_payment_method.ncfcd-gateway-expanded>.payment_box{display:block!important;}
/* Keep two columns on narrow mobile screens if that was chosen in Settings. */
@media(max-width:400px){
  .ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods{
      grid-template-columns:repeat(var(--ncfcd-gateway-cols,2),minmax(0,1fr))!important;
  }
}


/* NCFCutout 2.3.2 – Bangladesh compact field grid, conditional online-plan layout. */
.ncfcd-checkout .ncfcd-shipping-fields>.ncfcd-country-hidden,
.ncfcd-checkout .ncfcd-billing-fieldset>.ncfcd-country-hidden {display:none!important;}
.ncfcd-checkout .ncfcd-shipping-fields,.ncfcd-checkout .ncfcd-billing-fieldset{display:flex!important;flex-wrap:wrap!important;gap:0 3%!important;align-items:start!important}
.ncfcd-checkout .ncfcd-shipping-fields>p#shipping_first_name_field,
.ncfcd-checkout .ncfcd-shipping-fields>p#shipping_phone_field,
.ncfcd-checkout .ncfcd-shipping-fields>p#shipping_state_field,
.ncfcd-checkout .ncfcd-shipping-fields>p#shipping_city_field,
.ncfcd-checkout .ncfcd-billing-fieldset>p#billing_first_name_field,
.ncfcd-checkout .ncfcd-billing-fieldset>p#billing_phone_field,
.ncfcd-checkout .ncfcd-billing-fieldset>p#billing_state_field,
.ncfcd-checkout .ncfcd-billing-fieldset>p#billing_city_field{width:48.5%!important;flex:0 0 48.5%!important;min-width:0!important}
.ncfcd-checkout .ncfcd-shipping-fields>p#shipping_email_field,
.ncfcd-checkout .ncfcd-shipping-fields>p#shipping_address_1_field,
.ncfcd-checkout .ncfcd-billing-fieldset>p#billing_email_field,
.ncfcd-checkout .ncfcd-billing-fieldset>p#billing_address_1_field{width:100%!important;flex:0 0 100%!important}
.ncfcd-checkout .ncfcd-shipping-fields>.ncfcd-address-preview{width:100%!important;flex:0 0 100%!important;margin:0 0 10px!important}
.ncfcd-checkout .ncfcd-shipping-fields>.ncfcd-address-preview[hidden]{display:none!important}
.ncfcd-checkout .ncfcd-plan-box[hidden], .ncfcd-checkout #ncfcd-plan-box[hidden]{display:none!important}
.ncfcd-checkout.ncfcd-payment-offline .ncfcd-plan-box{display:none!important}
.ncfcd-checkout .ncfcd-estimate{margin:7px 0!important;border-top:1px solid #eef0f3!important;border-bottom:0!important}
.ncfcd-checkout .ncfcd-estimate>div{font-size:12px!important;padding:5px 0!important;gap:10px!important}
.ncfcd-checkout .ncfcd-estimate>div strong{white-space:nowrap!important;text-align:right!important}
.ncfcd-checkout .ncfcd-billing-fieldset>p#billing_address_1_field{order:12!important}
@media(max-width:420px){
 .ncfcd-checkout .ncfcd-shipping-fields>p#shipping_first_name_field,.ncfcd-checkout .ncfcd-shipping-fields>p#shipping_phone_field,
 .ncfcd-checkout .ncfcd-billing-fieldset>p#billing_first_name_field,.ncfcd-checkout .ncfcd-billing-fieldset>p#billing_phone_field{width:48.5%!important;flex-basis:48.5%!important}
}


/* NCFCutout 2.3.3 — equal-size payment cards; no gateway input/fields are moved.
   Desktop: up to four cards in one row. Mobile/narrow payment panel: two per row.
   Uses existing WooCommerce radios and the v2.3.1 selected-gateway detail panel. */
.ncfcd-checkout .ncfcd-payment-box{
    container-type:inline-size;
    container-name:ncfcd-payment-panel;
}
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods{
    position:relative!important;
    display:grid!important;
    grid-template-columns:repeat(var(--ncfcd-gateway-cols,4),minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    grid-auto-rows:minmax(44px,auto)!important;
    gap:8px!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    padding:0 0 var(--ncfcd-gateway-detail-space,0px)!important;
    width:100%!important;
    box-sizing:border-box!important;
    border:0!important;
    margin:0!important;
    list-style:none!important;
    background:transparent!important;
}
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods > li.wc_payment_method,
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods > li.wc_payment_method.ncfcd-gateway-expanded{
    position:static!important;
    display:flex!important;
    grid-column:auto!important;
    grid-row:auto!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    justify-content:flex-start!important;
    align-items:center!important;
    align-self:stretch!important;
    gap:5px!important;
    min-width:0!important;
    width:100%!important;
    min-height:44px!important;
    height:auto!important;
    padding:7px 8px!important;
    margin:0!important;
    float:none!important;
    box-sizing:border-box!important;
    border:1px solid #ccd2db!important;
    border-radius:8px!important;
    background:#fff!important;
    overflow:visible!important;
}
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods > li.wc_payment_method:has(> input[name="payment_method"]:checked){
    border-color:var(--ncfcd-accent,#f58b20)!important;
    background:#e8efff!important;
    box-shadow:inset 0 0 0 1px var(--ncfcd-accent,#f58b20)!important;
}
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods > li.wc_payment_method > input[type="radio"]{
    position:static!important;
    display:block!important;
    float:none!important;
    flex:0 0 14px!important;
    width:14px!important;
    height:14px!important;
    min-width:14px!important;
    margin:0!important;
    padding:0!important;
    cursor:pointer!important;
}
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods > li.wc_payment_method > label,
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods > li.wc_payment_method.ncfcd-gateway-expanded > label{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:3px!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    line-height:1.25!important;
    font-size:10.5px!important;
    font-weight:500!important;
    overflow-wrap:anywhere!important;
    cursor:pointer!important;
}
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods > li.wc_payment_method > label img{
    display:inline-block!important;
    float:none!important;
    order:0!important;
    max-width:26px!important;
    max-height:18px!important;
    height:auto!important;
    object-fit:contain!important;
    margin:0 2px 0 0!important;
    vertical-align:middle!important;
}
/* Gateway-specific payment forms stay in original WooCommerce DOM, full-width below grid. */
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods > li.wc_payment_method > .payment_box{
    position:absolute!important;
    top:var(--ncfcd-gateway-detail-top,90px)!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    float:none!important;
    display:none!important;
    box-sizing:border-box!important;
}
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods > li.wc_payment_method.ncfcd-gateway-expanded > .payment_box{
    display:block!important;
}
@container ncfcd-payment-panel (max-width:350px){
    .ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}
@media(max-width:767px){
    .ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}
/* Fallback for browsers without CSS container queries. */
@supports not (container-type:inline-size){
    @media(max-width:767px){
        .ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods{
            grid-template-columns:repeat(2,minmax(0,1fr))!important;
        }
    }
}


/* NCFCutout v2.3.4 — eliminate ghost rows in Payment Method grid.
   Top Store, WooCommerce and some legacy themes add clearfix ::before / ::after
   to <ul> elements. CSS Grid treats those pseudo-elements as extra grid items,
   and v2.3.3's 44px minimum row height left an entire empty row above and below
   the gateway buttons when columns=1. Do not remove checkout gateway details. */
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods::before,
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods::after {
    content: none !important;
    display: none !important;
}
.ncfcd-checkout .ncfcd-payment-box #payment ul.payment_methods {
    grid-auto-rows: minmax(0, auto) !important;
    align-content: start !important;
    min-height: 0 !important;
    height: auto !important;
}
/* Do not retain an empty min-height imposed by the parent theme. */
.ncfcd-checkout .ncfcd-payment-box #payment {
    min-height: 0 !important;
    height: auto !important;
}


/* NCFCutout 2.3.5 — live, informational advance/due rows inside WC totals.
   The WooCommerce order-total and payment request are NOT reduced. */
.ncfcd-checkout .ncfcd-summary-plan-row[hidden],
.ncfcd-checkout .ncfcd-payment-offline .ncfcd-summary-plan-row{display:none!important}
.ncfcd-checkout .ncfcd-payment-online .ncfcd-summary-plan-row:not([hidden]){display:table-row!important}
.ncfcd-checkout .ncfcd-checkout-totals .woocommerce-checkout-review-order-table tfoot tr.ncfcd-summary-plan-row th,
.ncfcd-checkout .ncfcd-checkout-totals .woocommerce-checkout-review-order-table tfoot tr.ncfcd-summary-plan-row td{
    font-size:12px!important;font-weight:500!important;padding:6px 0!important;line-height:1.3!important;
    border-bottom:1px solid #f1f2f4!important;vertical-align:top!important;
}
.ncfcd-checkout .ncfcd-checkout-totals .woocommerce-checkout-review-order-table tfoot tr.ncfcd-plan-advance-row th,
.ncfcd-checkout .ncfcd-checkout-totals .woocommerce-checkout-review-order-table tfoot tr.ncfcd-plan-advance-row td{color:#146c43!important;font-weight:650!important}
.ncfcd-checkout .ncfcd-checkout-totals .woocommerce-checkout-review-order-table tfoot tr.ncfcd-plan-due-row td{font-weight:650!important}
.ncfcd-checkout .ncfcd-checkout-totals .woocommerce-checkout-review-order-table tfoot tr.order-total th,
.ncfcd-checkout .ncfcd-checkout-totals .woocommerce-checkout-review-order-table tfoot tr.order-total td{font-weight:750!important;font-size:14px!important}
.ncfcd-checkout .ncfcd-plan-box{padding-top:10px!important;padding-bottom:10px!important}
.ncfcd-checkout .ncfcd-plan-option{min-height:29px!important;gap:8px!important}
.ncfcd-checkout .ncfcd-plan-warning{border-top:1px solid #f0e6d4!important;margin-top:9px!important;padding-top:8px!important}

.ncfcd-checkout .ncfcd-plan-submit-notice[hidden]{display:none!important}
.ncfcd-checkout .ncfcd-plan-submit-notice{font-size:11px!important;line-height:1.45!important;background:#fff4e8!important;color:#7d3c00!important;border:1px solid #f7cc91!important;border-radius:6px!important;padding:9px!important;margin:6px 0 0!important}
.ncfcd-checkout .ncfcd-place-order #place_order:disabled{opacity:.55!important;cursor:not-allowed!important}


/* NCFCutout 2.3.6 — Screenshot-matched shipping address. Scoped to the plugin's
   classic checkout section only. Does not change any payment/card CSS. */
.ncfcd-checkout .ncfcd-shipping-reference .ncfcd-shipping-fields{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:var(--ncfcd-shipping-ref-gap,12px)!important;
  row-gap:var(--ncfcd-shipping-ref-gap,12px)!important;
  align-items:start!important;
  width:100%!important;
}
.ncfcd-checkout .ncfcd-shipping-reference .ncfcd-shipping-fields>p.form-row{
  grid-column:1 / -1!important;
  min-width:0!important;
  width:100%!important;
  flex:none!important;
  float:none!important;
  margin:0!important;
  padding:0!important;
}
.ncfcd-checkout .ncfcd-shipping-reference .ncfcd-shipping-fields>p#shipping_state_field{
  grid-column:1!important;
}
.ncfcd-checkout .ncfcd-shipping-reference .ncfcd-shipping-fields>p#shipping_city_field{
  grid-column:2!important;
}
.ncfcd-checkout .ncfcd-shipping-reference .ncfcd-shipping-fields>.ncfcd-address-preview{
  grid-column:1 / -1!important;
  margin:0!important;
}
.ncfcd-checkout .ncfcd-shipping-reference .ncfcd-shipping-fields .woocommerce-input-wrapper{
  min-width:0!important;
  display:block!important;
  position:relative!important;
}
.ncfcd-checkout .ncfcd-shipping-reference .ncfcd-shipping-fields input:not([type=hidden]),
.ncfcd-checkout .ncfcd-shipping-reference .ncfcd-shipping-fields select,
.ncfcd-checkout .ncfcd-shipping-reference .ncfcd-shipping-fields .select2-container .select2-selection{
  width:100%!important;
  height:var(--ncfcd-shipping-ref-h,48px)!important;
  min-height:var(--ncfcd-shipping-ref-h,48px)!important;
  max-height:none!important;
  border:1px solid #bfc3c7!important;
  border-radius:9px!important;
  box-shadow:none!important;
  background:#fff!important;
  padding:0 13px!important;
  font-size:14px!important;
  font-weight:400!important;
  color:#263137!important;
  box-sizing:border-box!important;
}
.ncfcd-checkout .ncfcd-shipping-reference .ncfcd-shipping-fields input::placeholder{
  color:#79818a!important;
  opacity:1;
}
.ncfcd-checkout .ncfcd-shipping-reference .ncfcd-shipping-fields .select2-container{
  width:100%!important;
}
.ncfcd-checkout .ncfcd-shipping-reference .ncfcd-shipping-fields .select2-selection__rendered{
  line-height:var(--ncfcd-shipping-ref-h,48px)!important;
  font-size:14px!important;
  padding-left:13px!important;
}
/* Country dial code is visual only. Keep the actual field as a conventional
   Bangladesh 01xxxxxxxxx local number so WooCommerce delivery data stays valid. */
.ncfcd-checkout .ncfcd-shipping-reference #shipping_phone_field .woocommerce-input-wrapper::before{
  content:'88';
  position:absolute;
  z-index:1;
  top:50%;left:6px;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  display:flex;
  justify-content:center;
  align-items:center;
  border:1px solid #d3d5d8;
  border-radius:6px;
  background:#f1f2f4;
  color:#30343b;
  font-size:14px;
  line-height:1;
  pointer-events:none;
  box-sizing:border-box;
}
.ncfcd-checkout .ncfcd-shipping-reference #shipping_phone{
  padding-left:49px!important;
}
@media(max-width:360px){
  .ncfcd-checkout .ncfcd-shipping-reference .ncfcd-shipping-fields{
    grid-template-columns:1fr!important;
  }
  .ncfcd-checkout .ncfcd-shipping-reference .ncfcd-shipping-fields>p#shipping_state_field,
  .ncfcd-checkout .ncfcd-shipping-reference .ncfcd-shipping-fields>p#shipping_city_field{
    grid-column:1!important;
  }
}
/* Legacy 2.3.x half-width ID rules have stronger specificity; neutralize them
   inside the reference grid so each cell fills the allocated grid track. */
.ncfcd-checkout .ncfcd-shipping-reference .ncfcd-shipping-fields>p#shipping_first_name_field,
.ncfcd-checkout .ncfcd-shipping-reference .ncfcd-shipping-fields>p#shipping_phone_field,
.ncfcd-checkout .ncfcd-shipping-reference .ncfcd-shipping-fields>p#shipping_email_field,
.ncfcd-checkout .ncfcd-shipping-reference .ncfcd-shipping-fields>p#shipping_address_1_field,
.ncfcd-checkout .ncfcd-shipping-reference .ncfcd-shipping-fields>p#shipping_state_field,
.ncfcd-checkout .ncfcd-shipping-reference .ncfcd-shipping-fields>p#shipping_city_field{
  width:100%!important;
  max-width:100%!important;
  flex:initial!important;
  flex-basis:auto!important;
}


/* NCFCutout 2.3.7 — billing reference layout; affects only NCFCutout classic checkout. */
.ncfcd-checkout .ncfcd-billing-reference .ncfcd-billing-heading{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:12px!important;padding:0 0 12px!important;border-bottom:1px solid #e5e6e8!important;
  margin:0!important;cursor:pointer!important;line-height:1.4!important;
}
.ncfcd-checkout .ncfcd-billing-reference .ncfcd-billing-control{font-size:0!important;gap:0!important;position:relative!important;}
.ncfcd-checkout .ncfcd-billing-reference #ncfcd_different_billing{
  position:absolute!important;width:20px!important;height:20px!important;left:0!important;top:0!important;
  opacity:0!important;cursor:pointer!important;margin:0!important;
}
.ncfcd-checkout .ncfcd-billing-reference .ncfcd-billing-toggle-dot{
  display:grid!important;place-items:center!important;width:20px!important;height:20px!important;
  border:1.5px solid #f58b20!important;border-radius:50%!important;
  color:transparent!important;background:#fff!important;font-size:13px!important;font-weight:700!important;
  box-sizing:border-box!important;line-height:1!important;
}
.ncfcd-checkout .ncfcd-billing-reference #ncfcd_different_billing:checked+.ncfcd-billing-toggle-dot{
  background:var(--ncfcd-accent,#f58b20)!important;color:#fff!important;
}
.ncfcd-checkout .ncfcd-billing-reference #ncfcd_different_billing:focus-visible+.ncfcd-billing-toggle-dot{
  outline:3px solid #226ab5!important;outline-offset:3px!important;
}
.ncfcd-checkout .ncfcd-billing-reference .ncfcd-alt-billing-fields{
  display:block!important;margin:var(--ncfcd-billing-ref-gap,12px) 0 0!important;
  padding:0!important;border:0!important;
}
.ncfcd-checkout .ncfcd-billing-reference .ncfcd-alt-billing-fields[hidden]{display:none!important;}
.ncfcd-checkout .ncfcd-billing-reference .ncfcd-billing-fieldset{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:var(--ncfcd-billing-ref-gap,12px)!important;
  row-gap:var(--ncfcd-billing-ref-gap,12px)!important;
  width:100%!important;align-items:start!important;margin:0!important;padding:0!important;
}
.ncfcd-checkout .ncfcd-billing-reference .ncfcd-billing-fieldset>p.form-row{
  min-width:0!important;width:100%!important;max-width:100%!important;
  margin:0!important;padding:0!important;float:none!important;
  flex:none!important;flex-basis:auto!important;grid-column:1/-1!important;
}
.ncfcd-checkout .ncfcd-billing-reference .ncfcd-billing-fieldset>p#billing_first_name_field,
.ncfcd-checkout .ncfcd-billing-reference .ncfcd-billing-fieldset>p#billing_state_field{
  grid-column:1!important;
}
.ncfcd-checkout .ncfcd-billing-reference .ncfcd-billing-fieldset>p#billing_phone_field,
.ncfcd-checkout .ncfcd-billing-reference .ncfcd-billing-fieldset>p#billing_city_field{
  grid-column:2!important;
}
.ncfcd-checkout .ncfcd-billing-reference .ncfcd-billing-fieldset>p#billing_address_1_field{order:0!important;grid-column:1/-1!important}
.ncfcd-checkout .ncfcd-billing-reference .ncfcd-billing-fieldset .woocommerce-input-wrapper{
  display:block!important;position:relative!important;min-width:0!important;
}
.ncfcd-checkout .ncfcd-billing-reference .ncfcd-billing-fieldset input:not([type=hidden]),
.ncfcd-checkout .ncfcd-billing-reference .ncfcd-billing-fieldset select,
.ncfcd-checkout .ncfcd-billing-reference .ncfcd-billing-fieldset .select2-container .select2-selection{
  display:block!important;width:100%!important;height:var(--ncfcd-billing-ref-h,48px)!important;
  min-height:var(--ncfcd-billing-ref-h,48px)!important;max-height:none!important;
  border:1px solid #bfc3c7!important;border-radius:9px!important;background:#fff!important;
  box-shadow:none!important;font-size:14px!important;font-weight:400!important;color:#263137!important;
  box-sizing:border-box!important;margin:0!important;padding:0 13px!important;
}
.ncfcd-checkout .ncfcd-billing-reference .ncfcd-billing-fieldset input::placeholder{color:#79818a!important;opacity:1!important;}
.ncfcd-checkout .ncfcd-billing-reference .ncfcd-billing-fieldset .select2-container{width:100%!important;}
.ncfcd-checkout .ncfcd-billing-reference .ncfcd-billing-fieldset .select2-selection__rendered{
  line-height:var(--ncfcd-billing-ref-h,48px)!important;font-size:14px!important;padding-left:13px!important;
}
/* 88 is a non-submitted visual prefix; actual WooCommerce phone retains 01xxxxxxxxx. */
.ncfcd-checkout .ncfcd-billing-reference #billing_phone_field .woocommerce-input-wrapper::before{
  content:'88';position:absolute;z-index:1;top:50%;left:6px;transform:translateY(-50%);
  width:34px;height:34px;display:grid;place-items:center;
  border:1px solid #d3d5d8;border-radius:6px;background:#f1f2f4;
  color:#30343b;font-size:14px;line-height:1;pointer-events:none;box-sizing:border-box;
}
.ncfcd-checkout .ncfcd-billing-reference #billing_phone{padding-left:49px!important;}
@media(max-width:420px){
  .ncfcd-checkout .ncfcd-billing-reference .ncfcd-billing-fieldset{grid-template-columns:1fr!important;}
  .ncfcd-checkout .ncfcd-billing-reference .ncfcd-billing-fieldset>p#billing_first_name_field,
  .ncfcd-checkout .ncfcd-billing-reference .ncfcd-billing-fieldset>p#billing_phone_field,
  .ncfcd-checkout .ncfcd-billing-reference .ncfcd-billing-fieldset>p#billing_state_field,
  .ncfcd-checkout .ncfcd-billing-reference .ncfcd-billing-fieldset>p#billing_city_field{grid-column:1!important;}
}


/* NCFCutout v2.3.8 — Billing Address equal-width grid correction.
 * v2.3.7 inherited 48.5% / 31.3% rules from the legacy FLEX layout.
 * Those percentage widths were applied *inside* grid columns, shrinking
 * Full Name, Phone, District and Thana to half their intended width.
 * Important: this is scoped to the optional reference billing panel only;
 * shipping, cart, payment and other WooCommerce forms are unchanged.
 */
.ncfcd-checkout .ncfcd-alt-billing.ncfcd-billing-reference .ncfcd-billing-fieldset {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-areas:
      "name phone"
      "email email"
      "district thana"
      "address address" !important;
    grid-auto-flow: row !important;
    gap: var(--ncfcd-billing-ref-gap, 12px) !important;
    width: 100% !important;
    max-width: 100% !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
/* Explicit IDs override earlier ID-based flex widths, not just generic p rules. */
.ncfcd-checkout .ncfcd-alt-billing.ncfcd-billing-reference .ncfcd-billing-fieldset > p#billing_first_name_field,
.ncfcd-checkout .ncfcd-alt-billing.ncfcd-billing-reference .ncfcd-billing-fieldset > p#billing_phone_field,
.ncfcd-checkout .ncfcd-alt-billing.ncfcd-billing-reference .ncfcd-billing-fieldset > p#billing_email_field,
.ncfcd-checkout .ncfcd-alt-billing.ncfcd-billing-reference .ncfcd-billing-fieldset > p#billing_state_field,
.ncfcd-checkout .ncfcd-alt-billing.ncfcd-billing-reference .ncfcd-billing-fieldset > p#billing_city_field,
.ncfcd-checkout .ncfcd-alt-billing.ncfcd-billing-reference .ncfcd-billing-fieldset > p#billing_address_1_field {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: none !important;
    flex-basis: auto !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 0 !important;
    order: 0 !important;
    box-sizing: border-box !important;
}
.ncfcd-checkout .ncfcd-alt-billing.ncfcd-billing-reference .ncfcd-billing-fieldset > p#billing_first_name_field {grid-area:name !important;}
.ncfcd-checkout .ncfcd-alt-billing.ncfcd-billing-reference .ncfcd-billing-fieldset > p#billing_phone_field {grid-area:phone !important;}
.ncfcd-checkout .ncfcd-alt-billing.ncfcd-billing-reference .ncfcd-billing-fieldset > p#billing_email_field {grid-area:email !important;}
.ncfcd-checkout .ncfcd-alt-billing.ncfcd-billing-reference .ncfcd-billing-fieldset > p#billing_state_field {grid-area:district !important;}
.ncfcd-checkout .ncfcd-alt-billing.ncfcd-billing-reference .ncfcd-billing-fieldset > p#billing_city_field {grid-area:thana !important;}
.ncfcd-checkout .ncfcd-alt-billing.ncfcd-billing-reference .ncfcd-billing-fieldset > p#billing_address_1_field {grid-area:address !important;}
.ncfcd-checkout .ncfcd-alt-billing.ncfcd-billing-reference .ncfcd-billing-fieldset > p .woocommerce-input-wrapper,
.ncfcd-checkout .ncfcd-alt-billing.ncfcd-billing-reference .ncfcd-billing-fieldset > p .select2,
.ncfcd-checkout .ncfcd-alt-billing.ncfcd-billing-reference .ncfcd-billing-fieldset > p :is(input:not([type=hidden]), select, .select2-container) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}
/* At phone widths, use one column so the +88 phone prefix and labels fit. */
@media (max-width: 480px) {
    .ncfcd-checkout .ncfcd-alt-billing.ncfcd-billing-reference .ncfcd-billing-fieldset {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-areas: "name" "phone" "email" "district" "thana" "address" !important;
    }
}

/* NCFCutout v2.4.0 — Smart WooCommerce My Account login & registration.
 * All selectors restricted to the guest My Account page; the existing checkout,
 * member dashboard and other pages retain their normal styles. */
body.ncfcd-account-clean-frame .ncfg-page-main.ncfg-container{max-width:100%!important;width:100%!important;padding:16px max(12px,calc((100vw - 1420px)/2)) 65px!important;margin:0 auto!important;min-height:auto!important}
body.ncfcd-account-clean-frame .ncfg-page-main .ncfg-page-article{background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important;margin:0!important}
body.ncfcd-account-clean-frame .ncfg-page-main .entry-content{max-width:none!important;width:100%!important;margin:0!important}
body.ncfcd-account-clean-frame .ncfg-page-main .ncfg-page-article>header{display:none!important}
body.ncfcd-account-clean-frame .entry-content>p:empty{display:none!important}
.ncfcd-account-shell{box-sizing:border-box;max-width:var(--ncfcd-account-max,1100px);margin:48px auto 54px!important;padding:40px 38px 34px!important;background:#fff!important;border-radius:20px!important;box-shadow:0 12px 42px rgba(20,30,40,.09)!important;color:#142333!important;font-family:inherit;line-height:1.5}
.ncfcd-account-shell *{box-sizing:border-box}
.ncfcd-account-shell .ncfcd-account-heading{display:flex;justify-content:center;align-items:center;gap:16px;margin:0 0 36px}
.ncfcd-account-heading-icon{width:66px;height:66px;display:grid;place-items:center;flex:0 0 66px;background:var(--ncfcd-accent,#f58b20);color:#fff;border-radius:15px}
.ncfcd-account-heading h1{font-size:26px!important;line-height:1.2!important;font-weight:750!important;color:#182632!important;margin:0 0 4px!important;padding:0!important;border:0!important}
.ncfcd-account-heading p{font-size:14px!important;color:#506070!important;margin:0!important}
.ncfcd-account-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--ncfcd-account-gap,64px);position:relative;align-items:stretch;width:100%;max-width:1000px;margin:0 auto}
.ncfcd-account-no-otp .ncfcd-account-columns{display:block;max-width:465px}
.ncfcd-account-no-otp .ncfcd-account-panel{width:100%}
.ncfcd-account-columns .ncfcd-account-panel{min-width:0;background:#f5f5f6!important;border:0!important;border-radius:13px!important;padding:28px 26px!important}
.ncfcd-account-columns .ncfcd-account-panel h2{font-weight:650!important;font-size:16px!important;color:#192a39!important;margin:0 0 19px!important;padding:0!important;border:0!important}
.ncfcd-account-or{width:46px;height:46px;display:grid;place-items:center;border:1px solid #dfe4e8;border-radius:50%;background:#fff;color:#60707c;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;font-size:14px}
.ncfcd-account-or:before{content:"";height:calc(100% + 50px);height:185px;width:1px;background:#e4e8e8;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:-1}
.ncfcd-account-or span{background:#fff;border-radius:50%;display:grid;place-items:center;width:44px;height:44px}
.ncfcd-account-form{padding:0!important;border:0!important;margin:0!important;background:transparent!important;box-shadow:none!important;max-width:100%!important}
.ncfcd-account-form .form-row,.ncfcd-account-form p.woocommerce-form-row{width:100%!important;float:none!important;display:block!important;padding:0!important;margin:0 0 12px!important;max-width:100%!important;min-height:0!important}
.ncfcd-account-form input[type=text],.ncfcd-account-form input[type=password],.ncfcd-account-form input[type=email],.ncfcd-account-form input[type=tel],.ncfcd-account-form select{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;height:var(--ncfcd-account-input-h,50px)!important;min-height:var(--ncfcd-account-input-h,50px)!important;border:1px solid #e3e5e9!important;background:#fff!important;border-radius:8px!important;box-shadow:0 2px 2px rgba(0,0,0,.035)!important;color:#253644!important;font-size:14px!important;padding:10px 15px!important;outline-offset:2px}
.ncfcd-account-form input:focus-visible{outline:2px solid var(--ncfcd-accent,#f58b20);border-color:var(--ncfcd-accent,#f58b20)!important}
.ncfcd-account-form input::placeholder{color:#a9b0ba!important;opacity:1}
.ncfcd-account-form .ncfcd-account-pass-row{position:relative}
.ncfcd-account-form .ncfcd-account-pass-row>input{padding-right:50px!important}
.ncfcd-account-eye{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:40px;height:40px;display:grid;place-items:center;background:transparent!important;color:#8b97a2!important;border:0!important;cursor:pointer;padding:5px!important;box-shadow:none!important;min-width:0!important;min-height:0!important}
.ncfcd-account-eye:hover{color:var(--ncfcd-accent,#f58b20)!important}
.ncfcd-account-remember-line{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px!important;margin:12px 0 16px!important}
.ncfcd-account-remember-line label{display:flex!important;align-items:center!important;gap:6px;margin:0!important;color:#667783!important;font-size:12px!important;line-height:1.35}
.ncfcd-account-remember-line input[type=checkbox]{width:15px!important;height:15px!important;flex:0 0 15px;min-height:0!important;margin:0!important}
.ncfcd-account-remember-line a,.ncfcd-account-switch a{color:#ef7b11!important;text-decoration:underline!important}
.ncfcd-account-submit{display:block!important;width:100%!important;max-width:100%!important;min-height:46px!important;border-radius:8px!important;border:0!important;background:var(--ncfcd-accent,#f58b20)!important;color:#fff!important;font-size:14px!important;font-weight:600!important;margin:3px 0 0!important;padding:10px 18px!important;box-shadow:none!important;cursor:pointer}
.ncfcd-account-submit:hover{filter:brightness(.95)}
.ncfcd-account-email-note{font-size:12px;color:#55626f;margin:6px 0 14px}
.ncfcd-account-form .woocommerce-privacy-policy-text{font-size:12px;color:#65717b}
.ncfcd-account-form .woocommerce-privacy-policy-text a{color:#ef7b11!important}
.ncfcd-account-otp-slot{font-size:14px}
.ncfcd-account-social{text-align:center;margin:34px auto 0;max-width:550px}
.ncfcd-account-social-title{display:flex;align-items:center;gap:14px;margin:0 auto 14px;justify-content:center;color:#526476;font-size:13px}
.ncfcd-account-social-title:before,.ncfcd-account-social-title:after{content:"";height:1px;background:#eceff2;flex:1}
.ncfcd-account-social-provider{display:flex;justify-content:center;align-items:center;min-height:48px}
.ncfcd-account-switch{text-align:center;font-size:13px;color:#455664;margin:27px 0 0!important}
.ncfcd-account-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ncfcd-account-panel form label:not(.ncfcd-account-sr-only){font-size:13px}
@media(max-width:800px){.ncfcd-account-shell{margin:23px auto 40px!important;padding:27px 18px!important;border-radius:14px!important}.ncfcd-account-columns{gap:16px}.ncfcd-account-columns .ncfcd-account-panel{padding:20px 16px!important}.ncfcd-account-or{display:none}.ncfcd-account-heading h1{font-size:23px!important}}
@media(max-width:650px){body.ncfcd-account-clean-frame .ncfg-page-main.ncfg-container{padding:12px!important}.ncfcd-account-shell{margin:12px auto 28px!important;padding:22px 15px!important;border-radius:14px!important;box-shadow:0 7px 24px rgba(20,30,40,.07)!important}.ncfcd-account-shell .ncfcd-account-heading{gap:11px;margin-bottom:23px}.ncfcd-account-heading-icon{width:52px;height:52px;flex-basis:52px;border-radius:11px}.ncfcd-account-heading h1{font-size:21px!important}.ncfcd-account-heading p{font-size:12px!important}.ncfcd-account-columns{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:15px!important}.ncfcd-account-columns .ncfcd-account-panel{padding:21px 17px!important}.ncfcd-account-shell .ncfcd-account-panel h2{font-size:15px!important}.ncfcd-account-remember-line{flex-wrap:wrap;row-gap:10px}.ncfcd-account-switch{font-size:12px!important}}

.ncfcd-account-form label[for="ncfcd_reg_name"],.ncfcd-account-form label[for="ncfcd_reg_phone"],.ncfcd-account-form label[for="ncfcd_reg_address"]{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* Graceful compact layout until real OTP integration is connected. */
.ncfcd-account-shell.ncfcd-account-no-otp{max-width:650px}
.ncfcd-account-otp-slot input:not([type=hidden]):not([type=checkbox]),.ncfcd-account-otp-slot select{display:block;width:100%;max-width:100%;height:var(--ncfcd-account-input-h,50px);border:1px solid #e3e5e9;border-radius:8px;background:#fff;padding:10px 15px;margin-bottom:12px;font-size:14px}
.ncfcd-account-otp-slot button[type=submit],.ncfcd-account-otp-slot input[type=submit]{width:100%;min-height:46px;border:0;border-radius:8px;color:#fff;background:var(--ncfcd-accent,#f58b20);cursor:pointer}
