/* Baristuno approved product shell — Figma file 1SgXpZkP6mA4EnOK42JZIr. */
:root{
  --space-2xs:4px;
  --space-xs:8px;
  --space-sm:12px;
  --space-md:16px;
  --space-lg:24px;
  --space-xl:32px;
  --space-2xl:48px;
  --space-3xl:64px;
  --control-height:44px;
  --bv-white:#fff;
}

html{scrollbar-color:var(--line) var(--paper);caret-color:var(--clay)}
body{font-family:var(--sans);font-size:15px;line-height:1.6}
*{scrollbar-width:thin}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:var(--paper)}
*::-webkit-scrollbar-thumb{border:3px solid var(--paper);border-radius:999px;background:var(--line)}
::selection{background:var(--espresso);color:var(--surface)}

.btn{
  min-height:var(--control-height);
  gap:8px;
  border-radius:999px;
  font:600 13px/16px var(--sans);
  letter-spacing:.02em;
  transition:background var(--motion-fast) ease,color var(--motion-fast) ease,border-color var(--motion-fast) ease,transform var(--motion-fast) ease,box-shadow var(--motion-fast) ease;
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn:disabled{transform:none}
.btn:focus-visible{outline:3px solid rgba(34,23,15,.34);outline-offset:3px;box-shadow:none}

/* Shared web header: one quiet product bar, with active state shown by a rule. */
.site-head.navigation-canonical{
  min-height:80px;
  gap:28px;
  margin-bottom:32px;
  padding:18px 0;
  border-bottom:1px solid var(--line-soft);
  background:transparent;
  box-shadow:none;
}
.site-head .site-brand-link{flex:0 0 auto;width:auto;height:auto;padding:0}
.site-head .brand-lockup{width:220px;height:auto;object-fit:contain;object-position:left center}
.site-head nav{align-items:center;gap:18px;margin-left:0}
.site-head nav>a,.site-head nav>button,.site-head nav>.knowledge-menu>summary{
  position:relative;
  min-height:40px;
  padding:11px 4px;
  border:0;
  border-radius:0;
  background:none;
  color:var(--mut);
  font:600 13px/16px var(--sans);
}
.site-head nav>a:hover,.site-head nav>button:hover,.site-head nav>.knowledge-menu>summary:hover{background:none;color:var(--ink)}
.site-head nav>a.on,.site-head nav>button.on,.site-head nav>.knowledge-menu.on>summary{
  background:none;
  color:var(--ink);
  box-shadow:none;
}
.site-head nav>a.on:after,.site-head nav>button.on:after,.site-head nav>.knowledge-menu.on>summary:after{
  content:"";
  position:absolute;
  right:4px;
  bottom:4px;
  left:4px;
  height:2px;
  background:var(--clay);
}
.site-head nav .shop-nav-link,.site-head nav .shop-nav-link:hover,.site-head nav .shop-nav-link.on{border:0;background:none;color:inherit}
.site-head .acct{flex:1 1 auto;width:auto;min-width:0;justify-content:flex-end;margin-left:auto;padding-left:0;border:0}
.site-head .acct .who{flex:0 0 auto;min-width:0;max-width:120px;min-height:40px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;text-align:center}
.site-head .acct .btn{flex:0 0 auto;white-space:nowrap}
.site-head .acct #authBtn{background:var(--surface);color:var(--ink);border-color:var(--line)}
.auth-mfa{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.auth-mfa h4{margin:0;color:var(--ink);font-size:18px}.auth-mfa p{margin:0;color:var(--mut);font-size:12px;line-height:1.5}.auth-mfa .btn{width:100%;min-height:44px}.auth-mfa[hidden]{display:none!important}.modal.is-mfa>.field,.modal.is-mfa>.auth-consent,.modal.is-mfa>.row,.modal.is-mfa>.auth-recovery,.modal.is-mfa>.authtoggle{display:none}
.site-head .acct .header-create-account,.site-head .acct .header-open-app{background:var(--clay);color:#fff;border-color:var(--clay)}
.site-head .acct [hidden]{display:none!important}

/* Profile opening: account context on the left, live identity on the right. */
.profile-page-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(330px,.55fr);
  align-items:center;
  gap:48px;
  margin:0 calc(var(--gutter) * -1) 30px;
  padding:42px var(--gutter);
  background:var(--paper-2);
}
.profile-page-hero-copy h2{max-width:14ch;font-size:clamp(38px,4.2vw,54px);line-height:1.02;letter-spacing:-.025em}
.profile-page-hero-copy>p:last-child{max-width:62ch;margin-top:12px;color:var(--body);font-size:17px;line-height:1.55}
.profile-page-hero .prof-head{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:14px;align-items:center;margin:0;padding:18px;border:0;border-radius:16px;background:rgba(255,253,252,.96);box-shadow:none}
.profile-page-hero .prof-head .avatar{width:58px;height:58px}
.profile-page-hero .prof-head h2{font:600 17px/1.2 var(--sans)}
.profile-page-hero .prof-head .ph-stats{grid-column:1/-1;padding-top:12px;border-top:1px solid var(--line-soft)}
.profile-page-hero .profile-guide-btn{align-self:start}

/* Shop direction: editorial first view with a precise, restrained product still life. */
.shop-page{padding-top:0}
.shop-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(430px,1.05fr);
  gap:48px;
  align-items:stretch;
  min-height:560px;
  margin:0 calc(var(--gutter) * -1) 56px;
  padding:56px var(--gutter);
  border:0;
  border-radius:0;
  background:var(--paper-2);
  color:var(--body);
  box-shadow:none;
}
.shop-hero-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;padding-block:14px}
.shop-hero-copy .eyebrow{margin:0 0 14px;color:var(--clay)}
.shop-hero-copy h1{max-width:10ch;color:var(--ink);font-size:clamp(48px,5vw,64px);line-height:.98;letter-spacing:-.025em}
.shop-hero-copy>p:not(.eyebrow){max-width:50ch;margin-top:20px;color:var(--body);font-size:18px;line-height:1.6}
.shop-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.shop-hero-actions .btn{padding-inline:22px;text-decoration:none}
.shop-hero-copy>small{width:100%;margin-top:30px;padding-top:14px;border-top:1px solid rgba(34,23,15,.14);color:var(--mut);font-size:12px}
.shop-hero .shop-disclosure{position:absolute;z-index:4;right:calc(var(--gutter) + 18px);top:72px}
.shop-hero .shop-disclosure summary{min-height:32px;padding:8px 12px;border:0;border-radius:999px;background:var(--surface);color:var(--ink);font:700 9px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;box-shadow:none}
.shop-hero .shop-disclosure[open]{width:min(380px,calc(100% - 36px));padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--sh-3)}
.shop-hero .shop-disclosure[open] p{margin:10px 4px 2px;color:var(--mut);font-size:12px;line-height:1.55}
.shop-hero-art{position:relative;min-height:448px;overflow:hidden;border-radius:16px;background:var(--espresso);color:#fff}
.shop-hero-art>.shop-art-halo{position:absolute;right:58px;top:42px;width:290px;height:290px;border-radius:50%;background:#8c8377}
.shop-art-bag{position:absolute;left:46px;top:72px;width:208px;height:310px;padding:62px 24px 24px;border-radius:12px;background:var(--surface);color:var(--ink)}
.shop-art-bag i{position:absolute;top:24px;left:24px;right:24px;height:1px;background:var(--line)}
.shop-art-bag:before{content:"";display:block;width:52px;height:52px;margin:0 auto 24px;border-radius:50%;background:var(--espresso)}
.shop-art-bag span,.shop-art-bag strong,.shop-art-bag small{display:block}
.shop-art-bag span{font:700 9px/1 var(--sans);letter-spacing:.14em}
.shop-art-bag strong{margin-top:12px;font:600 24px/1 var(--display)}
.shop-art-bag small{margin-top:18px;color:var(--mut);font-size:11px;line-height:1.5}
.shop-art-scale{position:absolute;right:44px;bottom:42px;width:318px;height:104px;border-radius:14px;background:var(--body)}
.shop-art-scale:before{content:"";position:absolute;left:36px;top:-32px;width:116px;height:50px;border-radius:50%;background:#756e68;box-shadow:0 10px 0 #756e68}
.shop-art-scale span{position:absolute;right:30px;top:29px;display:grid;width:116px;height:44px;place-items:center;border-radius:10px;background:var(--surface-2);color:var(--ink);font:700 13px var(--mono)}
.shop-art-cup{position:absolute;right:156px;top:190px;width:104px;height:78px;border:9px solid #c69b51;border-radius:0 0 44px 44px;background:#f2c36f;box-shadow:0 12px 0 -3px rgba(198,155,81,.32)}
.shop-art-cup:before{content:"";position:absolute;inset:-18px -9px auto;height:34px;border-radius:50%;background:#d8a958;box-shadow:inset 0 0 0 10px var(--espresso)}
.shop-hero-art>b{position:absolute;right:26px;top:20px;padding:7px 11px;border-radius:999px;background:var(--surface);color:var(--ink);font:700 8px/1 var(--sans);letter-spacing:.09em}
.shop-hero-art>small{position:absolute;right:24px;bottom:15px;color:rgba(255,255,255,.72);font-size:9px}

/* Shop controls read as one filtering instrument, not a stack of promo panels. */
.shop-departments{gap:8px;margin:0 0 20px;padding:0;border:0;background:none;box-shadow:none}
.shop-departments button{grid-template-columns:auto 1fr auto;min-height:52px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);box-shadow:none}
.shop-departments button[aria-pressed="true"]{border-color:var(--clay);background:var(--clay);color:#fff}
.shop-departments button small{display:none}
.shop-departments button strong{font-size:12px}
.shop-departments .shop-department-mark{width:24px;height:24px;border-radius:50%;background:var(--crema);color:var(--ink)}
.shop-department-intro{align-items:center;margin:0 0 24px;padding:0;border:0;background:none;box-shadow:none}
.shop-department-intro h2{max-width:19ch;font-size:clamp(34px,4vw,48px)}
.shop-department-intro>div>p:last-child{max-width:64ch;margin-top:10px;color:var(--mut)}
.shop-department-intro aside{max-width:410px;padding:16px;border:1px solid var(--line-soft);border-radius:14px;background:var(--surface)}
.shop-tools{grid-template-columns:minmax(260px,1.6fr) minmax(150px,.7fr) minmax(150px,.7fr) auto;gap:10px;align-items:end;margin:0 0 18px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.shop-tools .shop-country-filter{grid-column:2}.shop-tools .shop-search{grid-column:1;grid-row:1}.shop-tools .shop-offer-filter{grid-column:3}.shop-tools .shop-sort-filter{grid-column:4}.shop-tools>#shopClear{grid-column:4;grid-row:2;min-height:42px}
.shop-tools label>span{color:var(--ink);font-size:11px;letter-spacing:0;text-transform:none}
.shop-tools :is(input,select){min-height:46px;border-radius:12px;background:var(--surface)}
.shop-category-browser{margin:0 0 28px;padding:0;border:0;background:none;box-shadow:none}
.shop-category-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:12px}
.shop-category-head h2{font-size:24px}.shop-category-head>p{max-width:44ch;color:var(--mut);font-size:12px}
.shop-groups{display:flex;gap:8px;overflow-x:auto;padding:2px 0 6px;scroll-snap-type:x proximity}
.shop-groups button{flex:0 0 auto;display:flex;min-height:44px;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface);scroll-snap-align:start}
.shop-groups button span{display:none}.shop-groups button strong{font:650 12px var(--sans)}.shop-groups button b{font-size:10px}
.shop-groups button[aria-pressed="true"]{border-color:var(--clay);background:var(--crema);color:var(--ink)}
.shop-picks{margin:28px 0;padding:0;border:0;background:none;box-shadow:none}
.shop-picks-rail{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.shop-results-head{display:flex;align-items:center;min-height:40px;margin:0 0 14px;padding-top:8px;border-top:1px solid var(--line-soft)}
.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.shop-product-card{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--sh-1);transition:transform var(--motion-fast) ease,box-shadow var(--motion-fast) ease}
.shop-product-card:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}
.shop-product-media{aspect-ratio:4/3;background:var(--crema)}
.shop-product-media img{width:100%;height:100%;object-fit:contain}
.shop-product-copy{display:flex;min-height:290px;flex-direction:column;padding:20px}
.shop-product-merchant{margin:0 0 8px;color:var(--mut);font-size:10px;letter-spacing:.12em}
.shop-product-copy h3{font-size:24px;line-height:1.06;letter-spacing:-.015em}
.shop-product-description{display:-webkit-box;margin:10px 0 0;overflow:hidden;color:var(--mut);font-size:13px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.shop-card-facts{margin:14px 0 0}.shop-card-facts>div{padding:6px 0}
.shop-product-foot{margin-top:auto;padding-top:18px}
.shop-product-actions{grid-template-columns:.78fr 1.22fr;gap:8px;margin-top:12px}
.shop-product-actions .shop-product-link{min-height:42px;border-radius:999px;font-size:10px;box-shadow:none}
.shop-product-actions .details{order:1}.shop-product-actions a{order:2}
.shop-product-stock{margin:8px 0 0}
.shop-verified-badge{background:var(--surface);color:var(--good);box-shadow:none}
.shop-pick-badge{background:var(--espresso);color:#fff}

.shop-trust{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:48px;margin:64px calc(var(--gutter) * -1) 40px;padding:56px var(--gutter);background:var(--espresso);color:#fff}
.shop-trust h2{max-width:18ch;color:#fff;font-size:clamp(36px,4vw,50px);line-height:1.02}
.shop-trust>div>p:not(.eyebrow){max-width:64ch;margin-top:14px;color:rgba(255,255,255,.78);font-size:17px}
.shop-trust .eyebrow{color:var(--amber)}
.shop-trust dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}
.shop-trust dt{color:#fff;font:650 13px var(--sans)}
.shop-trust dd{margin-top:6px;color:rgba(255,255,255,.66);font-size:12px;line-height:1.5}
.shop-trust aside{padding:28px;border-radius:16px;background:var(--surface);color:var(--body)}
.shop-trust aside h3{font-size:28px}.shop-trust aside>p:not(.eyebrow){margin-top:12px;color:var(--body);font-size:14px}
.shop-trust aside>small{display:block;margin-top:18px;padding-top:16px;border-top:1px solid var(--line-soft);color:var(--mut);line-height:1.5}
.shop-trust aside .btn{margin-top:22px;text-decoration:none}
.shop-account-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;margin:44px 0 12px;padding:30px 34px;border-radius:16px;background:var(--crema)}
.shop-account-cta h2{font-size:32px}.shop-account-cta p:not(.eyebrow){max-width:70ch;margin-top:7px;color:var(--body)}
.shop-account-cta>div:last-child{display:flex;gap:10px}.shop-account-cta .btn{text-decoration:none}

@media(max-width:1050px){
  .site-head nav{gap:12px}
  .site-head .acct .header-create-account{display:none}
  .shop-hero{grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr);gap:32px}
  .shop-art-bag{left:28px}.shop-art-scale{right:26px;width:280px}.shop-art-cup{right:140px}
  .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .shop-picks-rail{grid-template-columns:repeat(2,minmax(0,1fr))}
  .shop-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-tools>*{grid-column:auto!important;grid-row:auto!important}
  .shop-trust{grid-template-columns:1fr}.shop-trust aside{max-width:720px}
}

@media(max-width:860px){
  .site-head.navigation-canonical{min-height:64px;margin-bottom:18px;padding:10px 0}
  .site-head .site-brand-link{width:auto}.site-head .brand-lockup{width:min(220px,calc(100vw - 132px))}
  .site-head .acct #authBtn{display:none}
  .site-head .acct .header-create-account,.site-head .acct .header-open-app{min-height:44px;padding-inline:13px}
  .profile-page-hero{grid-template-columns:1fr;gap:20px;margin-bottom:18px;padding-block:30px}
  .profile-page-hero-copy h2{font-size:40px}.profile-page-hero-copy>p:last-child{font-size:15px}
  .profile-page-hero .prof-head{max-width:560px}
  .shop-hero{grid-template-columns:1fr;min-height:0;margin-bottom:34px;padding-block:36px}
  .shop-hero-copy h1{font-size:50px}.shop-hero-copy>p:not(.eyebrow){font-size:16px}
  .shop-hero-art{min-height:410px}.shop-hero .shop-disclosure{right:calc(var(--gutter) + 14px);top:auto;bottom:50px}
  .shop-departments{display:flex;overflow-x:auto}.shop-departments button{flex:0 0 auto;min-width:180px}
  .shop-department-intro{grid-template-columns:1fr}.shop-department-intro aside{max-width:none}
  .shop-account-cta{grid-template-columns:1fr}.shop-account-cta>div:last-child{justify-content:flex-start}
}

@media(max-width:620px){
  .site-head .acct .header-create-account{display:none!important}
  /* Profile remains available from the mobile More sheet. Keeping the text
     control in the compact top bar crowds the brand and signed-in app action. */
  .site-head .acct .who{display:none}
  .site-head .acct .header-open-app{padding:10px 13px;font-size:11px}
  .profile-page-hero{margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter)}.profile-page-hero-copy h2{font-size:34px}
  .profile-page-hero .prof-head{grid-template-columns:52px minmax(0,1fr);padding:14px}.profile-page-hero .profile-guide-btn{grid-column:1/-1;width:100%}.profile-page-hero .prof-head .ph-stats{grid-column:1/-1}
  .shop-hero{gap:26px;margin-inline:calc(var(--gutter) * -1);padding:30px var(--gutter)}.shop-hero-copy h1{font-size:44px}.shop-hero-actions{display:grid;width:100%}.shop-hero-actions .btn{width:100%}
  .shop-hero-art{min-height:336px}.shop-hero-art>.shop-art-halo{right:24px;top:40px;width:210px;height:210px}.shop-art-bag{left:22px;top:58px;width:150px;height:225px;padding:42px 16px 16px}.shop-art-bag:before{width:38px;height:38px;margin-bottom:14px}.shop-art-bag strong{font-size:19px}.shop-art-bag small{display:none}.shop-art-scale{right:18px;bottom:28px;width:205px;height:76px}.shop-art-scale:before{left:22px;top:-24px;width:82px;height:38px}.shop-art-scale span{right:18px;top:20px;width:80px;height:34px;font-size:10px}.shop-art-cup{right:92px;top:143px;width:78px;height:58px;border-width:7px}.shop-hero-art>small{display:none}.shop-hero .shop-disclosure{right:32px;bottom:20px}.shop-hero .shop-disclosure[open]{right:18px;bottom:18px}
  .shop-department-intro h2{font-size:34px}.shop-department-intro aside{display:none}
  .shop-tools{grid-template-columns:1fr;padding:14px}.shop-tools>*{grid-column:1!important}
  .shop-category-head{display:block}.shop-category-head>p{margin-top:6px}
  .shop-grid{grid-template-columns:1fr;gap:14px}.shop-product-card{display:grid;grid-template-columns:126px minmax(0,1fr);min-height:190px}.shop-product-media{height:100%;aspect-ratio:auto}.shop-product-copy{min-height:190px;padding:15px}.shop-product-copy h3{font-size:19px}.shop-product-description{font-size:11px;-webkit-line-clamp:2}.shop-card-facts{display:none}.shop-product-foot{padding-top:12px}.shop-product-actions{grid-template-columns:1fr}.shop-product-actions .details{display:none}.shop-product-actions .shop-product-link{min-height:44px}.shop-verified-badge{display:none}
  .shop-picks-rail{display:flex;overflow-x:auto;gap:12px}.shop-pick-card{flex:0 0 min(82vw,300px)}
  .shop-trust{grid-template-columns:minmax(0,1fr);margin-inline:calc(var(--gutter) * -1);padding:40px var(--gutter)}.shop-trust>*{min-width:0}.shop-trust h2{font-size:32px}.shop-trust dl{grid-template-columns:1fr;gap:16px}.shop-trust aside{padding:22px}
  .shop-account-cta{padding:24px 20px}.shop-account-cta>div:last-child{display:grid}.shop-account-cta .btn{width:100%}
}

@media(max-width:359px){.site-head .brand-lockup{width:min(200px,calc(100vw - 120px))}}

@media(prefers-reduced-motion:reduce){
  .btn,.shop-product-card{transition:none}
}
