/* ==========================================================
   Boddor Live Checkout — Light Mode (Clean Version)
   - No avatar
   - No language dropdown
   - Single card, single column, modern fields UI
========================================================== */
:root{
  --blc-bg:#ffffff;
  --blc-card:#ffffff;
  --blc-panel:#ffffff;
  --blc-border:#e5e7eb;
  --blc-border-strong:#d1d5db;
  --blc-text:#0f172a;
  --blc-muted:#6b7280;

  --blc-accent:#ef4444;     /* primary */
  --blc-accent-2:#f97316;   /* secondary */

  --blc-radius:18px;
  --blc-radius-sm:12px;

  --blc-shadow:0 14px 32px rgba(15,23,42,.10);
  --blc-shadow-soft:0 10px 24px rgba(15,23,42,.08);

  --blc-fast:.16s ease;
  --blc-med:.22s ease;
}

/* Base page */
body.blc-checkout{
  background:var(--blc-bg);
  color:var(--blc-text);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

/* make theme containers not fight us */
body.blc-checkout .site-main,
body.blc-checkout .content-area,
body.blc-checkout .entry-content{ max-width:100%; }

/* wrapper */
/* main card */
.blc-card{
  position:relative;
  width:100%;
  max-width:920px;
  margin:0 auto;
  padding:32px 32px 28px;
  border-radius:var(--blc-radius);
  background:var(--blc-card);
  border:1px solid var(--blc-border);
  box-shadow:var(--blc-shadow);
  opacity:0;
  transform:translateY(12px) scale(.99);
  animation:blc-cardFadeIn .35s ease-out forwards;
  transition:transform var(--blc-med), box-shadow var(--blc-med);
}
.blc-card:hover{ transform:translateY(4px) scale(1); box-shadow:0 22px 52px rgba(15,23,42,.14); }

@media (max-width:768px){
  .blc-card{ padding:26px 16px 22px; border-radius:14px; }
}

/* badge */
.blc-brand-row{ display:flex; justify-content:center; margin-bottom:10px; }
.blc-online-badge{
  padding:4px 10px;
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; border-radius:999px;
  background:rgba(22,163,74,.08);
  color:#166534;
  border:1px solid rgba(22,163,74,.60);
}
.blc-online-dot{
  width:7px;height:7px;border-radius:999px;
  background:#16a34a;
  box-shadow:0 0 0 0 rgba(34,197,94,.55);
  animation:blc-dotPulse 1.6s ease-out infinite;
}

/* title / msg */
.blc-title{
  margin:6px 0 4px;
  font-size:24px;
  font-weight:750;
  letter-spacing:.01em;
  text-align:center;
}
.blc-msg{
  font-size:13px;
  text-align:center;
  color:var(--blc-muted);
  margin-bottom:18px;
}

/* ==========================================================
   SINGLE COLUMN LAYOUT (100%)
========================================================== */
.blc-checkout-shell{ margin-top:10px; }

.blc-layout-grid{ display:block; }
.blc-col-main + .blc-col-summary{ margin-top:18px; }

.blc-section-heading{
  font-size:12px;
  font-weight:800;
  margin:0 0 12px;
  color:var(--blc-text);
  text-transform:uppercase;
  letter-spacing:.10em;
  display:flex; align-items:center; gap:8px;
}
.blc-section-heading:after{
  content:"";
  height:1px; flex:1;
  background:var(--blc-border);
  margin-top:1px;
}
/* ==========================================================
   WooCommerce Notices
========================================================== */
body.blc-checkout .woocommerce-error,

/* ==========================================================
   Modern Fields UI (simple + unique)
========================================================== */

/* Billing + shipping fields wrapper → 2 columns desktop */
body.blc-checkout .woocommerce-billing-fields__field-wrapper,
body.blc-checkout .woocommerce-shipping-fields__field-wrapper{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

/* Full width fields */
body.blc-checkout .form-row-wide,
body.blc-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide,
body.blc-checkout .woocommerce-shipping-fields__field-wrapper .form-row-wide{
  grid-column:1 / -1;
}

/* On small screens, 1 column */
@media (max-width:640px){
  body.blc-checkout .woocommerce-billing-fields__field-wrapper,
  body.blc-checkout .woocommerce-shipping-fields__field-wrapper{
    grid-template-columns:minmax(0, 1fr);
  }
}

/* Field rows spacing */
body.blc-checkout .woocommerce form.checkout .form-row,
body.blc-checkout .woocommerce form.checkout p.form-row{
  margin:0 !important;
}

/* Labels */
body.blc-checkout .woocommerce form.checkout .form-row label{
  display:block;
  font-size:12px;
  font-weight:700;
  color:var(--blc-text);
  margin:0 0 6px;
}

/* Required star */
body.blc-checkout .woocommerce form.checkout .required{
  color:var(--blc-accent);
  font-weight:900;
}

/* Inputs / selects / textarea */
body.blc-checkout .woocommerce form.checkout input.input-text,
body.blc-checkout .woocommerce form.checkout textarea,
body.blc-checkout .woocommerce form.checkout select{
  width:100%;
  border-radius:12px;
  border:1px solid var(--blc-border);
  background:#fff;
  color:var(--blc-text);
  padding:11px 12px;
  font-size:13px;
  line-height:1.2;
  box-shadow:0 0 0 rgba(0,0,0,0);
  transition:border-color var(--blc-fast), box-shadow var(--blc-fast), transform var(--blc-fast);
}

/* Placeholder */
body.blc-checkout .woocommerce form.checkout input::placeholder,
body.blc-checkout .woocommerce form.checkout textarea::placeholder{
  color:#9ca3af;
}

/* Focus */
body.blc-checkout .woocommerce form.checkout input.input-text:focus,
body.blc-checkout .woocommerce form.checkout textarea:focus,
body.blc-checkout .woocommerce form.checkout select:focus{
  outline:none;
  border-color:rgba(239,68,68,.65);
  box-shadow:0 0 0 3px rgba(239,68,68,.12);
  transform:translateY(-1px);
}

/* Validation states */
body.blc-checkout .woocommerce form.checkout .woocommerce-invalid input.input-text,
body.blc-checkout .woocommerce form.checkout .woocommerce-invalid select,
body.blc-checkout .woocommerce form.checkout .woocommerce-invalid textarea{
  border-color:rgba(239,68,68,.75) !important;
  box-shadow:0 0 0 3px rgba(239,68,68,.10) !important;
}
body.blc-checkout .woocommerce form.checkout .woocommerce-validated input.input-text,
body.blc-checkout .woocommerce form.checkout .woocommerce-validated select,
body.blc-checkout .woocommerce form.checkout .woocommerce-validated textarea{
  border-color:rgba(34,197,94,.65) !important;
  box-shadow:0 0 0 3px rgba(34,197,94,.10) !important;
}

/* Remove theme default "input underline" styles */
body.blc-checkout .woocommerce form.checkout .form-row input,
body.blc-checkout .woocommerce form.checkout .form-row select,
body.blc-checkout .woocommerce form.checkout .form-row textarea{
  background-image:none !important;
}

/* Select2 (if enabled by WC/theme) */
body.blc-checkout .select2-container .select2-selection--single{
  height:auto !important;
  border-radius:12px !important;
  border:1px solid var(--blc-border) !important;
  background:#fff !important;
  padding:4px 2px !important;
}
body.blc-checkout .select2-container .select2-selection--single .select2-selection__rendered{
  padding:6px 12px !important;
  line-height:1.2 !important;
  color:var(--blc-text) !important;
  font-size:13px !important;
}
body.blc-checkout .select2-container .select2-selection--single .select2-selection__arrow{
  height:100% !important;
  right:10px !important;
}
body.blc-checkout .select2-container .select2-dropdown{
  border-radius:12px !important;
  border:1px solid var(--blc-border) !important;
  overflow:hidden !important;
  box-shadow:var(--blc-shadow-soft) !important;
}
body.blc-checkout .select2-container .select2-search--dropdown .select2-search__field{
  border-radius:10px !important;
  border:1px solid var(--blc-border) !important;
  padding:10px 10px !important;
}
body.blc-checkout .select2-results__option{
  font-size:13px !important;
  padding:10px 12px !important;
}
body.blc-checkout .select2-results__option--highlighted{
  background:rgba(239,68,68,.10) !important;
  color:var(--blc-text) !important;
}

/* Checkboxes / radios */
body.blc-checkout input[type="checkbox"],
body.blc-checkout input[type="radio"]{
  accent-color: var(--blc-accent);
}

/* Extra spacing for shipping checkbox + terms */
body.blc-checkout .woocommerce form.checkout .woocommerce-form__label-for-checkbox,
body.blc-checkout .woocommerce form.checkout .woocommerce-terms-and-conditions-wrapper{
  margin-top:10px;
}

/* ==========================================================
   Order summary + payment modern look
========================================================== */
.blc-order-heading{
  font-size:14px;
  font-weight:800;
  margin:0 0 10px;
  color:var(--blc-text);
}

/* Order review table */
body.blc-checkout .woocommerce-checkout-review-order-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  border:1px solid var(--blc-border);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}
body.blc-checkout .woocommerce-checkout-review-order-table th,
body.blc-checkout .woocommerce-checkout-review-order-table td{
  padding:10px 12px;
  font-size:13px;
}
/* Payment */
body.blc-checkout #payment{
  background:transparent;
  border-radius:12px;
}
body.blc-checkout #payment ul.payment_methods{
  background:#fff;
  border-radius:12px;
  border:1px solid var(--blc-border);
  padding:12px 12px 6px;
  margin:12px 0 12px;
}
body.blc-checkout #payment ul.payment_methods li{
  border-radius:12px;
  border:1px solid transparent;
  transition:border-color var(--blc-fast), background var(--blc-fast), transform var(--blc-fast);
}
body.blc-checkout #payment ul.payment_methods li:hover{
  background:#f9fafb;
  border-color:var(--blc-border);
}
body.blc-checkout #payment div.payment_box{
  background:#f9fafb !important;
  border:1px solid var(--blc-border) !important;
  border-radius:12px !important;
  box-shadow:none !important;
}
body.blc-checkout #payment div.payment_box:before{ display:none !important; }

