/* ================================================================
   WooCommerce Elementor Custom Checkout — Stylesheet
   ================================================================ */

   .select2-container .select2-selection {
    border-radius: 8px !important;
    padding: 5px 0 5px 10px !important;
    border: 1px solid #e6e1d8;
    background: #fffdf9;
}

.extra-cart-text span{font-size:12px !important;}

.kl_newsletter_checkbox_field{width:185%; !important;}

.woocommerce-privacy-policy-text{text-transform:capitalize;}

.woocommerce-terms-and-conditions-checkbox-text{line-height: 28px;
    margin-bottom: 22px !important;}

.woocommerce-privacy-policy-text a,.woocommerce-terms-and-conditions-checkbox-text a{font-size:14px !important;}

.ui-datepicker-month,.ui-datepicker-year{color:#000 !important;}

.wec-btn-secondary{background: #2F4A43; color: #2f4a43 !important;
    border: 1px solid #2f4a43 !important;
    border-radius: 30px !important;}

.wec-wrapper {
  --wec-cream:       #f7f3ec;
  --wec-surface:     #f7f3ec;
  --wec-input-bg:    #fffdf9;
  --wec-white:       #ffffff;
  --wec-border:      #e6e1d8;
  --wec-text:        #2a2a2a;
  --wec-muted:       #6b6b6b;
  --wec-light:       #9a9a9a;
  --wec-green:       #2F4A43;
  --wec-green-dark:  #243b35;
  --wec-error:       #c0392b;
  --wec-success:     #27ae60;
  --wec-radius:      8px;
  --wec-shadow:      0 2px 12px rgba(0,0,0,.05);
  --wec-transition:  .15s ease;

  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 15px;
  align-items: start;
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px 0 60px;
  font-family: inherit;
  color: var(--wec-text);
}

@media (max-width: 860px) {
  .wec-wrapper {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 10px 0 40px;
  }
  .wec-col-right { order: -1; }
  .wec-col-right .wec-card { border-radius: 12px; margin-bottom: 10px; }

  /* Left column full width */
  .wec-col-left { border-radius: 12px; padding: 16px; }
  .wec-col-left .wec-card { padding: 18px 0; }

  /* Fields go single column on mobile */
  .wec-fields-grid { grid-template-columns: 1fr; }
  .wec-fields-grid .form-row-first,
  .wec-fields-grid .form-row-last { grid-column: 1 / -1; }

  /* Section titles smaller on mobile */
  .wec-section-title { font-size: 26px; }
  .wec-order-summary-card .wec-section-title { font-size: 28px; }

  /* Payment methods */
  .wec-payment-card #payment ul.wc_payment_methods li label { padding: 14px; }

  /* Address boxes stacked */
  .wec-address-cols { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .wec-wrapper {
    padding: 8px 0 30px;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }
  .wec-col-left {
    padding: 12px;
    width: 100%;
    box-sizing: border-box;
  }
  .wec-col-right .wec-card,
  .wec-col-left {
    width: 100%;
    box-sizing: border-box;
  }
  .wec-section-title { font-size: 30px !important; }
  .wec-sum-total-row span:last-child { font-size: 1.1rem; }
  .wec-trust-badges { gap: 6px; }
  .wec-trust-badge { font-size: 12px; padding: 8px 10px; }
  .form-row .form-row-wide { width: 100% !important; }
  .wec-col-left .wec-card {
  padding: 0px !important;
  margin-bottom: 12px;

}
  
  /* Prevent any element causing horizontal overflow */
  
}

/* ── Global mobile overflow fix ────────────────────────────── */
/* Prevents horizontal scroll on all screen sizes */
.wec-wrapper {
  box-sizing: border-box;
  width: 100%;
}
.wec-col-left,
.wec-col-right {
  min-width: 0;
  box-sizing: border-box;
}

/* User custom overrides */
.woocommerce-page form .form-row-first,
.woocommerce-page form .form-row-last { width: 100% !important; }
#billing_address_2 { margin-top: 20px !important; }

/* ── Cards ──────────────────────────────────────────────────── */
.wec-card {
  background: #f7f3ec !important;
  border: none;
  border-radius: 0;
  padding: 28px 28px 0;
  margin-bottom: 0;
}

/* Left column: each section its own bordered card */
.wec-col-left .wec-card {
  padding: 24px 0px 0px 28px;
  margin-bottom: 12px;

}
.wec-col-left .wec-card:last-child { margin-bottom: 0; }

/* Left column: no outer border */
.wec-col-left {
   border-radius: 24px;
  border: 1px solid var(--wec-border);
  padding: 24px 28px;
  margin-bottom: 12px;
  background: #f7f3ec !important;
}

/* Right column: each card has its own border + radius */
.wec-col-right .wec-card {
   border-radius: 24px;
  border: 1px solid var(--wec-border);
  padding: 24px;
  margin-bottom: 12px;
  background: #f7f3ec !important;
}
.wec-col-right .wec-card:last-child { margin-bottom: 0; }

/* ── Section Titles ─────────────────────────────────────────── */
.wec-section-title {
  font-family: Baskerville, Georgia, serif;
  font-size: 36px;
  font-weight: 300;
  color: #34524C;
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.2;
  letter-spacing: -.01em;
}
.wec-step-badge { display: none !important; }

/* ── Input Fields ───────────────────────────────────────────── */
.wec-wrapper .form-row { margin: 0; padding: 0; }
.wec-wrapper .form-row label {
  display: block;
  font-size: .8rem;
  font-weight: 500;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--wec-muted);
  margin-bottom: 6px;
}
.wec-wrapper .form-row label .required { color: var(--wec-error); }
.wec-wrapper .input-text,
.wec-wrapper select,
.wec-wrapper textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--wec-border);
  border-radius: var(--wec-radius);
  font-family: inherit;
  font-size: .95rem;
  color: var(--wec-text);
  background: var(--wec-input-bg);
  outline: none;
  transition: border-color var(--wec-transition), box-shadow var(--wec-transition);
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
}
.wec-wrapper .input-text::placeholder { color: var(--wec-light); }
.wec-wrapper .input-text:focus,
.wec-wrapper select:focus,
.wec-wrapper textarea:focus {
  border-color: var(--wec-green);
  box-shadow: 0 0 0 3px rgba(47,74,67,.08);
}
.wec-wrapper .woocommerce-invalid .input-text { border-color: var(--wec-error); }

