/* Shared quick purchase, with a phone sheet and desktop two-column dialog. */
 body.mr-quick-open { overflow:hidden; }
 .mr-quick-sheet { position:fixed; inset:auto 0 0; width:100%; max-width:100%; height:auto; max-height:min(91vh,920px); max-height:var(--mr-quick-max-height,min(91dvh,calc(100% - env(safe-area-inset-top,0px)),920px)); margin:0; padding:0; border:0; border-radius:8px 8px 0 0; box-sizing:border-box; color:var(--text_color,#29282b); background:#fff; font-family:var(--font_family,inherit); overflow:hidden; box-shadow:0 -8px 32px #0001; }
 .mr-quick-sheet:not([open]) { display:none; }
 .mr-quick-sheet[open] { display:flex; flex-direction:column; }
 .mr-quick-sheet.mr-quick-preparing { visibility:hidden; }
 .mr-quick-sheet.mr-quick-preparing::backdrop { background:transparent; }
 .mr-quick-sheet.mr-quick-updating .mr-quick-content { opacity:.6; }
 .mr-quick-sheet::backdrop { background:rgba(0,0,0,.25); }
 .mr-quick-header { position:relative; flex:none; padding:17px 54px 15px 18px; background:#fff; }
 .mr-quick-title { margin:0; font:inherit; font-size:14px; font-weight:400; line-height:1.4; text-transform:none; letter-spacing:normal; }
 .mr-quick-close { position:absolute; top:10px; right:5px; width:44px; height:44px; padding:0; border:0; background:none; color:inherit; font-family:Arial,sans-serif; font-size:25px; line-height:1; font-weight:300; cursor:pointer; }
 .mr-quick-price { display:flex; flex-wrap:wrap; gap:9px; align-items:baseline; margin-top:5px; font-size:13px; line-height:1.35; }
 .mr-quick-price:empty { display:none; }
 .mr-quick-old { color:#8d8b88; text-decoration:line-through; font-size:12px; }
 .mr-quick-content { flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; padding:0 0 12px; }
 /* Portrait panels fill the sheet edge-to-edge; the next photograph stays in
    view. A 100%-wide contain box made the original images look like thumbnails. */
 .mr-quick-gallery-frame { display:contents; }
 .mr-quick-gallery-nav { display:none; }
 .mr-quick-gallery { display:flex; flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; width:100%; --mr-quick-gallery-height:min(100vw,480px); height:var(--mr-quick-gallery-height); margin:0; padding:0; gap:2px; background:#f3f1ee; }
 .mr-quick-gallery::-webkit-scrollbar { display:none; }
 .mr-quick-gallery img { display:block; flex:0 0 max(50%,calc(var(--mr-quick-gallery-height) * .666667)); width:max(50%,calc(var(--mr-quick-gallery-height) * .666667)); min-width:0; max-width:none; height:100%; margin:0; padding:0; object-fit:cover; object-position:50% 40%; scroll-snap-align:start; }
 .mr-quick-gallery[data-single="true"] img { flex-basis:100%; width:100%; object-fit:contain; }
 .mr-quick-gallery-count { margin:7px 18px 0; color:#8d8b88; text-align:right; font-size:10px; line-height:1.3; }
 .mr-quick-options { padding:0 18px; }
 .mr-quick-label { font-size:12px; line-height:1.4; margin:12px 0 5px; }
 .mr-quick-colors { display:flex; flex-wrap:nowrap; align-items:center; gap:5px; min-width:0; }
 .mr-quick-color { display:flex; flex:none; align-items:center; justify-content:center; width:32px; height:36px; padding:3px; background:none; border:0; border-radius:50%; cursor:pointer; }
 .mr-quick-color > span { display:block; width:25px; height:25px; box-sizing:border-box; border:1px solid #d6d3cf; border-radius:50%; }
 .mr-quick-color.is-active > span { outline:1px solid #29282b; outline-offset:2px; }
 .mr-quick-color:disabled { opacity:.6; cursor:default; }
 .mr-quick-size-group { display:flex; align-items:flex-start; gap:10px; margin-top:9px; }
 .mr-quick-size-group > .mr-quick-label { flex:none; margin:0; line-height:36px; }
 .mr-quick-sizes { display:flex; flex:1; flex-wrap:wrap; align-items:center; gap:1px; min-width:0; }
 .mr-quick-size { flex:none; min-width:31px; min-height:36px; margin:0; padding:8px 5px; border:0; border-bottom:1px solid transparent; border-radius:0; background:none; color:inherit; font:inherit; font-size:13px; line-height:1.2; cursor:pointer; }
 .mr-quick-size[aria-pressed="true"] { border-bottom-color:#29282b; font-weight:600; }
 .mr-quick-size:disabled { color:#aaa6a1; text-decoration:none; cursor:default; }
 .mr-quick-actions { flex:none; padding:8px 18px max(8px,env(safe-area-inset-bottom)); background:#fff; }
 .mr-quick-message { margin:0 0 8px; font-size:12px; line-height:1.5; }
 .mr-quick-message.is-error { padding:10px 12px; background:#f8e9e9; color:#7b3030; }
 .mr-quick-message:empty { display:none; }
 .mr-quick-add,.mr-quick-checkout,.mr-quick-retry { display:block; width:100%; min-height:44px; box-sizing:border-box; padding:12px 14px; border:1px solid #29282b; border-radius:0; background:#29282b; color:#fff; font:inherit; font-size:12px; font-weight:400; line-height:1.4; text-align:center; text-decoration:none; cursor:pointer; }
 .mr-quick-add[hidden] { display:none; }
 .mr-quick-add:disabled { cursor:default; background:#29282b; border-color:#29282b; color:#fff; opacity:.55; }
 .mr-quick-checkout { margin-top:8px; }
 .mr-quick-details { display:block; padding:12px 18px 7px; color:inherit; text-align:center; text-underline-offset:4px; text-decoration:underline; font-size:12px; line-height:1.4; }
 .mr-quick-loading { padding:25px 18px; margin:0; font-size:14px; line-height:1.6; }
 .mr-quick-retry { width:calc(100% - 36px); margin:0 18px; }
 .mr-quick-sheet button:focus-visible,.mr-quick-sheet a:focus-visible,.mr-quick-gallery:focus-visible { outline:2px solid #29282b; outline-offset:2px; }
 @media (max-height:700px) { .mr-quick-gallery { --mr-quick-gallery-height:min(100vw,44vh); --mr-quick-gallery-height:min(100vw,44dvh); } }
 @media (max-height:620px) { .mr-quick-gallery { --mr-quick-gallery-height:min(100vw,38vh); --mr-quick-gallery-height:min(100vw,38dvh); } }
 .mr-mobile-quick-add.mr-quick-pending svg { opacity:0; }
 .mr-mobile-quick-add.mr-quick-pending::after { content:''; position:absolute; width:17px; height:17px; border:1px solid #c8c6c1; border-top-color:#29282b; border-radius:50%; animation:mr-quick-spin .8s linear infinite; }
 @keyframes mr-quick-spin { to { transform:rotate(360deg); } }
 @media (prefers-reduced-motion:reduce) { .mr-quick-gallery { scroll-behavior:auto; } }

@media (min-width:768px) {
 .mr-quick-sheet { inset:0; margin:auto; width:min(980px,92vw); max-width:980px; height:min(700px,88vh); height:min(700px,88dvh); max-height:88vh; max-height:88dvh; border-radius:0; box-shadow:0 16px 80px #0003; }
 .mr-quick-sheet[open] { display:grid; grid-template-columns:minmax(0,54%) minmax(0,46%); grid-template-rows:auto minmax(0,1fr) auto; align-content:start; }
 .mr-quick-sheet::backdrop { background:rgba(35,34,31,.25); backdrop-filter:blur(5px); }
 .mr-quick-header { grid-column:2; grid-row:1; padding:34px 54px 16px 28px; }
 .mr-quick-title { font-size:18px; line-height:1.45; }
 .mr-quick-price { font-size:15px; margin-top:10px; }
 .mr-quick-close { top:10px; right:8px; }
 .mr-quick-content { display:contents; }
 .mr-quick-gallery-frame { display:block; position:relative; grid-column:1; grid-row:1 / 4; min-width:0; min-height:0; overflow:hidden; }
 .mr-quick-gallery { width:100%; height:100%; min-height:0; gap:0; scroll-behavior:auto; }
 .mr-quick-gallery-nav { display:flex; align-items:center; justify-content:center; position:absolute; top:50%; z-index:2; width:40px; height:40px; padding:0; margin:0; border:1px solid #fff8; border-radius:50%; background:#ffffffe6; color:#29282b; transform:translateY(-50%); box-shadow:0 1px 7px #0001; cursor:pointer; transition:background .15s ease,opacity .15s ease; }
 .mr-quick-gallery-prev { left:12px; }
 .mr-quick-gallery-next { right:12px; }
 .mr-quick-gallery-nav span { width:9px; height:9px; border-top:1px solid currentColor; border-right:1px solid currentColor; transform:rotate(45deg); margin-right:3px; }
 .mr-quick-gallery-prev span { transform:rotate(-135deg); margin-right:0; margin-left:3px; }
 .mr-quick-gallery-nav:hover { background:#fff; }
 .mr-quick-gallery-nav:disabled { opacity:.28; cursor:default; }
 .mr-quick-gallery-nav:focus-visible { outline:2px solid #29282b; outline-offset:3px; }
 .mr-quick-gallery img { flex:0 0 100%; width:100%; height:100%; object-fit:cover; object-position:50% 35%; }
 .mr-quick-gallery[data-single="true"] img { object-fit:cover; }
 .mr-quick-gallery-count { display:none; }
 .mr-quick-options { grid-column:2; grid-row:2; padding:0 28px 12px; min-height:0; overflow:auto; overscroll-behavior:contain; }
 .mr-quick-label { font-size:13px; margin-top:18px; }
 .mr-quick-color { width:34px; height:38px; }
 .mr-quick-color > span { width:25px; height:25px; }
 .mr-quick-size-group { flex-direction:column; gap:2px; margin-top:24px; }
 .mr-quick-size-group > .mr-quick-label { line-height:26px; }
 .mr-quick-sizes { flex:none; width:100%; gap:4px; }
 .mr-quick-size { min-width:35px; min-height:var(--mr-size-height,42px); padding:9px 6px; font-size:var(--mr-size-font,13px); }
 .mr-quick-actions { grid-column:2; grid-row:3; padding:14px 28px 25px; }
 .mr-quick-add,.mr-quick-checkout { min-height:46px; font-size:13px; }
 .mr-quick-details { font-size:12px; padding-top:16px; }
 .mr-quick-loading,.mr-quick-retry,.mr-quick-content > .mr-quick-details { grid-column:1 / -1; }
 .mr-quick-loading { grid-row:2; }
 .mr-quick-retry { grid-row:3; width:auto; margin:16px 28px; }
 .mr-quick-content > .mr-quick-details { grid-row:4; margin-bottom:16px; }
 .mr-quick-sheet:has(.mr-quick-loading) { height:auto; min-height:260px; }
 .mr-desktop-quick-add.mr-quick-pending { opacity:1; transform:none; color:transparent; }
 .mr-desktop-quick-add.mr-quick-pending::after { content:''; position:absolute; width:17px; height:17px; border:1px solid #c8c6c1; border-top-color:#29282b; border-radius:50%; animation:mr-quick-spin .8s linear infinite; }
}