/* Coupon */
body.blc-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
  margin-bottom:12px !important;
}
body.blc-checkout form.checkout_coupon{
  border-radius:12px !important;
  border:1px solid var(--blc-border) !important;
  background:#fff !important;
  padding:12px !important;
}
body.blc-checkout form.checkout_coupon p.form-row{
  margin:0 !important;
}
body.blc-checkout .woocommerce form.checkout_coupon input.input-text{
  border-radius:12px !important;
}
body.blc-checkout .woocommerce form.checkout_coupon button{
  border-radius:999px !important;
  padding:11px 14px !important;
  border:1px solid var(--blc-border) !important;
  background:#111827 !important;
  color:#fff !important;
  font-weight:800 !important;
  cursor:pointer;
  transition:transform var(--blc-fast), box-shadow var(--blc-fast);
}
body.blc-checkout .woocommerce form.checkout_coupon button:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(15,23,42,.12);
}

/* Place order */
body.blc-checkout #place_order:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(239,68,68,.22);
  filter:brightness(1.01);
}

/* Terms link */
body.blc-checkout .woocommerce-terms-and-conditions-wrapper a{
  color:var(--blc-accent);
  text-decoration:none;
  font-weight:800;
}
body.blc-checkout .woocommerce-terms-and-conditions-wrapper a:hover{
  text-decoration:underline;
}