/* ── Fields Grid ────────────────────────────────────────────── */
.wec-fields-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 18px;
}
.wec-fields-grid .form-row-wide,
.wec-fields-grid p.form-row-wide { grid-column: 1 / -1; }

/* ── Delivery note box (orddd plugin class) ─────────────────── */
.orddd_field_note {
  margin-top: 18px;
  padding: 16px 18px;
  border: 1px solid var(--wec-border);
  border-radius: var(--wec-radius);
  background: var(--wec-input-bg);
}
.orddd_field_note p {
  margin: 0;
  font-size: .88rem;
  color: var(--wec-muted);
  line-height: 1.7;
}

/* ── Wedding Date Field ─────────────────────────────────────── */
.wec-date-card label[for="e_deliverydate"],
.wec-date-card label[for="orddd_lite_date"],
.wec-date-card #orddd_lite_date_field > label,
.wec-date-card #e_deliverydate_field > label,
.wec-date-card .orddd_date_field > label { display: none !important; }
.wec-date-card input[type="text"],
.wec-date-card input[type="date"],
.wec-date-card .input-text {
  width: 100%; padding: 12px 14px;
  border: 1px solid var(--wec-border);
  border-radius: var(--wec-radius);
  font-size: .95rem; color: var(--wec-text);
  background: var(--wec-input-bg); outline: none; box-sizing: border-box;
}
.wec-date-card input:focus {
  border-color: var(--wec-green);
  box-shadow: 0 0 0 3px rgba(47,74,67,.08);
}

