.kpt-mini-cart{position:fixed;inset:0 0 0 auto;margin:0;width:min(490px,100vw);height:100dvh;max-height:100dvh;max-width:100vw;border:0;padding:0;background:var(--paper,#f3efe7);color:var(--ink,#24211e);overflow:auto;overscroll-behavior:contain;box-shadow:-8px 0 40px #0002}
.kpt-mini-cart::backdrop{background:#17171588}.kpt-mini-cart[open]{display:flex;flex-direction:column}.kpt-mini-cart>header{display:flex;align-items:center;justify-content:space-between;padding:25px 24px 20px;border-bottom:1px solid var(--line,#ddd8ce)}.kpt-mini-eyebrow{font-size:11px;letter-spacing:.16em}.kpt-mini-cart h2{font-family:var(--font-body,'Manrope',sans-serif);font-size:30px;font-weight:800;margin:4px 0 0;line-height:1.1}.kpt-mini-cart .icon-button{min-width:44px;min-height:44px}.kpt-mini-confirm{margin:0;padding:15px 24px;background:#e2e8df;font-size:13px;font-weight:700}.kpt-mini-items{padding:0 24px;flex:1}.kpt-mini-line{display:grid;grid-template-columns:100px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid var(--line,#ddd8ce)}.kpt-mini-line img{width:100%;aspect-ratio:1;object-fit:contain;background:#efeeea}.kpt-mini-name{font-weight:800;font-size:14px;text-decoration:none;line-height:1.45}.kpt-mini-line p{font-size:12px;line-height:1.6;margin:7px 0}.kpt-mini-line strong{font-size:14px}.kpt-mini-quantity{display:flex;align-items:center;gap:0;flex-wrap:wrap;row-gap:6px;margin-top:12px}.kpt-mini-quantity button{width:44px;height:44px;border:1px solid var(--line,#ddd8ce);background:transparent;font:700 17px/1.2 'Manrope',sans-serif}.kpt-mini-quantity span{min-width:36px;text-align:center;font-size:13px}.kpt-mini-quantity .kpt-mini-remove{width:auto;padding:0 12px;font-size:12px;margin-left:auto;border:0;text-decoration:underline}.kpt-mini-cart>footer{padding:22px 24px;background:var(--paper,#f3efe7);position:sticky;bottom:0;border-top:1px solid var(--line,#ddd8ce)}.kpt-mini-total{display:flex;justify-content:space-between;gap:12px;font-size:16px}.kpt-mini-cart footer p{font-size:11px;line-height:1.7;margin:12px 0 18px;color:#645e56}.kpt-mini-cart footer .button{display:flex;width:100%;min-height:54px;justify-content:space-between;background:#781c33;color:#fff}.kpt-mini-cart footer .text-button{display:block;margin:10px auto 0;min-height:44px}.kpt-mini-empty{padding:50px 0}.kpt-mini-empty h3{font-size:22px;line-height:1.3}.kpt-mini-empty p{font-size:14px;line-height:1.7}.kpt-mini-error{margin:12px 24px;color:#781c33;font-size:13px;padding:12px;border:1px solid currentColor}body.has-mini-cart{overflow:hidden}
.fw-shopping-start{scroll-margin-top:100px;outline-offset:-4px}.fw-size-entry{display:flex;gap:28px;align-items:start;justify-content:space-between;flex-wrap:wrap}.fw-size-entry>div{flex:1;min-width:260px}.fw-size-entry h2{font-size:clamp(24px,3vw,36px);font-weight:800;margin:0 0 18px}.fw-size-links{display:flex;flex-wrap:wrap;gap:8px}.fw-size-links a{display:inline-flex;min-width:48px;min-height:46px;align-items:center;justify-content:center;border:1px solid var(--line,#d4d0c7);text-decoration:none;font-size:13px;font-weight:700;padding:8px 12px}.fw-size-links a:hover{border-color:#781c33;color:#781c33}.fw-size-more{margin-top:14px}.fw-size-more summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:12px;text-decoration:underline}.fw-size-preference{width:300px;border-left:1px solid var(--line,#d4d0c7);padding-left:24px}.fw-size-preference h3{font-size:15px;font-weight:800;margin:0 0 8px}.fw-size-preference p{font-size:12px;line-height:1.7}.fw-size-preference .field{font-size:12px;margin:12px 0}.fw-size-preference select{min-height:46px;width:100%}.fw-size-preference .button{width:100%;min-height:46px;background:#781c33;color:white}.fw-personal-shelf .fw-section-heading p{max-width:650px}.fw-guide-entry{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line,#d4d0c7);border-bottom:1px solid var(--line,#d4d0c7);padding-top:30px;padding-bottom:30px}.fw-guide-entry h2{font-size:clamp(23px,3vw,34px);font-weight:800;margin:0 0 10px}.fw-guide-entry p{font-size:13px;line-height:1.7;margin:0;max-width:600px}.product-reason{display:block;margin-top:9px;font-size:11px;line-height:1.6;color:#781c33}.fw-personal-hint{font-size:12px;line-height:1.7;margin-top:15px}.fw-personal-hint button{min-height:44px;color:#781c33;text-decoration:underline}.kpt-mini-cart button:focus-visible,.fw-size-entry :focus-visible{outline:2px solid #781c33;outline-offset:3px}.kpt-mini-cart button:disabled{opacity:.4;cursor:wait}
.fw-size-entry h2,.fw-guide-entry h2{font-family:'Manrope',sans-serif;letter-spacing:-.04em}.fw-size-preference form[hidden]{display:none!important}
@media(max-width:767px){.fw-size-entry{gap:24px}.fw-size-entry>div{min-width:0;flex-basis:100%}.fw-size-preference{width:100%;border-left:0;border-top:1px solid var(--line,#d4d0c7);padding:20px 0 0}.fw-size-preference form{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}.fw-size-preference .field{margin:0}.fw-size-preference .form-message{grid-column:1/-1}.fw-guide-entry{display:block}.fw-guide-entry>a{margin-top:20px;display:inline-flex;min-height:44px;align-items:center}.kpt-mini-line{grid-template-columns:85px 1fr;gap:14px}.kpt-mini-cart>header,.kpt-mini-cart>footer{padding-left:20px;padding-right:20px}.kpt-mini-items{padding:0 20px}}

/* Mini-cart only: shared capsule controls remain unchanged. */
#kpt-mini-cart {
  box-sizing:border-box; width:min(490px,100vw); height:100vh; height:100dvh;
  max-height:100dvh; min-height:0; overflow:hidden; background:#f3f4f1;
  color:#171b1c; font-family:var(--font-body,'Manrope',sans-serif); container-type:inline-size;
}
#kpt-mini-cart[open] { display:flex; flex-direction:column; }
#kpt-mini-cart [hidden] { display:none!important; }
#kpt-mini-cart > header {
  flex:none; gap:16px; padding:calc(36px + env(safe-area-inset-top,0px)) 24px 18px;
  border-bottom:1px solid #d2d8d3;
}
#kpt-mini-cart > header > div { min-width:0; }
#kpt-mini-cart .kpt-mini-eyebrow { font-size:12px; font-weight:600; letter-spacing:.18em; }
#kpt-mini-cart #kpt-mini-title {
  display:flex; align-items:baseline; flex-wrap:wrap; gap:8px;
  font:800 clamp(29px,7.5cqw,36px)/1.15 var(--font-body,'Manrope',sans-serif); letter-spacing:-.045em; margin:7px 0 0;
}
#kpt-mini-cart [data-mini-count] { font-size:clamp(14px,3.6cqw,17px); font-weight:500; letter-spacing:0; color:#68716c; white-space:nowrap; }
#kpt-mini-cart > header [data-mini-cart-close] {
  display:grid; place-items:center; flex:none; width:44px; height:44px; min-width:44px; min-height:44px;
  padding:0; border:0; border-radius:6px; background:transparent; color:#171b1c; box-shadow:none;
}
#kpt-mini-cart > header [data-mini-cart-close]:hover { color:#741e32; background:#e8ebe6; }
#kpt-mini-cart .kpt-mini-items {
  flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden;
  overscroll-behavior:contain; -webkit-overflow-scrolling:touch; padding:0 24px 8px;
  scroll-padding-block:12px;
}
#kpt-mini-cart .kpt-mini-line {
  grid-template-columns:clamp(86px,22cqw,108px) minmax(0,1fr); align-items:start; gap:16px;
  padding:30px 0; border-bottom:1px solid #d2d8d3;
}
#kpt-mini-cart .kpt-mini-line > a { display:block; width:100%; aspect-ratio:1; background:#fff; border-radius:4px; overflow:hidden; }
#kpt-mini-cart .kpt-mini-line img { display:block; width:100%; height:100%; object-fit:contain; background:#fff; }
#kpt-mini-cart .kpt-mini-line > div { min-width:0; }
#kpt-mini-cart .kpt-mini-name { display:block; font-size:clamp(14px,3.5cqw,17px); font-weight:750; line-height:1.4; letter-spacing:-.025em; overflow-wrap:anywhere; }
#kpt-mini-cart .kpt-mini-line p { margin:8px 0 8px; color:#68716c; font-size:clamp(13px,3.1cqw,15px); line-height:1.5; overflow-wrap:anywhere; }
#kpt-mini-cart .kpt-mini-line strong { display:block; font-size:clamp(17px,4.1cqw,20px); font-weight:800; line-height:1.4; font-variant-numeric:tabular-nums; }
#kpt-mini-cart .kpt-mini-quantity { display:grid; grid-template-columns:44px clamp(36px,11cqw,54px) 44px minmax(0,1fr); gap:0; align-items:center; margin-top:16px; }
#kpt-mini-cart .kpt-mini-quantity button:not(.kpt-mini-remove) {
  box-sizing:border-box; display:grid; place-items:center; width:44px; height:44px; min-width:0; min-height:44px;
  padding:0; border:1px solid #d2d8d3; border-radius:0; background:transparent; color:#171b1c;
  font:600 18px/1 var(--font-body,'Manrope',sans-serif); box-shadow:none;
}
#kpt-mini-cart .kpt-mini-quantity button[data-mini-step="-1"] { border-radius:6px 0 0 6px; }
#kpt-mini-cart .kpt-mini-quantity button[data-mini-step="1"] { border-radius:0 6px 6px 0; }
#kpt-mini-cart .kpt-mini-quantity > span {
  box-sizing:border-box; display:grid; place-items:center; height:44px; min-width:0;
  border-block:1px solid #d2d8d3; font-size:15px; font-weight:700; font-variant-numeric:tabular-nums;
}
#kpt-mini-cart .kpt-mini-quantity .kpt-mini-remove {
  justify-self:end; width:auto; min-width:44px; height:44px; min-height:44px; margin:0;
  padding:0 2px; border:0; border-radius:6px; background:transparent; color:#171b1c;
  font:700 clamp(12px,3cqw,14px)/1.3 var(--font-body,'Manrope',sans-serif); text-decoration:underline; text-underline-offset:3px;
}
#kpt-mini-cart .kpt-mini-quantity button:enabled:hover { color:#741e32; background:#e8ebe6; }
#kpt-mini-cart .kpt-mini-quantity button:disabled { opacity:1; color:#9aa29d; background:transparent; cursor:not-allowed; }
#kpt-mini-cart .kpt-mini-confirm { flex:none; margin:0; padding:10px 24px; max-height:14dvh; overflow:auto; font-size:12px; line-height:1.5; }
#kpt-mini-cart .kpt-mini-error { flex:none; margin:8px 24px; padding:8px 10px; max-height:14dvh; overflow:auto; font-size:12px; line-height:1.5; }
#kpt-mini-cart > footer[data-mini-footer] {
  position:static; flex:none; padding:24px 24px calc(24px + env(safe-area-inset-bottom,0px));
  border-top:1px solid #d2d8d3; background:#f3f4f1;
}
#kpt-mini-cart .kpt-mini-total { align-items:baseline; gap:12px; font-size:clamp(16px,3.7cqw,18px); }
#kpt-mini-cart .kpt-mini-total > span { font-weight:600; }
#kpt-mini-cart [data-mini-total] { font-size:clamp(21px,4.9cqw,24px); font-weight:800; line-height:1.3; font-variant-numeric:tabular-nums; white-space:nowrap; }
#kpt-mini-cart footer p { font:550 clamp(13px,3cqw,15px)/1.6 var(--font-body,'Manrope',sans-serif); color:#565f5b; margin:16px 0 20px; }
#kpt-mini-cart footer .button,
#kpt-mini-cart footer .text-button,
#kpt-mini-cart .kpt-mini-empty .button {
  box-sizing:border-box; display:flex; align-items:center; justify-content:center; width:100%; min-height:52px;
  padding:13px 16px; border:1px solid #741e32; border-radius:6px; background:#741e32; color:#fff;
  font:750 clamp(16px,3.7cqw,18px)/1.5 var(--font-body,'Manrope',sans-serif); letter-spacing:-.02em; text-transform:none; text-decoration:none;
  text-align:center; box-shadow:none; transition:background-color .15s,color .15s,border-color .15s;
}
#kpt-mini-cart footer .text-button { margin:10px 0 0; background:transparent; color:#741e32; }
#kpt-mini-cart footer .button:hover,
#kpt-mini-cart .kpt-mini-empty .button:hover { background:#5d1828; border-color:#5d1828; }
#kpt-mini-cart footer .text-button:enabled:hover { background:#f1e7e9; }
#kpt-mini-cart footer button:disabled { opacity:.5; cursor:not-allowed; }
#kpt-mini-cart :is(button,a):focus-visible { outline:2px solid #741e32; outline-offset:3px; }
#kpt-mini-cart .kpt-mini-empty { padding:24px 0; }
@media(max-width:430px) {
  #kpt-mini-cart > header { padding-inline:20px; padding-top:calc(30px + env(safe-area-inset-top,0px)); }
  #kpt-mini-cart .kpt-mini-items { padding-inline:20px; }
  #kpt-mini-cart > footer[data-mini-footer] { padding-inline:20px; }
  #kpt-mini-cart .kpt-mini-confirm { padding-inline:20px; }
  #kpt-mini-cart .kpt-mini-error { margin-inline:18px; }
  #kpt-mini-cart .kpt-mini-line { gap:14px; padding-block:26px; }
  #kpt-mini-cart .kpt-mini-quantity { grid-template-columns:44px 36px 44px minmax(0,1fr); }
}
@media(max-height:600px) {
  #kpt-mini-cart > header { padding-top:calc(10px + env(safe-area-inset-top,0px)); padding-bottom:10px; }
  #kpt-mini-cart > footer[data-mini-footer] { padding-top:10px; padding-bottom:calc(10px + env(safe-area-inset-bottom,0px)); }
  #kpt-mini-cart footer p { margin:6px 0 10px; }
}
@media(prefers-reduced-motion:reduce) {
  #kpt-mini-cart footer .button, #kpt-mini-cart footer .text-button, #kpt-mini-cart .kpt-mini-empty .button { transition:none; }
}

