.upgrade-options{display:grid;gap:12px}.upgrade-option{display:flex;align-items:center;gap:14px;padding:20px 16px;background:#fff;border:1px solid var(--line);cursor:pointer;min-width:0}.upgrade-option:has(input:checked){border-color:var(--ink);background:#f0f1eb;box-shadow:inset 0 0 0 1px var(--ink)}.upgrade-option:has(input:focus-visible){outline:3px solid var(--red);outline-offset:4px}.upgrade-option input{accent-color:var(--ink);width:19px;height:19px;flex-shrink:0;margin:0}.upgrade-copy{display:block;flex:1;min-width:0}.upgrade-copy strong{display:block;font-size:16px;font-weight:550;line-height:1.45}.upgrade-copy small{display:block;font-size:14px;color:var(--muted);line-height:1.55;margin-top:7px}.upgrade-kicker{display:block;color:var(--red);font-size:11px;font-weight:600;letter-spacing:.08em;margin-bottom:6px}.upgrade-price{display:block;font-size:14px;font-weight:550;margin-top:12px}.accessory-photo{width:86px;height:112px;object-fit:contain;flex-shrink:0;mix-blend-mode:multiply}.config-options legend small{font-size:13px;font-weight:400;color:var(--muted)}.accessory-availability{display:block;color:var(--muted);font-size:13px;margin-top:8px}.upgrade-option:has(input:disabled){cursor:default;background:#f1f1ee}.upgrade-option:has(input:disabled) .accessory-photo{opacity:.6}.compatibility{font-size:14px;margin-top:14px}.selection-notice{font-size:14px;color:var(--red);margin-top:14px}.selection-notice:empty{display:none}.price-lines>div[hidden],[hidden]{display:none!important}.price-lines>div{font-size:14px}.grinder-clarity a{font-size:14px;text-decoration:underline;text-underline-offset:3px;display:inline-block;margin-top:8px}.grinder-clarity p{font-size:14px}.grinder-clarity strong{font-size:16px}.summary-sub{font-size:14px}.proposal-breakdown .monthly-total{border-top:1px solid var(--line);margin-top:8px;padding-top:14px;font-size:16px}.proposal-breakdown .proposal-note{font-size:12px;color:var(--muted);margin:2px 0 8px}.config-options #extra-kiezen .text-button{font-size:14px}.card-grinder>span{font-size:13px}
@media(max-width:1050px){.upgrade-option{flex-wrap:wrap}.upgrade-copy{flex-basis:calc(100% - 40px)}.upgrade-option .accessory-photo{width:100%;height:100px;margin-left:0}.price-lines>div{gap:10px}}
@media(max-width:760px){.upgrade-option{padding:18px 14px}.config-options legend{flex-wrap:wrap}.config-options legend small{margin-left:25px}.upgrade-option .accessory-photo{height:110px}.summary-price strong{font-size:clamp(35px,10vw,48px)}}

.no-obligation{margin-top:12px;font-size:12px;line-height:1.5;color:var(--muted);text-align:center}

/* Keep the current package alongside the choices, bounded by the configurator. */
.mobile-package-bar{display:none}
@media(min-width:761px){
  .config-grid>.summary:has(.summary-machine){position:sticky;top:24px;align-self:start;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent;scroll-padding-block:90px}
  .summary .summary-price{position:sticky;top:0;z-index:2;background:#fff;padding:8px 0;box-shadow:0 -24px 0 #fff}
  /* Mask upward only: a downward mask would cover the reassurance line under the CTA. */
  .summary #show-proposal{position:sticky;bottom:0;z-index:3;box-shadow:0 -12px 0 12px #fff}
  .summary #show-proposal:hover{transform:none}
  .summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}
}
@media(max-width:760px){
  .mobile-package-bar:not([hidden]){display:flex;align-items:center;justify-content:space-between;gap:16px;position:fixed;inset:auto 0 0;z-index:15;padding:12px max(16px,env(safe-area-inset-left)) calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 24px #20221e12}
  .mobile-package-bar>div{min-width:0}
  .mobile-package-label{display:block;font-size:12px;color:var(--muted)}
  .mobile-package-bar strong{display:block;font-size:24px;line-height:1.25;font-weight:550;white-space:nowrap}
  .mobile-package-bar small{display:block;font-size:12px;color:var(--muted)}
  .mobile-package-bar .button{font-size:14px;padding:14px 16px;gap:12px;flex-shrink:0}
  .config-options{padding-bottom:100px}
}
@media(max-width:360px){.mobile-package-bar{gap:10px}.mobile-package-bar .button{padding:12px;font-size:13px}.mobile-package-bar .button span{display:none}.mobile-package-bar strong{font-size:22px}}