/* jQuery datepicker */
.ui-datepicker {
  border-radius: 10px !important;
  border: 1px solid var(--wec-border) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.1) !important;
  font-family: inherit !important;
}
.ui-datepicker .ui-datepicker-header {
  background: var(--wec-green) !important;
  border: none !important;
  border-radius: 10px 10px 0 0 !important;
  color: #fff !important;
}
.ui-datepicker td a.ui-state-active,
.ui-datepicker td a.ui-state-highlight {
  background: var(--wec-green) !important;
  color: #fff !important;
  border-color: var(--wec-green) !important;
}

/* ── Shipping toggle ────────────────────────────────────────── */
.wec-toggle-row { margin-bottom: 18px; }
.wec-toggle-label {
  display: flex; align-items: center; gap: 10px;
  cursor: pointer; font-size: .9rem;
  color: var(--wec-text); user-select: none;
}
.wec-toggle-checkbox { display: none; }
.wec-toggle-track {
  position: relative; width: 42px; height: 24px;
  background: var(--wec-border); border-radius: 99px; flex-shrink: 0;
  transition: background var(--wec-transition);
}
.wec-toggle-thumb {
  position: absolute; top: 3px; left: 3px; width: 18px; height: 18px;
  border-radius: 50%; background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.18);
  transition: transform var(--wec-transition);
}
.wec-toggle-checkbox:checked ~ .wec-toggle-track { background: var(--wec-green); }
.wec-toggle-checkbox:checked ~ .wec-toggle-track .wec-toggle-thumb { transform: translateX(18px); }

/* ── Account section ────────────────────────────────────────── */
/* .wec-card overrides reset — account card uses full card styling */
.wec-account-card {
  border: 1px solid var(--wec-border) !important;
  border-radius: var(--wec-radius) !important;
  padding: 24px 28px !important;
  background: #f7f3ec !important;
  margin-bottom: 12px;
}
.wec-account-existing { font-size: .88rem; color: var(--wec-muted); margin: 0 0 14px; }
.wec-login-link { color: var(--wec-green); text-decoration: none; font-weight: 600; }
.wec-login-link:hover { text-decoration: underline; }
.wec-account-toggle-row { margin-bottom: 14px; }
.wec-password-wrap { position: relative; display: flex; align-items: center; }
.wec-password-wrap .input-text { padding-right: 44px !important; }
.wec-toggle-pw {
  position: absolute; right: 12px;
  background: none; border: none; cursor: pointer;
  color: var(--wec-muted); padding: 0;
  display: flex; align-items: center;
}
.wec-toggle-pw:hover { color: var(--wec-green); }
.wec-password-hint { font-size: .78rem; color: var(--wec-muted); margin: 6px 0 0; }
.wec-auto-password-note {
  display: flex; align-items: center; gap: 7px;
  font-size: .85rem; color: var(--wec-muted);
  background: var(--wec-input-bg);
  border: 1px solid var(--wec-border);
  border-radius: 8px; padding: 10px 14px; margin: 0;
}


/* ── Delivery & Collection info boxes ──────────────────────── */
.wec-info-box {
  padding: 16px 18px;
  border: 1px solid var(--wec-border);
  border-radius: var(--wec-radius);
  background: var(--wec-input-bg);
  margin-bottom: 12px;
}
.wec-info-box:last-child { margin-bottom: 0; }
.wec-info-box p {
  margin: 0;
  font-size: .9rem;
  color: var(--wec-muted);
  line-height: 1.7;
}

/* ================================================================
   PAYMENT — Individual cards, radio visible on left, screenshot style
   ================================================================ */
.wec-payment-card #payment { background: transparent; border: none; padding: 0; }

.wec-payment-card #payment ul.wc_payment_methods {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Each gateway = its own rounded card */
.wec-payment-card #payment ul.wc_payment_methods li {
  background: #fffdf9;
  border: 1px solid var(--wec-border);
  border-radius: 10px;
  overflow: visible;
  cursor: pointer;
  transition: border-color var(--wec-transition), box-shadow var(--wec-transition);
}
.wec-payment-card #payment ul.wc_payment_methods li:hover {
  border-color: #c8c2b8;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}

