/* DXI customer area, intentionally separate from staff admin styling. */
body.customer-page { background: #fcfaf7; color: #203734; min-height: 100vh; }
.customer-top { height: 76px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 clamp(22px,5vw,80px); background:#fff; border-bottom:1px solid #eae9e4; }
.customer-wordmark { font-family:var(--serif); font-size:20px; font-weight:700; letter-spacing:-.03em; color:#213e39; }
.customer-top-links { display:flex; gap:24px; align-items:center; font-size:12px; font-weight:600; }
.customer-top-links a { padding:12px 2px; }
.customer-top-links a:hover { text-decoration:underline; text-underline-offset:5px; }
.customer-field { display:flex; flex-direction:column; gap:8px; font-size:12px; font-weight:600; color:#394e49; }
.customer-field input { display:block; width:100%; border:1px solid #dde5df; border-radius:10px; padding:14px 16px; min-height:49px; font-size:13px; background:#fff; color:#243d36; outline:none; }
.customer-field input:focus { border-color:#477267; box-shadow:0 0 0 3px #e8f0eb; }
.customer-form a.text-link { color:#45645b; text-decoration:underline; text-underline-offset:3px; font-size:12px; }
.customer-primary { border:0; background:#25483e; color:white; font-weight:700; border-radius:10px; min-height:50px; padding:14px 20px; cursor:pointer; font-size:13px; }
.customer-primary:hover { background:#17362d; }
.customer-primary:disabled { opacity:.55; cursor:not-allowed; }
.customer-outline { border:1px solid #becdc3; background:#fff; border-radius:10px; min-height:43px; padding:10px 18px; cursor:pointer; color:#23473b; font-weight:600; }
.customer-outline:hover { background:#f2f7f3; }
.customer-message { border:1px solid #b4d7c1; color:#235a39; background:#f0f9f2; border-radius:10px; padding:13px 15px; font-size:12px; line-height:1.7; margin:2px 0; }
.customer-message.error { background:#fff4f2; border-color:#f0c8c1; color:#a23b31; }
.customer-smallnote { font-size:11px; line-height:1.8; color:#7d8883; margin:21px 0 0; }
.customer-foot { max-width:1200px; margin:0 auto; padding:25px 22px 45px; font-size:11px; color:#87908b; display:flex; justify-content:space-between; gap:20px; border-top:1px solid #eaece8; }
.customer-dashboard { max-width:1180px; margin:50px auto 92px; padding:0 22px; }
.customer-heading { display:flex; gap:20px; justify-content:space-between; align-items:end; margin:10px 0 30px; }
.customer-heading p { font-size:13px; color:#7c8782; line-height:1.6; margin:0; }
.customer-dashboard-grid { display:grid; grid-template-columns:240px 1fr; gap:24px; align-items:start; }
.customer-sidebar,.customer-panel,.customer-order-card { background:#fff; border:1px solid #e8e9e4; border-radius:17px; }
.customer-sidebar { padding:15px; }
.customer-sidebar a,.customer-sidebar button { text-align:left; display:flex; align-items:center; gap:11px; width:100%; border:0; background:none; padding:14px 12px; font-size:12px; font-weight:600; color:#667670; border-radius:9px; text-decoration:none; cursor:pointer; }
.customer-sidebar a.active,.customer-sidebar a:hover,.customer-sidebar button:hover { background:#eaf2ed; color:#244b3f; }
.customer-main { display:grid; gap:22px; }
.customer-panel { padding:clamp(24px,4vw,34px); }
.customer-panel h2 { font-family:var(--serif); font-weight:400; font-size:25px; letter-spacing:-.04em; margin:0 0 10px; }
.customer-panel p { font-size:13px; line-height:1.7; color:#7a8780; }
.customer-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:18px 0 21px; }
.customer-detail-grid .customer-field input[readonly] { background:#f7f9f6; color:#697970; }
.customer-orders-list { display:grid; gap:13px; padding-top:8px; }
.customer-order-card { padding:21px; }
.customer-order-top { display:flex; justify-content:space-between; gap:12px; align-items:center; border-bottom:1px solid #eef0ec; padding-bottom:15px; }
.customer-order-top strong { font-size:13px; }
.customer-order-meta { color:#7a8680; font-size:11px; margin-top:5px; }
.customer-order-pill { display:inline-block; background:#ecf3ee; color:#28513c; border-radius:999px; padding:7px 10px; font-size:10px; font-weight:700; }
.customer-order-items { display:grid; gap:9px; margin:16px 0; color:#586960; font-size:12px; }
.customer-order-bottom { display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:12px; }
.customer-empty { text-align:center; padding:35px 25px; border:1px dashed #cbdad0; border-radius:13px; background:#f9fcf9; }
.customer-empty strong { display:block; margin-bottom:7px; color:#314b40; }
.customer-muted { color:#75827b; font-size:12px; }
@media(max-width:800px){.customer-dashboard-grid{grid-template-columns:1fr}.customer-sidebar{display:flex;gap:6px;overflow:auto}.customer-sidebar a,.customer-sidebar button{width:auto;white-space:nowrap}.customer-detail-grid{grid-template-columns:1fr}.customer-heading{align-items:start;flex-direction:column}.customer-top{height:65px;padding:0 20px}.customer-top-links{gap:13px}.customer-foot{flex-direction:column}}


/* Clerk-only sign-in: no DXI header, hero, custom card, role tabs or footer.
   Only the outer layout is styled. Clerk owns the form and its accessibility. */
.customer-login-only {
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  background: #f8f9f7;
  color: #203734;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.customer-login-only *, .customer-login-only *::before, .customer-login-only *::after { box-sizing: border-box; }
.clerk-login-page {
  min-height: 100vh;
  min-height: 100dvh;
  width: 100%;
  display: grid;
  place-items: center;
  padding: clamp(20px, 5vw, 48px) 16px;
}
.clerk-login-center {
  width: 100%;
  max-width: 440px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.clerk-host {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 440px;
  justify-content: center;
  align-items: flex-start;
}
.clerk-host > * { max-width: 100%; min-width: 0; }
.clerk-login-status {
  width: min(100%, 400px);
  margin: 0;
  padding: 12px 16px;
  border: 1px solid #dfe8e0;
  background: #fff;
  border-radius: 12px;
  color: #4c6056;
  font-size: 13px;
  line-height: 1.55;
  text-align: center;
}
.clerk-login-status.error { border-color: #edcbc6; color: #933d36; background: #fff8f6; }
.clerk-login-retry {
  border: 1px solid #cad9cf;
  border-radius: 10px;
  padding: 10px 18px;
  background: white;
  color: #25483e;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
}
.clerk-login-retry:hover { background: #edf3ee; }
.clerk-login-retry:focus-visible { outline: 3px solid #80ab96; outline-offset: 3px; }
.clerk-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
@media (max-width: 480px) {
  .clerk-login-page { padding: 20px 10px; }
  .clerk-login-center, .clerk-host { max-width: 100%; }
}

/* Customer dashboard: compact account details and verified order history. */
.customer-eyebrow {display:block;font-size:11px;letter-spacing:.17em;font-weight:750;color:#506b60;text-transform:uppercase;}
.customer-dashboard h1 {font-family:var(--serif,Georgia,serif);font-size:clamp(39px,5vw,65px);line-height:1.08;letter-spacing:-.045em;margin:10px 0 14px;color:#203734;}
.customer-sidebar a[hidden],.customer-panel[hidden],.customer-message[hidden] {display:none!important;}
@media (max-width:640px){.customer-dashboard{margin:27px auto 52px;padding:0 15px}.customer-top-links{font-size:11px}.customer-panel{padding:22px 17px}.customer-order-top,.customer-order-bottom{flex-wrap:wrap}.customer-sidebar{scrollbar-width:thin}}

/* v4.9.11 customer dashboard — compact ecommerce navigation and in-account bag. */
.account-v511{background:#fcfaf8;color:#223c35;font-size:15px}
.account-v511 .customer-top{height:78px;background:#fffdfa;border-bottom:1px solid #e6e9e4;padding:0 clamp(20px,5vw,80px)}
.account-v511 .customer-wordmark{font-size:23px;letter-spacing:-.025em}
.account-v511 .customer-top-links{gap:26px;font-size:14px}
.customer-top-bag{display:inline-flex;position:relative;align-items:center;justify-content:center;border:1px solid #d7e4db;background:#fff;border-radius:13px;width:48px;height:48px;cursor:pointer;color:#25483e;flex-shrink:0}
.customer-top-bag:hover{background:#eff5ef}.customer-top-bag svg{width:23px;height:23px}
.customer-bag-count{position:absolute;top:-7px;right:-8px;display:flex;align-items:center;justify-content:center;min-width:23px;height:23px;padding:0 5px;border:2px solid white;border-radius:100px;background:#173e37;color:#fff;font:800 11px/1 Arial,sans-serif;font-variant-numeric:tabular-nums}
.account-v511 .customer-dashboard{max-width:1320px;margin:0 auto 85px;padding:clamp(35px,5vw,69px) clamp(18px,4vw,55px) 0}
.customer-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:27px}
.account-v511 .customer-dashboard h1{font-size:clamp(40px,5vw,66px);margin:7px 0 10px}
.customer-welcome p{color:#65766e;font-size:15px;margin:0;line-height:1.6}
.account-v511 .customer-outline{display:inline-flex;align-items:center;justify-content:center;font-size:14px;min-height:45px;white-space:nowrap}
.account-v511 #account-message{margin:0 0 23px;font-size:13px}
.account-v511 .customer-dashboard-grid{grid-template-columns:minmax(215px,245px) minmax(0,1fr);gap:23px}
.account-v511 .customer-sidebar{padding:18px 12px 17px;border-radius:17px;position:sticky;top:22px}
.account-nav-caption{display:block;font-size:11px;letter-spacing:.17em;font-weight:800;color:#7c8e83;padding:10px 16px 18px}
.account-v511 .customer-sidebar .account-nav-link{font-size:14px;padding:14px 14px;min-height:53px;gap:12px;line-height:1.4;color:#445b50}
.account-v511 .customer-sidebar .account-nav-link svg{width:20px;height:20px;flex-shrink:0}
.account-v511 .customer-sidebar .account-nav-link.active{background:#eaf3ee;color:#153e31}
.account-nav-count{margin-left:auto;display:flex;align-items:center;justify-content:center;border-radius:30px;background:#dce9df;color:#204737;font-size:11px;min-width:25px;height:25px;font-variant-numeric:tabular-nums}
.account-nav-divider{height:1px;background:#edf0eb;margin:12px 13px}
.account-nav-help{padding:20px 15px 7px;color:#73827a;font-size:12px;line-height:1.7}
.account-nav-help a{font-weight:700;color:#25483e;text-decoration:underline;text-underline-offset:3px}
.account-v511 .customer-main{min-width:0;display:block}
.account-v511 .customer-panel{padding:clamp(22px,3.5vw,38px);border-radius:18px;border-color:#e4e9e4;box-shadow:0 5px 28px rgba(23,60,45,.025)}
.account-tab-panel[hidden],#account-content[hidden],#account-checkout-area[hidden],#account-split-checkout[hidden],#account-guest-checkout[hidden],#account-shipping-notice[hidden],#account-checkout-error[hidden]{display:none!important}
.account-v511 .customer-panel h2{font-size:clamp(29px,3vw,39px);letter-spacing:-.035em;margin:7px 0 9px}
.account-v511 .customer-panel p{font-size:13px;line-height:1.7}
.account-section-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:23px;border-bottom:1px solid #edf0ec}
.account-text-link{font-weight:700;font-size:13px;color:#285745;white-space:nowrap}
.account-text-link:hover{text-decoration:underline;text-underline-offset:4px}
.bag-heading-count{display:inline-flex;align-items:center;justify-content:center;font:700 13px/1 system-ui,sans-serif;background:#e8efe9;color:#315541;border-radius:20px;min-width:29px;height:29px;vertical-align:middle;letter-spacing:0}
.account-bag-items{display:grid;gap:0}
.account-bag-row{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:20px;align-items:start;padding:22px 0;border-bottom:1px solid #eef0eb}
.account-bag-image{width:88px;height:100px;object-fit:cover;background:#f6eded;border-radius:12px}
.account-bag-copy{min-width:0}.account-item-title{font-size:15px;font-weight:700;line-height:1.45;display:block;overflow-wrap:anywhere}.account-item-title:hover{text-decoration:underline}
.account-item-category{font-size:11px!important;color:#7d8981!important;margin:6px 0 11px}
.account-item-price{font-size:15px;white-space:nowrap;font-variant-numeric:tabular-nums}
.account-item-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.account-qty-btn{width:32px;height:32px;border:1px solid #d9e2dc;background:white;border-radius:8px;cursor:pointer;font-size:17px;display:flex;align-items:center;justify-content:center}
.account-qty-btn:hover:not(:disabled){background:#eef6f0}.account-qty-btn:disabled{opacity:.4;cursor:not-allowed}
.account-qty-number{font-size:13px;font-weight:700;min-width:23px;text-align:center;font-variant-numeric:tabular-nums}
.account-remove{border:none;background:transparent;text-decoration:underline;text-underline-offset:3px;font-size:12px;margin-left:12px;cursor:pointer;color:#727f76}
.account-bag-empty{text-align:center;padding:56px 15px}.account-empty-symbol{font-size:26px;color:#9ab9a5}.account-bag-empty h3{font:400 clamp(23px,2.5vw,32px) Georgia,serif;letter-spacing:-.03em;margin:13px 0}
.account-bag-empty p{color:#718078}.account-bag-empty .customer-primary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;margin-top:15px}
.account-checkout-area{max-width:475px;margin:23px 0 0 auto;background:#f7faf7;padding:24px 25px;border:1px solid #e3ece4;border-radius:15px}
.account-total-row{display:flex;justify-content:space-between;gap:20px;font-size:15px}.account-total-row strong{font-size:20px;font-variant-numeric:tabular-nums}
.account-shipping-estimate{font-size:12px!important;color:#687a70!important;margin:10px 0 17px}
.account-country{font-size:12px;font-weight:750;display:grid;gap:8px}.account-country select{width:100%;min-height:45px;border:1px solid #cbd9ce;border-radius:9px;padding:8px 12px;background:#fff;color:#25483e;font:inherit;font-size:13px}
.account-shipping-notice,.account-checkout-error{padding:11px 13px;border:1px solid #edc7be;background:#fff5f2;border-radius:9px;color:#963e35;font-size:12px!important;line-height:1.6;margin:12px 0}
.account-payment-mode{font-size:11px!important;letter-spacing:.03em;color:#506e5b!important;margin:15px 0 9px}
.account-checkout-primary{width:100%;font-size:15px;min-height:53px;border-radius:10px}
.account-split-checkout{display:grid;gap:9px;margin-top:12px}.account-split-checkout p{margin:0 0 4px;color:#65766d}
.account-split-checkout button{padding:12px;border-radius:9px;border:1px solid #35604a;background:#fff;color:#214936;cursor:pointer;font-size:13px;font-weight:750}.account-split-checkout button:disabled{opacity:.45;cursor:not-allowed}
.account-guest-checkout{display:block;margin-top:13px;border:0;background:transparent;color:#285841;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:12px;line-height:1.5}
.account-secure-note{display:flex;align-items:flex-start;gap:8px;color:#738479!important;font-size:11px!important;margin:18px 0 0}.account-secure-note svg{width:17px;height:17px;flex-shrink:0}
.account-v511 .customer-orders-list{margin-top:20px}
.account-v511 .customer-order-card{border-radius:12px;border-color:#e4e9e4}
.account-security-block{border-top:1px solid #e9eee9;margin-top:25px;padding-top:24px}.account-security-block h3{font-size:17px;margin:0 0 6px}.account-security-block p{color:#74837b}
.account-v511 .customer-field{font-size:13px}.account-v511 .customer-field input{font-size:14px}
@media(max-width:860px){.account-v511 .customer-dashboard-grid{grid-template-columns:1fr}.account-v511 .customer-sidebar{position:static;display:flex;align-items:center;gap:6px;padding:10px;overflow-x:auto}.account-v511 .customer-sidebar .account-nav-link{min-width:max-content;width:auto;font-size:12px;padding:11px}.account-nav-caption,.account-nav-help,.account-nav-divider{display:none}.account-v511 .customer-sidebar .account-nav-link svg{width:17px;height:17px}}
@media(max-width:570px){.account-v511 .customer-top{height:68px;padding:0 15px}.account-v511 .customer-wordmark{font-size:20px}.account-v511 .customer-top-links{gap:12px}.account-v511 .customer-top-links .customer-continue{font-size:12px}.customer-top-bag{width:42px;height:42px}.customer-welcome{display:block;margin-bottom:22px}.account-v511 .customer-dashboard{padding:30px 14px 0;margin-bottom:50px}.account-v511 .customer-dashboard h1{font-size:42px}.customer-welcome p{font-size:13px}.welcome-shop{margin-top:17px}.account-v511 .customer-panel{padding:21px 16px}.account-v511 .customer-sidebar{margin:0 -1px;padding:8px;gap:4px}.account-v511 .customer-sidebar .account-nav-link{font-size:11px;gap:6px;padding:11px 9px}.account-v511 .customer-sidebar .account-nav-link svg{width:16px;height:16px}.account-nav-count{min-width:21px;height:21px;font-size:10px}.account-section-header{align-items:flex-start;flex-direction:column;gap:6px}.account-bag-row{grid-template-columns:67px minmax(0,1fr);gap:12px;padding:17px 0}.account-bag-image{width:67px;height:77px}.account-item-price{grid-column:2;grid-row:2}.account-item-title{font-size:13px}.account-remove{margin-left:0}.account-qty-btn{width:30px;height:30px}.account-checkout-area{margin-top:16px;padding:18px 15px}.account-v511 .customer-foot{padding:20px 16px 33px}}

/* 4.9.12: policy disclosure within signed-in checkout bag. */
.account-return-notice{padding:13px 15px;margin:12px 0 14px;background:#f4f8f5;border:1px solid #dce9e3;border-radius:12px;color:#354846;font-size:12px;line-height:1.65;}
.account-return-notice a,.customer-foot a[href="/returns"]{color:#174f4b;text-decoration:underline;text-underline-offset:3px;}

/* Production account: supplied pastel squishy photography, softened for readable content. */
body.customer-page.account-v511 {
  background-color:#fae8e2;
  background-image:linear-gradient(120deg,rgba(255,250,248,.52),rgba(255,245,243,.34)),url('/assets/customer-squishy-background.webp');
  background-size:cover;
  background-position:center center;
  background-attachment:fixed;
}
.account-v511 .customer-top {
  background:rgba(255,251,249,.68);
  border-bottom:1px solid rgba(255,255,255,.77);
  -webkit-backdrop-filter:blur(24px) saturate(1.2);
  backdrop-filter:blur(24px) saturate(1.2);
}
.account-v511 .customer-welcome {
  background:rgba(255,250,247,.65);
  border:1px solid rgba(255,255,255,.75);
  border-radius:24px;
  padding:clamp(20px,3vw,35px);
  box-shadow:0 18px 55px rgba(85,51,45,.07);
  -webkit-backdrop-filter:blur(24px) saturate(1.12);
  backdrop-filter:blur(24px) saturate(1.12);
}
.account-v511 .customer-sidebar,.account-v511 .customer-panel {
  background:rgba(255,252,250,.80);
  border:1px solid rgba(255,255,255,.85);
  -webkit-backdrop-filter:blur(32px) saturate(1.12);
  backdrop-filter:blur(32px) saturate(1.12);
  box-shadow:0 14px 48px rgba(81,54,48,.09);
}
.account-v511 .customer-sidebar .account-nav-link.active {
  background:rgba(255,255,255,.76);
  box-shadow:0 3px 12px rgba(66,55,48,.045);
}
.account-v511 .customer-foot {border-color:rgba(255,255,255,.62);background:rgba(255,251,249,.65);border-radius:16px;padding:24px;margin-bottom:26px;color:#44564f;}
.account-v511 .customer-welcome p,.account-v511 .customer-panel p {color:#485b52;}
.account-v511 .customer-order-card {background:rgba(255,255,255,.88);}
.account-v511 .account-checkout-area {background:rgba(255,255,255,.77);}
/* Keep the clean Clerk sign-in; only account receives the supplied background. */
@media(max-width:860px){body.customer-page.account-v511{background-attachment:scroll;background-position:center top}.account-v511 .customer-sidebar{background:rgba(255,252,250,.88)}}
@media(max-width:570px){.account-v511 .customer-welcome{padding:20px;border-radius:18px}}
/* Small screens: all four account actions remain visible without horizontal swiping. */
@media(max-width:860px){
 .account-v511 .customer-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;overflow:visible;align-items:stretch}
 .account-v511 .customer-sidebar .account-nav-link{min-width:0;width:100%;white-space:normal;font-size:12px;min-height:47px;padding:10px 9px}
 .account-v511 .customer-sidebar .account-nav-link svg{flex-shrink:0}
 .account-v511 .customer-sidebar .account-nav-link span{min-width:0}
 .account-v511 .customer-sidebar .account-nav-link .account-nav-count{margin-left:auto;min-width:21px;flex-shrink:0}
}
