.product-gallery{min-width:0;background:transparent}
.product-carousel{position:relative;overflow:hidden;background:var(--paper)}
.product-carousel__viewport{position:relative;display:grid;place-items:center;min-height:34rem}
.product-carousel__slide{grid-area:1/1;width:100%;margin:0}
.product-carousel__slide[hidden]{display:none}
.product-gallery__image{width:auto;max-width:100%;height:auto;max-height:760px;margin-inline:auto;object-fit:contain;background:var(--paper)}
.product-carousel__arrow{position:absolute;z-index:2;top:50%;display:grid;width:44px;height:44px;padding:0;place-items:center;transform:translateY(-50%);border:1px solid rgba(5,5,5,.22);border-radius:50%;background:rgba(245,244,239,.9);color:var(--ink);font-size:1.2rem;cursor:pointer;backdrop-filter:blur(8px)}
.product-carousel__arrow:hover,.product-carousel__arrow:focus-visible{border-color:var(--red);background:var(--red);color:var(--white)}
.product-carousel__arrow[hidden]{display:none}
.product-carousel__arrow--prev{left:1rem}
.product-carousel__arrow--next{right:1rem}
.product-carousel__count{position:absolute;right:1rem;bottom:.75rem;margin:0;padding:.45rem .65rem;background:rgba(5,5,5,.78);font-size:.65rem;letter-spacing:.12em}
.product-carousel__thumbs{display:flex;gap:.65rem;margin-top:.8rem;padding-bottom:.25rem;overflow-x:auto;scrollbar-width:thin}
.product-carousel__thumb{flex:0 0 74px;width:74px;height:88px;padding:3px;overflow:hidden;border:1px solid var(--line);background:#191919;cursor:pointer}
.product-carousel__thumb[hidden]{display:none}
.product-carousel__thumb.is-active{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}
.product-carousel__thumb img{width:100%;height:100%;object-fit:cover}
.product-info{min-width:0}
.product-info .eyebrow{margin-bottom:.75rem}
.main-product .product-info h1{margin:.2rem 0 .75rem;font-size:clamp(3rem,4.3vw,5.5rem);line-height:.88;overflow-wrap:anywhere}
.product-price{margin:0 0 1.5rem;font-size:1.25rem}
.product-intro{margin:0 0 1.5rem;max-width:36rem;font-size:1.05rem;line-height:1.55}
.product-options{display:grid;gap:1.35rem;margin-bottom:1.5rem}
.variant-option{min-width:0;margin:0;padding:0;border:0}
.variant-option legend{display:flex;gap:.5rem;margin-bottom:.7rem;text-transform:uppercase;font-size:.68rem;letter-spacing:.16em}
.variant-option legend span{color:#8e8e8e}
.variant-option__values{display:flex;flex-wrap:wrap;gap:.55rem}
.variant-option__button{display:inline-flex;min-height:42px;padding:.6rem .8rem;align-items:center;gap:.55rem;border:1px solid var(--line);background:#111;color:var(--white);font-size:.7rem;line-height:1;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}
.variant-option__button:hover,.variant-option__button:focus-visible{border-color:rgba(255,255,255,.65)}
.variant-option__button.is-selected{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}
.variant-option__button[disabled]{cursor:not-allowed;opacity:.3;text-decoration:line-through}
.variant-option__swatch{width:18px;height:18px;flex:0 0 18px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:var(--swatch-color)}
.variant-option--size .variant-option__button{min-width:48px;justify-content:center}
.product-form__variant-select{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
.product-form__status{min-height:1.1rem;margin:0 0 .6rem;color:#a5a5a5;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}
.product-form__submit{width:100%}
.product-form__submit[disabled]{cursor:not-allowed;opacity:.5}
.product-promises{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin:1rem 0 2rem;padding:0;list-style:none;color:#a5a5a5;font-size:.66rem;line-height:1.4;text-transform:uppercase;letter-spacing:.08em}
.product-promises li{padding:.8rem .65rem;border:1px solid var(--line)}
.product-description{margin:0 0 1.5rem}
.product-details{border-top:1px solid var(--line)}
.product-details details{border-bottom:1px solid var(--line)}
.product-details summary{position:relative;cursor:pointer;padding:1.2rem 2rem 1.2rem 0;text-transform:uppercase;font-size:.75rem;letter-spacing:.13em;list-style:none}
.product-details summary::-webkit-details-marker{display:none}
.product-details summary:after{position:absolute;right:.25rem;content:'+'}
.product-details details[open] summary:after{content:'−'}
.product-details details .rte{padding:0 0 1.25rem;color:#b9b9b9;font-size:.9rem}
.product-details details .rte p{margin:0}
@media(max-width:800px){.main-product{padding-top:1rem}.product-layout{gap:2rem}.product-carousel__viewport{min-height:0}.product-gallery__image{max-height:70vh}.product-carousel__arrow{width:40px;height:40px}.product-carousel__thumb{flex-basis:62px;width:62px;height:74px}.main-product .product-info h1{font-size:clamp(2.4rem,12vw,3.25rem);line-height:.9;overflow-wrap:normal;word-break:normal}.product-promises{grid-template-columns:1fr}.product-form__submit{min-height:58px}}

.product-card__media{position:relative}
.product-badge{position:absolute;z-index:3;top:.8rem;left:.8rem;display:inline-flex;margin:0;padding:.48rem .65rem;border:1px solid var(--red);background:var(--red);color:var(--white);font-size:.62rem;line-height:1;text-transform:uppercase;letter-spacing:.13em}
.product-badge--inline{position:static;margin:0 0 .8rem;width:max-content}
.product-fulfillment-note{margin:1rem 0 0;padding:.85rem 1rem;border-left:3px solid var(--red);background:#111;color:#b9b9b9;font-size:.78rem;line-height:1.5}
.product-recommendations{padding-block:5rem 7rem}
.product-recommendations:empty{display:none}
.product-recommendations__head{margin-bottom:2rem}
.product-recommendations .section-title{font-size:clamp(2.8rem,6vw,6rem)}
.product-grid--recommendations{grid-template-columns:repeat(3,minmax(0,1fr))}
.product-recommendations__shipping{max-width:44rem;margin:1.5rem 0 0;color:#8e8e8e;font-size:.72rem;line-height:1.5;text-transform:uppercase;letter-spacing:.08em}
.product-sticky-cart{display:none}

@media(max-width:800px){
  .product-badge{top:.6rem;left:.6rem}
  .product-grid--recommendations{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-sticky-cart{position:fixed;z-index:45;right:0;bottom:0;left:0;display:flex;align-items:center;gap:.75rem;padding:.65rem max(1rem,env(safe-area-inset-right)) calc(.65rem + env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));transform:translateY(110%);border-top:1px solid var(--line);background:rgba(5,5,5,.96);box-shadow:0 -1rem 2.5rem rgba(0,0,0,.28);transition:transform .22s ease;backdrop-filter:blur(14px)}
  .product-sticky-cart.is-visible{transform:translateY(0)}
  .product-sticky-cart__details{display:grid;min-width:0;flex:1;gap:.2rem;font-size:.64rem;text-transform:uppercase;letter-spacing:.08em}
  .product-sticky-cart__details span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .product-sticky-cart__details span:last-child{color:#a5a5a5}
  .product-sticky-cart__button{min-height:46px;padding-inline:1rem;white-space:nowrap}
  body.has-visible-sticky-cart{padding-bottom:78px}
}

@media(max-width:520px){.product-grid--recommendations{grid-template-columns:1fr}}

@media(prefers-reduced-motion:reduce){.product-sticky-cart{transition:none}}