/* Selected card */
.wec-payment-card #payment ul.wc_payment_methods li:has(input:checked) {
  border-color: var(--wec-green);
  box-shadow: 0 0 0 1px var(--wec-green);
}

/* Radio button — hidden, full row clickable via label */
.wec-payment-card #payment ul.wc_payment_methods li input[type="radio"] {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
}

/* Label row — radio + title + icon, all vertically centered */
.wec-payment-card #payment ul.wc_payment_methods li label {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  cursor: pointer;
  width: 100%;
  box-sizing: border-box;
  text-transform: none;
  letter-spacing: 0;
  font-size: .95rem;
  font-weight: 700;
  color: var(--wec-text);
  line-height: 1.3;
}
.wec-payment-card #payment ul.wc_payment_methods li label img {
  height: 22px; width: auto; margin-left: auto; flex-shrink: 0;
}

/* Description text inside payment_box */
.wec-payment-card #payment .payment_box {
  display: block !important;
  padding: 0 18px 14px 48px;
  background: none !important;
  border: none;
  font-size: .85rem;
  color: var(--wec-muted);
  line-height: 1.5;
  margin-top: -8px;
}
.wec-payment-card #payment ul.wc_payment_methods li .payment_box[style*="display:none"],
.wec-payment-card #payment ul.wc_payment_methods li .payment_box[style*="display: none"] {
  display: none !important;
}

/* Card input fields (Stripe etc.) */
.wec-payment-card #payment .payment_box input,
.wec-payment-card #payment .payment_box select,
.wec-payment-card #payment .payment_box .StripeElement {
  width: 100%; padding: 10px 12px;
  border: 1px solid var(--wec-border) !important;
  border-radius: var(--wec-radius) !important;
  font-size: .9rem; background: var(--wec-input-bg);
  margin-bottom: 10px; box-sizing: border-box;
}
.wec-payment-card #payment .place-order { padding: 0; background: none; border: none; }

/* ── Place Order Button ─────────────────────────────────────── */
.wec-payment-card #payment #place_order,
#place_order {
  display: block; width: 100%; padding: 16px;
  background: #2F4A43 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: var(--wec-radius);
  font-family: inherit; font-size: 1rem;
  font-weight: 600; letter-spacing: .04em;
  text-transform: uppercase; cursor: pointer;
  transition: background var(--wec-transition), transform var(--wec-transition);
  box-shadow: 0 4px 14px rgba(47,74,67,.2);
  margin-top: 4px;
}
.wec-payment-card #payment #place_order:hover,
#place_order:hover {
  background: #243b35 !important;
  transform: translateY(-1px);
}

