/* Storefront UI v1: homepage/catalog only. Dashboard and checkout retain their styling. */
body.on-storefront {
  --navy:#172f46;
  --teal:#116d70;
  --muted:#596a76;
  --line:#dfe6e8;
  --bg:#f7f9f8;
  --store-surface:#fff;
  --store-soft:#edf5f2;
  --store-sale:#c62828;
  background:var(--bg);
  font:16px/1.6 Arial,sans-serif;
}
.on-storefront .topline {height:auto;min-height:36px;padding:8px max(24px,calc((100% - 1280px)/2));font-size:12px;line-height:1.4;gap:16px;background:var(--navy)}
.on-storefront .topline a {color:#d1ece4;white-space:nowrap}
.on-storefront header {padding:24px max(24px,calc((100% - 1280px)/2));gap:32px}
.on-storefront .brand {font:700 25px/1.25 Space,Arial,sans-serif;letter-spacing:-1px;gap:12px}
.on-storefront .brand img {width:42px;height:42px;flex:none}
.on-storefront .brand small {font:500 8px/1.6 Arial,sans-serif;letter-spacing:1.5px;margin-top:3px;color:var(--muted)}
.on-storefront .header-actions {gap:16px;min-width:0}
.on-storefront .searchbox {background:#f6f8f8;border:1px solid #b9c8ce;border-radius:10px;max-width:560px;min-width:0;padding:0 16px;gap:12px}
.on-storefront .searchbox svg {flex:none;width:20px;height:20px;color:var(--muted)}
.on-storefront .searchbox input {font-size:15px;min-height:48px;padding:12px 0;color:var(--navy);min-width:0}
.on-storefront .searchbox input::placeholder {color:var(--muted);opacity:1}
.on-storefront .searchbox:focus-within {outline:3px solid var(--teal);outline-offset:3px}
.on-storefront .icon-button {min-width:44px;min-height:44px;display:grid;place-items:center;border-radius:8px}
.on-storefront .icon-button:hover {background:var(--store-soft)}
.on-storefront #cart-count {font:600 11px/19px Arial,sans-serif;min-width:19px;top:0;right:0}
.on-storefront #account-button {max-width:200px;overflow-wrap:anywhere}
.on-storefront .button {min-height:48px;padding:13px 20px;font:600 14px/1.5 Arial,sans-serif;gap:16px;border-radius:8px;white-space:normal;transition:background .18s,box-shadow .18s}
.on-storefront .button:hover {transform:none;box-shadow:0 3px 12px #172f4614}
.on-storefront .button.small {min-height:44px;font-size:13px;padding:11px 16px}
.on-storefront .mainnav {padding:8px max(24px,calc((100% - 1280px)/2));gap:20px;font-size:13px;align-items:center;flex-wrap:wrap;overflow:visible;white-space:normal}
.on-storefront .mainnav>div {display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.on-storefront .mainnav a {display:inline-flex;align-items:center;min-height:40px;font-weight:500}
.on-storefront .mainnav .seller-link {color:var(--teal)}
.on-storefront main#storefront {max-width:1328px;margin:0 auto;padding:32px 24px 0}
.on-storefront .hero {grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:440px;border-radius:20px;background:var(--navy)}
.on-storefront .hero-copy {padding:48px 0 48px 48px;align-self:center}
.on-storefront .hero .eyebrow {font:600 11px/1.6 Arial,sans-serif;letter-spacing:1.5px;color:#d0e4e7}
.on-storefront .hero h1 {font:500 clamp(40px,4.1vw,58px)/1.1 Space,Arial,sans-serif;letter-spacing:-2.2px;margin:24px 0}
.on-storefront .hero h1 span {color:#b9e3d5}
.on-storefront .hero-copy>p {font-size:16px;line-height:1.75;color:#d4e0e5;max-width:405px;margin-bottom:28px}
.on-storefront .hero .button.light {background:#d9eee6;color:var(--navy);min-width:180px}
.on-storefront .hero .button.light:hover {background:#eef8f3}
.on-storefront .hero-caption {margin-top:28px;font-size:10px;letter-spacing:.6px;gap:12px;color:#c6dadc;flex-wrap:wrap}
.on-storefront .hero-art {min-height:440px;background:radial-gradient(ellipse at 55% 60%,#45695e 0,transparent 70%)}
.on-storefront .hero-card {width:38%;max-width:220px;padding:10px;left:6%;top:94px;border-radius:10px;transform:rotate(-8deg);box-shadow:0 20px 44px #081d3040}
.on-storefront .hero-card.two {left:47%;top:67px;transform:rotate(7deg)}
.on-storefront .hero-card img,.on-storefront .hero-card.two img {height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:5px}
.on-storefront .hero-card>span {font-size:12px;line-height:1.5;display:block;padding:9px 2px 1px}
.on-storefront .hero-card small {display:block;font-size:8px;font-weight:500;line-height:1.5;letter-spacing:.3px;margin-top:2px;color:#465d57}
.on-storefront .art-caption {font:500 10px/1.5 Arial,sans-serif;letter-spacing:1.5px;color:#c4d9d8;top:26px;right:32px}
.on-storefront .art-tag {font-size:13px;line-height:1.5;bottom:28px;right:24px;transform:rotate(-3deg);padding:13px 20px;border-radius:8px;gap:12px}
.on-storefront .art-tag span {font-size:30px}
.on-storefront .orbit {width:80%;height:auto;aspect-ratio:1;top:30px;left:5%}
.on-storefront .benefits {padding:28px 0;margin-top:12px;gap:24px}
.on-storefront .benefits>div {justify-content:flex-start;gap:14px;padding:0 16px}
.on-storefront .benefit-icon {display:grid;place-items:center;flex:none;width:44px;height:44px;background:#e8f1ed;border-radius:12px;color:var(--teal)}
.on-storefront .benefit-icon svg {width:22px;height:22px;stroke-width:1.7}
.on-storefront .benefits strong {font-size:14px;font-weight:600;line-height:1.5;display:block}
.on-storefront .benefits small {font-size:12px;line-height:1.5;margin-top:4px;color:var(--muted)}
.on-storefront .catalog {padding:48px 0 56px;scroll-margin-top:24px}
.on-storefront .eyebrow {font-size:11px;font-weight:600;letter-spacing:1.5px;line-height:1.6;color:var(--teal)}
.on-storefront .section-top {align-items:end;gap:24px}
.on-storefront .section-top h2 {font:600 32px/1.25 Space,Arial,sans-serif;letter-spacing:-1px;margin-top:10px}
.on-storefront #result-count {font-size:13px;color:var(--muted);flex:none;padding:0 0 4px;text-align:right}
.on-storefront .catalog-tools {align-items:start;gap:20px;margin:28px 0 24px}
.on-storefront .chips {flex:1;gap:8px;flex-wrap:wrap;overflow:visible;padding:0;min-width:0}
.on-storefront .chip {font-size:13px;line-height:1.5;min-height:44px;padding:10px 15px;border:1px solid #bac9cd;border-radius:8px;color:var(--muted);white-space:normal;transition:background .18s,color .18s,border-color .18s}
.on-storefront .chip:hover {color:var(--teal);border-color:var(--teal);background:var(--store-soft)}
.on-storefront .chip.active {background:var(--navy);border-color:var(--navy);color:white;font-weight:600}
.on-storefront .catalog-sort {display:flex;align-items:center;gap:10px;flex:none;font-size:12px;color:var(--muted);font-weight:400}
.on-storefront #sort {font-size:14px;min-height:44px;min-width:155px;margin:0;padding:10px 12px;border:1px solid #bac9cd;border-radius:8px}
.on-storefront .product-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.on-storefront .product-card {display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;min-width:0;background:var(--store-surface);transition:box-shadow .2s,border-color .2s}
.on-storefront .product-card:hover {transform:none;box-shadow:0 8px 24px #172f4610;border-color:#91aca8}
.on-storefront .product-image {height:auto;aspect-ratio:1;padding:20px;background:#eef1ed;flex:none}
.on-storefront .product-image img {object-fit:contain;mix-blend-mode:normal;border-radius:5px;transition:transform .2s}
.on-storefront .product-card:hover img {transform:scale(1.025)}
.on-storefront .discount-badge {top:12px;left:12px;font-size:12px;font-weight:600;line-height:1.5;letter-spacing:0;padding:4px 9px;border:1px solid var(--store-sale);border-radius:5px;background:var(--store-sale);color:white}
.on-storefront .product-info {padding:20px 18px 16px;display:flex;flex:1;flex-direction:column;min-width:0}
.on-storefront .product-category {font-size:11px;font-weight:500;line-height:1.5;letter-spacing:.3px;color:var(--teal)}
.on-storefront .product-info h3 {font:600 18px/1.4 Arial,sans-serif;letter-spacing:-.3px;margin:7px 0 8px;min-height:50px;overflow-wrap:anywhere}
.on-storefront .product-desc {font-size:13px;line-height:1.6;color:var(--muted);height:42px;margin:0;-webkit-line-clamp:2}
.on-storefront .product-pricing {margin-top:20px;min-height:64px}
.on-storefront .product-price {margin:0;line-height:1.25;font-size:24px;font-weight:600;letter-spacing:-.7px}
.on-storefront .product-price-value {display:flex;align-items:baseline;gap:3px;flex-wrap:wrap;line-height:1.3}
.on-storefront .price-currency {font-size:13px;font-weight:500;letter-spacing:0}
.on-storefront .product-price-value strong {font-size:24px;font-weight:600;letter-spacing:-.7px;overflow-wrap:anywhere}
.on-storefront .price-comparison {margin:7px 0 0;display:block;line-height:1.5;font-size:13px;color:#64727d}
.on-storefront .price-comparison s {font-size:13px;line-height:1.5;font-weight:400}
.on-storefront .product-social {display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12px;line-height:1.5;margin:16px 0 0;padding:0;min-height:28px}
.on-storefront .product-social .real-rating {padding:3px 6px;border:1px solid #e4ba6b;background:#fff8e8;border-radius:4px;color:#6b4b12;font-size:12px;line-height:1.5;font-weight:500;white-space:nowrap}
.on-storefront .product-social>span:last-child {color:#181818;font-size:12px;line-height:1.5;font-weight:400}
.on-storefront .product-bottom {margin-top:16px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;font-weight:500;color:var(--teal);min-height:36px;gap:8px}
.on-storefront .product-bottom>span:last-child {font-size:18px;line-height:1}
.on-storefront .seller-banner {padding:40px 44px;min-height:240px;gap:32px;border-radius:16px;background:#e5efe8;border:1px solid #d8e6dc}
.on-storefront .seller-banner .eyebrow {font-size:11px;letter-spacing:1px;color:#3b6957}
.on-storefront .seller-banner h2 {font:600 32px/1.25 Space,Arial,sans-serif;letter-spacing:-1px;margin-top:12px}
.on-storefront .seller-banner p {max-width:470px;font-size:15px;color:#496254;line-height:1.7;margin-top:16px}
.on-storefront .seller-banner .button {margin:0;flex:none}
.on-storefront .seller-decoration {font-size:250px;pointer-events:none;opacity:.6}
.on-storefront footer {padding:44px max(24px,calc((100% - 1280px)/2)) 24px;margin-top:56px;font-size:14px}
.on-storefront .footer-grid {grid-template-columns:2fr 1fr 1.4fr;gap:40px}
.on-storefront .footer-grid>div {gap:12px;min-width:0}
.on-storefront .footer-grid .brand {font-size:23px}
.on-storefront .footer-grid .brand img {width:36px;height:36px}
.on-storefront .footer-grid p {font-size:14px;color:var(--muted);line-height:1.7}
.on-storefront .footer-grid a:not(.brand),.on-storefront .footer-grid .text-button {min-height:32px;font-size:14px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
.on-storefront .footer-grid b {font-weight:600;font-size:14px;margin:0 0 4px}
.on-storefront .footer-bottom {font-size:12px;line-height:1.6;padding-top:20px;margin-top:32px;gap:16px;flex-wrap:wrap;color:var(--muted)}
.on-storefront .empty {padding:48px 24px;border-color:#bbc9ce;line-height:1.6}
.on-storefront .empty h3 {font-size:20px;font-weight:600}
.on-storefront .empty p {font-size:15px;color:var(--muted)}
.on-storefront :is(button,a,input,select):focus-visible {outline:3px solid var(--teal);outline-offset:3px}
@media(max-width:1100px){
  .on-storefront header {gap:24px}
  .on-storefront .brand {font-size:22px}
  .on-storefront .mainnav {gap:4px 20px}
  .on-storefront .mainnav>div {gap:16px}
  .on-storefront .hero-copy {padding:40px 0 40px 32px}
  .on-storefront .hero h1 {font-size:44px}
  .on-storefront .hero-card {top:100px}
  .on-storefront .hero-card.two {top:78px}
  .on-storefront .product-grid {gap:16px}
  .on-storefront .product-info {padding:16px 14px}
  .on-storefront .catalog-tools {flex-wrap:wrap}
  .on-storefront .catalog-sort {margin-left:auto}
  .on-storefront .benefits {gap:16px}
  .on-storefront .benefits>div {padding:0 8px;gap:10px}
}
@media(max-width:800px){
  .on-storefront .topline {padding:8px 20px}
  .on-storefront header {padding:20px;gap:16px;flex-wrap:wrap}
  .on-storefront .searchbox {order:3;max-width:none;flex-basis:100%}
  .on-storefront .mainnav {padding:8px 20px}
  .on-storefront .mainnav>div:first-child {display:none}
  .on-storefront .mainnav .nav-account {display:flex;justify-content:space-between;width:100%;gap:12px;flex-wrap:wrap}
  .on-storefront .mainnav .seller-link {display:inline-flex}
  .on-storefront main#storefront {padding:24px 20px 0}
  .on-storefront .hero {grid-template-columns:1fr 1fr;min-height:380px}
  .on-storefront .hero-copy {padding:32px 0 32px 28px}
  .on-storefront .hero h1 {font-size:38px;letter-spacing:-1.6px}
  .on-storefront .hero .eyebrow {font-size:10px;letter-spacing:1px}
  .on-storefront .hero-copy>p {font-size:15px;line-height:1.65}
  .on-storefront .hero-caption {display:none}
  .on-storefront .hero-art {min-height:380px}
  .on-storefront .art-caption {font-size:8px;right:24px;letter-spacing:1px}
  .on-storefront .hero-card {width:41%;left:4%;top:100px;padding:8px}
  .on-storefront .hero-card.two {left:48%;top:75px}
  .on-storefront .hero-card small {display:none}
  .on-storefront .hero-card>span {font-size:10px}
  .on-storefront .art-tag {font-size:11px;right:16px;bottom:35px;padding:10px 14px}
  .on-storefront .benefits {gap:12px;padding:24px 0}
  .on-storefront .benefits>div {display:block;text-align:left;padding:0 12px}
  .on-storefront .benefits p {margin-top:12px}
  .on-storefront .benefits strong {font-size:13px}
  .on-storefront .benefits small {display:block;font-size:12px}
  .on-storefront .catalog {padding:36px 0 40px}
  .on-storefront .product-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .on-storefront .section-top h2 {font-size:28px}
  .on-storefront .seller-banner {padding:32px;display:block}
  .on-storefront .seller-banner .button {margin-top:24px}
  .on-storefront .seller-banner h2 {font-size:30px}
  .on-storefront footer {padding:36px 20px 24px;margin-top:40px}
  .on-storefront .footer-grid {grid-template-columns:1fr 1fr;gap:32px}
  .on-storefront .footer-grid>div:first-child {grid-column:1/-1}
}
@media(max-width:600px){
  .on-storefront .topline {padding:8px 16px;font-size:11px;gap:12px}
  .on-storefront .topline>span {max-width:none;white-space:normal;overflow:visible}
  .on-storefront .topline a {font-size:11px}
  .on-storefront .topline a span {margin-left:3px}
  .on-storefront header {padding:16px;gap:16px 12px}
  .on-storefront .brand {font-size:19px;gap:8px;letter-spacing:-.7px}
  .on-storefront .brand img {width:34px;height:34px}
  .on-storefront .brand small {display:none}
  .on-storefront .header-actions {gap:6px}
  .on-storefront .header-actions .divider {display:none}
  .on-storefront #account-button {font-size:12px;padding:10px 12px;max-width:110px}
  .on-storefront .searchbox input {font-size:16px;min-height:48px}
  .on-storefront .mainnav {padding:4px 16px;font-size:12px}
  .on-storefront .mainnav .nav-account {gap:8px}
  .on-storefront .mainnav a {min-height:44px}
  .on-storefront main#storefront {padding:20px 16px 0}
  .on-storefront .hero {grid-template-columns:1fr;border-radius:16px}
  .on-storefront .hero-copy {padding:28px 24px 0}
  .on-storefront .hero h1 {font-size:40px;line-height:1.1;letter-spacing:-1.8px;margin:20px 0}
  .on-storefront .hero-copy>p {font-size:15px;line-height:1.7;margin-bottom:24px;max-width:100%}
  .on-storefront .hero .eyebrow {font-size:9px;letter-spacing:1px}
  .on-storefront .hero-art {min-height:290px}
  .on-storefront .art-caption {display:none}
  .on-storefront .hero-card {width:36%;left:12%;top:40px;padding:8px;max-width:160px}
  .on-storefront .hero-card.two {left:51%;top:28px}
  .on-storefront .hero-card>span {font-size:10px;padding-top:7px}
  .on-storefront .art-tag {bottom:16px;right:20px;font-size:11px;padding:10px 13px}
  .on-storefront .orbit {width:70%;left:15%;top:20px}
  .on-storefront .benefits {grid-template-columns:1fr;gap:16px;margin-top:0;padding:24px 0}
  .on-storefront .benefits>div {display:flex;align-items:center;text-align:left;padding:0;border:0;gap:14px}
  .on-storefront .benefits p {margin:0}
  .on-storefront .benefits strong {font-size:14px}
  .on-storefront .benefits small {font-size:12px;margin-top:2px}
  .on-storefront .benefit-icon {width:40px;height:40px;border-radius:10px}
  .on-storefront .section-top {display:block}
  .on-storefront .section-top h2 {font-size:27px;line-height:1.25}
  .on-storefront .eyebrow {font-size:10px;letter-spacing:1.3px}
  .on-storefront #result-count {margin-top:12px;text-align:left;font-size:12px;padding:0}
  .on-storefront .catalog-tools {display:flex;flex-direction:column;gap:16px;margin:24px 0 20px}
  .on-storefront .chips {gap:8px;width:100%;flex-wrap:wrap}
  .on-storefront .chip {font-size:12px;padding:10px 12px;min-height:44px}
  .on-storefront .catalog-sort {width:100%;justify-content:space-between;margin:0;font-size:13px}
  .on-storefront #sort {font-size:16px;width:180px;max-width:70%;min-width:0}
  .on-storefront .product-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
  .on-storefront .product-card {border-radius:10px}
  .on-storefront .product-image {padding:12px;aspect-ratio:1;height:auto}
  .on-storefront .discount-badge {top:8px;left:8px;font-size:11px;padding:3px 7px}
  .on-storefront .product-info {padding:14px 12px 12px}
  .on-storefront .product-category {font-size:10px;line-height:1.5;letter-spacing:0}
  .on-storefront .product-info h3 {font-size:16px;line-height:1.4;min-height:45px;margin:6px 0 8px}
  .on-storefront .product-desc {font-size:12px;line-height:1.6;height:39px}
  .on-storefront .product-pricing {margin-top:16px;min-height:59px}
  .on-storefront .product-price,.on-storefront .product-price-value strong {font-size:21px;letter-spacing:-.7px}
  .on-storefront .price-currency {font-size:11px}
  .on-storefront .price-comparison,.on-storefront .price-comparison s {font-size:12px}
  .on-storefront .product-social {justify-content:flex-start;gap:6px 10px;min-height:52px;margin-top:12px;align-content:start}
  .on-storefront .product-social .real-rating {font-size:12px;padding:2px 6px}
  .on-storefront .product-social>span:last-child {width:100%;font-size:12px}
  .on-storefront .product-bottom {font-size:11px;margin-top:12px;padding-top:10px;gap:4px;min-height:32px}
  .on-storefront .seller-banner {padding:28px 24px;border-radius:12px}
  .on-storefront .seller-banner .eyebrow {font-size:10px;line-height:1.6}
  .on-storefront .seller-banner h2 {font-size:28px}
  .on-storefront .seller-banner p {font-size:14px;line-height:1.7}
  .on-storefront .seller-decoration {font-size:180px}
  .on-storefront footer {padding:32px 16px 24px}
  .on-storefront .footer-grid {grid-template-columns:1fr;gap:28px}
  .on-storefront .footer-grid>div:first-child {grid-column:auto}
  .on-storefront .footer-grid>div {gap:8px}
  .on-storefront .footer-grid a:not(.brand),.on-storefront .footer-grid .text-button {min-height:36px}
  .on-storefront .footer-bottom {gap:8px;display:grid}
}
@media(max-width:360px){
  .on-storefront .brand {font-size:17px;gap:5px}
  .on-storefront .brand img {width:28px;height:28px}
  .on-storefront #account-button {font-size:11px;padding:10px;max-width:100px}
  .on-storefront .hero h1 {font-size:36px}
  .on-storefront .hero-copy {padding:24px 20px 0}
  .on-storefront .hero-art {min-height:260px}
  .on-storefront .product-info {padding:12px 10px}
  .on-storefront .product-price-value strong {font-size:19px}
}
@media(prefers-reduced-motion:reduce){
  html:has(body.on-storefront){scroll-behavior:auto}
  .on-storefront * {transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
/* Catalog links land at the section heading; the storefront header is not sticky. */
html:has(body.on-storefront) {scroll-padding-top:16px}
.on-storefront .catalog {scroll-margin-top:0}
.on-storefront .mainnav .nav-account>a {display:inline-flex;align-items:center}
