/* ============================================================
 * SK Checkout — layout & basis (distraction-free, grid, velden,
 * verzendmethode, besteloverzicht, betaling, knop).
 * Geport uit sk-checkout-classic-style.php (BB-staging, bewezen spec).
 * Wordt vóór checkout-components.css ge-enqueued (cascade blijft identiek).
 * ============================================================ */

/* Canvas-template (afleidingsvrije modus "Volledig"): blanco basis;
   de zijpadding vervangt de container van het thema die hier niet rendert */
body.sk-co-canvas{ margin:0; }
body.sk-co-canvas .sk-co-canvas-main{ padding:0 20px; }

/* Afleidingsvrij, fallback-modus "Alleen verbergen": header/footer van gangbare thema's via CSS weg */
body.sk-co-clean .site-header,
body.sk-co-clean #masthead,
body.sk-co-clean #site-header,
body.sk-co-clean header.wp-block-template-part,
body.sk-co-clean .site-footer,
body.sk-co-clean #colophon,
body.sk-co-clean #site-footer,
body.sk-co-clean footer.wp-block-template-part,
body.sk-co-clean .generate-back-to-top,
body.sk-co-clean #ast-scroll-top{ display:none !important; }

/* ============ BASIS / DISTRACTION-FREE ============ */
.sk-classic-checkout{ background:#fff; }
.sk-classic-checkout #page,
.sk-classic-checkout .site-content,
.sk-classic-checkout .content-area,
.sk-classic-checkout .site-main{ background:transparent !important; }
.sk-classic-checkout .wwpwk-badge,
.sk-classic-checkout #wwkSidebar,
.sk-classic-checkout .wwk-sidebar,
.sk-classic-checkout .webwinkelkeur-rich-snippet,
.sk-classic-checkout [id^="wwk"],
.sk-classic-checkout .sticky-whatsapp,
.sk-classic-checkout #wc-sticky-cart-panel{ display:none !important; }
/* groene succes-notices (coupon toegepast/verwijderd, cart bijgewerkt) overbodig: overzicht toont de status. Fouten (error/info) blijven zichtbaar. */
.sk-classic-checkout > .woocommerce-message,
.sk-classic-checkout .woocommerce-notices-wrapper .woocommerce-message,
.sk-classic-checkout .woocommerce > .woocommerce-message,
.sk-classic-checkout form.checkout .woocommerce-message{ display:none !important; }
.sk-classic-checkout input[type=radio],
.sk-classic-checkout input[type=checkbox]{ accent-color:var(--sk-co-accent); width:18px; height:18px; }

/* Lege winkelwagen: melding + knop netjes centreren */
.sk-classic-checkout .cart-empty,
.sk-classic-checkout .return-to-shop{ max-width:560px; margin:30px auto 8px; text-align:center; }
.sk-classic-checkout .return-to-shop{ margin-bottom:60px; }

/* ============ TOP / LOGO ============ */
.sk-classic-checkout .sk-cocls-top{ text-align:center; padding:30px 0 6px; }
.sk-classic-checkout .sk-cocls-logo img{ max-height:52px; width:auto; display:inline-block; }

/* ============ LOGIN-TOGGLE ============ */
.sk-classic-checkout .woocommerce-form-login-toggle,
.sk-classic-checkout form.woocommerce-form-login{ max-width:1120px; margin-left:auto; margin-right:auto; }
.sk-classic-checkout.sk-co-login-modal .woocommerce-form-login-toggle{ display:none !important; }
.sk-classic-checkout .woocommerce-form-login-toggle .woocommerce-info{
  background:transparent; border:0; box-shadow:none; color:var(--sk-co-muted); font-size:.92rem;
  padding:4px 2px 0; margin:0 0 4px; text-align:center;
}
.sk-classic-checkout .woocommerce-form-login-toggle .woocommerce-info a{ color:var(--sk-co-accent); font-weight:600; }
.sk-classic-checkout .woocommerce-form-login-toggle .woocommerce-info::before{ display:none; }

/* ============ GRID ============ */
.sk-classic-checkout form.checkout{ max-width:1120px; margin:14px auto 46px; }
@media (min-width:900px){
  .sk-classic-checkout form.checkout{
    display:grid; grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);
    column-gap:60px; align-items:start;
  }
  .sk-classic-checkout .sk-col-left{ grid-column:1; min-width:0; }
  .sk-classic-checkout .sk-col-right{ grid-column:2; min-width:0; position:sticky; top:20px; }
}

