/* ===== Buy Now button ===== */
.bn-buy-now{display:inline-block;margin:10px 6px 0 0;padding:13px 26px;border-radius:8px;background:#e8543f;color:#fff !important;font-weight:700;font-size:15px;text-decoration:none !important;cursor:pointer;border:none;line-height:1.2;text-align:center;box-shadow:0 4px 12px rgba(232,84,63,.25);transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease;}
.bn-buy-now:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(232,84,63,.32);color:#fff !important;}
.bn-buy-now.bn-block{display:block;width:100%;box-sizing:border-box;}

/* ===== Overlay + modal ===== */
.bn-overlay{position:fixed;inset:0;background:rgba(17,22,32,.62);backdrop-filter:blur(2px);z-index:2147483000;display:none;align-items:flex-start;justify-content:center;padding:24px;overflow:auto;}
.bn-overlay.bn-open{display:flex;}
.bn-modal{background:#fff;width:100%;max-width:940px;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.4);overflow:hidden;position:relative;margin:auto;animation:bn-pop .18s ease;}
.bn-modal.bn-modal-sm{max-width:460px;}
@keyframes bn-pop{from{opacity:0;transform:translateY(12px) scale(.98);}to{opacity:1;transform:none;}}
.bn-modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #eef0f3;position:sticky;top:0;background:#fff;z-index:2;}
.bn-modal-head h3{margin:0;font-size:19px;font-weight:700;color:#151b26;}
.bn-secure{display:inline-block;margin-top:3px;font-size:12px;color:#12a150;font-weight:600;letter-spacing:.02em;}
.bn-close{background:none;border:none;font-size:28px;line-height:1;cursor:pointer;color:#8a929e;padding:0 4px;transition:color .12s;}
.bn-close:hover{color:#151b26;}
.bn-modal-body{position:relative;min-height:220px;}

/* ===== Loaders ===== */
.bn-loading,.bn-placing{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:rgba(255,255,255,.97);z-index:6;font-size:14px;color:#4a5361;}
.bn-loading.bn-on,.bn-placing.bn-on{display:flex;}
.bn-spinner{width:40px;height:40px;border:4px solid #eceef1;border-top-color:#e8543f;border-radius:50%;animation:bn-spin 1s linear infinite;margin-bottom:14px;}
@keyframes bn-spin{to{transform:rotate(360deg);}}
.bn-error{color:#c0392b;padding:24px;text-align:center;}

/* ===== Success ===== */
.bn-success{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 28px;}
.bn-success h3{margin:0 0 6px;font-size:20px;color:#151b26;}
.bn-success p{margin:0;color:#5b6472;}
.bn-check{width:64px;height:64px;border-radius:50%;background:#12a150;color:#fff;font-size:34px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;box-shadow:0 8px 20px rgba(18,161,80,.3);}
.bn-continue{margin-top:18px;font-size:15px;font-weight:700;background:#e8543f;color:#fff;border:none;border-radius:10px;padding:13px 26px;cursor:pointer;}
.bn-continue:hover{opacity:.92;}

/* ===== Form ===== */
.bn-checkout-form{padding:22px 24px 26px;}
.bn-express{margin:0 0 6px;}
.bn-express:empty{display:none;}
.bn-cols{display:flex;gap:32px;flex-wrap:wrap;}
.bn-col{flex:1 1 320px;min-width:280px;}
.bn-col h4{margin:0 0 14px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#8a929e;}

.bn-billing-fields .form-row{margin:0 0 14px;padding:0;}
.bn-billing-fields label{display:block;font-size:13px;font-weight:600;color:#39414d;margin-bottom:6px;}
.bn-billing-fields abbr.required{color:#e8543f;text-decoration:none;border:0;}
.bn-billing-fields input.input-text,
.bn-billing-fields select,
.bn-billing-fields .select2-selection{width:100%;box-sizing:border-box;}
.bn-billing-fields input.input-text,
.bn-billing-fields select{padding:12px 13px;border:1px solid #d7dbe2;border-radius:9px;font-size:14px;background:#fff;transition:border-color .12s,box-shadow .12s;}
.bn-billing-fields input.input-text:focus,
.bn-billing-fields select:focus{outline:none;border-color:#e8543f;box-shadow:0 0 0 3px rgba(232,84,63,.14);}
.bn-billing-fields .select2-container .select2-selection--single{height:44px;border:1px solid #d7dbe2;border-radius:9px;}
.bn-billing-fields .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:44px;padding-left:13px;}
.bn-billing-fields .select2-container--default .select2-selection--single .select2-selection__arrow{height:42px;}

.bn-coupon{margin-top:20px;padding-top:18px;border-top:1px dashed #e2e6ec;}
.bn-coupon>label{display:block;font-size:13px;font-weight:600;color:#39414d;margin-bottom:8px;}
.bn-coupon-row{display:flex;gap:8px;}
.bn-coupon-row input{flex:1;padding:12px 13px;border:1px solid #d7dbe2;border-radius:9px;font-size:14px;}
.bn-coupon-row input:focus{outline:none;border-color:#e8543f;box-shadow:0 0 0 3px rgba(232,84,63,.14);}
.bn-apply-coupon{padding:0 20px;border:none;border-radius:9px;background:#151b26;color:#fff;font-weight:600;cursor:pointer;transition:opacity .12s;}
.bn-apply-coupon:hover{opacity:.88;}
.bn-coupon-msg{font-size:13px;margin-top:8px;min-height:16px;}

/* ===== Order review ===== */
.bn-col-review #order_review{border:1px solid #eef0f3;border-radius:12px;padding:18px;background:#f9fafb;}
.bn-col-review table.shop_table{width:100%;font-size:14px;margin:0 0 8px;}
.bn-col-review table.shop_table th,
.bn-col-review table.shop_table td{padding:8px 0;}
.bn-col-review #payment{background:transparent;border-radius:0;}
.bn-col-review #payment ul.payment_methods{border:0;padding:0;margin:8px 0 0;}
.bn-col-review #payment ul.payment_methods li{margin:0 0 6px;list-style:none;}
.bn-col-review #payment div.payment_box{background:#fff;border:1px solid #eef0f3;border-radius:10px;margin-top:8px;}
.bn-col-review #payment div.payment_box:before{display:none;}
.bn-col-review #payment div.form-row.place-order{padding:14px 0 0;margin:0;}
.bn-col-review #place_order{width:100%;padding:15px;font-size:16px;font-weight:700;background:#e8543f;border:none;border-radius:10px;color:#fff;cursor:pointer;box-shadow:0 6px 16px rgba(232,84,63,.28);transition:opacity .12s,transform .12s;}
.bn-col-review #place_order:hover{opacity:.94;transform:translateY(-1px);}

/* Force the terms & conditions checkbox visible (some themes hide it) */
.bn-checkout-form .woocommerce-terms-and-conditions-wrapper{margin-top:10px;}
.bn-checkout-form .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox{display:flex !important;align-items:flex-start;gap:8px;position:relative;font-size:13px;color:#39414d;}
.bn-checkout-form input.input-checkbox,
.bn-checkout-form input[type=checkbox]{-webkit-appearance:checkbox !important;appearance:checkbox !important;position:static !important;opacity:1 !important;width:18px !important;height:18px !important;min-width:18px;margin:1px 0 0 !important;pointer-events:auto !important;clip:auto !important;}

/* ===== Toast ===== */
.bn-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);background:#12a150;color:#fff;padding:14px 22px;border-radius:10px;box-shadow:0 12px 34px rgba(0,0,0,.28);z-index:2147483200;opacity:0;transition:all .3s ease;font-weight:600;}
.bn-toast.bn-show{opacity:1;transform:translateX(-50%) translateY(0);}
.bn-toast-check{display:inline-block;margin-right:8px;}

@media(max-width:680px){
	.bn-overlay{padding:0;align-items:stretch;}
	.bn-modal{max-width:100%;min-height:100%;border-radius:0;}
	.bn-cols{flex-direction:column;gap:24px;}
	.bn-checkout-form{padding:18px 16px 24px;}
}

/* ===== WooCommerce notices inside the popup (clear alerts) ===== */
.bn-modal-body .woocommerce-NoticeGroup{margin:0;}
.bn-modal-body .woocommerce-error,
.bn-modal-body .woocommerce-message,
.bn-modal-body .woocommerce-info,
.bn-modal-body .wc-block-components-notice-banner{
	list-style:none;margin:0 0 16px;padding:14px 16px 14px 48px;position:relative;
	border-radius:10px;font-size:14px;line-height:1.5;font-weight:600;box-shadow:0 3px 10px rgba(0,0,0,.07);
}
.bn-modal-body .woocommerce-error li,
.bn-modal-body .woocommerce-message li,
.bn-modal-body .woocommerce-info li{list-style:none;margin:0;padding:0;}
.bn-modal-body .woocommerce-error::before,
.bn-modal-body .woocommerce-message::before,
.bn-modal-body .woocommerce-info::before{
	position:absolute;left:15px;top:14px;width:22px;height:22px;border-radius:50%;
	color:#fff;text-align:center;line-height:22px;font-weight:800;font-family:Arial,sans-serif;font-size:14px;
}
.bn-modal-body .woocommerce-error{background:#fdeceb;border:1px solid #f3b1af;border-left:5px solid #d63638;color:#8a1c1a;}
.bn-modal-body .woocommerce-error::before{content:"!";background:#d63638;}
.bn-modal-body .woocommerce-message{background:#e7f6ec;border:1px solid #a6d9b7;border-left:5px solid #1e7e34;color:#14532b;}
.bn-modal-body .woocommerce-message::before{content:"\2713";background:#1e7e34;}
.bn-modal-body .woocommerce-info{background:#e8f0fe;border:1px solid #b4cbf3;border-left:5px solid #1a73e8;color:#173a7a;}
.bn-modal-body .woocommerce-info::before{content:"i";background:#1a73e8;font-style:italic;}
.bn-modal-body .woocommerce-error a,
.bn-modal-body .woocommerce-message a,
.bn-modal-body .woocommerce-info a{color:inherit;text-decoration:underline;font-weight:800;}
.bn-modal-body .wc-block-components-notice-banner.is-error{background:#fdeceb;border-left:5px solid #d63638;color:#8a1c1a;}
.bn-modal-body .wc-block-components-notice-banner.is-success{background:#e7f6ec;border-left:5px solid #1e7e34;color:#14532b;}
/* field-level validation highlight */
.bn-checkout-form .woocommerce-invalid input.input-text,
.bn-checkout-form .woocommerce-invalid select{border-color:#d63638 !important;box-shadow:0 0 0 3px rgba(214,54,56,.15) !important;}
