/* Approved R2 geometry, scoped exclusively to the live Woo drawer. */
.kb-mc { --mc-ink:#50312f; --mc-paper:#fefdfd; --mc-orange:#fb843f; --mc-line:#d8d0ce; position:fixed; inset:0; z-index:100001; color:var(--mc-ink); font:400 14px/1.5 Montserrat,sans-serif; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .25s ease,visibility .25s ease; }
.kb-mc[hidden],.kb-mc [hidden] { display:none !important; }
.kb-mc.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.kb-mc *, .kb-mc *::before, .kb-mc *::after { box-sizing:border-box; }
.kb-mc__scrim { position:absolute; inset:0; background:rgba(0,0,0,.38); }
.kb-mc__drawer { position:absolute; top:0; right:0; width:min(560px,100vw); height:100vh; height:100dvh; background:var(--mc-paper); display:flex; flex-direction:column; min-height:0; transform:translateX(100%); transition:transform .28s ease; }
.kb-mc.is-open .kb-mc__drawer { transform:translateX(0); }
.kb-mc__head { display:flex; flex:none; align-items:center; justify-content:space-between; min-height:86px; padding:20px 24px; border-bottom:1px solid var(--mc-line); }
.kb-mc__head h2 { color:var(--mc-ink); font:600 24px/1.25 Montserrat,sans-serif; margin:0; }
.kb-mc__close { width:44px; height:44px; flex:none; min-width:44px; min-height:44px; padding:0 !important; font-size:32px !important; border:0 !important; }
.kb-mc__scroll { min-height:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; padding:0 24px 24px; flex:1; scrollbar-width:none; }
.kb-mc__scroll::-webkit-scrollbar { display:none; width:0; height:0; }
.kb-mc__status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.kb-mc__row { display:grid; grid-template-columns:132px minmax(0,1fr); gap:20px; padding:24px 0; border-bottom:1px solid var(--mc-line); }
.kb-mc__row > img { display:block; width:132px; height:176px; object-fit:contain; object-position:center top; }
.kb-mc__body { min-width:0; }
.kb-mc .kb-mc__title { display:block; color:var(--mc-ink); font:600 14px/1.35 Montserrat,sans-serif; text-decoration:none; overflow-wrap:anywhere; margin:0 0 12px; }
.kb-mc__parameters { display:grid; grid-template-columns:auto minmax(0,1fr); gap:4px 10px; font-size:14px; margin:0 0 12px; }
.kb-mc__parameters dt { font-size:inherit; font-weight:400; }
.kb-mc__parameters dd { margin:0; overflow-wrap:anywhere; }
.kb-mc__line { margin:10px 0; font-size:12px; }
.kb-mc__line strong { display:block; font-size:18px; font-weight:600; }
.kb-mc__availability { font-size:12px; margin:6px 0; }
.kb-mc__controls { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.kb-mc__quantity { display:flex; align-items:center; }
.kb-mc__quantity output { min-width:30px; text-align:center; font:500 14px/1.5 Montserrat,sans-serif; }
.kb-mc button { color:var(--mc-ink); font:500 14px/1.3 Montserrat,sans-serif; border:1px solid var(--mc-ink); border-radius:0; background:var(--mc-paper); padding:10px 12px; min-height:44px; cursor:pointer; }
.kb-mc__quantity button { width:44px; padding:0; font-size:20px; }
.kb-mc button:hover:not(:disabled) { background:var(--mc-ink); color:var(--mc-paper); border-color:var(--mc-ink); }
.kb-mc button:disabled { color:var(--mc-ink); background:var(--mc-paper); border-style:dashed; cursor:not-allowed; opacity:.6; }
.kb-mc button:focus-visible,.kb-mc a:focus-visible,.kb-mc [tabindex]:focus-visible { outline:2px solid var(--mc-ink); outline-offset:3px; }
.kb-mc .kb-mc__controls .kb-mc__remove,.kb-mc .kb-mc__controls .kb-mc__remove:hover,.kb-mc .kb-mc__controls .kb-mc__remove:focus,.kb-mc .kb-mc__controls .kb-mc__remove:active { border:0; background:transparent; color:var(--mc-ink); box-shadow:none; text-decoration:underline; padding-left:8px; padding-right:8px; font-size:12px; }
.kb-mc__footer { flex:none; padding:20px 24px max(20px,env(safe-area-inset-bottom)); border-top:1px solid var(--mc-line); background:var(--mc-paper); }
.kb-mc__subtotal { display:flex; justify-content:space-between; align-items:baseline; gap:12px; font-size:14px; }
.kb-mc__subtotal strong { font-size:22px; font-weight:600; }
.kb-mc__qualifier,.kb-mc__discount { font-size:12px; margin:8px 0 12px; }
.kb-mc .kb-mc__checkout { position:relative; overflow:hidden; display:flex; width:100%; min-height:52px; padding:12px; justify-content:center; align-items:center; color:var(--mc-ink); background:var(--mc-orange); border:1px solid var(--mc-ink); font:600 16px/1.4 Montserrat,sans-serif; text-decoration:none; }
.kb-mc__checkout::after { content:""; position:absolute; inset:-50% auto -50% -60%; width:35%; background:linear-gradient(110deg,transparent,rgba(255,255,255,.25),transparent); transform:translateX(0) skewX(-15deg); pointer-events:none; animation:kb-mc-shine 3s ease-in-out infinite; }
.kb-mc__checkout[aria-disabled="true"]::after { display:none; animation:none; }
@keyframes kb-mc-shine { 0%,75% { transform:translateX(0) skewX(-15deg); } 95%,100% { transform:translateX(600%) skewX(-15deg); } }
.kb-mc .kb-mc__checkout:hover { color:#fff !important; background:var(--mc-ink); }
.kb-mc .kb-mc__checkout[aria-disabled="true"] { background:var(--mc-paper); border-style:dashed; cursor:not-allowed; }
.kb-mc__recommendations { margin-top:28px; }
.kb-mc__recommendations h3 { font:600 18px/1.3 Montserrat,sans-serif; color:var(--mc-ink); margin:0 0 16px; }
.kb-mc__rail { display:flex; gap:12px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; touch-action:pan-x pan-y; padding:4px 0 8px; }
.kb-mc__rail::-webkit-scrollbar { display:none; width:0; height:0; }
.kb-mc__card { display:flex; flex-direction:column; flex:0 0 164px; width:164px; min-width:0; }
.kb-mc__media { position:relative; flex:none; height:246px; }
.kb-mc__media > a { display:block; }
.kb-mc__card img { display:block; width:164px; height:246px; object-fit:cover; object-position:center top; }
.kb-mc .kb-mc__card-title { display:block; flex:1; color:var(--mc-ink); font:400 14px/1.2 Inter,sans-serif; margin:12px 0 8px; text-decoration:none; overflow-wrap:anywhere; }
.kb-mc__card-price { font:400 18px/1.3 Inter,sans-serif; margin:0 0 12px; }
.kb-mc__card > button { width:100%; }
.kb-mc .kb-mc__qv { position:absolute; top:5px; right:5px; bottom:auto; display:grid; place-items:center; width:35px; height:35px; min-height:0; padding:5px; border:1px solid #50312f; background:rgba(254,253,253,.65); color:#50312f; opacity:1; visibility:visible; z-index:1; overflow:visible; }
.kb-mc__qv::after { content:""; position:absolute; top:0; right:0; width:44px; height:44px; background:transparent; }
.kb-mc .kb-mc__card .kb-mc__qv:hover,.kb-mc .kb-mc__card .kb-mc__qv:focus,.kb-mc .kb-mc__card .kb-mc__qv:active { background:rgba(254,253,253,.8); color:#50312f; }
.kb-mc__qv svg { display:block; width:23px; height:23px; fill:none; stroke:#50312f; stroke-width:1.8px; pointer-events:none; }
@media(max-width:899px) { .kb-mc .kb-mc__qv { width:25px; height:25px; padding:3px; } .kb-mc__qv svg { width:17px; height:17px; } }
.kb-mc__media.is-choosing::after { content:""; position:absolute; inset:0; background:rgba(0,0,0,.18); pointer-events:none; z-index:2; }
.kb-mc__media.is-choosing > a,.kb-mc__media.is-choosing > .kb-mc__qv { visibility:hidden; }
.kb-mc__media.is-choosing > a img { visibility:visible; }
.kb-mc__choice { position:absolute; inset:0; z-index:3; padding:4px; display:flex; flex-direction:column; justify-content:center; gap:4px; overflow:auto; scrollbar-width:none; }
.kb-mc__choice::-webkit-scrollbar { display:none; }
.kb-mc__choice fieldset { border:0; padding:0; margin:0; min-width:0; }
.kb-mc__choice legend { font-size:12px; line-height:16px; padding:0 4px; margin:0 0 4px; background:var(--mc-paper); }
.kb-mc__options { display:flex; gap:4px; flex-wrap:wrap; }
.kb-mc .kb-mc__options button { min-width:44px; height:44px; padding:2px; }
.kb-mc .kb-mc__options button[aria-pressed="false"]:hover,.kb-mc .kb-mc__options button[aria-pressed="false"]:focus,.kb-mc .kb-mc__options button[aria-pressed="false"]:active { background:var(--mc-paper); color:var(--mc-ink); }
.kb-mc__choice-actions { display:grid; grid-template-columns:minmax(0,1fr) 44px; gap:8px; }
.kb-mc .kb-mc__choice-actions button { padding:2px; font-size:12px; min-height:44px; }
.kb-mc .kb-mc__options button[aria-pressed="true"] { background:#ff6c0f; color:#392220; border-color:var(--mc-ink); }
.kb-mc__empty { padding:24px 0; font-size:16px; }
@media(max-width:767px) {
  .kb-mc__head { min-height:76px; padding:16px 10px; }
  .kb-mc__head h2 { font-size:20px; }
  .kb-mc__scroll { padding:0 10px 20px; }
  .kb-mc__row { grid-template-columns:104px minmax(0,1fr); gap:12px; padding:20px 0; }
  .kb-mc__row > img { width:104px; height:144px; }
  .kb-mc .kb-mc__title { font-size:16px; }
  .kb-mc__parameters { grid-template-columns:auto minmax(0,1fr); gap:2px 8px; align-items:start; }
  .kb-mc__parameters dt,.kb-mc__parameters dd { margin:0; }
  .kb-mc__line strong { font-size:16px; }
  .kb-mc__controls { gap:8px; }
  .kb-mc__quantity output { min-width:24px; }
  .kb-mc__footer { padding:16px 10px max(16px,env(safe-area-inset-bottom)); }
  .kb-mc__subtotal strong { font-size:20px; }
  .kb-mc__card { flex-basis:148px; width:148px; }
  .kb-mc__card img { width:148px; height:222px; }
  .kb-mc__media { height:222px; }
  .kb-mc .kb-mc__card-title { font-size:12px; }
  .kb-mc__card-price { font-size:15px; }
}
@media(max-width:340px) {
  .kb-mc__row { grid-template-columns:96px minmax(0,1fr); gap:10px; }
  .kb-mc__row > img { width:96px; height:136px; }
  .kb-mc__card { flex-basis:136px; width:136px; }
  .kb-mc__card img { width:136px; height:204px; }
  .kb-mc__media { height:204px; }
}
@media(max-height:520px) {
  .kb-mc__head { min-height:60px; padding-top:8px; padding-bottom:8px; }
  .kb-mc__footer { padding-top:8px; padding-bottom:max(8px,env(safe-area-inset-bottom)); }
  .kb-mc__qualifier { margin:4px 0 8px; }
  .kb-mc .kb-mc__checkout { min-height:44px; }
}
@media(prefers-reduced-motion:reduce) { .kb-mc,.kb-mc__drawer { transition:none; } .kb-mc__checkout::after { animation:none; display:none; } }