/* ============ MODERNE LAYOUT: links open op wit, rechts zacht paneel ============ */
.sk-classic-checkout #customer_details{
  float:none !important; width:100% !important;
  background:transparent; border:0; border-radius:0; padding:6px 0 0; box-shadow:none;
}
.sk-classic-checkout #order_review_heading{
  float:none !important; width:100% !important; clear:both; box-sizing:border-box;
  background:var(--sk-co-panel-bg); border:1px solid var(--sk-co-panel-border); border-bottom:0; border-radius:16px 16px 0 0;
  margin:0; padding:22px 20px 2px; text-align:left !important;
  font-size:1.14rem; font-weight:700; color:var(--sk-co-heading);
}
.sk-classic-checkout #order_review{
  float:none !important; width:100% !important; box-sizing:border-box;
  background:var(--sk-co-panel-bg); border:1px solid var(--sk-co-panel-border); border-top:0; border-radius:0 0 16px 16px;
  padding:8px 20px 24px;
}
.sk-classic-checkout .col2-set .col-1,
.sk-classic-checkout .col2-set .col-2{ width:100%; max-width:100%; float:none; padding:0; overflow:visible; }

/* ============ SECTIEKOPPEN ============ */
.sk-classic-checkout #customer_details h3,
.sk-classic-checkout .sk-sec-h{
  font-size:1.1rem; font-weight:700; color:var(--sk-co-heading); margin:0 0 16px; padding:0;
}
.sk-classic-checkout h3#sk-h-adres,
.sk-classic-checkout #sk-ship-section .sk-sec-h{ margin:26px 0 16px; padding-top:22px; border-top:1px solid #eef2f6; }
.sk-classic-checkout .col-2 > h3{ margin:26px 0 16px; padding-top:22px; border-top:1px solid #eef2f6; font-size:1.02rem; }

/* ============ VELDEN ============ */
.sk-classic-checkout .form-row{ margin:0 0 14px; padding:0; }
.sk-classic-checkout .form-row label{
  display:block; font-weight:600; font-size:.83rem; color:var(--sk-co-heading); margin-bottom:6px; line-height:1.3;
}
.sk-classic-checkout .form-row label .optional{ font-weight:400; color:#8b9aa8; }
.sk-classic-checkout .form-row .required{ color:var(--sk-co-accent); border:0; text-decoration:none; }
.sk-classic-checkout input.input-text,
.sk-classic-checkout textarea,
.sk-classic-checkout select,
.sk-classic-checkout .select2-container .select2-selection--single{
  width:100%; min-height:48px !important; padding:12px 14px !important;
  border:1px solid var(--sk-co-border) !important; border-radius:10px !important; background:#fff;
  font-size:1rem; line-height:1.4; color:var(--sk-co-text); box-sizing:border-box;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.sk-classic-checkout textarea{ min-height:88px; }
.sk-classic-checkout .select2-container .select2-selection--single{ display:flex; align-items:center; }
.sk-classic-checkout .select2-container .select2-selection__rendered{ padding:0; line-height:1.4; color:var(--sk-co-text); }
.sk-classic-checkout .select2-container .select2-selection__arrow{ height:46px; }
.sk-classic-checkout input.input-text::placeholder,
.sk-classic-checkout textarea::placeholder{ color:#9aa9b7; }
.sk-classic-checkout input.input-text:focus,
.sk-classic-checkout textarea:focus,
.sk-classic-checkout select:focus,
.sk-classic-checkout .select2-container--focus .select2-selection,
.sk-classic-checkout .select2-container--open .select2-selection{
  border-color:var(--sk-co-accent) !important; box-shadow:0 0 0 3px var(--sk-co-focus-ring) !important; outline:none;
}
.sk-classic-checkout .form-row-first{ float:left; width:48.5%; }
.sk-classic-checkout .form-row-last{ float:right; width:48.5%; }

/* Number-spinners weg (huisnummer is type=number) */
.sk-classic-checkout input[type=number]{ -moz-appearance:textfield; appearance:textfield; }
.sk-classic-checkout input[type=number]::-webkit-inner-spin-button,
.sk-classic-checkout input[type=number]::-webkit-outer-spin-button{ -webkit-appearance:none; margin:0; }

/* Checkbox-regels (account aanmaken e.d.) */
.sk-classic-checkout .woocommerce-shipping-fields{ margin-top:10px; }

/* Dubbel combi-veld verbergen (wcnlpc vult het onzichtbaar); misleidende "(optioneel)" weg */
/* combi-adresveld alleen verbergen zolang de NL-postcode-checker actief is (buiten NL is dit HET adresveld) */
.sk-classic-checkout.sk-co-has-pc form.checkout:not(.sk-intl-b) #billing_address_1_field{ display:none !important; }
.sk-classic-checkout.sk-co-has-pc form.checkout:not(.sk-intl-s) #shipping_address_1_field{ display:none !important; }

/* Internationale layout: postcode + plaats naast elkaar; adres, staat en land op volle regels */
.sk-classic-checkout form.checkout.sk-intl-b #billing_postcode_field{ float:left !important; width:48.5% !important; clear:left; }
.sk-classic-checkout form.checkout.sk-intl-b #billing_city_field{ float:right !important; width:48.5% !important; clear:none; }
.sk-classic-checkout form.checkout.sk-intl-b #billing_address_1_field,
.sk-classic-checkout form.checkout.sk-intl-b #billing_state_field,
.sk-classic-checkout form.checkout.sk-intl-b #billing_country_field{ float:none !important; width:100% !important; clear:both; }
.sk-classic-checkout form.checkout.sk-intl-s #shipping_postcode_field{ float:left !important; width:48.5% !important; clear:left; }
.sk-classic-checkout form.checkout.sk-intl-s #shipping_city_field{ float:right !important; width:48.5% !important; clear:none; }
.sk-classic-checkout form.checkout.sk-intl-s #shipping_address_1_field,
.sk-classic-checkout form.checkout.sk-intl-s #shipping_state_field,
.sk-classic-checkout form.checkout.sk-intl-s #shipping_country_field{ float:none !important; width:100% !important; clear:both; }
.sk-classic-checkout #billing_house_number_field .optional,
.sk-classic-checkout #shipping_house_number_field .optional,
.sk-classic-checkout #billing_house_number_suffix_field .optional,
.sk-classic-checkout #shipping_house_number_suffix_field .optional,
.sk-classic-checkout #billing_street_name_field .optional,
.sk-classic-checkout #shipping_street_name_field .optional{ display:none; }

/* ============ VERZENDMETHODE (3 keuzekaarten) ============ */
.sk-classic-checkout .sk-ship-cards ul{ list-style:none; margin:0; padding:0; }
.sk-classic-checkout .sk-ship-cards li.sk-card{
  display:flex; align-items:center; gap:11px; cursor:pointer; user-select:none;
  border:1px solid #dbe3ea; border-radius:11px; background:#fff;
  margin:0 0 9px; padding:15px 16px; transition:border-color .15s ease, background .15s ease;
}
.sk-classic-checkout .sk-ship-cards li.sk-card:hover{ border-color:var(--sk-co-accent); }
.sk-classic-checkout .sk-ship-cards li.sk-card.sk-ship-checked{
  border-color:var(--sk-co-accent); box-shadow:0 0 0 1px var(--sk-co-accent) inset; background:#f6fafc;
}
.sk-classic-checkout .sk-ship-cards .sk-radio{
  flex:0 0 18px; width:18px; height:18px; box-sizing:border-box;
  border:2px solid #b6c4d0; border-radius:50%; background:#fff;
  transition:border-color .12s ease, border-width .12s ease;
}
.sk-classic-checkout .sk-ship-cards li.sk-ship-checked .sk-radio{ border:6px solid var(--sk-co-accent); }
.sk-classic-checkout .sk-card-label{
  flex:1; display:flex; align-items:center; gap:8px;
  font-weight:600; font-size:.98rem; color:var(--sk-co-heading);
}
.sk-classic-checkout .sk-card-label .woocommerce-Price-amount{ margin-left:auto; font-weight:700; }
.sk-classic-checkout tr.woocommerce-shipping-totals{ display:none !important; } /* vast gedrag: kaarten zijn de keuze-UI */

/* Vriendelijke melding als het adres nog mist voor de afhaalpunten */
.sk-classic-checkout #sk-mp-note{
  margin:2px 0 8px; padding:13px 16px; background:#f2f5f8; border-radius:10px;
  font-size:.9rem; color:var(--sk-co-muted); text-align:center;
}

/* ============ MYPARCEL ============ */
.sk-classic-checkout #mypa-delivery-options-wrapper{
  margin:2px 0 10px; border:0; padding:0; background:transparent;
}
/* prijs in de PostNL-koprij verbergen (staat al op de verzendkaart); CSS = geen flits */
.sk-classic-checkout #mypa-delivery-options-wrapper .mp-border.mp-p-4 > div > label > .mp-ml-auto{ display:none !important; }
/* idem in de carrier-header (pickup-weergave): prijs is span.mp-ml-auto naast <b>PostNL</b>, zonder label eromheen */
.sk-classic-checkout #mypa-delivery-options-wrapper .mp-border.mp-p-4 > div > span.mp-ml-auto{ display:none !important; }
/* binnenkaart: content dichter naar links en omhoog; rechterkant blijft */
.sk-classic-checkout #mypa-delivery-options-wrapper .mp-border.mp-p-4{ padding:10px 16px 12px 12px !important; }
.sk-classic-checkout #mypa-delivery-options-wrapper .mp-pl-4.mp-py-2{ padding:2px 0 6px 2px !important; }
/* "Toon meer locaties": gecentreerd, geen donkere hover-achtergrond (alleen tekstkleur) */
.sk-classic-checkout #mypa-delivery-options-wrapper button{
  background:transparent !important; box-shadow:none !important; border:0 !important;
  width:100%; text-align:center; justify-content:center;
}
.sk-classic-checkout #mypa-delivery-options-wrapper button:hover,
.sk-classic-checkout #mypa-delivery-options-wrapper button:focus{
  background:transparent !important; color:var(--sk-co-accent) !important;
}