/* Animations */
@keyframes blc-cardFadeIn{
  from{ opacity:0; transform:translateY(18px) scale(.98); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}
@keyframes blc-dotPulse{
  0%{ box-shadow:0 0 0 0 rgba(34,197,94,.55); }
  70%{ box-shadow:0 0 0 7px rgba(34,197,94,0); }
  100%{ box-shadow:0 0 0 0 rgba(34,197,94,0); }
}
/* --- Updated: Review order table spacing (requested) --- */
body.blc-checkout .woocommerce-checkout-review-order-table thead th{
  margin: 0 10px;
}

body.blc-checkout .woocommerce-checkout-review-order-table tbody td{
  margin: 0 10px;
}

body.blc-checkout .woocommerce-checkout-review-order-table tfoot th,
body.blc-checkout .woocommerce-checkout-review-order-table tfoot td{
  margin: 0 10px;
}
/* --- Updated: Review order table header row --- */
/* --- Checkout button colors (settings-driven) --- */
body.blc-checkout #place_order{
  background: var(--bgccou-active-badge-bg);
  color: var(--bgccou-badge-text);
  border-radius: 999px;
  box-shadow: none !important;  filter: none !important;
}
/* --- Updated: payment box description last paragraph --- */
/* --- Important: remove theme container padding in UltraWhite checkout --- */
body.blc-checkout .container,
body.blc-checkout .container-fluid{
  padding-inline: 0 !important;
}
/* --- Important update: Review order table header row --- */
.woocommerce-checkout-review-order-table thead tr{
  border-width: 1px;
  background: #f9fafc;
}
/* --- Payment method logo sizing (label icons only) --- */
body.blc-checkout #payment ul.payment_methods li label img{
  max-height: 20px !important;
  height: auto !important;
  width: auto !important;
  vertical-align: middle;
  margin-left: 6px;
}
/* --- Updated: payment box description last paragraph --- */
.payment_methods .payment_box p:last-child{
  margin-bottom: 0;
  color: #888888;
  font-size: 12px;
}
/* --- Light UI override (keep UltraWhite readable on dark-mode themes) --- */
body.blc-checkout{
  color-scheme: light;
  background: #f6f7fb;
  color: #111827;
  --blc-panel: #ffffff;
  --blc-border: #e5e7eb;
  --blc-text: #111827;
  --blc-muted: #6b7280;
  --blc-soft: #f9fafb;
}

