:root {
  --member-green:#90a31d;
  --member-green-dark:#68750f;
  --member-green-soft:#f0f4da;
  --member-black:#090b08;
  --member-ink:#171a13;
  --member-muted:#687060;
  --member-line:#dce1d1;
  --member-bg:#f5f6f1;
  --member-card:#fff;
  --member-danger:#a43832;
  color-scheme:light;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--member-ink); background:var(--member-bg); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:15px; line-height:1.5; }
button,input,textarea { font:inherit; }
a { color:inherit; }
.member-portal-header { position:sticky; top:0; z-index:20; min-height:72px; padding:10px max(22px,calc((100vw - 1280px)/2)); display:flex; align-items:center; justify-content:space-between; gap:24px; background:rgba(9,11,8,.97); border-bottom:1px solid #2e3426; box-shadow:0 8px 28px rgba(0,0,0,.08); }
.member-portal-brand { min-width:0; display:flex; align-items:center; gap:12px; color:#fff; text-decoration:none; }
.member-portal-brand img { width:72px; height:44px; object-fit:contain; }
.member-portal-brand span { display:grid; min-width:0; }
.member-portal-brand strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
.member-portal-brand small { color:#aeb69d; font-size:11px; }
.member-header-account { display:grid; justify-items:end; color:#f5f7f1; }
.member-header-account span { font-size:13px; font-weight:800; }
.member-header-account small { color:#aeb69d; font-size:10px; }
.member-portal-shell { width:min(1440px,calc(100% - 44px)); min-height:calc(100vh - 148px); margin:0 auto; display:grid; grid-template-columns:250px minmax(0,1fr); gap:36px; align-items:start; }
.member-portal-main { width:100%; min-width:0; padding:38px 0 64px; }
.member-portal-public-main { width:min(1280px,calc(100% - 44px)); min-height:calc(100vh - 148px); margin:0 auto; }
.member-sidebar { position:sticky; top:96px; margin-top:38px; overflow:hidden; background:var(--member-card); border:1px solid var(--member-line); border-radius:12px; box-shadow:0 9px 28px rgba(22,27,13,.045); }
.member-sidebar-heading { padding:20px; display:grid; gap:3px; border-bottom:1px solid var(--member-line); }
.member-sidebar-heading small { color:var(--member-green-dark); font-size:10px; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.member-sidebar-heading strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.member-sidebar-nav { padding:8px; display:grid; gap:3px; }
.member-sidebar-nav a,.member-sidebar-nav button { width:100%; min-height:58px; padding:9px 10px; display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:10px; color:var(--member-ink); background:transparent; border:1px solid transparent; border-radius:8px; text-align:left; text-decoration:none; cursor:pointer; }
.member-sidebar-nav a:hover,.member-sidebar-nav button:hover { background:var(--member-green-soft); border-color:#d2daa9; }
.member-sidebar-nav a.active { color:var(--member-black); background:var(--member-green); border-color:var(--member-green-dark); }
.member-sidebar-nav a > span:last-child,.member-sidebar-nav button > span:last-child { min-width:0; display:grid; }
.member-sidebar-nav strong { font-size:13px; }
.member-sidebar-nav strong,.member-mobile-menu-panel strong { display:flex; align-items:center; gap:7px; }
.member-nav-badge { min-width:20px; height:20px; padding:0 6px; display:inline-grid; place-items:center; color:#fff; background:#b33d36; border-radius:999px; font-size:10px; line-height:1; }
.member-sidebar-nav small { overflow:hidden; color:var(--member-muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.member-sidebar-nav a.active small { color:#39400d; }
.member-sidebar-nav form { margin:5px 0 0; padding-top:7px; border-top:1px solid var(--member-line); }
.member-nav-icon { width:32px; height:32px; display:grid; place-items:center; color:var(--member-green-dark); background:var(--member-green-soft); border-radius:7px; font-size:18px; font-weight:900; }
.member-sidebar-nav a.active .member-nav-icon { color:#fff; background:#1b1e16; }
.member-portal-footer { min-height:76px; padding:20px max(22px,calc((100vw - 1280px)/2)); display:flex; justify-content:space-between; gap:20px; color:#aab19d; background:#10130e; font-size:12px; }
.member-eyebrow { margin:0 0 7px; color:var(--member-green-dark); font-size:11px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:10px; color:var(--member-black); font-size:clamp(30px,4vw,48px); line-height:1.07; letter-spacing:-.035em; }
h2 { margin-bottom:6px; font-size:24px; line-height:1.2; }
h3 { margin-bottom:6px; }
.member-card { background:var(--member-card); border:1px solid var(--member-line); border-radius:12px; box-shadow:0 9px 28px rgba(22,27,13,.045); }
.member-notice { margin:0 0 20px; padding:13px 16px; color:#293020; background:#eef3d7; border:1px solid #cad69b; border-left:4px solid var(--member-green); border-radius:8px; }
.member-notice.error { color:#6f2521; background:#fff1ef; border-color:#e4b4b0; border-left-color:#b3433c; }
.member-notice.warning { color:#604715; background:#fff8e7; border-color:#e5ce94; border-left-color:#bc8c2e; }
.member-notice.success { color:#294e31; background:#ecf7ed; border-color:#acd1b0; border-left-color:#4a9658; }
.member-ready-notice { margin:0 0 20px; padding:20px; display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:center; gap:17px; color:#17220f; background:linear-gradient(120deg,#edf4cd,#f8faed); border:1px solid #bacb70; border-left:5px solid var(--member-green); border-radius:12px; box-shadow:0 12px 30px rgba(73,88,13,.1); }
.member-ready-notice-icon { width:48px; height:48px; display:grid; place-items:center; color:#fff; background:var(--member-green-dark); border-radius:50%; font-size:24px; font-weight:900; }
.member-ready-notice-copy { min-width:0; }
.member-ready-notice-copy .member-eyebrow { margin-bottom:3px; }
.member-ready-notice-copy h2 { margin:0 0 8px; font-size:20px; }
.member-ready-order-list { display:grid; gap:5px; }
.member-ready-order-list > span { display:flex; flex-wrap:wrap; gap:5px 9px; }
.member-ready-order-list strong { font-size:11px; }
.member-ready-order-list small { color:#59623f; font-size:11px; }
.member-btn { min-height:44px; padding:10px 16px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid transparent; border-radius:7px; font-weight:800; text-decoration:none; cursor:pointer; }
.member-btn.primary { color:var(--member-black); background:var(--member-green); border-color:var(--member-green-dark); }
.member-btn.primary:hover { background:#9fb12c; }
.member-btn.secondary { color:var(--member-ink); background:#fff; border-color:#bdc5ae; }
.member-btn.text-danger { min-height:34px; padding:6px 0; color:var(--member-danger); background:none; }
.member-btn:disabled { opacity:.45; cursor:not-allowed; }
.member-form { display:grid; gap:15px; }
.member-form label,.member-notes { display:grid; gap:6px; }
.member-form label > span,.member-notes > span { color:#444a3e; font-size:12px; font-weight:800; }
.member-form input,.member-form textarea,.member-notes textarea,.member-product-order input,.member-cart-quantity input { width:100%; min-height:45px; padding:10px 12px; color:var(--member-ink); background:#fff; border:1px solid #bec6af; border-radius:7px; outline:none; }
.member-form input:focus,.member-form textarea:focus,.member-notes textarea:focus,.member-product-order input:focus,.member-cart-quantity input:focus { border-color:var(--member-green-dark); box-shadow:0 0 0 3px rgba(144,163,29,.17); }
.member-login-shell { min-height:calc(100vh - 210px); display:grid; grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr); align-items:center; gap:clamp(36px,7vw,100px); }
.member-login-copy { max-width:710px; }
.member-login-copy > p:not(.member-eyebrow) { max-width:650px; color:var(--member-muted); font-size:18px; }
.member-login-copy ul { margin:28px 0 0; padding:0; display:grid; gap:10px; list-style:none; }
.member-login-copy li { position:relative; padding-left:28px; font-weight:700; }
.member-login-copy li::before { content:"✓"; position:absolute; left:0; top:0; width:20px; height:20px; display:grid; place-items:center; color:var(--member-black); background:var(--member-green); border-radius:50%; font-size:12px; }
.member-login-card { padding:30px; background:#fff; border:1px solid var(--member-line); border-top:5px solid var(--member-green); border-radius:12px; box-shadow:0 22px 60px rgba(18,22,11,.1); }
.member-login-card h2 { font-size:30px; }
.member-login-card > div > p:last-child,.member-form-hint { color:var(--member-muted); }
.member-autofill-hint { margin:12px 0 0; color:var(--member-muted); font-size:12px; line-height:1.45; }
.member-form-hint { margin:18px 0 10px; padding-top:16px; border-top:1px solid var(--member-line); font-size:12px; }
.member-back-link { color:var(--member-green-dark); font-size:12px; font-weight:800; }
.member-password-shell { min-height:calc(100vh - 220px); display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,480px); align-items:center; gap:70px; }
.member-page-intro p:last-child { max-width:620px; color:var(--member-muted); font-size:17px; }
.member-password-card { padding:28px; }
.member-password-rules { padding:12px; color:var(--member-muted); background:var(--member-green-soft); border-radius:7px; font-size:12px; }
.member-account-grid { margin-top:28px; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr); gap:20px; align-items:start; }
.member-account-card { padding:24px; }
.member-account-explanation { color:var(--member-muted); font-size:13px; }
.member-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.member-form-full { grid-column:1 / -1; }
.member-profile-form > .member-btn { justify-self:start; }
.member-request-state { padding:6px 9px; border-radius:999px; font-size:10px !important; letter-spacing:0 !important; text-transform:none !important; }
.member-request-state.pending { color:#604715 !important; background:#fff4d4; border:1px solid #e0c67d; }
.member-quota-reservation { margin-top:12px; padding:9px 11px; display:flex; justify-content:space-between; gap:12px; color:#5c4a1f; background:#fff8e7; border:1px solid #e5ce94; border-radius:7px; font-size:11px; }
.member-quota-reservation strong { text-align:right; }
.member-dashboard-hero { padding:14px 0 27px; display:flex; justify-content:space-between; align-items:flex-end; gap:20px; border-bottom:1px solid var(--member-line); }
.member-dashboard-hero p:last-child { margin-bottom:0; color:var(--member-muted); }
.member-status-pill { margin-bottom:7px; padding:8px 12px; display:flex; align-items:center; gap:8px; color:#3d4924; background:var(--member-green-soft); border:1px solid #ccd79d; border-radius:999px; font-size:12px; font-weight:800; }
.member-status-pill span { width:8px; height:8px; background:var(--member-green-dark); border-radius:50%; box-shadow:0 0 0 4px rgba(144,163,29,.16); }
.member-annual-fee-pill { min-height:38px; padding:6px 10px; display:flex; align-items:center; gap:8px; border:1px solid; border-radius:9px; }
.member-annual-fee-pill > i { width:10px; height:10px; flex:0 0 auto; border-radius:50%; }
.member-annual-fee-pill > span { display:grid; line-height:1.15; }
.member-annual-fee-pill small { font-size:8px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.member-annual-fee-pill strong { margin-top:2px; font-size:11px; }
.member-annual-fee-pill.paid { color:#3d4924; background:#f0f4da; border-color:#cbd69a; }
.member-annual-fee-pill.paid > i { background:#71810e; box-shadow:0 0 0 4px rgba(113,129,14,.14); }
.member-annual-fee-pill.unpaid { color:#852d28; background:#fff0ee; border-color:#e4b2ad; }
.member-annual-fee-pill.unpaid > i { background:#bd4039; box-shadow:0 0 0 4px rgba(189,64,57,.13); }
.member-quota-grid { margin-top:22px; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.member-quota-card { padding:22px; }
.member-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.member-card-heading span { color:var(--member-muted); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.member-card-heading h2 { margin:3px 0 0; font-size:19px; }
.member-card-heading > strong { color:var(--member-green-dark); font-size:20px; }
.member-quota-track { height:12px; margin:20px 0 9px; overflow:hidden; background:#e5e9dd; border-radius:999px; }
.member-quota-track span { height:100%; display:block; background:linear-gradient(90deg,#90a31d 0%,#c3b42f 65%,#b5523d 100%); border-radius:inherit; }
.member-quota-values { display:flex; justify-content:space-between; gap:15px; color:#4f5648; font-size:12px; font-weight:750; }
.member-quota-card > small { margin-top:10px; display:block; color:var(--member-muted); }
.member-quota-reset { display:flex !important; align-items:center; justify-content:space-between; gap:12px; }
.member-quota-reset strong { color:var(--member-ink); font-weight:800; text-align:right; }
.member-section { padding-top:60px; scroll-margin-top:86px; }
.member-first-section { padding-top:28px; }
.member-section-heading { margin-bottom:18px; display:flex; justify-content:space-between; gap:20px; }
.member-section-heading p:last-child { max-width:770px; margin-bottom:0; color:var(--member-muted); }
.member-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.member-product-card { padding:20px; display:flex; flex-direction:column; }
.member-product-card.sold-out { opacity:.62; }
.member-product-card.in-cart { border-color:var(--member-green); box-shadow:0 0 0 2px rgba(144,163,29,.16),0 9px 28px rgba(22,27,13,.045); }
.member-product-cover { position:relative; height:190px; margin:-20px -20px 17px; overflow:hidden; display:grid; place-items:center; color:var(--member-muted); background:linear-gradient(145deg,#eef2df,#f8f9f5); border-bottom:1px solid var(--member-line); border-radius:11px 11px 0 0; text-decoration:none; }
.member-product-cover img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .2s ease; }
.member-product-cover:hover img { transform:scale(1.025); }
.member-product-cover > span { font-size:12px; font-weight:800; }
.member-product-cover > small { position:absolute; right:9px; bottom:9px; padding:4px 7px; color:#fff; background:rgba(9,11,8,.78); border-radius:999px; font-size:9px; font-weight:850; }
.member-product-top { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.member-product-type { color:var(--member-green-dark); font-size:10px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.member-stock { color:#496024; font-size:11px; font-weight:800; }
.member-stock.empty { color:var(--member-danger); }
.member-product-card h3 { margin:17px 0 2px; font-size:20px; }
.member-product-card h3 a { text-decoration:none; }
.member-product-card h3 a:hover { color:var(--member-green-dark); }
.member-batch { margin-bottom:14px; color:var(--member-muted); font-size:11px; }
.member-product-summary { margin:7px 0 0; color:var(--member-muted); font-size:12px; }
.member-product-values { margin:12px 0 20px; display:flex; gap:8px; }
.member-product-values span { flex:1; padding:8px; display:grid; color:var(--member-muted); background:#f6f7f3; border:1px solid #e1e5d9; border-radius:6px; font-size:10px; }
.member-product-values strong { color:var(--member-ink); font-size:12px; }
.member-product-order { margin-top:auto; padding-top:15px; display:grid; gap:12px; border-top:1px solid var(--member-line); }
.member-product-order > strong { font-size:16px; }
.member-product-order-controls { display:grid; grid-template-columns:minmax(105px,.55fr) minmax(145px,1fr); align-items:end; gap:9px; }
.member-product-order label { min-width:0; display:grid; gap:4px; }
.member-product-order label > span:first-child { color:var(--member-muted); font-size:10px; font-weight:800; text-transform:uppercase; }
.member-quantity-input { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:6px; }
.member-product-order input { min-height:39px; }
.member-product-order small,.member-quantity-input small { color:var(--member-muted); font-weight:800; }
.member-product-order-controls .member-btn { min-height:39px; padding-inline:11px; font-size:12px; }
.member-product-feedback { min-height:18px; margin:0; color:var(--member-muted); font-size:11px; font-weight:750; }
.member-product-feedback[data-tone="success"] { color:#4f681c; }
.member-product-feedback[data-tone="error"] { color:var(--member-danger); }
.member-product-detail-link { margin:-8px 0 14px; color:var(--member-green-dark); font-size:11px; font-weight:850; text-decoration:none; }
.member-product-detail-link:hover { text-decoration:underline; }
.member-product-detail-head { padding:7px 0 26px; border-bottom:1px solid var(--member-line); }
.member-product-detail-title { margin-top:24px; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.member-product-detail-title h1 { margin-bottom:5px; }
.member-product-detail-title p:last-child { margin:0; color:var(--member-muted); }
.member-product-price { min-width:150px; display:grid; justify-items:end; }
.member-product-price strong { color:var(--member-green-dark); font-size:27px; }
.member-product-price span { color:var(--member-muted); font-size:11px; }
.member-product-detail-layout { padding-top:28px; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr); gap:22px; align-items:start; }
.member-product-gallery { min-width:0; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.member-product-gallery-item { min-width:0; margin:0; overflow:hidden; background:var(--member-card); border:1px solid var(--member-line); border-radius:12px; }
.member-product-gallery-item:first-child { grid-column:1/-1; }
.member-product-gallery-item img { width:100%; height:260px; display:block; object-fit:cover; background:#eef1e8; }
.member-product-gallery-item:first-child img { height:min(52vw,540px); }
.member-product-gallery-item figcaption { padding:7px 10px; color:var(--member-muted); font-size:10px; }
.member-product-gallery.without-images { display:block; }
.member-product-gallery-empty { min-height:390px; padding:32px; display:grid; place-content:center; gap:5px; color:var(--member-muted); background:linear-gradient(145deg,#eef2df,#f8f9f5); border:1px dashed #bdc6a9; border-radius:12px; text-align:center; }
.member-product-gallery-empty strong { color:var(--member-ink); }
.member-product-detail-card { position:sticky; top:96px; padding:24px; display:grid; gap:24px; }
.member-product-description { margin:12px 0 0; color:#40463a; white-space:pre-line; }
.member-product-description.muted { color:var(--member-muted); }
.member-product-facts { margin:0; display:grid; }
.member-product-facts div { padding:10px 0; display:flex; justify-content:space-between; gap:15px; border-top:1px solid var(--member-line); }
.member-product-facts dt { color:var(--member-muted); }
.member-product-facts dd { margin:0; font-weight:800; text-align:right; }
.member-checkout { margin-top:18px; padding:22px; display:grid; grid-template-columns:minmax(180px,.75fr) minmax(300px,1.2fr) minmax(240px,1fr); align-items:start; gap:22px; }
.member-checkout p { margin:0; color:var(--member-muted); font-size:12px; }
.member-checkout fieldset { margin:0; padding:0; display:flex; gap:8px; border:0; }
.member-checkout legend { margin-bottom:6px; color:#444a3e; font-size:12px; font-weight:800; }
.member-choice { flex:1; padding:9px 10px; display:flex; align-items:flex-start; gap:8px; background:#f7f8f4; border:1px solid var(--member-line); border-radius:7px; cursor:pointer; }
.member-choice input { margin-top:4px; accent-color:var(--member-green-dark); }
.member-choice span { display:grid; }
.member-choice strong { font-size:12px; }
.member-choice small { color:var(--member-muted); font-size:10px; }
.member-choice.disabled { opacity:.5; cursor:not-allowed; }
.member-checkout-action { display:grid; gap:11px; }
.member-notes textarea { min-height:70px; resize:vertical; }
.member-cart { margin-top:24px; padding:24px; scroll-margin-top:92px; }
.member-cart [hidden] { display:none !important; }
.member-cart-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.member-cart-heading h2 { margin:1px 0 4px; }
.member-cart-heading p:last-child { margin:0; color:var(--member-muted); }
.member-cart-count { flex:none; padding:6px 10px; color:#394610; background:var(--member-green-soft); border:1px solid #d2daa9; border-radius:999px; font-size:11px; font-weight:850; }
.member-cart-empty { min-height:112px; margin-top:20px; padding:22px; display:flex; align-items:center; justify-content:center; gap:14px; color:var(--member-muted); background:#f8f9f5; border:1px dashed #c7ceba; border-radius:9px; text-align:left; }
.member-cart-empty-icon { width:38px; height:38px; flex:none; display:grid; place-items:center; color:#33400c; background:var(--member-green); border-radius:50%; font-size:23px; font-weight:500; }
.member-cart-empty div { display:grid; }
.member-cart-empty strong { color:var(--member-ink); }
.member-cart-empty small { font-size:11px; }
.member-cart-content { margin-top:20px; }
.member-cart-items { display:grid; border:1px solid var(--member-line); border-radius:9px; overflow:hidden; }
.member-cart-row { padding:14px 16px; display:grid; grid-template-columns:minmax(190px,1fr) 150px 145px auto; align-items:center; gap:18px; background:#fff; border-bottom:1px solid var(--member-line); }
.member-cart-row:last-child { border-bottom:0; }
.member-cart-product { min-width:0; display:grid; gap:2px; }
.member-cart-product strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.member-cart-product small { overflow:hidden; color:var(--member-muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.member-cart-quantity { min-width:0; display:grid; gap:4px; }
.member-cart-quantity > span:first-child,.member-cart-line-total span { color:var(--member-muted); font-size:9px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.member-cart-quantity input { min-height:39px; }
.member-cart-line-total { display:grid; justify-items:end; gap:2px; }
.member-cart-line-total strong { font-size:16px; }
.member-cart-remove { padding:7px 0; color:var(--member-danger); background:transparent; border:0; font-size:11px; font-weight:800; cursor:pointer; }
.member-cart-remove:hover { text-decoration:underline; }
.member-cart-summary { padding:18px 0; display:grid; grid-template-columns:1fr auto; align-items:end; gap:2px 20px; border-bottom:1px solid var(--member-line); }
.member-cart-summary > span { color:var(--member-muted); font-size:12px; font-weight:800; }
.member-cart-summary > strong { font-size:25px; }
.member-cart-summary > small { grid-column:1/-1; color:var(--member-muted); font-size:10px; }
.member-cart .member-checkout { margin:0; padding:22px 0; border-bottom:1px solid var(--member-line); }
.member-cart-confirmation { padding-top:20px; display:flex; align-items:center; justify-content:flex-end; gap:20px; }
.member-cart-confirmation > label { max-width:470px; display:flex; align-items:flex-start; gap:10px; cursor:pointer; }
.member-cart-confirmation input[type="checkbox"] { width:18px; height:18px; flex:none; margin-top:3px; accent-color:var(--member-green-dark); }
.member-cart-confirmation label span { display:grid; }
.member-cart-confirmation label strong { font-size:13px; }
.member-cart-confirmation label small { color:var(--member-muted); font-size:10px; }
.member-cart-submit { min-width:230px; }
.member-cart-status { min-height:18px; margin:10px 0 -8px; color:var(--member-muted); font-size:11px; text-align:right; }
.member-order-list { display:grid; gap:11px; }
.member-order-card { padding:18px 20px; }
.member-order-main { display:flex; justify-content:space-between; gap:20px; }
.member-order-number { color:var(--member-green-dark); font-size:11px; font-weight:850; letter-spacing:.05em; }
.member-order-card h3 { margin:6px 0 2px; font-size:15px; }
.member-order-card p { margin:0; color:var(--member-muted); font-size:12px; }
.member-order-total { min-width:135px; display:grid; justify-items:end; gap:5px; }
.member-order-total > strong { font-size:18px; }
.member-order-total small { color:var(--member-muted); font-size:10px; }
.member-order-status { padding:4px 8px; color:#5a481e; background:#fff5d7; border-radius:999px; font-size:10px; font-weight:850; }
.member-order-status.ready,.member-order-status.completed { color:#28462d; background:#e7f3e8; }
.member-order-status.cancelled { color:#6b3430; background:#f8e8e6; }
.member-order-card form { margin-top:10px; border-top:1px solid var(--member-line); }
.member-payment-details { margin-top:14px; padding:12px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; background:var(--member-green-soft); border:1px solid var(--member-line); border-radius:7px; }
.member-payment-details span { min-width:0; display:grid; gap:2px; }
.member-payment-details small { color:var(--member-muted); font-size:9px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.member-payment-details strong { overflow-wrap:anywhere; font-size:12px; }
.member-empty { min-height:120px; padding:28px; display:grid; place-content:center; gap:4px; color:var(--member-muted); text-align:center; grid-column:1/-1; }
.member-empty strong { color:var(--member-ink); }
.member-table-card { overflow:hidden; }
.member-table-wrap { overflow:auto; }
.member-table-card table { width:100%; border-collapse:collapse; }
.member-table-card th,.member-table-card td { padding:14px 16px; text-align:left; border-bottom:1px solid var(--member-line); }
.member-table-card th { color:var(--member-muted); background:#f5f7f1; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.member-table-card tbody tr:last-child td { border-bottom:0; }

.member-blog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.member-blog-card { padding:22px; display:grid; grid-template-columns:58px minmax(0,1fr); gap:16px; align-items:start; }
.member-blog-file-icon { width:58px; height:68px; display:grid; place-items:center; color:#fff; background:var(--member-green-dark); border-radius:9px 9px 9px 3px; box-shadow:inset 0 -8px 0 rgba(0,0,0,.1); font-size:11px; font-weight:950; letter-spacing:.08em; }
.member-blog-content { min-width:0; }
.member-blog-content .member-eyebrow { margin-bottom:6px; font-size:9px; }
.member-blog-content h2 { margin:0 0 8px; font-size:21px; }
.member-blog-content > p:not(.member-eyebrow) { margin:0 0 10px; color:var(--member-muted); white-space:pre-line; }
.member-blog-content > small { display:block; overflow-wrap:anywhere; color:var(--member-muted); }
.member-blog-card > .member-btn { grid-column:1 / -1; margin-top:3px; }

html[data-dispensing-theme-resolved="dark"] { --member-ink:#edf0e9; --member-muted:#aeb5a5; --member-line:#363c31; --member-bg:#11130f; --member-card:#1b1e18; --member-green-soft:#252b19; color-scheme:dark; }
html[data-dispensing-theme-resolved="dark"] body { background:var(--member-bg); }
html[data-dispensing-theme-resolved="dark"] h1 { color:#f7f8f5; }
html[data-dispensing-theme-resolved="dark"] .member-card,html[data-dispensing-theme-resolved="dark"] .member-login-card { color:var(--member-ink); background:var(--member-card); border-color:var(--member-line); }
html[data-dispensing-theme-resolved="dark"] .member-form input,html[data-dispensing-theme-resolved="dark"] .member-form textarea,html[data-dispensing-theme-resolved="dark"] .member-notes textarea,html[data-dispensing-theme-resolved="dark"] .member-product-order input,html[data-dispensing-theme-resolved="dark"] .member-cart-quantity input { color:#eef1eb; background:#141711; border-color:#4b5344; }
html[data-dispensing-theme-resolved="dark"] .member-form label > span,html[data-dispensing-theme-resolved="dark"] .member-notes > span { color:#cdd2c7; }
html[data-dispensing-theme-resolved="dark"] .member-btn.secondary { color:#eef1eb; background:#242820; border-color:#4b5344; }
html[data-dispensing-theme-resolved="dark"] .member-product-values span,html[data-dispensing-theme-resolved="dark"] .member-choice,html[data-dispensing-theme-resolved="dark"] .member-table-card th { background:#151812; border-color:#343a2f; }
html[data-dispensing-theme-resolved="dark"] .member-product-values strong { color:#edf0e9; }
html[data-dispensing-theme-resolved="dark"] .member-quota-track { background:#394034; }
html[data-dispensing-theme-resolved="dark"] .member-eyebrow,
html[data-dispensing-theme-resolved="dark"] .member-product-type { color:#b6c64f; }
html[data-dispensing-theme-resolved="dark"] .member-card-heading > strong,
html[data-dispensing-theme-resolved="dark"] .member-stock { color:#bdcc68; }
html[data-dispensing-theme-resolved="dark"] .member-status-pill { color:#dde7b0; background:#232818; border-color:#69773a; }
html[data-dispensing-theme-resolved="dark"] .member-annual-fee-pill.paid { color:#e2eab9; background:#232818; border-color:#69773a; }
html[data-dispensing-theme-resolved="dark"] .member-annual-fee-pill.unpaid { color:#ffaaa3; background:#2d1816; border-color:#81413c; }
html[data-dispensing-theme-resolved="dark"] .member-quota-values { color:#c2c9bc; }
html[data-dispensing-theme-resolved="dark"] .member-quota-reservation { color:#ecd89e; background:#2a2517; border-color:#665833; }
html[data-dispensing-theme-resolved="dark"] .member-request-state.pending { color:#ecd89e !important; background:#2a2517; border-color:#665833; }
html[data-dispensing-theme-resolved="dark"] .member-blog-file-icon { color:#11140c; background:#b3c34f; }
html[data-dispensing-theme-resolved="dark"] .member-notice.error { color:#efc0bc; background:#2b1b1a; border-color:#643d39; }
html[data-dispensing-theme-resolved="dark"] .member-notice.success { color:#c0ddc4; background:#19271b; border-color:#3f6545; }
html[data-dispensing-theme-resolved="dark"] .member-ready-notice { color:#eef2e4; background:linear-gradient(120deg,#202719,#151812); border-color:#59682c; }
html[data-dispensing-theme-resolved="dark"] .member-ready-order-list small { color:#bdc6aa; }

@media (max-width:820px) {
  .member-blog-grid { grid-template-columns:1fr; }
}
html[data-dispensing-theme-resolved="dark"] .member-sidebar { background:#1b1e18; border-color:#363c31; }
html[data-dispensing-theme-resolved="dark"] .member-sidebar-nav a:hover,
html[data-dispensing-theme-resolved="dark"] .member-sidebar-nav button:hover { background:#252b19; border-color:#4d582b; }
html[data-dispensing-theme-resolved="dark"] .member-sidebar-nav a.active { color:#0b0d08; background:var(--member-green); border-color:#b5c340; }
html[data-dispensing-theme-resolved="dark"] .member-sidebar-nav a.active small { color:#30370b; }
html[data-dispensing-theme-resolved="dark"] .member-sidebar-nav a.active .member-nav-icon { color:#e8ebdf; background:#151711; }
html[data-dispensing-theme-resolved="dark"] .member-product-cover,
html[data-dispensing-theme-resolved="dark"] .member-product-gallery-empty { background:linear-gradient(145deg,#20251a,#141711); border-color:#3d4435; }
html[data-dispensing-theme-resolved="dark"] .member-product-gallery-item { background:#171a14; border-color:#363c31; }
html[data-dispensing-theme-resolved="dark"] .member-product-gallery-item img { background:#11130f; }
html[data-dispensing-theme-resolved="dark"] .member-product-description { color:#d6dbd0; }
html[data-dispensing-theme-resolved="dark"] .member-product-card.in-cart { border-color:#9bae30; box-shadow:0 0 0 2px rgba(155,174,48,.18); }
html[data-dispensing-theme-resolved="dark"] .member-product-feedback[data-tone="success"] { color:#c4d478; }
html[data-dispensing-theme-resolved="dark"] .member-cart-count { color:#dce8a3; background:#252b19; border-color:#4d582b; }
html[data-dispensing-theme-resolved="dark"] .member-cart-empty { background:#151812; border-color:#4a5142; }
html[data-dispensing-theme-resolved="dark"] .member-cart-empty-icon { color:#11140c; }
html[data-dispensing-theme-resolved="dark"] .member-cart-row { background:#171a14; border-color:#363c31; }

@media (max-width:1050px) {
  .member-portal-shell { grid-template-columns:220px minmax(0,1fr); gap:22px; }
  .member-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .member-checkout { grid-template-columns:1fr 1fr; }
  .member-account-grid { grid-template-columns:1fr; }
  .member-product-detail-layout { grid-template-columns:1fr; }
  .member-product-detail-card { position:static; }
  .member-cart-row { grid-template-columns:minmax(180px,1fr) 135px 125px auto; gap:12px; }
}
@media (max-width:860px) {
  .member-portal-shell { width:calc(100% - 28px); display:block; }
  .member-sidebar { position:static; margin-top:20px; }
  .member-sidebar-heading { display:none; }
  .member-sidebar-nav { grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px; }
  .member-sidebar-nav a,.member-sidebar-nav button { min-height:54px; grid-template-columns:1fr; justify-items:center; gap:2px; text-align:center; }
  .member-sidebar-nav small { display:none; }
  .member-sidebar-nav form { margin:0; padding:0; border:0; }
  .member-nav-icon { width:26px; height:23px; background:transparent; }
  .member-portal-shell .member-portal-main { padding-top:24px; }
}
@media (max-width:760px) {
  .member-portal-header { min-height:64px; padding-inline:14px; }
  .member-portal-brand img { width:78px; height:36px; }
  .member-portal-brand span { display:none; }
  .member-header-account span { font-size:11px; }
  .member-header-account small { font-size:9px; }
  .member-portal-main { padding:24px 0 46px; }
  .member-portal-public-main { width:calc(100% - 28px); }
  .member-portal-footer { padding:18px 14px; display:grid; }
  .member-login-shell,.member-password-shell { min-height:auto; grid-template-columns:1fr; gap:28px; }
  .member-login-copy { padding-top:16px; }
  .member-login-copy ul { display:none; }
  .member-login-card,.member-password-card { padding:22px; }
  .member-account-card { padding:20px; }
  .member-form-grid { grid-template-columns:1fr; }
  .member-form-full { grid-column:auto; }
  .member-quota-reservation { display:grid; }
  .member-quota-reservation strong { text-align:left; }
  .member-dashboard-hero { align-items:flex-start; }
  .member-status-pill { display:none; }
  .member-quota-grid,.member-product-grid { grid-template-columns:1fr; }
  .member-card-heading { display:grid; }
  .member-card-heading > strong { font-size:17px; }
  .member-product-order { align-items:stretch; }
  .member-checkout { grid-template-columns:1fr; }
  .member-checkout fieldset { display:grid; }
  .member-cart-row { grid-template-columns:minmax(0,1fr) 130px auto; }
  .member-cart-product { grid-column:1/-1; }
  .member-cart-line-total { justify-items:start; }
  .member-cart-confirmation { align-items:stretch; flex-direction:column; }
  .member-cart-submit { width:100%; }
  .member-cart-status { text-align:left; }
  .member-section { padding-top:42px; }
  .member-order-main { display:grid; }
  .member-order-total { justify-items:start; }
  .member-payment-details { grid-template-columns:1fr 1fr; }
  .member-table-card table { min-width:650px; }
  .member-product-detail-title { align-items:flex-start; }
  .member-product-gallery-item img { height:220px; }
  .member-product-gallery-item:first-child img { height:min(68vw,430px); }
}
@media (max-width:520px) {
  .member-sidebar-nav { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .member-sidebar-nav form { grid-column:1 / -1; }
  .member-sidebar-nav form button { min-height:38px; grid-template-columns:auto auto; justify-content:center; }
  .member-sidebar-nav form .member-nav-icon { display:none; }
  .member-section-heading { display:grid; }
  .member-section-heading .member-btn { width:100%; }
  .member-product-detail-title { display:grid; }
  .member-product-price { justify-items:start; }
  .member-product-gallery { grid-template-columns:1fr; }
  .member-product-gallery-item:first-child { grid-column:auto; }
  .member-product-gallery-item img,.member-product-gallery-item:first-child img { height:72vw; max-height:360px; }
  .member-product-order-controls { grid-template-columns:1fr; }
  .member-cart { padding:18px; }
  .member-cart-heading { display:grid; }
  .member-cart-count { justify-self:start; }
  .member-cart-row { grid-template-columns:minmax(0,1fr) auto; gap:12px; }
  .member-cart-product { grid-column:1/-1; }
  .member-cart-quantity { min-width:130px; }
  .member-cart-line-total { justify-items:end; }
  .member-cart-remove { grid-column:1/-1; justify-self:start; }
}

.demo-mode-banner {
  position:relative;
  z-index:100;
  min-height:46px;
  padding:10px 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#090b07;
  background:#90a31d;
  border-bottom:2px solid #080a07;
  box-shadow:0 4px 14px rgba(8,10,7,.18);
  font-size:12px;
  line-height:1.35;
  text-align:center;
}
.demo-mode-banner strong { font-size:12px; letter-spacing:.055em; }
.demo-mode-banner-dot { width:10px; height:10px; flex:0 0 10px; background:#fff; border:2px solid #080a07; border-radius:50%; box-shadow:0 0 0 3px rgba(255,255,255,.35); }
@media (max-width:620px) {
  .demo-mode-banner { padding:9px 12px; align-items:flex-start; flex-wrap:wrap; gap:5px 8px; }
  .demo-mode-banner > span:last-child { width:100%; font-size:10px; }
}

/* Organized member portal and mobile-first interaction */
.member-header-account { padding:6px 9px; color:#f5f7f1; border:1px solid transparent; border-radius:8px; text-decoration:none; }
.member-header-account:hover { background:#1b2017; border-color:#39432d; }
.member-mobile-menu { display:none; }
.member-mobile-menu summary { list-style:none; }
.member-mobile-menu summary::-webkit-details-marker { display:none; }
.member-nav-label-mobile { display:none; }
.member-hero-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.member-hero-action { white-space:nowrap; }
.member-page-tabs { margin-top:18px; display:flex; align-items:center; gap:7px; }
.member-page-tabs a { min-height:36px; padding:7px 11px; display:inline-flex; align-items:center; color:var(--member-ink); background:var(--member-card); border:1px solid var(--member-line); border-radius:999px; font-size:11px; font-weight:800; text-decoration:none; }
.member-page-tabs a:hover { color:var(--member-black); background:var(--member-green-soft); border-color:#c6d080; }
.member-form-section { min-width:0; margin:0; padding:15px; border:1px solid var(--member-line); border-radius:9px; }
.member-form-section legend { padding:0 7px; color:var(--member-green-dark); font-size:11px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.member-form-section > .member-form-grid { gap:12px; }
.member-product-gallery-column { min-width:0; }
.member-gallery-heading { margin-bottom:9px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.member-gallery-heading strong { font-size:13px; }
.member-gallery-heading span { color:var(--member-muted); font-size:10px; }
.member-mobile-cart-shortcut { display:none; }
.member-opening-hours { margin-top:18px; padding:15px 18px; }
.member-opening-hours-summary { display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:12px; }
.member-opening-hours-icon { width:36px; height:36px; display:grid; place-items:center; color:var(--member-black); background:var(--member-green); border-radius:9px; font-size:22px; font-weight:900; }
.member-opening-hours-title { min-width:0; display:grid; }
.member-opening-hours-title > span { overflow:hidden; color:var(--member-muted); font-size:9px; font-weight:850; letter-spacing:.07em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.member-opening-hours-title h2 { margin:1px 0 0; font-size:18px; }
.member-opening-hours-today { min-width:0; display:grid; justify-items:end; text-align:right; }
.member-opening-hours-today span { color:var(--member-muted); font-size:9px; font-weight:800; text-transform:uppercase; }
.member-opening-hours-today strong { max-width:44vw; overflow-wrap:anywhere; color:var(--member-green-dark); font-size:14px; }
.member-opening-hours-details { margin-top:11px; border-top:1px solid var(--member-line); }
.member-opening-hours-details > summary { min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--member-ink); list-style:none; font-size:11px; font-weight:850; cursor:pointer; }
.member-opening-hours-details > summary::-webkit-details-marker { display:none; }
.member-opening-hours-details > summary b { color:var(--member-green-dark); font-size:16px; transition:transform .16s ease; }
.member-opening-hours-details[open] > summary b { transform:rotate(180deg); }
.member-opening-hours-week { padding:3px 0 4px; display:grid; grid-template-columns:1fr 1fr; gap:5px 14px; }
.member-opening-hours-week > div { min-height:32px; padding:6px 8px; display:flex; align-items:center; justify-content:space-between; gap:10px; background:var(--member-bg); border:1px solid transparent; border-radius:7px; font-size:10px; }
.member-opening-hours-week > div.today { background:var(--member-green-soft); border-color:#d0d99e; }
.member-opening-hours-week span { color:var(--member-muted); }
.member-opening-hours-week strong { text-align:right; }
.member-opening-hours-week strong.not-configured { color:var(--member-muted); font-weight:650; }
.member-opening-hours-note { margin:8px 0 0; padding-top:8px; color:var(--member-muted); border-top:1px dashed var(--member-line); font-size:10px; }
.member-opening-hours-note strong { color:var(--member-ink); }

html[data-dispensing-theme-resolved="dark"] .member-header-account:hover { background:#1d2219; border-color:#424b37; }
html[data-dispensing-theme-resolved="dark"] .member-page-tabs a,
html[data-dispensing-theme-resolved="dark"] .member-form-section { color:var(--member-ink); background:#171a14; border-color:#3c4336; }
html[data-dispensing-theme-resolved="dark"] .member-page-tabs a:hover { color:#0b0d08; background:var(--member-green); border-color:#b5c340; }
html[data-dispensing-theme-resolved="dark"] .member-opening-hours-icon { color:#11140c; }
html[data-dispensing-theme-resolved="dark"] .member-opening-hours-today strong { color:#c7d66a; }
html[data-dispensing-theme-resolved="dark"] .member-opening-hours-week > div { background:#141711; }
html[data-dispensing-theme-resolved="dark"] .member-opening-hours-week > div.today { background:#252b19; border-color:#4d582b; }

@media (max-width:860px) {
  .member-portal-body { padding-bottom:env(safe-area-inset-bottom); }
  .member-preorder-page { padding-bottom:calc(82px + env(safe-area-inset-bottom)); }
  .member-portal-header { z-index:90; overflow:visible; }
  .member-portal-shell { width:calc(100% - 28px); min-height:calc(100vh - 72px); display:block; }
  .member-sidebar { display:none; }
  .member-header-account-desktop { display:none; }
  .member-mobile-menu { position:relative; display:block; flex:none; }
  .member-mobile-menu > summary { min-height:46px; padding:5px 7px 5px 10px; display:flex; align-items:center; justify-content:flex-end; gap:9px; color:#f5f7f1; border:1px solid #30382a; border-radius:9px; cursor:pointer; user-select:none; }
  .member-mobile-menu > summary:focus-visible { outline:2px solid var(--member-green); outline-offset:2px; }
  .member-mobile-menu > summary > span { min-width:0; display:grid; justify-items:end; }
  .member-mobile-menu > summary strong,.member-mobile-menu > summary small { max-width:42vw; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .member-mobile-menu > summary strong { font-size:11px; }
  .member-mobile-menu > summary small { color:#aeb69d; font-size:8px; }
  .member-mobile-menu > summary .member-mobile-menu-label { color:#c7d44f; font-size:10px; font-weight:900; letter-spacing:.08em; line-height:1.2; text-transform:uppercase; }
  .member-mobile-menu > summary i { width:24px; height:24px; display:grid; place-items:center; color:#c9d18f; background:#1a1f16; border-radius:6px; font-size:16px; font-style:normal; transition:transform .16s ease; }
  .member-mobile-menu[open] > summary { background:#171b14; border-color:#4d592f; }
  .member-mobile-menu[open] > summary i { transform:rotate(180deg); }
  .member-mobile-menu-panel { position:absolute; top:calc(100% + 9px); right:0; width:min(330px,calc(100vw - 24px)); padding:8px; display:grid; gap:3px; color:var(--member-ink); background:var(--member-card); border:1px solid var(--member-line); border-radius:12px; box-shadow:0 22px 55px rgba(0,0,0,.25); }
  .member-mobile-menu-panel a,.member-mobile-menu-panel button { width:100%; min-height:55px; padding:8px 9px; display:grid; grid-template-columns:36px minmax(0,1fr); align-items:center; gap:10px; color:var(--member-ink); background:transparent; border:1px solid transparent; border-radius:8px; text-align:left; text-decoration:none; cursor:pointer; }
  .member-mobile-menu-panel a:hover,.member-mobile-menu-panel button:hover { background:var(--member-green-soft); border-color:#d2daa9; }
  .member-mobile-menu-panel a.active { color:var(--member-black); background:var(--member-green); border-color:var(--member-green-dark); }
  .member-mobile-menu-panel a > span:last-child,.member-mobile-menu-panel button > span:last-child { min-width:0; display:grid; }
  .member-mobile-menu-panel strong { font-size:12px; }
  .member-mobile-menu-panel small { overflow:hidden; color:var(--member-muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
  .member-mobile-menu-panel a.active small { color:#39400d; }
  .member-mobile-menu-panel .member-nav-icon { width:32px; height:32px; }
  .member-mobile-menu-panel a.active .member-nav-icon { color:#fff; background:#1b1e16; }
  .member-mobile-menu-panel form { margin:4px 0 0; padding-top:5px; border-top:1px solid var(--member-line); }
  .member-portal-shell .member-portal-main { padding:24px 0 34px; }
  .member-portal-footer { display:none; }
  .member-mobile-cart-shortcut { position:fixed; z-index:75; right:14px; bottom:calc(14px + env(safe-area-inset-bottom)); left:14px; min-height:58px; padding:9px 12px; display:flex; align-items:center; justify-content:space-between; gap:16px; color:var(--member-black); background:var(--member-green); border:1px solid var(--member-green-dark); border-radius:11px; box-shadow:0 12px 34px rgba(9,11,8,.28); text-decoration:none; }
  .member-mobile-cart-shortcut[hidden] { display:none; }
  .member-mobile-cart-shortcut > span { display:grid; }
  .member-mobile-cart-shortcut strong { font-size:12px; }
  .member-mobile-cart-shortcut small { font-size:11px; font-weight:800; }
  .member-mobile-cart-shortcut b { font-size:12px; }
  html[data-dispensing-theme-resolved="dark"] .member-mobile-menu-panel { background:#171a14; border-color:#3a4233; }
  html[data-dispensing-theme-resolved="dark"] .member-mobile-menu-panel a,
  html[data-dispensing-theme-resolved="dark"] .member-mobile-menu-panel button { color:#edf0e9; }
  html[data-dispensing-theme-resolved="dark"] .member-mobile-menu-panel a:hover,
  html[data-dispensing-theme-resolved="dark"] .member-mobile-menu-panel button:hover { background:#252b19; border-color:#4d582b; }
}

@media (max-width:760px) {
  body { font-size:14px; }
  h1 { font-size:clamp(28px,9vw,38px); }
  h2 { font-size:21px; }
  .member-portal-header { min-height:60px; padding:8px 12px; }
  .member-portal-brand img { width:66px; height:38px; }
  .member-header-account { max-width:58%; padding:5px 7px; }
  .member-header-account span,.member-header-account small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .member-header-account span { font-size:10px; }
  .member-header-account small { font-size:8px; }
  .member-dashboard-hero { padding:8px 0 20px; display:grid; align-items:start; gap:16px; }
  .member-dashboard-hero > div:first-child { min-width:0; }
  .member-dashboard-hero p:last-child { font-size:13px; }
  .member-hero-actions { width:100%; justify-content:space-between; }
  .member-hero-actions .member-status-pill { display:flex; margin:0; }
  .member-annual-fee-pill { flex:1; }
  .member-hero-action { min-height:38px; padding:8px 11px; font-size:11px; }
  .member-page-tabs { width:100%; margin-top:15px; padding-bottom:3px; overflow-x:auto; flex-wrap:nowrap; scrollbar-width:none; }
  .member-page-tabs::-webkit-scrollbar { display:none; }
  .member-page-tabs a { flex:none; }
  .member-quota-grid { margin-top:16px; gap:12px; }
  .member-quota-card { padding:17px; }
  .member-quota-track { margin-top:15px; }
  .member-quota-values { display:grid; gap:2px; }
  .member-section { padding-top:34px; }
  .member-first-section { padding-top:22px; }
  .member-section-heading { margin-bottom:13px; gap:12px; }
  .member-section-heading h2 { margin-bottom:2px; }
  .member-card { border-radius:10px; }
  .member-product-card { padding:16px; }
  .member-product-cover { height:210px; margin:-16px -16px 14px; }
  .member-product-card h3 { margin-top:13px; }
  .member-product-values { margin-bottom:16px; }
  .member-product-order-controls .member-btn { min-height:44px; }
  .member-account-grid { margin-top:18px; gap:14px; }
  .member-account-card { padding:17px; scroll-margin-top:76px; }
  .member-form-section { padding:12px; }
  .member-profile-form > .member-btn,.member-account-card .member-form > .member-btn { width:100%; justify-self:stretch; }
  .member-form input,.member-form textarea,.member-notes textarea,.member-product-order input,.member-cart-quantity input { font-size:16px; }
  .member-blog-card { padding:17px; }
  .member-order-card { padding:16px; }
  .member-order-main { gap:12px; }
  .member-order-total { min-width:0; grid-template-columns:auto 1fr; justify-items:start; align-items:center; }
  .member-order-total > strong { grid-column:1/-1; }
  .member-payment-details { grid-template-columns:1fr 1fr; }
  .member-login-shell,.member-password-shell { gap:20px; }
  .member-login-copy > p:not(.member-eyebrow),.member-page-intro p:last-child { font-size:14px; }
  .member-login-card,.member-password-card { padding:19px; }
}

@media (max-width:620px) {
  .member-portal-shell,.member-portal-public-main { width:calc(100% - 20px); }
  .member-portal-shell .member-portal-main,.member-portal-main { padding-top:18px; }
  .member-notice { padding:11px 12px; font-size:12px; }
  .member-btn { min-height:46px; }
  .member-status-pill { padding:7px 9px; font-size:10px; }
  .member-hero-actions .member-status-pill { display:none; }
  .member-annual-fee-pill { min-width:0; }
  .member-hero-action { flex:1; }
  .member-opening-hours { margin-top:10px; padding:11px 12px; }
  .member-opening-hours-summary { grid-template-columns:31px minmax(0,1fr) auto; gap:8px; }
  .member-opening-hours-icon { width:30px; height:30px; border-radius:7px; font-size:18px; }
  .member-opening-hours-title > span { font-size:7px; }
  .member-opening-hours-title h2 { font-size:15px; }
  .member-opening-hours-today span { font-size:7px; }
  .member-opening-hours-today strong { max-width:40vw; font-size:12px; }
  .member-opening-hours-details { margin-top:8px; }
  .member-opening-hours-details > summary { min-height:34px; font-size:10px; }
  .member-opening-hours-week { grid-template-columns:1fr; gap:4px; }
  .member-opening-hours-week > div { min-height:29px; padding:5px 7px; font-size:9px; }
  .member-opening-hours-note { margin-top:6px; padding-top:6px; font-size:9px; }
  .member-quota-grid { margin-top:12px; gap:9px; }
  .member-quota-card { padding:13px 14px; }
  .member-quota-card .member-card-heading { display:flex; align-items:center; gap:8px; }
  .member-quota-card .member-card-heading span { font-size:8px; }
  .member-quota-card .member-card-heading h2 { margin-top:1px; font-size:16px; }
  .member-quota-card .member-card-heading > strong { font-size:15px; white-space:nowrap; }
  .member-quota-track { height:8px; margin:10px 0 6px; }
  .member-quota-values { display:flex; gap:8px; font-size:10px; }
  .member-quota-values span:last-child { margin-left:auto; white-space:nowrap; }
  .member-quota-reservation { margin-top:7px; padding:6px 8px; gap:1px; font-size:9px; line-height:1.35; }
  .member-quota-card > small { margin-top:7px; font-size:8px; line-height:1.3; }
  .member-quota-reset { gap:7px; }
  .member-quota-reset strong { white-space:nowrap; }
  .member-card-heading { gap:7px; }
  .member-card-heading > strong { font-size:16px; }
  .member-product-top { align-items:flex-start; }
  .member-stock { max-width:52%; text-align:right; }
  .member-product-order-controls { grid-template-columns:minmax(105px,.75fr) minmax(0,1.25fr); }
  .member-product-detail-head { padding-top:2px; }
  .member-product-detail-title { margin-top:17px; gap:10px; }
  .member-product-price strong { font-size:23px; }
  .member-product-detail-layout { padding-top:18px; gap:14px; }
  .member-gallery-heading { align-items:flex-end; }
  .member-gallery-heading span { max-width:62%; text-align:right; }
  .member-product-gallery { margin-inline:-10px; padding-inline:10px; display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .member-product-gallery::-webkit-scrollbar { display:none; }
  .member-product-gallery-item,.member-product-gallery-item:first-child { min-width:88%; flex:0 0 88%; scroll-snap-align:center; }
  .member-product-gallery-item img,.member-product-gallery-item:first-child img { height:min(78vw,390px); }
  .member-product-gallery.without-images { display:block; margin:0; padding:0; overflow:visible; }
  .member-product-gallery-empty { min-height:260px; }
  .member-product-detail-card { padding:18px; gap:18px; }
  .member-product-detail-card .member-btn { width:100%; }
  .member-cart { margin-top:18px; padding:14px; }
  .member-cart-heading { gap:9px; }
  .member-cart-empty { min-height:0; padding:16px; align-items:flex-start; justify-content:flex-start; }
  .member-cart-items { overflow:visible; border:0; gap:9px; }
  .member-cart-row { padding:13px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:11px; background:var(--member-card); border:1px solid var(--member-line); border-radius:8px; }
  .member-cart-row:last-child { border-bottom:1px solid var(--member-line); }
  .member-cart-product { grid-column:1/-1; }
  .member-cart-product strong,.member-cart-product small { white-space:normal; }
  .member-cart-quantity { min-width:125px; }
  .member-cart-line-total { justify-items:end; }
  .member-cart-remove { grid-column:1/-1; justify-self:start; min-height:34px; }
  .member-cart-summary { padding:15px 0; }
  .member-cart-summary > strong { font-size:22px; }
  .member-cart .member-checkout { padding:17px 0; gap:17px; }
  .member-checkout fieldset { display:grid; }
  .member-choice { min-height:58px; }
  .member-cart-confirmation { padding-top:16px; align-items:stretch; flex-direction:column; }
  .member-cart-submit { width:100%; min-width:0; }
  .member-cart-status { text-align:left; }
  .member-order-main { display:grid; }
  .member-order-total { justify-items:start; }
  .member-payment-details { grid-template-columns:1fr; }
  .member-order-card form .member-btn { width:100%; justify-content:flex-start; }
  .member-table-card { overflow:visible; background:transparent; border:0; box-shadow:none; }
  .member-table-wrap { overflow:visible; }
  .member-table-card table,.member-table-card tbody,.member-table-card tr,.member-table-card td { width:100%; min-width:0; display:block; }
  .member-table-card thead { display:none; }
  .member-table-card tbody { display:grid; gap:9px; }
  .member-table-card tr { overflow:hidden; background:var(--member-card); border:1px solid var(--member-line); border-radius:9px; box-shadow:0 6px 18px rgba(22,27,13,.035); }
  .member-table-card td { min-height:42px; padding:10px 12px; display:grid; grid-template-columns:82px minmax(0,1fr); gap:10px; align-items:start; border-bottom:1px solid var(--member-line); overflow-wrap:anywhere; }
  .member-table-card td::before { content:attr(data-label); color:var(--member-muted); font-size:9px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
  .member-table-card tr td:last-child { border-bottom:0; }
  .member-table-card .member-table-empty-row td { display:block; }
  .member-table-card .member-table-empty-row td::before { display:none; }
  .member-blog-grid { gap:11px; }
  .member-blog-card { grid-template-columns:46px minmax(0,1fr); gap:12px; }
  .member-blog-file-icon { width:46px; height:56px; font-size:9px; }
  .member-blog-content h2 { font-size:18px; }
  .member-blog-card > .member-btn { width:100%; }
  .member-form-grid { gap:11px; }
  .member-form-section .member-form-grid { grid-template-columns:1fr; }
  .member-form-section .member-form-full { grid-column:auto; }
  .member-password-card .member-btn { width:100%; }
  html[data-dispensing-theme-resolved="dark"] .member-cart-row,
  html[data-dispensing-theme-resolved="dark"] .member-table-card tr { background:#171a14; border-color:#363c31; }
}

/* Öffentliche Installationshilfe für die Mitglieder-Web-App */
.member-install-shell { width:min(940px,100%); margin:32px auto 60px; }
.member-install-intro { max-width:720px; }
.member-install-intro h1 { margin:7px 0 14px; font-size:clamp(32px,5vw,56px); line-height:1.02; letter-spacing:-.04em; }
.member-install-intro > p:not(.member-eyebrow) { color:var(--member-muted); font-size:16px; line-height:1.65; }
.member-install-intro .member-btn { width:max-content; margin-top:10px; }
.member-install-grid { margin-top:30px; display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.member-install-card { padding:24px; background:var(--member-card); border:1px solid var(--member-line); border-top:4px solid var(--member-green); border-radius:12px; box-shadow:var(--member-shadow); }
.member-install-platform { color:var(--member-green-dark); font-size:10px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.member-install-card h2 { margin:7px 0 15px; font-size:22px; }
.member-install-card ol { margin:0; padding-left:22px; display:grid; gap:10px; color:var(--member-ink); }
.member-install-card li { padding-left:4px; line-height:1.45; }
.member-install-card > p { margin:17px 0 0; color:var(--member-muted); font-size:12px; line-height:1.5; }
.member-install-help { margin:16px 0 0; padding:14px 16px; color:var(--member-muted); background:var(--member-green-soft); border:1px solid var(--member-line); border-radius:9px; font-size:12px; }
html[data-dispensing-theme-resolved="dark"] .member-install-card { background:#171a15; border-color:#3b4236; }
html[data-dispensing-theme-resolved="dark"] .member-install-platform { color:#c7d66a; }
html[data-dispensing-theme-resolved="dark"] .member-install-help { background:#252b19; border-color:#4d582b; }
@media(max-width:720px){
  .member-ready-notice { padding:16px; grid-template-columns:40px minmax(0,1fr); gap:12px; }
  .member-ready-notice-icon { width:40px; height:40px; font-size:20px; }
  .member-ready-notice-copy h2 { font-size:17px; }
  .member-ready-notice > .member-btn { grid-column:1 / -1; width:100%; }
  .member-install-shell { margin-top:14px; }
  .member-install-grid { grid-template-columns:1fr; margin-top:20px; }
  .member-install-card { padding:19px; }
  .member-install-intro h1 { font-size:34px; }
  .member-install-intro > p:not(.member-eyebrow) { font-size:14px; }
}

@media (max-width:390px) {
  .member-sidebar-nav,.member-sidebar-nav.forced-password { padding-inline:4px; }
  .member-sidebar-nav a,.member-sidebar-nav button { padding-inline:1px; }
  .member-sidebar-nav strong { font-size:9px; }
  .member-nav-icon { font-size:16px; }
  .member-header-account small { display:none; }
  .member-product-order-controls { grid-template-columns:1fr; }
  .member-product-order-controls .member-btn { width:100%; }
}