/* ============ BESTELOVERZICHT (schoon, geen grijze vlakken) ============ */
.sk-classic-checkout .woocommerce-checkout-review-order-table{ border:0; margin:0 0 4px; font-size:.96rem; }
.sk-classic-checkout .woocommerce-checkout-review-order-table thead{ display:none; }
.sk-classic-checkout .woocommerce-checkout-review-order-table th,
.sk-classic-checkout .woocommerce-checkout-review-order-table td{
  background:transparent !important; border:0; padding:12px 0;
}
.sk-classic-checkout .woocommerce-checkout-review-order-table tbody tr td{ border-bottom:1px solid #e6edf2; }
.sk-classic-checkout .woocommerce-checkout-review-order-table td.product-name{
  color:var(--sk-co-heading); font-weight:600; overflow:hidden; padding:16px 12px 16px 0;
}
.sk-classic-checkout .woocommerce-checkout-review-order-table td.product-total{ text-align:right; white-space:nowrap; vertical-align:middle; color:var(--sk-co-heading); }
.sk-classic-checkout .woocommerce-checkout-review-order-table .product-quantity{ color:#8b9aa8; font-weight:400; }
.sk-classic-checkout .sk-oi-img{ float:left; margin:0 13px 0 0; }
.sk-classic-checkout .sk-oi-img img{ width:56px; height:56px; object-fit:cover; border-radius:9px; border:1px solid #e2eaf0; background:#fff; display:block; }
.sk-classic-checkout .woocommerce-checkout-review-order-table tfoot th{
  text-align:left; font-weight:500; color:var(--sk-co-muted);
}
.sk-classic-checkout .woocommerce-checkout-review-order-table tfoot td{ text-align:right; font-weight:600; color:var(--sk-co-heading); }
.sk-classic-checkout .woocommerce-checkout-review-order-table tfoot .order-total th,
.sk-classic-checkout .woocommerce-checkout-review-order-table tfoot .order-total td{
  font-size:1.18rem; font-weight:700; color:var(--sk-co-heading); padding-top:14px; border-top:2px solid #e2eaf0;
}
.sk-classic-checkout .woocommerce-checkout-review-order-table tfoot .order-total .includes_tax,
.sk-classic-checkout .woocommerce-checkout-review-order-table tfoot .order-total small{
  display:block; font-weight:400; font-size:.74rem; color:#8b9aa8;
}

/* ============ BETALING ============ */
.sk-classic-checkout #payment{ background:transparent; border-radius:0; padding:0; }
.sk-classic-checkout #payment::before{
  content:"Betaling"; display:block; font-size:1.02rem; font-weight:700; color:var(--sk-co-heading);
  margin:18px 0 12px; padding-top:18px; border-top:1px solid #e2eaf0;
}
.sk-classic-checkout #payment ul.payment_methods{ border:0; padding:0; margin:0 0 14px; }
.sk-classic-checkout #payment ul.payment_methods li{
  list-style:none; border:1px solid #e2eaf0; border-radius:11px;
  margin:0 0 9px; padding:0; background:#fff; transition:border-color .15s ease, background .15s ease;
}
.sk-classic-checkout #payment ul.payment_methods li:hover{ border-color:var(--sk-co-accent); }
.sk-classic-checkout #payment ul.payment_methods li:has(input:checked){
  border-color:var(--sk-co-accent); box-shadow:0 0 0 1px var(--sk-co-accent) inset; background:#fff;
}
.sk-classic-checkout #payment ul.payment_methods li > label{
  display:flex; align-items:center; gap:10px; font-weight:600; color:var(--sk-co-heading);
  padding:14px 16px; margin:0; cursor:pointer; background:transparent !important;
}
/* Plugin/thema-pseudo's volledig uit; eigen .sk-radio element (via JS) is de zichtbare radio */
body.sk-classic-checkout #payment ul.payment_methods li > label::before,
body.sk-classic-checkout #payment ul.payment_methods li > label::after{
  content:none !important; display:none !important;
}
.sk-classic-checkout #payment .sk-radio{
  flex:0 0 18px; width:18px; height:18px; box-sizing:border-box;
  border:2px solid #b6c4d0; border-radius:50%; background:#fff;
  transition:border-color .12s ease, border-width .12s ease;
}
.sk-classic-checkout #payment ul.payment_methods li:has(input:checked) .sk-radio{
  border:6px solid var(--sk-co-accent);
}
.sk-classic-checkout #payment ul.payment_methods li > label img{
  max-height:26px !important; width:auto !important; height:auto !important;
  margin:0 0 0 auto !important; float:none !important; display:inline-block; vertical-align:middle;
}
/* Native input verbergen (de label::before is de zichtbare radio); blijft klikbaar/focusbaar */
body.sk-classic-checkout #payment ul.payment_methods li input.input-radio,
body.sk-classic-checkout #payment ul.payment_methods li input[type=radio]{
  position:absolute !important; opacity:0 !important; clip-path:circle(0) !important;
  width:1px !important; height:1px !important; margin:0 !important;
}
.sk-classic-checkout #payment div.payment_box{
  background:#eef3f7; border-radius:9px; margin:0 16px 14px; padding:12px 14px; font-size:.9rem;
}
.sk-classic-checkout #payment div.payment_box::before{ display:none; }

