/* BTB standalone Storefront: focused retail polish, preserves merchant themes and checkout. */
.storefront-public .btb-store-page{max-width:1240px;padding-top:12px}
.storefront-public .btb-store-shopbar{gap:14px;padding:14px 2px 19px}
.storefront-public .btb-store-brandmark strong{font-size:clamp(1.02rem,2vw,1.2rem);letter-spacing:-.015em}
.storefront-public .btb-store-announcement{font-size:.81rem;letter-spacing:.025em;padding:9px 16px}
.storefront-public .btb-store-hero,
.storefront-public .btb-store-catalog,
.storefront-public .btb-store-detail{border-color:rgba(21,32,48,.09);box-shadow:0 12px 36px rgba(17,24,39,.045);overflow:hidden}
.storefront-public .btb-store-merchant-hero{border-radius:inherit}
.storefront-public .btb-store-hero-content h1{line-height:1.02;letter-spacing:-.045em}
.storefront-public .btb-store-catalog{padding:clamp(19px,3vw,32px)}
.storefront-public .btb-store-catalog-head h2{font-size:clamp(1.65rem,3vw,2.65rem);letter-spacing:-.03em}
.storefront-public .btb-store-grid{gap:clamp(10px,1.6vw,18px)}
.storefront-public .btb-store-card{border-radius:17px;box-shadow:0 4px 18px rgba(17,24,39,.035);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.storefront-public .btb-store-card-copy{padding:clamp(10px,1.3vw,15px);gap:6px;align-content:start}
.storefront-public .btb-store-card-title{font-weight:750;line-height:1.34;overflow-wrap:anywhere}
.storefront-public .btb-store-card-price strong{font-size:1.03rem}
.storefront-public .btb-store-card-action{align-self:end}
.storefront-public .btb-store-collections button{border-radius:12px}
.storefront-public .btb-store-button{font-weight:800;border-radius:12px}
.storefront-public .btb-store-merchant-footer{border-color:rgba(21,32,48,.09)}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
 .storefront-public .btb-store-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(17,24,39,.09)}
}
@media(max-width:680px){
 .storefront-public .btb-store-page{width:calc(100% - 18px);padding-top:7px}
 .storefront-public .btb-store-shopbar{padding:11px 1px 14px}
 .storefront-public .btb-store-shopbar-actions{gap:10px}
 .storefront-public .btb-store-hero-content h1{line-height:1.06}
 .storefront-public .btb-store-catalog{padding:14px}
 .storefront-public .btb-store-grid{gap:9px}
 .storefront-public .btb-store-card{border-radius:13px}
 .storefront-public .btb-store-card-copy{padding:10px;gap:5px}
 .storefront-public .btb-store-card-title{font-size:.83rem;line-height:1.32}
 .storefront-public .btb-store-card-collection{font-size:.63rem}
 .storefront-public .btb-store-card-price strong{font-size:.89rem}
 .storefront-public .btb-store-card-action{font-size:.73rem}
}


