/* PrintBook v5.5 — customer storefront branding layer.
   Admin UI stays PrintBook; these rules only reshape Store Mode/public storefront. */

:root{
  --store-accent:#8b5cf6;
  --store-accent-soft:rgba(139,92,246,.15);
}

.customer-only{display:none!important}
.admin-shop-hero{display:contents}

.storefront-brand-preview{
  margin:12px 0 4px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(255,255,255,.025)
}
.storefront-brand-preview .preview-dot{
  width:13px;height:13px;border-radius:999px;background:#8b5cf6;
  box-shadow:0 0 0 5px rgba(139,92,246,.13)
}
.storefront-brand-preview div{display:flex;flex-direction:column;gap:2px;min-width:0}
.storefront-brand-preview strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.storefront-brand-preview small{opacity:.65;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

body.customer-mode{
  background:
    radial-gradient(circle at 50% -10%,var(--store-accent-soft),transparent 36rem),
    #0b0911;
}
body.customer-mode .customer-only{display:flex!important}
body.customer-mode .admin-shop-hero{display:none!important}
body.customer-mode .shop-hero{
  padding:0;
  border:0;
  background:transparent;
  overflow:visible;
}
body.customer-mode .shop-hero::before,
body.customer-mode .shop-hero::after{display:none}

body.customer-mode .storefront-brand{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:100%;
  min-height:310px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:26px;
  background:
    radial-gradient(circle at 82% 18%,var(--store-accent-soft),transparent 33%),
    linear-gradient(135deg,#15111f 0%,#0d0b13 62%,#14101d 100%);
  box-shadow:0 24px 70px rgba(0,0,0,.32);
}
body.customer-mode .storefront-brand.has-store-hero{
  background-image:
    linear-gradient(90deg,rgba(8,7,12,.94) 0%,rgba(8,7,12,.76) 45%,rgba(8,7,12,.38) 100%),
    var(--store-hero-image);
  background-size:cover;
  background-position:center;
}
body.customer-mode .storefront-brand-overlay{
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(115deg,transparent 52%,var(--store-accent-soft) 100%),
    repeating-linear-gradient(135deg,rgba(255,255,255,.018) 0 1px,transparent 1px 12px);
}
body.customer-mode .storefront-brand-content{
  width:min(700px,100%);
  padding:clamp(28px,5vw,54px);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:20px;
}
body.customer-mode .storefront-brand-lockup{display:flex;align-items:center;gap:18px}
body.customer-mode .storefront-logo{
  flex:0 0 auto;
  width:74px;height:74px;
  border-radius:22px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:linear-gradient(145deg,var(--store-accent),rgba(255,255,255,.16));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 14px 30px var(--store-accent-soft);
}
body.customer-mode .storefront-logo img{width:100%;height:100%;object-fit:cover;display:block}
body.customer-mode .storefront-logo span{font-weight:900;font-size:24px;letter-spacing:-1px;color:white}
body.customer-mode .storefront-kicker{
  margin:0 0 5px;
  color:var(--store-accent);
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.18em;
}
body.customer-mode #storefrontName{
  margin:0;
  color:#fff;
  font-size:clamp(34px,7vw,58px);
  line-height:.98;
  letter-spacing:-.045em;
}
body.customer-mode .storefront-tagline{
  margin:9px 0 0;
  color:rgba(255,255,255,.72);
  font-size:clamp(16px,2.3vw,20px);
  font-weight:600;
}
body.customer-mode .storefront-about{
  margin:0;
  max-width:620px;
  color:rgba(255,255,255,.66);
  font-size:15px;
  line-height:1.65;
}
body.customer-mode .storefront-status-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
body.customer-mode .storefront-status-pill{
  display:inline-flex;align-items:center;gap:8px;
  min-height:34px;padding:0 13px;
  border-radius:999px;
  border:1px solid color-mix(in srgb,var(--store-accent) 40%,transparent);
  background:var(--store-accent-soft);
  color:#fff;
  font-size:12px;
  font-weight:800;
}
body.customer-mode .storefront-status-pill i{
  width:8px;height:8px;border-radius:99px;background:#57dc8c;
  box-shadow:0 0 0 4px rgba(87,220,140,.12)
}
body.customer-mode .storefront-status-pill.closed{border-color:rgba(255,110,110,.22);background:rgba(255,110,110,.08)}
body.customer-mode .storefront-status-pill.closed i{background:#ff6d6d;box-shadow:0 0 0 4px rgba(255,109,109,.10)}
body.customer-mode .storefront-turnaround{color:rgba(255,255,255,.48);font-size:12px;font-weight:700}

body.customer-mode .storefront-perks{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:14px 0 22px;
}
body.customer-mode .storefront-perks>div{
  min-width:0;
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:10px;
  align-items:center;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:16px;
  background:rgba(255,255,255,.025);
}
body.customer-mode .storefront-perks>div>span{
  grid-row:1/3;
  width:34px;height:34px;border-radius:11px;
  display:grid;place-items:center;
  color:var(--store-accent);
  background:var(--store-accent-soft);
  font-size:14px;
}
body.customer-mode .storefront-perks strong{font-size:12px;color:#f7f5fa}
body.customer-mode .storefront-perks small{margin-top:2px;font-size:10px;color:rgba(255,255,255,.43);line-height:1.3}

body.customer-mode .shop-controls{
  position:sticky;
  top:max(8px,env(safe-area-inset-top));
  z-index:8;
  padding:9px;
  margin-bottom:12px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:17px;
  background:rgba(12,10,17,.78);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  box-shadow:0 12px 30px rgba(0,0,0,.18)
}
body.customer-mode .shop-summary{display:none!important}
body.customer-mode .customer-store-tabs{
  width:max-content;
  max-width:100%;
  margin:0 0 18px;
  padding:4px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:13px;
  background:rgba(255,255,255,.025)
}
body.customer-mode .customer-store-tabs button.active{
  color:#fff;
  border-color:color-mix(in srgb,var(--store-accent) 38%,transparent);
  background:var(--store-accent-soft)
}

body.customer-mode .shop-grid{gap:16px}
body.customer-mode .shop-card{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.075);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.042),rgba(255,255,255,.018));
  box-shadow:0 12px 34px rgba(0,0,0,.16);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
@media (hover:hover){
  body.customer-mode .shop-card:hover{
    transform:translateY(-3px);
    border-color:color-mix(in srgb,var(--store-accent) 42%,rgba(255,255,255,.08));
    box-shadow:0 18px 42px rgba(0,0,0,.26)
  }
}
body.customer-mode .shop-card-photo{aspect-ratio:4/3;min-height:0}
body.customer-mode .shop-card-photo img{transition:transform .35s ease}
@media (hover:hover){body.customer-mode .shop-card:hover .shop-card-photo img{transform:scale(1.025)}}
body.customer-mode .price-chip{display:none !important}
body.customer-mode .shop-card-footer{
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid rgba(255,255,255,.07);
  align-items:end;
}
body.customer-mode .shop-price{
  color:#fff;
  font-size:21px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.025em
}
body.customer-mode .shop-card-body{padding:16px 16px 17px}
body.customer-mode .shop-card-body h3{font-size:16px;letter-spacing:-.015em}
body.customer-mode .shop-card-body>p{color:rgba(255,255,255,.43)}
body.customer-mode .shop-stock{color:rgba(255,255,255,.48)}
body.customer-mode .shop-stock strong{color:var(--store-accent)}
body.customer-mode .shop-deal{border-color:color-mix(in srgb,var(--store-accent) 25%,transparent);background:var(--store-accent-soft);color:#f6f0ff}

body.customer-mode .customer-product-sheet .customer-request-button,
body.customer-mode .request-sheet .primary{
  background:var(--store-accent);
  border-color:var(--store-accent);
}
body.customer-mode .customer-big-price{color:var(--store-accent)}
body.customer-mode .availability-banner{border-color:color-mix(in srgb,var(--store-accent) 24%,transparent)}

/* The public storefront should read like a shop, not an admin application. */
body.public-visitor .customer-mode-bar{
  border-color:rgba(255,255,255,.07);
  background:rgba(255,255,255,.025)
}
body.public-visitor #customerModeBarTitle{font-size:12px}
body.public-visitor .customer-lock-badge{border-color:color-mix(in srgb,var(--store-accent) 32%,transparent);background:var(--store-accent-soft);color:#fff}

@media (max-width:720px){
  body.customer-mode .storefront-brand{min-height:0;border-radius:22px}
  body.customer-mode .storefront-brand-content{padding:26px 22px;gap:17px}
  body.customer-mode .storefront-brand-lockup{align-items:flex-start;gap:13px}
  body.customer-mode .storefront-logo{width:58px;height:58px;border-radius:17px}
  body.customer-mode .storefront-logo span{font-size:19px}
  body.customer-mode #storefrontName{font-size:clamp(31px,10vw,44px)}
  body.customer-mode .storefront-tagline{font-size:15px}
  body.customer-mode .storefront-about{font-size:13px;line-height:1.55}
  body.customer-mode .storefront-perks{grid-template-columns:1fr;gap:7px}
  body.customer-mode .storefront-perks>div{padding:10px 12px}
  body.customer-mode .storefront-perks small{font-size:10px}
  body.customer-mode .shop-controls{top:max(6px,env(safe-area-inset-top))}
  body.customer-mode .shop-grid{gap:11px}
  body.customer-mode .shop-card{border-radius:17px}
}

@media (max-width:430px){
  body.customer-mode .storefront-brand-content{padding:23px 18px}
  body.customer-mode .storefront-brand-lockup{gap:11px}
  body.customer-mode .storefront-logo{width:52px;height:52px;border-radius:15px}
  body.customer-mode .storefront-kicker{font-size:9px}
  body.customer-mode #storefrontName{font-size:31px}
  body.customer-mode .storefront-status-row{gap:8px}
  body.customer-mode .storefront-status-pill{min-height:31px;padding:0 11px;font-size:11px}
  body.customer-mode .storefront-turnaround{font-size:11px}
}


/* v5.6 customer order portal */
.customer-order-bar-actions{display:flex;align-items:center;gap:10px}.customer-order-find-btn{padding:8px 12px;font-size:.82rem}.customer-order-sheet{max-width:620px}.customer-order-success-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:4px auto 14px;background:color-mix(in srgb,var(--store-accent,#8b5cf6) 18%,#17131f);border:1px solid color-mix(in srgb,var(--store-accent,#8b5cf6) 45%,transparent);font-size:1.8rem;font-weight:900;color:var(--store-accent,#a78bfa)}.customer-order-sheet>h2{text-align:center;margin-bottom:8px}.customer-order-sheet>p{text-align:center}.customer-order-number-card{margin:20px 0;padding:22px;border:1px solid color-mix(in srgb,var(--store-accent,#8b5cf6) 28%,#2b2634);border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--store-accent,#8b5cf6) 10%,#111018),#111018);text-align:center}.customer-order-number-card small,.customer-portal-topline small,.customer-order-details small,.customer-order-notes>small{display:block;font-size:.68rem;letter-spacing:.12em;color:#91899e;font-weight:800}.customer-order-number-card strong{display:block;font-size:2rem;letter-spacing:.04em;margin:6px 0}.customer-order-number-card span{color:#bbb4c6}.customer-order-confirm-actions{display:grid;gap:9px}.text-button{display:block;margin:10px auto 0;border:0;background:transparent;color:#9b92a8;text-decoration:underline;cursor:pointer}.customer-order-portal-sheet{max-width:720px}.customer-order-loading{padding:50px 10px;text-align:center;color:#aaa1b5}.customer-portal-topline{display:flex;justify-content:space-between;gap:16px;padding:18px;border-radius:16px;background:#121019;border:1px solid #282330}.customer-portal-topline strong{font-size:1.3rem;display:block;margin-top:5px}.customer-portal-price{text-align:right}.customer-portal-price strong{font-size:1.7rem}.customer-order-progress{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:22px 0 18px}.customer-order-progress-step{position:relative;text-align:center;color:#766f80;font-size:.68rem}.customer-order-progress-step:before{content:"";position:absolute;height:2px;background:#2e2935;left:-50%;right:50%;top:8px}.customer-order-progress-step:first-child:before{display:none}.customer-order-progress-step i{display:block;width:16px;height:16px;border:3px solid #302a38;border-radius:50%;background:#111018;margin:0 auto 7px;position:relative;z-index:2}.customer-order-progress-step.done{color:#cfc8d7}.customer-order-progress-step.done:before{background:var(--store-accent,#8b5cf6)}.customer-order-progress-step.done i{background:var(--store-accent,#8b5cf6);border-color:var(--store-accent,#8b5cf6)}.customer-order-progress-step.current span{color:#fff;font-weight:800}.customer-order-cancelled{grid-column:1/-1;padding:12px;text-align:center;border-radius:12px;background:#32151c;color:#ff9aaa}.customer-order-details{display:grid;grid-template-columns:1fr 1fr;gap:10px}.customer-order-details>div{padding:15px;border-radius:14px;border:1px solid #282330;background:#111018}.customer-order-details strong{display:block;margin-top:5px}.customer-order-notes{margin-top:12px;padding:16px;border:1px solid #282330;border-radius:14px;background:#111018}.customer-order-notes p{margin:7px 0;color:#c4bdcc}.customer-order-payment-box{margin-top:14px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:16px;border:1px solid color-mix(in srgb,var(--store-accent,#8b5cf6) 35%,#282330);background:color-mix(in srgb,var(--store-accent,#8b5cf6) 8%,#111018)}.customer-order-payment-box small{display:block;color:#9890a4;font-size:.7rem;font-weight:800;letter-spacing:.1em}.customer-order-payment-box strong{display:block;margin-top:5px}.customer-order-portal-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.customer-order-section-label{font-size:.7rem;letter-spacing:.12em;color:#91899e;font-weight:800;margin:4px 0 8px!important;text-align:left!important}.recent-customer-orders{display:grid;gap:8px;margin-bottom:18px}.recent-order-row{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;padding:13px 14px;border:1px solid #2c2733;border-radius:13px;background:#111018;color:#fff;cursor:pointer}.recent-order-row div{display:grid;gap:3px}.recent-order-row small{color:#938b9d}.recent-order-row span{color:var(--store-accent,#a78bfa);font-weight:800}.customer-order-recovery-card{padding:18px;border:1px solid #2c2733;border-radius:16px;background:#111018}.customer-order-recovery-card h3{margin:0 0 6px}.customer-order-recovery-card label{display:grid;gap:6px;margin:14px 0 10px}.customer-order-recovery-card .tiny-note{text-align:left!important;min-height:18px}.customer-mode .customer-order-find-btn,.public-visitor .customer-order-find-btn{display:inline-flex}.customer-order-find-btn{display:none}
@media(max-width:620px){.customer-mode-bar{align-items:flex-start}.customer-order-bar-actions{flex-direction:column;align-items:flex-end}.customer-order-find-btn{padding:7px 9px}.customer-order-progress{overflow-x:auto;grid-template-columns:repeat(7,68px);padding-bottom:6px}.customer-order-details{grid-template-columns:1fr}.customer-order-payment-box{align-items:stretch;flex-direction:column}.customer-order-payment-box button{width:100%}.customer-order-portal-actions>*{flex:1}.customer-order-number-card strong{font-size:1.7rem}}


/* v5.6.5 — mobile customer storefront layout repair */
@media (max-width:720px){
  body.customer-mode .topbar{
    min-height:74px;
    padding:calc(10px + env(safe-area-inset-top)) 18px 10px;
  }
  body.customer-mode .topbar .brand-wrap{width:100%;justify-content:center}
  body.customer-mode .topbar .brand-owner-trigger{text-align:left;max-width:100%}
  body.customer-mode .topbar .brand-owner-trigger h1{font-size:24px;line-height:1.05;white-space:nowrap}
  body.customer-mode .topbar .brand-owner-trigger .eyebrow{font-size:9px;letter-spacing:.2em}
  body.customer-mode .topbar .menu-btn,
  body.customer-mode .topbar .header-actions{display:none!important}
  body.customer-mode main{padding-left:14px;padding-right:14px}
  body.customer-mode .view[data-view="shop"]{max-width:100%;overflow:visible}
  body.customer-mode .customer-mode-bar{margin:10px 0 12px;padding:10px 12px;border-radius:14px}
  body.public-visitor .customer-mode-bar{display:none!important}

  body.customer-mode .storefront-brand{width:100%;border-radius:19px}
  body.customer-mode .storefront-brand-content{width:100%;box-sizing:border-box;padding:22px 18px;gap:14px}
  body.customer-mode .storefront-brand-lockup{width:100%;align-items:center}
  body.customer-mode .storefront-brand-lockup>div:last-child{min-width:0}
  body.customer-mode #storefrontName{font-size:30px;line-height:1.04;overflow-wrap:anywhere}
  body.customer-mode .storefront-tagline{font-size:14px}
  body.customer-mode .storefront-about{font-size:13px}

  body.customer-mode .storefront-perks{margin:12px 0 18px;gap:8px}
  body.customer-mode .storefront-perks>div{min-height:72px;padding:11px 13px;grid-template-columns:40px minmax(0,1fr);column-gap:11px}
  body.customer-mode .storefront-perks>div>span{width:38px;height:38px}
  body.customer-mode .storefront-perks strong{font-size:14px}
  body.customer-mode .storefront-perks small{font-size:11px}

  body.customer-mode .shop-controls{
    position:relative;top:auto;
    display:grid!important;grid-template-columns:1fr;gap:9px;
    padding:10px;margin:0 0 12px;border-radius:17px;
  }
  body.customer-mode .shop-controls .search-wrap,
  body.customer-mode .shop-controls select{width:100%;min-width:0;box-sizing:border-box}
  body.customer-mode .shop-controls input{font-size:16px}
  body.customer-mode .customer-store-tabs{width:100%;display:grid!important;grid-template-columns:1fr 1fr;box-sizing:border-box;margin:0 0 14px}
  body.customer-mode .customer-store-tabs button{min-width:0;padding:10px 8px;font-size:13px}

  body.customer-mode .shop-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px;width:100%}
  body.customer-mode .shop-card{
    display:block!important;width:100%!important;min-width:0!important;
    border-radius:18px;overflow:hidden;
  }
  body.customer-mode .shop-card-photo{
    width:100%!important;min-width:0!important;height:auto!important;aspect-ratio:16/10!important;
  }
  body.customer-mode .shop-card-photo img{width:100%;height:100%;object-fit:cover;display:block}
  body.customer-mode .shop-card-body{width:100%!important;min-width:0!important;box-sizing:border-box;padding:15px 16px 16px}
  body.customer-mode .shop-card-body h3{font-size:19px;line-height:1.2;margin:0 0 5px;overflow-wrap:anywhere}
  body.customer-mode .shop-card-footer{display:flex!important;justify-content:space-between;gap:12px;align-items:flex-end}
  body.customer-mode .shop-stock{flex:0 0 auto;text-align:right}
  body.customer-mode .shop-price{font-size:20px}
  body.customer-mode .out-badge{max-width:calc(100% - 24px);font-size:10px}

  body.customer-mode .customer-filament-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  body.customer-mode .customer-filament-card{min-width:0}
}
@media (max-width:390px){
  body.customer-mode main{padding-left:10px;padding-right:10px}
  body.customer-mode .storefront-logo{width:48px;height:48px}
  body.customer-mode #storefrontName{font-size:27px}
  body.customer-mode .customer-filament-grid{grid-template-columns:1fr!important}
}


/* v5.7 customer quote + share flow */
.customer-share-qr{display:flex;justify-content:center;padding:10px 0 4px}.customer-share-qr img{width:min(72vw,280px);aspect-ratio:1;background:#fff;border-radius:22px;padding:12px}.customer-share-url{text-align:center;word-break:break-all;font-size:.9rem;color:var(--muted)}.customer-share-actions{justify-content:center}.customer-quote-accept{border-color:color-mix(in srgb,var(--accent,#8b5cf6) 45%,transparent)}.status-accepted{background:rgba(139,92,246,.16)!important;color:#c4b5fd!important}.customer-order-progress-step.current span{font-weight:800}
@media(max-width:720px){.customer-order-bar-actions{flex-wrap:wrap}.customer-order-find-btn{flex:1 1 auto}.customer-store-share-sheet{max-width:94vw}}

.customer-share-inline{padding:7px 11px;font-size:.78rem;white-space:nowrap}.public-visitor .customer-share-inline,.customer-mode .customer-share-inline{display:inline-flex}.admin-mode .customer-share-inline{display:none}
@media(max-width:720px){.storefront-status-row{gap:8px!important;flex-wrap:wrap}.customer-share-inline{width:100%;justify-content:center;margin-top:2px}}