/* ── Coupon ─────────────────────────────────────────────────── */
.wec-coupon-row { margin-bottom: 18px; }
.wec-coupon-inner { display: flex; gap: 8px; }
.wec-coupon-inner .wec-input {
  flex: 1; padding: 10px 14px;
  border: 1px solid var(--wec-border); border-radius: var(--wec-radius);
  font-size: .9rem; outline: none; background: var(--wec-input-bg);
}
.wec-coupon-inner .wec-input:focus { border-color: var(--wec-green); }
.wec-coupon-msg { margin-top: 8px; font-size: .85rem; padding: 8px 12px; border-radius: 6px; }
.wec-coupon-msg.success { background: #dcfce7; color: var(--wec-success); }
.wec-coupon-msg.error   { background: #fee2e2; color: var(--wec-error); }
.wec-btn-secondary {
  padding: 10px 16px; background: transparent;
  color: var(--wec-green); border: 1px solid var(--wec-green);
  border-radius: var(--wec-radius); font-size: .9rem; font-weight: 600;
  cursor: pointer; transition: all var(--wec-transition); white-space: nowrap;
}
.wec-btn-secondary:hover { background: var(--wec-green); color: #fff; }

/* ================================================================
   RIGHT COLUMN — ORDER SUMMARY (Screenshot style)
   ================================================================ */
.wec-order-summary-card .wec-section-title {
  font-size: 38px;
  margin-bottom: 24px;
}

/* Item rows */
.wec-sum-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid var(--wec-border);
}
.wec-sum-item:first-child { padding-top: 0; }
.wec-sum-item-info { flex: 1; min-width: 0; }
.wec-sum-item-name {
  display: block;
  font-size: .95rem;
  font-weight: 600;
  color: var(--wec-text);
  margin-bottom: 3px;
}
.wec-sum-item-meta {
  display: block;
  font-size: .82rem;
  color: var(--wec-muted);
  margin-top: 2px;
}
.wec-sum-item-price {
  font-size: .95rem;
  font-weight: 500;
  color: var(--wec-text);
  white-space: nowrap;
  flex-shrink: 0;
}

/* Divider */
.wec-sum-divider { height: 1px; background: var(--wec-border); margin: 4px 0; }

/* Subtotal / delivery / discount */
.wec-sum-totals { padding: 12px 0 4px; }
.wec-sum-row {
  display: flex; justify-content: space-between;
  padding: 5px 0; font-size: .88rem; color: var(--wec-muted);
}
.wec-sum-row--discount { color: #16a34a; }

/* Total */
.wec-sum-total-row {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: 14px 0 0;
  font-size: 1.1rem; font-weight: 700; color: var(--wec-text);
}
.wec-sum-total-row span:last-child { font-size: 1.25rem; }

/* Secure badges */
.wec-secure-badges {
  display: flex; align-items: center; justify-content: center;
  gap: 16px; margin-top: 18px; padding-top: 14px;
  border-top: 1px solid var(--wec-border);
}
.wec-badge {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: .78rem; color: var(--wec-muted); font-weight: 600;
}

/* ── Empty cart / notices ───────────────────────────────────── */
.wec-empty-cart {
  background: var(--wec-surface); border: 1px solid var(--wec-border);
  border-radius: var(--wec-radius); padding: 40px; text-align: center; color: var(--wec-muted);
}
.wec-no-payment-notice {
  background: #fef3cd; border: 1px solid #fcd34d;
  border-radius: var(--wec-radius); padding: 14px 16px; font-size: .88rem;
}
.wec-wrapper .woocommerce-error,
.wec-wrapper .woocommerce-message { border-radius: var(--wec-radius); font-size: .88rem; }

/* ── Animations ─────────────────────────────────────────────── */
.wec-col-left .wec-card { animation: wec-fade-up .3s ease both; }
.wec-col-left .wec-card:nth-child(1) { animation-delay: .04s; }
.wec-col-left .wec-card:nth-child(2) { animation-delay: .08s; }
.wec-col-left .wec-card:nth-child(3) { animation-delay: .12s; }
.wec-col-left .wec-card:nth-child(4) { animation-delay: .16s; }
.wec-col-left .wec-card:nth-child(5) { animation-delay: .20s; }
.wec-col-right .wec-card             { animation: wec-fade-up .3s .25s ease both; }
@keyframes wec-fade-up {
  from { opacity:0; transform:translateY(12px); }
  to   { opacity:1; transform:translateY(0); }
}


/* ── Trust Box ──────────────────────────────────────────────── */
.wec-trust-card {
    background: #fffdf9 !important;
    border-color: #e6e1d8 !important;
    padding: 18px;
    border-radius: 18px;
    margin-top: 30px;
    border: 1px solid;
    margin-bottom: 20px;
}

.wec-trust-title {
  font-family: Baskerville, Georgia, serif;
  font-size: 26px;
  font-weight: 300;
  color: #34524C;
  margin: 0 0 12px;
  line-height: 1.3;
}
.wec-trust-body {
  font-size: .88rem;
  color: #607067;
  line-height: 1.65;
  margin: 0 0 8px;
}
.wec-trust-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.wec-trust-badge {
  padding: 10px 14px;
  border-radius: 999px;
  background: #eef2ea;
  color: #2f3a2f;
  font-size: 13px;
  line-height: 1;
  border: none;
}

/* ── Klarna Card ─────────────────────────────────────────────── */
.wec-klarna-card {
 margin-top: 18px;
    padding: 16px 18px;
    border-radius: 18px;
    background: #f3eee6;
    border: 1px solid #e6e1d8;
    font-size: 14px;
    line-height: 1.7;
    color: #5c685c;
}
.wec-klarna-card p {
  margin: 0;
  font-size: 14px;
  color: #5c685c;
  line-height: 1.6;
}
.wec-klarna-card p strong {
  color: #5c685c;
  font-weight: 600;
}

/* ================================================================
   THANK YOU PAGE
   ================================================================ */
.woocommerce-order-received .check-section { display: none !important; }
.woocommerce-order { max-width: 700px; margin: 0 auto; }
.woocommerce-order p.woocommerce-thankyou-order-received {
  background: #f0fdf4; border: 1.5px solid #86efac;
  border-radius: 10px; padding: 18px 22px;
  font-size: 1rem; font-weight: 600; color: #15803d;
  margin-bottom: 24px; display: flex; align-items: center; gap: 10px;
}
.woocommerce-order p.woocommerce-thankyou-order-received::before {
  content: '✓'; display: inline-flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; background: #15803d; color: #fff;
  border-radius: 50%; font-size: .85rem; flex-shrink: 0;
}
.woocommerce-order-overview.woocommerce-thankyou-order-details {
  list-style: none; padding: 0; margin: 0 0 24px;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 10px;
}
.woocommerce-order-overview li {
  background: #fff; border: 1px solid #e6e1d8;
  border-radius: 8px; padding: 12px 14px; font-size: .85rem; color: #6b6b6b;
}
.woocommerce-order-overview li strong { display: block; font-size: .95rem; font-weight: 700; color: #2a2a2a; margin-top: 3px; }
.woocommerce-order-details h2, .woocommerce-customer-details h2 {
  font-size: 1.1rem; font-weight: 700; margin-bottom: 12px;
  padding-bottom: 10px; border-bottom: 1px solid #e6e1d8;
}
.woocommerce-table--order-details {
  width: 100%; border-collapse: collapse; background: #fff;
  border: 1px solid #e6e1d8; border-radius: 8px; overflow: hidden; margin-bottom: 24px;
}
.woocommerce-table--order-details th,
.woocommerce-table--order-details td { padding: 12px 16px; border-bottom: 1px solid #e6e1d8; font-size: .9rem; }
.woocommerce-table--order-details tfoot tr:last-child td,
.woocommerce-table--order-details tfoot tr:last-child th { border-bottom: none; font-weight: 700; }
.wec-address-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.wec-address-box { background: #fff; border: 1px solid #e6e1d8; border-radius: 8px; padding: 16px; }
.wec-address-box h3 { font-size: .9rem; font-weight: 700; margin: 0 0 8px; }
.wec-address-box address { font-style: normal; font-size: .88rem; color: #6b6b6b; line-height: 1.6; }
.wec-address-email, .wec-address-phone { font-size: .85rem; color: #6b6b6b; margin: 4px 0 0; }

/* ── Inline Login Form ──────────────────────────────────────── */
#wec-inline-login {
  margin-top: 16px;
  padding: 20px;
  background: var(--wec-input-bg);
  border: 1px solid var(--wec-border);
  border-radius: var(--wec-radius);
}
#wec-inline-login .woocommerce-form-login .form-row {
  margin-bottom: 12px;
}
#wec-inline-login .woocommerce-form-login label {
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--wec-muted);
  margin-bottom: 5px;
  display: block;
}
#wec-inline-login .woocommerce-form-login .input-text {
  width: 100%;
  padding: 11px 14px;
  border: 1px solid var(--wec-border);
  border-radius: var(--wec-radius);
  font-size: .9rem;
  background: #fff;
  outline: none;
  box-sizing: border-box;
}
#wec-inline-login .woocommerce-form-login .input-text:focus {
  border-color: var(--wec-green);
  box-shadow: 0 0 0 3px rgba(47,74,67,.08);
}
#wec-inline-login .woocommerce-form-login__rememberme {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .85rem;
  color: var(--wec-muted);
  margin: 12px 0;
}
#wec-inline-login .woocommerce-Button.button {
  display: block;
  width: 100%;
  padding: 13px;
  background: var(--wec-green);
  color: #fff;
  border: none;
  border-radius: var(--wec-radius);
  font-size: .95rem;
  font-weight: 600;
  cursor: pointer;
  transition: background var(--wec-transition);
  text-align: center;
}
#wec-inline-login .woocommerce-Button.button:hover {
  background: var(--wec-green-dark);
}
#wec-inline-login .lost_password {
  text-align: center;
  margin-top: 10px;
  font-size: .82rem;
}
#wec-inline-login .lost_password a {
  color: var(--wec-green);
  text-decoration: none;
}
#wec-inline-login .lost_password a:hover { text-decoration: underline; }

