/* Compact multi-size ordering on catalog cards. */
.rtw-card-sizes{margin-top:10px;min-width:0;container-type:inline-size}
.rtw-card-sizes>summary{font-size:13px;font-weight:700;color:var(--ink);cursor:pointer;padding:8px 0}
.rtw-card-sizes .rtwmx{border:0;padding:0;margin:10px 0 0;min-width:0}
.rtw-card-sizes .rtwmx-hint{display:none}
.rtw-card-sizes .rtwmx-grid{display:grid;grid-template-columns:1fr;gap:6px}
.rtw-card-sizes .rtwmx-cell{display:grid;grid-template-columns:28px auto minmax(90px,1fr);gap:6px;align-items:center;border:1px solid #e7dfe5;border-radius:9px;padding:6px;background:#faf7fa;min-width:0}
.rtw-card-sizes .rtwmx-cell>label{font-size:12px;margin:0}
.rtw-card-sizes .stock-pill{font-size:10px;white-space:nowrap;padding:3px 5px}
.rtw-card-stepper{display:flex;min-width:0;height:32px;border:1px solid #ded4dc;border-radius:7px;overflow:hidden;background:white}
.rtw-card-stepper button{flex:0 0 28px;border:0;border-radius:0;padding:0;background:#fce8f4;color:#b30664;font-size:18px;cursor:pointer}
.rtw-card-stepper button:disabled{opacity:.35;cursor:default}
.rtw-card-sizes .rtw-card-stepper input{flex:1;width:0;min-width:0;max-width:none;border:0;border-radius:0;text-align:center;padding:2px;box-shadow:none;font-size:16px;appearance:textfield;-moz-appearance:textfield}
.rtw-card-stepper input::-webkit-inner-spin-button,.rtw-card-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.rtw-card-sizes .rtwmx-sum{font-size:12px;margin:9px 0}
.rtw-card-sizes .rtwmx-add{width:100%;font-size:13px;padding:10px 6px;white-space:normal}
@container (max-width:230px){
  .rtw-card-sizes .rtwmx-grid{gap:4px}
  .rtw-card-sizes .rtwmx-cell{grid-template-columns:auto auto minmax(62px,1fr);gap:3px;padding:3px;border-radius:6px;min-height:0}
  .rtw-card-sizes .rtwmx-cell>label{grid-column:1;grid-row:1;font-size:11px;line-height:14px}
  .rtw-card-sizes .stock-pill{grid-column:2;grid-row:1;justify-self:start;font-size:8px;line-height:12px;padding:1px 3px}
  .rtw-card-sizes .rtw-card-stepper{grid-column:3;grid-row:1;align-items:center;width:100%;box-sizing:border-box;height:28px;border-radius:6px}
  .rtw-card-sizes .rtw-card-stepper button{flex-basis:20px;height:26px;font-size:15px;line-height:1}
  .rtw-card-sizes .rtw-card-stepper input{height:26px;min-height:0;padding:0 2px;font-size:13px}
}
/* ---------- quick view dialog ---------- */
html.qv-lock,html.qv-lock body{overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
dialog.qv{padding:0;border:0;border-radius:20px;width:min(980px,calc(100vw - 32px));max-height:calc(100dvh - 40px);
  background:#fff;color:var(--text);box-shadow:0 30px 80px rgba(60,6,38,.28);overflow:hidden}
dialog.qv:has(.qv-design){width:min(1180px,calc(100vw - 32px))}
dialog.qv::backdrop{background:rgba(40,8,28,.5);backdrop-filter:blur(3px)}
dialog.qv[open]{animation:qvIn .22s ease-out}
@keyframes qvIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){dialog.qv[open]{animation:none}}
.qvpanel{display:flex;flex-direction:column;max-height:calc(100dvh - 40px)}
.qvhead{display:flex;align-items:center;gap:12px;padding:12px 16px 12px 20px;border-bottom:3px solid var(--ink);flex:none}
.qvtag{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dk)}
.qv-rtw .qvtag{color:#0a6b3d}
.qvfull{margin-left:auto;font-size:.84rem;font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.qvx{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--line);background:#fff;cursor:pointer;font-weight:700;flex:none}
.qvx:hover,.qvx:focus-visible{border-color:var(--ink);color:var(--ink)}
dialog.qv a:focus-visible,dialog.qv button:focus-visible,dialog.qv input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.qvbody{overflow-y:auto;overscroll-behavior:contain;padding:20px 22px 24px}
.qvbody h2:focus{outline:none}
.qvskel{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.qvskel i{display:block;height:220px;border-radius:14px;background:linear-gradient(90deg,#f6f0f4,#fdeaf4,#f6f0f4);background-size:200% 100%;animation:qvsh 1.2s linear infinite}
.qvskel i:last-child{grid-column:1/-1;height:60px}
@keyframes qvsh{to{background-position:-200% 0}}
.qverr{text-align:center;padding:40px 10px}
.qverr p{margin:8px 0 16px}
.qvrtw{display:grid;grid-template-columns:1fr 1.05fr;gap:28px;align-items:start}
.qvbig{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.qvbig img{width:100%;aspect-ratio:1/1;object-fit:contain}
.qvthumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.qvthumb{width:62px;height:62px;padding:0;border:2px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;cursor:pointer}
.qvthumb.on{border-color:var(--ink)}
.qvthumb img{width:100%;height:100%;object-fit:cover}
.qvinfo h2{font-size:1.55rem;line-height:1.2}
.qvprice{font-size:1.5rem;font-weight:700;color:var(--ink);margin:6px 0 4px;display:flex;align-items:center;gap:10px}
.qvincart{background:#eafaf1;color:#0a6b3d;border-radius:9px;padding:6px 10px;font-weight:600}
/* configurator inside the quick view */
.qv-design .wrap{padding:0;max-width:none}
.qv-design .dp{padding:0}
.qv-design .dtop{display:none}
.qv-design .side,.qv-design .dp > div:last-child{position:static}
.qvtoast{position:fixed;left:50%;bottom:22px;z-index:300;transform:translate(-50%,20px);opacity:0;pointer-events:none;
  background:#2a0b1d;color:#fff;border-radius:999px;padding:11px 20px;font-weight:600;font-size:.9rem;
  box-shadow:0 10px 30px rgba(42,11,29,.3);transition:opacity .2s,transform .2s;max-width:calc(100vw - 32px)}
.qvtoast b{color:#ff8fcb}
.qvtoast.on{opacity:1;transform:translate(-50%,0)}
/* ---------- RTW size matrix ---------- */
.rtwmx{border:0;padding:0;margin:14px 0 0;min-width:0}
.rtwmx legend{font-size:.76rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:0;margin-bottom:4px}
.rtwmx-hint{margin:0 0 10px}
.rtwmx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px}
.rtwmx-stepper{display:flex;align-items:stretch;width:100%;min-width:0;border:1.5px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}
.rtwmx-stepper button{flex:0 0 32px;min-height:42px;border:0;border-radius:0;padding:0;background:var(--ink-soft);color:var(--ink-dk);font-size:21px;cursor:pointer}
.rtwmx-stepper button:disabled{opacity:.4;cursor:not-allowed}
.rtwmx-cell .rtwmx-stepper input{flex:1;min-width:0;width:0;max-width:none;border:0;border-radius:0;padding:5px 0;appearance:textfield;-moz-appearance:textfield}
.rtwmx-stepper input::-webkit-inner-spin-button,.rtwmx-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.rtwmx-cell{display:flex;flex-direction:column;align-items:center;gap:5px;border:1.5px solid var(--line);border-radius:12px;padding:9px 6px;background:#fff}
.rtwmx-cell:focus-within{border-color:var(--ink);background:var(--ink-soft)}
.rtwmx-cell label{font-weight:700;font-size:.95rem}
.rtwmx-cell input{width:100%;max-width:70px;text-align:center;border:1.5px solid var(--line);border-radius:8px;padding:7px 2px;font-size:.98rem;background:#fff}
.rtwmx-cell input.has{border-color:var(--ink);font-weight:700;color:var(--ink-dk)}
.rtwmx-cell input[aria-invalid="true"]{border-color:#c11;background:#fff3f3}
.rtwmx-cell.sold{background:#f7f6f8;opacity:.7}
.rtwmx-cell.sold label{text-decoration:line-through;color:var(--muted)}
.rtwmx-cell input:disabled{background:#efedf0;cursor:not-allowed}
.rtwmx-sum{margin-top:12px;font-weight:700;font-size:.92rem}
.rtwmx-err{margin-top:8px;color:#a10f1f;background:#fff1f2;border:1px solid #f5c2c9;border-radius:10px;padding:9px 12px;font-size:.86rem;font-weight:600}
.rtwmx-err ul{margin:0;padding-left:18px}
.rtwmx-ok{margin-top:8px;font-size:.86rem;color:#0a6b3d}
.rtwmx-ok:not(:empty){background:#eafaf1;border:1px solid #9ad9b6;border-radius:10px;padding:9px 12px}
.rtwmx-ok a{color:#0a6b3d;font-weight:700;text-decoration:underline}
.rtwmx-add{width:100%;margin-top:12px}
/* cart drawer quick view links */
.cdthumb{display:block;border-radius:8px}
.cdname{color:inherit}
.cdname:hover,.cdthumb:hover img{color:var(--ink);border-color:var(--ink)}
.cdname:hover{text-decoration:underline}
@media(max-width:760px){
  dialog.qv,dialog.qv:has(.qv-design){width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}
  .qvpanel{max-height:100dvh;height:100%}
  .qvbody{padding:16px}
  .qvrtw,.qvskel{grid-template-columns:1fr;gap:16px}
  .qvbig img{aspect-ratio:4/3}
  .qvfull{font-size:.78rem}
}