/* Phone-first public storefront: shop sooner, scroll less, preserve purchase notices. */
@media (max-width:680px) {
  .storefront-public .btb-store-page { width:calc(100% - 16px);padding:5px 0 32px; }
  .storefront-public .btb-store-shopbar { gap:7px;padding:8px 1px 10px; }
  .storefront-public .btb-store-brandmark strong { font-size:.97rem;line-height:1.2; }
  .storefront-public .btb-store-announcement { padding:7px 12px;font-size:.73rem; }
  .storefront-public .btb-store-merchant-hero,
  .storefront-public .btb-store-hero-size-large .btb-store-merchant-hero,
  .storefront-public .btb-store-hero-size-compact .btb-store-merchant-hero {
    width:100%;min-height:0;max-height:none;margin:3px auto 10px;
    padding:23px 17px;border-radius:17px;
  }
  .storefront-public .btb-store-hero-content h1 { font-size:clamp(1.9rem,8vw,2.65rem);line-height:1.02;max-width:22ch;margin:2px 0 8px; }
  .storefront-public .btb-store-hero-content p { font-size:.86rem;line-height:1.4;margin-bottom:12px; }
  .storefront-public .btb-store-hero .btb-store-button { min-height:38px;padding:9px 14px; }
  .storefront-public .btb-store-hero-showcase { display:none; }
  .storefront-public .btb-store-catalog { padding:15px 10px;border-radius:17px; }
  .storefront-public .btb-store-catalog-head { gap:10px;margin-bottom:10px; }
  .storefront-public .btb-store-catalog-head h2 { font-size:1.55rem; }
  .storefront-public .btb-store-toolbar { gap:8px; }
  .storefront-public .btb-store-search input,.storefront-public .btb-store-sort select { min-height:42px; }
  .storefront-public .btb-store-grid { gap:8px; }
  .storefront-public .btb-store-card { border-radius:12px; }
  .storefront-public .btb-store-card-copy { padding:8px; }
  .storefront-public .btb-store-card-title { font-size:.82rem;line-height:1.28; }
  .storefront-public .btb-store-confidence { margin:12px auto;width:calc(100% - 12px);gap:0; }
  .storefront-public .btb-store-confidence>div { padding:11px 12px;min-height:0;gap:2px; }
  .storefront-public .btb-store-confidence strong { font-size:.83rem; }
  .storefront-public .btb-store-confidence span { font-size:.72rem;line-height:1.4;margin:0; }
  .storefront-public .btb-store-policies { margin-top:10px; }
  .storefront-public .btb-store-merchant-footer { margin-top:12px;padding-top:13px; }
}

/* Keep the path back to BTB visible, but avoid crowding the mobile cart. */
.storefront-public .btb-store-back-to-btb{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(18,36,61,.15);padding:8px 11px;border-radius:12px;font-size:.79rem;white-space:nowrap}
@media(max-width:680px){
  .storefront-public .btb-store-shopbar-actions{gap:6px;min-width:0}
  .storefront-public .btb-store-back-to-btb{font-size:.7rem;padding:9px 7px;max-width:96px;text-align:center;line-height:1.15}
  .storefront-public .btb-store-shopbar-actions>a[href="#products"]{display:none}
}


/* Public customer storefront product cards only: no checkout behavior edits. */
.storefront-public .btb-store-grid{align-items:stretch}
.storefront-public .btb-store-card{border-radius:12px;height:100%;min-width:0}
.storefront-public .btb-store-card-copy{display:flex;flex-direction:column;min-width:0}
.storefront-public .btb-store-card-title{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;min-height:2.56em;line-height:1.28;overflow-wrap:anywhere;
}
.storefront-public .btb-store-card-price{font-variant-numeric:tabular-nums}
.storefront-public .btb-store-card-action{margin-top:auto;align-self:stretch;text-align:center}
.storefront-public .btb-store-button{
  border-radius:12px;min-height:44px;padding:10px 16px;font-weight:700;
  transition:opacity .2s ease,background-color .2s ease,border-color .2s ease;
}
.storefront-public .btb-store-button:not(:disabled):hover{opacity:.9}
.storefront-public :is(.btb-store-search input,.btb-store-sort select){border-radius:12px}
.storefront-public :is(a,button,input,select):focus-visible{
  outline:3px solid #397fc2;outline-offset:2px;
}
@media(prefers-reduced-motion:reduce){.storefront-public .btb-store-button{transition:none}}

/* Public storefront finishing: vendor colors and product media remain unchanged. */
.storefront-public .btb-store-grid,.storefront-public .btb-store-card{min-width:0}
.storefront-public .btb-store-card{box-shadow:0 12px 28px rgba(0,0,0,.07)}
.storefront-public .btb-store-card-title{letter-spacing:-.025em;text-wrap:balance}
.storefront-public .btb-store-card-action,.storefront-public .btb-store-button,
.storefront-public .btb-store-shopbar-actions :is(a,button){
 min-height:44px;touch-action:manipulation;
}
.storefront-public .btb-store-button{
 transition:transform .16s ease,background-color .2s ease,border-color .2s ease,opacity .2s ease;
}
.storefront-public .btb-store-button:not(:disabled):active{transform:scale(.985)}
@media(prefers-reduced-motion:reduce){
 .storefront-public .btb-store-button{transition:none;transform:none}
}