/* ── Login button & message ─────────────────────────────────── */
.wec-login-btn {
  display: block;
  width: 100%;
  padding: 13px;
  background: var(--wec-green);
  color: #fff;
  border: none;
  border-radius: var(--wec-radius);
  font-family: inherit;
  font-size: .95rem;
  font-weight: 600;
  cursor: pointer;
  transition: background var(--wec-transition);
  text-align: center;
}
.wec-login-btn:hover { background: var(--wec-green-dark); }
.wec-login-btn:disabled { opacity: .7; cursor: not-allowed; }

.wec-login-msg {
  padding: 10px 14px;
  border-radius: var(--wec-radius);
  font-size: .88rem;
  margin-bottom: 14px;
}
.wec-login-msg.success { background: #dcfce7; color: var(--wec-success); }
.wec-login-msg.error   { background: #fee2e2; color: var(--wec-error); }

/* ── Force Stripe Klarna / BNPL visible ─────────────────────── */
/* Stripe JS hides these via inline style — override it          */
.wec-payment-card #payment ul.wc_payment_methods li.payment_method_stripe_klarna,
.wec-payment-card #payment ul.wc_payment_methods li.payment_method_stripe_klarna_messaging,
.wec-payment-card #payment ul.wc_payment_methods li.payment_method_stripe_affirm,
.wec-payment-card #payment ul.wc_payment_methods li.payment_method_stripe_afterpay_clearpay,
.wec-payment-card #payment ul.wc_payment_methods li[class*="klarna"],
.wec-payment-card #payment ul.wc_payment_methods li[class*="bnpl"],
.wec-payment-card #payment ul.wc_payment_methods li[class*="buy_now_pay"] {
  display: block !important;
}

/* ── Order Pay Page (WooCommerce Deposits / partial payments) ── */
.wec-order-pay-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: 900px;
  margin: 0 auto;
  padding: 20px 0 60px;
}
@media (max-width: 700px) {
  .wec-order-pay-wrapper { grid-template-columns: 1fr; }
}
.wec-order-pay-summary,
.wec-order-pay-form {
  background: var(--wec-surface);
  border: 1px solid var(--wec-border);
  border-radius: var(--wec-radius);
  padding: 24px;
}
.wec-pay-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .9rem;
  margin-top: 8px;
}
.wec-pay-table th,
.wec-pay-table td {
  padding: 10px 6px;
  border-bottom: 1px solid var(--wec-border);
  text-align: left;
}
.wec-pay-table td:last-child,
.wec-pay-table th:last-child { text-align: right; }
.wec-pay-table tfoot th,
.wec-pay-table tfoot td {
  border-bottom: none;
  font-weight: 700;
  font-size: 1rem;
}
.wec-order-pay-form #order_review { padding: 0; background: none; border: none; }
.wec-order-pay-form #place_order {
  display: block; width: 100%; padding: 15px;
  background: #2F4A43 !important; color: #fff !important;
  border: none; border-radius: var(--wec-radius);
  font-size: 1rem; font-weight: 600; cursor: pointer;
  text-transform: uppercase; letter-spacing: .04em;
  margin-top: 16px;
}
.wec-order-pay-form #place_order:hover { background: #243b35 !important; }

