/* Shared geometry for every page, including fixed navigation and dialogs. */
:root{--app-max:650px;--page-pad:17px}
#app{width:100%;max-width:var(--app-max)}
#view{--view-inset:var(--page-pad);padding-left:var(--page-pad);padding-right:var(--page-pad);min-width:0}
.site-header,.search-bar,.store-tools{padding-left:max(var(--page-pad),env(safe-area-inset-left));padding-right:max(var(--page-pad),env(safe-area-inset-right))}
.bottom-nav{max-width:var(--app-max);width:100%;left:max(0px,calc((100% - var(--app-max))/2));transform:none;padding-left:max(4px,env(safe-area-inset-left));padding-right:max(4px,env(safe-area-inset-right))}
.drawer{left:max(0px,calc((100% - var(--app-max))/2));width:min(88vw,360px);padding-left:max(21px,env(safe-area-inset-left))}
.detail-swipe-edge{left:max(0px,calc((100% - var(--app-max))/2))}
.back-to-top{right:max(var(--page-pad),calc((100% - var(--app-max))/2 + var(--page-pad)))}
.detail-layout,.detail-media,.detail-info{min-width:0}
.grid .product,.cart-info,.direct-purchase-summary>div{min-width:0}
.card-price-row{flex-wrap:wrap;row-gap:4px}.card-price-row .price{flex:1 1 auto}
.product-description,.inline-notice,.currency-note,.product-dialog p,.faq-list p,.support-card p{overflow-wrap:anywhere}
h1{font-size:clamp(28px,6.7vw,36px)}
.product-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.product-actions .pink{min-width:0;white-space:normal}
.banner-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.banner-actions .pink{text-align:center;white-space:normal}
.total{gap:16px;flex-wrap:wrap}.total span:last-child{margin-left:auto;overflow-wrap:anywhere}
.cartrow{align-items:flex-start}.quantity{flex-wrap:wrap}.cart-info>b{line-height:1.5}
.direct-purchase-summary{flex-wrap:wrap}.direct-purchase-summary>div:last-child{flex:1 1 140px}
.field{min-width:0;font-size:16px}
.product-dialog{width:min(440px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:28px clamp(16px,4vw,24px) 24px;overflow:auto;overscroll-behavior:contain}
.photo-viewer{width:min(960px,calc(100% - 20px));max-width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:12px;overscroll-behavior:contain}
.viewer-toolbar{flex-wrap:wrap;align-items:center}.viewer-toolbar>span{min-width:0;max-width:none;flex:1 1 120px;font-size:clamp(18px,3vw,23px)}
.viewer-toolbar button{flex:none;min-width:36px}
.photo-viewer .gallery-main{height:clamp(140px,calc(100dvh - 230px),680px)}
.photo-viewer .gallery-thumbs{width:100%;max-width:470px}.photo-viewer .gallery-thumb{flex-basis:calc((100% - 32px)/5)}
#toast{max-width:calc(100% - 28px);white-space:normal;text-align:center;overflow-wrap:anywhere}
.center-empty>#view{padding:24px var(--page-pad)}
@media(max-width:359px){
 :root{--page-pad:13px}
 .logo{font-size:25px}.site-header .icon-button{width:40px;height:40px}
 .product-actions{grid-template-columns:1fr}.product-actions .pink{font-size:12px}
 .cart-photo{width:64px;height:86px}.cartrow{gap:8px}.cart-choice{min-width:24px;width:24px;margin-top:26px}
 .quantity{gap:4px}.quantity button{width:30px;height:32px}.quantity span{min-width:17px}
 .product-dialog h2{font-size:25px}.photo-viewer .viewer-toolbar>span{flex-basis:100%}
 .detail-heart{max-width:52px;max-height:52px}.detail-heart .svg-icon{width:29px;height:29px}
 .money-stamp,.money-stamp img{width:110px;height:110px}
}
@media(min-width:500px){:root{--page-pad:24px}}
@media(min-width:760px){
 :root{--app-max:820px}
 .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .banner-actions{max-width:620px;margin-left:auto;margin-right:auto}
 .site-header .logo{font-size:34px}
 .bottom-nav .nav-label{font-size:11px}
}
@media(min-width:1100px){
 :root{--app-max:1040px;--page-pad:28px}
 .grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .detail-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:start;gap:32px}
 .detail-info .product-title-row{margin-top:0}
 .detail-media .product-gallery{margin-bottom:0}
 .detail-info h1{font-size:36px}
 .hero{padding-left:48px;padding-right:48px}
 .help-steps,.faq-list,.support-card{max-width:760px;margin-left:auto;margin-right:auto}
}
@media(max-height:500px) and (orientation:landscape){
 :root{--bar-height:66px}
 .site-header{min-height:54px;padding-top:4px;padding-bottom:4px}
 .bottom-nav{min-height:calc(66px + env(safe-area-inset-bottom));padding-top:3px;padding-bottom:calc(3px + env(safe-area-inset-bottom))}
 .bottom-nav button{min-height:54px}.nav-icon{height:32px}.nav-icon .svg-icon{width:25px;height:25px}
 .search-bar{padding-top:8px}.store-tools{padding-top:8px}
 .drawer{padding-top:12px}.drawer-footer{padding-top:18px}
 .product-dialog{padding-top:24px}.product-dialog .modal-symbol{width:40px;height:40px;margin-bottom:10px}
 .photo-viewer .gallery-main{height:max(130px,calc(100dvh - 150px))}.photo-viewer .gallery-thumb{max-height:44px}
 .center-empty>#view{min-height:160px;padding-top:16px;padding-bottom:16px}
 .center-empty .empty-symbol{width:44px;height:44px;margin-bottom:10px}.center-empty .empty-symbol .svg-icon{width:25px;height:25px}
 .center-empty .empty-state h2{font-size:22px}.center-empty .empty-state p{margin-top:8px}
 .back-to-top{bottom:calc(74px + env(safe-area-inset-bottom))}
}
/* Keep the edge gesture clear of size and purchase controls. */
.detail-swipe-edge{width:16px}
.sold-label{font-size:clamp(20px,4vw,36px)}
.product-image{container-type:inline-size}
@supports(font-size:1cqw){.sold-label{font-size:clamp(18px,17cqw,42px)}}
@media(min-width:700px) and (max-height:500px){
 .detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
 .detail-info .product-title-row{margin-top:0}.detail-info h1{font-size:28px}
 .detail-media .product-gallery{margin-bottom:0}
}
html{scroll-padding-top:calc(80px + var(--tg-safe-top,0px));scroll-padding-bottom:calc(var(--bar-height) + env(safe-area-inset-bottom) + 24px)}
.field,.search-field input{scroll-margin-block:90px calc(var(--bar-height) + 24px)}
h1{font-size:clamp(28px,9vw,36px)}
@media(min-width:760px){.store-tools.detail-tools{grid-template-columns:minmax(0,400px) auto;justify-content:space-between}}
#view[data-page="checkout"],#view[data-page="success"],#view[data-page="help"],#view[data-page="faq"],#view[data-page="cart"]{width:100%;max-width:760px;margin-inline:auto}
.feedback-dialog h2{padding-right:16px}.feedback-dialog textarea{display:block;resize:vertical;min-height:110px;max-height:35dvh;font-family:Inter,Arial,sans-serif;line-height:1.5}
.feedback-dialog .feedback-privacy{font-size:11px}.feedback-submit{font-family:B4BDisplay,'Arial Narrow',Arial,sans-serif;font-size:20px;text-transform:uppercase}
.banner-dots{background:none;gap:2px;padding:0;height:24px;bottom:10px;max-width:calc(100% - 24px)}
.banner-dot{width:14px;height:24px;transition:width .25s;flex-shrink:1;min-width:8px}
.banner-dot span{position:relative;width:3px;height:3px;overflow:hidden;background:#d0bdc79c;transition:width .25s,height .25s;border-radius:20px}
.banner-dot.selected{width:34px;min-width:26px}.banner-dot.selected span{width:26px;height:3px;background:#d0bdc74d;transform:none}
.banner-dot i{position:absolute;inset:0;background:var(--pink);transform:scaleX(0);transform-origin:left center}
/* Glass surfaces: translucent depth, bright curved rims and soft reflected light. */
.site-header,.bottom-nav{isolation:isolate;background:linear-gradient(120deg,#ffffff10,transparent 42%,#ffafd00b),#1b121c9c;backdrop-filter:blur(28px) saturate(185%) contrast(1.04);-webkit-backdrop-filter:blur(28px) saturate(185%) contrast(1.04);border-color:#ffe6f033;box-shadow:inset 0 1px 0 #ffffff46,inset 1px 0 0 #ffffff16,inset -1px 0 0 #ffffff10,inset 0 -1px 0 #ffffff0e,0 7px 22px #0003}
.site-header>*,.bottom-nav>button{position:relative;z-index:1}
.site-header::before,.bottom-nav::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;background:linear-gradient(105deg,#ffffff12,transparent 24%,transparent 70%,#ffd2e90b);box-shadow:inset 0 0 14px #ffffff05}
.site-header::after,.bottom-nav::after{z-index:0;background:linear-gradient(180deg,#ffffff0b,transparent 32%,#0000000b);border-radius:inherit}
.bottom-nav{box-shadow:inset 0 1px 0 #ffffff65,inset 1px 0 0 #ffffff24,inset -1px 0 0 #ffffff18,0 -6px 22px #0003}
.currency-options{background:linear-gradient(145deg,#ffffff12,transparent 50%),#251a258c;backdrop-filter:blur(20px) saturate(170%);-webkit-backdrop-filter:blur(20px) saturate(170%);box-shadow:inset 0 1px 0 #ffffff25,inset 0 -1px 1px #0005,0 4px 10px #0004}
.currency-lens-surface{background:radial-gradient(ellipse at 25% 0%,#ffffff39,transparent 60%),linear-gradient(155deg,#ffffff29,#ffa8d52e 48%,#ffffff0e 70%,#ffd5eb21),#ff4fa018;backdrop-filter:blur(16px) saturate(210%);-webkit-backdrop-filter:blur(16px) saturate(210%);box-shadow:inset 0 1.5px 0 #ffffff9c,inset 1.5px 0 1px #ffffff45,inset -1px 0 1px #ffffff2b,inset 0 -1px 1px #ffb7d993,0 2px 7px #0005}
.currency-lens-surface::before{content:"";position:absolute;inset:2px;border-radius:9px;pointer-events:none;box-shadow:inset 0 0 4px #ffffff12,inset 0 -3px 5px #ffa3ce12}
.currency-lens-surface::after{top:2px;left:16%;width:64%;height:3px;background:linear-gradient(90deg,transparent,#ffffffa3,transparent);filter:blur(.6px)}
.faq-list details[open] summary .svg-icon{stroke-width:2.1}
@supports not (backdrop-filter:blur(1px)){.site-header,.bottom-nav{background:#211822f5}.currency-options{background:#291c27}.currency-lens-surface{background:#70435b}}
/* One bold, rounded icon family and one display face for action buttons. */
.svg-icon{stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.svg-icon path,.svg-icon circle,.svg-icon rect,.svg-icon polyline{stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.svg-icon path[stroke-width="2.8"]{stroke-width:2.8}
.pink,.banner-actions .pink,.product-actions .pink,.product-dialog .wide{font-family:B4BDisplay,'Arial Narrow',Arial,sans-serif;font-size:clamp(18px,4.6vw,21px);font-weight:700;line-height:1.25;text-transform:uppercase;letter-spacing:.15px}
.product-actions .pink{padding:12px 8px;gap:7px}.product-actions .pink .svg-icon{width:21px;height:21px}
.gallery-pagination{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);z-index:5;display:flex;justify-content:center;align-items:center;padding:0 6px;background:#120c13a3;backdrop-filter:blur(10px);border-radius:20px;max-width:calc(100% - 110px)}
.gallery-pagination .gallery-dot{width:clamp(12px,3vw,24px);min-width:10px;height:28px;flex-shrink:1}
.viewer-toolbar .svg-icon{width:21px;height:21px}
#sizeHelpDialog h2{padding-right:16px}
@media(max-width:359px){.banner-actions .pink{font-size:16px}}
