/* Approved three-step checkout. Scoped so product/registration forms stay unchanged. */
body.hm-checkout-page #inhoud { background:#f4f5f7; padding:28px 0 44px; color:#132a49; }
#inhoud .checkout, #inhoud .checkout-intro { max-width:1160px; width:100%; margin:0 auto; padding:0 32px; font-size:13px; line-height:1.5; }
#inhoud .checkout * { box-sizing:border-box; }
#inhoud .checkout { scroll-margin-top:125px; }
#inhoud .checkout [hidden], #inhoud .checkout-intro [hidden] { display:none!important; }
#inhoud .checkout h2, #inhoud .checkout h3, #inhoud .checkout p { margin:0; }
#inhoud .checkout h2 { font-size:18px!important; line-height:1.3; letter-spacing:-.5px; font-weight:750; color:#132a49; }
#inhoud .checkout h3 { font-size:15px!important; line-height:1.4; letter-spacing:-.2px; font-weight:700; color:#132a49; }
#inhoud .checkout a { color:inherit; }
#inhoud .checkout button, #inhoud .checkout input, #inhoud .checkout select, #inhoud .checkout textarea { font:inherit; }
#inhoud .checkout button { cursor:pointer; }
#inhoud .checkout button:disabled { opacity:.48; cursor:not-allowed; }
#inhoud .checkout :is(button,a,input,select,textarea,summary):focus-visible { outline:3px solid #438ada; outline-offset:3px; }
#inhoud .checkout input:is([type=radio],[type=checkbox]) { width:17px; height:17px; min-height:17px; padding:0; margin:0; accent-color:#10366a; flex-shrink:0; }
#inhoud .checkout-intro h1 { font-size:38px!important; line-height:1.15; letter-spacing:-1.4px; margin:20px 0 12px; color:#132a49; }
#inhoud .checkout-intro-row { display:flex; align-items:center; justify-content:space-between; gap:16px; color:#5e6d7f; }
#inhoud .checkout-intro-row p { margin:0; font-size:14px; }
#inhoud .checkout-intro-row > span { font-size:11px; }
#inhoud .checkout-back { display:inline-block; background:none; border:0; padding:0; color:#5e6d7f; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
#inhoud .checkout-intro > .checkout-back { text-decoration:none; }
#inhoud .checkout-before { margin:12px 0 22px; color:#5e6d7f; font-size:11px; }
#inhoud .checkout-before summary { cursor:pointer; }
#inhoud .checkout-before p { max-width:780px; margin:10px 0; }
#inhoud .checkout-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid #e0e5ed; margin-bottom:25px; }
#inhoud .checkout-steps button { background:none; border:0; border-bottom:3px solid transparent; margin-bottom:-1px; padding:0 0 17px; text-align:left; display:flex; align-items:center; gap:11px; font-size:12px; font-weight:600; color:#5e6d7f; }
#inhoud .checkout-steps button > span { display:grid; place-items:center; width:28px; height:28px; flex-shrink:0; border-radius:50%; background:#e0e5ed; }
#inhoud .checkout-steps button[aria-current=step] { border-bottom-color:#10366a; color:#132a49; }
#inhoud .checkout-steps :is([aria-current=step],.is-complete) > span { background:#10366a; color:#fff; }
#inhoud .checkout-layout { display:grid; grid-template-columns:minmax(0,1fr) 287px; gap:23px; align-items:start; margin:0; padding:0; background:none; border:0; box-shadow:none; }
#inhoud .checkout-main { min-width:0; }
#inhoud .checkout-panel { background:#fff; border:1px solid #e0e5ed; border-radius:12px; overflow:visible; }
#inhoud .checkout-panel-pad { padding:24px; }
#inhoud .checkout-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:24px 24px 18px; }
#inhoud .checkout-panel-heading h2 span { font-size:11px; color:#5e6d7f; margin-left:6px; font-weight:400; }
#inhoud .checkout-panel-heading > a { font-size:11px; text-underline-offset:3px; white-space:nowrap; }
#inhoud .checkout .cart-shared-period { display:block; margin:6px 24px 0; padding:10px 12px; background:#f4f7fb; border:0; border-radius:5px; }
#inhoud .checkout .cart-shared-toggle { display:flex; gap:8px; align-items:center; font-size:11px; color:#132a49; }
#inhoud .checkout .cart-shared-period-button { margin-top:10px; width:100%; background:#fff; }
#inhoud .checkout .cart-shared-period-button:disabled { display:none; }
#inhoud .checkout .cart-shared-period-button small { margin-left:auto; font-size:10px; }
#inhoud .checkout .cart-items { display:block; margin:0; }
#inhoud .checkout .cart-line { display:block; position:relative; margin:0; padding:24px; background:none; border:0; border-radius:0; box-shadow:none; }
#inhoud .checkout .cart-line + .cart-line { border-top:1px solid #e0e5ed; }
#inhoud .checkout .checkout-item-top { display:grid; grid-template-columns:96px minmax(0,1fr) 26px; gap:16px; align-items:start; }
#inhoud .checkout .cart-line-media { display:grid; place-items:center; width:96px; height:96px; min-height:0; border:0; border-radius:8px; background:#f7f8fa; overflow:hidden; }
#inhoud .checkout .cart-line-media img { width:100%; height:100%; object-fit:contain; padding:4px; }
#inhoud .checkout .cart-line-main { display:block; min-width:0; padding:2px 0 0; }
#inhoud .checkout .cart-line-main .eyebrow { font-size:9px; line-height:1.4; letter-spacing:.7px; font-weight:500; color:#5e6d7f; margin:0 0 5px; }
#inhoud .checkout .cart-line-main h3 { font-size:15px; margin:0 0 8px; overflow-wrap:anywhere; }
#inhoud .checkout .cart-line-main h3 a { text-decoration:none; }
#inhoud .checkout .cart-line-meta { display:flex; flex-wrap:wrap; gap:5px 10px; margin:0; font-size:11px; color:#5e6d7f; }
#inhoud .checkout .cart-line-meta span { font-size:inherit; line-height:1.6; }
#inhoud .checkout .cart-line-meta > span { padding:0; background:none; border:0; border-radius:0; font-weight:400; }
#inhoud .checkout .cart-line-meta [data-price-mode-label] { display:none; }
#inhoud .checkout .cart-deal-condition { font-size:11px; color:#5e6d7f; margin-top:6px; }
#inhoud .checkout .cart-remove { display:grid; place-items:center; min-width:28px; min-height:32px; padding:4px; border:0; border-radius:5px; background:none; color:#5e6d7f; }
#inhoud .checkout .cart-remove:hover { background:#fceced; color:#a32034; }
#inhoud .checkout .cart-remove svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; }
#inhoud .checkout-item-bottom { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:18px; }
#inhoud .checkout .period-trigger { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-start; gap:5px; width:auto; min-height:38px; margin:0; padding:8px 10px; border:1px solid #e0e5ed; border-radius:5px; box-shadow:none; background:#fff; color:#132a49; text-align:left; }
#inhoud .checkout .period-trigger strong { font-size:11px; font-weight:500; }
#inhoud .checkout .period-trigger > span { font-size:11px; color:#5e6d7f; }
#inhoud .checkout .cart-line-controls { display:flex; align-items:center; gap:0; align-self:auto; padding:0; border:1px solid #e0e5ed; border-radius:5px; background:#fff; }
#inhoud .checkout .cart-line-controls button { width:29px; height:36px; min-height:36px; padding:0; border:0; border-radius:0; color:#132a49; background:transparent; }
#inhoud .checkout .cart-line-controls .cart-quantity-trigger { font-weight:500; font-size:12px; }
#inhoud .checkout-line-price { display:grid; justify-items:end; gap:2px; margin-left:auto; text-align:right; }
#inhoud .checkout-line-price > strong { font-size:17px; font-weight:750; white-space:nowrap; }
#inhoud .checkout-line-price > small, #inhoud .checkout-line-price > del { font-size:11px; color:#5e6d7f; }
#inhoud .checkout-line-price.is-pending { max-width:210px; font-size:11px; color:#5e6d7f; }
#inhoud .checkout .checkout-insurance-note, #inhoud .checkout .cart-sale-note { font-size:11px; color:#5e6d7f; }
#inhoud .checkout .cart-sale-note { padding:0; border:0; background:none; font-weight:400; }
#inhoud .checkout .checkout-insurance-note { margin-top:12px; }
#inhoud .checkout .checkout-insurance-note::before { content:'✓'; color:#28795d; margin-right:7px; }
#inhoud .checkout .cart-empty { display:grid; gap:12px; padding:32px 24px; border:0; background:none; text-align:center; }
#inhoud .checkout-undo { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 24px; background:#f4f7fb; border-radius:0 0 12px 12px; }
#inhoud .checkout-undo button { background:none; border:0; text-decoration:underline; color:#10366a; }
#inhoud .checkout .cart-summer-deals { margin-top:24px; padding:0; border:0; border-radius:0; background:none; }
#inhoud .checkout .cart-summer-deals-head { margin:0 0 14px; }
#inhoud .checkout .cart-summer-deals-head h2 { font-size:17px; }
#inhoud .checkout .cart-summer-deals-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#inhoud .checkout .cart-summer-deal { display:flex; flex-direction:column; min-width:0; padding:14px; border:1px solid #e0e5ed; border-radius:10px; background:#fff; }
#inhoud .checkout .cart-summer-deal > img { width:100%; height:82px; object-fit:contain; padding:5px; background:#f7f8fa; border-radius:5px; }
#inhoud .checkout .cart-summer-deal > div { display:flex; flex:1; flex-direction:column; gap:7px; padding-top:10px; min-width:0; }
#inhoud .checkout .cart-summer-deal strong { font-size:12px; }
#inhoud .checkout .cart-summer-deal p { font-size:11px; color:#5e6d7f; overflow-wrap:anywhere; }
#inhoud .checkout .cart-summer-deal .cart-summer-deal-price { margin-top:auto; padding-top:10px; color:#132a49; }
#inhoud .checkout .cart-summer-deal-price [data-price-mode-label] { display:none; }
#inhoud .checkout .cart-summer-deal .button { align-self:flex-end; min-height:34px; padding:7px 10px; font-size:11px; border:1px solid #e0e5ed; border-radius:5px; box-shadow:none; background:#fff; color:#132a49; white-space:normal; }
#inhoud .checkout-sidebar { position:sticky; top:112px; min-width:0; }
#inhoud .checkout-summary-card { padding:23px 21px; background:#fff; border:1px solid #e0e5ed; border-top:4px solid #10366a; border-radius:12px; }
#inhoud .checkout-summary-meta { color:#5e6d7f; font-size:11px; margin:4px 0 21px!important; }
#inhoud .checkout-money-rows { display:grid; gap:12px; font-size:12px; }
#inhoud .checkout-money-row { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
#inhoud .checkout-money-row > span { color:#5e6d7f; }
#inhoud .checkout-money-row strong { font-weight:550; text-align:right; white-space:nowrap; }
#inhoud .checkout-money-row.checkout-transport-row { margin-top:2px; padding-top:14px; border-top:1px solid #e0e5ed; }
#inhoud .checkout-total { margin-top:18px; padding-top:17px; border-top:1px solid #e0e5ed; }
#inhoud .checkout-total-head { display:flex; justify-content:space-between; align-items:center; font-size:12px; font-weight:600; }
#inhoud .checkout-total-head [data-price-mode-label] { font-size:10px; font-weight:400; color:#5e6d7f; }
#inhoud .checkout-total > strong { display:block; font-size:34px; letter-spacing:-1px; line-height:1.2; margin:10px 0; font-weight:800; }
#inhoud .checkout-total > small { display:block; font-size:10px; color:#5e6d7f; }
#inhoud .checkout-total > del { display:block; font-size:12px; color:#5e6d7f; }
#inhoud .checkout-primary { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; min-height:46px; margin-top:22px; padding:13px 14px; border:0; border-radius:6px; background:#ffc51a; color:#132a49; font-size:12px; font-weight:700; text-align:left; }
#inhoud .checkout-primary:hover { background:#f2b909; }
#inhoud .checkout-no-payment { text-align:center; margin-top:10px!important; font-size:10px; color:#5e6d7f; }
#inhoud .checkout-variable-costs { padding-top:16px; border-top:1px solid #e0e5ed; margin-top:20px!important; font-size:10px; line-height:1.7; color:#5e6d7f; }
#inhoud .checkout-submit-hint { margin-top:12px!important; font-size:11px; color:#9a3e24; }
#inhoud .checkout-submit-hint.is-complete { display:none; }
#inhoud .checkout-help { padding:20px 6px; font-size:12px; }
#inhoud .checkout-help p { color:#5e6d7f; }
#inhoud .checkout-help a { text-decoration:none; font-weight:700; }
#inhoud .checkout-subtitle { margin-top:20px!important; color:#5e6d7f; }
#inhoud .checkout-delivery-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:24px; }
#inhoud .checkout-delivery-choices > label { display:flex; align-items:flex-start; gap:12px; padding:18px 16px; border:1px solid #e0e5ed; border-radius:8px; cursor:pointer; }
#inhoud .checkout-delivery-choices label:has(input:checked) { border-color:#10366a; box-shadow:inset 0 0 0 1px #10366a; background:#f4f7fb; }
#inhoud .checkout-delivery-choices label:has(input:disabled) { opacity:.5; cursor:not-allowed; }
#inhoud .checkout-delivery-choices strong { display:block; font-size:14px; }
#inhoud .checkout-delivery-choices small { display:block; margin-top:3px; color:#5e6d7f; font-size:12px; }
#inhoud .checkout-combination { display:flex; align-items:center; gap:10px; margin-top:16px; color:#5e6d7f; }
#inhoud .checkout-notice { background:#f4f7fb; padding:14px 16px; margin-top:20px!important; border-radius:7px; color:#5e6d7f; font-size:12px; }
#inhoud .checkout-debtor, #inhoud .checkout-company { margin-top:24px; padding:18px; border-radius:7px; background:#f4f7fb; }
#inhoud .checkout-debtor > p { color:#5e6d7f; margin-top:10px; font-size:12px; }
#inhoud .checkout-checkbox { display:flex; gap:10px; align-items:center; margin-top:18px; }
#inhoud .checkout-field { display:grid; gap:7px; min-width:0; margin-top:18px; font-size:12px; font-weight:600; color:#344b67; }
#inhoud .checkout-field > span small { display:block; font-weight:400; margin-top:4px; color:#5e6d7f; }
#inhoud .checkout-field input, #inhoud .checkout-field select, #inhoud .checkout-field textarea { display:block; width:100%; min-width:0; min-height:42px; padding:10px 12px; background:#fff; border:1px solid #e0e5ed; border-radius:5px; box-shadow:none; color:#132a49; font-weight:400; }
#inhoud .checkout-field textarea { resize:vertical; }
#inhoud .checkout-field input::placeholder, #inhoud .checkout-field textarea::placeholder { color:#7d8998; opacity:1; }
#inhoud .checkout-field > small { color:#5e6d7f; font-weight:400; font-size:11px; }
#inhoud .checkout-transport-detail { margin-top:24px; font-size:12px; }
#inhoud .checkout-transport-detail > summary { font-weight:600; cursor:pointer; }
#inhoud .checkout-transport-detail > div, #inhoud .checkout-transport-detail > p { margin-top:14px; color:#5e6d7f; }
#inhoud .checkout .cart-delivery-cost-panel { position:static; width:100%; max-height:none; margin:10px 0; box-shadow:none; padding:12px; }
#inhoud .checkout .cart-delivery-cost-info { position:static; display:block; }
#inhoud .checkout .cart-delivery-cost-info > summary { width:auto; height:auto; border:0; border-radius:0; text-align:left; background:none; padding:7px 0; text-decoration:underline; }
#inhoud .checkout .cart-delivery-cost-table { width:100%; table-layout:fixed; font-size:11px; }
#inhoud .checkout .cart-delivery-cost-table :is(th,td) { white-space:normal; overflow-wrap:anywhere; }
#inhoud .checkout [data-checkout-panel] > .checkout-back { margin-top:20px; }
#inhoud .checkout-customer-type { border:0; padding:0; margin:24px 0 0; min-width:0; }
#inhoud .checkout-customer-type legend { padding:0; font-size:13px; font-weight:600; }
#inhoud .checkout-customer-type .checkout-delivery-choices { margin-top:12px; }
#inhoud .checkout-customer-type label { padding:13px 15px; align-items:center; }
#inhoud .checkout-kvk-row { display:flex; align-items:flex-end; gap:12px; }
#inhoud .checkout-kvk-row .checkout-field { flex:1; margin-top:0; }
#inhoud .checkout-kvk-row button { min-height:42px; padding:10px 12px; border:1px solid #e0e5ed; border-radius:5px; background:#fff; color:#344b67; font-size:11px; font-weight:600; }
#inhoud .checkout-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; }
#inhoud .checkout-full { grid-column:1/-1; }
#inhoud .checkout-address-heading { margin-top:25px!important; font-size:13px!important; }
#inhoud .checkout .kvk-status:empty, #inhoud .checkout .form-status:empty { display:none; }
#inhoud .checkout .kvk-status:not(:empty), #inhoud .checkout .form-status:not(:empty) { margin-top:12px; }
#inhoud .checkout .form-status.error, #inhoud .checkout .kvk-status.error { color:#a32034; }
#inhoud .checkout-remarks { margin-top:28px; }
#inhoud .checkout-bottom-note { margin-top:24px!important; padding:15px 17px; background:#f4f7fb; border-radius:6px; color:#5e6d7f; font-size:11px; line-height:1.7; }
#inhoud .checkout-error { border:1px solid #e8c1c6; padding:12px 15px; margin-bottom:16px!important; border-radius:7px; color:#a32034; background:#fff3f4; }
@media(max-width:900px) {
  #inhoud .checkout, #inhoud .checkout-intro { padding-left:22px; padding-right:22px; }
  #inhoud .checkout-layout { grid-template-columns:minmax(0,1fr) 252px; gap:16px; }
  #inhoud .checkout .cart-line, #inhoud .checkout-panel-pad { padding:19px; }
  #inhoud .checkout .checkout-item-top { grid-template-columns:77px minmax(0,1fr) 26px; gap:11px; }
  #inhoud .checkout .cart-line-media { width:77px; height:80px; }
  #inhoud .checkout-intro-row > span { display:none; }
}
@media(max-width:700px) {
  body.hm-checkout-page #inhoud { padding-top:20px; }
  #inhoud .checkout, #inhoud .checkout-intro { padding-left:16px; padding-right:16px; }
  #inhoud .checkout-intro h1 { font-size:31px!important; }
  #inhoud .checkout-layout { grid-template-columns:1fr; gap:20px; }
  #inhoud .checkout-sidebar { position:static; }
  #inhoud .checkout-steps button { font-size:11px; gap:7px; padding-bottom:14px; }
  #inhoud .checkout-steps button > span { width:25px; height:25px; }
  #inhoud .checkout-panel-heading { padding:19px 19px 14px; }
  #inhoud .checkout .cart-shared-period { margin:5px 19px 0; }
  #inhoud .checkout .cart-shared-period-button small { display:none; }
  #inhoud .checkout-field :is(input,select,textarea) { font-size:16px; }
  #inhoud .checkout .cart-line-controls button { min-height:40px; height:40px; width:32px; }
  #inhoud .checkout .cart-remove { min-width:32px; min-height:36px; }
  #inhoud .checkout-help { padding:0 5px; }
  #inhoud .checkout .period-dialog { max-width:calc(100vw - 24px); }
}
@media(max-width:390px) {
  #inhoud .checkout, #inhoud .checkout-intro { padding-left:12px; padding-right:12px; }
  #inhoud .checkout-steps button { font-size:10px; gap:5px; }
  #inhoud .checkout-steps button > span { width:22px; height:22px; }
  #inhoud .checkout .checkout-item-top { grid-template-columns:65px minmax(0,1fr) 26px; gap:10px; }
  #inhoud .checkout .cart-line-media { width:65px; height:74px; }
  #inhoud .checkout .cart-line, #inhoud .checkout-panel-pad { padding:15px; }
  #inhoud .checkout-panel-heading { padding:18px 15px 12px; }
  #inhoud .checkout-panel-heading > a { font-size:10px; }
  #inhoud .checkout .cart-shared-period { margin-left:15px; margin-right:15px; }
  #inhoud .checkout-delivery-choices, #inhoud .checkout-fields { grid-template-columns:1fr; }
  #inhoud .checkout-item-bottom > .period-trigger { flex-basis:100%; }
  #inhoud .checkout-kvk-row { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) { #inhoud .checkout * { scroll-behavior:auto; transition:none!important; } }