/* ============ PRIVACY / TERMS / KNOP ============ */
.sk-classic-checkout .woocommerce-privacy-policy-text p{ font-size:.84rem; color:#7a8b99; line-height:1.5; }
.sk-classic-checkout .woocommerce-terms-and-conditions-wrapper{ margin:4px 0 14px; font-size:.9rem; }
.sk-classic-checkout .woocommerce-terms-and-conditions-wrapper input[type=checkbox]{ margin-top:3px; }
.sk-classic-checkout .woocommerce-terms-and-conditions-wrapper .required{ display:inline; }

/* Rustiger validatie: geen groene borders, alleen fouten rood */
body.sk-classic-checkout form .form-row.woocommerce-validated input.input-text,
body.sk-classic-checkout form .form-row.woocommerce-validated select,
body.sk-classic-checkout form .form-row.woocommerce-validated .select2-selection--single{ border-color:var(--sk-co-border) !important; }
body.sk-classic-checkout form .form-row.woocommerce-invalid input.input-text,
body.sk-classic-checkout form .form-row.woocommerce-invalid select{ border-color:#c9433c !important; }
/* Asterisk bij voorwaarden overbodig (zin is zelf al dwingend) */
.sk-classic-checkout .woocommerce-terms-and-conditions-wrapper .required{ display:none !important; }
.sk-classic-checkout .order-total .includes_tax{ white-space:nowrap; }
.sk-classic-checkout #place_order{
  width:100%; min-height:56px; padding:16px 22px; font-size:1.12rem; font-weight:700;
  border-radius:12px; margin-top:4px; letter-spacing:.2px; line-height:1.2;
}

/* ============ OVERIG LINKS ============ */
.sk-classic-checkout .sk-trust{
  display:flex; flex-wrap:wrap; justify-content:center; gap:8px 18px;
  margin:16px 0 2px; font-size:.8rem; color:#7a8b99;
}
.sk-classic-checkout .sk-trust span{ display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.sk-classic-checkout .sk-trust svg{ width:15px; height:15px; flex:0 0 15px; color:#9aa9b7; }
.sk-classic-checkout .woocommerce-info,
.sk-classic-checkout .woocommerce-error{ border-radius:11px; }
