/* PIXS editorial system: desirable product first, clear value second. */
:root {
  --type-display: "Bodoni 72", Didot, "Playfair Display", Georgia, "Times New Roman", serif;
  --type-ui: "DM Sans", Arial, Helvetica, sans-serif;
  --color-ink: #20201d;
  --color-copy: #393934;
  --color-muted: #66665f;
  --color-paper: #f6f4ef;
  --color-rule: #dedbd3;
  --color-accent: #34452b;
}

html {
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  color: var(--color-copy);
  font-family: var(--type-ui);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

/* A consistent editorial heading voice across home, collection, policy and product pages. */
body :is(h1, h2, h3) {
  color: var(--color-ink);
  font-family: var(--type-display) !important;
  font-synthesis: none;
  font-weight: 500 !important;
  text-wrap: balance;
}

body :is(h1, h2) {
  letter-spacing: -0.025em;
}

body :is(.card-text h3, .section-heading h2, .tools h2, .difference h2, .delivery h2, .faq h2) {
  font-family: var(--type-display) !important;
  font-weight: 500 !important;
  line-height: 1.16;
}

body :is(.card-text h3, .product-summary h1, .px-product h1) {
  text-wrap: pretty;
}

body :is(p, li) {
  color: var(--color-copy);
}

body :is(.card-text .card-hook, .product-story p, .product-summary .product-identity, .px-product__description, .px-product__facts, .policy-page p, .policy-page li, .page-faq p, .page-faq li) {
  font-size: 1rem;
  line-height: 1.65;
}

/* Product names and value are easy to scan without sale-style shouting. */
body :is(.card-text h3, .product-summary h1, .px-product h1) { color: var(--color-ink); }
body :is(.card-text .your-price, .product-summary .your-price, .px-product__current) {
  color: var(--color-ink);
  font-weight: 600 !important;
}
body :is(.card-text .retail-reference, .card-text .paid-price, .card-text .saving, .px-product__original, .px-product__saving) {
  color: var(--color-muted);
}

/* Replace fluorescent status treatments with quiet, high-contrast condition labels. */
body :is(.quality-badge--new, .quality-badge--nwt) {
  background: #eeece6 !important;
  border-color: #d7d3ca !important;
  color: #292923 !important;
  font-weight: 600 !important;
}
body :is(.quality-badge--mint, .px-product__badge) {
  background: #eeece6;
  border-color: #d7d3ca;
  color: #292923;
  font-weight: 600;
}

/* Image overlays use one consistent black-and-white condition label.
   Savings labels remain pale green in the product pricing styles. */
body .card-image > .quality-badge:not(.quality-badge--sold):not(.quality-badge--prize) {
  background: #141414 !important;
  border-color: #141414 !important;
  color: #fff !important;
}

/* Clear interactive text and touch targets; button geometry stays brand-specific. */
body :is(.site-header .nav-links > a, .site-header .nav-band a, .nav-band .nav-links > a) {
  color: #292923;
  font-size: 0.875rem;
  min-height: 44px;
}
body :is(.card-actions button, .card-actions a, .button, .cart-open, .delivery-dialog button) {
  min-height: 44px;
  font-family: var(--type-ui);
  font-weight: 600;
}
body :is(.nav-links a, .nav-band a, .card-actions a, .card-actions button, .button, button, input, select, textarea) {
  font-family: var(--type-ui);
}
body :focus-visible {
  outline-color: #34452b;
}

body :is(.policy-page, .page-faq, .delivery, .product-story) :is(p, li, details, summary) {
  line-height: 1.7;
}
body :is(.policy-page, .page-faq) :is(p, li, details, summary) {
  font-size: 1rem;
}

/* Homepage campaign accents use the same warm, composed palette as the shop. */
body[data-page="home"] { --campaign-green: #f1efe9; }
body[data-page="home"] .ae-campaign-copy h1,
body[data-page="home"] .ae-section-title h2,
body[data-page="home"] .ae-department h3,
body[data-page="home"] .ae-giveaway h2,
body[data-page="home"] .ae-home-edit-copy h2,
body[data-page="home"] .home-collection h2 {
  color: var(--color-ink) !important;
  font-family: var(--type-display) !important;
  font-weight: 500 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.12 !important;
}
body[data-page="home"] .ae-campaign-copy h1 { font-size: clamp(42px, 4.2vw, 72px); }
body[data-page="home"] .ae-campaign-copy { color: var(--color-copy); }
body[data-page="home"] .ae-campaign-copy > p:not(.ae-kicker) { font-size: 1rem; line-height: 1.65; }
body[data-page="home"] .ae-kicker { font-family: var(--type-ui); font-weight: 600; letter-spacing: .12em; }
body[data-page="home"] .ae-giveaway { background: #f1efe9; }
body[data-page="home"] .ae-giveaway p,
body[data-page="home"] .ae-home-edit-copy > p:not(.ae-kicker) { font-size: 1rem; line-height: 1.7; }
body[data-page="home"] .ae-giveaway small { font-size: .8125rem; }
body[data-page="home"] .ae-department p { color: var(--color-muted); font-size: .875rem; }
body[data-page="home"] .ae-shop-buttons a,
body[data-page="home"] .ae-giveaway > a,
body[data-page="home"] .ae-home-edit-copy > a {
  font-family: var(--type-ui);
  font-size: .875rem;
  font-weight: 600;
}
body[data-page="home"] .ae-shop-buttons a:hover { background: #e8e5dd; }
body[data-page="home"] .ae-campaign a:focus-visible,
body[data-page="home"] .ae-department:focus-visible,
body[data-page="home"] .ae-giveaway > a:focus-visible,
body[data-page="home"] .ae-home-edit a:focus-visible { outline-color: #34452b; }

@media (max-width: 760px) {
  body :is(.card-text .card-hook, .product-story p, .product-summary .product-identity, .px-product__description, .px-product__facts) {
    font-size: 0.9375rem;
  }
  body :is(.site-header .nav-links > a, .site-header .nav-band a, .nav-band .nav-links > a) {
    font-size: 0.8125rem;
  }
  body :is(.card-actions button, .card-actions a, .button, .cart-open, .delivery-dialog button) {
    min-height: 44px;
  }
  body :is(.policy-page, .page-faq) :is(p, li, details, summary) {
    font-size: 1rem;
    line-height: 1.7;
  }
  body[data-page="home"] .ae-campaign-copy {
    background: #f1efe9;
    color: var(--color-copy);
  }
  body[data-page="home"] .ae-campaign-copy h1 { font-size: clamp(38px, 9vw, 54px); }
  body[data-page="home"] .ae-campaign-secondary { color: var(--color-ink); }
  body[data-page="home"] .ae-department p { font-size: .8125rem; }
  body[data-page="home"] .ae-giveaway small { font-size: .75rem; }
}

/* Exact PixsVIP wordmark treatment and black About navigation label. */
body .site-header .nav-links > a[href$="about.html"] { color:#000 !important; }
body .site-header .nav-links > a.nav-vip,
body .site-header .nav-links > a[data-vip-nav] { color:#1d1d1d !important; text-transform:none; }
body .pixs-vip-wordmark { white-space:nowrap; text-transform:none; }
body .pixs-vip-name { font-weight:400; }
body .pixs-vip-suffix { font-weight:800 !important; }