/* ── Order Pay Page — payment box visible ───────────────────── */
.wec-order-pay-form #payment_methods_pay li {
  background: #fffdf9;
  border: 1px solid var(--wec-border);
  border-radius: 10px;
  margin-bottom: 10px;
  overflow: visible;
}
.wec-order-pay-form #payment_methods_pay {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
}
.wec-order-pay-form #payment_methods_pay li label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  cursor: pointer;
  font-size: .92rem;
  font-weight: 600;
}
.wec-order-pay-form #payment_methods_pay li input[type="radio"] {
  display: none !important;
}
.wec-order-pay-form #payment_methods_pay li:has(input:checked) {
  border-color: var(--wec-green);
  box-shadow: 0 0 0 1px var(--wec-green);
}
/* Force payment box visible */
.wec-order-pay-form .payment_box {
  display: block !important;
  padding: 14px 16px;
  background: #f7f3ec;
  border-top: 1px solid var(--wec-border);
  font-size: .88rem;
}
.wec-order-pay-form .payment_box[style*="display:none"],
.wec-order-pay-form .payment_box[style*="display: none"] {
  display: none !important;
}
.wec-order-pay-form .payment_box input,
.wec-order-pay-form .payment_box .StripeElement {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--wec-border) !important;
  border-radius: var(--wec-radius) !important;
  background: var(--wec-input-bg);
  margin-bottom: 10px;
  box-sizing: border-box;
  font-size: .9rem;
}
/* Force Klarna/BNPL visible */
.wec-order-pay-form #payment_methods_pay li[class*="klarna"],
.wec-order-pay-form #payment_methods_pay li[class*="stripe_klarna"],
.wec-order-pay-form #payment_methods_pay li[class*="bnpl"],
.wec-order-pay-form #payment_methods_pay li[class*="buy_now_pay"] {
  display: block !important;
}

