/* SMISH store. Load after main.css. Only this page and its existing shell are styled. */
body:has(#smish-shop) { min-width:320px; height:auto; min-height:100vh; background:#fff; }
body:has(#smish-shop) #main-space { width:100%; background:#fff; padding-top:86px; }
body:has(#smish-shop) #header { height:86px; background:#fff; border-bottom:1px solid #e9e8e5; }
body:has(#smish-shop) #menu { width:calc(100% - 112px); max-width:1488px; height:85px; align-items:center; }
body:has(#smish-shop) #menu-center { flex:0 0 184px; padding:0; height:48px; }
body:has(#smish-shop) #menu-center:hover { flex-basis:184px; }
body:has(#smish-shop) #menu-center img { width:144px; height:48px; object-fit:contain; }
body:has(#smish-shop) .menu-item-group { width:100%; padding:0; gap:28px; justify-content:flex-start; }
body:has(#smish-shop) #menu-right .menu-item-group { justify-content:flex-end; }
body:has(#smish-shop) .menu-item { font:500 12px/1.4 Arial,sans-serif; letter-spacing:.07em; }
body:has(#smish-shop) #menu .menu-item a { color:#23231f; }
body:has(#smish-shop) #menu .menu-item.toys a { color:#a33824; border-bottom:1px solid; padding-bottom:5px; }
body:has(#smish-shop) #menu .menu-item a:hover { color:#a33824; }
body:has(#smish-shop) #footer { width:100%; color:#262621; font-family:Arial,sans-serif; background:#f4f2ec; }
body:has(#smish-shop) #footer-dividor, body:has(#smish-shop) #footer-smish { display:none; }
body:has(#smish-shop) #footer-mainspace { background:none; padding:0; }
body:has(#smish-shop) #footer-inner { max-width:1488px; width:calc(100% - 112px); margin:0 auto; padding:40px 0 30px; flex-direction:column; align-items:stretch; }
body:has(#smish-shop) #footer-menu { display:flex; width:100%; flex:none; gap:30px; border-bottom:1px solid #dcdad3; padding:0 0 25px; margin:0 0 28px; }
body:has(#smish-shop) #footer-menu .menu-item { font-size:12px; }
body:has(#smish-shop) #footer a { color:#44443d; }
body:has(#smish-shop) #footer-social { font-size:18px; }
body:has(#smish-shop) #footer-social i { font-size:24px; }
body:has(#smish-shop) #footer-credits { font-size:12px; }
body:has(#smish-shop) #legacy { font-size:11px; line-height:1.8; }
body:has(#smish-shop) #footer-sanporto-link { font-size:12px; }
body:has(#smish-shop) #footer-sanporto-logo img { filter:brightness(0); opacity:.8; }
body:has(#smish-shop) .about-cookies { box-sizing:border-box; position:fixed; inset:auto 24px 24px auto; width:min(440px,calc(100% - 48px)); height:auto; z-index:200; padding:20px; gap:16px; border:1px solid #dcdad3; border-radius:0; box-shadow:0 8px 36px #25251b12; background:#fff; color:#34342e; display:flex; flex-direction:column; font-family:Arial,sans-serif; }
body:has(#smish-shop) #cookies-text { font-size:12px; line-height:1.6; padding:0; width:auto; color:#34342e; text-align:left; }
body:has(#smish-shop) #cookies-text a { color:#34342e; text-decoration:underline; }
body:has(#smish-shop) #cookies-button { font-size:12px; line-height:1.5; padding:12px 15px; width:100%; margin:0; text-align:center; color:#fff; background:#24251f; border:0; border-radius:0; cursor:pointer; }

.sm-shop { --sm-ink:#24251f; --sm-muted:#74766c; --sm-line:#e4e5dd; --sm-paper:#f5f4ef; --sm-accent:#a83b29; width:100%; color:var(--sm-ink); background:#fff; font-family:Arial,Helvetica,sans-serif; font-size:15px; line-height:1.5; font-variation-settings:normal; -webkit-font-smoothing:antialiased; }
.sm-shop *, .sm-shop *::before, .sm-shop *::after { box-sizing:border-box; }
.sm-shop [v-cloak] { display:none!important; }
.sm-shop .sm-icons { position:absolute; width:0; height:0; overflow:hidden; }
.sm-shop h1,.sm-shop h2,.sm-shop h3,.sm-shop p,.sm-shop dl { margin:0; }
.sm-shop button,.sm-shop input,.sm-shop select,.sm-shop textarea { font:inherit; color:inherit; }
.sm-shop button { border:0; background:none; padding:0; cursor:pointer; }
.sm-shop button:disabled { opacity:.4; cursor:not-allowed; }
.sm-shop a,.sm-shop a:visited,.sm-shop a:hover { color:inherit; text-decoration:none; }
.sm-shop button,.sm-shop a,.sm-shop input,.sm-shop select,.sm-shop textarea,.sm-shop summary { -webkit-tap-highlight-color:transparent; }
.sm-shop :focus-visible { outline:2px solid var(--sm-accent); outline-offset:5px; }
.sm-shop img { display:block; max-width:100%; }
.sm-shop .sm-icon { display:inline-block; width:20px; height:20px; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; vertical-align:middle; }
.sm-wrap { max-width:1488px; width:calc(100% - 112px); margin-left:auto; margin-right:auto; }
.sm-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.sm-shopbar { display:flex; min-height:72px; align-items:center; justify-content:space-between; gap:24px; }
.sm-breadcrumbs { display:flex; gap:14px; align-items:center; color:var(--sm-muted); font-size:11px; }
.sm-breadcrumbs [aria-current] { color:var(--sm-ink); }
.sm-shopbar-note { font-size:11px; letter-spacing:.03em; color:var(--sm-muted); margin-left:70px; }
.sm-shop-actions { display:flex; align-items:center; gap:27px; }
.sm-shop .sm-text-button { display:flex; align-items:center; gap:9px; font-size:12px; min-height:40px; }
.sm-text-button .sm-icon { width:18px; height:18px; }
.sm-count { min-width:20px; height:20px; display:flex; justify-content:center; align-items:center; background:var(--sm-ink); color:white; border-radius:50%; font-size:10px; }
.sm-hero { display:grid; grid-template-columns:1fr 1fr; background:#f3f1e9; min-height:580px; overflow:hidden; }
.sm-hero-copy { display:flex; flex-direction:column; align-items:flex-start; padding:48px 30px 28px 48px; z-index:1; }
.sm-eyebrow { font-size:10px; font-weight:500; line-height:1.6; letter-spacing:.15em; }
.sm-dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--sm-accent); margin-right:8px; vertical-align:1px; }
.sm-hero h1 { font-size:clamp(48px,5.6vw,85px); line-height:1.02; letter-spacing:-.064em; font-weight:400; margin:39px 0 25px; }
.sm-hero h1 em { font-family:Georgia,'Times New Roman',serif; font-size:1.08em; font-weight:400; letter-spacing:-.06em; color:var(--sm-accent); }
.sm-hero-copy>p { font-size:14px; line-height:1.8; color:#6a6c61; margin-bottom:29px; }
.sm-shop .sm-button { display:inline-flex; align-items:center; justify-content:space-between; gap:34px; min-height:50px; padding:15px 22px; font-size:12px; font-weight:500; line-height:1.4; letter-spacing:.01em; transition:background .2s,color .2s; }
.sm-shop .sm-button-dark,.sm-shop a.sm-button-dark:visited,.sm-shop a.sm-button-dark:hover { background:var(--sm-ink); color:#fff; }
.sm-shop .sm-button-dark:hover { background:#a33c2a; }
.sm-button .sm-icon { width:21px; }
.sm-hero-caption { margin-top:auto; padding-top:37px; width:100%; display:flex; justify-content:space-between; align-items:center; gap:20px; color:#77796f; font-size:8px; letter-spacing:.12em; }
.sm-hero-caption>span:last-child { font-size:13px; font-family:Georgia,serif; border:1px solid #a6a99b; width:34px; height:34px; display:grid; place-items:center; border-radius:50%; letter-spacing:0; }
.sm-hero-visual { position:relative; background:#e9e7dc; isolation:isolate; display:flex; justify-content:center; align-items:center; min-width:0; }
.sm-hero-index { position:absolute; top:31px; right:29px; font-size:10px; letter-spacing:.13em; z-index:2; }
.sm-hero-word { position:absolute; top:12px; left:50%; transform:translateX(-50%); font-size:clamp(80px,10vw,145px); letter-spacing:-.05em; font-weight:700; line-height:1; color:#dbd8c9; z-index:-1; }
.sm-hero-image { width:83%; height:86%; max-height:525px; object-fit:contain; mix-blend-mode:multiply; margin-top:5px; }
.sm-hero-label { position:absolute; bottom:25px; left:28px; right:28px; display:flex; justify-content:space-between; align-items:center; }
.sm-hero-label strong { display:block; font-size:12px; font-weight:500; }
.sm-hero-label span { font-size:9px; color:#77796f; }
.sm-hero-label a { display:grid; place-items:center; border:1px solid #aaa998; border-radius:50%; width:35px; height:35px; }
.sm-values { display:flex; justify-content:space-between; align-items:center; min-height:69px; gap:16px; border-bottom:1px solid var(--sm-line); color:#66685e; font-size:10px; }
.sm-values>span { display:flex; align-items:center; gap:9px; }
.sm-values>span+span:before { content:'+'; font-size:12px; color:#a8ab9e; margin-right:14px; }
.sm-values .sm-icon { width:14px; height:14px; }
.sm-catalog { padding-top:77px; scroll-margin-top:110px; }
.sm-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:30px; }
.sm-section-heading .sm-eyebrow { color:#74766c; margin-bottom:11px; font-size:9px; }
.sm-section-heading h2 { font-size:clamp(28px,3vw,44px); line-height:1.14; font-weight:400; letter-spacing:-.046em; }
.sm-heading-count { font-size:11px; color:#7a7d72; vertical-align:top; display:inline-block; font-weight:400; margin:5px 0 0 11px; letter-spacing:0; }
.sm-section-heading>p { font-size:11px; line-height:1.7; color:#77796f; }
.sm-controls { display:flex; justify-content:space-between; gap:16px; min-height:62px; border-top:1px solid var(--sm-line); border-bottom:1px solid var(--sm-line); }
.sm-filters { display:flex; align-items:stretch; gap:25px; }
.sm-filters button { position:relative; display:flex; gap:7px; align-items:center; font-size:11px; white-space:nowrap; color:#73766a; }
.sm-filters button.is-active { color:var(--sm-ink); }
.sm-filters button.is-active:after { content:''; position:absolute; bottom:-1px; height:2px; background:var(--sm-ink); left:0; right:0; }
.sm-filters button>span { font-size:9px; color:#92958a; }
.sm-filters .sm-icon { width:13px; height:13px; }
.sm-search-sort { display:flex; gap:22px; align-items:center; }
.sm-search { display:flex; align-items:center; gap:9px; font-size:11px; }
.sm-search .sm-icon { width:16px; height:16px; }
.sm-search input { width:120px; border:0; background:none; padding:10px 0; min-width:0; }
.sm-search input::placeholder { color:#7a7d73; }
.sm-sort { padding-left:18px; border-left:1px solid var(--sm-line); }
.sm-sort select { background:transparent; border:0; cursor:pointer; max-width:180px; font-size:11px; padding:12px 17px 12px 0; }
.sm-results { display:flex; justify-content:space-between; font-size:10px; line-height:1.5; color:#84877c; padding:16px 0 19px; min-height:50px; }
.sm-shop .sm-underlined { font-size:12px; text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
.sm-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:40px 22px; }
.sm-product { min-width:0; }
.sm-product-stage { position:relative; background:#f3f3ef; overflow:hidden; }
.sm-product-personality { position:absolute; top:17px; left:17px; font-size:9px; z-index:2; color:#696e60; }
.sm-shop .sm-favorite { display:grid; place-items:center; width:38px; height:38px; border:1px solid transparent; border-radius:50%; }
.sm-product-stage>.sm-favorite { position:absolute; top:6px; right:6px; z-index:3; }
.sm-favorite .sm-icon { width:18px; height:18px; transition:fill .2s; }
.sm-favorite:hover { background:#ffffff99; }
.sm-favorite.is-active { color:var(--sm-accent); }
.sm-favorite.is-active .sm-icon { fill:var(--sm-accent); }
.sm-shop .sm-product-image-button { width:100%; display:block; position:relative; overflow:hidden; }
.sm-product-image-button img { width:100%; aspect-ratio:3 / 4; height:auto; object-fit:contain; padding:35px 17px 20px; mix-blend-mode:multiply; transition:transform .45s ease; }
.sm-product-image-button:hover img { transform:scale(1.035); }
.sm-quick-view { position:absolute; bottom:0; left:0; right:0; height:39px; display:flex; align-items:center; justify-content:space-between; padding:0 15px; background:#ffffffeb; font-size:10px; opacity:0; transform:translateY(100%); transition:transform .2s,opacity .2s; }
.sm-product-image-button:hover .sm-quick-view,.sm-product-image-button:focus-visible .sm-quick-view { opacity:1; transform:translateY(0); }
.sm-quick-view .sm-icon { width:17px; }
.sm-product-number { position:absolute; bottom:12px; left:16px; font-size:9px; color:#8b8e81; pointer-events:none; }
.sm-product[data-character='bloom'] .sm-product-stage { background:#f0f1ec; }
.sm-product[data-character='chichi'] .sm-product-stage { background:#f2f0ed; }
.sm-product[data-character='mally'] .sm-product-stage { background:#f2f0ef; }
.sm-product[data-character='super-lilly'] .sm-product-stage { background:#f1eeea; }
.sm-product[data-character='rolce'] .sm-product-stage { background:#eef0f0; }
.sm-product[data-character='shish'] .sm-product-stage { background:#f1f0ed; }
.sm-product[data-character='twist'] .sm-product-stage { background:#f2f1ed; }
.sm-product-info { padding:17px 0 0; }
.sm-product-meta { display:flex; justify-content:space-between; gap:8px; color:#898c80; font-size:8px; letter-spacing:.08em; }
.sm-product-meta>span:last-child { letter-spacing:0; }
.sm-product-meta,.sm-results { color:#707468; }
.sm-product h3 { font-size:15px; font-weight:400; line-height:1.3; margin-top:7px; }
.sm-product h3 button { text-align:left; min-height:25px; }
.sm-product h3 button:hover { color:var(--sm-accent); }
.sm-product-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--sm-line); margin-top:13px; padding-top:9px; }
.sm-price { font-size:14px; white-space:nowrap; }
.sm-shop .sm-add { font-size:10px; display:flex; align-items:center; gap:12px; min-height:33px; }
.sm-add .sm-icon { width:17px; height:17px; }
.sm-add:hover { color:var(--sm-accent); }
.sm-empty { padding:75px 20px; text-align:center; border-bottom:1px solid var(--sm-line); }
.sm-empty>.sm-icon { width:32px; height:32px; color:#999c90; }
.sm-empty h3 { font-size:25px; font-weight:400; margin:20px 0 10px; }
.sm-empty p { color:var(--sm-muted); margin-bottom:24px; }
.sm-noscript { padding:24px 0; }
.sm-shop .sm-noscript a { text-decoration:underline; }
.sm-story { display:grid; grid-template-columns:1fr 1fr; margin-top:90px; background:#f3f1e9; }
.sm-story-art { background:#eae9e0; min-height:350px; display:flex; align-items:center; justify-content:center; position:relative; isolation:isolate; overflow:hidden; }
.sm-story-art img { width:49%; max-height:350px; height:auto; object-fit:contain; mix-blend-mode:multiply; margin-top:10px; padding:30px 0; }
.sm-story-art img:first-child { transform:rotate(-8deg) translate(9px,-6px); }
.sm-story-art img:nth-child(2) { transform:rotate(8deg) translate(-9px,5px); }
.sm-story-art-caption { position:absolute; bottom:19px; left:23px; font-size:8px; line-height:1.7; letter-spacing:.12em; color:#73776b; }
.sm-story-copy { padding:44px 35px 40px 52px; }
.sm-story-copy .sm-eyebrow { font-size:8px; color:#73776b; }
.sm-story h2 { margin:24px 0 18px; font-size:clamp(30px,3.4vw,49px); line-height:1.05; font-weight:400; letter-spacing:-.048em; }
.sm-story h2 em { font-family:Georgia,serif; font-weight:400; color:var(--sm-accent); }
.sm-story-copy p { font-size:12px; line-height:1.8; color:#73776b; }
.sm-shop .sm-story-link { display:inline-flex; gap:28px; align-items:center; margin-top:25px; font-size:11px; }
.sm-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:55px; padding-top:57px; padding-bottom:57px; border-bottom:1px solid var(--sm-line); }
.sm-detail-number { font-size:10px; color:#929588; display:block; margin-bottom:20px; }
.sm-details h3 { font-size:16px; font-weight:400; margin-bottom:12px; }
.sm-details p { font-size:11px; line-height:1.9; color:var(--sm-muted); max-width:310px; }
.sm-partners { display:flex; gap:40px; align-items:center; justify-content:space-between; padding-top:50px; padding-bottom:60px; }
.sm-partners .sm-eyebrow { font-size:8px; color:var(--sm-muted); }
.sm-partners h2 { font-size:23px; font-weight:400; letter-spacing:-.04em; margin:9px 0 8px; }
.sm-partners p { font-size:11px; color:var(--sm-muted); }
.sm-partner-links { display:flex; gap:28px; }
.sm-partner-links a { display:flex; align-items:center; gap:17px; font-size:13px; padding:12px 0; border-bottom:1px solid #c1c4b8; }
.sm-partner-links .sm-icon { width:16px; height:16px; transform:rotate(-40deg); }
.sm-partner-links a:hover { color:var(--sm-accent); border-color:var(--sm-accent); }

/* Native modal: focus containment and Escape are coordinated in smish-shop.js. */
.sm-shop .sm-dialog { border:0; padding:0; width:min(620px,calc(100vw - 40px)); max-width:none; max-height:calc(100dvh - 48px); background:white; color:var(--sm-ink); margin:auto; box-shadow:0 24px 100px #0002; font-size:14px; overflow:auto; }
.sm-shop .sm-dialog::backdrop { background:#22241c70; backdrop-filter:blur(3px); }
.sm-shop .sm-dialog-product { width:min(980px,calc(100vw - 48px)); }
.sm-dialog-inner { position:relative; padding:42px; }
.sm-dialog-status { position:sticky; top:0; padding:12px 52px 12px 20px; background:#edf0e6; color:#373e2b; font-size:12px; z-index:4; }
.sm-load-error { border:1px solid #dfceae; padding:20px; margin:20px 0; background:#fff8e9; }
.sm-dialog-product .sm-dialog-inner { padding:0; }
.sm-shop .sm-dialog-close { position:absolute; top:13px; right:13px; width:38px; height:38px; display:grid; place-items:center; background:#fff9; z-index:5; border-radius:50%; }
.sm-dialog h2 { font-size:32px; line-height:1.1; letter-spacing:-.04em; font-weight:400; margin:14px 0 25px; }
.sm-dialog .sm-eyebrow { font-size:9px; color:#797d6f; }
.sm-product-detail { display:grid; grid-template-columns:1fr 1fr; }
.sm-gallery { padding:24px; background:#f2f2ed; }
.sm-gallery-stage { position:relative; }
.sm-gallery-stage>picture>img { width:100%; aspect-ratio:3 / 4; height:auto; object-fit:contain; mix-blend-mode:multiply; }
.sm-gallery-arrows { display:flex; align-items:center; justify-content:space-between; margin-top:12px; }
.sm-gallery-arrows button { width:40px; height:40px; border:1px solid #ced0c4; border-radius:50%; }
.sm-gallery-arrows span { font-size:11px; color:var(--sm-muted); }
.sm-thumbnails { display:flex; gap:10px; margin-top:16px; }
.sm-thumbnails button { width:58px; border:1px solid transparent; padding:3px; }
.sm-thumbnails button.is-active { border-color:var(--sm-ink); }
.sm-thumbnails img { width:100%; height:auto; mix-blend-mode:multiply; }
.sm-product-detail-copy { padding:58px 30px 32px; }
.sm-product-detail-copy h2 { font-size:35px; margin-bottom:10px; }
.sm-detail-subtitle { font-size:12px; color:#878b7a; }
.sm-detail-price { display:block; margin:24px 0; font-size:24px; }
.sm-product-detail-copy>p:not(.sm-detail-subtitle) { font-size:12px; line-height:1.9; color:#707467; }
.sm-specs { margin:24px 0!important; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.sm-specs dt { font-size:10px; color:var(--sm-muted); }
.sm-specs dd { font-size:12px; margin:3px 0 0; }
.sm-detail-actions { display:flex; gap:12px; margin-bottom:17px; }
.sm-detail-actions .sm-button { flex:1; }
.sm-shop .sm-detail-favorite { position:static; border:1px solid var(--sm-line); border-radius:0; width:50px; height:50px; }
.sm-product-legal { margin-top:28px; padding-top:18px; border-top:1px solid var(--sm-line); font-size:10px; line-height:1.8; color:var(--sm-muted); }
.sm-product-legal summary { cursor:pointer; font-size:11px; }
.sm-product-legal p { padding-top:10px; }
.sm-cart-empty { text-align:center; padding:40px 0 15px; }
.sm-cart-empty>.sm-icon { width:45px; height:45px; color:#969c8a; }
.sm-cart-empty h3 { font-size:22px; font-weight:400; margin:25px 0 12px; }
.sm-cart-empty p { font-size:13px; color:var(--sm-muted); margin-bottom:26px; }
.sm-cart-list { max-height:45dvh; overflow:auto; }
.sm-cart-item { display:flex; gap:17px; padding:20px 0; border-bottom:1px solid var(--sm-line); }
.sm-cart-item>picture>img { width:77px; height:100px; object-fit:contain; background:#f3f3ee; }
.sm-cart-item-copy { flex:1; min-width:0; }
.sm-cart-item-copy h3 { font-size:14px; font-weight:400; margin-bottom:5px; }
.sm-cart-item-copy p { font-size:10px; color:var(--sm-muted); }
.sm-quantity { display:inline-flex; margin-top:13px; align-items:center; border:1px solid var(--sm-line); }
.sm-quantity button { width:32px; height:30px; font-size:18px; }
.sm-quantity output { min-width:25px; text-align:center; font-size:12px; }
.sm-cart-item-right { display:flex; flex-direction:column; justify-content:space-between; align-items:flex-end; white-space:nowrap; padding-bottom:5px; }
.sm-cart-item-right button { padding:0 0 10px 10px; color:var(--sm-muted); }
.sm-cart-item-right .sm-icon { width:16px; height:16px; }
.sm-cart-item-right strong { font-size:13px; font-weight:400; }
.sm-cart-total { display:flex; justify-content:space-between; gap:15px; font-size:16px; margin:26px 0 8px; }
.sm-cart-total strong { font-weight:500; }
.sm-small { color:var(--sm-muted); font-size:11px; line-height:1.7; }
.sm-full { width:100%; margin-top:24px; }
.sm-shop .sm-cart-continue { display:block; margin:20px auto 0; font-size:11px; }
.sm-shop .sm-checkout-back { font-size:11px; margin-bottom:25px; }
.sm-checkout>label,.sm-form-row>label { display:flex; flex-direction:column; gap:7px; font-size:12px; margin-top:17px; }
.sm-checkout input:not([type=checkbox]),.sm-checkout textarea { display:block; width:100%; min-width:0; padding:13px 12px; border:1px solid #d8dcce; background:#fff; font-size:13px; border-radius:0; }
.sm-checkout input::placeholder,.sm-checkout textarea::placeholder { color:#939788; }
.sm-form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.sm-checkout-notice { margin-top:20px; padding:16px; border:1px solid #e0e3d8; background:#f7f8f3; font-size:12px; line-height:1.7; }
.sm-checkout-notice p { margin:0; }
.sm-checkout-notice p+p { margin-top:8px; }
.sm-consents { display:grid; gap:14px; margin:20px 0 24px; }
.sm-checkout .sm-consent { display:flex; flex-direction:row; align-items:flex-start; gap:12px; font-size:12px; line-height:1.7; margin:0; }
.sm-consent input { width:18px; height:18px; margin:2px 0 0; flex:none; accent-color:var(--sm-ink); }
.sm-shop .sm-consent a { text-decoration:underline; text-underline-offset:2px; }
.sm-checkout-message { font-size:12px; background:#f5efdb; border-left:2px solid #b5a257; padding:15px; line-height:1.7; margin-top:16px!important; }
.sm-toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); max-width:calc(100% - 32px); display:flex; align-items:center; gap:15px; color:#fff; background:#262820; padding:17px 21px; z-index:220; font-size:12px; box-shadow:0 8px 30px #0002; }
.sm-toast button { border-bottom:1px solid #ffffff80; font-size:11px; white-space:nowrap; }

@media (min-width:1600px) { .sm-hero { min-height:650px; } .sm-hero-image { max-height:565px; } .sm-hero-copy { padding-top:58px; } .sm-hero h1 { margin-top:48px; } }
@media (max-width:1199px) {
  .sm-wrap { width:calc(100% - 64px); }
  body:has(#smish-shop) #menu,body:has(#smish-shop) #footer-inner { width:calc(100% - 64px); }
  body:has(#smish-shop) .menu-item-group { gap:16px; }
  body:has(#smish-shop) .menu-item { font-size:10px; }
  body:has(#smish-shop) #menu-center,body:has(#smish-shop) #menu-center:hover { flex-basis:150px; }
  .sm-shopbar-note { margin-left:0; }
  .sm-hero { min-height:530px; }
  .sm-hero-copy { padding:37px 25px 24px 32px; }
  .sm-hero h1 { font-size:60px; }
  .sm-hero-copy>p { font-size:12px; }
  .sm-hero-image { width:91%; max-height:455px; }
  .sm-values { font-size:9px; }
  .sm-values>span+span:before { margin-right:0; }
  .sm-filters { gap:17px; }
  .sm-search-sort { gap:12px; }
  .sm-search input { width:98px; }
  .sm-sort { padding-left:12px; }
  .sm-sort select { max-width:138px; }
  .sm-grid { gap:33px 17px; }
  .sm-product-meta { font-size:7px; }
  .sm-product h3 { font-size:13px; }
  .sm-story-copy { padding:38px 25px 32px 34px; }
  .sm-partner-links { gap:17px; }
  .sm-partner-links a { gap:9px; font-size:12px; }
}
@media (max-width:900px) {
  .sm-shopbar-note { display:none; }
  .sm-hero { min-height:470px; }
  .sm-hero-copy { padding:30px 22px; }
  .sm-hero h1 { font-size:49px; margin-top:33px; }
  .sm-hero .sm-eyebrow { font-size:8px; }
  .sm-hero-caption { font-size:7px; gap:10px; }
  .sm-hero-image { width:95%; height:85%; }
  .sm-hero-label { left:20px; right:20px; }
  .sm-hero-label span { font-size:8px; }
  .sm-hero-copy>p { font-size:11px; }
  .sm-values { display:grid; grid-template-columns:repeat(2,1fr); padding:17px 0; gap:13px 20px; }
  .sm-values>span+span:before { display:none; }
  .sm-values>span:before { content:'+'; color:#929688; margin-right:4px; }
  .sm-values>span:first-child:before { display:none; }
  .sm-values>span:nth-child(even) { justify-content:flex-end; }
  .sm-catalog { padding-top:57px; }
  .sm-controls { flex-wrap:wrap; gap:0; }
  .sm-filters { min-height:52px; width:100%; border-bottom:1px solid var(--sm-line); }
  .sm-search-sort { min-height:50px; width:100%; justify-content:space-between; }
  .sm-search input { width:170px; }
  .sm-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 20px; }
  .sm-product-image-button img { max-height:400px; }
  .sm-product-meta { font-size:8px; }
  .sm-product h3 { font-size:16px; }
  .sm-product-bottom { padding-top:10px; }
  .sm-shop .sm-add { font-size:11px; }
  .sm-story { margin-top:65px; }
  .sm-story-art { min-height:300px; }
  .sm-story-copy { padding:32px 23px; }
  .sm-story-copy .sm-eyebrow { font-size:7px; }
  .sm-story-copy p { font-size:11px; }
  .sm-story h2 { margin-top:25px; }
  .sm-details { gap:27px; }
  .sm-details h3 { font-size:14px; }
  .sm-partners { align-items:flex-start; flex-direction:column; gap:25px; }
  .sm-partner-links { width:100%; gap:28px; }
  .sm-partner-links a { flex:1; justify-content:space-between; }
}
@media (max-width:700px) {
  body:has(#smish-shop) #main-space { padding-top:66px; }
  body:has(#smish-shop) #header { height:66px; }
  body:has(#smish-shop) #menu { width:calc(100% - 40px); height:65px; }
  body:has(#smish-shop) #menu-center,body:has(#smish-shop) #menu-center:hover { flex-basis:120px; height:38px; }
  body:has(#smish-shop) #menu-center img { width:112px; height:38px; }
  body:has(#smish-shop) #menu .collapsed { display:flex; font-size:11px; }
  body:has(#smish-shop) #menu-hum .menu-item-hum { font-family:Arial,sans-serif; font-size:27px; line-height:1.8; }
  body:has(#smish-shop) #footer-inner { width:calc(100% - 40px); padding:30px 0; }
  body:has(#smish-shop) #footer-menu { flex-wrap:wrap; gap:17px; justify-content:flex-start; }
  body:has(#smish-shop) #footer-menu .menu-item { font-size:10px; }
  body:has(#smish-shop) #footer-cs { gap:20px; }
  body:has(#smish-shop) #footer-credits { font-size:11px; }
  .sm-wrap { width:calc(100% - 40px); }
  .sm-shopbar { min-height:59px; gap:10px; }
  .sm-breadcrumbs { font-size:10px; gap:10px; }
  .sm-shop-actions { gap:18px; }
  .sm-shop-actions .sm-action-label { display:none; }
  .sm-shop .sm-text-button { gap:5px; }
  .sm-shop .sm-text-button .sm-icon { width:18px; height:18px; }
  .sm-hero { grid-template-columns:1fr; }
  .sm-hero-copy { padding:32px 27px 25px; }
  .sm-hero .sm-eyebrow { font-size:8px; }
  .sm-hero h1 { font-size:clamp(46px,10.5vw,65px); margin:27px 0 22px; }
  .sm-hero-copy>p { font-size:12px; margin-bottom:25px; }
  .sm-hero .sm-button { min-height:47px; font-size:11px; padding:13px 19px; gap:32px; }
  .sm-hero-caption { padding-top:25px; font-size:7px; }
  .sm-hero-caption>span:last-child { width:28px; height:28px; font-size:11px; }
  .sm-hero-visual { min-height:410px; }
  .sm-hero-word { font-size:108px; top:20px; }
  .sm-hero-index { top:20px; right:20px; font-size:9px; }
  .sm-hero-image { width:85%; max-height:350px; height:350px; margin:0 0 30px; }
  .sm-hero-label { bottom:20px; left:23px; right:23px; }
  .sm-hero-label strong { font-size:11px; }
  .sm-values { font-size:8px; gap:15px 10px; }
  .sm-values>span { gap:6px; }
  .sm-values .sm-icon { width:12px; height:12px; }
  .sm-values>span:before { margin:0; }
  .sm-catalog { padding-top:47px; scroll-margin-top:84px; }
  .sm-section-heading { display:block; margin-bottom:22px; }
  .sm-section-heading h2 { font-size:29px; }
  .sm-section-heading .sm-eyebrow { font-size:8px; }
  .sm-section-heading>p { margin-top:13px; font-size:11px; }
  .sm-section-heading>p br { display:none; }
  .sm-heading-count { font-size:9px; margin-left:7px; }
  .sm-filters { gap:20px; overflow:auto; scrollbar-width:none; }
  .sm-filters button { font-size:10px; }
  .sm-filters button>span { font-size:8px; }
  .sm-search-sort { min-height:49px; }
  .sm-search { font-size:11px; }
  .sm-search input { width:118px; }
  .sm-sort select { font-size:10px; max-width:139px; }
  .sm-results { font-size:9px; padding:15px 0; min-height:44px; }
  .sm-grid { gap:30px 12px; }
  .sm-product-personality { top:12px; left:10px; font-size:8px; max-width:calc(100% - 40px); }
  .sm-product-stage>.sm-favorite { top:3px; right:2px; width:32px; height:32px; }
  .sm-favorite .sm-icon { width:16px; height:16px; }
  .sm-product-image-button img { padding:36px 4px 14px; }
  .sm-product-number { bottom:8px; left:10px; font-size:8px; }
  .sm-quick-view { display:none; }
  .sm-product-info { padding-top:11px; }
  .sm-product-meta { font-size:6px; letter-spacing:.06em; gap:5px; }
  .sm-product-meta>span:last-child { font-size:7px; }
  .sm-product h3 { font-size:12px; margin-top:6px; }
  .sm-product h3 button { min-height:29px; }
  .sm-product-bottom { margin-top:7px; padding-top:5px; gap:5px; }
  .sm-price { font-size:12px; }
  .sm-shop .sm-add { font-size:9px; gap:4px; min-height:39px; }
  .sm-add .sm-icon { width:14px; height:14px; }
  .sm-story { grid-template-columns:1fr; margin-top:52px; }
  .sm-story-art { min-height:280px; }
  .sm-story-art img { max-height:300px; }
  .sm-story-copy { padding:31px 27px 37px; }
  .sm-story-copy .sm-eyebrow { font-size:8px; }
  .sm-story h2 { font-size:39px; margin:21px 0 16px; }
  .sm-story-copy p { font-size:12px; }
  .sm-details { grid-template-columns:1fr; gap:28px; padding-top:39px; padding-bottom:38px; }
  .sm-details>div { position:relative; padding-left:39px; }
  .sm-detail-number { position:absolute; top:1px; left:0; }
  .sm-details h3 { font-size:15px; margin-bottom:8px; }
  .sm-details p { max-width:none; font-size:11px; }
  .sm-partners { padding-top:33px; padding-bottom:39px; gap:20px; }
  .sm-partners h2 { font-size:23px; }
  .sm-partner-links { gap:15px; flex-wrap:wrap; }
  .sm-partner-links a { font-size:10px; gap:4px; min-width:85px; }
  .sm-partner-links .sm-icon { width:13px; height:13px; }
  .sm-shop .sm-dialog { max-height:calc(100dvh - 24px); width:calc(100vw - 24px); }
  .sm-dialog-inner { padding:36px 23px 25px; }
  .sm-dialog h2 { font-size:27px; }
  .sm-product-detail { grid-template-columns:1fr; }
  .sm-gallery { padding:16px; }
  .sm-gallery-stage>picture>img { max-height:320px; }
  .sm-thumbnails { justify-content:center; }
  .sm-gallery-arrows { margin:0; }
  .sm-product-detail-copy { padding:27px 23px; }
  .sm-detail-price { margin:20px 0; }
  .sm-cart-item { gap:12px; }
  .sm-cart-item>picture>img { width:60px; height:85px; }
  .sm-cart-item-copy h3 { font-size:12px; }
  .sm-cart-item-copy p { font-size:9px; }
  .sm-cart-item-right strong { font-size:11px; }
  .sm-form-row { grid-template-columns:1fr; gap:0; }
  .sm-toast { bottom:12px; padding:13px 14px; gap:10px; font-size:11px; width:max-content; flex-wrap:wrap; justify-content:center; }
  .sm-toast .sm-icon { width:16px; height:16px; }
  .sm-toast button { font-size:10px; }
  body:has(#smish-shop) .about-cookies { inset:auto 12px 12px; width:calc(100% - 24px); padding:16px; }
}
@media (max-width:374px) {
  .sm-wrap { width:calc(100% - 28px); }
  .sm-hero-copy { padding-left:22px; padding-right:22px; }
  .sm-hero h1 { font-size:44px; }
  .sm-hero .sm-eyebrow { font-size:7px; }
  .sm-section-heading h2 { font-size:26px; }
  .sm-search input { width:95px; }
  .sm-product-bottom { align-items:flex-start; flex-direction:column; gap:0; }
  .sm-shop .sm-add { min-height:30px; }
  .sm-product-meta>span:last-child { display:none; }
  .sm-product-personality { font-size:7px; }
}
@media (prefers-reduced-motion:reduce) { .sm-shop *, .sm-shop *::before,.sm-shop *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

/* Product photography is edge-to-edge: no nested image frame. */
.sm-shop .sm-product-stage { background:transparent; }
.sm-shop .sm-product-image-button img { padding:0; mix-blend-mode:normal; object-fit:cover; }
.sm-shop .sm-hero-visual { background:#f0f0ee; }
.sm-shop .sm-hero-image { width:100%; height:100%; max-height:none; object-fit:cover; margin:0; mix-blend-mode:normal; }
.sm-shop .sm-hero-word { display:none; }
.sm-shop .sm-story-art { background:#f0f0ee; gap:0; }
.sm-shop .sm-story-art img { padding:0; width:50%; transform:none; mix-blend-mode:normal; }
.sm-shop .sm-hero-image { position:absolute; inset:0; object-position:50% 32%; }
.sm-shop .sm-product-meta { font-size:10px; }
.sm-shop .sm-product-personality { font-size:11px; }
.sm-shop .sm-product h3 { font-size:17px; }
.sm-shop .sm-add { font-size:12px; }
.sm-shop .sm-results { font-size:12px; }
.sm-shop .sm-thumbnails button { width:76px; padding:0 0 6px; }
.sm-shop .sm-thumbnails img { width:100%; height:auto; aspect-ratio:3/4; object-fit:cover; mix-blend-mode:normal; }
.sm-shop .sm-thumbnails span { display:block; font-size:10px; line-height:1.5; padding:5px 3px 0; }
.sm-shop .sm-gallery { padding:0 0 20px; background:#f2f2ef; }
.sm-shop .sm-gallery-stage { touch-action:pan-y; }
.sm-shop .sm-gallery-stage>picture>img { mix-blend-mode:normal; }
.sm-shop .sm-gallery-arrows { padding:0 20px; }
.sm-shop .sm-thumbnails { justify-content:center; gap:12px; padding:0 15px; }
.sm-shop .sm-gallery .sm-small { padding:0 20px; }
@media(max-width:700px) { .sm-shop .sm-product h3{font-size:14px}.sm-shop .sm-product-meta{font-size:8px}.sm-shop .sm-product-personality{font-size:9px}.sm-shop .sm-add{font-size:10px}.sm-shop .sm-results{font-size:10px}.sm-shop .sm-thumbnails{gap:9px}.sm-shop .sm-thumbnails button{width:66px}.sm-shop .sm-gallery-stage>picture>img{height:320px;object-fit:contain}.sm-shop .sm-hero-visual{min-height:410px} }

/* The picture element selects file size/format without changing the existing layout. */
.sm-shop picture{display:contents}

/* Commerce checkout: the existing collection keeps its proportions. */
.sm-shopbar-note{margin-left:0}
.sm-shop-actions{gap:18px;flex-wrap:wrap;justify-content:flex-end}
.sm-commerce-banner{font-size:12px;color:var(--sm-muted);display:flex;align-items:center;gap:20px;line-height:1.6;margin-bottom:16px}
.sm-commerce-banner:empty{display:none}
.sm-shop .sm-price{white-space:normal}
.sm-shop .sm-checkout-fields{border:0;margin:0;padding:0;min-width:0}
.sm-checkout-fields>label,.sm-company-details>label{display:flex;flex-direction:column;gap:7px;font-size:12px;margin-top:17px}
.sm-checkout-steps{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px;font-size:11px;color:var(--sm-muted)}
.sm-checkout-steps>span{padding:8px 0;border-bottom:1px solid var(--sm-line)}
.sm-checkout-steps>.is-active{color:var(--sm-ink);border-color:var(--sm-ink)}
.sm-checkout-section-title{font-size:18px;font-weight:400;margin:28px 0 12px!important}
.sm-checkout select,.sm-checkout-review select{display:block;width:100%;min-width:0;padding:13px 32px 13px 12px;border:1px solid #d8dcce;background:#fff;font-size:13px;border-radius:0;color:var(--sm-ink)}
.sm-checkout-fields:disabled{opacity:.72}
.sm-company-details{margin-top:22px;border:1px solid var(--sm-line);padding:16px}
.sm-company-details summary{cursor:pointer;font-size:13px}
.sm-shop .sm-choice{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--sm-line);padding:14px;margin:0;font-size:13px;line-height:1.5;cursor:pointer}
.sm-choice:has(input:checked){border-color:var(--sm-ink);background:var(--sm-paper)}
.sm-choice>input[type=radio]{width:18px;height:18px;min-width:18px;padding:0;margin:2px 0 0;accent-color:var(--sm-ink)}
.sm-choice>span{display:flex;flex-direction:column;min-width:0}
.sm-choice strong{font-weight:500}
.sm-choice small{font-size:11px;color:var(--sm-muted);margin-top:4px}
.sm-pickup-search{margin-top:18px;display:grid;gap:10px}
.sm-pickup-search>label{font-size:12px;display:grid;gap:7px}
.sm-pickup-list{display:grid;gap:8px;max-height:320px;overflow-y:auto;margin:15px 0;overscroll-behavior:contain}
.sm-shop .sm-button-light{border:1px solid var(--sm-ink);justify-content:center}
.sm-payment-options,.sm-delivery-options{display:grid;gap:8px;margin-top:15px}
.sm-checkout .sm-full,.sm-checkout-review>.sm-full{margin-top:24px}
.sm-checkout-review{margin-top:24px}
.sm-order-summary{margin:25px 0;padding:18px 0;border-top:1px solid var(--sm-line);border-bottom:1px solid var(--sm-line)}
.sm-order-summary>div{display:flex;justify-content:space-between;gap:20px;font-size:13px;margin:9px 0}
.sm-order-summary strong{font-weight:500;white-space:nowrap}
.sm-order-summary .sm-summary-total{font-size:20px;margin-top:17px;padding-top:16px;border-top:1px solid var(--sm-line)}
.sm-order-state{font-size:20px;margin:20px 0 5px!important;color:var(--sm-accent)}
.sm-order-state.is-created{color:#356247}
.sm-order-delivery{padding:18px;background:var(--sm-paper);font-size:13px;line-height:1.8;margin-bottom:20px}
.sm-shop .sm-retry{display:inline-block;font-size:12px;min-height:44px;padding:12px 0;margin:4px 0}
.sm-checkout .sm-small{margin-top:12px}
.sm-checkout-review .sm-consents{display:grid;gap:14px;margin:22px 0}
.sm-checkout-review .sm-consent{display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.7}
.sm-checkout-review .sm-consent>input{width:18px;height:18px;min-width:18px;margin:3px 0 0;accent-color:var(--sm-ink)}
.sm-checkout-review .sm-consent a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.sm-shopbar{align-items:flex-start;flex-wrap:wrap;gap:8px;padding:16px 0}.sm-shop-actions{width:100%;justify-content:space-between;gap:6px 14px}.sm-shop .sm-shop-actions .sm-text-button{font-size:11px;min-height:38px}.sm-shopbar-note{display:none}.sm-commerce-banner{font-size:11px;align-items:flex-start;gap:12px}.sm-address-access{grid-template-columns:1fr 1fr;gap:0 12px}.sm-checkout input:not([type=checkbox]),.sm-checkout textarea,.sm-checkout select,.sm-checkout-review select{font-size:16px}.sm-order-summary>div{gap:12px}.sm-shop .sm-choice{padding:12px}.sm-checkout-steps{font-size:10px}}
.sm-review-contact{display:grid;gap:5px;padding:16px;background:var(--sm-paper);font-size:13px;margin-bottom:15px;overflow-wrap:anywhere}
.sm-review-contact strong{font-weight:500}
.sm-review-contact span:last-child{margin-top:6px;color:var(--sm-muted)}
.sm-recommendations{margin:27px 0 10px;border-top:1px solid var(--sm-line);padding-top:20px}
.sm-recommendations h3{font-size:16px;font-weight:400;margin-bottom:13px}
.sm-recommendation-list{display:grid;gap:8px}
.sm-shop .sm-recommendation{display:flex;align-items:center;gap:14px;text-align:left;width:100%;padding:8px;background:var(--sm-paper);min-height:90px}
.sm-recommendation picture{width:58px;flex:none}
.sm-recommendation img{width:58px;height:77px;object-fit:contain}
.sm-recommendation>span{display:grid;gap:6px;flex:1;min-width:0}
.sm-recommendation strong{font-size:12px;font-weight:400}
.sm-recommendation small{font-size:12px;color:var(--sm-muted)}
.sm-recommendation>.sm-icon{width:16px}
