:root { --wcpbnc-buy-now-bg:#000000; --wcpbnc-buy-now-text:#ffffff; --wcpbnc-place-order-bg:#000000; --wcpbnc-place-order-text:#ffffff; }
#wcpbnc-modal, #wcpbnc-modal * { box-sizing: border-box !important; }
.wcpbnc-buy-now-single, .wcpbnc-buy-now-loop { margin-top: 12px !important; background: var(--wcpbnc-buy-now-bg) !important; color: var(--wcpbnc-buy-now-text) !important; border-color: var(--wcpbnc-buy-now-bg) !important; }
#wcpbnc-modal { display:none; position:fixed; inset:0; z-index:999999; }
#wcpbnc-modal.wcpbnc-open { display:block; }
#wcpbnc-modal .wcpbnc-modal__overlay { position:absolute; inset:0; background:rgba(0,0,0,.45); }
#wcpbnc-modal .wcpbnc-modal__dialog {
  position:relative; width:min(1160px, calc(100vw - 24px)); max-height:calc(100vh - 24px); margin:12px auto;
  background:#fff; border-radius:18px; overflow:auto; box-shadow:0 24px 70px rgba(0,0,0,.2);
}
#wcpbnc-modal .wcpbnc-modal__close {
  position:absolute; top:16px; left:16px; width:32px; height:32px; border:0; background:#f2f2f2; color:#222;
  font-size:22px; line-height:1; border-radius:6px; cursor:pointer; z-index:20;
}
#wcpbnc-modal .wcpbnc-loader { padding:48px 20px; text-align:center; }
body.wcpbnc-modal-open { overflow:hidden !important; }

#wcpbnc-modal .wcpbnc-shell__header { padding:46px 60px 18px; border-bottom:1px solid #ececec; }
#wcpbnc-modal .wcpbnc-shell__title-wrap { display:flex; align-items:center; justify-content:center; gap:12px; }
#wcpbnc-modal .wcpbnc-shell__title-wrap h2 { margin:0 !important; font-size:24px !important; font-weight:800 !important; text-transform:uppercase; }
#wcpbnc-modal .wcpbnc-shell__body, #wcpbnc-modal .wcpbnc-grid { width:100%; }
#wcpbnc-modal .wcpbnc-grid {
  display:grid !important; grid-template-columns:minmax(0,1.3fr) minmax(340px,.9fr) !important; gap:36px !important;
  align-items:start !important; padding:30px !important;
}
#wcpbnc-modal .wcpbnc-left, #wcpbnc-modal .wcpbnc-right { width:100% !important; min-width:0 !important; float:none !important; }
#wcpbnc-modal .wcpbnc-right { align-self:start !important; }
#wcpbnc-modal .wcpbnc-grid--single { grid-template-columns:minmax(0,1fr) !important; }
#wcpbnc-modal .wcpbnc-shell--no-right .wcpbnc-left { max-width:760px !important; margin:0 auto !important; }

#wcpbnc-modal .wcpbnc-section-title { margin:0 0 24px !important; text-align:center; font-size:18px !important; font-weight:800 !important; }

#wcpbnc-modal .wcpbnc-fields { display:grid !important; grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:16px !important; align-items:start !important; }
#wcpbnc-modal .wcpbnc-field { width:100% !important; }
#wcpbnc-modal .wcpbnc-field--full { grid-column:1 / -1 !important; }

#wcpbnc-modal .woocommerce form .form-row,
#wcpbnc-modal .woocommerce-page form .form-row,
#wcpbnc-modal form .form-row,
#wcpbnc-modal p.form-row {
  width:100% !important; float:none !important; clear:none !important; margin:0 !important; padding:0 !important;
}
#wcpbnc-modal label { display:block !important; margin:0 0 8px !important; font-size:14px !important; font-weight:700 !important; color:#222 !important; }
#wcpbnc-modal .woocommerce-input-wrapper, #wcpbnc-modal .woocommerce-input-wrapper span { display:block !important; width:100% !important; }
#wcpbnc-modal input.input-text,
#wcpbnc-modal input[type="text"],
#wcpbnc-modal input[type="tel"],
#wcpbnc-modal input[type="email"],
#wcpbnc-modal textarea,
#wcpbnc-modal select {
  display:block !important; width:100% !important; min-height:52px !important; padding:12px 14px !important; margin:0 !important;
  border:1px solid #d8d8d8 !important; border-radius:12px !important; background:#fff !important; box-shadow:none !important;
  font-size:15px !important; line-height:1.3 !important;
}

