/* GOMERON: responsive catalogue, focused purchasing and accessible controls. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
body:has(dialog[open]){overflow:hidden}
button,select,a,summary{touch-action:manipulation}
.page-heading{font-family:Arial,Helvetica,sans-serif;font-size:clamp(36px,4vw,54px);font-weight:400;line-height:1.1;letter-spacing:-2px;margin:0;color:#e3ece4}
.page-heading:focus,.hero h1:focus{outline:none}
.roots-copy .page-heading{font-size:clamp(40px,4.4vw,62px);margin:22px 0 28px}
.page-heading em{font-family:Georgia,serif;color:#b4cab8}
.section-title>div>p:not(.overline){max-width:640px;line-height:1.6}
.hero-image{padding:0;border:0;text-align:left;cursor:pointer;color:#dce8dd}
.hero-image>img{inset:0;transition:transform .5s}
.hero-image:hover>img{transform:scale(1.015)}
.hero-image:focus-visible{outline:2px solid #b4d7b9;outline-offset:-6px}
.hero-product-caption{position:absolute;left:14%;right:8%;bottom:5%;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:20px;font:15px Arial,sans-serif;letter-spacing:.01em}
.hero-product-caption>span:last-child{padding:12px 0;border-bottom:1px solid #c3d6c54d;color:#c2d6c5}
.shop-how{margin-bottom:18px}
.shop-how summary{font-size:15px;min-height:44px;padding-block:12px}
.shop-how p{font-size:16px}
.product-card{display:flex;flex-direction:column;min-width:0}
.product-card>.carousel{flex:none}
.product-card .product-meta{padding-top:16px}
.product-card .product-meta h3{line-height:1.25}
.product-card>p{font-size:16px;line-height:1.5;margin-top:8px}
.product-card .card-bottom{margin-top:auto;padding-top:8px;padding-bottom:10px}
.card-choose{min-height:44px;font-size:15px!important}
.carousel-track:focus-visible{outline:2px solid #b4d7b9;outline-offset:-3px}
.catalog .product-grid:has(>.product-card:only-child){grid-template-columns:minmax(0,440px);max-width:none;justify-content:center}
.catalog .product-grid:has(>.product-card:nth-child(2):last-child){margin-inline:auto}
.other-offers{margin-top:44px;border-top:1px solid #ffffff18;border-bottom:1px solid #ffffff18}
.other-offers>summary{font-size:17px;cursor:pointer;min-height:56px;padding:18px 0;color:#c1d3c5}
.other-offers[open] .offers-grid{margin:12px 0 28px}
.outfit-actions{justify-content:space-between;align-items:center;gap:20px}
.outfit-total{margin:0;font-size:20px}
.outfit-total strong{font-weight:500;font-size:25px}
.outfit-actions>.button{justify-content:space-between;font-size:17px;min-width:230px}
.bag-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(460px,100vw);height:100dvh;max-height:100dvh;padding:0;gap:0;overflow:hidden}
.bag-dialog .drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 24px;border-bottom:1px solid #ffffff18}
.bag-dialog .drawer-heading h2{font-size:29px;line-height:1.2;margin:0;letter-spacing:-1px}
.bag-dialog .drawer-heading .close{position:static;float:none;margin:0;min-width:44px;width:44px;height:44px;min-height:44px;padding:0}
#bag-items{overflow:auto;overscroll-behavior:contain;min-height:0;padding:0 24px}
.bag-item{grid-template-columns:62px minmax(0,1fr);gap:14px;padding:20px 0}
.bag-item img{width:62px;height:82px;object-fit:contain;border-radius:10px;background:#101a15}
.bag-item h3{font-size:17px;line-height:1.3}
.bag-item p{font-size:14px;line-height:1.45}
.quantity{gap:9px;flex-wrap:wrap}
.quantity button{min-height:44px;min-width:44px}
.quantity button:disabled{opacity:.35;cursor:default}
.quantity>span,.quantity .remove{font-size:15px}
#bag-summary{padding:16px 24px calc(12px + env(safe-area-inset-bottom,0px));background:#15251c;border-top:1px solid #ffffff18;max-height:56dvh;overflow:auto;overscroll-behavior:contain}
.offer-breakdown{margin:0;padding:0 0 10px;font-size:14px}
.offer-breakdown .before-offers{margin:0 0 10px;color:#a7b9ac;font-size:14px}
.discount-row{display:flex;align-items:start;justify-content:space-between;gap:14px;margin:10px 0;line-height:1.35}
.discount-row>span{min-width:0}
.discount-row small{display:block;font-size:12px;line-height:1.4;color:#9bb1a2;margin-top:4px}
.discount-row strong{font-weight:500;flex:none}
.total-saving{margin:10px 0 0;color:#c4ddca}
.bag-total{padding:13px 0 8px;align-items:center;font-size:17px}
.bag-total strong{font-size:25px;letter-spacing:-.5px;font-weight:500}
#bag-summary>.small-note{font-size:13px!important;line-height:1.45;margin:2px 0 10px}
#bag-summary .button{display:flex;align-items:center;justify-content:center;min-height:50px;margin:8px 0 0;font-size:16px;background:#ffffff0c;border-color:#cbdccb3b}
.bag-continue{display:block;width:100%;min-height:44px;background:none;color:#a9c1b1;font-size:14px;padding:10px}
.empty-bag{padding:35px 0;font-size:17px;line-height:1.7;color:#b7cbbd}
#toast{display:flex;align-items:center;gap:16px;width:max-content;max-width:calc(100vw - 32px);padding:10px 18px;font-size:15px;line-height:1.4;bottom:max(18px,env(safe-area-inset-bottom,0px));border-radius:22px}
#toast.visible{pointer-events:auto}
#toast button{background:none;border-bottom:1px solid #d7ead957;color:#e5f1e7;min-height:44px;font-size:14px;white-space:nowrap;padding:4px 0}
@media(max-width:1000px){.hero-product-caption{font-size:14px}.product-card>p{font-size:15px}}
@media(max-width:700px){
 .page-heading{font-size:34px;line-height:1.12}
 .roots-copy .page-heading{font-size:42px}
 .hero-product-caption{left:8%;right:8%;bottom:4%;font-size:14px}
 .section-title{margin-bottom:22px}
 .section-title>div>p:not(.overline){font-size:16px}
 .product-grid{gap:24px 12px}
 .catalog .product-grid:has(>.product-card:only-child){grid-template-columns:minmax(0,360px)}
 .look-grid{gap:24px}
 #outfit-pieces article>img{height:220px}
 #outfit-pieces h3{font-size:22px;margin:18px 0 16px}
 #outfit-pieces .field{margin:12px 0;font-size:16px}
 .outfit-actions{gap:16px;margin-top:24px}
 .outfit-actions>.button{width:100%;min-width:0}
 .other-offers{margin-top:30px}
 .bag-dialog[open]{width:min(420px,100vw);border-radius:20px 0 0 20px}
 .bag-dialog .drawer-heading{padding:16px 18px}
 #bag-items{padding:0 18px}
 #bag-summary{padding-inline:18px}
 #toast{font-size:14px;gap:12px;padding:8px 14px}
}
@media(min-width:360px) and (max-width:700px){
 .catalog .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .product-card .carousel-visual{grid-template-rows:minmax(0,1fr) 88px;aspect-ratio:2/3;border-radius:15px}
 .product-card .carousel-stage{padding-inline:24px}
 .product-card .carousel-stage>.slide-arrow{padding:0}
 .product-card .carousel-stage>.slide-arrow>span{width:24px;height:28px;border-radius:14px;font-size:18px}
 .product-card .carousel-visual .carousel-controls{padding:0 10px}
 .product-card .carousel-visual .color-select select{font-size:16px;letter-spacing:-.35px;padding:8px 0;border-radius:8px}
 .product-card .carousel-visual .single-variant{padding:0 10px}
 .product-card .carousel-visual .single-color{font-size:16px}
 .product-card .product-meta h3{font-size:18px;min-height:45px;margin-bottom:5px;letter-spacing:-.2px}
 .product-card .product-price{font-size:17px}
 .product-card>p{display:none}
 .product-card .card-bottom{justify-content:flex-start;padding:6px 0 0}
 .card-choose{font-size:14px!important;min-height:44px}
 .locked-preview{aspect-ratio:2/3;border-radius:15px}
 .lock-badge{width:50px;height:50px}
 .lock-badge svg{width:19px;height:25px}
 .locked-state{font-size:12px;top:calc(50% + 38px);inset-inline:6px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.logo{min-height:48px}