body.blc-checkout .blc-card,
body.blc-checkout .blc-col-main,
body.blc-checkout .blc-col-summary{
  background: #ffffff;
  border-color: var(--blc-border);
  color: var(--blc-text);
}

body.blc-checkout .blc-title,
body.blc-checkout .blc-order-heading,
body.blc-checkout h1,
body.blc-checkout h2,
body.blc-checkout h3{
  color: var(--blc-text);
}

body.blc-checkout .blc-msg,
body.blc-checkout .blc-subtitle,
body.blc-checkout .woocommerce-form__label,
body.blc-checkout .woocommerce-billing-fields label,
body.blc-checkout .woocommerce-shipping-fields label,
body.blc-checkout .woocommerce-additional-fields label{
  color: var(--blc-text);
}

body.blc-checkout .woocommerce form .form-row label,
body.blc-checkout .woocommerce form .form-row .required{
  color: var(--blc-text);
}

body.blc-checkout .woocommerce form .form-row input.input-text,
body.blc-checkout .woocommerce form .form-row textarea,
body.blc-checkout .woocommerce form .form-row select,
body.blc-checkout .select2-container--default .select2-selection--single{
  background: #ffffff;
  color: var(--blc-text);
  border-color: var(--blc-border);
}

body.blc-checkout .woocommerce form .form-row input::placeholder,
body.blc-checkout .woocommerce form .form-row textarea::placeholder{
  color: #9ca3af;
}

body.blc-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{
  color: var(--blc-text);
}

body.blc-checkout .select2-container--default .select2-search--dropdown .select2-search__field,
body.blc-checkout .select2-dropdown{
  background: #ffffff;
  color: var(--blc-text);
  border-color: var(--blc-border);
}

body.blc-checkout #payment,
body.blc-checkout #payment ul.payment_methods,
body.blc-checkout #payment div.payment_box{
  background: #ffffff;
  color: var(--blc-text);
}

body.blc-checkout #payment ul.payment_methods li{
  border-color: transparent;
}

body.blc-checkout #payment ul.payment_methods li label{
  color: var(--blc-text);
}