#wcpbnc-modal .wcpbnc-card {
  background:#fff !important; border:1px solid #e5e5e5 !important; border-radius:16px !important; padding:18px !important; margin:0 0 16px !important;
}
#wcpbnc-modal .wcpbnc-product-card { display:grid !important; grid-template-columns:72px minmax(0,1fr) auto !important; gap:14px !important; align-items:center !important; }
#wcpbnc-modal .wcpbnc-product-card__thumb img { width:72px !important; height:72px !important; object-fit:cover !important; border-radius:12px !important; display:block; }
#wcpbnc-modal .wcpbnc-product-card__name { font-size:16px !important; font-weight:700 !important; color:#222 !important; line-height:1.3 !important; }
#wcpbnc-modal .wcpbnc-product-card__desc { margin-top:4px !important; font-size:13px !important; color:#777 !important; }
#wcpbnc-modal .wcpbnc-product-card__price { font-size:16px !important; font-weight:800 !important; color:#2b9a4b !important; white-space:nowrap !important; }

#wcpbnc-modal .wcpbnc-totals-card { background:#efefef !important; border-color:#efefef !important; }
#wcpbnc-modal .wcpbnc-total-row { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:16px !important; padding:4px 0 !important; font-size:16px !important; }
#wcpbnc-modal .wcpbnc-total-row--grand { margin-top:10px !important; padding-top:14px !important; border-top:1px solid #c9c9c9 !important; font-size:18px !important; font-weight:800 !important; }

#wcpbnc-modal .wcpbnc-payment-wrap { margin-top:2px !important; }
#wcpbnc-modal .wcpbnc-payment-wrap--under-form { margin-top:22px !important; }
#wcpbnc-modal .woocommerce-checkout-payment,
#wcpbnc-modal #payment {
  background:transparent !important; border:0 !important; padding:0 !important; margin:0 !important;
}
#wcpbnc-modal ul.wc_payment_methods { list-style:none !important; margin:0 0 14px !important; padding:0 !important; border:0 !important; }
#wcpbnc-modal li.wc_payment_method {
  margin:0 0 12px !important; padding:18px !important; border:1px solid #ff7a59 !important; border-radius:14px !important; background:#eef2f6 !important;
}
#wcpbnc-modal li.wc_payment_method > input { margin-right:8px !important; }
#wcpbnc-modal li.wc_payment_method > label { display:inline !important; margin:0 !important; font-size:15px !important; font-weight:700 !important; }
#wcpbnc-modal .payment_box { background:transparent !important; padding:10px 0 0 !important; margin:0 !important; color:#666 !important; }
#wcpbnc-modal .payment_box::before { display:none !important; }
#wcpbnc-modal .woocommerce-privacy-policy-text,
#wcpbnc-modal .woocommerce-form-coupon-toggle,
#wcpbnc-modal .woocommerce-form-login-toggle,
#wcpbnc-modal .woocommerce-terms-and-conditions-wrapper,
#wcpbnc-modal .mailpoet-paragraph,
#wcpbnc-modal .create-account,
#wcpbnc-modal .woocommerce-additional-fields,
#wcpbnc-modal #ship-to-different-address,
#wcpbnc-modal .shipping_address,
#wcpbnc-modal .place-order .clear { display:none !important; }

#wcpbnc-modal .place-order { padding:0 !important; margin:0 !important; }
#wcpbnc-modal #place_order,
#wcpbnc-modal button[name="woocommerce_checkout_place_order"] {
  width:100% !important; min-height:54px !important; border:0 !important; border-radius:8px !important; background:var(--wcpbnc-place-order-bg) !important; color:var(--wcpbnc-place-order-text) !important;
  font-size:16px !important; font-weight:800 !important; text-transform:uppercase !important; letter-spacing:.01em !important;
}

#wcpbnc-modal .woocommerce-error,
#wcpbnc-modal .woocommerce-info,
#wcpbnc-modal .woocommerce-message,
#wcpbnc-modal .woocommerce-NoticeGroup { margin:16px 30px 0 !important; }

@media (max-width: 980px) {
  #wcpbnc-modal .wcpbnc-grid { grid-template-columns:1fr !important; gap:22px !important; padding:20px !important; }
}

@media (max-width: 640px) {
  #wcpbnc-modal .wcpbnc-modal__dialog { width:100vw !important; max-height:100vh !important; margin:0 !important; border-radius:0 !important; }
  #wcpbnc-modal .wcpbnc-shell__header { padding:52px 18px 16px !important; }
  #wcpbnc-modal .wcpbnc-shell__title-wrap h2 { font-size:20px !important; }
  #wcpbnc-modal .wcpbnc-grid { padding:16px !important; }
  #wcpbnc-modal .wcpbnc-fields { grid-template-columns:1fr !important; gap:14px !important; }
  #wcpbnc-modal .wcpbnc-product-card { grid-template-columns:56px minmax(0,1fr) !important; }
  #wcpbnc-modal .wcpbnc-product-card__thumb img { width:56px !important; height:56px !important; }
  #wcpbnc-modal .wcpbnc-product-card__price { grid-column:2; justify-self:start; }
}

.wcpbnc-hidden-field { display:none !important; }