/* ── Hide Stripe billing country/address fields everywhere ─────── */
/* CSS handles statically-rendered elements.
   Dynamically-injected Stripe elements are handled by MutationObserver JS. */

/* All known Stripe billing address / country containers */
.wec-order-pay-form .payment_box #billing_country_field,
.wec-order-pay-form .payment_box .wc-stripe-billing-details,
.wec-order-pay-form .payment_box .stripe-billing-address,
.wec-order-pay-form .payment_box .wc-stripe-billing-details .address-field,
.wec-order-pay-form .payment_box [id*="billing_country"],
.wec-order-pay-form .payment_box [id*="stripe"][id*="country"],
.wec-order-pay-form .payment_box [class*="stripe"][class*="country"],
.wec-order-pay-form .payment_box [class*="stripe"][class*="billing"],
.wec-order-pay-form .payment_box select[name*="country"],
/* Main checkout payment box */
.wec-payment-card .payment_box #billing_country_field,
.wec-payment-card .payment_box .wc-stripe-billing-details,
.wec-payment-card .payment_box .stripe-billing-address,
.wec-payment-card .payment_box .wc-stripe-billing-details .address-field,
.wec-payment-card .payment_box [id*="billing_country"],
.wec-payment-card .payment_box [class*="stripe"][class*="billing"],
.wec-payment-card .payment_box select[name*="country"],
/* Generic: any form-row with a country select inside a payment box */
#payment .payment_box p.form-row:has(select[name*="country"]),
#order_review .payment_box p.form-row:has(select[name*="country"]),
#payment .payment_box p.form-row:has([id*="billing_country"]),
#order_review .payment_box p.form-row:has([id*="billing_country"]) {
  display: none !important;
}