body.blc-checkout .woocommerce-checkout-review-order-table,
body.blc-checkout .woocommerce-checkout-review-order-table th,
body.blc-checkout .woocommerce-checkout-review-order-table td{
  color: var(--blc-text);
  border-color: var(--blc-border);
}

body.blc-checkout a{
  color: inherit;
}
/* --- End Light UI override --- */
/* --- Important: force clean light inputs (scoped vars) --- */
input[type='email'],
input[type='date'],
input[type='search'],
input[type='number'],
input[type='text'],
input[type='tel'],
input[type='url'],
input[type='password'],
:root textarea,
:root select{
  width: 100%;
  background: #fff !important;
  border: 1px solid var(--bgccou-card-border, #e5e7eb) !important;
  box-shadow: none !important;
  border-radius: var(--bgccou-choice-radius, 14px) !important;
  font: inherit !important;
  color: var(--bgccou-text, #000) !important;
  letter-spacing: 0 !important;
}
/* Billing country field cleanup (Select2) */
body.blc-checkout #billing_country_field .select2-container--default .select2-selection--single{
  width: 100%;
  background: #fff !important;
  border: 1px solid var(--bgccou-card-border, #e5e7eb) !important;
  box-shadow: none !important;
  border-radius: var(--bgccou-choice-radius, 14px) !important;
  font: inherit !important;
  color: var(--bgccou-text, #000) !important;
  letter-spacing: 0 !important;
  height: auto !important;
  min-height: 44px;
  padding: 10px 12px;
}
body.blc-checkout #billing_country_field .select2-container--default .select2-selection--single .select2-selection__arrow{
  height: 100% !important;
}

body.blc-checkout #billing_country_field .select2-dropdown,
body.blc-checkout #billing_country_field .select2-container--default .select2-search--dropdown .select2-search__field{
  background: #fff !important;
  border-color: var(--bgccou-card-border, #e5e7eb) !important;
  box-shadow: none !important;
  color: var(--bgccou-text, #000) !important;
}
/* Update: billing country rendered padding */
body.blc-checkout #billing_country_field .select2-container--default .select2-selection--single .select2-selection__rendered{
  padding: 10px !important;
}
/* Update: force label color on UltraWhite checkout */
body.blc-checkout label{
  color: #000 !important;
}
/* Update: order review table rows */
.woocommerce-checkout-review-order-table tr{
  display: flex;
  border-bottom: 1px solid #e5e7eb !important;
}
/* Update: coupon/login toggle text color */
body.blc-checkout .woocommerce-form-coupon-toggle > div,
body.blc-checkout .woocommerce-form-login-toggle > div{
  color: #000 !important;
}
/* Update: force all text color inside checkout wrapper */
/* Placeholder color overrides (only specific fields) */
body.blc-checkout #renew_order::placeholder,
body.blc-checkout textarea#order_comments::placeholder{
  color: #777 !important;
}
body.blc-checkout #renew_order::-webkit-input-placeholder,
body.blc-checkout textarea#order_comments::-webkit-input-placeholder{
  color: #777 !important;
}
body.blc-checkout #renew_order:-ms-input-placeholder,
body.blc-checkout textarea#order_comments:-ms-input-placeholder{
  color: #777 !important;
}
body.blc-checkout #renew_order::-ms-input-placeholder,
body.blc-checkout textarea#order_comments::-ms-input-placeholder{
  color: #777 !important;
}
/* End Placeholder color overrides */



/* Brand row modifier (when language switcher enabled) */
.blc-checkout .blc-brand-row--has-lang{ justify-content: space-between; }

/* Coupon button pill radius */
body.blc-checkout .woocommerce-form-coupon .button{
  border-radius: 999px;
  color: var(--bgccou-badge-text, #fff) !important;
  background-color: var(--bgccou-primary, #e11d2e) !important;
}


/* Amount color */
body.blc-checkout .amount{ color:#000; }

/* Login/Coupon toggles: link color = Primary */
body.blc-checkout :is(.woocommerce-form-coupon-toggle,.woocommerce-form-login-toggle)>div :is(.showlogin,.showcoupon){
  color: var(--bgccou-primary, #e11d2e) !important;
}
