.store-action-button { position: relative; display: grid; width: 22px; height: 22px; padding: 0; border: 0; place-items: center; background: transparent; color: inherit; cursor: pointer; }
.store-action-button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.store-badge { position: absolute; top: -8px; right: -9px; min-width: 15px; height: 15px; padding-inline: 3px; display: grid; place-items: center; border-radius: 20px; background: var(--ink); color: white; font-size: .55rem; }
.global-search { position: fixed; inset: 0 0 auto; z-index: 100; padding: 40px 0; background: var(--surface); box-shadow: 0 16px 45px rgba(11,11,11,.14); transform: translateY(-110%); transition: transform .35s; }
.global-search[hidden],.global-cart[hidden] { display: none !important; }
.global-search.open { transform: none; }
.global-search form { display: grid; grid-template-columns: 190px 1fr 40px; gap: 20px; align-items: center; }
.global-search label { font: 600 .7rem "Manrope"; letter-spacing: .1em; text-transform: uppercase; }
.global-search input { padding: 10px 0; border: 0; border-bottom: 1px solid var(--ink); outline: none; background: transparent; font: 500 clamp(1.4rem,3vw,2.4rem) "Manrope"; }
.global-search button, .global-cart-close { border: 0; background: transparent; font-size: 1.7rem; cursor: pointer; }
.global-scrim { position: fixed; inset: 0; z-index: 80; background: rgba(11,11,11,.38); backdrop-filter: blur(3px); }
.global-cart { position: fixed; inset: 0 0 0 auto; z-index: 90; width: min(450px,100%); display: flex; flex-direction: column; padding: 30px; background: var(--surface); transform: translateX(105%); transition: transform .38s cubic-bezier(.2,.7,.2,1); }
.global-cart.open { transform: none; }
.global-cart-header { display: flex; justify-content: space-between; align-items: center; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.global-cart-header h2 { font-size: 1.7rem; }
.global-cart-items { flex: 1 1 auto; min-height: 80px; overflow-y: auto; }
.global-cart-item { display: grid; grid-template-columns: 1fr auto; gap: 16px; padding-block: 18px; border-bottom: 1px solid var(--line); }
.global-cart-item p { margin: 4px 0 0; color: var(--muted); font-size: .78rem; }
.global-cart-purchase-mode { display: block; margin-top: 5px; color: #6b7632; font-size: .66rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.global-cart-quantity { display: flex; align-items: center; gap: 11px; }
.global-cart-quantity button { width: 27px; height: 27px; border: 1px solid var(--line); background: transparent; cursor: pointer; }
.global-cart-empty { margin-top: 42px; color: var(--muted); text-align: center; }
.global-cart-footer { padding-top: 20px; border-top: 1px solid var(--line); }
.global-cart-total { display: flex; justify-content: space-between; margin-bottom: 18px; }
.global-checkout { width: 100%; }
.global-cart-shipping { padding: 16px 0; border-bottom: 1px solid var(--line); font-size: .78rem; }
.global-cart-shipping p { margin: 0 0 10px; }
.global-cart-shipping > span { display: block; height: 3px; overflow: hidden; background: var(--line); }
.global-cart-shipping i { display: block; height: 100%; background: var(--olive); }
.global-cart-extras { flex: 0 0 auto; margin: 0 -30px; padding: 18px 0 18px 30px; overflow: hidden; border-top: 1px solid var(--line); background: rgba(112,114,83,.06); }
.global-cart-extras header h3 { margin: 0 0 4px; font-size: .9rem; text-transform: uppercase; }
.global-cart-extras header p { margin: 0 0 13px; color: var(--muted); font-size: .72rem; }
.global-cart-extra-list,#global-cart-extra-list { display: flex; gap: 10px; padding: 0 30px 8px 0; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.global-cart-extra { flex: 0 0 min(300px,82vw); display: grid; grid-template-columns: 58px 1fr 44px; grid-template-rows: auto auto; gap: 4px 12px; align-items: center; min-height: 84px; padding: 9px; border: 1px solid transparent; background: var(--paper); color: inherit; text-align: left; cursor: pointer; scroll-snap-align: start; }
.global-cart-extra.selected { border-color: var(--olive); background: rgba(112,114,83,.1); }
.global-cart-extra + .global-cart-extra { margin-top: 0; }
.global-cart-extra-image { grid-column: 1; grid-row: 1 / 3; height: 58px; overflow: hidden; background: var(--cream); }
.global-cart-extra-image img { width: 100%; height: 100%; object-fit: cover; }
.global-cart-extra-image.tea img { object-fit: contain; }
.global-cart-extra-copy { display: grid; grid-column: 2; grid-row: 1 / 3; gap: 3px; font-size: .76rem; }
.global-extra-toggle { display: grid; grid-column: 3; grid-row: 1; place-items: center; width: 24px; height: 24px; border: 1px solid currentColor; border-radius: 50%; }
.global-cart-extra.selected .global-extra-toggle { background: var(--olive); color: white; }
.global-extra-action { grid-column: 3; grid-row: 2; font-size: .62rem; font-weight: 700; text-transform: uppercase; }
.global-cart-extra-state { flex: 1 0 100%; margin: 0; padding: 12px 30px 12px 0; color: var(--muted); }
@media (max-width:520px) { .global-cart { padding: 22px; } .global-cart-extras { margin-inline: -22px; padding-left: 22px; } .global-cart-extra-list,#global-cart-extra-list { padding-right: 22px; } }
@media (max-width:820px) { .global-search form { grid-template-columns: 1fr 40px; } .global-search label { grid-column: 1/-1; } }

/* Circle website entry points are private for now. Collection membership,
   credits, invitations, and account education remain visible. */
.circle-links-hidden .brand-bridge-home,
.circle-links-hidden .circle-visit-link,
.circle-links-hidden .account-brand-bridge {
  display: none !important;
}
