@font-face{font-family:Gelion;src:url('/assets/Gelion-Thin.ttf') format('truetype');font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:Gelion;src:url('/assets/Gelion-Light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Gelion;src:url('/assets/Gelion-Regular-1.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Gelion;src:url('/assets/Gelion-Black.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap}
:root{font-family:Gelion,Arial,sans-serif;font-weight:100;color:#a4a5a9;background:#fff}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0;background:none}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:5px}input:focus-visible{outline:1px solid #a4a5a9;outline-offset:3px}[hidden]{display:none!important}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link:focus{position:fixed;top:0;left:0;background:#fff;z-index:100;padding:12px}
.header{height:96px;padding:27px 50px;position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;transition:background .25s,border-radius .25s;color:#a4a5a9;pointer-events:none}.header a,.header button,.header input{pointer-events:auto}.brand{font-size:30px;line-height:1;font-weight:900;letter-spacing:-.9px}.header__right,.socials{display:flex;align-items:center;gap:20px}.socials{gap:18px}.icon-btn,.icon-link{display:flex;align-items:center;justify-content:center;width:24px;height:28px;padding:0;flex-shrink:0}.icon-btn svg,.icon-link svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.search{display:flex;align-items:center;width:174px;flex:0 0 174px;height:31px;padding:0 10px;border:1px solid currentColor;border-radius:999px}.search input{display:block;width:100%;min-width:0;height:100%;margin:0;padding:0;border:0;background:transparent;font-size:13px;line-height:normal;outline:0}.search input::placeholder{color:inherit}.mobile-search{display:none}.bag-link{position:relative}#cart-count{position:absolute;right:-7px;top:-6px;background:#a4a5a9;color:#fff;border-radius:20px;min-width:16px;text-align:center;font-size:11px;font-weight:400}.page-home .header{color:#fff}.is-scrolled .header{top:20px;left:20px;right:20px;height:55px;padding:10px 30px;border-radius:50px;background:rgba(255,255,255,.88);backdrop-filter:blur(10px)}
.hero{height:100svh;position:relative;overflow:hidden;background:#d9d5cb;color:#fff}.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.marquee{position:absolute;left:0;right:0;bottom:3.5%;overflow:hidden;white-space:nowrap;pointer-events:none;color:#fff}.marquee__track{display:flex;width:max-content;animation:marquee 24s linear infinite;will-change:transform}.marquee__unit{flex:none;font-size:clamp(80px,8.2vw,158px);font-weight:900;line-height:1.05;letter-spacing:-.025em;padding-right:.25em}@keyframes marquee{to{transform:translateX(-50%)}}
.menu{position:fixed;inset:0;z-index:80;background:#f1f1f1;display:flex;justify-content:center;align-items:center;opacity:0;transition:opacity .18s ease-in-out}.menu.is-visible{opacity:1}.menu__close{position:absolute;top:34px;right:50px;color:#a4a5a9;z-index:1}.menu__links{display:flex;flex-direction:column;align-items:center}.menu__links a{font-size:35px;font-weight:100;line-height:1.8;transform:scale(1);transform-origin:center;transition:color .2s,transform .22s ease-out}.menu__links a:hover{color:#777;transform:scale(1.2)}@media(hover:none){.menu__links a:hover{transform:none}}.search-modal{position:fixed;inset:0;z-index:90;background:#000c;display:flex;align-items:center;justify-content:center}.search-modal form{display:flex;width:100%;background:#fff;padding:10px}.search-modal input{width:100%;min-width:0;border:1px solid #a4a5a9;border-right:0;border-radius:24px 0 0 24px;padding:7px 10px;outline:0}.search-modal button{border:1px solid #a4a5a9;border-left:0;border-radius:0 24px 24px 0;font-size:25px;line-height:1;padding-right:10px}
.collection{padding-top:151px}.collection__title{font-size:58px;line-height:1;font-weight:100;text-align:center;margin:8px 0 61px;color:#b4b4ba}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:20px;row-gap:0}.product{position:relative;display:block;min-width:0;height:calc(25vw + 80px);text-align:center;color:#a4a5a9}.product__media{position:relative;height:calc(25vw - 10px);width:100%}.product__image,.product__video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.product__image{transition:opacity .15s}.product__video{opacity:0;pointer-events:none;background:#fff;transition:opacity .15s}.product.is-playing .product__video{opacity:1}.product.is-playing .product__image{opacity:0}.product__name{position:absolute;bottom:24px;left:0;right:0;font-size:25px;font-weight:100;line-height:1.2;text-transform:lowercase}.no-results{grid-column:1/-1;text-align:center;padding:80px 20px}.no-results a{text-decoration:underline}
.product-page{position:relative;padding-top:0;min-height:900px}.product-intro-media{width:50%;height:37.5vw;display:flex;align-items:center;justify-content:center}.product-intro-media img,.product-intro-media video{width:100%;height:100%;object-fit:contain}.product-name{position:absolute;top:6vw;left:50%;width:50%;font-size:8.8vw;line-height:1;font-weight:900;letter-spacing:-.035em;text-align:center;margin:0}.buy-rail{position:absolute;top:14.5vw;right:0;bottom:0;width:50%;pointer-events:none;z-index:40}.buy-panel{position:sticky;top:95px;width:min(450px,90%);margin:0 auto;border-radius:25px;background:rgba(255,255,255,.76);backdrop-filter:blur(12px);padding:18px 20px;pointer-events:auto}.buy-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 0 11px;font-size:25px;font-weight:900;text-align:left}.buy-price{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:19px;line-height:1.3}.buy-price strong{white-space:nowrap;font-weight:900}.buy-copy{font-size:17px;line-height:1.25;margin:10px 0 25px;font-weight:100}.buy-quantity{display:flex;align-items:center;justify-content:space-between;font-size:19px;margin:8px 0 10px}.quantity-control{display:flex;align-items:center;height:38px;border:1px solid #a4a5a9}.quantity-control button{font-weight:300;padding:0 12px;height:100%;font-size:13px}.quantity-control input{background:none;border:0;appearance:textfield;-moz-appearance:textfield;outline:0;width:34px;text-align:center;font-size:13px}.quantity-control input::-webkit-inner-spin-button{appearance:none}.add-to-cart{display:block;width:100%;text-align:left;font-size:19px;font-weight:900;border-bottom:4px solid #a4a5a9;padding:0 0 7px}.product-story{width:50%;text-align:center;padding:0 12% 30px;min-height:190px}.product-story p{font-size:19px;line-height:1.15;margin:7px 0 35px}.product-story img{max-width:128px;height:auto;display:block;margin:auto}.product-gallery{display:grid;grid-template-columns:1fr 1fr;align-items:start}.product-gallery .measures{width:100%;height:auto}.scene-stack{margin-top:-190px}.scene-stack img{width:100%;height:auto;display:block}.product-moods{display:grid;grid-template-columns:1fr 1fr}.product-moods img{width:100%;height:50vw;object-fit:cover;display:block}
.site-footer{font-size:15px;font-weight:100;padding:50px 20px 18px;text-align:center}.newsletter{max-width:500px;margin:0 auto 38px}.newsletter>p{margin:0 0 10px}.newsletter form{display:flex;gap:10px}.newsletter input{background:none;min-width:0;flex:1;border:1px solid #b3b3b8;border-radius:30px;padding:10px 12px;height:41px}.newsletter input::placeholder{color:#b3b3b8}.newsletter button{background:#a4a5a9;color:#fff;border-radius:30px;padding:9px 35px;font-size:15px}.footlinks{display:grid;grid-template-columns:repeat(4,1fr);max-width:1280px;margin:0 auto 50px;gap:45px;align-items:start}.footlinks>div{display:flex;align-items:center;flex-direction:column;gap:10px}.footlinks img{object-fit:contain}.legal{margin-bottom:24px;font-size:13px}.site-footer small{font-size:13px}.form-status{min-height:0;font-size:13px;margin:8px 0 0!important}
.cart-page{max-width:1140px;margin:auto;padding-top:80px;min-height:440px}.cart-page>h1{text-align:center;font-weight:100;font-size:58px;margin:0 0 48px}.cart-notice{padding:14px;border:1px solid #a4a5a9;border-radius:22px;font-size:15px;margin-bottom:30px}.plain-button{display:inline-block;background:#a4a5a9;color:#fff;padding:20px;font-size:15px;font-weight:300}.cart-table{border:1px solid #e4e4e4;border-radius:22px;overflow:hidden}.cart-table-head,.cart-row{display:grid;grid-template-columns:2fr 1fr 1.5fr 1fr;align-items:center;gap:20px;padding:20px}.cart-table-head{background:#f7f7f7;text-align:center}.cart-row{border-top:1px solid #e4e4e4;min-height:95px;font-size:17px}.cart-product{display:flex;align-items:center;gap:15px}.cart-product img{width:100px;height:70px;object-fit:contain}.cart-product button{font-size:20px}.cart-row .quantity-control{width:max-content}.cart-totals{max-width:550px;border:1px solid #e4e4e4;border-radius:22px;margin:20px 0 0 auto;overflow:hidden}.cart-totals h2{font-size:16px;font-weight:100;text-align:center;margin:0;background:#f7f7f7;padding:15px}.cart-totals p{padding:10px 30px;display:flex;justify-content:space-between;font-size:17px}.cart-totals .plain-button{display:block;text-align:center;margin:10px 20px 20px}.cart-totals .demo-notice{font-size:14px;display:block;line-height:1.4}.cart-totals strong{font-weight:300}
@media(max-width:750px){.header{height:85px;padding:25px 30px}.brand{font-size:30px}.socials,.desktop-search{display:none}.header__right{gap:20px}.mobile-search{display:flex}.icon-btn,.icon-link{width:24px}.is-scrolled .header{top:10px;left:10px;right:10px;padding:10px 20px}.hero{height:100svh;min-height:100dvh}.marquee{bottom:4%;}.marquee__unit{font-size:75px}.menu__close{top:28.5px;right:30px}.menu__links a{font-size:25px;line-height:1.8}.collection{padding-top:109px}.collection__title{font-size:34px;margin:0 0 51px}.products{grid-template-columns:1fr;gap:0}.product{height:75vw}.product__media{height:100%}.product__name{font-size:17px;bottom:3%;text-transform:capitalize}.product-page{display:flex;flex-direction:column;padding-top:80px}.product-intro-media{width:100%;height:75vw;order:0}.product-name{position:static;width:100%;font-size:60px;letter-spacing:-.025em;order:1;margin:12px 0 35px}.buy-rail{position:sticky;top:80px;width:100%;order:2;z-index:40;bottom:auto}.buy-panel{position:static;width:calc(100% - 20px);padding:0 20px 22px}.buy-toggle{font-size:25px;padding-bottom:19px}.buy-price{font-size:21px;line-height:1.1}.buy-copy{font-size:18px;line-height:1.15;margin:14px 0 30px}.buy-quantity{font-size:19px;margin-bottom:17px}.add-to-cart{font-size:19px}.product-story{width:100%;padding:90px 25px 40px;order:3;min-height:260px}.product-story p{font-size:20px;margin:0 0 38px}.product-gallery{grid-template-columns:1fr;order:4}.scene-stack{margin-top:0}.product-moods{order:5;grid-template-columns:1fr}.product-moods img{height:auto;aspect-ratio:1}.site-footer{padding:50px 20px 20px;font-size:15px}.newsletter{margin-bottom:35px}.newsletter form{flex-wrap:wrap;justify-content:center;gap:12px}.newsletter input{flex-basis:100%;width:100%;height:41px}.newsletter button{padding:10px 35px}.footlinks{grid-template-columns:1fr 1fr;gap:40px 10px;margin-bottom:50px}.footlinks>div:first-child,.footlinks>div:last-child{grid-column:1/-1}.footlinks>div{gap:14px}.footlinks>div:nth-child(2),.footlinks>div:nth-child(3){font-size:13px}.site-footer small{line-height:1.5}.cart-page{padding:80px 20px 0;min-height:320px}.cart-page>h1{font-size:34px;margin:0 0 30px}.cart-notice{font-size:16px}.cart-table-head{display:none}.cart-row{display:flex;flex-direction:column;gap:15px;position:relative;padding:20px}.cart-product{flex-direction:column}.cart-product img{width:200px;height:130px}.cart-product button{position:absolute;top:10px;right:10px}.cart-totals{width:100%}.cart-row>span:before{display:inline-block;margin-right:12px}.cart-totals .demo-notice{font-size:14px}}
@media(prefers-reduced-motion:reduce){.marquee__track{animation:none}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}

@font-face{font-family:SourceIcons;src:url('/assets/fa-solid-900.woff2') format('woff2');font-weight:900;font-display:block}.filter-open{position:fixed;bottom:35px;right:30px;width:62px;height:62px;border:1px solid #b4b4ba;border-radius:50%;background:#ffffffd9;z-index:45}.filter-open span{font-family:Gelion,Arial,sans-serif;font-weight:300;font-size:20px;line-height:1}.filter-modal{position:fixed;inset:0;background:#000c;z-index:90;display:grid;place-items:center}.filter-modal section{position:relative;background:#fff;border-radius:14px;padding:35px 45px 45px;width:min(640px,92vw);text-align:center}.filter-modal h2{font-size:28px;font-weight:100;margin:0 0 35px}.filter-modal nav{display:flex;flex-wrap:wrap;gap:22px;justify-content:center;font-size:17px}.filter-modal #filter-close{position:absolute;top:14px;right:18px;font-size:22px}@media(max-width:750px){.filter-open{right:20px;bottom:28px}.filter-modal section{padding:35px 20px}.filter-modal nav{gap:15px}.filter-modal h2{font-size:25px}}
/* Resting frames share the original canvas; motion and poster use one stage. */
.product__stage{position:absolute;inset:0;transform-origin:50% 42.36%;transition:transform .5s ease;will-change:auto}.product__stage .product__image,.product__stage .product__video{width:100%;height:auto;bottom:auto;object-fit:fill}.product__stage .product__image{transition:opacity .12s linear}.product__stage .product__video{transition:opacity .12s linear}.product.is-hovered .product__stage{transform:scale(1.2);will-change:transform}.product__name{z-index:1}.product__media{height:auto;aspect-ratio:4/3}.product{height:auto;aspect-ratio:auto;padding-bottom:80px}.product__name{bottom:24px}
body.bag-open{overflow:hidden}.bag-dialog{position:fixed;inset:0 0 0 auto;width:min(480px,100%);max-width:100%;height:100dvh;max-height:100dvh;margin:0;border:0;padding:0;background:#fff;color:#77797d;display:flex;flex-direction:column;transform:translateX(100%);opacity:0;transition:transform .24s ease,opacity .24s ease;font-weight:300;overflow:hidden}.bag-dialog:not([open]){display:none}.bag-dialog::backdrop{background:#0005}.bag-dialog.is-open{transform:translateX(0);opacity:1}.bag-header{display:flex;align-items:center;justify-content:space-between;padding:20px 25px;border-bottom:1px solid #eee;flex:none}.bag-header h2{margin:0;font-size:29px;font-weight:900}.bag-close{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:31px;line-height:1}.bag-scroll{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:5px 25px 20px}.bag-row{display:flex;gap:12px;padding:24px 0;border-bottom:1px solid #eee}.bag-row>img{width:92px;height:90px;object-fit:contain;flex:none;align-self:center}.bag-details{flex:1;min-width:0}.bag-row-heading{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.bag-row-heading>a{font-weight:900;font-size:20px;text-transform:capitalize}.bag-remove{font-size:13px;text-decoration:underline;padding:8px 0;min-height:40px}.bag-unit{font-size:14px;margin:0 0 14px;line-height:1.3}.bag-row-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px}.bag-row .quantity-control{height:42px;flex:none}.bag-row .quantity-control button{width:34px;padding:0;font-size:17px}.quantity-control button:disabled{opacity:.35;cursor:default}.bag-line-total{font-size:17px;font-weight:400;white-space:nowrap}.bag-footer{padding:22px 25px max(25px,env(safe-area-inset-bottom));border-top:1px solid #ddd;flex:none;background:#fff}.bag-subtotal,.checkout-subtotal{display:flex;justify-content:space-between;gap:15px;align-items:baseline;font-size:21px}.bag-subtotal strong{font-weight:400;text-align:right}.bag-note{font-size:14px;line-height:1.4;margin:12px 0 20px}.shop-primary{display:block;width:100%;border:0;border-radius:24px;background:#737579;color:#fff;font-size:18px;font-weight:400;text-align:center;padding:15px 20px;line-height:1.2;min-height:48px}.shop-primary:disabled{background:#eee;color:#777;cursor:default}.text-link{text-decoration:underline;text-underline-offset:4px;padding:8px 0;font-size:16px;min-height:40px}.checkout-page{max-width:1200px;margin:auto;padding:145px 35px 30px;color:#77797d;font-weight:300}.checkout-page>h1{font-size:58px;font-weight:100;line-height:1.1;margin:0 0 25px}.checkout-demo{padding:16px 20px;background:#f6f6f6;border-radius:16px;font-size:17px;line-height:1.4;margin-bottom:35px}.checkout-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:45px;align-items:start}.checkout-contact,.checkout-summary{min-width:0;border:1px solid #e4e4e4;border-radius:25px;padding:28px}.checkout-contact h2,.checkout-summary h2{font-size:24px;font-weight:900;margin:0 0 20px}.checkout-contact>label,#delivery-address>label,.address-row label{display:block;font-size:17px;margin:22px 0 8px}.checkout-contact input:not([type=radio]):not([type=checkbox]),.checkout-contact textarea{width:100%;background:#fff;border:1px solid #ccc;border-radius:8px;padding:12px 14px;min-height:46px;font-weight:300;color:#666;resize:vertical}.checkout-contact fieldset{border:1px solid #ddd;border-radius:12px;padding:16px;margin:28px 0 16px}.delivery-choice legend{font-size:19px;padding:0 6px}.delivery-choice label{display:flex;align-items:center;gap:10px;min-height:44px;font-size:17px}.delivery-choice input{accent-color:#777;width:17px;height:17px;margin:0}.address-row{display:grid;grid-template-columns:1fr 110px;gap:15px}.checkout-hint{font-size:14px;line-height:1.5;margin:12px 0 20px}.summary-heading{display:flex;justify-content:space-between;align-items:baseline;gap:15px}.summary-heading h2{margin-bottom:10px}.summary-heading .text-link{font-size:14px;white-space:nowrap}.checkout-summary{position:sticky;top:100px}.checkout-line{display:flex;align-items:center;gap:12px;padding:20px 0;border-bottom:1px solid #eee}.checkout-line img{width:64px;height:54px;object-fit:contain}.checkout-line>div{flex:1;min-width:0}.checkout-line strong{display:block;font-weight:400;font-size:17px;text-transform:capitalize}.checkout-line small{display:block;font-size:13px;margin-top:5px;line-height:1.3}.checkout-line>span{font-size:16px;white-space:nowrap}.checkout-subtotal{margin-top:24px;font-size:20px}.checkout-subtotal strong{font-weight:400;text-align:right}
@media(max-width:750px){.product{height:auto;padding-bottom:0;aspect-ratio:4/3}.product__media{height:auto;aspect-ratio:4/3}.product__name{bottom:3%}.bag-dialog{width:min(430px,100%)}.bag-header{padding:15px 20px}.bag-scroll{padding:0 20px 20px}.bag-footer{padding:20px 20px max(22px,env(safe-area-inset-bottom))}.bag-row>img{width:70px;height:75px}.bag-row{gap:9px}.bag-row-heading>a{font-size:19px}.bag-row-bottom{gap:6px}.bag-row .quantity-control button{width:30px}.bag-row .quantity-control input{width:29px}.bag-line-total{font-size:15px}.bag-subtotal{font-size:20px}.checkout-page{padding:115px 20px 20px}.checkout-page>h1{font-size:39px}.checkout-layout{grid-template-columns:1fr;gap:25px}.checkout-contact,.checkout-summary{padding:22px 20px;border-radius:20px}.checkout-summary{position:static}.checkout-demo{font-size:16px;padding:14px 16px}.checkout-line{gap:8px}.checkout-line img{width:50px}.checkout-line>span{font-size:15px}.checkout-contact h2,.checkout-summary h2{font-size:22px}.summary-heading{gap:8px}}
@media(prefers-reduced-motion:reduce){.product__stage,.product__stage .product__image,.product__stage .product__video,.bag-dialog{transition:none}.product.is-hovered .product__stage{transform:none}}

/* The reference uses a zero-width scrollbar; keep the same available card width. */
html{scrollbar-width:none}html::-webkit-scrollbar{width:0}

.page-collection{overflow-x:clip}

/* Tokushima: keep its square canvas clear of the label without changing other cards. */
@media(min-width:751px){.product[href$="/tokushima-copia"] .product__stage{left:4%;right:auto;top:-5%;bottom:auto;width:92%;height:100%}}


/* Yokohama: match the vertical spacing of its neighboring cards without affecting mobile. */
@media(min-width:751px){.product[href$="/yokohama"] .product__stage{left:4%;right:auto;top:-5%;bottom:auto;width:92%;height:100%}}

@media(prefers-reduced-motion:reduce){.menu{transition:none}}

/* The Home is a single viewport scene: no page scroll or exposed white strip. */
html:has(.page-home){overflow:hidden}
body.page-home{height:100dvh;overflow:hidden;overscroll-behavior:none}
.page-home .hero{position:relative;width:100%;height:100dvh;min-height:0;overflow:hidden}


/* Original WordPress TikTok outline and Font Awesome WhatsApp glyph. */
.socials .icon-link[aria-label="TikTok"] svg{width:22px;height:22px}
.socials .icon-link[aria-label="WhatsApp"] svg{width:24px;height:24px}

/* Full-viewport branded 404: shared header, menu and compact footer. */
html:has(.page-error){height:100%;overflow:hidden}
body.page-error{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#fff}
.page-error .not-found{flex:1 1 auto;min-height:0;display:grid;place-items:center;padding:95px 24px 12px;text-align:center}
.not-found__content{width:min(100%,620px)}
.not-found h1{font-size:clamp(36px,4vw,58px);font-weight:100;line-height:1.1;letter-spacing:-.025em;margin:0 0 27px;color:#a4a5a9}
.not-found p{font-size:17px;font-weight:300;line-height:1.5;margin:0 0 5px;color:#79797f}
.not-found__search{display:flex;align-items:center;width:min(100%,390px);height:42px;border:1px solid #c8c8cd;border-radius:22px;margin:24px auto 25px;padding:0 12px}
.not-found__search input{flex:1;min-width:0;width:100%;border:0;outline:0;font-size:15px;font-weight:300;background:transparent;color:#777}
.not-found__search button{display:grid;place-items:center;padding:6px;color:#a4a5a9}
.not-found__home{display:inline-block;background:#a4a5a9;color:#fff;padding:12px 28px;border-radius:24px;text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:900}
.page-error .site-footer{flex:0 0 auto;padding:12px 20px 10px;font-size:12px}
.page-error .newsletter{margin-bottom:12px;max-width:390px}
.page-error .newsletter form{justify-content:center}
.page-error .newsletter input{height:32px}
.page-error .newsletter button{font-size:12px;padding:6px 16px}
.page-error .footlinks{margin-bottom:10px;gap:12px}
.page-error .footlinks>div{gap:4px}
.page-error .footlinks img{max-height:45px;width:auto}
.page-error .legal{margin:0 0 5px}
.page-error .site-footer small{font-size:11px}
@media(max-width:750px){
.page-error .not-found{padding:75px 20px 8px}
.not-found h1{font-size:clamp(30px,8vw,40px);margin-bottom:17px}
.not-found p{font-size:14px}
.not-found__search{height:38px;margin:18px auto}
.not-found__home{padding:10px 20px}
.page-error .site-footer{padding:6px 12px 8px;font-size:10px}
.page-error .newsletter{margin-bottom:8px}
.page-error .newsletter input{height:28px}
.page-error .footlinks{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-bottom:8px}
.page-error .footlinks>div{gap:3px}
.page-error .footlinks img{max-height:32px}
.page-error .legal{margin-bottom:3px}
}
@media(max-height:650px){.page-error .not-found{padding-top:62px}.page-error .newsletter{display:none}.page-error .footlinks{margin-bottom:5px}}

/* Objects has its own mobile grid; furniture retains its current layout. */
@media(max-width:750px){.collection--objects .products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.collection--objects .product{min-width:0}.collection--objects .product__name{font-size:14px}}

/* Products without a 3D clip use an optional second contextual photo. */
.product__stage .product__alternate{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;pointer-events:none;transition:opacity .32s ease}
@media(hover:hover) and (pointer:fine){.product:hover .product__alternate,.product:focus-visible .product__alternate{opacity:1}.product:hover:has(.product__alternate) .product__image,.product:focus-visible:has(.product__alternate) .product__image{opacity:0}}
@media(prefers-reduced-motion:reduce){.product__stage .product__alternate{transition:none}}

/* Compact checkout information and understated price experiment in product grid. */
.product__price{display:block;margin:10px 0 0;font-size:13px;font-weight:300;line-height:1.25;white-space:nowrap;color:#a4a5a9}
.buy-copy{font-size:15px;line-height:1.38;font-weight:300;margin:8px 0 16px}
@media(max-width:750px){.product__price{font-size:12px;margin:10px 0 0}.collection--objects .product__price{font-size:11px;margin-top:8px}}

/* Compact native dimensions selector aligned with quantity control. */
.buy-variant-select{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 9px;font-size:19px}
.buy-variant-select label{flex:0 0 auto}
.buy-variant-select select{min-width:0;width:min(65%,281px);height:38px;border:1px solid #a4a5a9;border-radius:0;padding:0 12px;background:#fff;color:#a4a5a9;font:300 15px Gelion,Arial,sans-serif}
@media(max-width:750px){.buy-variant-select{font-size:16px}.buy-variant-select select{width:65%;font-size:13px}}

/* Fukuoka: visual wood samples only; actual variant pricing remains unchanged. */
.buy-materials{display:flex;flex-wrap:wrap;align-items:center;gap:10px;border:0;padding:0;margin:13px 0;color:#a4a5a9}
.buy-materials legend{font-size:16px;margin-bottom:7px}.buy-materials legend small{font-size:12px}
.buy-materials label{display:flex;align-items:center;gap:5px;font-size:12px;cursor:pointer}
.buy-materials input{position:absolute;width:1px;height:1px;opacity:0}
.buy-materials__swatch{width:25px;height:25px;display:inline-block;flex:none;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px #0002}
.buy-materials input:checked+.buy-materials__swatch{outline:2px solid #a4a5a9;outline-offset:3px}
.buy-materials input:focus-visible+.buy-materials__swatch{outline:2px solid #444;outline-offset:3px}

/* Objects: fixed image region and independent text, never overlapping at narrow widths. */
.collection--objects .product{display:flex;flex-direction:column;min-width:0;padding-bottom:0;height:auto}
.collection--objects .product__media{display:block;position:relative;width:100%;height:auto;aspect-ratio:1/1}
.collection--objects .product__stage{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;transform:none!important}.collection--objects .product__stage .product__image,.collection--objects .product__stage .product__video,.collection--objects .product__stage .product__alternate{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.collection--objects .product__name{position:static;display:block;flex:none;width:100%;margin:10px 0 0;text-align:center;line-height:1.35}
.collection--objects .product__price{margin:7px 0 0}
.product__stage .product__image{transition:opacity .25s ease}
.product__stage .product__alternate{transition:opacity .25s ease}
@media(prefers-reduced-motion:reduce){.product__stage .product__image,.product__stage .product__alternate{transition:none}}
/* Material selector follows dimensions: text on left and swatches on right. */
.buy-materials{display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:12px;width:100%;margin:12px 0 9px}
.buy-materials__title{flex:none;font-size:19px;line-height:38px}
.buy-materials label{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;margin-left:9px}
.buy-materials label:first-of-type{margin-left:auto}
.buy-materials label .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.buy-materials__swatch{width:27px;height:27px}
.buy-materials label:hover::after{content:attr(data-material);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#fff;color:#777;padding:4px 7px;border-radius:4px;white-space:nowrap;font-size:12px;box-shadow:0 1px 8px #0002;z-index:2}
@media(max-width:750px){.buy-materials__title{font-size:16px}.buy-materials label{margin-left:8px}}

/* Product purchase panel: balanced open/closed header and consistent controls. */
.buy-panel{padding-top:14px}
.buy-toggle{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;margin:0}
.buy-toggle span{display:flex;align-items:center;line-height:1.12}
.buy-toggle #buy-sign{flex:none;justify-content:center;width:24px;height:32px;line-height:1}
#buy-body{padding-top:12px}
#buy-body[hidden]{display:none}
.buy-quantity{min-height:38px}
.buy-variant-select select{appearance:none;-webkit-appearance:none;width:min(53%,210px);max-width:210px;padding:0 34px 0 12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='m2 2 5 5 5-5' fill='none' stroke='%239fa0a4' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;background-size:14px 9px}
.add-to-cart{color:#a4a5a9;transition:background-color .2s,color .2s;border-bottom-color:#a4a5a9}
.add-to-cart:hover,.add-to-cart:focus-visible{background:#a4a5a9;color:white}
@media(max-width:750px){
  .buy-panel{padding:14px 20px 22px}
  .buy-toggle{min-height:36px;padding:0}
  .buy-quantity{font-size:16px;min-height:38px}
  .buy-variant-select select{width:min(55%,200px);max-width:200px}
}

/* Purchase panel spacing and polished basket variant hierarchy. */
.buy-panel{padding-bottom:14px}
.add-to-cart{padding-top:7px}
.bag-row-heading>a{display:block;min-width:0;overflow-wrap:anywhere}
.bag-variants{font-size:14px;line-height:1.45;font-weight:300;color:#777;margin:2px 0 3px;overflow-wrap:anywhere;white-space:normal}
.bag-variants:empty{display:none}
.bag-row-heading{align-items:flex-start}
.bag-unit{margin:0 0 14px}
.checkout-line small{display:block;overflow-wrap:anywhere}
@media(max-width:750px){.buy-panel{padding-bottom:14px}}

.bag-subline{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:9px;row-gap:2px;margin:3px 0 14px;min-width:0}
.bag-subline .bag-variants,.bag-subline .bag-unit{margin:0;min-width:0;font-size:14px;line-height:1.45;overflow-wrap:anywhere}

/* Cart: compact product heading, variants and per-unit price on distinct rows. */
.bag-row-heading{align-items:center;gap:8px}
.bag-row-heading>a{line-height:1.15}
.bag-variants{margin:4px 0 2px;font-size:13px;line-height:1.4;text-transform:lowercase}
.bag-unit{display:block;margin:0 0 12px;font-size:13px;line-height:1.4}
.bag-remove{display:grid;place-items:center;flex:none;width:30px;height:30px;min-height:30px;padding:4px;color:#a4a5a9;text-decoration:none}
.bag-remove svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.bag-remove:hover,.bag-remove:focus-visible{color:#555}
.footlinks a:has(.footer-icon){display:inline-flex;align-items:center;justify-content:center;gap:6px}
.footlinks .footer-icon{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.85}

/* Mobile material palette: three swatches per row, additional options wrap below. */
@media(max-width:750px){
  .buy-materials{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,27px);column-gap:12px;row-gap:13px;align-items:center;justify-content:stretch}
  .buy-materials__title{grid-column:1;grid-row:1;min-width:0;line-height:1.35}
  .buy-materials label,.buy-materials label:first-of-type{margin:0;width:27px;height:27px}
  .buy-materials label:first-of-type{grid-column:2}
  .buy-materials label:nth-of-type(3n + 1){grid-column:2}
  .buy-materials label:nth-of-type(3n + 2){grid-column:3}
  .buy-materials label:nth-of-type(3n + 3){grid-column:4}
}

/* Desktop material palette: at most four options per row, wrap the remainder. */
@media(min-width:751px){
  .buy-materials{display:grid;grid-template-columns:minmax(0,1fr) repeat(4,27px);column-gap:11px;row-gap:13px;align-items:center}
  .buy-materials__title{grid-column:1;grid-row:1;min-width:0}
  .buy-materials label,.buy-materials label:first-of-type{margin:0;width:27px;height:27px}
  .buy-materials label:first-of-type{grid-column:2}
  .buy-materials label:nth-of-type(4n + 1){grid-column:2}
  .buy-materials label:nth-of-type(4n + 2){grid-column:3}
  .buy-materials label:nth-of-type(4n + 3){grid-column:4}
  .buy-materials label:nth-of-type(4n + 4){grid-column:5}
}

/* Breathing room between dimensions, finish swatches and quantity. */
.buy-materials{margin-top:15px;margin-bottom:15px}
.buy-panel .quantity-control{background:#fff}

/* Group swatches against the right edge regardless of how many are present. */
.buy-materials{display:flex;justify-content:space-between;align-items:center;gap:10px}
.buy-materials__title{min-width:0;flex:1;line-height:1.35}
.buy-materials__options{display:grid;grid-template-columns:repeat(4,27px);justify-content:end;gap:13px 11px;flex:none}
.buy-materials__options label,.buy-materials__options label:first-of-type{margin:0;width:27px;height:27px;grid-column:auto;grid-row:auto}
@media(max-width:750px){
 .buy-materials{display:flex;align-items:center;justify-content:space-between;gap:10px}
 .buy-materials__title{min-width:0;flex:1;grid-column:auto;grid-row:auto}
 .buy-materials__options{grid-template-columns:repeat(3,27px);gap:13px 12px}
 .buy-materials__options label,.buy-materials__options label:first-of-type{grid-column:auto;grid-row:auto;margin:0}
}
@media(min-width:751px){
 .buy-materials__options label,.buy-materials__options label:first-of-type{grid-column:auto;grid-row:auto;margin:0}
}
/* Fade the purchase panel only as it reaches its containing product section's end. */
@media(min-width:751px){
 .buy-panel{transition:opacity .3s ease}
 .buy-panel.is-at-product-end{opacity:0;pointer-events:none}
}
@media(prefers-reduced-motion:reduce){.buy-panel{transition:none}}

/* Flex packing keeps partial rows anchored on the far right. */
.buy-materials__options{display:flex;flex-wrap:wrap;justify-content:flex-end;align-content:center;width:141px;gap:13px 11px}
@media(max-width:750px){.buy-materials__options{width:105px;gap:13px 12px}}


/* Admin configured attributes and real variation state. */
.buy-option{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:13px 0;min-width:0;color:#a4a5a9}
.buy-option .buy-materials__title{min-width:0;flex:1;line-height:1.2}
.buy-option .product-attribute-select{width:min(55%,220px);height:38px;border:1px solid #a4a5a9;background:#fff;color:#777;padding:0 10px;font:300 14px Gelion,Arial,sans-serif}
.buy-option .buy-materials__options{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;max-width:144px;flex:none}
.buy-option .buy-materials__options label,.buy-option .buy-materials__options label:first-of-type{margin:0;width:27px;height:27px;position:relative;cursor:pointer}
.buy-option .buy-materials__options input{position:absolute;width:27px;height:27px;opacity:0}
.buy-option .buy-materials__swatch,.buy-option .buy-materials__image{width:27px;height:27px;border-radius:50%;object-fit:cover;display:block}
.buy-option input:checked+.buy-materials__swatch,.buy-option input:checked+.buy-materials__image{outline:2px solid #a4a5a9;outline-offset:3px}
.buy-option input:focus-visible+.buy-materials__swatch,.buy-option input:focus-visible+.buy-materials__image{outline:2px solid #444;outline-offset:3px}
.buy-option .buy-materials__options label:hover::after{content:attr(data-material);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#fff;color:#777;padding:4px 7px;border-radius:4px;white-space:nowrap;font-size:12px;box-shadow:0 1px 8px #0002;z-index:2}
.buy-availability{font-size:13px;color:#777;margin:8px 0}
.add-to-cart:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:750px){.buy-option .buy-materials__title{font-size:16px}.buy-option .buy-materials__options{max-width:105px;gap:12px}}

/* Do not reserve vertical space for absent variation warnings. */
.buy-availability:empty{display:none}

/* Gentle purchase CTA hover, with a little extra space on its left edge. */
#add-to-cart{transition:background-color .3s ease,color .3s ease,padding-left .3s ease}
@media(hover:hover){#add-to-cart:hover:not(:disabled){padding-left:7px}}
/* Separate mini-cart subtotal from the checkout CTA. */
.bag-footer .bag-subtotal{padding-bottom:15px}

/* Apply the same end-of-product fade on touch/mobile layouts. */
.buy-panel{transition:opacity .3s ease}
.buy-panel.is-at-product-end{opacity:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){.buy-panel{transition:none}}

/* Client review: slightly stronger product name without making prices heavy. */
.collection .product__name{font-weight:400}
.collection .product__price{font-weight:300}

/* Client review: mobile home preserves more of the original video frame. */
@media(max-width:750px){.hero__video{object-fit:cover;object-position:center}}
/* Mobile menu fully opaque, avoiding translucent horizontal strips. */
@media(max-width:750px){.menu{background:#f1f1f1;opacity:0}.menu.is-visible{opacity:1}.menu::before,.menu::after{content:none}}
/* Compact variant panel and transparent quantity control, shaped like size select. */
.buy-panel .quantity-control{background:transparent;border-radius:4px}
.buy-panel .quantity-control input{background:transparent}
.buy-panel .buy-option:has(.buy-materials__options){margin:8px 0}
@media(max-width:750px){.buy-panel .buy-option:has(.buy-materials__options){margin:7px 0}}

/* Compact responsive product form: material on top; quantity and dimensions below. */
.buy-options-inline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 14px}
.buy-options-inline .buy-quantity{flex:0 0 112px;min-width:0;margin:0}
.buy-options-inline .buy-quantity label{display:none}
.buy-options-inline .quantity-control{width:100%;justify-content:space-between;border-radius:5px;height:38px}
.buy-options-inline .quantity-control button{padding:0 8px}
.buy-options-inline .quantity-control input{width:30px}
.buy-options-inline .buy-option{flex:1 1 0;min-width:0;margin:0;gap:5px}
.buy-options-inline .buy-option .buy-materials__title{display:none}
.buy-options-inline .product-attribute-select{width:100%;max-width:none;min-width:0;border-radius:5px}
@media(max-width:750px){.buy-options-inline{gap:10px}.buy-options-inline .buy-quantity{flex-basis:102px}}

/* Product controls: dimensions are a labeled row; compact quantity sits beside CTA. */
.buy-options-inline{display:block;margin:11px 0 14px}
.buy-options-inline .buy-option{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0}
.buy-options-inline .buy-option .buy-materials__title{display:block;flex:0 0 auto}
.buy-options-inline .product-attribute-select{width:min(58%,220px);max-width:58%;flex:0 1 58%}
.buy-action-row{display:flex;align-items:center;gap:16px;margin-top:12px}
.buy-action-row .add-to-cart{width:auto;flex:1 1 auto;min-width:0}
.buy-action-row .buy-quantity{margin:0;flex:0 0 auto}
.buy-action-row .buy-quantity label{display:none}
.buy-action-row .quantity-control{height:34px;min-width:91px;width:91px;border-radius:5px;background:transparent;justify-content:space-between}
.buy-action-row .quantity-control input{width:25px;background:transparent}
.buy-action-row .quantity-control button{padding:0 8px}
@media(max-width:750px){.buy-action-row{gap:11px}.buy-options-inline .product-attribute-select{width:min(58%,220px)}}

/* Match quantity selector exactly to the add-to-cart action height. */
.buy-action-row{align-items:stretch}
.buy-action-row .quantity-control{height:100%;min-height:0;box-sizing:border-box}
.buy-action-row .quantity-control button,.buy-action-row .quantity-control input{height:100%}

/* Product CTA final visual treatment requested for desktop and mobile. */
.buy-action-row .add-to-cart{background:#a4a5a9;color:#fff;font-size:17px;text-align:center;border-bottom:0;padding:0 8px;display:flex;align-items:center;justify-content:center;min-height:44px}
@media(hover:hover){.buy-action-row .add-to-cart:hover:not(:disabled){background:#8c8d92;color:#fff;padding-left:8px}}

/* Client approval 30/10: outlined pill controls, consistent with showroom CTA. */
.buy-options-inline .product-attribute-select,
.buy-action-row .quantity-control,
.buy-action-row .add-to-cart {
  border:2px solid #a4a5a9;
  border-radius:999px;
  background:transparent;
  color:#a4a5a9;
  box-sizing:border-box;
}
.buy-options-inline .product-attribute-select {
  height:42px;
  padding-inline:15px 30px;
  background-color:transparent;
}
.buy-action-row .add-to-cart {
  min-height:46px;
  background:transparent;
  color:#a4a5a9;
  font-weight:700;
  font-size:17px;
  border-bottom:2px solid #a4a5a9;
  transition:background-color .2s ease,color .2s ease;
}
.buy-action-row .quantity-control {
  min-height:46px;
  height:100%;
  background:transparent;
}
.buy-action-row .quantity-control input { background:transparent; }
@media (hover:hover) {
  .buy-action-row .add-to-cart:hover:not(:disabled) {
    background:#a4a5a9;
    color:#fff;
    padding-left:8px;
  }
}
.buy-action-row .add-to-cart:focus-visible {
  background:#a4a5a9;
  color:#fff;
  outline:2px solid #777;
  outline-offset:3px;
}

/* Purchase control spacing refinement 30/10. */
.buy-action-row .quantity-control button {
  min-width:30px;
  padding-inline:0;
}
.buy-options-inline .product-attribute-select {
  appearance:none;
  -webkit-appearance:none;
  padding-left:18px;
  padding-right:40px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='m2 2 5 5 5-5' fill='none' stroke='%239fa0a4' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 18px center;
  background-size:14px 9px;
}

/* Mobile menu overlay: match safe areas and keep a circular keyboard focus cue. */
@media(max-width:750px){
  body.menu-open{background:#f1f1f1}
  .menu{min-height:100dvh;background:#f1f1f1}
  .menu__close,.menu__close:hover,.menu__close:focus,.menu__close:focus-visible,.menu__close:active{border:0;outline:none;box-shadow:none}
}

/* Material swatches: pointer on the entire circle; tooltip only while hovering. */
.buy-option .buy-materials__options input,
.buy-option .buy-materials__swatch,
.buy-option .buy-materials__image {cursor:pointer}

/* Original WordPress header icons on both desktop and mobile. */
@font-face{font-family:MokusaiOriginalBag;src:url('mokusai-original-eicons.woff2') format('woff2');font-weight:400;font-style:normal;font-display:block}
#header .header-icon-default{display:none}
#header .header-original-mobile{display:block;flex:none}
#search-open .header-original-search{width:23px;height:23px;fill:currentColor;stroke:none}
#bag-open .header-original-bag{font-family:MokusaiOriginalBag;font-size:25px;font-weight:400;font-style:normal;font-variant:normal;line-height:1;text-rendering:auto;-webkit-font-smoothing:antialiased}
#menu-open .header-original-menu{position:relative;width:20px;height:20px}
#menu-open .header-original-menu>span{position:absolute;top:50%;left:0;width:100%;height:2px;background:currentColor}
#menu-open .header-original-menu>span:first-child{margin-top:-8px}
#menu-open .header-original-menu>span:last-child{margin-top:8px}
@media(min-width:751px){
  #header .desktop-search{display:flex}
  #header .mobile-search{display:none}
}

/* Client final review: floating filter pill, retaining existing category modal. */
.filter-open{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:auto;min-width:108px;height:48px;padding:0 19px;bottom:28px;right:28px;border:1px solid #e7e7e9;border-radius:999px;background:#fff;color:#898b91;box-shadow:0 5px 22px #00000014;font:400 14px Gelion,Arial,sans-serif;white-space:nowrap;transition:box-shadow .2s ease,transform .2s ease}
.filter-open svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.filter-open svg circle{fill:#fff}
@media(hover:hover){.filter-open:hover{box-shadow:0 7px 25px #00000024;transform:translateY(-1px)}}
@media(max-width:750px){.filter-open{right:18px;bottom:22px;min-width:100px;height:45px;padding:0 16px}}
/* Keep the cart action outlined but visually lighter. */
.buy-action-row .add-to-cart{border-width:1px;border-bottom-width:1px}

/* Final storefront controls: same delicate outline on cart, quantity and size. */
.buy-action-row .add-to-cart,
.buy-action-row .quantity-control,
.buy-options-inline .product-attribute-select{border-width:1px}

/* iOS Safari: the menu paints its safe-area canvas in the same gray. */
@supports (-webkit-touch-callout:none){
  @media(max-width:750px){
    html:has(body.menu-open){background:#f1f1f1}
    body.menu-open{background:#f1f1f1;min-height:100dvh}
    body.menu-open .menu{background:#f1f1f1;min-height:100dvh;bottom:0}
    body.page-home:not(.menu-open){background:#d9d5cb}
    body.page-home:not(.menu-open) .hero{background:#d9d5cb}
  }
}

/* Final client review: compact filter pill with the same Gelion visual language. */
.filter-open{width:auto;min-width:0;height:39px;gap:7px;padding:0 13px;border-radius:999px;font-family:Gelion,Arial,sans-serif;font-size:13px;font-weight:300;line-height:1;box-shadow:0 3px 12px #00000012}
 .filter-open svg{width:19px;height:19px;stroke-width:1.5}
@media(max-width:750px){.filter-open{height:39px;min-width:0;padding:0 13px}}
.buy-copy strong{font-weight:500}

/* iOS viewport: keep Home at exactly the visible viewport, with no document scroll. */
@media(max-width:750px){
  html:has(body.page-home){overflow:hidden;overscroll-behavior:none;background:#d9d5cb}
  body.page-home{height:100dvh;min-height:0;overflow:hidden;overscroll-behavior:none}
  body.page-home .hero{height:100dvh;min-height:0;max-height:100dvh;overflow:hidden}
  body.page-home .hero__banners{touch-action:pan-x}
}
/* The full-screen navigation owns the viewport, not the scrollable document. */
html:has(body.menu-open){overflow:hidden;overscroll-behavior:none}
body.menu-open{overscroll-behavior:none}
body.menu-open .menu{position:fixed;inset:0;height:100dvh;min-height:0;max-height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:none}

/* Safari iPhone: extend the Home canvas beneath the collapsing bottom toolbar. */
@supports (-webkit-touch-callout:none){
  @media(max-width:750px){
    body.page-home{height:100dvh;min-height:0;overflow:hidden}
    body.page-home .hero{height:100dvh;min-height:0;max-height:100dvh;overflow:hidden}
  }
}

/* iOS Safari: suppress native video playback chrome in decorative Home banners. */
.hero__banner video::-webkit-media-controls,.hero__banner video::-webkit-media-controls-start-playback-button,.hero__banner video::-webkit-media-controls-overlay-play-button{display:none!important;-webkit-appearance:none}

/* Quantity stepper: match the medium weight used in short product copy. */
.buy-action-row .quantity-control button{font-weight:500;text-shadow:0 0 .6px currentColor}

/* Match the central quantity value to the commercial copy's medium visual weight. */
.buy-action-row .quantity-control input{font-weight:500;text-shadow:0 0 .6px currentColor}

/* Newsletter: scope text-input sizing; checkbox must never inherit the pill input layout. */
.site-footer .newsletter #newsletter-form{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;max-width:500px;margin-inline:auto}
.site-footer .newsletter #newsletter-form input[type="email"]{flex:1 1 240px;min-width:0;width:auto;height:41px;box-sizing:border-box;border:1px solid #b3b3b8;border-radius:30px;padding:10px 12px;background:transparent}
.site-footer .newsletter #newsletter-form button{flex:0 0 auto;min-height:41px}
.site-footer .newsletter #newsletter-form .newsletter-consent{display:flex!important;align-items:center;justify-content:center;flex:1 0 100%;width:100%;gap:7px;margin:0;font-size:12px;line-height:1.4;cursor:pointer}
.site-footer .newsletter #newsletter-form input[type="checkbox"]{appearance:auto;flex:0 0 14px!important;display:inline-block!important;width:14px!important;min-width:14px!important;height:14px!important;margin:0!important;padding:0!important;border-radius:2px!important;vertical-align:middle}
@media(max-width:600px){.site-footer .newsletter #newsletter-form input[type="email"]{flex:1 0 100%;width:100%}.site-footer .newsletter #newsletter-form button{margin-inline:auto}}

/* Return to administration: only rendered for authenticated administrators. */
.admin-return-link{position:fixed;right:14px;bottom:calc(18px + env(safe-area-inset-bottom, 0px));z-index:9000;display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border-radius:999px;background:#222;color:#fff;text-decoration:none;font:600 12px/1.2 Arial,sans-serif;box-shadow:0 3px 14px rgba(0,0,0,.23)}
.admin-return-link svg{width:16px;height:16px}
.admin-return-link:hover,.admin-return-link:focus-visible{background:#444;color:#fff}
@media(max-width:650px){.admin-return-link{right:12px;bottom:calc(12px + env(safe-area-inset-bottom, 0px));padding:11px}.admin-return-link span{display:none}.admin-return-link svg{width:20px;height:20px}}


/* Checkout: single responsive design system for billing, shipping and payment. */
.checkout-page .checkout-layout{grid-template-columns:minmax(0,1.45fr) minmax(280px,.95fr);gap:24px;align-items:start}
.checkout-page .checkout-contact,.checkout-page .checkout-summary{border:1px solid #e1e2e4;border-radius:5px;padding:26px;min-width:0}
.checkout-page .checkout-contact h2,.checkout-page .checkout-summary h2{font-size:21px;font-weight:600;line-height:1.3}
.checkout-page .checkout-contact .checkout-billing-title{margin:32px 0 15px;line-height:1.3}
.checkout-page .checkout-billing-fields{display:block}
.checkout-page .checkout-billing-fields>label{margin:18px 0 8px}
.checkout-page .checkout-billing-fields .address-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px;align-items:start}
.checkout-page .checkout-billing-fields .address-row>div{min-width:0}
.checkout-page .checkout-billing-fields .address-row input{width:100%;box-sizing:border-box}
.checkout-page .checkout-billing-fields select{appearance:none;-webkit-appearance:none;display:block;width:100%;min-width:0;height:46px;box-sizing:border-box;padding:10px 36px 10px 14px;border:1px solid #ccc;border-radius:6px;color:#666;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23777' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 12px center no-repeat;font:300 16px/1.3 Gelion,Arial,sans-serif}
.checkout-page .checkout-billing-fields select:focus-visible{outline:2px solid #888b90;outline-offset:1px}
.checkout-page .checkout-shipping-options,.checkout-page .checkout-payment-options{border:0;border-radius:0;margin:26px 0 14px;padding:0;min-width:0}
.checkout-page .checkout-shipping-options legend,.checkout-page .checkout-payment-options legend{font-size:21px;font-weight:600;padding:0;margin:0 0 12px}
.checkout-page .checkout-shipping-options label,.checkout-page .checkout-payment-options label{display:flex;align-items:center;min-width:0;min-height:54px;gap:12px;padding:13px 15px;margin:0;border:1px solid #d8d9db;border-radius:3px;box-sizing:border-box;font-size:16px;line-height:1.4;cursor:pointer;background:#fff}
.checkout-page .checkout-shipping-options label+label,.checkout-page .checkout-payment-options label+label{border-top:1px solid #d8d9db}
.checkout-page .checkout-shipping-options label:has(input:checked),.checkout-page .checkout-payment-options label:has(input:checked){position:relative;z-index:1;border-color:#898c90;outline:1px solid #898c90;outline-offset:-1px;background:#f5f5f5}
.checkout-page .checkout-shipping-options input[type=radio],.checkout-page .checkout-payment-options input[type=radio]{flex:0 0 17px;width:17px;height:17px;margin:0}
.checkout-page .checkout-choice-content{flex:1;display:flex;min-width:0;flex-direction:column;gap:7px}
.checkout-page .checkout-choice-name{min-width:0}
.checkout-page .checkout-choice-price{margin-left:auto;white-space:nowrap;flex:none;font-size:15px;font-weight:600}
.checkout-page .checkout-choice-description{font-size:13px;line-height:1.4;font-weight:300;white-space:normal;color:#686b70}
.checkout-page .checkout-choice:not(:has(input:checked)) .checkout-choice-description{display:none}
.checkout-page .checkout-contact .checkout-notes-toggle{display:flex;align-items:center;gap:10px;margin:22px 0 10px;font-size:15px;font-weight:400;line-height:1.4;cursor:pointer}
.checkout-page .checkout-contact .checkout-notes-toggle input[type=checkbox]{appearance:auto;display:inline-block;flex:0 0 17px;width:17px;height:17px;min-width:17px;min-height:17px;padding:0;margin:0;border-radius:3px;accent-color:#555}
.checkout-page .checkout-contact #checkout-notes-wrap{display:none;margin:12px 0}
.checkout-page .checkout-contact .checkout-notes-toggle:has(input:checked)+#checkout-notes-wrap{display:block}
.checkout-page #checkout-notes-wrap label{display:block;margin-bottom:8px}
.checkout-page #checkout-notes-wrap textarea{box-sizing:border-box}
.checkout-page .checkout-subtotal{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0;padding:16px 0;border-bottom:1px solid #e3e3e4;font-size:16px}
.checkout-page .checkout-discount-row,.checkout-page .checkout-total-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid #e3e3e4}
.checkout-page .checkout-discount-row[hidden]{display:none}
.checkout-page .checkout-discount-row{font-size:16px;color:#686b70}
.checkout-page .checkout-discount-row strong{font-weight:600;color:#4d5055;white-space:nowrap;font-size:19px}
.checkout-page .checkout-total-row{border:0;padding:20px 0;font-size:22px;font-weight:600;color:#515359}
.checkout-page .checkout-total-row strong{font-size:27px;font-weight:650;white-space:nowrap}
@media(max-width:800px){.checkout-page .checkout-layout{grid-template-columns:minmax(0,1fr);gap:18px}.checkout-page .checkout-contact,.checkout-page .checkout-summary{padding:20px}.checkout-page .checkout-total-row strong{font-size:24px}}
@media(max-width:480px){.checkout-page .checkout-billing-fields .address-row{gap:10px}.checkout-page .checkout-billing-fields select{font-size:14px;padding-right:28px}.checkout-page .checkout-shipping-options label,.checkout-page .checkout-payment-options label{font-size:15px}}

/* Checkout final hierarchy: form drives the action, summary is read-only. */
.checkout-page{padding-top:104px}
.checkout-page .checkout-submit-desktop{margin-top:22px}
.checkout-page .checkout-submit-desktop .checkout-submit{width:100%;border-radius:4px}
.checkout-page .checkout-summary .checkout-discount-row strong,.checkout-page .checkout-summary .checkout-subtotal strong{font-size:16px;font-weight:600}
.checkout-page .checkout-summary .checkout-total-row{font-size:17px;font-weight:600}
.checkout-page .checkout-summary .checkout-total-row strong{font-size:19px;font-weight:700}
.checkout-page #checkout-shipping[hidden]{display:none}
.checkout-page .checkout-mobile-bar{display:none}
@media(max-width:900px){
 .checkout-page{padding:88px 16px 116px}
 .checkout-page .checkout-layout{grid-template-columns:minmax(0,1fr);gap:12px}
 .checkout-page .checkout-contact,.checkout-page .checkout-summary{padding:12px 0;border:0;border-radius:0;box-shadow:none}
 .checkout-page .checkout-contact h2,.checkout-page .checkout-summary h2,
 .checkout-page .checkout-shipping-options legend,.checkout-page .checkout-payment-options legend{font-size:18px}
 .checkout-page .checkout-billing-title{font-size:18px!important}
 .checkout-page .checkout-shipping-options label,.checkout-page .checkout-payment-options label{font-size:14px;min-height:49px;padding:11px 12px}
 .checkout-page .checkout-contact>label,.checkout-page #delivery-address>label,.checkout-page .address-row label{font-size:14px}
 .checkout-page .checkout-submit-desktop{display:none}
 .checkout-page .checkout-summary .checkout-total-row{font-size:16px}
 .checkout-page .checkout-summary .checkout-total-row strong{font-size:18px}
 .checkout-page .checkout-mobile-bar{position:fixed;z-index:800;display:flex;align-items:center;gap:12px;bottom:0;left:0;right:0;padding:10px 16px max(10px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e4e4e5;box-shadow:0 -3px 16px #0000000d}
 .checkout-page .checkout-mobile-totals{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0;font-size:13px}
 .checkout-page .checkout-mobile-totals strong{font-size:19px;color:#444;font-weight:700}
 .checkout-page .checkout-mobile-totals span{color:#686b70;font-size:11px}
 .checkout-page .checkout-mobile-submit{flex:0 1 52%;width:auto;min-width:0;margin:0;padding:13px 10px;border-radius:4px;font-size:13px;white-space:normal}
}

/* Checkout spacing: keep content clear of the fixed header without excess footer gap. */
.page-checkout .checkout-page{padding-bottom:0}
@media(max-width:900px){
 .page-checkout .checkout-page{padding-top:118px;padding-bottom:0}
 .page-checkout .checkout-contact{padding-top:12px}
 .page-checkout .checkout-summary{border-top:1px solid #e4e4e5;margin-top:18px;padding-top:24px}
}

/* Checkout: keep shared header controls mounted for cart/search scripts, hide distractions visually. */
.page-checkout .header .socials,.page-checkout .header .desktop-search,.page-checkout .header .mobile-search{display:none!important}
.page-checkout .header{top:20px;left:20px;right:20px;height:55px;padding:10px 30px;border-radius:50px;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
@media(max-width:750px){.page-checkout .header{top:10px;left:10px;right:10px;padding:10px 20px}}

/* Mini carrito: áreas táctiles generosas y tienda visible detrás en móvil. */
.bag-dialog .bag-close,.bag-dialog .bag-remove{display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;min-width:42px;min-height:42px;padding:9px;border:0;border-radius:9px;background:#f3f3f4;cursor:pointer;text-decoration:none}
.bag-dialog .bag-close{font-size:27px;line-height:1}
.bag-dialog .bag-remove svg{display:block;width:19px;height:19px;flex:none}
.bag-dialog .bag-close:hover,.bag-dialog .bag-remove:hover{background:#e5e5e7}
.bag-dialog .bag-close:focus-visible,.bag-dialog .bag-remove:focus-visible{outline:2px solid #8a8c91;outline-offset:2px}
@media(max-width:750px){.bag-dialog{width:min(430px,calc(100% - 44px));max-width:calc(100% - 44px)}}

/* Smaller remove surface; retain the existing 19px trash icon and close control. */
.bag-dialog .bag-remove{flex-basis:36px;width:36px;height:36px;min-width:36px;min-height:36px;padding:6px}

/* Compact mini-cart quantity control without reducing button legibility. */
.bag-row .quantity-control{height:38px}
.bag-row .quantity-control button{width:28px}
.bag-row .quantity-control input{width:27px;min-width:27px;padding-inline:0}

/* Checkout: one primary purchase action and descriptions only for chosen payment. */
.checkout-page .checkout-submit-desktop .checkout-submit{min-height:52px;border-radius:30px}
.checkout-page .checkout-mobile-submit{min-height:52px;border-radius:30px;font-weight:600}
.checkout-page .checkout-payment-option:not(:has(input:checked)) .checkout-choice-description{display:none}

/* Checkout only: keep the two existing actions visually consistent without changing behavior. */
.page-checkout #bag-footer .shop-primary,
.page-checkout #confirm-order,
.page-checkout #checkout-mobile-submit{box-sizing:border-box;min-height:52px;border-radius:999px;font-size:16px;font-weight:400;line-height:1.2;padding:12px 14px}

/* Checkout only: the navigation overlay must cover the fixed order bar immediately. */
body.page-checkout #main-menu{z-index:1001}

/* Fade the cart scrim with the drawer instead of flashing it on showModal(). */
.bag-dialog::backdrop{opacity:0;transition:opacity .24s ease-in-out}
.bag-dialog.is-open::backdrop{opacity:1}
@media(prefers-reduced-motion:reduce){.bag-dialog::backdrop{transition:none}}

/* Checkout mobile: the in-form confirmation is available; the floating copy yields to it. */
@media(max-width:900px){
 .page-checkout .checkout-submit-desktop{display:block}
 .page-checkout .checkout-mobile-bar{transition:opacity .16s ease,visibility .16s ease}
 .page-checkout .checkout-mobile-bar.is-near-confirmation{opacity:0;visibility:hidden;pointer-events:none}
}
@media(prefers-reduced-motion:reduce){.page-checkout .checkout-mobile-bar{transition:none}}

/* Keep the underlying page its normal color while the menu fades in. */
html:has(body.menu-open:not(.page-home)),
body.menu-open:not(.page-home){background:#fff}
/* Ensure the full-screen menu and its fade sit above fixed content everywhere. */
body #main-menu{z-index:1001}

/* Mobile final confirmation lives after the summary; desktop action stays in its original position. */
.checkout-page .checkout-layout>.checkout-submit-bottom{display:none}
@media(max-width:900px){.checkout-page .checkout-submit-desktop{display:none}.checkout-page .checkout-layout>.checkout-submit-bottom{display:block;grid-column:1;grid-row:auto;margin-top:14px}.checkout-page #checkout-bottom-submit{min-height:52px;border-radius:999px;font-size:16px;font-weight:400;line-height:1.2;padding:12px 14px}}

/* Checkout only: let the bottom confirmation be fully reachable above the phone safe area. */
@media(max-width:900px){.page-checkout .checkout-page{padding-bottom:max(24px,env(safe-area-inset-bottom))}}

/* Checkout selectors: separate descriptions, with breathing room between options. */
.checkout-page .checkout-shipping-options .checkout-selector-item,
.checkout-page .checkout-payment-options .checkout-selector-item{margin:0 0 12px}
.checkout-page .checkout-shipping-options .checkout-selector-item:last-child,
.checkout-page .checkout-payment-options .checkout-selector-item:last-child{margin-bottom:0}
.checkout-page .checkout-selector-item>.checkout-choice-description{display:none;margin:9px 14px 4px;padding:0;font-size:13px;line-height:1.5;color:#686b70;white-space:normal}
.checkout-page .checkout-selector-item:has(input:checked)>.checkout-choice-description{display:block}