/* Approved balanced mini-cart, 2026-10-14. Scoped compact sizing. */
#kpt-mini-cart { width:min(460px,100vw); }
#kpt-mini-cart > header { padding:calc(18px + env(safe-area-inset-top,0px)) 24px 16px; }
#kpt-mini-cart .kpt-mini-eyebrow { font-size:10px; letter-spacing:.14em; }
#kpt-mini-cart #kpt-mini-title { font-size:24px; font-weight:700; letter-spacing:-.03em; margin-top:5px; }
#kpt-mini-cart [data-mini-count] { font-size:13px; font-weight:500; color:#59625f; }
#kpt-mini-cart .kpt-mini-items { padding:0 24px 8px; scrollbar-width:thin; scrollbar-color:#a5ada7 transparent; }
#kpt-mini-cart .kpt-mini-line { padding:20px 0; gap:14px; grid-template-columns:76px minmax(0,1fr); }
#kpt-mini-cart .kpt-mini-name { font-size:13px; font-weight:650; line-height:1.45; letter-spacing:-.015em; }
#kpt-mini-cart .kpt-mini-line p { font-size:12px; line-height:1.5; color:#59625f; margin:4px 0; }
#kpt-mini-cart .kpt-mini-line strong { font-size:15px; line-height:1.5; font-weight:750; }
#kpt-mini-cart .kpt-mini-quantity { margin-top:8px; grid-template-columns:44px 28px 44px minmax(44px,1fr); }
#kpt-mini-cart .kpt-mini-quantity > span { font-size:12px; font-weight:600; }
#kpt-mini-cart .kpt-mini-quantity button:not(.kpt-mini-remove) { font-size:16px; }
#kpt-mini-cart .kpt-mini-quantity .kpt-mini-remove { font-size:12px; font-weight:550; }
#kpt-mini-cart > footer[data-mini-footer] { padding:18px 24px calc(18px + env(safe-area-inset-bottom,0px)); }
#kpt-mini-cart .kpt-mini-total { font-size:14px; }
#kpt-mini-cart .kpt-mini-total strong { font-size:20px; font-weight:750; }
#kpt-mini-cart footer p { font-size:12px; line-height:1.55; font-weight:550; margin:10px 0 14px; color:#59625f; }
#kpt-mini-cart footer .button, #kpt-mini-cart footer .text-button { font-size:14px; font-weight:650; line-height:1.4; min-height:52px; padding:12px; letter-spacing:0; }
#kpt-mini-cart footer .text-button { margin-top:8px; }
@media(max-width:430px) {
 #kpt-mini-cart > header, #kpt-mini-cart .kpt-mini-items, #kpt-mini-cart > footer[data-mini-footer] { padding-inline:20px; }
}
@media(max-height:650px) {
 #kpt-mini-cart > header { padding-top:calc(10px + env(safe-area-inset-top,0px)); padding-bottom:10px; }
 #kpt-mini-cart > footer[data-mini-footer] { padding-top:12px; padding-bottom:calc(12px + env(safe-area-inset-bottom,0px)); }
 #kpt-mini-cart footer p { margin:6px 0 10px; }
}
