/* Krafty Checkout Experience 2.0 — scoped strictly to classic WooCommerce checkout. */
body.krafty-checkout-active .woocommerce-checkout,
body.krafty-checkout-active .woocommerce-checkout * { box-sizing: border-box; }
body.krafty-checkout-active .woocommerce-checkout {
  --kce-black:#101010; --kce-gold:#bd963a; --kce-coral:#ff735e; --kce-ink:#1c1a18; --kce-muted:#746f69;
  --kce-line:#e6e0d7; --kce-soft:#faf8f4; --kce-success:#3d7a55; --kce-error:#b42318;
  max-width:1240px; margin:0 auto; color:var(--kce-ink); letter-spacing:normal;
}
body.krafty-checkout-active .woocommerce-checkout h1,
body.krafty-checkout-active .woocommerce-checkout h2,
body.krafty-checkout-active .woocommerce-checkout h3,
body.krafty-checkout-active .woocommerce-checkout h4,
body.krafty-checkout-active .woocommerce-checkout p,
body.krafty-checkout-active .woocommerce-checkout label,
body.krafty-checkout-active .woocommerce-checkout span,
body.krafty-checkout-active .woocommerce-checkout a,
body.krafty-checkout-active .woocommerce-checkout button { letter-spacing:normal; }

/* Hero */
body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-hero { display:flex; justify-content:space-between; align-items:flex-end; gap:34px; margin:0 0 32px; padding:30px; border:1px solid #2f2b25; border-top:3px solid var(--kce-gold); background:linear-gradient(118deg,#111 0%,#111 68%,#312815 100%); color:#fff; }
body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-hero__eyebrow { margin:0 0 8px; color:var(--kce-gold); font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-hero h1 { margin:0; color:#fff; font-size:clamp(28px,4vw,42px); font-weight:600; letter-spacing:.04em; line-height:1.12; text-transform:uppercase; }
body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-hero__heading > p:last-child { max-width:630px; margin:12px 0 0; color:#f2eee7; font-size:15px; line-height:1.55; }
body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-steps { display:flex; gap:16px; margin:0; padding:0; list-style:none; }
body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-steps li { display:grid; grid-template-columns:28px auto; align-items:center; gap:8px; color:#d5d0c7; font-size:12px; white-space:nowrap; }
body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-steps span { display:grid; width:28px; height:28px; place-items:center; border:1px solid #6b604e; border-radius:50%; color:#eee4d1; font-weight:700; }
body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-steps .is-active { color:#fff; }
body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-steps .is-active span { border-color:var(--kce-gold); background:var(--kce-gold); color:#16130c; }
body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-steps .is-done { color:#e8dfcf; }
body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-steps .is-done span { border-color:var(--kce-gold); background:transparent; color:var(--kce-gold); }

/* Notices */
body.krafty-checkout-active .woocommerce-checkout .woocommerce-error,
body.krafty-checkout-active .woocommerce-checkout .woocommerce-message,
body.krafty-checkout-active .woocommerce-checkout .woocommerce-info { margin:0 0 22px; padding:16px 18px 16px 44px; border:1px solid #f0c7be; border-left:4px solid var(--kce-coral); background:#fff5f2; color:var(--kce-ink); font-size:14px; line-height:1.55; }
body.krafty-checkout-active .woocommerce-checkout .woocommerce-error::before { left:16px; color:var(--kce-coral); }
body.krafty-checkout-active .woocommerce-checkout .woocommerce-message { border-color:#cddbc7; border-left-color:var(--kce-success); background:#f3f8f1; }
body.krafty-checkout-active .woocommerce-checkout .woocommerce-message::before { left:16px; color:var(--kce-success); }
body.krafty-checkout-active .woocommerce-checkout .woocommerce-info { border-color:#eadbb9; border-left-color:var(--kce-gold); background:#fffcf5; }
body.krafty-checkout-active .woocommerce-checkout .woocommerce-info::before { left:16px; color:var(--kce-gold); }

/* Το μήνυμα "πρέπει να είσαι συνδεδεμένος/η" (και το login toggle) το βγάζει
   το ίδιο το WooCommerce ΠΡΙΝ ανοίξει η φόρμα .woocommerce-checkout — άρα
   εκτός εμβέλειας του παραπάνω κανόνα. Το στοχεύουμε ξεχωριστά εδώ, χωρίς να
   απαιτούμε .woocommerce-checkout ως πρόγονο. */
body.krafty-checkout-active .woocommerce-form-login-toggle .woocommerce-info,
body.krafty-checkout-active .woocommerce-checkout-nav-fragment .woocommerce-info,
body.krafty-checkout-active > .woocommerce-info,
body.krafty-checkout-active .woocommerce > .woocommerce-info {
  margin: 0 0 22px;
  padding: 16px 18px 16px 44px;
  border: 1px solid #eadbb9;
  border-left: 4px solid var(--kce-gold);
  background: #fffcf5;
  color: var(--kce-ink);
  font-size: 14px;
  line-height: 1.55;
}
body.krafty-checkout-active .woocommerce-form-login-toggle .woocommerce-info a,
body.krafty-checkout-active .woocommerce-info a {
  color: var(--kce-gold);
  font-weight: 700;
  text-decoration: underline;
}

/* Πεδία δημιουργίας λογαριασμού κατά το ταμείο (αν ενεργοποιηθεί από
   WooCommerce → Ρυθμίσεις → Λογαριασμοί & Απόρρητο) */
body.krafty-checkout-active .woocommerce-checkout .woocommerce-account-fields { margin: 0 0 18px; }
body.krafty-checkout-active .woocommerce-checkout .woocommerce-account-fields .form-row:last-child { margin-bottom: 0; }
body.krafty-checkout-active .woocommerce-checkout .woocommerce-account-fields label { display: flex; align-items: center; gap: 8px; color: var(--kce-ink); font-size: 14px; font-weight: 650; cursor: pointer; }
body.krafty-checkout-active .woocommerce-checkout #createaccount { width: 18px; height: 18px; accent-color: var(--kce-gold); }
body.krafty-checkout-active .woocommerce-checkout .create-account { margin-top: 14px; padding: 18px; border: 1px solid var(--kce-line); background: #fff; }

/* Two-column native checkout */
body.krafty-checkout-active .woocommerce-checkout form.checkout { display:block; }
body.krafty-checkout-active .woocommerce-checkout form.checkout::after { display:block; clear:both; content:""; }
body.krafty-checkout-active .woocommerce-checkout form.checkout > #customer_details { float:left; width:62%; }
body.krafty-checkout-active .woocommerce-checkout form.checkout > #order_review_heading,
body.krafty-checkout-active .woocommerce-checkout form.checkout > #order_review { float:right; width:34%; }
body.krafty-checkout-active .woocommerce-checkout form.checkout > #order_review_heading { margin:0 0 12px; padding:0 0 0 2px; color:var(--kce-black); font-size:20px; font-weight:700; line-height:1.25; }
body.krafty-checkout-active .woocommerce-checkout #customer_details .col-1,
body.krafty-checkout-active .woocommerce-checkout #customer_details .col-2 { float:none; width:100%; }
body.krafty-checkout-active .woocommerce-checkout #customer_details .col-1 + .col-2 { margin-top:22px; }
body.krafty-checkout-active .woocommerce-checkout .woocommerce-billing-fields,
body.krafty-checkout-active .woocommerce-checkout .woocommerce-shipping-fields,
body.krafty-checkout-active .woocommerce-checkout .woocommerce-additional-fields { padding:26px; border:1px solid var(--kce-line); background:#fff; }
body.krafty-checkout-active .woocommerce-checkout .woocommerce-billing-fields > h3,
body.krafty-checkout-active .woocommerce-checkout .woocommerce-shipping-fields > h3,
body.krafty-checkout-active .woocommerce-checkout .woocommerce-additional-fields > h3 { margin:0 0 20px; color:var(--kce-black); font-size:21px; font-weight:700; line-height:1.25; }
body.krafty-checkout-active .woocommerce-checkout .kce-section-heading { display:flex; align-items:flex-start; gap:13px; margin:0 0 20px; padding:0 0 18px; border-bottom:1px solid var(--kce-line); }
body.krafty-checkout-active .woocommerce-checkout .kce-section-heading__index { display:grid; flex:0 0 auto; width:30px; height:30px; place-items:center; border-radius:50%; background:var(--kce-black); color:#fff; font-size:12px; font-weight:700; }
body.krafty-checkout-active .woocommerce-checkout .kce-section-heading h3 { margin:1px 0 4px; color:var(--kce-black); font-size:18px; line-height:1.25; }
body.krafty-checkout-active .woocommerce-checkout .kce-section-heading p { margin:0; color:var(--kce-muted); font-size:13px; line-height:1.45; }

/* Fields */
body.krafty-checkout-active .woocommerce-checkout .form-row { margin:0 0 18px; }
body.krafty-checkout-active .woocommerce-checkout .form-row label { display:block; margin:0 0 7px; color:var(--kce-ink); font-size:14px; font-weight:650; line-height:1.35; }
body.krafty-checkout-active .woocommerce-checkout .form-row label .required { color:var(--kce-coral); text-decoration:none; }
body.krafty-checkout-active .woocommerce-checkout .form-row .optional { color:var(--kce-muted); font-weight:400; }
body.krafty-checkout-active .woocommerce-checkout input.input-text,
body.krafty-checkout-active .woocommerce-checkout textarea,
body.krafty-checkout-active .woocommerce-checkout select,
body.krafty-checkout-active .woocommerce-checkout .select2-container--default .select2-selection--single { width:100%; min-height:52px; border:1px solid #cac2b8; border-radius:2px; background:#fff; box-shadow:none; color:var(--kce-ink); font-family:inherit; font-size:16px; line-height:1.35; }
body.krafty-checkout-active .woocommerce-checkout input.input-text,
body.krafty-checkout-active .woocommerce-checkout textarea,
body.krafty-checkout-active .woocommerce-checkout select { padding:13px 14px; }
body.krafty-checkout-active .woocommerce-checkout textarea { min-height:112px; resize:vertical; }
body.krafty-checkout-active .woocommerce-checkout input.input-text[readonly] { background:#f7fbf5; border-color:#98b99e; color:#254d30; }
body.krafty-checkout-active .woocommerce-checkout .select2-container--default .select2-selection--single { display:flex; align-items:center; padding:0 14px; }
body.krafty-checkout-active .woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { padding:0; color:var(--kce-ink); line-height:1.35; }
body.krafty-checkout-active .woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { top:14px; right:11px; }
body.krafty-checkout-active .woocommerce-checkout input.input-text::placeholder,
body.krafty-checkout-active .woocommerce-checkout textarea::placeholder { color:#98918a; opacity:1; }
body.krafty-checkout-active .woocommerce-checkout input.input-text:focus,
body.krafty-checkout-active .woocommerce-checkout textarea:focus,
body.krafty-checkout-active .woocommerce-checkout select:focus,
body.krafty-checkout-active .woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single,
body.krafty-checkout-active .woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single { border-color:var(--kce-gold); outline:3px solid rgba(189,150,58,.14); outline-offset:0; }
body.krafty-checkout-active .woocommerce-checkout .woocommerce-input-wrapper > .description { display:block; margin-top:6px; color:var(--kce-muted); font-size:12px; line-height:1.45; }
body.krafty-checkout-active .woocommerce-checkout .woocommerce-invalid input.input-text,
body.krafty-checkout-active .woocommerce-checkout .woocommerce-invalid select,
body.krafty-checkout-active .woocommerce-checkout .woocommerce-invalid .select2-selection--single { border-color:var(--kce-error); }
body.krafty-checkout-active .woocommerce-checkout .woocommerce-validated input.input-text,
body.krafty-checkout-active .woocommerce-checkout .woocommerce-validated select,
body.krafty-checkout-active .woocommerce-checkout .woocommerce-validated .select2-selection--single { border-color:var(--kce-success); }
body.krafty-checkout-active .woocommerce-checkout .krafty-client-error { display:block; margin-top:6px; color:var(--kce-error); font-size:12px; font-weight:650; line-height:1.35; }

/* ταχυδρομικού κώδικα address status */
body.krafty-checkout-active .woocommerce-checkout .kce-postcode-verification { margin:-2px 0 20px; }
body.krafty-checkout-active .woocommerce-checkout .kce-postcode-status { display:flex; align-items:flex-start; gap:9px; margin:0; padding:12px 13px; border:1px solid #eadbb9; background:#fffcf5; color:#65542c; font-size:12px; line-height:1.45; }
body.krafty-checkout-active .woocommerce-checkout .kce-postcode-status__dot { width:8px; height:8px; flex:0 0 8px; margin-top:5px; border-radius:50%; background:var(--kce-gold); }
body.krafty-checkout-active .woocommerce-checkout .kce-postcode-status.is-loading { border-color:#b9c8df; background:#f4f8ff; color:#37567d; }
body.krafty-checkout-active .woocommerce-checkout .kce-postcode-status.is-loading .kce-postcode-status__dot { background:#517eb3; }
body.krafty-checkout-active .woocommerce-checkout .kce-postcode-status.is-verified { border-color:#bcd8be; background:#f2f8f1; color:#285a38; }
body.krafty-checkout-active .woocommerce-checkout .kce-postcode-status.is-verified .kce-postcode-status__dot { background:var(--kce-success); }
body.krafty-checkout-active .woocommerce-checkout .kce-postcode-status.is-error,
body.krafty-checkout-active .woocommerce-checkout .kce-postcode-status.is-disabled { border-color:#efc0b8; background:#fff5f2; color:#9a2b1e; }
body.krafty-checkout-active .woocommerce-checkout .kce-postcode-status.is-error .kce-postcode-status__dot,
body.krafty-checkout-active .woocommerce-checkout .kce-postcode-status.is-disabled .kce-postcode-status__dot { background:var(--kce-error); }
.pac-container { z-index:100000 !important; border:1px solid #dcd3c7; box-shadow:0 10px 30px rgba(20,15,8,.16); font-family:inherit; }
.pac-item { padding:9px 12px; font-size:14px; line-height:1.35; }
.pac-item:hover, .pac-item-selected { background:#fbf8f2; }
.pac-icon { margin-top:2px; }

/* Order summary + payment */
body.krafty-checkout-active .woocommerce-checkout #order_review { position:sticky; top:26px; padding:24px; border:1px solid var(--kce-line); border-top:3px solid var(--kce-gold); background:var(--kce-soft); }
body.krafty-checkout-active .woocommerce-checkout #order_review .shop_table { margin:0 0 22px; border:0; background:transparent; }
body.krafty-checkout-active .woocommerce-checkout #order_review .shop_table th,
body.krafty-checkout-active .woocommerce-checkout #order_review .shop_table td { padding:13px 0; border-color:var(--kce-line); color:var(--kce-ink); font-size:14px; vertical-align:top; }
body.krafty-checkout-active .woocommerce-checkout #order_review .shop_table .product-name { font-weight:650; line-height:1.45; }
body.krafty-checkout-active .woocommerce-checkout #order_review .order-total th,
body.krafty-checkout-active .woocommerce-checkout #order_review .order-total td { color:var(--kce-black); font-size:19px; font-weight:750; }
body.krafty-checkout-active .woocommerce-checkout #payment { border:1px solid var(--kce-line); border-radius:3px; background:#fff; overflow:hidden; }
body.krafty-checkout-active .woocommerce-checkout #payment ul.payment_methods { display:grid; gap:10px; margin:0; padding:16px; border:0; background:#fcfbf9; }
body.krafty-checkout-active .woocommerce-checkout #payment ul.payment_methods > li { position:relative; margin:0; padding:15px 15px 13px; border:1px solid #d7d0c6; border-radius:3px; background:#fff; transition:border-color .15s ease, box-shadow .15s ease, background .15s ease; }
body.krafty-checkout-active .woocommerce-checkout #payment ul.payment_methods > li.kce-payment-selected { border-color:var(--kce-gold); box-shadow:0 0 0 2px rgba(189,150,58,.14); background:#fffdf8; }
body.krafty-checkout-active .woocommerce-checkout #payment ul.payment_methods > li:last-child { border-bottom:1px solid #d7d0c6; }
body.krafty-checkout-active .woocommerce-checkout #payment ul.payment_methods input.input-radio { appearance:none; width:18px; height:18px; margin:0 9px 0 0; border:1px solid #857b6f; border-radius:50%; vertical-align:-4px; background:#fff; }
body.krafty-checkout-active .woocommerce-checkout #payment ul.payment_methods input.input-radio:checked { border:5px solid var(--kce-gold); }
body.krafty-checkout-active .woocommerce-checkout #payment ul.payment_methods label { color:var(--kce-ink); font-size:14px; font-weight:700; line-height:1.4; cursor:pointer; }
body.krafty-checkout-active .woocommerce-checkout #payment div.payment_box { margin:13px 0 0; padding:13px 14px; border:1px solid #ece5d9; border-radius:2px; background:#f7f4ee; color:var(--kce-ink); font-size:13px; line-height:1.55; }
body.krafty-checkout-active .woocommerce-checkout #payment div.payment_box::before { border-bottom-color:#f7f4ee; }
body.krafty-checkout-active .woocommerce-checkout #payment .form-row.place-order { margin:0; padding:18px; background:#fff; }
body.krafty-checkout-active .woocommerce-checkout #payment .woocommerce-privacy-policy-text,
body.krafty-checkout-active .woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper { color:var(--kce-muted); font-size:12px; line-height:1.55; }
body.krafty-checkout-active .woocommerce-checkout #payment .woocommerce-terms-and-conditions-checkbox-text { color:var(--kce-ink); font-size:13px; font-weight:600; }
body.krafty-checkout-active .woocommerce-checkout #payment .woocommerce-form__label-for-checkbox { display:flex; align-items:flex-start; gap:10px; margin:13px 0; padding:12px; border:1px solid var(--kce-line); background:#fbfaf8; }
body.krafty-checkout-active .woocommerce-checkout #payment .woocommerce-form__input-checkbox { width:18px; height:18px; min-width:18px; margin:1px 0 0; accent-color:var(--kce-gold); }
body.krafty-checkout-active .woocommerce-checkout #payment .kce-order-confirmation-panel { display:flex; gap:10px; margin:0 0 14px; padding:13px; border:1px solid #eadbb9; background:#fffcf5; }
body.krafty-checkout-active .woocommerce-checkout #payment .kce-order-confirmation-panel__mark { display:grid; flex:0 0 21px; width:21px; height:21px; place-items:center; border-radius:50%; background:var(--kce-gold); color:#18130a; font-size:13px; font-weight:800; }
body.krafty-checkout-active .woocommerce-checkout #payment .kce-order-confirmation-panel strong { display:block; color:var(--kce-black); font-size:13px; font-weight:750; }
body.krafty-checkout-active .woocommerce-checkout #payment .kce-order-confirmation-panel p { margin:3px 0 0; color:#665939; font-size:12px; line-height:1.45; }
body.krafty-checkout-active .woocommerce-checkout #payment .krafty-payment-consent-copy { color:var(--kce-ink); font-size:13px; font-weight:500; line-height:1.55; letter-spacing:normal; }
body.krafty-checkout-active .woocommerce-checkout #payment #place_order,
body.krafty-checkout-active .woocommerce-checkout #payment .button.alt,
body.krafty-checkout-active .woocommerce-checkout #payment button.button.alt { float:none; width:100%; min-height:56px; padding:15px 18px; border:1px solid var(--kce-coral); border-radius:2px; background:var(--kce-coral); color:#fff; font-family:inherit; font-size:13px; font-weight:800; letter-spacing:.12em; line-height:1.2; text-align:center; text-transform:uppercase; text-shadow:none; }
body.krafty-checkout-active .woocommerce-checkout #payment #place_order::before { content:"✓"; margin-right:8px; font-size:15px; font-weight:900; }
body.krafty-checkout-active .woocommerce-checkout #payment #place_order:hover,
body.krafty-checkout-active .woocommerce-checkout #payment #place_order:focus,
body.krafty-checkout-active .woocommerce-checkout #payment .button.alt:hover,
body.krafty-checkout-active .woocommerce-checkout #payment .button.alt:focus { border-color:var(--kce-black); background:var(--kce-black); color:#fff; outline:none; }

/* Reassurance */
body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-reassurance { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0 0 26px; padding:17px; border:1px solid var(--kce-line); background:#fff; }
body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-reassurance > div { min-width:0; padding:4px 12px; border-left:2px solid var(--kce-gold); }
body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-reassurance strong,
body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-reassurance span { display:block; }
body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-reassurance strong { margin-bottom:4px; color:var(--kce-black); font-size:13px; font-weight:750; }
body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-reassurance span { color:var(--kce-muted); font-size:12px; line-height:1.45; }

@media (max-width:960px) {
  body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-hero { align-items:flex-start; flex-direction:column; }
  body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-steps { justify-content:flex-start; }
  body.krafty-checkout-active .woocommerce-checkout form.checkout > #customer_details,
  body.krafty-checkout-active .woocommerce-checkout form.checkout > #order_review_heading,
  body.krafty-checkout-active .woocommerce-checkout form.checkout > #order_review { float:none; width:100%; }
  body.krafty-checkout-active .woocommerce-checkout form.checkout > #order_review_heading { margin-top:28px; }
  body.krafty-checkout-active .woocommerce-checkout #order_review { position:static; }
}
@media (max-width:680px) {
  body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-hero { margin-bottom:22px; padding:22px 18px; }
  body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-hero h1 { font-size:26px; }
  body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-steps { width:100%; justify-content:space-between; gap:8px; }
  body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-steps li { display:block; text-align:center; white-space:normal; }
  body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-steps li span { margin:0 auto 5px; }
  body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-steps li strong { display:block; font-size:11px; }
  body.krafty-checkout-active .woocommerce-checkout .woocommerce-billing-fields,
  body.krafty-checkout-active .woocommerce-checkout .woocommerce-shipping-fields,
  body.krafty-checkout-active .woocommerce-checkout .woocommerce-additional-fields,
  body.krafty-checkout-active .woocommerce-checkout #order_review { padding:18px; }
  body.krafty-checkout-active .woocommerce-checkout .form-row-first,
  body.krafty-checkout-active .woocommerce-checkout .form-row-last { float:none; width:100%; }
  body.krafty-checkout-active .woocommerce-checkout .krafty-checkout-reassurance { grid-template-columns:1fr; }
}


/* ELTA postcode/place lookup suggestions */
body.krafty-checkout-active .woocommerce-checkout .form-row { position:relative; }
body.krafty-checkout-active .woocommerce-checkout .kce-postcode-suggestions { position:absolute; z-index:9999; top:100%; right:0; left:0; margin-top:6px; overflow:hidden; border:1px solid #d8d0c4; border-radius:2px; background:#fff; box-shadow:0 14px 34px rgba(23,17,9,.16); }
body.krafty-checkout-active .woocommerce-checkout .kce-postcode-suggestions__title { padding:10px 12px; border-bottom:1px solid #eee7dd; background:#fbf8f2; color:var(--kce-muted); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
body.krafty-checkout-active .woocommerce-checkout button.kce-postcode-suggestion { display:flex; width:100%; align-items:center; justify-content:space-between; gap:12px; margin:0; padding:12px; border:0; border-bottom:1px solid #eee7dd; border-radius:0; background:#fff; color:var(--kce-ink); font:inherit; line-height:1.3; text-align:left; text-transform:none; letter-spacing:normal; }
body.krafty-checkout-active .woocommerce-checkout button.kce-postcode-suggestion:last-child { border-bottom:0; }
body.krafty-checkout-active .woocommerce-checkout button.kce-postcode-suggestion:hover,
body.krafty-checkout-active .woocommerce-checkout button.kce-postcode-suggestion:focus { background:#fffaf0; color:var(--kce-black); outline:none; }
body.krafty-checkout-active .woocommerce-checkout button.kce-postcode-suggestion strong { color:var(--kce-black); font-size:14px; font-weight:750; }
body.krafty-checkout-active .woocommerce-checkout button.kce-postcode-suggestion span { flex:0 0 auto; color:#8b6b28; font-size:12px; font-weight:750; white-space:nowrap; }

/* Krafty Checkout 2.2 — postcode-first city list and split street / number */
body.krafty-checkout-active .woocommerce-checkout .kce-city-select-field select.krafty-input {
  min-height:50px;
  border-color:#cabfaf;
  background-color:#fff;
  cursor:pointer;
}
body.krafty-checkout-active .woocommerce-checkout .kce-city-select-field select.krafty-input:disabled {
  border-color:#e5ded4;
  background:#f5f2ed;
  color:#8c8277;
  cursor:not-allowed;
  opacity:1;
}
body.krafty-checkout-active .woocommerce-checkout .kce-city-select-field .description {
  display:block;
  margin:7px 0 0;
  color:var(--kce-muted);
  font-size:12px;
  line-height:1.45;
}
body.krafty-checkout-active .woocommerce-checkout .form-row.kce-city-select-field.woocommerce-validated select {
  border-color:var(--kce-success);
  background:#f8fcf7;
}
body.krafty-checkout-active .woocommerce-checkout .form-row.kce-city-select-field.woocommerce-invalid select {
  border-color:var(--kce-error);
  background:#fff8f6;
}
body.krafty-checkout-active .woocommerce-checkout #billing_address_number,
body.krafty-checkout-active .woocommerce-checkout #shipping_address_number {
  text-transform:uppercase;
}
body.krafty-checkout-active .woocommerce-checkout .kce-postcode-verification {
  clear:both;
  margin:2px 0 22px;
}
@media (max-width:680px) {
  body.krafty-checkout-active .woocommerce-checkout .kce-city-select-field select.krafty-input { min-height:52px; }
}


/* 2.2.1 — mandatory region for Greece; prevents the optional label after country field refresh. */
body.krafty-checkout-active .woocommerce-checkout .kce-region-required-field > label .optional { display:none !important; }
body.krafty-checkout-active .woocommerce-checkout .kce-region-required-field > label abbr.required { color:var(--kce-coral); font-weight:800; text-decoration:none; }
body.krafty-checkout-active .woocommerce-checkout .kce-region-required-field.woocommerce-invalid select,
body.krafty-checkout-active .woocommerce-checkout .kce-region-required-field.woocommerce-invalid input { border-color:var(--kce-error); background:#fff8f6; }


/* 2.3.0 — contact-first field order is defined in PHP. Guarantee a single required marker for Greek region. */
body.krafty-checkout-active .woocommerce-checkout .kce-region-required-field > label::after,
body.krafty-checkout-active .woocommerce-checkout .kce-region-required-field > label:after {
  content:none !important;
  display:none !important;
}
body.krafty-checkout-active .woocommerce-checkout .kce-region-required-field > label > abbr.required {
  display:inline !important;
  margin-left:3px;
}

/* 2.3.1 — postcode ↔ region verification data attribution. */
body.krafty-checkout-active .woocommerce-checkout .kce-geonames-attribution { margin:-14px 0 26px; color:var(--kce-muted); font-size:11px; line-height:1.45; }
body.krafty-checkout-active .woocommerce-checkout .kce-geonames-attribution a { color:var(--kce-muted); text-decoration:underline; }


/* v2.3.2 field order & required marker hardening. */
body.krafty-checkout-active .woocommerce-checkout #billing_address_2_field,
body.krafty-checkout-active .woocommerce-checkout #shipping_address_2_field { display:none !important; }
body.krafty-checkout-active .woocommerce-checkout .kce-region-required-field label .optional { display:none !important; }
body.krafty-checkout-active .woocommerce-checkout .kce-region-required-field label abbr.required { display:inline !important; }
/* v2.3.5: source attribution required for the on-demand regional verification. */
body.krafty-checkout-active .woocommerce-checkout .kce-postcode-attribution {
  margin: 7px 0 0;
  color: var(--kce-muted, #756d64);
  font-size: 11px;
  line-height: 1.4;
}

/* v2.3.7 — shipping methods / free store pickup cards */
body.krafty-checkout-active .woocommerce-checkout #order_review .woocommerce-shipping-totals th,
body.krafty-checkout-active .woocommerce-checkout #order_review .woocommerce-shipping-totals td,
body.krafty-checkout-active .woocommerce-checkout #order_review tr.shipping th,
body.krafty-checkout-active .woocommerce-checkout #order_review tr.shipping td {
  display:block;
  width:100%;
  padding-right:0;
  padding-left:0;
}
body.krafty-checkout-active .woocommerce-checkout #order_review .woocommerce-shipping-totals th,
body.krafty-checkout-active .woocommerce-checkout #order_review tr.shipping th {
  padding-bottom:8px;
  color:var(--kce-black);
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.krafty-checkout-active .woocommerce-checkout #order_review ul#shipping_method,
body.krafty-checkout-active .woocommerce-checkout #order_review ul.woocommerce-shipping-methods {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(142px,1fr));
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}
body.krafty-checkout-active .woocommerce-checkout #order_review ul#shipping_method li,
body.krafty-checkout-active .woocommerce-checkout #order_review ul.woocommerce-shipping-methods li {
  position:relative;
  margin:0;
  padding:13px 12px 12px 42px;
  border:1px solid #d8d0c5;
  border-radius:3px;
  background:#fff;
  color:var(--kce-ink);
  line-height:1.35;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
body.krafty-checkout-active .woocommerce-checkout #order_review ul#shipping_method li.kce-shipping-selected,
body.krafty-checkout-active .woocommerce-checkout #order_review ul.woocommerce-shipping-methods li.kce-shipping-selected {
  border-color:var(--kce-gold);
  box-shadow:0 0 0 2px rgba(189,150,58,.14);
  background:#fffdf8;
}
body.krafty-checkout-active .woocommerce-checkout #order_review ul#shipping_method input.shipping_method,
body.krafty-checkout-active .woocommerce-checkout #order_review ul.woocommerce-shipping-methods input.shipping_method {
  position:absolute;
  top:15px;
  left:13px;
  width:18px;
  height:18px;
  margin:0;
  appearance:none;
  border:1px solid #857b6f;
  border-radius:50%;
  background:#fff;
}
body.krafty-checkout-active .woocommerce-checkout #order_review ul#shipping_method input.shipping_method:checked,
body.krafty-checkout-active .woocommerce-checkout #order_review ul.woocommerce-shipping-methods input.shipping_method:checked {
  border:5px solid var(--kce-gold);
}
body.krafty-checkout-active .woocommerce-checkout #order_review ul#shipping_method label,
body.krafty-checkout-active .woocommerce-checkout #order_review ul.woocommerce-shipping-methods label {
  display:block;
  margin:0;
  color:var(--kce-ink);
  font-size:13px;
  font-weight:750;
  cursor:pointer;
}
body.krafty-checkout-active .woocommerce-checkout #order_review .kce-shipping-method-note {
  display:block;
  margin-top:5px;
  color:#756d64;
  font-size:11px;
  font-weight:500;
  line-height:1.35;
}
body.krafty-checkout-active .woocommerce-checkout #order_review .woocommerce-shipping-destination,
body.krafty-checkout-active .woocommerce-checkout #order_review .woocommerce-shipping-calculator {
  margin-top:10px;
  color:var(--kce-muted);
  font-size:12px;
  line-height:1.45;
}
@media (max-width:680px) {
  body.krafty-checkout-active .woocommerce-checkout #order_review ul#shipping_method,
  body.krafty-checkout-active .woocommerce-checkout #order_review ul.woocommerce-shipping-methods { grid-template-columns:1fr; }
}


/* v2.3.9 — stable free store pickup selection. */
body.krafty-checkout-active .woocommerce-checkout #order_review ul#shipping_method li label,
body.krafty-checkout-active .woocommerce-checkout #order_review ul.woocommerce-shipping-methods li label {
  min-height: 42px;
}
body.krafty-checkout-active .woocommerce-checkout #order_review .kce-shipping-method-note {
  clear: both;
  white-space: normal;
}
body.krafty-checkout-active .woocommerce-checkout #order_review ul#shipping_method li.kce-shipping-selected .kce-shipping-method-note,
body.krafty-checkout-active .woocommerce-checkout #order_review ul.woocommerce-shipping-methods li.kce-shipping-selected .kce-shipping-method-note {
  color: #5e4a1d;
}

/* v2.4.4 — native local-pickup handling on BOTH cart and checkout.
   The Cart page has a separate body context from checkout, so scope this
   narrowly to shipping controls rather than applying the checkout layout. */
body.krafty-store-pickup-active .woocommerce-shipping-destination,
body.krafty-checkout-active .woocommerce-shipping-destination {
  display:none !important;
}

body.krafty-store-pickup-active .cart_totals ul#shipping_method,
body.krafty-store-pickup-active .cart_totals ul.woocommerce-shipping-methods,
body.krafty-checkout-active #order_review ul#shipping_method,
body.krafty-checkout-active #order_review ul.woocommerce-shipping-methods {
  list-style:none;
  margin:0;
  padding:0;
}

@media (max-width:680px) {
  body.krafty-store-pickup-active .cart_totals ul#shipping_method li,
  body.krafty-store-pickup-active .cart_totals ul.woocommerce-shipping-methods li,
  body.krafty-checkout-active #order_review ul#shipping_method li,
  body.krafty-checkout-active #order_review ul.woocommerce-shipping-methods li {
    position:relative;
    min-height:72px;
    margin:0 0 10px;
    padding:14px 14px 14px 50px;
    border:1px solid var(--kce-line);
    background:#fff;
  }

  body.krafty-store-pickup-active .cart_totals input.shipping_method,
  body.krafty-checkout-active #order_review input.shipping_method {
    position:absolute !important;
    top:18px;
    left:16px;
    width:20px;
    height:20px;
    margin:0;
  }

  body.krafty-store-pickup-active .cart_totals ul#shipping_method label,
  body.krafty-store-pickup-active .cart_totals ul.woocommerce-shipping-methods label,
  body.krafty-checkout-active #order_review ul#shipping_method label,
  body.krafty-checkout-active #order_review ul.woocommerce-shipping-methods label {
    display:block;
    min-height:42px;
    margin:0;
    color:var(--kce-ink);
    font-size:16px !important;
    font-weight:700;
    line-height:1.4;
    white-space:normal;
  }

  body.krafty-store-pickup-active .cart_totals .kce-shipping-method-note,
  body.krafty-checkout-active #order_review .kce-shipping-method-note {
    display:block;
    margin-top:5px;
    color:var(--kce-muted);
    font-size:12px !important;
    font-weight:400;
    line-height:1.4;
  }
}