/* BTB official catalog: fix iPhone overflow and duplicate product image.
   Vendor storefront themes and checkout handlers remain untouched. */
body.btb-official-shop,body.btb-official-shop .page,body.btb-official-shop .btb-store-page{max-width:100%;min-width:0;overflow-x:clip}
body.btb-official-shop .btb-store-shopbar{min-width:0}
body.btb-official-shop .btb-store-brandmark{min-width:0;max-width:65%;display:flex;align-items:center}
body.btb-official-shop .btb-store-brandmark strong{min-width:0;max-width:100%;overflow-wrap:anywhere}
body.btb-official-shop .btb-store-detail,body.btb-official-shop .btb-store-product-media,body.btb-official-shop .btb-store-buy,
body.btb-official-shop .btb-store-cart,body.btb-official-shop .btb-store-cart-line,body.btb-official-shop .btb-store-form{min-width:0;max-width:100%;box-sizing:border-box}
body.btb-official-shop .btb-store-product-kicker{display:flex;flex-wrap:wrap;gap:6px}
body.btb-official-shop .btb-store-buy h1{overflow-wrap:anywhere;max-width:100%;text-wrap:pretty}
body.btb-official-shop .btb-store-form input,body.btb-official-shop .btb-store-form select{box-sizing:border-box;min-width:0;max-width:100%}
body.btb-official-shop .btb-shop-merchant-note{font-weight:500;border:1px solid #dbe4ee;background:#f5f8fc}
@media(max-width:800px){
 body.btb-official-shop .btb-store-mobile-product-image{display:none!important}
 body.btb-official-shop .btb-store-product-media{display:block}
 body.btb-official-shop .btb-store-product-media .btb-store-preview{min-height:0;aspect-ratio:1/1}
 body.btb-official-shop .btb-store-buy{position:static!important;padding:0}
 body.btb-official-shop .btb-store-detail{grid-template-columns:minmax(0,1fr);gap:15px}
 body.btb-official-shop .btb-store-shipping{min-width:0;padding:11px}
 body.btb-official-shop .btb-store-address{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 body.btb-official-shop .btb-store-address>label{grid-column:auto;min-width:0}
 body.btb-official-shop .btb-store-form :is(input,select){width:100%;font-size:16px;min-height:46px}
 body.btb-official-shop .btb-store-product-trust{gap:6px}
 body.btb-official-shop .btb-store-product-trust span{line-height:1.4;white-space:normal}
 body.btb-official-shop .btb-store-purchase-actions{grid-template-columns:minmax(0,1fr);gap:9px}
 body.btb-official-shop .btb-store-purchase-actions :is(a,button){min-width:0;white-space:normal}
 body.btb-official-shop .btb-store-cart-line{grid-template-columns:76px minmax(0,1fr)}
 body.btb-official-shop .btb-store-cart-controls{grid-column:1/-1}
}
@media(max-width:420px){
 body.btb-official-shop .btb-store-shopbar{width:calc(100% - 20px)}
 body.btb-official-shop .btb-store-brandmark{max-width:54%}
 body.btb-official-shop .btb-store-brandmark strong{font-size:.9rem}
 body.btb-official-shop .btb-store-shopbar-actions{gap:6px;min-width:0}
 body.btb-official-shop .btb-store-shopbar-actions a{font-size:.73rem;padding:9px 6px}
 body.btb-official-shop .btb-store-buy h1{font-size:clamp(1.55rem,7vw,2rem);line-height:1.15;letter-spacing:-.03em}
 body.btb-official-shop .btb-store-detail{width:calc(100% - 16px);padding:11px}
 body.btb-official-shop .btb-store-cart{width:calc(100% - 16px);padding:11px}
 body.btb-official-shop .btb-store-gallery-thumb{flex-basis:60px;width:60px}
}
