/*
Theme Name: NORVEN WooCommerce
Theme URI: https://norven.studio
Author: NORVEN
Description: A quiet WooCommerce theme for NORVEN, rebuilt from the Shopify storefront direction.
Version: 0.1.0
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 8.1
Text Domain: norven-wc
*/

:root {
  /* Canonical NORVEN design tokens from design.md. */
  --norven-bg: #ffffff;
  --norven-surface: #ffffff;
  --norven-surface-muted: #f4f3f2;
  --norven-surface-2: #edece6;
  --norven-surface-promo: #edece6;
  --norven-surface-editorial: #faf8f4;

  --norven-text: #2b2b2b;
  --norven-text-soft: #4d4e55;
  --norven-text-muted: #75767e;
  --norven-text-subtle: #75767e;
  --norven-border: #dbdcdd;
  --norven-dark: #27373e;
  --norven-cta-dark: #1b2436;
  --norven-dark-hover: #1b2436;
  --norven-dark-text: #ffffff;
  --norven-accent-walnut: #906d41;
  --norven-accent-felt: #365365;

  --norven-font-sans: Inter, Arial, sans-serif;
  --norven-font-serif: "Libre Baskerville", Georgia, serif;

  --norven-container-max: 1600px;
  --norven-page-padding-desktop: 32px;
  --norven-page-padding-tablet: 24px;
  --norven-page-padding-mobile: 16px;

  --norven-radius-sm: 4px;
  --norven-radius-md: 6px;
  --norven-border-width: 1px;
  --norven-button-height: 48px;
  --norven-announcement-height-desktop: 32px;
  --norven-announcement-height-mobile: 28px;
  --norven-header-main-height-desktop: 90px;
  --norven-header-main-height-mobile: 62px;
  --norven-header-total-desktop: 122px;
  --norven-header-total-mobile: 90px;
  --norven-footer-min-height-desktop: 887px;
  --norven-footer-min-height-mobile: 1120px;

  --norven-section-space-desktop: 88px;
  --norven-section-space-mobile: 56px;
  --norven-grid-gap-desktop: 24px;
  --norven-grid-gap-mobile: 12px;

  --norven-type-display: 24px;
  --norven-type-h1: 36px;
  --norven-type-h2: 32px;
  --norven-type-h3: 22px;
  --norven-type-body: 15px;
  --norven-type-small: 12px;
  --norven-line-tight: 1.3;
  --norven-line-body: 1.55;
  --norven-commerce-panel: var(--norven-surface);

  /* Legacy aliases retained for earlier CSS blocks during cleanup. */
  --nv-bg: var(--norven-bg);
  --nv-paper: var(--norven-bg);
  --nv-surface: var(--norven-surface);
  --nv-surface-2: var(--norven-surface-2);
  --nv-soft: var(--norven-surface-muted);
  --nv-ink: var(--norven-text);
  --nv-ink-soft: var(--norven-text-soft);
  --nv-muted: var(--norven-text-muted);
  --nv-muted-2: var(--norven-text-subtle);
  --nv-line: var(--norven-border);
  --nv-dark: var(--norven-dark);
  --nv-dark-hover: var(--norven-dark-hover);
  --nv-warm: var(--norven-accent-walnut);
  --nv-taupe: var(--norven-accent-walnut);
  --nv-sage: var(--norven-accent-felt);
  --nv-radius: var(--norven-radius-md);
  --nv-max: var(--norven-container-max);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--norven-bg);
  color: var(--norven-text);
  font-family: var(--norven-font-sans);
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: 0;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

.nv-topbar {
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid var(--nv-line);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  letter-spacing: 0.08em;
  color: #383735;
}

.nv-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 254, 250, 0.96);
  border-bottom: 1px solid var(--nv-line);
  backdrop-filter: blur(12px);
}

.nv-header__inner {
  max-width: var(--nv-max);
  min-height: 96px;
  margin: 0 auto;
  padding: 0 28px;
  display: grid;
  grid-template-columns: 150px 1fr 250px;
  align-items: center;
  gap: 28px;
}

.nv-logo {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.nv-nav {
  display: flex;
  justify-content: center;
  gap: 26px;
  color: #54504c;
  font-size: 18px;
}

.nv-header__tools {
  display: flex;
  justify-content: flex-end;
  gap: 20px;
  align-items: center;
  font-size: 17px;
  color: #403d39;
}

.nv-icon {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 23px;
  line-height: 1;
}

.nv-container {
  max-width: var(--nv-max);
  margin: 0 auto;
  padding: 0 28px;
}

.nv-button,
.button,
button,
input[type="submit"],
.single_add_to_cart_button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--nv-dark);
  border-radius: var(--norven-radius-md);
  padding: 0 26px;
  background: var(--nv-dark);
  color: #fff;
  font-family: var(--norven-font-sans);
  font-size: 17px;
  line-height: 1;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.nv-button:hover,
.button:hover,
button:hover,
input[type="submit"]:hover,
.single_add_to_cart_button:hover {
  background: #11131b;
  color: #fff;
}

.nv-button--outline {
  background: transparent;
  color: var(--nv-dark);
}

.nv-hero {
  min-height: calc(100vh - 134px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background: #ddd;
}

.nv-hero__panel {
  position: relative;
  min-height: calc(100vh - 134px);
  overflow: hidden;
  border-right: 1px solid rgba(255,255,255,.3);
}

.nv-hero__panel:last-child {
  border-right: 0;
}

.nv-hero__panel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.9) contrast(.97);
  transform: scale(1.02);
}

.nv-hero__panel::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.22));
}

.nv-hero__copy {
  position: absolute;
  left: 52px;
  bottom: 42px;
  z-index: 2;
  max-width: 310px;
  padding: 28px;
  border-radius: 8px;
  background: rgba(255,255,255,.88);
  color: var(--nv-ink);
}

.nv-eyebrow {
  margin: 0 0 14px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #81796f;
}

.nv-hero__copy h1,
.nv-hero__copy h2 {
  margin: 0 0 24px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 39px;
  line-height: 1.12;
  font-weight: 400;
}

.nv-bridge {
  padding: 95px 24px;
  text-align: center;
}

.nv-bridge h2,
.nv-section__heading,
.nv-product-title {
  margin: 0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
}

.nv-bridge h2 {
  font-size: 40px;
}

.nv-bridge a {
  display: inline-block;
  margin-top: 18px;
  color: #5c5650;
  border-bottom: 1px solid currentColor;
}

.nv-section {
  padding: 88px 0;
}

.nv-section--soft {
  background: var(--nv-soft);
}

.nv-section__head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 30px;
  margin-bottom: 34px;
}

.nv-section__heading {
  font-size: 40px;
  line-height: 1.14;
}

.nv-section__text {
  max-width: 430px;
  color: var(--nv-muted);
}

.nv-products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
}

.nv-card {
  min-width: 0;
}

.nv-card__image {
  position: relative;
  aspect-ratio: 1 / 1.08;
  background: #f2eee8;
  overflow: hidden;
}

.nv-card__image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity .3s ease, transform .3s ease;
}

.nv-card__image .nv-card__image-hover {
  opacity: 0;
}

.nv-card:hover .nv-card__image img {
  transform: scale(1.035);
}

.nv-card:hover .nv-card__image .nv-card__image-hover {
  opacity: 1;
}

.nv-card:hover .nv-card__image img:first-child {
  opacity: 0;
}

.nv-card__meta {
  margin: 16px 0 5px;
  min-height: 16px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #91887d;
}

.nv-card__title {
  margin: 0 0 7px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.35;
}

.nv-card__price {
  color: #5d5852;
}

.nv-spotlight {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 64px;
  align-items: center;
}

.nv-spotlight__image {
  aspect-ratio: 1 / .82;
  background: #f2eee8;
  overflow: hidden;
}

.nv-spotlight__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nv-spotlight h2 {
  margin: 0 0 18px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 43px;
  font-weight: 400;
  line-height: 1.12;
}

.nv-spotlight p {
  color: var(--nv-muted);
  font-size: 18px;
}

.nv-solutions {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.nv-solution {
  min-height: 310px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: #e7dfd2;
}

.nv-solution h3 {
  margin: 0 0 10px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 24px;
  font-weight: 400;
}

.nv-solution p {
  margin: 0;
  color: var(--nv-muted);
}

.nv-footer {
  padding: 60px 0;
  border-top: 1px solid var(--nv-line);
  color: #59534c;
}

.nv-footer__inner {
  display: flex;
  justify-content: space-between;
  gap: 28px;
}

.nv-pdp {
  padding: 48px 0 30px;
}

.nv-pdp__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .82fr);
  gap: 56px;
  align-items: start;
}

.nv-gallery {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 18px;
  position: sticky;
  top: 150px;
}

.nv-gallery__thumbs {
  display: grid;
  gap: 12px;
  align-content: start;
}

.nv-gallery__thumbs img,
.nv-gallery__main img {
  width: 100%;
  object-fit: cover;
  background: #f1eee8;
}

.nv-gallery__thumbs img {
  aspect-ratio: 1 / 1;
  border-radius: 6px;
}

.nv-gallery__main img {
  aspect-ratio: 1 / 1;
  border-radius: 8px;
}

.nv-pdp__summary {
  padding-top: 28px;
  min-width: 0;
}

.nv-product-vendor {
  margin-bottom: 10px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 12px;
  letter-spacing: .18em;
  color: #7d756c;
}

.nv-product-title {
  max-width: 520px;
  font-size: 50px;
  line-height: 1.16;
  overflow-wrap: anywhere;
}

.nv-price {
  margin: 24px 0 8px;
  font-size: 24px;
}

.nv-subheading {
  margin: 20px 0 22px;
  color: var(--nv-muted);
  font-size: 18px;
}

.nv-bullets {
  display: grid;
  gap: 10px;
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}

.nv-bullets li {
  padding-left: 22px;
  position: relative;
  color: #4e4a45;
}

.nv-bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--nv-warm);
}

.nv-pdp form.cart {
  display: grid;
  gap: 16px;
  margin: 28px 0;
}

.nv-pdp .quantity input.qty {
  width: 120px;
  height: 48px;
  border: 1px solid #9c958c;
  border-radius: 7px;
  background: #fff;
  text-align: center;
}

.nv-pdp .variations {
  width: 100%;
  margin-bottom: 14px;
  table-layout: fixed;
}

.nv-pdp .variations th,
.nv-pdp .variations td {
  display: block;
  padding: 0 0 8px;
  text-align: left;
}

.nv-pdp select {
  width: 100%;
  max-width: 100%;
  min-height: 46px;
  border: 1px solid #aaa39a;
  border-radius: 7px;
  background: #fff;
  padding: 0 12px;
}

.norven-variation-ui-ready .nv-enhanced-variations .variations select {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.nv-variation-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 7px 0 12px;
}

.nv-variation-pill {
  min-height: 44px;
  border-color: #bcb3a8;
  background: #fffdf8;
  color: var(--nv-ink);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  padding: 0 16px;
}

.nv-variation-pill.is-active {
  background: var(--nv-dark);
  border-color: var(--nv-dark);
  color: #fff;
}

.nv-variation-pill.is-disabled,
.nv-variation-pill:disabled {
  cursor: not-allowed;
  opacity: .42;
}

.nv-pdp .reset_variations {
  display: inline-block;
  margin-top: 4px;
  color: #746c62;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.nv-pdp__description {
  margin-top: 34px;
  color: var(--nv-muted);
}

.nv-promise {
  padding: 78px 0;
  background: var(--nv-soft);
}

.nv-promise__grid {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 64px;
  align-items: start;
}

.nv-promise h2 {
  margin: 0;
  max-width: 520px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 34px;
  line-height: 1.2;
  font-weight: 400;
}

.nv-promise__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.nv-promise__cards article {
  min-height: 230px;
  padding: 24px;
  background: rgba(255,255,255,.62);
  border: 1px solid var(--nv-line);
  border-radius: 8px;
}

.nv-promise__cards span {
  display: block;
  margin-bottom: 18px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #8a8177;
}

.nv-promise__cards p {
  margin: 0 0 10px;
  color: #514d47;
}

.nv-product-note {
  margin-top: 26px;
  padding-top: 20px;
  border-top: 1px solid var(--nv-line);
  color: #746e66;
  font-size: 15px;
}

.nv-specs {
  padding: 86px 0;
  border-top: 1px solid var(--nv-line);
}

.nv-specs__grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 72px;
}

.nv-specs h2,
.nv-faq h2 {
  margin: 0 0 24px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 34px;
  font-weight: 400;
}

.nv-spec-table {
  border-top: 1px solid var(--nv-line);
}

.nv-spec-row {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 24px;
  padding: 18px 0;
  border-bottom: 1px solid var(--nv-line);
}

.nv-spec-row dt {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #827a70;
}

.nv-spec-row dd {
  margin: 0;
}

.nv-faq {
  padding: 78px 0;
  background: var(--nv-soft);
}

.nv-faq details {
  border-top: 1px solid var(--nv-line);
  padding: 18px 0;
}

.nv-faq details:last-child {
  border-bottom: 1px solid var(--nv-line);
}

.nv-faq summary {
  cursor: pointer;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 18px;
  list-style: none;
}

.nv-faq summary::-webkit-details-marker {
  display: none;
}

.nv-faq summary::after {
  content: "+";
  float: right;
  color: #8a8177;
}

.nv-faq details[open] summary::after {
  content: "–";
}

.nv-related {
  padding: 72px 0 88px;
}

.woocommerce-notices-wrapper {
  max-width: var(--nv-max);
  margin: 24px auto 0;
  padding: 0 28px;
}

@media (max-width: 900px) {
  .nv-topbar {
    height: 34px;
    font-size: 12px;
  }

  .nv-header__inner {
    min-height: 72px;
    grid-template-columns: 1fr auto;
  }

  .nv-nav,
  .nv-header__tools span:first-child {
    display: none;
  }

  .nv-hero {
    min-height: auto;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 86%;
    grid-template-columns: none;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    background: var(--nv-paper);
  }

  .nv-hero__panel {
    min-height: 0;
    height: 72vh;
    scroll-snap-align: start;
  }

  .nv-hero__copy {
    left: 24px;
    right: 24px;
    bottom: 24px;
  }

  .nv-products,
  .nv-solutions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nv-spotlight,
  .nv-pdp__grid,
  .nv-specs__grid,
  .nv-promise__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .nv-promise__cards {
    grid-template-columns: 1fr;
  }

  .nv-gallery {
    position: static;
    grid-template-columns: 1fr;
  }

  .nv-gallery__thumbs {
    display: none;
  }

  .nv-product-title {
    font-size: 40px;
  }
}

/* Header QA correction: keep the cart count visible inside the mobile icon target. */
@media (max-width: 900px) {
  .home .nv-tool--cart,
  .post-type-archive-product .nv-tool--cart,
  .tax-product_cat .nv-tool--cart,
  .single-product .nv-tool--cart,
  .nv-tool--cart {
    position: relative;
    overflow: visible;
  }

  .home .nv-tool--cart .nv-cart-count,
  .post-type-archive-product .nv-tool--cart .nv-cart-count,
  .tax-product_cat .nv-tool--cart .nv-cart-count,
  .single-product .nv-tool--cart .nv-cart-count,
  .nv-tool--cart .nv-cart-count {
    position: absolute;
    top: 6px;
    right: -3px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border: 1px solid var(--norven-surface-muted);
    border-radius: 999px;
    background: var(--norven-cta-dark);
    color: var(--norven-dark-text);
    font-size: 9px;
    font-weight: 400;
    line-height: 16px;
    letter-spacing: 0;
    margin: 0;
  }
}
@media (max-width: 560px) {
  .nv-container,
  .nv-header__inner {
    padding-left: 18px;
    padding-right: 18px;
    max-width: 100%;
  }

  .nv-products,
  .nv-solutions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 14px;
  }

  .nv-card__meta {
    display: none;
  }

  .nv-card__title {
    font-size: 14px;
  }

  .nv-card__price {
    font-size: 14px;
  }

  .nv-section,
  .nv-bridge {
    padding-top: 62px;
    padding-bottom: 62px;
  }

  .nv-section__head,
  .nv-footer__inner {
    display: block;
  }

  .nv-product-title,
  .nv-bridge h2,
  .nv-section__heading,
  .nv-spotlight h2 {
    font-size: 32px;
  }

  .nv-header__tools {
    gap: 12px;
  }

  .nv-hero {
    grid-auto-columns: 100%;
  }

  .nv-hero__panel {
    height: 70vh;
  }

  .nv-hero__copy {
    left: 18px;
    right: 18px;
    padding: 24px;
  }

  .nv-hero__copy h1,
  .nv-hero__copy h2 {
    font-size: 34px;
  }

  .nv-pdp {
    padding-top: 26px;
  }

  .nv-gallery__main img {
    aspect-ratio: 1 / 1.18;
  }

  .nv-pdp__summary {
    padding-top: 8px;
  }

  .nv-pdp .quantity input.qty,
  .single_add_to_cart_button {
    width: 100%;
  }

  .nv-variation-pill {
    flex: 1 1 calc(50% - 10px);
    padding: 0 10px;
  }

  .nv-spec-row {
    grid-template-columns: 1fr;
    gap: 7px;
  }
}

/* Phase 3B: Homepage redesign */
:root {
  --nv-bg: var(--norven-bg);
  --nv-paper: var(--norven-bg);
  --nv-surface: var(--norven-surface);
  --nv-surface-2: var(--norven-surface-2);
  --nv-soft: var(--norven-surface-muted);
  --nv-ink: var(--norven-text);
  --nv-ink-soft: var(--norven-text-soft);
  --nv-muted: var(--norven-text-muted);
  --nv-muted-2: var(--norven-text-subtle);
  --nv-line: var(--norven-border);
  --nv-dark: var(--norven-dark);
  --nv-dark-hover: var(--norven-dark-hover);
  --nv-taupe: var(--norven-accent-walnut);
  --nv-sage: var(--norven-accent-felt);
  --nv-radius: var(--norven-radius-md);
  --nv-max: var(--norven-container-max);
}

body {
  background: var(--nv-bg);
  color: var(--nv-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

h1,
h2,
h3,
.nv-logo {
  font-family: var(--norven-font-serif);
  letter-spacing: 0;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.nv-topbar {
  height: 40px;
  gap: 84px;
  background: #322d27;
  border: 0;
  color: #fffaf2;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
}

.nv-topbar span + span {
  position: relative;
}

.nv-topbar span + span::before {
  content: "";
  position: absolute;
  left: -42px;
  top: 50%;
  width: 1px;
  height: 18px;
  background: rgba(255, 255, 255, .38);
  transform: translateY(-50%);
}

.nv-header {
  background: rgba(251, 250, 247, .96);
  border-color: rgba(222, 214, 203, .86);
}

.nv-header__inner {
  max-width: none;
  min-height: 72px;
  padding: 0 36px;
  grid-template-columns: 190px minmax(0, 1fr) 290px;
  gap: 26px;
}

.nv-logo {
  font-size: 27px;
  line-height: 1;
  letter-spacing: .26em;
  font-weight: 400;
}

.nv-nav {
  gap: 34px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--nv-ink-soft);
}

.nv-nav a,
.nv-tool,
.nv-mobile-menu a,
.nv-footer a,
.nv-text-link {
  transition: color .18s ease, border-color .18s ease, background .18s ease;
}

.nv-nav a:hover,
.nv-tool:hover,
.nv-mobile-menu a:hover,
.nv-footer a:hover,
.nv-text-link:hover {
  color: var(--nv-sage);
}

.nv-header__tools {
  gap: 22px;
  font-size: 14px;
  font-weight: 600;
  color: var(--nv-ink-soft);
}

.nv-tool {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.nv-tool--search::before,
.nv-tool--account::before,
.nv-tool--cart::before {
  content: "";
  width: 18px;
  height: 18px;
  margin-right: 7px;
  border: 1.8px solid currentColor;
}

.nv-tool--search::before {
  border-radius: 50%;
  box-shadow: 8px 8px 0 -6px currentColor;
  transform: rotate(-12deg);
}

.nv-tool--account::before {
  border-radius: 50%;
  box-shadow: 0 13px 0 -7px currentColor;
}

.nv-tool--cart::before {
  height: 14px;
  border-top: 0;
  border-radius: 1px 1px 3px 3px;
}

.nv-menu-toggle {
  display: none;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--nv-ink);
}

.nv-menu-toggle span:not(.screen-reader-text) {
  display: block;
  width: 26px;
  height: 2px;
  margin: 5px auto;
  background: currentColor;
}

.nv-mobile-menu {
  display: none;
}

.nv-button,
.button,
button,
input[type="submit"],
.single_add_to_cart_button {
  min-height: 48px;
  border-radius: var(--nv-radius);
  border-color: var(--nv-dark);
  background: var(--nv-dark);
  color: #fff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
}

.nv-button:hover,
.button:hover,
button:hover,
input[type="submit"]:hover,
.single_add_to_cart_button:hover {
  background: var(--nv-dark-hover);
  border-color: var(--nv-dark-hover);
}

.nv-button--outline {
  background: transparent;
  color: var(--nv-dark);
}

.nv-button--outline:hover {
  background: var(--nv-dark);
  color: #fff;
}

.nv-button--light {
  border-color: rgba(31, 31, 29, .7);
  background: rgba(251, 250, 247, .64);
}

.nv-home-hero {
  position: relative;
  min-height: 490px;
  height: min(680px, calc(100vh - 112px));
  overflow: hidden;
  background: var(--nv-surface);
}

.nv-home-hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.9) contrast(.98);
}

.nv-home-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(251, 250, 247, .92) 0%, rgba(251, 250, 247, .66) 34%, rgba(251, 250, 247, .12) 70%);
}

.nv-home-hero__content {
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding-top: 36px;
  padding-bottom: 36px;
}

.nv-home-hero h1 {
  max-width: 430px;
  margin: 0;
  font-size: clamp(48px, 5vw, 72px);
  line-height: .98;
  font-weight: 400;
}

.nv-home-hero p {
  max-width: 430px;
  margin: 22px 0 0;
  color: #34302b;
  font-size: 19px;
  line-height: 1.45;
}

.nv-home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.nv-trust {
  border-bottom: 1px solid var(--nv-line);
  background: rgba(255, 254, 250, .72);
}

.nv-trust__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
}

.nv-trust__item {
  min-height: 96px;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 28px;
  border-right: 1px solid var(--nv-line);
}

.nv-trust__item:last-child {
  border-right: 0;
}

.nv-trust__icon {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border: 1.5px solid var(--nv-taupe);
  border-radius: 50%;
  position: relative;
}

.nv-trust__icon::after {
  content: "";
  position: absolute;
  left: 10px;
  top: 9px;
  width: 11px;
  height: 7px;
  border-left: 1.6px solid var(--nv-sage);
  border-bottom: 1.6px solid var(--nv-sage);
  transform: rotate(-45deg);
}

.nv-trust strong {
  display: block;
  font-size: 14px;
}

.nv-trust p {
  margin: 4px 0 0;
  color: var(--nv-muted);
  font-size: 13px;
}

.nv-section {
  padding: 56px 0;
}

.nv-section__heading {
  margin: 0;
  font-size: 34px;
  line-height: 1.15;
  text-align: center;
}

.nv-section__head {
  align-items: center;
  margin-bottom: 26px;
}

.nv-section__head .nv-section__heading {
  text-align: left;
}

.nv-text-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: var(--nv-ink);
  font-weight: 700;
  border-bottom: 1px solid transparent;
}

.nv-text-link::after {
  content: ">";
  margin-left: 8px;
}

.nv-solutions-section {
  padding-top: 38px;
}

.nv-solutions {
  margin-top: 28px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px;
}

.nv-solution {
  position: relative;
  min-height: 220px;
  display: block;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--nv-line);
  border-radius: var(--nv-radius);
  background: var(--nv-surface);
}

.nv-solution img {
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: cover;
  transition: transform .28s ease;
}

.nv-solution::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 52%;
  background: linear-gradient(180deg, transparent, rgba(30, 28, 24, .48));
}

.nv-solution span {
  position: absolute;
  left: 18px;
  right: 44px;
  bottom: 18px;
  z-index: 1;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

.nv-solution span::after {
  content: ">";
  position: absolute;
  right: -24px;
}

.nv-solution:hover img {
  transform: scale(1.025);
}

.nv-products--home {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px;
}

.nv-card--home {
  border: 1px solid var(--nv-line);
  border-radius: var(--nv-radius);
  overflow: hidden;
  background: rgba(255, 254, 250, .84);
}

.nv-card--home .nv-card__image {
  aspect-ratio: 1.2 / .84;
  background: var(--nv-surface);
}

.nv-card--home .nv-card__body {
  padding: 16px;
}

.nv-card--home .nv-card__title {
  min-height: 42px;
  margin-bottom: 6px;
  font-size: 17px;
  font-weight: 650;
}

.nv-card__summary {
  min-height: 40px;
  margin: 0 0 10px;
  color: var(--nv-muted);
  font-size: 13px;
  line-height: 1.45;
}

.nv-card--home .nv-card__price {
  margin-bottom: 8px;
  color: var(--nv-ink);
  font-weight: 650;
}

.nv-card__hint {
  min-height: 18px;
  margin-bottom: 12px;
  color: var(--nv-muted-2);
  font-size: 12px;
}

.nv-card__action {
  min-height: 44px;
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #a79d91;
  border-radius: 5px;
  color: var(--nv-ink);
  background: transparent;
  font-size: 13px;
  font-weight: 700;
}

.nv-card__action:hover {
  border-color: var(--nv-dark);
  background: var(--nv-dark);
  color: #fff;
}

.nv-setup {
  padding: 34px 0;
}

.nv-setup__inner {
  display: grid;
  grid-template-columns: minmax(220px, .8fr) minmax(0, 1.6fr) minmax(210px, .75fr);
  align-items: center;
  gap: 30px;
  padding-top: 28px;
  padding-bottom: 28px;
  border: 1px solid var(--nv-line);
  border-radius: var(--nv-radius);
  background: var(--nv-surface);
}

.nv-setup h2,
.nv-story h2,
.nv-newsletter h2 {
  margin: 0;
  font-size: 31px;
  line-height: 1.16;
  font-weight: 400;
}

.nv-setup p,
.nv-story p,
.nv-newsletter p {
  color: var(--nv-muted);
}

.nv-setup__products {
  display: grid;
  grid-template-columns: repeat(7, auto);
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.nv-setup__product {
  width: 106px;
  display: grid;
  gap: 7px;
  text-align: center;
  font-size: 12px;
}

.nv-setup__product img {
  width: 86px;
  height: 76px;
  margin: 0 auto;
  object-fit: cover;
  border-radius: 4px;
  background: #fff;
}

.nv-setup__product strong {
  font-weight: 600;
}

.nv-setup__plus {
  color: var(--nv-muted);
  font-size: 23px;
}

.nv-setup__cta {
  padding-left: 28px;
  border-left: 1px solid var(--nv-line);
}

.nv-story {
  padding-top: 34px;
}

.nv-story__inner {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 0;
  align-items: stretch;
  border: 1px solid var(--nv-line);
  border-radius: var(--nv-radius);
  overflow: hidden;
  background: rgba(255, 254, 250, .8);
}

.nv-story img {
  width: 100%;
  height: 100%;
  min-height: 300px;
  object-fit: cover;
}

.nv-story__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 56px;
}

.nv-notes {
  padding-top: 28px;
}

.nv-notes__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  margin-top: 28px;
}

.nv-note {
  border: 1px solid var(--nv-line);
  border-radius: var(--nv-radius);
  overflow: hidden;
  background: #fffefa;
}

.nv-note img {
  width: 100%;
  aspect-ratio: 1.72 / 1;
  object-fit: cover;
  background: var(--nv-surface);
}

.nv-note h3,
.nv-note p,
.nv-note span {
  margin-left: 16px;
  margin-right: 16px;
}

.nv-note h3 {
  margin-top: 14px;
  margin-bottom: 6px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
}

.nv-note p {
  color: var(--nv-muted);
  font-size: 13px;
}

.nv-note span {
  display: inline-block;
  margin-bottom: 16px;
  font-weight: 700;
  font-size: 13px;
}

.nv-notes__empty {
  margin-top: 24px;
  padding: 28px;
  border: 1px solid var(--nv-line);
  border-radius: var(--nv-radius);
  color: var(--nv-muted);
  background: rgba(255, 254, 250, .7);
  text-align: center;
}

.nv-newsletter {
  padding: 42px 0;
  background: var(--nv-surface);
  border-top: 1px solid var(--nv-line);
}

.nv-newsletter__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .85fr);
  align-items: center;
  gap: 36px;
}

.nv-newsletter-form {
  display: flex;
  gap: 10px;
}

.nv-newsletter-form input {
  min-height: 46px;
  flex: 1;
  min-width: 0;
  border: 1px solid #c7bdaf;
  border-radius: 5px;
  background: #fffefa;
  padding: 0 14px;
  color: var(--nv-muted);
}

.nv-newsletter-form button {
  min-height: 46px;
  border-radius: 5px;
}

.nv-footer .nv-newsletter-form {
  display: grid;
}

.nv-newsletter-form input:disabled,
.nv-newsletter-form button:disabled {
  opacity: 1;
  cursor: not-allowed;
}

.nv-footer {
  padding: 46px 0 28px;
  background: #f5f1ea;
  border-color: var(--nv-line);
}

.nv-footer__inner {
  display: grid;
  grid-template-columns: 1fr 2.4fr;
  gap: 54px;
}

.nv-footer__brand p {
  max-width: 260px;
  color: var(--nv-muted);
}

.nv-footer__columns {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 34px;
}

.nv-footer__toggle {
  min-height: 0;
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--nv-ink);
  font-size: 14px;
  font-weight: 800;
  text-align: left;
  cursor: default;
}

.nv-footer__panel {
  display: grid;
  gap: 8px;
  margin-top: 14px;
  color: var(--nv-muted);
  font-size: 13px;
}

.nv-footer__panel p {
  margin: 0;
}

.nv-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-top: 38px;
  padding-top: 22px;
  border-top: 1px solid var(--nv-line);
  color: var(--nv-muted);
  font-size: 12px;
}

.nv-footer__bottom div {
  display: flex;
  gap: 24px;
}

@media (max-width: 1180px) {
  .nv-header__inner {
    grid-template-columns: 160px minmax(0, 1fr) 250px;
    padding-left: 24px;
    padding-right: 24px;
  }

  .nv-nav {
    gap: 18px;
  }

  .nv-products--home,
  .nv-solutions {
    gap: 20px;
  }

  .nv-setup__inner {
    grid-template-columns: 1fr;
  }

  .nv-setup__cta {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--nv-line);
    padding-top: 24px;
  }
}

@media (max-width: 900px) {
  .nv-topbar {
    height: 38px;
    gap: 0;
    justify-content: center;
    font-size: 14px;
  }

  .nv-topbar span:first-child {
    display: none;
  }

  .nv-topbar span + span::before {
    display: none;
  }

  .nv-header__inner {
    min-height: 74px;
    grid-template-columns: 56px minmax(0, 1fr) auto;
    padding-left: 20px;
    padding-right: 20px;
  }

  .nv-menu-toggle {
    display: block;
  }

  .nv-logo {
    justify-self: center;
    font-size: 30px;
    letter-spacing: .34em;
  }

  .nv-nav,
  .nv-tool--account,
  .nv-tool--search span,
  .nv-tool--cart {
    display: none;
  }

  .nv-tool--search {
    width: 44px;
    justify-content: center;
  }

  .nv-tool--search::before {
    margin-right: 0;
    width: 24px;
    height: 24px;
  }

  .nv-header__tools {
    gap: 12px;
  }

  .nv-header__tools::after {
    content: "";
    width: 26px;
    height: 22px;
    display: block;
    border: 2px solid currentColor;
    border-top: 0;
    border-radius: 2px 2px 4px 4px;
  }

  .nv-mobile-menu {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    top: 112px;
    z-index: 49;
    background: var(--nv-bg);
    border-bottom: 1px solid var(--nv-line);
    transform: translateY(-110%);
    pointer-events: none;
    transition: transform .22s ease;
  }

  body.nv-menu-open .nv-mobile-menu {
    transform: translateY(0);
    pointer-events: auto;
  }

  .nv-mobile-menu__nav {
    display: grid;
    gap: 0;
    padding: 14px 24px 24px;
  }

  .nv-mobile-menu__nav a {
    min-height: 48px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--nv-line);
    font-size: 17px;
  }

  .nv-home-hero {
    min-height: 0;
    height: 520px;
  }

  .nv-home-hero__image {
    object-position: 62% center;
  }

  .nv-home-hero__overlay {
    background: linear-gradient(90deg, rgba(251, 250, 247, .92), rgba(251, 250, 247, .44), rgba(251, 250, 247, .08));
  }

  .nv-home-hero h1 {
    max-width: 360px;
    font-size: 52px;
  }

  .nv-home-hero p {
    max-width: 340px;
    font-size: 18px;
  }

  .nv-trust__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nv-trust__item:nth-child(2n) {
    border-right: 0;
  }

  .nv-solutions,
  .nv-products--home {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nv-story__inner,
  .nv-newsletter__inner,
  .nv-footer__inner {
    grid-template-columns: 1fr;
  }

  .nv-notes__grid {
    grid-template-columns: 1fr;
  }

  .nv-footer__columns {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .nv-footer__group {
    border-top: 1px solid var(--nv-line);
  }

  .nv-footer__toggle {
    min-height: 50px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
  }

  .nv-footer__toggle::after {
    content: "+";
    color: var(--nv-muted);
  }

  .nv-footer__toggle[aria-expanded="true"]::after {
    content: "-";
  }

  .nv-footer__panel {
    display: none;
    margin-top: 0;
    padding-bottom: 18px;
  }

  .nv-footer__toggle[aria-expanded="true"] + .nv-footer__panel {
    display: grid;
  }
}

@media (max-width: 560px) {
  .nv-container,
  .nv-header__inner {
    padding-left: 18px;
    padding-right: 18px;
  }

  .nv-logo {
    font-size: 27px;
    letter-spacing: .32em;
  }

  .nv-home-hero {
    height: 390px;
  }

  .nv-home-hero__content {
    justify-content: flex-end;
    padding-bottom: 34px;
  }

  .nv-home-hero h1 {
    max-width: 290px;
    font-size: 42px;
  }

  .nv-home-hero p {
    max-width: 310px;
    margin-top: 14px;
    font-size: 16px;
  }

  .nv-home-hero__actions {
    margin-top: 20px;
  }

  .nv-home-hero__actions .nv-button {
    width: 100%;
  }

  .nv-home-hero__actions .nv-button--outline {
    display: none;
  }

  .nv-trust__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .nv-trust__item {
    min-height: 58px;
    justify-content: center;
    padding: 10px;
    border: 0;
    border-radius: 6px;
    background: rgba(255, 254, 250, .76);
  }

  .nv-trust__item:nth-child(4) {
    display: none;
  }

  .nv-trust__item p {
    display: none;
  }

  .nv-trust__item strong {
    font-size: 12px;
    text-align: center;
  }

  .nv-trust__icon {
    display: none;
  }

  .nv-section {
    padding-top: 34px;
    padding-bottom: 34px;
  }

  .nv-section__heading {
    font-size: 26px;
    text-align: left;
  }

  .nv-section__head {
    display: flex;
    margin-bottom: 16px;
  }

  .nv-solutions {
    margin-top: 18px;
    gap: 10px;
  }

  .nv-solution {
    min-height: 112px;
  }

  .nv-solution img {
    min-height: 112px;
  }

  .nv-solution span {
    left: 12px;
    bottom: 12px;
    right: 12px;
    font-size: 15px;
  }

  .nv-solution span::after {
    display: none;
  }

  .nv-products--home {
    gap: 12px;
  }

  .nv-card--home .nv-card__image {
    aspect-ratio: 1.16 / .9;
  }

  .nv-card--home .nv-card__body {
    padding: 11px;
  }

  .nv-card--home .nv-card__title {
    min-height: 38px;
    font-size: 14px;
  }

  .nv-card__summary,
  .nv-card__hint {
    display: none;
  }

  .nv-card__action {
    min-height: 40px;
    font-size: 12px;
  }

  .nv-setup__inner {
    gap: 20px;
    padding-top: 22px;
    padding-bottom: 22px;
  }

  .nv-setup h2,
  .nv-story h2,
  .nv-newsletter h2 {
    font-size: 25px;
  }

  .nv-setup__products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
  }

  .nv-setup__plus {
    display: none;
  }

  .nv-setup__product {
    width: auto;
  }

  .nv-setup__product img {
    width: 72px;
    height: 64px;
  }

  .nv-story__copy {
    padding: 28px 20px;
  }

  .nv-story img {
    min-height: 180px;
  }

  .nv-newsletter-form {
    display: grid;
  }

  .nv-footer__bottom {
    display: grid;
    text-align: center;
  }

  .nv-footer__bottom div {
    justify-content: center;
  }
}

@media (max-width: 390px) {
  .nv-logo {
    font-size: 24px;
    letter-spacing: .28em;
  }

  .nv-header__inner {
    grid-template-columns: 50px minmax(0, 1fr) 44px;
  }

  .nv-home-hero h1 {
    font-size: 39px;
  }
}

/* Phase 3C: Shop and collection redesign */
.nv-shop-hero {
  position: relative;
  min-height: 260px;
  overflow: hidden;
  background: var(--nv-surface);
  border-bottom: 1px solid var(--nv-line);
}

.nv-shop-hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 58%;
  filter: saturate(.88) contrast(.96);
}

.nv-shop-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(251, 250, 247, .96), rgba(251, 250, 247, .78) 42%, rgba(251, 250, 247, .1));
}

.nv-shop-hero__inner {
  position: relative;
  z-index: 1;
  min-height: 260px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding-top: 34px;
  padding-bottom: 34px;
}

.nv-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 20px;
  color: var(--nv-muted);
  font-size: 13px;
  font-weight: 600;
}

.nv-breadcrumb a:hover {
  color: var(--nv-ink);
}

.nv-shop-hero h1 {
  max-width: 560px;
  margin: 0;
  font-size: 56px;
  line-height: 1.02;
  font-weight: 400;
}

.nv-shop-hero p {
  max-width: 520px;
  margin: 18px 0 0;
  color: var(--nv-muted);
  font-size: 18px;
}

.nv-category-pills {
  background: rgba(255, 254, 250, .78);
  border-bottom: 1px solid var(--nv-line);
}

.nv-category-pills__inner {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 54px;
  overflow-x: auto;
}

.nv-category-pills a {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  color: var(--nv-muted);
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
}

.nv-category-pills a:hover,
.nv-category-pills a.is-active {
  color: var(--nv-ink);
  border-color: var(--nv-ink);
}

.nv-shop {
  padding: 42px 0 56px;
}

.nv-shop__layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 48px;
  align-items: start;
}

.nv-shop__sidebar {
  position: sticky;
  top: 126px;
}

.nv-shop__toolbar {
  min-height: 56px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 28px;
}

.nv-shop__count {
  margin: 0;
  font-weight: 800;
  color: var(--nv-ink);
}

.nv-shop__actions {
  display: flex;
  align-items: center;
  gap: 18px;
}

.nv-filter-toggle {
  display: none;
}

.nv-sort {
  display: flex;
  align-items: center;
  gap: 12px;
}

.nv-sort label {
  color: var(--nv-muted);
  font-size: 13px;
  font-weight: 700;
}

.nv-sort select {
  min-width: 190px;
  min-height: 46px;
  border: 1px solid var(--nv-line);
  border-radius: var(--nv-radius);
  background: #fffefa;
  color: var(--nv-ink);
  padding: 0 38px 0 14px;
  font-weight: 650;
}

.nv-active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.nv-active-filters a {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--nv-line);
  border-radius: 999px;
  background: #fffefa;
  padding: 0 12px;
  color: var(--nv-muted);
  font-size: 12px;
  font-weight: 700;
}

.nv-active-filters__clear {
  color: var(--nv-ink) !important;
}

.nv-filter-form {
  display: grid;
  gap: 28px;
}

.nv-filter-group {
  padding-bottom: 24px;
  border-bottom: 1px solid var(--nv-line);
}

.nv-filter-group h2 {
  margin: 0 0 13px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  font-weight: 800;
}

.nv-check {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 11px;
  color: var(--nv-muted);
  font-size: 14px;
  cursor: pointer;
}

.nv-check input {
  width: 16px;
  height: 16px;
  accent-color: var(--nv-dark);
}

.nv-check input:disabled {
  cursor: default;
}

.nv-price-filter {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.nv-price-filter label {
  display: grid;
  gap: 7px;
  color: var(--nv-muted);
  font-size: 12px;
  font-weight: 700;
}

.nv-price-filter input {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--nv-line);
  border-radius: 5px;
  background: #fffefa;
  padding: 0 10px;
}

.nv-filter-actions {
  display: grid;
  gap: 14px;
}

.nv-filter-actions .nv-button {
  width: 100%;
}

.nv-filter-actions a {
  color: var(--nv-muted);
  font-size: 13px;
  font-weight: 700;
}

.nv-products--shop {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

.nv-card--shop {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  border: 1px solid var(--nv-line);
  border-radius: var(--nv-radius);
  overflow: hidden;
  background: rgba(255, 254, 250, .86);
}

.nv-card--shop .nv-card__media-link {
  display: block;
}

.nv-card--shop .nv-card__image {
  aspect-ratio: 1.14 / .92;
  background: var(--nv-surface);
}

.nv-card__badge {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 2;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: rgba(255, 254, 250, .94);
  padding: 0 10px;
  color: var(--nv-ink);
  font-size: 12px;
  font-weight: 800;
}

.nv-card--shop .nv-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 17px;
}

.nv-card--shop .nv-card__title {
  min-height: 44px;
  margin: 0 0 8px;
  font-size: 17px;
  font-weight: 750;
}

.nv-card--shop .nv-card__summary {
  min-height: 42px;
  margin-bottom: 12px;
}

.nv-card--shop .nv-card__price {
  margin-top: auto;
  margin-bottom: 8px;
}

.nv-card--shop .nv-card__action {
  margin-top: 12px;
}

.nv-card.is-out-of-stock .nv-card__action {
  color: var(--nv-muted);
  border-color: var(--nv-line);
}

.nv-filter-drawer {
  position: fixed;
  inset: 0;
  z-index: 90;
  pointer-events: none;
  visibility: hidden;
}

.nv-filter-drawer__overlay {
  position: absolute;
  inset: 0;
  background: rgba(31, 31, 29, .28);
  opacity: 0;
  transition: opacity .2s ease;
}

.nv-filter-drawer__panel {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  max-height: 86vh;
  overflow: auto;
  border-radius: 14px 14px 0 0;
  background: var(--nv-bg);
  padding: 20px;
  transform: translateY(102%);
  transition: transform .22s ease;
}

body.nv-filter-open .nv-filter-drawer {
  pointer-events: auto;
  visibility: visible;
}

body.nv-filter-open .nv-filter-drawer__overlay {
  opacity: 1;
}

body.nv-filter-open .nv-filter-drawer__panel {
  transform: translateY(0);
}

.nv-filter-drawer__head {
  min-height: 48px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.nv-filter-drawer__head strong {
  font-size: 18px;
}

.nv-filter-drawer__head button {
  width: 44px;
  min-height: 44px;
  padding: 0;
}

.nv-shop-trust {
  padding: 0 0 48px;
}

.nv-shop-trust__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--nv-line);
  border-radius: var(--nv-radius);
  background: var(--nv-surface);
}

.nv-shop-trust__grid div {
  min-height: 86px;
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 18px 28px;
  border-right: 1px solid var(--nv-line);
}

.nv-shop-trust__grid div:last-child {
  border-right: 0;
}

.nv-shop-trust strong {
  font-size: 14px;
}

.nv-shop-trust span {
  color: var(--nv-muted);
  font-size: 13px;
}

.woocommerce-pagination {
  margin-top: 36px;
}

.woocommerce-pagination ul {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce-pagination a,
.woocommerce-pagination span {
  min-width: 42px;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--nv-line);
  border-radius: 5px;
}

.woocommerce-pagination .current {
  background: var(--nv-dark);
  border-color: var(--nv-dark);
  color: #fff;
}

@media (max-width: 1180px) {
  .nv-shop__layout {
    grid-template-columns: 200px minmax(0, 1fr);
    gap: 30px;
  }

  .nv-category-pills__inner {
    gap: 34px;
  }
}

@media (max-width: 1024px) {
  .nv-shop__sidebar {
    display: none;
  }

  .nv-shop__layout {
    grid-template-columns: 1fr;
  }

  .nv-filter-toggle {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--nv-line);
    border-radius: var(--nv-radius);
    background: #fffefa;
    color: var(--nv-ink);
    padding: 0 18px;
    font-size: 14px;
    font-weight: 800;
  }
}

@media (max-width: 768px) {
  .nv-shop-hero,
  .nv-shop-hero__inner {
    min-height: 220px;
  }

  .nv-shop-hero h1 {
    font-size: 42px;
  }

  .nv-category-pills__inner {
    min-height: 66px;
    justify-content: flex-start;
    gap: 26px;
  }

  .nv-shop__toolbar {
    display: grid;
  }

  .nv-shop__actions {
    justify-content: space-between;
  }

  .nv-sort {
    flex: 1;
    justify-content: flex-end;
  }

  .nv-sort select {
    min-width: 170px;
  }

  .nv-products--shop {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .nv-shop-trust__grid {
    grid-template-columns: 1fr;
  }

  .nv-shop-trust__grid div {
    border-right: 0;
    border-bottom: 1px solid var(--nv-line);
  }

  .nv-shop-trust__grid div:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 430px) {
  .nv-shop {
    padding-top: 28px;
  }

  .nv-shop-hero,
  .nv-shop-hero__inner {
    min-height: 190px;
  }

  .nv-shop-hero h1 {
    font-size: 36px;
  }

  .nv-shop-hero p {
    font-size: 15px;
  }

  .nv-breadcrumb {
    margin-bottom: 13px;
  }

  .nv-shop__actions {
    align-items: stretch;
    gap: 10px;
  }

  .nv-filter-toggle,
  .nv-sort select {
    min-height: 44px;
  }

  .nv-sort {
    display: grid;
    gap: 6px;
  }

  .nv-sort label {
    display: none;
  }

  .nv-products--shop {
    gap: 12px;
  }

  .nv-card--shop .nv-card__body {
    padding: 11px;
  }

  .nv-card--shop .nv-card__title {
    min-height: 38px;
    font-size: 14px;
  }

  .nv-card--shop .nv-card__summary,
  .nv-card--shop .nv-card__hint {
    display: none;
  }

  .nv-card--shop .nv-card__price {
    font-size: 13px;
  }

  .nv-card--shop .nv-card__action {
    min-height: 42px;
    font-size: 12px;
  }
}

/* Phase 3D: PDP redesign */
.nv-pdp {
  padding: 28px 0 0;
}

.nv-pdp__breadcrumb {
  margin-bottom: 28px;
}

.nv-pdp__grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(380px, .82fr);
  gap: 54px;
}

.nv-gallery {
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 18px;
  top: 126px;
}

.nv-gallery__thumbs {
  gap: 12px;
}

.nv-gallery__thumb {
  width: 100%;
  padding: 0;
  border: 1px solid transparent;
  border-radius: var(--nv-radius);
  background: var(--nv-surface);
  overflow: hidden;
}

.nv-gallery__thumb.is-active {
  border-color: var(--nv-dark);
}

.nv-gallery__thumb img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.nv-gallery__main {
  overflow: hidden;
  border-radius: var(--nv-radius);
  background: var(--nv-surface);
}

.nv-gallery__main img {
  width: 100%;
  aspect-ratio: 1 / 1.04;
  object-fit: cover;
  border-radius: 0;
}

.nv-pdp__summary {
  position: sticky;
  top: 126px;
  padding: 10px 0 32px;
}

.nv-product-vendor {
  margin-bottom: 12px;
  color: var(--nv-muted-2);
}

.nv-product-title {
  max-width: 620px;
  font-size: 46px;
  line-height: 1.07;
}

.nv-rating-summary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  color: var(--nv-muted);
  font-size: 14px;
  font-weight: 650;
}

.star-rating {
  position: relative;
  width: 5.5em;
  height: 1em;
  overflow: hidden;
  color: #b69b72;
  font-family: star, Arial, sans-serif;
  line-height: 1;
}

.star-rating::before {
  content: "★★★★★";
  color: #d8d0c4;
}

.star-rating span {
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
  height: 100%;
  color: #b69b72;
}

.star-rating span::before {
  content: "★★★★★";
}

.nv-subheading {
  margin: 18px 0 0;
  font-size: 17px;
}

.nv-price {
  margin: 24px 0 18px;
  font-size: 25px;
  font-weight: 650;
}

.nv-bullets {
  gap: 11px;
  margin-bottom: 26px;
}

.nv-pdp__form {
  margin-top: 22px;
}

.nv-pdp form.cart {
  gap: 15px;
}

.nv-pdp form.cart .quantity {
  display: inline-flex;
}

.nv-pdp .quantity input.qty {
  width: 96px;
  min-height: 48px;
}

.nv-pdp .single_add_to_cart_button {
  width: 100%;
}

.nv-pdp .variations label {
  display: inline-block;
  margin-bottom: 7px;
  color: var(--nv-ink);
  font-weight: 800;
}

.nv-variation-pill {
  min-height: 46px;
  border-radius: 6px;
}

.nv-pdp-trust {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px;
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid var(--nv-line);
}

.nv-pdp-trust div {
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--nv-muted);
  font-size: 13px;
  font-weight: 650;
}

.nv-pdp-trust span {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  border: 1.5px solid var(--nv-taupe);
  border-radius: 50%;
}

.nv-pdp-setup,
.nv-pdp-details,
.nv-pdp-faq,
.nv-reviews,
.nv-related {
  padding: 64px 0;
}

.nv-pdp-setup {
  padding-top: 72px;
}

.nv-products--pdp {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.nv-card--pdp {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  border: 1px solid var(--nv-line);
  border-radius: var(--nv-radius);
  overflow: hidden;
  background: rgba(255, 254, 250, .88);
}

.nv-card--pdp .nv-card__image {
  aspect-ratio: 1.25 / .82;
}

.nv-card--pdp .nv-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 14px;
}

.nv-card--pdp .nv-card__title {
  min-height: 40px;
  font-size: 15px;
}

.nv-card--pdp .nv-card__summary {
  display: none;
}

.nv-card--pdp .nv-card__price {
  margin-top: auto;
  font-size: 13px;
}

.nv-card--pdp .nv-card__action {
  min-height: 44px;
  margin-top: 11px;
  font-size: 12px;
}

.nv-pdp-details {
  background: var(--nv-surface);
}

.nv-pdp-details__grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 62px;
}

.nv-pdp-story,
.nv-pdp-specs {
  min-width: 0;
}

.nv-pdp-story h2 {
  margin: 0 0 20px;
  font-size: 36px;
  line-height: 1.12;
  font-weight: 400;
}

.nv-pdp-copy {
  color: var(--nv-muted);
  font-size: 16px;
}

.nv-pdp-specs details,
.nv-pdp-faq details {
  border-top: 1px solid var(--nv-line);
}

.nv-pdp-specs details:last-child,
.nv-pdp-faq details:last-child {
  border-bottom: 1px solid var(--nv-line);
}

.nv-pdp-specs summary,
.nv-pdp-faq summary {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  font-size: 18px;
  font-weight: 750;
  list-style: none;
}

.nv-pdp-specs summary::-webkit-details-marker,
.nv-pdp-faq summary::-webkit-details-marker {
  display: none;
}

.nv-pdp-specs summary::after,
.nv-pdp-faq summary::after {
  content: "+";
  color: var(--nv-muted);
  font-size: 24px;
  font-weight: 400;
}

.nv-pdp-specs details[open] summary::after,
.nv-pdp-faq details[open] summary::after {
  content: "-";
}

.nv-pdp-specs .nv-spec-table {
  margin-top: 12px;
}

.nv-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 4px 0 22px;
}

.nv-chip-list span {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--nv-line);
  border-radius: 999px;
  background: #fffefa;
  padding: 0 13px;
  color: var(--nv-muted);
  font-size: 13px;
  font-weight: 700;
}

.nv-pdp-faq__items {
  max-width: 900px;
  margin: 26px auto 0;
}

.nv-reviews {
  background: rgba(255, 254, 250, .72);
  border-top: 1px solid var(--nv-line);
}

.nv-reviews .commentlist {
  display: grid;
  gap: 18px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}

.nv-reviews .review,
.nv-reviews .comment {
  border: 1px solid var(--nv-line);
  border-radius: var(--nv-radius);
  background: #fffefa;
  padding: 20px;
}

.nv-reviews .meta {
  color: var(--nv-muted);
}

.nv-reviews #review_form_wrapper {
  margin-top: 28px;
}

.nv-reviews textarea,
.nv-reviews input[type="text"],
.nv-reviews input[type="email"] {
  width: 100%;
  border: 1px solid var(--nv-line);
  border-radius: 6px;
  background: #fffefa;
  padding: 12px;
}

.nv-reviews textarea {
  min-height: 130px;
}

.nv-sticky-atc {
  display: none;
}

@media (max-width: 1024px) {
  .nv-pdp__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .nv-pdp__summary,
  .nv-gallery {
    position: static;
  }

  .nv-pdp-details__grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .nv-products--pdp {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .nv-pdp {
    padding-top: 18px;
  }

  .nv-pdp__breadcrumb {
    display: none;
  }

  .nv-gallery {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  .nv-gallery__thumbs {
    order: 2;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    width: 100%;
    max-width: 100%;
    gap: 8px;
    margin-top: 10px;
    overflow: visible;
  }

  .nv-gallery__main {
    width: 100%;
    max-width: 100%;
  }

  .nv-gallery__thumb {
    width: 100%;
    min-width: 0;
    flex: initial;
  }

  .nv-gallery__main img {
    aspect-ratio: 1 / .78;
  }

  .nv-product-title {
    font-size: 36px;
  }

  .nv-pdp-trust {
    grid-template-columns: 1fr;
  }

  .nv-pdp-setup,
  .nv-pdp-details,
  .nv-pdp-faq,
  .nv-reviews,
  .nv-related {
    padding: 42px 0;
  }

  .nv-sticky-atc {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 70;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    border-top: 1px solid var(--nv-line);
    background: rgba(251, 250, 247, .96);
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
    box-shadow: 0 -10px 24px rgba(31, 31, 29, .08);
  }

  .nv-sticky-atc strong,
  .nv-sticky-atc span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .nv-sticky-atc strong {
    font-size: 13px;
  }

  .nv-sticky-atc span {
    color: var(--nv-muted);
    font-size: 12px;
  }

  .nv-sticky-atc .nv-button {
    min-height: 44px;
    padding: 0 18px;
  }

  body.single-product {
    padding-bottom: 74px;
  }
}

@media (max-width: 430px) {
  .nv-gallery__thumbs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .nv-gallery__main img {
    aspect-ratio: 1 / .82;
  }

  .nv-product-title {
    font-size: 31px;
  }

  .nv-price {
    font-size: 22px;
  }

  .nv-products--pdp {
    gap: 12px;
  }

  .nv-card--pdp .nv-card__body {
    padding: 11px;
  }

  .nv-card--pdp .nv-card__title {
    min-height: 38px;
    font-size: 13px;
  }

  .nv-card--pdp .nv-card__hint {
    display: none;
  }
}

/* Phase 3E: mobile experience and CRO polish */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
.nv-card__action:focus-visible,
.single_add_to_cart_button:focus-visible {
  outline: 2px solid #6f8068;
  outline-offset: 3px;
}

body.nv-overlay-open {
  overflow: hidden;
  touch-action: none;
}

.nv-mobile-menu,
.nv-filter-drawer__panel {
  -webkit-overflow-scrolling: touch;
}

.nv-filter-drawer__panel {
  padding-bottom: calc(20px + env(safe-area-inset-bottom));
}

.nv-filter-drawer__overlay {
  cursor: pointer;
}

.nv-pdp-specs summary,
.nv-pdp-faq summary,
.nv-footer__toggle {
  -webkit-tap-highlight-color: transparent;
}

@media (max-width: 900px) {
  .nv-mobile-menu {
    max-height: calc(100dvh - 112px);
    overflow: auto;
    box-shadow: 0 18px 34px rgba(31, 31, 29, .08);
  }

  .nv-mobile-menu__nav {
    padding-bottom: calc(24px + env(safe-area-inset-bottom));
  }
}

@media (max-width: 768px) {
  .nv-section,
  .nv-pdp-setup,
  .nv-pdp-details,
  .nv-pdp-faq,
  .nv-reviews,
  .nv-related {
    padding-top: 38px;
    padding-bottom: 38px;
  }

  .nv-section__head {
    gap: 14px;
  }

  .nv-card__action,
  .nv-card--shop .nv-card__action,
  .nv-card--home .nv-card__action,
  .nv-card--pdp .nv-card__action {
    min-height: 44px;
  }

  .nv-shop__toolbar {
    gap: 16px;
    margin-bottom: 20px;
  }

  .nv-filter-drawer__panel {
    max-height: 84dvh;
    padding: 18px;
  }

  .nv-pdp {
    padding-top: 14px;
  }

  .nv-gallery__main img {
    aspect-ratio: 1 / .74;
  }

  .nv-gallery__thumbs {
    gap: 7px;
    margin-top: 8px;
  }

  .nv-product-vendor {
    margin-top: 4px;
    margin-bottom: 8px;
  }

  .nv-product-title {
    font-size: 34px;
    line-height: 1.08;
  }

  .nv-rating-summary {
    margin-top: 10px;
  }

  .nv-subheading {
    margin-top: 12px;
    font-size: 16px;
  }

  .nv-price {
    margin: 18px 0 14px;
  }

  .nv-bullets {
    margin-bottom: 18px;
  }

  .nv-pdp__form {
    margin-top: 16px;
  }

  .nv-pdp form.cart {
    gap: 12px;
    margin: 20px 0;
  }

  .nv-variation-pills {
    gap: 8px;
  }

  .nv-variation-pill {
    min-height: 46px;
    padding-left: 14px;
    padding-right: 14px;
  }

  .nv-pdp-trust {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
    margin-top: 18px;
    padding-top: 16px;
  }

  .nv-pdp-trust div {
    align-items: flex-start;
    min-height: 34px;
    font-size: 12px;
    line-height: 1.35;
  }

  .nv-pdp-specs summary,
  .nv-pdp-faq summary {
    min-height: 54px;
    font-size: 17px;
  }

  .nv-pdp-copy,
  .nv-reviews .description {
    font-size: 15px;
  }

  .nv-reviews .review,
  .nv-reviews .comment {
    padding: 16px;
  }

  .nv-reviews .commentlist {
    gap: 14px;
    margin-top: 20px;
  }
}

@media (max-width: 560px) {
  .nv-home-hero {
    height: min(372px, calc(100dvh - 96px));
  }

  .nv-home-hero__overlay {
    background: linear-gradient(180deg, rgba(251, 250, 247, .28) 0%, rgba(251, 250, 247, .78) 44%, rgba(251, 250, 247, .96) 100%);
  }

  .nv-home-hero__content {
    padding-top: 22px;
    padding-bottom: 26px;
  }

  .nv-home-hero h1 {
    font-size: 38px;
    line-height: 1.02;
  }

  .nv-home-hero p {
    font-size: 15px;
    line-height: 1.42;
  }

  .nv-home-hero__actions {
    margin-top: 16px;
  }

  .nv-trust__grid {
    grid-template-columns: 1fr;
    gap: 0;
    padding-top: 0;
    padding-bottom: 0;
  }

  .nv-trust__item {
    min-height: 44px;
    justify-content: flex-start;
    border-radius: 0;
    border-bottom: 1px solid var(--nv-line);
    background: transparent;
    padding: 9px 0;
  }

  .nv-trust__item:nth-child(4) {
    display: flex;
  }

  .nv-trust__item:last-child {
    border-bottom: 0;
  }

  .nv-trust__item strong {
    text-align: left;
  }

  .nv-solutions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nv-solution {
    min-height: 120px;
  }

  .nv-solution img {
    min-height: 120px;
  }

  .nv-products--home,
  .nv-products--shop,
  .nv-products--pdp {
    gap: 10px;
  }

  .nv-card__action {
    font-size: 12px;
  }

  .nv-footer {
    padding-top: 34px;
  }

  .nv-footer__inner {
    gap: 24px;
  }

  .nv-footer__toggle {
    min-height: 54px;
  }
}

@media (max-width: 430px) {
  .nv-container,
  .nv-header__inner {
    padding-left: 15px;
    padding-right: 15px;
  }

  .nv-home-hero {
    height: 352px;
  }

  .nv-home-hero h1 {
    max-width: 270px;
    font-size: 36px;
  }

  .nv-shop {
    padding-top: 24px;
    padding-bottom: 42px;
  }

  .nv-shop-hero,
  .nv-shop-hero__inner {
    min-height: 176px;
  }

  .nv-category-pills__inner {
    min-height: 58px;
    gap: 22px;
  }

  .nv-category-pills a {
    min-height: 44px;
  }

  .nv-shop__actions {
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    display: grid;
  }

  .nv-filter-toggle,
  .nv-sort select {
    width: 100%;
  }

  .nv-card--shop .nv-card__image,
  .nv-card--home .nv-card__image {
    aspect-ratio: 1 / .86;
  }

  .nv-card--shop .nv-card__title,
  .nv-card--home .nv-card__title,
  .nv-card--pdp .nv-card__title {
    line-height: 1.28;
  }

  .nv-gallery__main img {
    aspect-ratio: 1 / .72;
  }

  .nv-gallery__thumbs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .nv-gallery__thumb:nth-child(n+5) {
    display: none;
  }

  .nv-product-title {
    font-size: 29px;
  }

  .nv-pdp-trust {
    grid-template-columns: 1fr;
  }

  .nv-sticky-atc {
    grid-template-columns: minmax(0, 1fr) minmax(112px, auto);
    gap: 10px;
    padding: 9px 12px calc(9px + env(safe-area-inset-bottom));
  }

  .nv-sticky-atc .nv-button {
    min-height: 44px;
    padding-left: 14px;
    padding-right: 14px;
  }

  body.single-product {
    padding-bottom: 70px;
  }
}

@media (max-width: 375px) {
  .nv-products--shop {
    gap: 9px;
  }

  .nv-card--shop .nv-card__body,
  .nv-card--home .nv-card__body,
  .nv-card--pdp .nv-card__body {
    padding: 10px;
  }

  .nv-card--shop .nv-card__action,
  .nv-card--home .nv-card__action,
  .nv-card--pdp .nv-card__action {
    font-size: 11px;
  }

  .nv-product-title {
    font-size: 28px;
  }
}

/* Phase 3F: Cart, checkout, and account polish */
.nv-page {
  padding: 42px 0 64px;
}

.nv-page--commerce {
  background: linear-gradient(180deg, rgba(246, 242, 235, .6), rgba(251, 250, 247, 1) 260px);
}

.nv-page__header {
  margin-bottom: 28px;
}

.nv-page__title {
  margin: 0;
  font-size: 52px;
  line-height: 1.04;
  font-weight: 400;
}

.nv-page__content > .woocommerce {
  display: grid;
  gap: 24px;
}

.woocommerce-notices-wrapper,
.woocommerce-NoticeGroup {
  display: grid;
  gap: 12px;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
  margin: 0 0 18px;
  border: 1px solid var(--nv-line);
  border-left: 4px solid var(--nv-sage);
  border-radius: var(--nv-radius);
  background: #fffefa;
  padding: 15px 18px;
  color: var(--nv-ink);
  list-style-position: inside;
}

.woocommerce-error {
  border-left-color: #a25c52;
}

.woocommerce-info {
  border-left-color: var(--nv-taupe);
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.nv-page--commerce input[type="text"],
.nv-page--commerce input[type="email"],
.nv-page--commerce input[type="tel"],
.nv-page--commerce input[type="password"],
.nv-page--commerce input[type="number"],
.nv-page--commerce textarea,
.nv-page--commerce select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid #beb5aa;
  border-radius: 6px;
  background: #fffefa;
  color: var(--nv-ink);
  padding: 0 13px;
  font: inherit;
}

.nv-page--commerce textarea,
.woocommerce form .form-row textarea {
  min-height: 112px;
  padding-top: 12px;
}

.nv-page--commerce input:focus,
.nv-page--commerce textarea:focus,
.nv-page--commerce select:focus,
.select2-container--default .select2-selection--single:focus {
  border-color: var(--nv-sage);
  outline: 2px solid rgba(111, 128, 104, .22);
  outline-offset: 1px;
}

.nv-page--commerce label,
.woocommerce form .form-row label {
  color: var(--nv-ink);
  font-size: 13px;
  font-weight: 800;
}

.woocommerce form .form-row {
  margin: 0 0 16px;
  padding: 0;
}

.woocommerce form .form-row .required {
  color: #9a4c42;
}

.select2-container .select2-selection--single {
  min-height: 48px;
  border-color: #beb5aa;
  border-radius: 6px;
  background: #fffefa;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 48px;
  color: var(--nv-ink);
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 48px;
}

.nv-free-shipping-progress {
  border: 1px solid var(--nv-line);
  border-radius: var(--nv-radius);
  background: rgba(255, 254, 250, .9);
  padding: 18px;
}

.nv-free-shipping-progress__head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}

.nv-free-shipping-progress strong {
  font-size: 15px;
}

.nv-free-shipping-progress span {
  color: var(--nv-muted);
  font-size: 13px;
}

.nv-free-shipping-progress__track {
  height: 8px;
  margin-top: 14px;
  overflow: hidden;
  border-radius: 999px;
  background: #e5ded4;
}

.nv-free-shipping-progress__track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--nv-sage);
}

.woocommerce-cart-form,
.cart_totals,
.checkout_coupon,
.woocommerce-checkout #customer_details,
.woocommerce-checkout-review-order,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-ResetPassword {
  border: 1px solid var(--nv-line);
  border-radius: var(--nv-radius);
  background: rgba(255, 254, 250, .9);
}

.woocommerce-cart-form,
.woocommerce-checkout #customer_details,
.woocommerce-checkout-review-order,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-ResetPassword {
  padding: 22px;
}

.shop_table {
  width: 100%;
  border-collapse: collapse;
}

.shop_table th {
  padding: 13px 12px;
  border-bottom: 1px solid var(--nv-line);
  color: var(--nv-muted);
  font-size: 12px;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.shop_table td {
  padding: 16px 12px;
  border-bottom: 1px solid var(--nv-line);
  vertical-align: middle;
}

.shop_table tr:last-child td {
  border-bottom: 0;
}

.shop_table .product-thumbnail img {
  width: 86px;
  height: 72px;
  object-fit: cover;
  border-radius: 6px;
  background: var(--nv-surface);
}

.shop_table .product-name a {
  color: var(--nv-ink);
  font-weight: 800;
}

.woocommerce-cart-form .product-remove a {
  min-width: 34px;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--nv-line);
  border-radius: 999px;
  color: var(--nv-muted);
  font-size: 20px;
}

.woocommerce-cart-form .quantity .qty {
  width: 82px;
  text-align: center;
}

.woocommerce-cart-form .actions {
  padding-top: 20px;
}

.woocommerce-cart-form .coupon {
  display: flex;
  gap: 10px;
  align-items: center;
  max-width: 520px;
}

.woocommerce-cart-form .coupon .input-text {
  flex: 1;
  min-width: 0;
}

.woocommerce-cart-form button[name="update_cart"] {
  float: right;
}

.woocommerce-cart .cart-collaterals {
  display: grid;
  justify-content: end;
  margin-top: 24px;
}

.cart_totals {
  width: min(100%, 430px);
  padding: 22px;
}

.cart_totals h2,
.woocommerce-checkout h3,
.woocommerce-account h2,
.woocommerce-account h3 {
  margin: 0 0 18px;
  font-size: 24px;
  line-height: 1.18;
  font-weight: 500;
}

.cart_totals .shop_table th,
.cart_totals .shop_table td,
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  text-transform: none;
  letter-spacing: 0;
  font-size: 14px;
}

.wc-proceed-to-checkout {
  margin-top: 18px;
}

.wc-proceed-to-checkout .checkout-button,
#place_order {
  width: 100%;
  min-height: 52px;
  font-size: 15px;
}

.woocommerce-cart .return-to-shop .button,
.woocommerce-empty-cart .return-to-shop .button {
  min-width: 180px;
}

.nv-trust--commerce,
.nv-trust--checkout {
  margin-top: 18px;
  border: 1px solid var(--nv-line);
  border-radius: var(--nv-radius);
  background: rgba(255, 254, 250, .9);
}

.nv-trust--commerce .nv-container,
.nv-trust--checkout .nv-container {
  width: auto;
  max-width: none;
  padding: 0;
}

.nv-trust--commerce .nv-trust__grid,
.nv-trust--checkout .nv-trust__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nv-trust--commerce .nv-trust__item,
.nv-trust--checkout .nv-trust__item {
  min-height: 74px;
  padding: 14px 18px;
}

.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .72fr);
  gap: 28px;
  align-items: start;
}

.woocommerce-checkout #customer_details {
  display: grid;
  gap: 22px;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  grid-column: 2;
}

.woocommerce-checkout #order_review_heading {
  margin-bottom: 0;
}

.woocommerce-checkout-review-order {
  padding: 22px;
}

.woocommerce-checkout-payment {
  margin-top: 18px;
  border-top: 1px solid var(--nv-line);
  padding-top: 18px;
}

.woocommerce-checkout-payment ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce-checkout-payment li {
  margin-bottom: 12px;
}

.woocommerce-checkout-payment .payment_box {
  margin-top: 10px;
  border: 1px solid var(--nv-line);
  border-radius: 6px;
  background: var(--nv-surface);
  padding: 13px;
  color: var(--nv-muted);
  font-size: 13px;
}

.woocommerce-terms-and-conditions-wrapper {
  color: var(--nv-muted);
  font-size: 13px;
}

.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 28px;
}

.woocommerce-account .woocommerce:has(.woocommerce-form-login) {
  display: block;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  padding: 10px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  min-height: 44px;
  display: flex;
  align-items: center;
  border-radius: 5px;
  padding: 0 12px;
  color: var(--nv-muted);
  font-weight: 800;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background: var(--nv-surface);
  color: var(--nv-ink);
}

.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-ResetPassword {
  max-width: 520px;
}

.woocommerce-form-login .woocommerce-form-login__rememberme {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  min-height: 44px;
}

.woocommerce-page button:disabled,
.woocommerce-page button[disabled] {
  opacity: .62;
  cursor: not-allowed;
}

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wc-block-cart,
.wc-block-checkout {
  color: var(--nv-ink);
}

.wc-block-cart__empty-cart__title {
  margin: 0 0 18px;
  font-size: 28px;
  line-height: 1.16;
  font-weight: 400;
}

.wc-block-cart__empty-cart__title,
.wc-block-cart__empty-cart__title + p {
  text-align: left;
}

.wc-block-cart__empty-cart__title,
.wc-block-cart-items,
.wc-block-cart__totals-title,
.wc-block-components-sidebar,
.wc-block-checkout__main,
.wc-block-checkout__sidebar {
  border-color: var(--nv-line);
}

.wc-block-cart-items,
.wc-block-components-sidebar,
.wc-block-checkout__main,
.wc-block-checkout__sidebar,
.wc-block-cart__empty-cart__title,
.wc-block-grid__products {
  border-radius: var(--nv-radius);
}

.wc-block-cart-items,
.wc-block-components-sidebar,
.wc-block-checkout__main,
.wc-block-checkout__sidebar {
  background: rgba(255, 254, 250, .9);
}

.wc-block-cart .wc-block-cart-items,
.wc-block-components-sidebar {
  border: 1px solid var(--nv-line);
}

.wc-block-cart .wc-block-cart-items {
  padding: 14px;
}

.wc-block-cart-items__row {
  border-bottom: 1px solid var(--nv-line);
}

.wc-block-cart-items__row:last-child {
  border-bottom: 0;
}

.wc-block-cart-item__image img,
.wc-block-components-product-image img {
  border-radius: 6px;
  background: var(--nv-surface);
}

.wc-block-components-product-name,
.wc-block-cart-item__product .wc-block-components-product-name {
  color: var(--nv-ink);
  font-weight: 800;
}

.wc-block-components-product-price,
.wc-block-cart-item__prices,
.wc-block-components-totals-item__value {
  color: var(--nv-ink);
  font-weight: 750;
}

.wc-block-components-quantity-selector {
  min-height: 44px;
  border-color: #beb5aa;
  border-radius: 6px;
  background: #fffefa;
}

.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
  min-height: 42px;
}

.wc-block-cart-item__remove-link {
  min-height: 36px;
  color: var(--nv-muted) !important;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
  min-height: 52px;
  height: auto;
  border-radius: var(--nv-radius);
  background: var(--nv-dark);
  color: #fff;
  font-weight: 800;
  letter-spacing: 0;
}

button.wc-block-components-checkout-place-order-button,
button.wc-block-components-button:not(.is-link) {
  min-height: 52px !important;
  height: 52px !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

.wc-block-components-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
  background: var(--nv-dark-hover);
  color: #fff;
}

.wc-block-components-button:focus-visible,
.wc-block-components-checkout-place-order-button:focus-visible {
  outline: 2px solid #6f8068;
  outline-offset: 3px;
}

.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="password"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-block-components-form .wc-block-components-text-input input[type="text"],
.wc-block-components-form .wc-block-components-text-input input[type="email"],
.wc-block-components-form .wc-block-components-text-input input[type="tel"] {
  min-height: 48px;
  border-color: #beb5aa;
  border-radius: 6px;
  background: #fffefa;
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
.wc-block-components-radio-control__input {
  accent-color: var(--nv-dark);
}

.wc-block-components-totals-wrapper,
.wc-block-components-panel,
.wc-block-checkout__payment-method,
.wc-block-components-order-summary {
  border-color: var(--nv-line);
}

.wc-block-components-sidebar-layout .wc-block-components-main {
  padding-right: 28px;
}

.wc-block-components-sidebar {
  padding: 22px;
}

.wc-block-components-totals-coupon__button {
  min-height: 44px;
}

.wc-block-components-notice-banner {
  border-color: var(--nv-line);
  border-radius: var(--nv-radius);
  background: #fffefa;
}

.wc-block-grid__products {
  margin: 18px 0 0;
}

.wc-block-grid__product {
  border: 1px solid var(--nv-line);
  border-radius: var(--nv-radius);
  background: rgba(255, 254, 250, .9);
  padding: 14px;
}

.wc-block-grid__product-image img {
  border-radius: 6px;
}

.wc-block-grid__product-title {
  color: var(--nv-ink);
  font-weight: 800;
}

.wc-block-grid__product-add-to-cart .wp-block-button__link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--nv-radius);
  background: transparent;
  color: var(--nv-ink);
  border: 1px solid #a79d91;
  font-weight: 800;
}

@media (max-width: 1024px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr;
  }

  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    grid-column: auto;
  }

  .woocommerce-account .woocommerce {
    grid-template-columns: 1fr;
  }

  .wc-block-components-sidebar-layout {
    display: grid;
    gap: 22px;
  }

  .wc-block-components-sidebar-layout .wc-block-components-main {
    width: 100%;
    padding-right: 0;
  }

  .wc-block-components-sidebar {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .nv-page {
    padding: 30px 0 48px;
  }

  .nv-page__title {
    font-size: 40px;
  }

  .nv-free-shipping-progress__head {
    display: grid;
    gap: 6px;
  }

  .woocommerce-cart-form,
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout-review-order,
  .woocommerce-account .woocommerce-MyAccount-content,
  .woocommerce-form-login,
  .woocommerce-form-register,
  .woocommerce-ResetPassword {
    padding: 16px;
  }

  .woocommerce-cart-form table,
  .woocommerce-cart-form tbody,
  .woocommerce-cart-form tr,
  .woocommerce-cart-form td {
    display: block;
    width: 100%;
  }

  .woocommerce-cart-form thead {
    display: none;
  }

  .woocommerce-cart-form tr.cart_item {
    position: relative;
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 10px 14px;
    padding: 16px 0;
    border-bottom: 1px solid var(--nv-line);
  }

  .woocommerce-cart-form tr.cart_item td {
    border: 0;
    padding: 0;
  }

  .woocommerce-cart-form .product-remove {
    position: absolute;
    right: 0;
    top: 16px;
    width: auto;
  }

  .woocommerce-cart-form .product-thumbnail {
    grid-row: span 4;
  }

  .woocommerce-cart-form .product-thumbnail img {
    width: 82px;
    height: 82px;
  }

  .woocommerce-cart-form .product-name {
    padding-right: 42px !important;
  }

  .woocommerce-cart-form .product-price,
  .woocommerce-cart-form .product-quantity,
  .woocommerce-cart-form .product-subtotal {
    color: var(--nv-muted);
    font-size: 13px;
  }

  .woocommerce-cart-form .actions {
    display: grid;
    gap: 12px;
  }

  .woocommerce-cart-form .coupon {
    display: grid;
    max-width: none;
  }

  .woocommerce-cart-form button[name="update_cart"] {
    float: none;
    width: 100%;
  }

  .woocommerce-cart .cart-collaterals {
    justify-content: stretch;
  }

  .cart_totals {
    width: 100%;
  }

  .nv-trust--commerce .nv-trust__grid,
  .nv-trust--checkout .nv-trust__grid {
    grid-template-columns: 1fr;
  }

  .nv-trust--commerce .nv-trust__item,
  .nv-trust--checkout .nv-trust__item {
    border-right: 0;
    border-bottom: 1px solid var(--nv-line);
  }

  .nv-trust--commerce .nv-trust__item:last-child,
  .nv-trust--checkout .nv-trust__item:last-child {
    border-bottom: 0;
  }

  .wc-block-cart .wc-block-cart-items {
    padding: 0 14px;
  }

  .wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 12px;
    padding: 16px 0;
  }

  .wc-block-cart-item__image {
    grid-row: span 4;
  }

  .wc-block-cart-item__image img {
    width: 82px;
    height: 82px;
    object-fit: cover;
  }

  .wc-block-cart-item__wrap {
    min-width: 0;
  }

  .wc-block-components-sidebar {
    padding: 16px;
  }

  .wc-block-components-totals-coupon__form {
    display: grid;
    gap: 10px;
  }
}

@media (max-width: 430px) {
  .nv-page__title {
    font-size: 34px;
  }

  .woocommerce-checkout-review-order-table th,
  .woocommerce-checkout-review-order-table td,
  .cart_totals .shop_table th,
  .cart_totals .shop_table td {
    padding-left: 0;
    padding-right: 0;
  }
}

/* Phase 3K: reference alignment and mobile stability */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.nv-topbar {
  font-size: 14px;
}

.nv-home-hero__image {
  object-position: center 52%;
}

.nv-card__swatches {
  display: flex;
  gap: 8px;
  min-height: 18px;
  margin: 0 0 10px;
}

.nv-card__swatches span {
  width: 13px;
  height: 13px;
  display: block;
  border: 1px solid rgba(31, 31, 29, .22);
  border-radius: 50%;
  background: var(--nv-swatch, #d8d0c4);
}

.nv-card__summary {
  max-width: 34ch;
}

.nv-card--shop .nv-card__image,
.nv-card--home .nv-card__image,
.nv-card--pdp .nv-card__image {
  background: #f4efe7;
}

.nv-card--shop .nv-card__image img,
.nv-card--home .nv-card__image img,
.nv-card--pdp .nv-card__image img {
  object-fit: cover;
  filter: saturate(.94) contrast(.98);
}

.nv-card--shop .nv-card__title,
.nv-card--home .nv-card__title,
.nv-card--pdp .nv-card__title {
  font-weight: 680;
}

.nv-filter-form {
  gap: 22px;
}

.nv-filter-group {
  padding-bottom: 18px;
}

.nv-check {
  min-height: 34px;
}

.nv-pdp__grid,
.nv-pdp__summary,
.nv-pdp__form,
.nv-pdp form.cart,
.nv-pdp .variations,
.nv-pdp .variations tbody,
.nv-pdp .variations tr,
.nv-pdp .variations td,
.nv-pdp .variations th {
  min-width: 0;
  max-width: 100%;
}

.nv-gallery__main img {
  object-position: center;
}

.nv-pdp .variations td,
.nv-pdp .variations th {
  width: 100%;
}

.nv-variation-pills {
  max-width: 100%;
}

.nv-variation-pill {
  min-width: 0;
  white-space: normal;
  text-align: center;
  line-height: 1.2;
}

.nv-pdp .quantity {
  max-width: 100%;
}

.nv-pdp .quantity input.qty {
  max-width: 100%;
}

.nv-pdp-trust span {
  position: relative;
}

.nv-pdp-trust span::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 5px;
  width: 7px;
  height: 4px;
  border-left: 1.4px solid var(--nv-sage);
  border-bottom: 1.4px solid var(--nv-sage);
  transform: rotate(-45deg);
}

.nv-pdp-story__image {
  margin: 22px 0 18px;
  overflow: hidden;
  border-radius: var(--nv-radius);
  background: #f4efe7;
}

.nv-pdp-story__image img {
  width: 100%;
  aspect-ratio: 1.75 / 1;
  object-fit: cover;
}

.nv-pdp-checks {
  display: grid;
  gap: 12px;
  margin: 18px 0;
  padding: 0;
  list-style: none;
}

.nv-pdp-checks li {
  position: relative;
  padding-left: 28px;
  color: var(--nv-muted);
}

.nv-pdp-checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .25em;
  width: 18px;
  height: 18px;
  border: 1.3px solid var(--nv-taupe);
  border-radius: 50%;
}

.nv-pdp-checks li::after {
  content: "";
  position: absolute;
  left: 6px;
  top: calc(.25em + 5px);
  width: 7px;
  height: 4px;
  border-left: 1.3px solid var(--nv-sage);
  border-bottom: 1.3px solid var(--nv-sage);
  transform: rotate(-45deg);
}

.nv-pdp-copy {
  overflow-wrap: anywhere;
}

.nv-spec-row dd {
  overflow-wrap: anywhere;
}

@media (min-width: 1025px) {
  .nv-pdp-details__grid {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    align-items: start;
  }
}

@media (max-width: 900px) {
  .nv-topbar span:first-child {
    display: inline;
  }

  .nv-topbar span + span {
    display: none;
  }

  .nv-mobile-menu {
    top: 112px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-12px);
    pointer-events: none;
  }

  body.nv-menu-open .nv-mobile-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }
}

@media (max-width: 768px) {
  .nv-home-hero {
    height: 500px;
  }

  .nv-home-hero__image {
    object-position: center top;
  }

  .nv-home-hero__overlay {
    background: linear-gradient(180deg, rgba(251, 250, 247, .08) 0%, rgba(251, 250, 247, .42) 42%, rgba(251, 250, 247, .96) 100%);
  }

  .nv-gallery {
    display: flex;
    flex-direction: column;
  }

  .nv-gallery__main {
    order: 1;
  }

  .nv-gallery__thumbs {
    order: 2;
  }

  .nv-gallery__main img {
    aspect-ratio: 1.28 / 1;
  }

  .nv-pdp__summary {
    width: 100%;
    max-width: 100%;
  }

  .nv-product-title {
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: auto;
  }

  .nv-pdp .variations,
  .nv-pdp .variations tbody,
  .nv-pdp .variations tr,
  .nv-pdp .variations td,
  .nv-pdp .variations th {
    display: block;
  }

  .nv-variation-pills {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nv-variation-pill {
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
  }

  .nv-pdp-trust {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nv-sticky-atc {
    max-width: 100vw;
  }
}

@media (max-width: 560px) {
  .nv-home-hero {
    height: 472px;
  }

  .nv-home-hero h1 {
    max-width: 310px;
    font-size: 40px;
  }

  .nv-home-hero__actions .nv-button {
    width: auto;
    min-width: 220px;
  }

  .nv-trust__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 12px 15px;
  }

  .nv-trust__item {
    min-height: 54px;
    justify-content: center;
    border: 0;
    border-radius: 6px;
    background: rgba(255, 254, 250, .78);
    padding: 9px 8px;
  }

  .nv-trust__item:nth-child(4) {
    display: none;
  }

  .nv-trust__item strong {
    text-align: center;
  }

  .nv-solution {
    min-height: 132px;
  }

  .nv-solution img {
    min-height: 132px;
  }

  .nv-card--shop .nv-card__image,
  .nv-card--home .nv-card__image,
  .nv-card--pdp .nv-card__image {
    aspect-ratio: 1 / .82;
  }

  .nv-card--shop .nv-card__summary,
  .nv-card--home .nv-card__summary,
  .nv-card--pdp .nv-card__summary {
    display: none;
  }

  .nv-card__swatches {
    margin-bottom: 8px;
  }

  .nv-product-title {
    font-size: 30px;
    line-height: 1.08;
  }

  .nv-gallery__main img {
    aspect-ratio: 1.18 / 1;
  }

  .nv-gallery__thumbs {
    display: none;
  }

  .nv-pdp .single_add_to_cart_button,
  .nv-pdp .quantity input.qty {
    width: 100%;
  }

  .nv-pdp-trust {
    grid-template-columns: 1fr;
  }

  .nv-products--pdp {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nv-sticky-atc {
    grid-template-columns: minmax(0, 1fr) minmax(108px, auto);
  }
}

/* Phase 3I-1: homepage visual fidelity correction */
:root {
  --nv-bg: var(--norven-bg);
  --nv-paper: var(--norven-bg);
  --nv-surface: var(--norven-surface);
  --nv-surface-2: var(--norven-surface-2);
  --nv-soft: var(--norven-surface-muted);
  --nv-ink: var(--norven-text);
  --nv-ink-soft: var(--norven-text-soft);
  --nv-muted: var(--norven-text-muted);
  --nv-muted-2: var(--norven-text-subtle);
  --nv-line: var(--norven-border);
  --nv-dark: var(--norven-dark);
  --nv-dark-hover: var(--norven-dark-hover);
  --nv-taupe: var(--norven-accent-walnut);
  --nv-sage: var(--norven-accent-felt);
  --nv-radius: var(--norven-radius-md);
  --nv-max: var(--norven-container-max);
}

body {
  background: var(--nv-paper);
  color: var(--nv-ink);
}

.home .nv-topbar {
  height: 32px;
  background: #312b25;
  border-bottom: 0;
  color: #fff7ec;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0;
}

.home .nv-header {
  background: rgba(255, 252, 246, .96);
}

.home .nv-header__inner {
  min-height: 72px;
  max-width: none;
  padding-left: clamp(32px, 5vw, 72px);
  padding-right: clamp(32px, 5vw, 72px);
  grid-template-columns: 230px minmax(0, 1fr) 300px;
}

.home .nv-logo {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 25px;
  font-weight: 600;
  letter-spacing: .34em;
}

.home .nv-nav,
.home .nv-header__tools {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  font-weight: 650;
  color: #3e382f;
}

.home .nv-nav {
  gap: clamp(22px, 3vw, 42px);
}

.home .nv-header__tools {
  gap: 22px;
}

.home .nv-container {
  max-width: var(--nv-max);
  padding-left: clamp(28px, 4.5vw, 64px);
  padding-right: clamp(28px, 4.5vw, 64px);
}

.home .nv-button,
.home .button,
.home button,
.home input[type="submit"] {
  min-height: 48px;
  border-radius: 5px;
  padding-left: 28px;
  padding-right: 28px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  font-weight: 750;
}

.home .nv-home-hero {
  min-height: 560px;
  height: min(660px, 72vh);
  background: #dcc4a7;
}

.home .nv-home-hero__image {
  object-position: center 54%;
  filter: saturate(1.06) contrast(.98) brightness(1.03);
}

.home .nv-home-hero__overlay {
  background:
    linear-gradient(90deg, rgba(251, 247, 239, .92) 0%, rgba(251, 247, 239, .72) 24%, rgba(251, 247, 239, .18) 53%, rgba(251, 247, 239, .02) 78%),
    linear-gradient(180deg, rgba(251, 247, 239, .08), rgba(66, 45, 28, .05));
}

.home .nv-home-hero__content {
  padding-top: 42px;
  padding-bottom: 52px;
}

.home .nv-home-hero h1 {
  max-width: 510px;
  font-size: clamp(62px, 5.6vw, 86px);
  line-height: .94;
  letter-spacing: 0;
}

.home .nv-home-hero p {
  max-width: 440px;
  margin-top: 24px;
  color: #3f352b;
  font-size: 20px;
  line-height: 1.45;
}

.home .nv-home-hero__actions {
  gap: 16px;
  margin-top: 32px;
}

.home .nv-button--light {
  border-color: rgba(32, 29, 25, .82);
  background: rgba(251, 247, 239, .72);
  color: #201d19;
}

.home .nv-trust {
  background: #fffbf4;
}

.home .nv-trust__grid {
  max-width: var(--nv-max);
  padding-left: clamp(28px, 4.5vw, 64px);
  padding-right: clamp(28px, 4.5vw, 64px);
}

.home .nv-trust__item {
  min-height: 92px;
  gap: 18px;
  padding: 18px 32px;
}

.home .nv-trust strong {
  font-size: 15px;
}

.home .nv-trust p {
  font-size: 13px;
  line-height: 1.35;
}

.home .nv-section {
  padding: 48px 0;
}

.home .nv-section__heading {
  font-size: 34px;
  line-height: 1.12;
}

.home .nv-section__head {
  margin-bottom: 24px;
}

.home .nv-solutions-section {
  padding-top: 42px;
}

.home .nv-solutions {
  gap: 34px;
  margin-top: 26px;
}

.home .nv-solution {
  min-height: 228px;
  border-color: #d9caba;
  border-radius: 8px;
  box-shadow: 0 1px 0 rgba(46, 35, 24, .04);
}

.home .nv-solution img {
  min-height: 228px;
  filter: saturate(1.04) contrast(.98) brightness(1.02);
}

.home .nv-solution::after {
  height: 58%;
  background: linear-gradient(180deg, rgba(33, 27, 21, 0), rgba(33, 27, 21, .56));
}

.home .nv-solution span {
  left: 20px;
  bottom: 18px;
  font-size: 17px;
}

.home .nv-products--home {
  gap: 34px;
}

.home .nv-card--home {
  border-color: #dacdbe;
  border-radius: 8px;
  background: #fffbf4;
  box-shadow: 0 1px 0 rgba(46, 35, 24, .04);
}

.home .nv-card--home .nv-card__image {
  aspect-ratio: 1.34 / .94;
  background: #f1eadf;
}

.home .nv-card--home .nv-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home .nv-card--home .nv-card__body {
  padding: 18px 18px 20px;
}

.home .nv-card--home .nv-card__title {
  min-height: 44px;
  font-size: 16px;
  line-height: 1.25;
}

.home .nv-card__summary {
  min-height: 42px;
  font-size: 13px;
  line-height: 1.4;
}

.home .nv-card__action {
  min-height: 42px;
  border-color: #b7a894;
  border-radius: 4px;
  font-size: 13px;
}

.home .nv-setup {
  padding: 32px 0 42px;
}

.home .nv-setup__inner {
  grid-template-columns: minmax(240px, .78fr) minmax(520px, 1.54fr) minmax(230px, .68fr);
  gap: 34px;
  padding: 34px 42px;
  border-color: #d8c9b8;
  border-radius: 8px;
  background: linear-gradient(90deg, #f4ede3, #fffaf2);
}

.home .nv-setup h2,
.home .nv-story h2,
.home .nv-newsletter h2 {
  font-size: 34px;
  line-height: 1.12;
}

.home .nv-setup p,
.home .nv-story p,
.home .nv-newsletter p {
  color: var(--nv-muted);
  font-size: 15px;
  line-height: 1.55;
}

.home .nv-setup__products {
  gap: 16px;
}

.home .nv-setup__product {
  width: 118px;
  font-size: 12px;
}

.home .nv-setup__product img {
  width: 98px;
  height: 86px;
  background: #fffbf4;
}

.home .nv-setup__cta {
  padding-left: 32px;
}

.home .nv-story {
  padding-top: 18px;
  padding-bottom: 42px;
}

.home .nv-story__inner {
  grid-template-columns: minmax(0, 1.22fr) minmax(360px, .78fr);
  min-height: 320px;
  border: 0;
  border-radius: 8px;
  background: #fffaf2;
  box-shadow: inset 0 0 0 1px #ded2c2;
}

.home .nv-story img {
  height: 100%;
  min-height: 320px;
  max-height: 360px;
  object-fit: cover;
  object-position: center 58%;
}

.home .nv-story__copy {
  padding: 52px 60px;
}

.home .nv-story__copy .nv-text-link {
  margin-top: 4px;
}

.home .nv-notes {
  padding-top: 18px;
  padding-bottom: 42px;
}

.home .nv-notes__empty {
  margin-top: 22px;
  padding: 26px;
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.home .nv-newsletter {
  padding: 36px 0;
  background: #f1eadf;
}

.home .nv-newsletter__inner {
  grid-template-columns: minmax(0, .92fr) minmax(420px, .72fr);
  gap: 56px;
}

.home .nv-newsletter h2 {
  max-width: 620px;
}

.home .nv-newsletter__text {
  margin: 10px 0 0;
}

.home .nv-newsletter-form input,
.home .nv-newsletter-form button {
  min-height: 48px;
  border-radius: 4px;
}

.home .nv-footer {
  padding-top: 44px;
  background: #f5efe6;
}

.home .nv-footer__inner {
  grid-template-columns: minmax(240px, .72fr) minmax(0, 2.3fr);
  gap: 70px;
}

.home .nv-footer__columns {
  gap: 48px;
}

.home .nv-footer__toggle {
  font-size: 14px;
}

.home .nv-footer__panel {
  gap: 9px;
  font-size: 13px;
}

@media (max-width: 1180px) {
  .home .nv-header__inner {
    grid-template-columns: 160px minmax(0, 1fr) 250px;
  }

  .home .nv-setup__inner {
    grid-template-columns: 1fr;
  }

  .home .nv-setup__cta {
    padding-left: 0;
    border-left: 0;
  }
}

@media (max-width: 768px) {
  .home .nv-topbar {
    height: 34px;
    font-size: 13px;
  }

  .home .nv-header__inner {
    min-height: 70px;
    padding-left: 20px;
    padding-right: 20px;
    grid-template-columns: 52px minmax(0, 1fr) 88px;
    gap: 0;
  }

  .home .nv-menu-toggle,
  .home .nv-tool {
    min-width: 44px;
    min-height: 44px;
  }

  .home .nv-logo {
    justify-self: center;
    font-size: 30px;
    letter-spacing: .42em;
  }

  .home .nv-header__tools {
    gap: 0;
    justify-content: flex-end;
  }

  .home .nv-header__tools .nv-tool--account {
    display: none;
  }

  .home .nv-header__tools .nv-tool--search span,
  .home .nv-header__tools .nv-tool--cart {
    font-size: 0;
  }

  .home .nv-header__tools .nv-tool--cart::before {
    content: "";
    width: 24px;
    height: 24px;
    display: block;
    border: 2px solid #201d19;
    border-top: 0;
    border-radius: 0 0 5px 5px;
  }

  .home .nv-cart-count {
    display: none;
  }

  .home .nv-container {
    padding-left: 22px;
    padding-right: 22px;
  }

  .home .nv-home-hero {
    min-height: 0;
    height: 490px;
  }

  .home .nv-home-hero__image {
    object-position: 56% center;
  }

  .home .nv-home-hero__overlay {
    background: linear-gradient(180deg, rgba(251, 247, 239, .05) 0%, rgba(251, 247, 239, .28) 40%, rgba(251, 247, 239, .92) 100%);
  }

  .home .nv-home-hero__content {
    justify-content: flex-end;
    padding-top: 26px;
    padding-bottom: 34px;
  }

  .home .nv-home-hero h1 {
    max-width: 340px;
    font-size: 48px;
    line-height: .98;
  }

  .home .nv-home-hero p {
    max-width: 320px;
    margin-top: 14px;
    font-size: 18px;
  }

  .home .nv-home-hero__actions {
    margin-top: 22px;
  }

  .home .nv-home-hero__actions .nv-button {
    min-height: 56px;
    min-width: 250px;
    font-size: 16px;
  }

  .home .nv-home-hero__actions .nv-button--outline {
    display: none;
  }

  .home .nv-trust__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 14px 22px;
  }

  .home .nv-trust__item {
    min-height: 60px;
    justify-content: center;
    padding: 10px 8px;
    border: 0;
    border-radius: 7px;
    background: #fffaf2;
  }

  .home .nv-trust__item:nth-child(4) {
    display: none;
  }

  .home .nv-trust__icon,
  .home .nv-trust p {
    display: none;
  }

  .home .nv-trust strong {
    font-size: 13px;
    line-height: 1.25;
    text-align: center;
  }

  .home .nv-section {
    padding: 34px 0;
  }

  .home .nv-section__heading {
    font-size: 28px;
    text-align: left;
  }

  .home .nv-solutions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
  }

  .home .nv-solution,
  .home .nv-solution img {
    min-height: 128px;
  }

  .home .nv-solution span {
    left: 14px;
    right: 14px;
    bottom: 14px;
    font-size: 16px;
  }

  .home .nv-products--home {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .home .nv-card--home .nv-card__image {
    aspect-ratio: 1 / .86;
  }

  .home .nv-card--home .nv-card__body {
    padding: 12px;
  }

  .home .nv-card--home .nv-card__title {
    min-height: 40px;
    font-size: 14px;
  }

  .home .nv-card--home .nv-card__price {
    font-size: 13px;
  }

  .home .nv-card__summary,
  .home .nv-card__hint {
    display: none;
  }

  .home .nv-card__action {
    min-height: 44px;
    font-size: 12px;
  }

  .home .nv-setup {
    padding-top: 20px;
  }

  .home .nv-setup__inner {
    display: block;
    padding: 22px 18px;
  }

  .home .nv-setup h2,
  .home .nv-story h2,
  .home .nv-newsletter h2 {
    font-size: 27px;
  }

  .home .nv-setup__products {
    display: flex;
    justify-content: flex-start;
    gap: 14px;
    margin: 18px -18px 0;
    padding: 0 18px 4px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }

  .home .nv-setup__product {
    width: 118px;
    flex: 0 0 118px;
    scroll-snap-align: start;
  }

  .home .nv-setup__plus {
    flex: 0 0 auto;
    align-self: center;
  }

  .home .nv-setup__cta {
    margin-top: 18px;
  }

  .home .nv-setup__cta .nv-button {
    width: 100%;
  }

  .home .nv-story__inner {
    display: block;
    min-height: 0;
  }

  .home .nv-story img {
    min-height: 238px;
    max-height: none;
    aspect-ratio: 1.28 / .92;
    object-position: center center;
  }

  .home .nv-story__copy {
    padding: 26px 22px 28px;
  }

  .home .nv-notes {
    padding-top: 8px;
  }

  .home .nv-notes__empty {
    padding: 24px 16px;
  }

  .home .nv-newsletter {
    padding: 30px 0;
  }

  .home .nv-newsletter__inner {
    display: block;
  }

  .home .nv-newsletter-form {
    display: grid;
    margin-top: 18px;
  }

  .home .nv-newsletter-form input,
  .home .nv-newsletter-form button {
    width: 100%;
    min-height: 50px;
  }

  .home .nv-footer {
    padding-top: 34px;
  }

  .home .nv-footer__inner {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .home .nv-footer__brand {
    text-align: center;
  }

  .home .nv-footer__brand p {
    margin-left: auto;
    margin-right: auto;
  }

  .home .nv-footer__columns {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .home .nv-footer__group {
    border-top: 1px solid var(--nv-line);
  }

  .home .nv-footer__toggle {
    width: 100%;
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 14px;
    cursor: pointer;
  }

  .home .nv-footer__toggle::after {
    content: "+";
    color: var(--nv-muted);
  }

  .home .nv-footer__toggle[aria-expanded="true"]::after {
    content: "-";
  }

  .home .nv-footer__panel {
    display: none;
    padding-bottom: 18px;
  }

  .home .nv-footer__toggle[aria-expanded="true"] + .nv-footer__panel {
    display: grid;
  }

  .home .nv-footer__bottom {
    display: grid;
    justify-content: center;
    text-align: center;
  }

  .home .nv-footer__bottom div {
    justify-content: center;
  }
}

@media (max-width: 430px) {
  .home .nv-logo {
    font-size: 27px;
    letter-spacing: .36em;
  }

  .home .nv-home-hero {
    height: 470px;
  }

  .home .nv-home-hero h1 {
    font-size: 45px;
  }
}

@media (max-width: 390px) {
  .home .nv-logo {
    font-size: 25px;
    letter-spacing: .34em;
  }

  .home .nv-home-hero {
    height: 458px;
  }

  .home .nv-home-hero h1 {
    font-size: 43px;
  }
}

/* Phase 3I-2: shop and category visual fidelity correction */
.post-type-archive-product .nv-header__inner,
.tax-product_cat .nv-header__inner {
  max-width: none;
  min-height: 72px;
  padding-left: clamp(32px, 5vw, 72px);
  padding-right: clamp(32px, 5vw, 72px);
  grid-template-columns: 230px minmax(0, 1fr) 300px;
}

.post-type-archive-product .nv-logo,
.tax-product_cat .nv-logo {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 25px;
  font-weight: 600;
  letter-spacing: .34em;
}

.post-type-archive-product .nv-nav,
.post-type-archive-product .nv-header__tools,
.tax-product_cat .nv-nav,
.tax-product_cat .nv-header__tools {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  font-weight: 650;
}

.post-type-archive-product .nv-container,
.tax-product_cat .nv-container {
  max-width: var(--nv-max);
  padding-left: clamp(28px, 4.5vw, 64px);
  padding-right: clamp(28px, 4.5vw, 64px);
}

.nv-shop-hero {
  min-height: 300px;
  background: #eadfce;
}

.nv-shop-hero img {
  object-position: center 56%;
  filter: saturate(1.03) contrast(.98) brightness(1.05);
}

.nv-shop-hero__overlay {
  background: linear-gradient(90deg, rgba(251, 247, 239, .98) 0%, rgba(251, 247, 239, .86) 34%, rgba(251, 247, 239, .2) 68%, rgba(251, 247, 239, .03) 100%);
}

.nv-shop-hero__inner {
  min-height: 300px;
}

.nv-shop-hero h1 {
  font-size: clamp(52px, 4.4vw, 72px);
  line-height: .98;
}

.nv-shop-hero p {
  max-width: 560px;
  color: #5f554b;
  font-size: 18px;
}

.nv-category-pills {
  background: #fffbf4;
}

.nv-category-pills__inner {
  min-height: 78px;
  gap: clamp(34px, 5vw, 72px);
}

.nv-shop {
  padding: 44px 0 54px;
}

.nv-shop__layout {
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 54px;
  align-items: start;
}

.nv-shop__main {
  min-width: 0;
}

.nv-shop__sidebar {
  align-self: start;
}

.nv-filter-form {
  gap: 22px;
}

.nv-filter-group {
  padding-bottom: 20px;
}

.nv-filter-group h2 {
  font-size: 13px;
  letter-spacing: 0;
}

.nv-check {
  min-height: 36px;
  font-size: 14px;
}

.nv-products--shop {
  gap: 32px;
}

.nv-card--shop {
  border-color: #dacdbe;
  border-radius: 8px;
  background: #fffbf4;
}

.nv-card--shop .nv-card__image {
  aspect-ratio: 1.12 / .88;
  background: #f1eadf;
}

.nv-card--shop .nv-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nv-card--shop .nv-card__body {
  padding: 18px;
}

.nv-card--shop .nv-card__title {
  min-height: 44px;
  font-size: 18px;
  line-height: 1.22;
}

.nv-card--shop .nv-card__summary {
  min-height: 44px;
  max-height: 44px;
  overflow: hidden;
}

.nv-card--shop .nv-card__action {
  min-height: 44px;
}

.nv-shop--few-products .nv-shop__layout {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

.nv-shop--few-products .nv-shop__sidebar {
  display: none;
}

.nv-shop--few-products .nv-shop__main {
  width: 100%;
}

.nv-shop--few-products .nv-shop__toolbar {
  max-width: 940px;
}

.nv-shop--few-products .nv-products--shop {
  max-width: 820px;
  grid-template-columns: repeat(2, minmax(260px, 360px));
  justify-content: start;
}

.nv-shop-trust {
  padding-bottom: 46px;
}

.nv-shop-trust__grid {
  max-width: var(--nv-max);
  margin: 0 auto;
  background: #f3ede3;
}

@media (max-width: 1024px) {
  .post-type-archive-product .nv-header__inner,
  .tax-product_cat .nv-header__inner {
    grid-template-columns: 160px minmax(0, 1fr) 250px;
  }
}

@media (max-width: 768px) {
  .post-type-archive-product .nv-header__inner,
  .tax-product_cat .nv-header__inner {
    min-height: 70px;
    padding-left: 20px;
    padding-right: 20px;
    grid-template-columns: 52px minmax(0, 1fr) 88px;
    gap: 0;
  }

  .post-type-archive-product .nv-logo,
  .tax-product_cat .nv-logo {
    justify-self: center;
    font-size: 30px;
    letter-spacing: .42em;
  }

  .post-type-archive-product .nv-header__tools .nv-tool--account,
  .tax-product_cat .nv-header__tools .nv-tool--account {
    display: none;
  }

  .post-type-archive-product .nv-header__tools .nv-tool--search span,
  .post-type-archive-product .nv-header__tools .nv-tool--cart,
  .tax-product_cat .nv-header__tools .nv-tool--search span,
  .tax-product_cat .nv-header__tools .nv-tool--cart {
    font-size: 0;
  }

  .post-type-archive-product .nv-header__tools .nv-tool--cart::before,
  .tax-product_cat .nv-header__tools .nv-tool--cart::before {
    content: "";
    width: 24px;
    height: 24px;
    display: block;
    border: 2px solid #201d19;
    border-top: 0;
    border-radius: 0 0 5px 5px;
  }

  .post-type-archive-product .nv-cart-count,
  .tax-product_cat .nv-cart-count {
    display: none;
  }

  .nv-shop-hero,
  .nv-shop-hero__inner {
    min-height: 238px;
  }

  .nv-shop-hero h1 {
    font-size: 44px;
  }

  .nv-products--shop {
    gap: 14px;
  }

  .nv-shop--few-products .nv-products--shop {
    max-width: none;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 430px) {
  .post-type-archive-product .nv-logo,
  .tax-product_cat .nv-logo {
    font-size: 27px;
    letter-spacing: .36em;
  }

  .nv-shop {
    padding-top: 24px;
    padding-bottom: 42px;
  }

  .nv-shop-hero,
  .nv-shop-hero__inner {
    min-height: 214px;
  }

  .nv-shop-hero h1 {
    font-size: 38px;
  }

  .nv-shop-hero p {
    max-width: 300px;
    font-size: 15px;
  }

  .nv-category-pills__inner {
    min-height: 62px;
    gap: 24px;
  }

  .nv-shop__toolbar {
    margin-bottom: 18px;
  }

  .nv-card--shop .nv-card__image {
    aspect-ratio: 1 / .86;
  }

  .nv-card--shop .nv-card__body {
    padding: 12px;
  }

  .nv-card--shop .nv-card__title {
    min-height: 40px;
    font-size: 14px;
  }

  .nv-card--shop .nv-card__summary,
  .nv-card--shop .nv-card__hint {
    display: none;
  }

  .nv-card--shop .nv-card__action {
    min-height: 44px;
    padding-left: 8px;
    padding-right: 8px;
    white-space: nowrap;
    font-size: 11px;
  }

  .nv-shop-trust {
    padding-bottom: 34px;
  }
}

/* Phase 3I-3: PDP visual fidelity correction */
.single-product .nv-header__inner {
  max-width: none;
  min-height: 72px;
  padding-left: clamp(32px, 5vw, 72px);
  padding-right: clamp(32px, 5vw, 72px);
  grid-template-columns: 230px minmax(0, 1fr) 300px;
}

.single-product .nv-logo {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 25px;
  font-weight: 600;
  letter-spacing: .34em;
}

.single-product .nv-nav,
.single-product .nv-header__tools {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  font-weight: 650;
}

.single-product .nv-container {
  max-width: var(--nv-max);
  padding-left: clamp(28px, 4.5vw, 64px);
  padding-right: clamp(28px, 4.5vw, 64px);
}

.single-product .nv-pdp {
  background: #fbf7ef;
}

.single-product .nv-pdp__grid {
  grid-template-columns: minmax(0, 1.34fr) minmax(390px, .86fr);
  gap: clamp(44px, 5vw, 76px);
  align-items: start;
}

.single-product .nv-gallery {
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 18px;
}

.single-product .nv-gallery__main,
.single-product .nv-gallery__thumb {
  border-radius: 8px;
  background: #f1eadf;
}

.single-product .nv-gallery__main img {
  aspect-ratio: 1.12 / .96;
  object-fit: cover;
}

.single-product .nv-gallery__thumb img {
  aspect-ratio: 1 / 1;
}

.single-product .nv-pdp__summary {
  top: 120px;
  padding-top: 8px;
}

.single-product .nv-product-vendor {
  margin-bottom: 8px;
  color: var(--nv-muted-2);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.single-product .nv-product-title {
  max-width: 520px;
  font-size: clamp(42px, 4vw, 58px);
  line-height: 1;
}

.single-product .nv-subheading {
  max-width: 520px;
  margin-top: 14px;
  color: #5f554b;
  font-size: 17px;
  line-height: 1.45;
}

.single-product .nv-rating-summary {
  margin-top: 16px;
}

.single-product .nv-price {
  margin: 22px 0 18px;
  font-size: 25px;
}

.single-product .nv-pdp__form {
  margin-top: 16px;
}

.single-product .nv-pdp form.cart {
  gap: 14px;
}

.single-product .nv-pdp .variations {
  margin-bottom: 16px;
}

.single-product .nv-variation-pill {
  min-height: 46px;
  border-radius: 7px;
}

.single-product .nv-pdp .single_add_to_cart_button {
  min-height: 52px;
  border-radius: 5px;
}

.single-product .nv-pdp-trust {
  margin-top: 18px;
}

.single-product .nv-bullets {
  grid-template-columns: 1fr;
  margin-top: 18px;
  margin-bottom: 0;
  padding-top: 18px;
  border-top: 1px solid var(--nv-line);
}

.single-product .nv-bullets li {
  min-height: 28px;
}

.single-product .nv-pdp-setup,
.single-product .nv-pdp-details,
.single-product .nv-pdp-faq,
.single-product .nv-reviews,
.single-product .nv-related {
  padding-top: 54px;
  padding-bottom: 54px;
}

.single-product .nv-products--pdp {
  gap: 22px;
}

.single-product .nv-card--pdp {
  border-color: #dacdbe;
  background: #fffbf4;
}

.single-product .nv-card--pdp .nv-card__image {
  aspect-ratio: 1.28 / .76;
}

.single-product .nv-card--pdp .nv-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-product .nv-pdp-details {
  background: #f3ede3;
}

.single-product .nv-pdp-details__grid {
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 54px;
}

.single-product .nv-pdp-story__image img {
  aspect-ratio: 1.72 / .92;
}

.single-product .nv-pdp-specs summary,
.single-product .nv-pdp-faq summary {
  min-height: 56px;
}

.single-product .nv-review-toggle {
  min-height: 44px;
  border: 1px solid #b7a894;
  border-radius: 5px;
  background: transparent;
  color: var(--nv-ink);
  padding: 0 18px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 13px;
  font-weight: 750;
}

.single-product .nv-reviews #review_form_wrapper {
  display: none;
}

.single-product .nv-reviews.nv-reviews--form-open #review_form_wrapper {
  display: block;
}

.single-product .nv-reviews .commentlist {
  max-width: 920px;
}

.single-product .nv-reviews .review,
.single-product .nv-reviews .comment {
  padding: 18px;
}

@media (max-width: 1024px) {
  .single-product .nv-header__inner {
    grid-template-columns: 160px minmax(0, 1fr) 250px;
  }

  .single-product .nv-pdp__grid,
  .single-product .nv-pdp-details__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .single-product .nv-header__inner {
    min-height: 70px;
    padding-left: 20px;
    padding-right: 20px;
    grid-template-columns: 52px minmax(0, 1fr) 88px;
    gap: 0;
  }

  .single-product .nv-logo {
    justify-self: center;
    font-size: 30px;
    letter-spacing: .42em;
  }

  .single-product .nv-header__tools .nv-tool--account {
    display: none;
  }

  .single-product .nv-header__tools .nv-tool--search span,
  .single-product .nv-header__tools .nv-tool--cart {
    font-size: 0;
  }

  .single-product .nv-header__tools .nv-tool--cart::before {
    content: "";
    width: 24px;
    height: 24px;
    display: block;
    border: 2px solid #201d19;
    border-top: 0;
    border-radius: 0 0 5px 5px;
  }

  .single-product .nv-cart-count {
    display: none;
  }

  .single-product .nv-pdp {
    padding-top: 0;
  }

  .single-product .nv-pdp > .nv-container:first-child {
    padding-left: 0;
    padding-right: 0;
  }

  .single-product .nv-pdp__grid {
    gap: 0;
  }

  .single-product .nv-gallery {
    border-bottom: 1px solid var(--nv-line);
    background: #f1eadf;
  }

  .single-product .nv-gallery__main,
  .single-product .nv-gallery__main img {
    border-radius: 0;
  }

  .single-product .nv-gallery__main img {
    aspect-ratio: 1 / .82;
  }

  .single-product .nv-gallery__thumbs {
    display: none;
  }

  .single-product .nv-pdp__summary {
    padding: 22px 22px 28px;
    background: #fbf7ef;
  }

  .single-product .nv-product-title {
    font-size: 32px;
    line-height: 1.05;
  }

  .single-product .nv-subheading {
    margin-top: 10px;
    font-size: 16px;
  }

  .single-product .nv-price {
    margin-top: 16px;
    font-size: 23px;
  }

  .single-product .nv-pdp .variations label {
    margin-bottom: 8px;
  }

  .single-product .nv-variation-pills {
    gap: 9px;
  }

  .single-product .nv-variation-pill {
    min-height: 46px;
  }

  .single-product .nv-pdp .quantity input.qty,
  .single-product .nv-pdp .single_add_to_cart_button {
    width: 100%;
  }

  .single-product .nv-pdp-trust {
    grid-template-columns: 1fr;
    margin-top: 16px;
  }

  .single-product .nv-bullets {
    margin-top: 16px;
  }

  .single-product .nv-pdp-setup,
  .single-product .nv-pdp-details,
  .single-product .nv-pdp-faq,
  .single-product .nv-reviews,
  .single-product .nv-related {
    padding-top: 34px;
    padding-bottom: 34px;
  }

  .single-product .nv-pdp-setup .nv-container,
  .single-product .nv-related .nv-container {
    overflow: hidden;
  }

  .single-product .nv-pdp-setup .nv-products--pdp,
  .single-product .nv-related .nv-products--pdp {
    display: flex;
    gap: 12px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 0 0 4px;
    overflow-x: auto;
    contain: layout paint;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
  }

  .single-product .nv-pdp-setup .nv-card--pdp,
  .single-product .nv-related .nv-card--pdp {
    flex: 0 0 44%;
    min-width: 154px;
    scroll-snap-align: start;
  }

  .single-product .nv-card--pdp .nv-card__image {
    aspect-ratio: 1.08 / .78;
  }

  .single-product .nv-card--pdp .nv-card__body {
    padding: 10px;
  }

  .single-product .nv-card--pdp .nv-card__title {
    min-height: 38px;
    font-size: 13px;
  }

  .single-product .nv-card--pdp .nv-card__action {
    min-height: 40px;
    padding-left: 8px;
    padding-right: 8px;
    white-space: nowrap;
    font-size: 11px;
  }

  .single-product .nv-pdp-story__image img {
    aspect-ratio: 1.38 / .86;
  }

  .single-product .nv-pdp-specs details[open],
  .single-product .nv-pdp-faq details[open] {
    background: rgba(255, 250, 242, .48);
  }

  .single-product .nv-reviews .commentlist {
    max-height: 520px;
    overflow: auto;
    padding-right: 2px;
    -webkit-overflow-scrolling: touch;
  }

  .single-product .nv-review-toggle {
    width: 100%;
    margin-bottom: 18px;
  }
}

@media (max-width: 430px) {
  .single-product .nv-logo {
    font-size: 27px;
    letter-spacing: .36em;
  }

  .single-product .nv-product-title {
    font-size: 30px;
  }

  .single-product .nv-pdp-setup .nv-card--pdp,
  .single-product .nv-related .nv-card--pdp {
    flex-basis: 46%;
  }
}

/* Phase 3I-4: responsive scale and shop/category overflow correction */
@media (max-width: 900px) {
  .nv-topbar {
    height: 32px;
    font-size: 12px;
  }

  .nv-header__inner,
  .home .nv-header__inner,
  .post-type-archive-product .nv-header__inner,
  .tax-product_cat .nv-header__inner,
  .single-product .nv-header__inner {
    min-height: 66px;
    grid-template-columns: 48px minmax(105px, 1fr) 96px;
    gap: 0;
    padding-left: 14px;
    padding-right: 10px;
  }

  .nv-menu-toggle,
  .home .nv-menu-toggle,
  .post-type-archive-product .nv-menu-toggle,
  .tax-product_cat .nv-menu-toggle,
  .single-product .nv-menu-toggle {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
  }

  .nv-menu-toggle span:not(.screen-reader-text) {
    width: 22px;
    margin-left: 0;
    margin-right: 0;
  }

  .nv-logo,
  .home .nv-logo,
  .post-type-archive-product .nv-logo,
  .tax-product_cat .nv-logo,
  .single-product .nv-logo {
    justify-self: center;
    width: 118px;
    font-size: 24px;
    line-height: 1;
    letter-spacing: .31em;
    text-align: center;
    white-space: nowrap;
  }

  .nv-header__tools,
  .home .nv-header__tools,
  .post-type-archive-product .nv-header__tools,
  .tax-product_cat .nv-header__tools,
  .single-product .nv-header__tools {
    display: flex;
    gap: 4px;
    justify-content: flex-end;
    align-items: center;
  }

  .nv-header__tools::after {
    display: none;
  }

  .nv-header__tools .nv-tool--account {
    display: none;
  }

  .nv-tool--search,
  .nv-tool--cart,
  .home .nv-tool--search,
  .home .nv-tool--cart,
  .post-type-archive-product .nv-tool--search,
  .post-type-archive-product .nv-tool--cart,
  .tax-product_cat .nv-tool--search,
  .tax-product_cat .nv-tool--cart,
  .single-product .nv-tool--search,
  .single-product .nv-tool--cart {
    position: relative;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 0;
  }

  .nv-tool--search span {
    font-size: 0;
  }

  .nv-tool--search::before,
  .home .nv-tool--search::before,
  .post-type-archive-product .nv-tool--search::before,
  .tax-product_cat .nv-tool--search::before,
  .single-product .nv-tool--search::before {
    width: 20px;
    height: 20px;
    margin: 0;
    border-width: 2px;
  }

  .nv-tool--cart::before,
  .home .nv-tool--cart::before,
  .post-type-archive-product .nv-tool--cart::before,
  .tax-product_cat .nv-tool--cart::before,
  .single-product .nv-tool--cart::before {
    content: "";
    width: 21px;
    height: 18px;
    margin: 0;
    display: block;
    border: 2px solid currentColor;
    border-top: 0;
    border-radius: 0 0 4px 4px;
  }

  .nv-cart-count,
  .home .nv-cart-count,
  .post-type-archive-product .nv-cart-count,
  .tax-product_cat .nv-cart-count,
  .single-product .nv-cart-count {
    position: absolute;
    right: 2px;
    top: 5px;
    min-width: 17px;
    height: 17px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--nv-dark);
    color: #fffefa;
    padding: 0 4px;
    font-size: 10px;
    line-height: 1;
    font-weight: 800;
  }
}

.post-type-archive-product .nv-container,
.tax-product_cat .nv-container {
  max-width: 1340px;
}

.post-type-archive-product .nv-shop__layout,
.tax-product_cat .nv-shop__layout {
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 50px;
  align-items: start;
}

.post-type-archive-product .nv-filter-group h2,
.tax-product_cat .nv-filter-group h2 {
  font-size: 15px;
}

.post-type-archive-product .nv-check,
.tax-product_cat .nv-check {
  font-size: 14px;
}

.post-type-archive-product .nv-sort select,
.tax-product_cat .nv-sort select {
  min-height: 44px;
  font-size: 14px;
}

.post-type-archive-product .nv-card--shop .nv-card__title,
.tax-product_cat .nv-card--shop .nv-card__title {
  display: -webkit-box;
  min-height: 42px;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: 17px;
}

.post-type-archive-product .nv-card--shop .nv-card__summary,
.tax-product_cat .nv-card--shop .nv-card__summary {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: 13.5px;
  line-height: 1.55;
}

.post-type-archive-product .nv-card--shop .nv-card__price,
.tax-product_cat .nv-card--shop .nv-card__price {
  font-size: 16px;
}

@media (max-width: 768px) {
  .post-type-archive-product .nv-container,
  .tax-product_cat .nv-container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .nv-category-pills {
    overflow: hidden;
  }

  .nv-category-pills__inner {
    min-height: 56px;
    justify-content: flex-start;
    gap: 22px;
    padding-left: 16px;
    padding-right: 16px;
    overflow-x: auto;
    scroll-padding-inline: 16px;
  }

  .nv-category-pills a {
    min-height: 44px;
    flex: 0 0 auto;
    font-size: 13px;
  }

  .post-type-archive-product .nv-shop,
  .tax-product_cat .nv-shop {
    padding-top: 24px;
  }

  .post-type-archive-product .nv-shop__layout,
  .tax-product_cat .nv-shop__layout {
    display: block;
  }

  .post-type-archive-product .nv-shop__toolbar,
  .tax-product_cat .nv-shop__toolbar {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    min-height: 0;
    margin-bottom: 16px;
  }

  .post-type-archive-product .nv-shop__toolbar > *,
  .tax-product_cat .nv-shop__toolbar > * {
    min-width: 0;
  }

  .post-type-archive-product .nv-shop__actions,
  .tax-product_cat .nv-shop__actions {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    width: 100%;
    min-width: 0;
  }

  .post-type-archive-product .nv-filter-toggle,
  .tax-product_cat .nv-filter-toggle {
    min-width: 72px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-left: 14px;
    padding-right: 14px;
    font-size: 13px;
  }

  .post-type-archive-product .nv-sort,
  .tax-product_cat .nv-sort {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
    width: 100%;
  }

  .post-type-archive-product .nv-sort label,
  .tax-product_cat .nv-sort label {
    position: absolute;
    width: 1px;
    height: 1px;
    clip: rect(0 0 0 0);
    overflow: hidden;
  }

  .post-type-archive-product .nv-sort select,
  .tax-product_cat .nv-sort select {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 44px;
    padding-left: 12px;
    padding-right: 30px;
    font-size: 13px;
  }

  .post-type-archive-product .nv-products--shop,
  .tax-product_cat .nv-products--shop,
  .tax-product_cat .nv-shop--few-products .nv-products--shop {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    max-width: none;
  }

  .post-type-archive-product .nv-card--shop,
  .tax-product_cat .nv-card--shop {
    min-width: 0;
    width: 100%;
  }

  .post-type-archive-product .nv-card--shop .nv-card__image,
  .tax-product_cat .nv-card--shop .nv-card__image {
    aspect-ratio: 1 / .9;
  }

  .post-type-archive-product .nv-card--shop .nv-card__body,
  .tax-product_cat .nv-card--shop .nv-card__body {
    padding: 10px;
  }

  .post-type-archive-product .nv-card--shop .nv-card__title,
  .tax-product_cat .nv-card--shop .nv-card__title {
    min-height: 36px;
    margin-bottom: 6px;
    font-size: 14px;
    line-height: 1.28;
    overflow-wrap: anywhere;
  }

  .post-type-archive-product .nv-card--shop .nv-card__summary,
  .post-type-archive-product .nv-card--shop .nv-card__hint,
  .tax-product_cat .nv-card--shop .nv-card__summary,
  .tax-product_cat .nv-card--shop .nv-card__hint {
    display: none;
  }

  .post-type-archive-product .nv-card--shop .nv-card__price,
  .tax-product_cat .nv-card--shop .nv-card__price {
    margin-bottom: 8px;
    font-size: 14px;
  }

  .post-type-archive-product .nv-card--shop .nv-card__action,
  .tax-product_cat .nv-card--shop .nv-card__action {
    min-height: 42px;
    padding-left: 6px;
    padding-right: 6px;
    font-size: 12px;
    white-space: normal;
    text-align: center;
  }
}

@media (max-width: 380px) {
  .nv-header__inner,
  .home .nv-header__inner,
  .post-type-archive-product .nv-header__inner,
  .tax-product_cat .nv-header__inner,
  .single-product .nv-header__inner {
    padding-left: 12px;
    padding-right: 8px;
    grid-template-columns: 46px minmax(104px, 1fr) 92px;
  }

  .nv-logo,
  .home .nv-logo,
  .post-type-archive-product .nv-logo,
  .tax-product_cat .nv-logo,
  .single-product .nv-logo {
    width: 110px;
    font-size: 22px;
    letter-spacing: .29em;
  }
}

/* Phase 3I-4: PDP hierarchy and mobile purchase flow */
.single-product .nv-pdp__grid {
  grid-template-columns: minmax(0, 1.3fr) minmax(360px, .92fr);
}

.single-product .nv-pdp-specs details[open],
.single-product .nv-pdp-faq details[open] {
  background: rgba(255, 250, 242, .38);
}

.single-product .nv-reviews .woocommerce-Reviews-title,
.single-product .nv-reviews .comment-reply-title {
  display: none;
}

.single-product .nv-reviews #comments {
  margin-top: 0;
}

.single-product .nv-sticky-atc {
  transform: translateY(112%);
  opacity: 0;
  pointer-events: none;
  transition: transform .22s ease, opacity .22s ease;
}

.single-product .nv-sticky-atc.is-visible {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

@media (max-width: 768px) {
  .single-product .nv-pdp__summary {
    padding: 22px 18px 28px;
  }

  .single-product .nv-product-vendor {
    font-size: 12px;
  }

  .single-product .nv-product-title {
    font-size: clamp(29px, 8vw, 34px);
    line-height: 1.04;
  }

  .single-product .nv-subheading {
    max-width: 34em;
    font-size: 15.5px;
    line-height: 1.48;
  }

  .single-product .nv-price {
    font-size: 20px;
  }

  .single-product .nv-pdp .variations label {
    font-size: 14px;
  }

  .single-product .nv-variation-pill {
    min-height: 44px;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 12.5px;
  }

  .single-product .nv-pdp .quantity input.qty {
    min-height: 46px;
  }

  .single-product .nv-pdp .single_add_to_cart_button {
    min-height: 48px;
    font-size: 14px;
  }

  .single-product .nv-pdp-trust {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding-top: 16px;
  }

  .single-product .nv-pdp-trust div {
    min-height: 44px;
    align-items: flex-start;
    gap: 8px;
    font-size: 12.5px;
    line-height: 1.28;
  }

  .single-product .nv-pdp-trust span {
    flex-basis: 19px;
    width: 19px;
    height: 19px;
    margin-top: 1px;
  }

  .single-product .nv-bullets {
    gap: 10px;
  }

  .single-product .nv-bullets li {
    min-height: 30px;
    align-items: flex-start;
    font-size: 13.5px;
    line-height: 1.35;
  }

  .single-product .nv-pdp-setup,
  .single-product .nv-pdp-details,
  .single-product .nv-pdp-faq,
  .single-product .nv-reviews,
  .single-product .nv-related {
    padding-top: 38px;
    padding-bottom: 38px;
  }

  .single-product .nv-pdp-story h2 {
    font-size: 28px;
  }

  .single-product .nv-pdp-checks li {
    font-size: 14px;
    line-height: 1.45;
  }

  .single-product .nv-pdp-specs summary,
  .single-product .nv-pdp-faq summary {
    min-height: 50px;
    font-size: 14.5px;
  }

  .single-product .nv-spec-row {
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 12px;
    font-size: 13.5px;
  }

  .single-product .nv-pdp-setup .nv-products--pdp,
  .single-product .nv-related .nv-products--pdp {
    gap: 12px;
    padding-bottom: 8px;
  }

  .single-product .nv-pdp-setup .nv-card--pdp,
  .single-product .nv-related .nv-card--pdp {
    flex: 0 0 46%;
    min-width: 166px;
  }

  .single-product .nv-card--pdp .nv-card__image {
    aspect-ratio: 1 / .82;
  }

  .single-product .nv-card--pdp .nv-card__body {
    padding: 11px;
  }

  .single-product .nv-card--pdp .nv-card__title {
    display: -webkit-box;
    min-height: 38px;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 13.5px;
    line-height: 1.25;
  }

  .single-product .nv-card--pdp .nv-card__price {
    font-size: 13px;
  }

  .single-product .nv-card--pdp .nv-card__action {
    min-height: 42px;
    font-size: 12px;
  }

  .single-product .nv-reviews .nv-section__head {
    gap: 10px;
  }

  .single-product .nv-review-toggle {
    min-height: 46px;
    font-size: 13.5px;
  }

  .single-product .nv-reviews .commentlist {
    max-height: 460px;
    margin-top: 16px;
  }

  .single-product .nv-reviews .review,
  .single-product .nv-reviews .comment {
    padding: 14px;
    font-size: 14px;
  }

  .single-product .nv-sticky-atc {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    padding: 9px 12px calc(9px + env(safe-area-inset-bottom));
  }

  .single-product .nv-sticky-atc .nv-button {
    min-height: 44px;
    padding-left: 14px;
    padding-right: 14px;
    font-size: 13px;
  }

  body.single-product {
    padding-bottom: 0;
  }
}

@media (max-width: 390px) {
  .single-product .nv-pdp-setup .nv-card--pdp,
  .single-product .nv-related .nv-card--pdp {
    flex-basis: 48%;
    min-width: 160px;
  }
}

/* Phase 3I-4: home and desktop typography polish */
.home .nv-header__inner {
  min-height: 74px;
}

.home .nv-logo {
  font-size: 28px;
}

.home .nv-nav,
.home .nv-header__tools {
  font-size: 14.5px;
}

.home .nv-trust__icon {
  width: 26px;
  height: 26px;
}

.home .nv-trust strong {
  font-size: 14.5px;
}

.home .nv-trust p {
  font-size: 13px;
}

.home .nv-card--home .nv-card__title {
  font-size: 16px;
}

.home .nv-card--home .nv-card__price {
  font-size: 15px;
}

.home .nv-card--home .nv-card__action {
  min-height: 44px;
  font-size: 13px;
}

.home .nv-setup__inner {
  grid-template-columns: minmax(220px, .26fr) minmax(0, .53fr) minmax(190px, .21fr);
  gap: 28px;
}

.home .nv-setup__product img {
  width: 88px;
  height: 88px;
}

.home .nv-story__inner {
  grid-template-columns: minmax(0, .58fr) minmax(0, .42fr);
  align-items: center;
}

@media (max-width: 768px) {
  .home .nv-home-hero {
    height: clamp(410px, 112vw, 470px);
  }

  .home .nv-home-hero__image {
    object-position: 61% center;
  }

  .home .nv-home-hero__overlay {
    background:
      linear-gradient(180deg, rgba(251, 247, 239, .18) 0%, rgba(251, 247, 239, .46) 46%, rgba(251, 247, 239, .96) 100%),
      linear-gradient(90deg, rgba(251, 247, 239, .72) 0%, rgba(251, 247, 239, .18) 68%);
  }

  .home .nv-home-hero__content {
    justify-content: flex-end;
    padding: 34px 20px 32px;
  }

  .home .nv-home-hero h1 {
    max-width: 330px;
    font-size: clamp(40px, 11vw, 48px);
    line-height: .96;
  }

  .home .nv-home-hero p {
    max-width: 310px;
    font-size: 16px;
    line-height: 1.45;
  }

  .home .nv-home-hero__actions {
    gap: 10px;
  }

  .home .nv-home-hero__actions .nv-button {
    min-height: 46px;
    padding-left: 16px;
    padding-right: 16px;
    font-size: 14px;
  }

  .home .nv-trust__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
  }

  .home .nv-trust__item {
    min-width: 0;
    padding: 14px 7px;
    text-align: center;
  }

  .home .nv-trust__item:nth-child(4) {
    display: none;
  }

  .home .nv-trust__icon {
    width: 22px;
    height: 22px;
    margin-bottom: 6px;
  }

  .home .nv-trust strong {
    max-width: 9em;
    margin-left: auto;
    margin-right: auto;
    font-size: 11.5px;
    line-height: 1.22;
  }

  .home .nv-trust p {
    display: none;
  }

  .home .nv-section {
    padding-top: 42px;
    padding-bottom: 42px;
  }

  .home .nv-section__heading {
    font-size: 27px;
  }

  .home .nv-solutions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .home .nv-solution {
    min-width: 0;
    min-height: 156px;
  }

  .home .nv-solution span {
    left: 12px;
    right: 12px;
    bottom: 12px;
    font-size: 14px;
  }

  .home .nv-products--home {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .home .nv-card--home {
    min-width: 0;
  }

  .home .nv-card--home .nv-card__image {
    aspect-ratio: 1 / .88;
  }

  .home .nv-card--home .nv-card__body {
    padding: 11px;
  }

  .home .nv-card--home .nv-card__title {
    display: -webkit-box;
    min-height: 38px;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 14px;
    line-height: 1.28;
  }

  .home .nv-card--home .nv-card__summary,
  .home .nv-card--home .nv-card__hint {
    display: none;
  }

  .home .nv-card--home .nv-card__price {
    font-size: 14px;
  }

  .home .nv-card--home .nv-card__action {
    min-height: 42px;
    padding-left: 8px;
    padding-right: 8px;
    font-size: 12.5px;
    white-space: normal;
    text-align: center;
  }

  .home .nv-setup__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .home .nv-setup__copy h2 {
    font-size: 27px;
  }

  .home .nv-setup__copy p,
  .home .nv-setup__cta p {
    font-size: 15px;
  }

  .home .nv-setup__products {
    display: flex;
    gap: 12px;
    width: 100%;
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }

  .home .nv-setup__product {
    flex: 0 0 132px;
    min-width: 132px;
    scroll-snap-align: start;
  }

  .home .nv-setup__product img {
    width: 92px;
    height: 92px;
  }

  .home .nv-setup__product span {
    font-size: 12.5px;
    line-height: 1.25;
  }

  .home .nv-setup__product strong {
    font-size: 12.5px;
  }

  .home .nv-setup__plus {
    display: none;
  }

  .home .nv-setup__copy .nv-button,
  .home .nv-setup__cta .nv-button {
    width: 100%;
    min-height: 46px;
  }

  .home .nv-notes {
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .home .nv-notes__empty {
    min-height: 92px;
    padding: 18px;
  }

  .home .nv-notes__empty p {
    font-size: 15px;
  }

  .home .nv-footer__brand .nv-logo {
    width: auto;
    font-size: 25px;
  }

  .home .nv-footer__brand p {
    font-size: 14px;
  }

  .home .nv-footer__toggle {
    min-height: 50px;
    font-size: 13.5px;
  }

  .home .nv-footer__bottom,
  .home .nv-footer__bottom a {
    font-size: 12px;
  }
}

/* Phase 3I-5: image rendering and PDP gallery stabilization. */
.home .nv-home-hero__overlay {
  background:
    linear-gradient(90deg, rgba(251, 247, 239, .78) 0%, rgba(251, 247, 239, .48) 28%, rgba(251, 247, 239, .14) 58%, rgba(251, 247, 239, .02) 100%),
    linear-gradient(180deg, rgba(32, 24, 18, .04), rgba(32, 24, 18, .08));
}

.home .nv-home-hero__image,
.nv-shop-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-product .nv-gallery__main {
  min-width: 0;
  overflow: hidden;
}

.single-product .nv-gallery__main img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  background: #f1eadf;
}

.single-product .nv-gallery__thumb:nth-child(n+5) {
  display: none;
}

.single-product .nv-pdp-story__image img {
  display: block;
  width: 100%;
  height: auto;
  background: #f1eadf;
}

@media (max-width: 768px) {
  .home .nv-home-hero {
    min-height: 450px;
    height: 450px;
    overflow: hidden;
  }

  .home .nv-home-hero__image {
    object-position: 58% center;
  }

  .home .nv-home-hero__overlay {
    background:
      linear-gradient(90deg, rgba(251, 247, 239, .82) 0%, rgba(251, 247, 239, .56) 46%, rgba(251, 247, 239, .16) 100%),
      linear-gradient(180deg, rgba(32, 24, 18, .02), rgba(32, 24, 18, .14));
  }

  .home .nv-home-hero__content {
    min-height: 450px;
    justify-content: flex-end;
    padding: 30px 20px;
  }

  .single-product .nv-pdp__grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .single-product .nv-gallery {
    display: block;
    width: 100%;
    max-width: 100%;
    border-bottom: 1px solid var(--nv-line);
    background: #f1eadf;
    overflow: hidden;
  }

  .single-product .nv-gallery__main {
    width: 100%;
  }

  .single-product .nv-gallery__main img {
    width: 100%;
    height: auto;
    max-height: none;
    aspect-ratio: 4 / 3;
    object-fit: contain;
    border-radius: 0;
  }

  .single-product .nv-gallery__thumbs {
    display: flex;
    gap: 8px;
    padding: 9px 16px 12px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .single-product .nv-gallery__thumbs::-webkit-scrollbar {
    display: none;
  }

  .single-product .nv-gallery__thumb {
    flex: 0 0 54px;
    width: 54px;
    height: 54px;
    padding: 0;
    border-radius: 6px;
  }

  .single-product .nv-gallery__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px;
  }
}

/* Phase 3I-5: reviews and mobile commerce flow polish. */
.single-product .nv-reviews .comment_container {
  display: block;
}

.single-product .nv-reviews .avatar {
  display: none;
}

.single-product .nv-reviews .comment-text {
  margin: 0;
  padding: 0;
  border: 0;
}

.single-product .nv-reviews .star-rating {
  float: none;
  margin: 0 0 8px;
}

.single-product .nv-reviews .meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  align-items: baseline;
  margin: 0 0 8px;
  color: #6a5f54;
  font-size: 13px;
  line-height: 1.35;
}

.single-product .nv-reviews .description {
  color: #342f29;
  font-size: 14.5px;
  line-height: 1.55;
}

.single-product .nv-reviews .review,
.single-product .nv-reviews .comment {
  border-color: #dacdbe;
  background: #fffbf4;
}

@media (max-width: 768px) {
  .tax-product_cat .nv-shop-trust {
    padding: 0 0 28px;
    background: #fffbf4;
  }

  .tax-product_cat .nv-shop-trust__grid {
    display: block;
    margin: 0 16px;
    padding: 0 16px;
    background: #f3ede3;
    border-radius: 6px;
  }

  .tax-product_cat .nv-shop-trust__grid div {
    padding: 15px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(118, 101, 82, .18);
  }

  .tax-product_cat .nv-shop-trust__grid div:last-child {
    border-bottom: 0;
  }

  .tax-product_cat .nv-shop-trust strong {
    font-size: 13.5px;
    line-height: 1.25;
  }

  .tax-product_cat .nv-shop-trust span {
    margin-top: 4px;
    font-size: 12.5px;
    line-height: 1.35;
  }

  .single-product .nv-reviews .commentlist {
    max-height: none;
    padding-right: 0;
  }

  .single-product .nv-reviews .review,
  .single-product .nv-reviews .comment {
    padding: 16px;
  }

  .single-product .nv-reviews .description {
    font-size: 14px;
  }
}

/* Phase 3I-6: targeted visual repair for media, reviews, and mobile header. */
.home .nv-home-hero {
  min-height: 580px;
  height: min(640px, 70vh);
}

.home .nv-home-hero__image {
  object-position: center center;
  filter: saturate(1.05) contrast(1) brightness(1);
}

.home .nv-home-hero__overlay {
  background:
    linear-gradient(90deg, rgba(251, 247, 239, .58) 0%, rgba(251, 247, 239, .34) 30%, rgba(251, 247, 239, .08) 62%, rgba(251, 247, 239, 0) 100%),
    linear-gradient(180deg, rgba(32, 24, 18, .02), rgba(32, 24, 18, .08));
}

.home .nv-solution {
  background: #f5efe7;
}

.home .nv-solution img {
  box-sizing: border-box;
  padding: 14px;
  object-fit: contain;
  background: linear-gradient(180deg, #fbf8f1 0%, #ebe2d6 100%);
}

.home .nv-solution:hover img {
  transform: none;
}

.home .nv-card--home .nv-card__image,
.nv-card--shop .nv-card__image,
.single-product .nv-card--pdp .nv-card__image {
  background: #f5efe7;
}

.home .nv-card--home .nv-card__image img,
.nv-card--shop .nv-card__image img,
.single-product .nv-card--pdp .nv-card__image img {
  box-sizing: border-box;
  padding: 12px;
  object-fit: contain;
  background: #f8f3eb;
}

.home .nv-setup__product img {
  object-fit: contain;
  background: #f8f3eb;
}

.home .nv-story img,
.single-product .nv-pdp-story__image img {
  min-height: 220px;
  object-fit: cover;
}

.single-product .nv-reviews .comment_container,
.single-product .nv-reviews .comment-text {
  width: 100%;
}

.single-product .nv-reviews img.avatar,
.single-product .nv-reviews .avatar {
  display: none !important;
}

.single-product .nv-reviews .review,
.single-product .nv-reviews .comment {
  padding: 16px 18px;
  box-shadow: none;
}

.single-product .nv-reviews .meta {
  justify-content: flex-start;
}

@media (max-width: 768px) {
  .home .nv-home-hero {
    min-height: 450px;
    height: clamp(430px, 116vw, 480px);
  }

  .home .nv-home-hero__image {
    object-position: 58% center;
  }

  .home .nv-home-hero__overlay {
    background:
      linear-gradient(90deg, rgba(251, 247, 239, .64) 0%, rgba(251, 247, 239, .34) 56%, rgba(251, 247, 239, .08) 100%),
      linear-gradient(180deg, rgba(32, 24, 18, .04) 0%, rgba(32, 24, 18, .12) 100%);
  }

  .home .nv-home-hero__content {
    min-height: clamp(430px, 116vw, 480px);
    justify-content: center;
    padding: 42px 20px 34px;
  }

  .home .nv-home-hero h1 {
    max-width: 340px;
  }

  .home .nv-home-hero p {
    max-width: 300px;
  }

  .home .nv-solution img {
    padding: 12px;
  }

  .single-product .nv-gallery {
    padding-top: 8px;
  }

  .single-product .nv-gallery__main {
    background: #f1eadf;
  }

  .single-product .nv-gallery__main img {
    min-height: 292px;
    max-height: 360px;
    object-fit: contain;
  }

  .single-product .nv-pdp-story__image {
    display: block;
  }

  .single-product .nv-pdp-story__image img {
    min-height: 210px;
  }

  .nv-header__inner,
  .home .nv-header__inner,
  .post-type-archive-product .nv-header__inner,
  .tax-product_cat .nv-header__inner,
  .single-product .nv-header__inner {
    min-height: 64px;
    grid-template-columns: 54px minmax(118px, 1fr) 106px;
    padding-left: 10px;
    padding-right: 12px;
  }

  .nv-menu-toggle,
  .home .nv-menu-toggle,
  .post-type-archive-product .nv-menu-toggle,
  .tax-product_cat .nv-menu-toggle,
  .single-product .nv-menu-toggle {
    width: 48px;
    justify-content: flex-start;
    padding-left: 6px;
  }

  .nv-logo,
  .home .nv-logo,
  .post-type-archive-product .nv-logo,
  .tax-product_cat .nv-logo,
  .single-product .nv-logo {
    width: auto;
    font-size: 24px;
    letter-spacing: .34em;
    transform: translateX(2px);
  }

  .nv-header__tools,
  .home .nv-header__tools,
  .post-type-archive-product .nv-header__tools,
  .tax-product_cat .nv-header__tools,
  .single-product .nv-header__tools {
    gap: 8px;
  }

  .nv-tool--search,
  .nv-tool--cart,
  .home .nv-tool--search,
  .home .nv-tool--cart,
  .post-type-archive-product .nv-tool--search,
  .post-type-archive-product .nv-tool--cart,
  .tax-product_cat .nv-tool--search,
  .tax-product_cat .nv-tool--cart,
  .single-product .nv-tool--search,
  .single-product .nv-tool--cart {
    width: 42px;
    min-width: 42px;
  }
}

/* Phase 3I-7: final review UX, merchandising, and mobile gallery cleanup. */
.home .nv-home-hero__content::before {
  content: "";
  position: absolute;
  left: clamp(18px, 4vw, 72px);
  top: 50%;
  z-index: 0;
  width: min(560px, 62vw);
  height: min(380px, 74%);
  border-radius: 18px;
  background: linear-gradient(90deg, rgba(251, 247, 239, .5) 0%, rgba(251, 247, 239, .24) 54%, rgba(251, 247, 239, 0) 100%);
  filter: blur(2px);
  transform: translateY(-50%);
  pointer-events: none;
}

.home .nv-home-hero h1,
.home .nv-home-hero p,
.home .nv-home-hero__actions {
  position: relative;
  z-index: 1;
}

.home .nv-card--home .nv-card__image img,
.nv-card--shop .nv-card__image img,
.single-product .nv-card--pdp .nv-card__image img {
  padding: 9px;
}

.single-product .nv-review-expand {
  width: 100%;
  min-height: 44px;
  margin: 14px 0 4px;
  border: 1px solid #b7a894;
  border-radius: 5px;
  background: transparent;
  color: var(--nv-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 13.5px;
  font-weight: 750;
}

.single-product .nv-reviews .review[hidden],
.single-product .nv-reviews .comment[hidden] {
  display: none !important;
}

@media (max-width: 768px) {
  .home .nv-home-hero__content::before {
    left: 10px;
    width: 82vw;
    height: 64%;
    background: linear-gradient(90deg, rgba(251, 247, 239, .54) 0%, rgba(251, 247, 239, .24) 66%, rgba(251, 247, 239, 0) 100%);
  }

  .tax-product_cat .nv-shop-trust__grid div {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .single-product .nv-gallery {
    display: flex;
    flex-direction: column;
  }

  .single-product .nv-gallery__main {
    order: 1;
  }

  .single-product .nv-gallery__thumbs {
    order: 2;
  }

  .single-product .nv-pdp-setup .nv-card--pdp,
  .single-product .nv-related .nv-card--pdp {
    flex-basis: 47%;
    min-width: 170px;
  }

  .single-product .nv-card--pdp .nv-card__title {
    min-height: 40px;
    font-size: 14.25px;
    line-height: 1.28;
  }

  .single-product .nv-card--pdp .nv-card__image img {
    padding: 10px;
  }

  .single-product .nv-reviews .commentlist {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  .single-product .nv-reviews .review,
  .single-product .nv-reviews .comment {
    margin: 0;
  }
}

/* Figma foundation guard: keep legacy aliases mapped late in the cascade. */
:root {
  --nv-bg: var(--norven-bg);
  --nv-paper: var(--norven-bg);
  --nv-surface: var(--norven-surface);
  --nv-surface-2: var(--norven-surface-2);
  --nv-soft: var(--norven-surface-muted);
  --nv-ink: var(--norven-text);
  --nv-ink-soft: var(--norven-text-soft);
  --nv-muted: var(--norven-text-muted);
  --nv-muted-2: var(--norven-text-subtle);
  --nv-line: var(--norven-border);
  --nv-dark: var(--norven-dark);
  --nv-dark-hover: var(--norven-dark-hover);
  --nv-warm: var(--norven-accent-walnut);
  --nv-taupe: var(--norven-accent-walnut);
  --nv-sage: var(--norven-accent-felt);
  --nv-radius: var(--norven-radius-md);
  --nv-max: var(--norven-container-max);
}

body {
  background: var(--norven-bg);
  color: var(--norven-text);
  font-family: var(--norven-font-sans);
}

h1,
h2,
h3 {
  font-family: var(--norven-font-sans);
  letter-spacing: 0;
}

.home .nv-home-hero h1,
.home .nv-section__heading,
.home .nv-spotlight h2,
.home .nv-bridge h2,
.nv-footer__newsletter h2 {
  font-family: var(--norven-font-serif);
  font-weight: 400;
}

.nv-product-title,
.nv-card__title,
.nv-price,
.price,
.nv-nav,
.nv-tool,
.nv-button,
.button,
button,
input,
select,
textarea,
.single_add_to_cart_button {
  font-family: var(--norven-font-sans);
}

.home .nv-container,
.post-type-archive-product .nv-container,
.tax-product_cat .nv-container,
.single-product .nv-container,
.nv-container {
  width: calc(100% - (var(--norven-page-padding-desktop) * 2));
  max-width: var(--norven-container-max);
  margin-inline: auto;
  padding-left: 0;
  padding-right: 0;
}

.nv-button,
.button,
button,
input[type="submit"],
.single_add_to_cart_button {
  min-height: var(--norven-button-height);
  border-radius: var(--norven-radius-md);
}

.home .nv-topbar,
.post-type-archive-product .nv-topbar,
.tax-product_cat .nv-topbar,
.single-product .nv-topbar,
.nv-topbar {
  min-height: var(--norven-announcement-height-desktop);
  height: var(--norven-announcement-height-desktop);
  gap: 32px;
  background: var(--norven-surface-muted);
  border-bottom: var(--norven-border-width) solid var(--norven-border);
  color: var(--norven-text);
  font-family: var(--norven-font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0;
}

.home .nv-topbar span + span::before,
.post-type-archive-product .nv-topbar span + span::before,
.tax-product_cat .nv-topbar span + span::before,
.single-product .nv-topbar span + span::before,
.nv-topbar span + span::before {
  left: -20px;
  height: 14px;
  background: rgba(39, 33, 28, .18);
}

.home .nv-header,
.post-type-archive-product .nv-header,
.tax-product_cat .nv-header,
.single-product .nv-header,
.nv-header {
  z-index: 80;
  background: rgba(244, 238, 229, .96);
  border-bottom: var(--norven-border-width) solid var(--norven-border);
  box-shadow: none;
  backdrop-filter: blur(8px);
}

.home .nv-header__inner,
.post-type-archive-product .nv-header__inner,
.tax-product_cat .nv-header__inner,
.single-product .nv-header__inner,
.nv-header__inner {
  width: calc(100% - (var(--norven-page-padding-desktop) * 2));
  max-width: var(--norven-container-max);
  min-height: var(--norven-header-main-height-desktop);
  margin-inline: auto;
  padding-left: 0;
  padding-right: 0;
  display: grid;
  grid-template-columns: 124px minmax(0, 1fr) 288px;
  gap: 32px;
  align-items: center;
}

.home .nv-logo,
.post-type-archive-product .nv-logo,
.tax-product_cat .nv-logo,
.single-product .nv-logo,
.nv-logo {
  width: auto;
  color: var(--norven-text);
  font-family: var(--norven-font-sans);
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .24em;
  transform: none;
}

.nv-nav,
.nv-nav__list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(18px, 2.1vw, 32px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.home .nv-nav,
.post-type-archive-product .nv-nav,
.tax-product_cat .nv-nav,
.single-product .nv-nav,
.nv-nav {
  color: var(--norven-text);
  font-family: var(--norven-font-sans);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .02em;
}

.nv-nav li {
  margin: 0;
}

.nv-nav a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: inherit;
}

.home .nv-header__tools,
.post-type-archive-product .nv-header__tools,
.tax-product_cat .nv-header__tools,
.single-product .nv-header__tools,
.nv-header__tools {
  gap: 16px;
  justify-content: flex-end;
  color: var(--norven-text);
  font-family: var(--norven-font-sans);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .02em;
}

.nv-tool {
  min-height: 44px;
  color: inherit;
}

.nv-nav a:hover,
.nv-tool:hover,
.nv-mobile-menu a:hover,
.nv-footer a:hover {
  color: var(--norven-accent-felt);
}

.nv-tool--search::before,
.nv-tool--account::before,
.nv-tool--cart::before {
  border-width: 1.25px;
}

.home .nv-menu-toggle,
.post-type-archive-product .nv-menu-toggle,
.tax-product_cat .nv-menu-toggle,
.single-product .nv-menu-toggle,
.nv-menu-toggle {
  width: 48px;
  height: 48px;
  min-height: 48px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--norven-text);
}

.nv-menu-toggle span:not(.screen-reader-text) {
  width: 24px;
  height: 1.5px;
  margin: 5px auto;
  background: currentColor;
}

.nv-mobile-menu {
  display: none;
}

.home .nv-footer,
.post-type-archive-product .nv-footer,
.tax-product_cat .nv-footer,
.single-product .nv-footer,
.nv-footer {
  background: var(--norven-dark);
  border-top: 0;
  color: var(--norven-dark-text);
  min-height: var(--norven-footer-min-height-desktop);
  display: flex;
  flex-direction: column;
  padding: 32px 0 0;
}

.nv-footer__top {
  display: grid;
  grid-template-columns: minmax(260px, .62fr) minmax(420px, .78fr);
  gap: clamp(72px, 10vw, 160px);
  align-items: start;
}

.nv-footer__brand .nv-logo {
  color: var(--norven-dark-text);
  font-size: 23px;
  letter-spacing: .26em;
}

.nv-footer__brand p,
.nv-footer__newsletter p,
.nv-footer__panel,
.nv-footer__bottom {
  color: rgba(248, 243, 234, .72);
}

.nv-footer__brand p {
  max-width: 280px;
  margin: 24px 0 0;
  font-size: 14px;
  line-height: 1.65;
}

.nv-footer__newsletter h2 {
  max-width: 460px;
  margin: 0;
  color: var(--norven-dark-text);
  font-size: 28px;
  line-height: 1.24;
}

.nv-footer__newsletter p {
  max-width: 420px;
  margin: 16px 0 0;
  font-size: 14px;
  line-height: 1.65;
}

.nv-footer .nv-newsletter-form {
  max-width: 520px;
  margin-top: 28px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.nv-footer .nv-newsletter-form input {
  width: 100%;
  min-height: var(--norven-button-height);
  border: var(--norven-border-width) solid rgba(248, 243, 234, .24);
  border-radius: var(--norven-radius-sm);
  background: rgba(255, 251, 244, .06);
  color: var(--norven-dark-text);
  padding: 0 14px;
}

.nv-footer .nv-newsletter-form input::placeholder {
  color: rgba(248, 243, 234, .48);
}

.nv-footer .nv-newsletter-form button {
  min-height: var(--norven-button-height);
  border: var(--norven-border-width) solid rgba(248, 243, 234, .72);
  border-radius: var(--norven-radius-sm);
  background: var(--norven-dark-text);
  color: var(--norven-dark);
  padding-inline: 20px;
  font-size: 13px;
  font-weight: 750;
}

.home .nv-footer__inner,
.post-type-archive-product .nv-footer__inner,
.tax-product_cat .nv-footer__inner,
.single-product .nv-footer__inner,
.nv-footer__inner {
  display: block;
  margin-top: 150px;
  padding-top: 40px;
  border-top: var(--norven-border-width) solid rgba(248, 243, 234, .16);
}

.home .nv-footer__columns,
.post-type-archive-product .nv-footer__columns,
.tax-product_cat .nv-footer__columns,
.single-product .nv-footer__columns,
.nv-footer__columns {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(24px, 4vw, 64px);
}

.nv-footer__group {
  border: 0;
}

  .home .nv-footer__toggle,
  .post-type-archive-product .nv-footer__toggle,
  .tax-product_cat .nv-footer__toggle,
  .single-product .nv-footer__toggle,
  .nv-footer__toggle {
  min-height: 0;
  display: block;
  width: auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--norven-dark-text);
  font-family: var(--norven-font-serif);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
  text-align: left;
  text-transform: none;
  cursor: default;
}

.nv-footer__toggle::after {
  display: none;
}

.home .nv-footer__panel,
.post-type-archive-product .nv-footer__panel,
.tax-product_cat .nv-footer__panel,
.single-product .nv-footer__panel,
  .nv-footer__panel {
  display: block;
  margin-top: 18px;
  padding-bottom: 0;
  color: rgba(248, 243, 234, .72);
  font-size: 13px;
}

.nv-footer__list {
  display: grid;
  gap: 11px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nv-footer__list li {
  margin: 0;
}

.nv-footer a {
  color: inherit;
}

.home .nv-footer__bottom,
.post-type-archive-product .nv-footer__bottom,
.tax-product_cat .nv-footer__bottom,
.single-product .nv-footer__bottom,
.nv-footer__bottom {
  width: calc(100% - (var(--norven-page-padding-desktop) * 2));
  max-width: var(--norven-container-max);
  margin-top: auto;
  padding-top: 22px;
  padding-bottom: 32px;
  border-top: var(--norven-border-width) solid rgba(248, 243, 234, .16);
  color: rgba(248, 243, 234, .62);
  font-size: 12px;
}

.nv-footer__bottom div {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}

@media (max-width: 1180px) {
  .home .nv-header__inner,
  .post-type-archive-product .nv-header__inner,
  .tax-product_cat .nv-header__inner,
  .single-product .nv-header__inner,
  .nv-header__inner {
    width: calc(100% - (var(--norven-page-padding-tablet) * 2));
    grid-template-columns: 112px minmax(0, 1fr) 240px;
    gap: 20px;
  }

  .home .nv-container,
  .post-type-archive-product .nv-container,
  .tax-product_cat .nv-container,
  .single-product .nv-container,
  .nv-container,
  .home .nv-footer__bottom,
  .post-type-archive-product .nv-footer__bottom,
  .tax-product_cat .nv-footer__bottom,
  .single-product .nv-footer__bottom,
  .nv-footer__bottom {
    width: calc(100% - (var(--norven-page-padding-tablet) * 2));
  }

  .nv-nav,
  .nv-nav__list {
    gap: 16px;
  }
}

@media (max-width: 900px) {
  .home .nv-topbar,
  .post-type-archive-product .nv-topbar,
  .tax-product_cat .nv-topbar,
  .single-product .nv-topbar,
  .nv-topbar {
    min-height: var(--norven-announcement-height-mobile);
    height: var(--norven-announcement-height-mobile);
    font-size: 11px;
  }

  .home .nv-topbar span:first-child,
  .post-type-archive-product .nv-topbar span:first-child,
  .tax-product_cat .nv-topbar span:first-child,
  .single-product .nv-topbar span:first-child,
  .nv-topbar span:first-child {
    display: none;
  }

  .home .nv-header__inner,
  .post-type-archive-product .nv-header__inner,
  .tax-product_cat .nv-header__inner,
  .single-product .nv-header__inner,
  .nv-header__inner {
    width: calc(100% - (var(--norven-page-padding-mobile) * 2));
    min-height: var(--norven-header-main-height-mobile);
    grid-template-columns: 52px minmax(0, 1fr) 52px;
    gap: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .home .nv-logo,
  .post-type-archive-product .nv-logo,
  .tax-product_cat .nv-logo,
  .single-product .nv-logo,
  .nv-logo {
    justify-self: center;
    font-size: 20px;
    letter-spacing: .28em;
    transform: translateX(.14em);
  }

  .home .nv-nav,
  .post-type-archive-product .nv-nav,
  .tax-product_cat .nv-nav,
  .single-product .nv-nav,
  .nv-nav,
  .home .nv-tool--account,
  .post-type-archive-product .nv-tool--account,
  .tax-product_cat .nv-tool--account,
  .single-product .nv-tool--account,
  .nv-tool--account,
  .home .nv-tool--search,
  .post-type-archive-product .nv-tool--search,
  .tax-product_cat .nv-tool--search,
  .single-product .nv-tool--search,
  .nv-tool--search {
    display: none;
  }

  .home .nv-menu-toggle,
  .post-type-archive-product .nv-menu-toggle,
  .tax-product_cat .nv-menu-toggle,
  .single-product .nv-menu-toggle,
  .nv-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0;
  }

  .home .nv-header__tools,
  .post-type-archive-product .nv-header__tools,
  .tax-product_cat .nv-header__tools,
  .single-product .nv-header__tools,
  .nv-header__tools {
    justify-content: flex-end;
    gap: 0;
  }

  .home .nv-header__tools::after,
  .post-type-archive-product .nv-header__tools::after,
  .tax-product_cat .nv-header__tools::after,
  .single-product .nv-header__tools::after,
  .nv-header__tools::after {
    display: none;
  }

  .home .nv-tool--cart,
  .post-type-archive-product .nv-tool--cart,
  .tax-product_cat .nv-tool--cart,
  .single-product .nv-tool--cart,
  .nv-tool--cart {
    width: 48px;
    min-width: 48px;
    min-height: 48px;
    display: inline-flex;
    justify-content: flex-end;
    font-size: 0;
  }

  .nv-tool--cart::before {
    width: 19px;
    height: 15px;
    margin-right: 0;
  }

  .nv-cart-count {
    margin-left: 2px;
    color: inherit;
    font-size: 11px;
    line-height: 1;
  }

  .nv-mobile-menu {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 70;
    max-height: calc(100vh - var(--norven-header-total-mobile));
    overflow-y: auto;
    background: var(--norven-surface);
    border-bottom: var(--norven-border-width) solid var(--norven-border);
    box-shadow: none;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    visibility: hidden;
  }

  body.nv-menu-open .nv-mobile-menu {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
  }

  .nv-mobile-menu__nav,
  .nv-mobile-menu__utilities {
    width: calc(100% - (var(--norven-page-padding-mobile) * 2));
    max-width: var(--norven-container-max);
    margin-inline: auto;
  }

  .nv-mobile-menu__nav {
    display: block;
    padding: 10px 0 0;
  }

  .nv-mobile-menu__list {
    display: grid;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .nv-mobile-menu__list li {
    margin: 0;
  }

  .nv-mobile-menu__nav a,
  .nv-mobile-menu__utilities a {
    min-height: 48px;
    display: flex;
    align-items: center;
    border-bottom: var(--norven-border-width) solid var(--norven-border);
    color: var(--norven-text);
    font-size: 14px;
    font-weight: 650;
  }

  .nv-mobile-menu__utilities {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding: 0 0 20px;
  }

  .nv-mobile-menu__utilities a {
    border-bottom: 0;
  }

  .home .nv-container,
  .post-type-archive-product .nv-container,
  .tax-product_cat .nv-container,
  .single-product .nv-container,
  .nv-container,
  .home .nv-footer__bottom,
  .post-type-archive-product .nv-footer__bottom,
  .tax-product_cat .nv-footer__bottom,
  .single-product .nv-footer__bottom,
  .nv-footer__bottom {
    width: calc(100% - (var(--norven-page-padding-mobile) * 2));
  }

  .home .nv-footer,
  .post-type-archive-product .nv-footer,
  .tax-product_cat .nv-footer,
  .single-product .nv-footer,
  .nv-footer {
    min-height: var(--norven-footer-min-height-mobile);
    padding-top: 32px;
  }

  .nv-footer__top {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .nv-footer__brand p {
    max-width: 310px;
    margin-top: 18px;
    font-size: 14px;
    line-height: 1.62;
  }

  .nv-footer__newsletter h2 {
    max-width: 340px;
    font-size: 26px;
    line-height: 1.24;
  }

  .nv-footer__newsletter p {
    max-width: 330px;
    margin-top: 14px;
  }

  .nv-footer .nv-newsletter-form {
    grid-template-columns: 1fr;
    margin-top: 24px;
  }

  .nv-footer .nv-newsletter-form input,
  .nv-footer .nv-newsletter-form button {
    width: 100%;
  }

  .home .nv-footer__inner,
  .post-type-archive-product .nv-footer__inner,
  .tax-product_cat .nv-footer__inner,
  .single-product .nv-footer__inner,
  .nv-footer__inner {
    margin-top: 32px;
    padding-top: 0;
    border-top: var(--norven-border-width) solid rgba(248, 243, 234, .16);
  }

  .home .nv-footer__columns,
  .post-type-archive-product .nv-footer__columns,
  .tax-product_cat .nv-footer__columns,
  .single-product .nv-footer__columns,
  .nv-footer__columns {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .nv-footer__group {
    border-bottom: var(--norven-border-width) solid rgba(248, 243, 234, .16);
  }

.home .nv-footer__toggle,
.post-type-archive-product .nv-footer__toggle,
.tax-product_cat .nv-footer__toggle,
.single-product .nv-footer__toggle,
.nv-footer__toggle {
    min-height: 58px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
  }

  .nv-footer__toggle::after {
    display: block;
    content: "+";
    color: rgba(248, 243, 234, .58);
    font-size: 17px;
    font-weight: 500;
  }

  .nv-footer__toggle[aria-expanded="true"]::after {
    content: "-";
  }

  .home .nv-footer__panel,
  .post-type-archive-product .nv-footer__panel,
  .tax-product_cat .nv-footer__panel,
  .single-product .nv-footer__panel,
.nv-footer__panel {
    display: none;
    margin-top: 0;
    padding-bottom: 22px;
  }

  .home .nv-footer__toggle[aria-expanded="true"] + .nv-footer__panel,
  .post-type-archive-product .nv-footer__toggle[aria-expanded="true"] + .nv-footer__panel,
  .tax-product_cat .nv-footer__toggle[aria-expanded="true"] + .nv-footer__panel,
  .single-product .nv-footer__toggle[aria-expanded="true"] + .nv-footer__panel,
  .nv-footer__toggle[aria-expanded="true"] + .nv-footer__panel {
    display: block;
  }

  .nv-footer__bottom {
    display: grid;
    gap: 16px;
    padding-top: 24px;
    padding-bottom: 40px;
  }
}

@media (max-width: 390px) {
  .home .nv-logo,
  .post-type-archive-product .nv-logo,
  .tax-product_cat .nv-logo,
  .single-product .nv-logo,
  .nv-logo {
    font-size: 20px;
    letter-spacing: .27em;
  }
}

/* Home desktop rhythm: product, solution, editorial. */
@media (min-width: 901px) {
  .home main {
    background: var(--norven-bg);
  }

  .home .nv-home-hero {
    min-height: 600px;
    height: min(640px, calc(100vh - 76px));
    background: var(--norven-surface-muted);
  }

  .home .nv-home-hero__image {
    object-position: 58% center;
    filter: saturate(1.02) contrast(.98) brightness(1.02);
  }

  .home .nv-home-hero__overlay {
    background:
      linear-gradient(90deg, rgba(251, 247, 239, .92) 0%, rgba(251, 247, 239, .72) 28%, rgba(251, 247, 239, .22) 56%, rgba(251, 247, 239, 0) 100%),
      linear-gradient(180deg, rgba(37, 42, 40, .02), rgba(37, 42, 40, .1));
  }

  .home .nv-home-hero__content {
    min-height: inherit;
    align-items: flex-start;
    justify-content: center;
    padding-top: 34px;
    padding-bottom: 42px;
  }

  .home .nv-home-hero__content::before {
    display: none;
  }

  .home .nv-home-hero h1 {
    max-width: 560px;
    font-family: var(--norven-font-serif);
    font-size: 56px;
    line-height: 1.08;
    letter-spacing: 0;
  }

  .home .nv-home-hero p {
    max-width: 430px;
    margin-top: 20px;
    color: var(--norven-text);
    font-size: 16px;
    line-height: 1.65;
  }

  .home .nv-home-hero__actions {
    gap: 12px;
    margin-top: 28px;
  }

  .home .nv-home-hero__actions .nv-button {
    min-height: var(--norven-button-height);
    border-radius: var(--norven-radius-sm);
    padding-inline: 22px;
    font-size: 13px;
    font-weight: 750;
  }

  .home .nv-button--light {
    border-color: rgba(39, 33, 28, .42);
    background: rgba(255, 251, 244, .74);
    color: var(--norven-text);
  }

  .home .nv-trust {
    border-top: var(--norven-border-width) solid var(--norven-border);
    border-bottom: var(--norven-border-width) solid var(--norven-border);
    background: var(--norven-surface);
  }

  .home .nv-trust__grid {
    width: calc(100% - (var(--norven-page-padding-desktop) * 2));
    max-width: var(--norven-container-max);
    padding-inline: 0;
  }

  .home .nv-trust__item {
    min-height: 82px;
    padding: 16px 28px;
  }

  .home .nv-trust strong {
    color: var(--norven-text);
    font-size: 13px;
    line-height: 1.35;
  }

  .home .nv-trust p {
    color: var(--norven-text-muted);
    font-size: 12px;
    line-height: 1.45;
  }

  .home .nv-section {
    padding-top: var(--norven-section-space-desktop);
    padding-bottom: var(--norven-section-space-desktop);
  }

  .home .nv-section__head {
    align-items: end;
    margin-bottom: 26px;
  }

  .home .nv-section__heading,
  .home .nv-setup h2,
  .home .nv-story h2,
  .home .nv-newsletter h2 {
    color: var(--norven-text);
    font-family: var(--norven-font-serif);
    font-size: 34px;
    font-weight: 400;
    line-height: 1.16;
    letter-spacing: 0;
  }

  .home .nv-text-link {
    color: var(--norven-text);
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
  }

  .home .nv-best-sellers {
    padding-top: 76px;
    padding-bottom: 82px;
    background: var(--norven-bg);
  }

  .home .nv-products--home {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
  }

  .home .nv-card--home {
    min-width: 0;
    overflow: hidden;
    border: var(--norven-border-width) solid var(--norven-border);
    border-radius: var(--norven-radius-md);
    background: var(--norven-surface);
    box-shadow: none;
  }

  .home .nv-card--home .nv-card__image {
    aspect-ratio: 1 / .94;
    border-bottom: var(--norven-border-width) solid var(--norven-border);
    background: var(--norven-surface-muted);
  }

  .home .nv-card--home .nv-card__image img {
    width: 100%;
    height: 100%;
    padding: 16px;
    object-fit: contain;
    background: transparent;
  }

  .home .nv-card--home .nv-card__body {
    padding: 16px 16px 18px;
  }

  .home .nv-card--home .nv-card__title {
    min-height: 40px;
    color: var(--norven-text);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.32;
  }

  .home .nv-card--home .nv-card__summary {
    min-height: 38px;
    color: var(--norven-text-muted);
    font-size: 12px;
    line-height: 1.45;
  }

  .home .nv-card--home .nv-card__price {
    color: var(--norven-text);
    font-size: 14px;
    font-weight: 750;
  }

  .home .nv-card--home .nv-card__action {
    min-height: 42px;
    border-color: var(--norven-border);
    border-radius: var(--norven-radius-sm);
    background: transparent;
    color: var(--norven-text);
    font-size: 12px;
    font-weight: 750;
  }

  .home .nv-card--home .nv-card__action:hover {
    border-color: var(--norven-dark);
    background: var(--norven-dark);
    color: var(--norven-dark-text);
  }

  .home .nv-solutions-section {
    padding-top: 82px;
    padding-bottom: 84px;
    background: var(--norven-surface);
    border-top: var(--norven-border-width) solid var(--norven-border);
    border-bottom: var(--norven-border-width) solid var(--norven-border);
  }

  .home .nv-solutions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    margin-top: 28px;
  }

  .home .nv-solution {
    min-height: 300px;
    overflow: hidden;
    border: var(--norven-border-width) solid var(--norven-border);
    border-radius: var(--norven-radius-md);
    background: var(--norven-surface-muted);
    box-shadow: none;
  }

  .home .nv-solution img {
    width: 100%;
    height: 100%;
    min-height: 300px;
    padding: 18px;
    object-fit: contain;
    background: transparent;
    filter: saturate(1.01) contrast(.98);
    transform: none;
  }

  .home .nv-solution::after {
    height: 48%;
    background: linear-gradient(180deg, rgba(37, 42, 40, 0), rgba(37, 42, 40, .5));
  }

  .home .nv-solution span {
    left: 18px;
    right: 18px;
    bottom: 18px;
    color: var(--norven-dark-text);
    font-size: 15px;
    font-weight: 750;
    line-height: 1.25;
  }

  .home .nv-setup {
    padding-top: 86px;
    padding-bottom: 78px;
    background: var(--norven-bg);
  }

  .home .nv-setup__inner {
    grid-template-columns: minmax(260px, .34fr) minmax(0, .44fr) minmax(240px, .22fr);
    gap: 32px;
    align-items: center;
    padding: 36px 38px;
    border: var(--norven-border-width) solid var(--norven-border);
    border-radius: var(--norven-radius-md);
    background: var(--norven-surface);
    box-shadow: none;
  }

  .home .nv-setup p,
  .home .nv-story p,
  .home .nv-newsletter p {
    color: var(--norven-text-muted);
    font-size: 14px;
    line-height: 1.65;
  }

  .home .nv-setup__products {
    justify-content: center;
    gap: 12px;
  }

  .home .nv-setup__product {
    width: 112px;
    color: var(--norven-text);
    font-size: 11.5px;
    line-height: 1.25;
  }

  .home .nv-setup__product img {
    width: 92px;
    height: 92px;
    border: var(--norven-border-width) solid var(--norven-border);
    border-radius: var(--norven-radius-sm);
    background: var(--norven-surface-muted);
  }

  .home .nv-setup__plus {
    color: var(--norven-text-muted);
  }

  .home .nv-setup__cta {
    padding-left: 28px;
    border-left: var(--norven-border-width) solid var(--norven-border);
  }

  .home .nv-story {
    padding-top: 86px;
    padding-bottom: 86px;
    background: var(--norven-bg);
  }

  .home .nv-story__inner {
    display: grid;
    grid-template-columns: minmax(0, .58fr) minmax(360px, .42fr);
    gap: 56px;
    align-items: center;
    min-height: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .home .nv-story img {
    width: 100%;
    min-height: 440px;
    max-height: 520px;
    border-radius: var(--norven-radius-md);
    object-fit: cover;
    object-position: center 58%;
  }

  .home .nv-story__copy {
    max-width: 470px;
    padding: 0;
  }

  .home .nv-story__copy .nv-text-link {
    margin-top: 16px;
  }

  .home .nv-notes {
    padding-top: 76px;
    padding-bottom: 84px;
    background: var(--norven-surface);
    border-top: var(--norven-border-width) solid var(--norven-border);
  }

  .home .nv-notes__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-top: 26px;
  }

  .home .nv-note {
    border: var(--norven-border-width) solid var(--norven-border);
    border-radius: var(--norven-radius-md);
    background: var(--norven-surface);
  }

  .home .nv-note a {
    min-height: 100%;
  }

  .home .nv-note img {
    aspect-ratio: 1.35 / .82;
    object-fit: cover;
    border-bottom: var(--norven-border-width) solid var(--norven-border);
  }

  .home .nv-note h3 {
    color: var(--norven-text);
    font-size: 18px;
    line-height: 1.35;
  }

  .home .nv-note p {
    color: var(--norven-text-muted);
    font-size: 13px;
    line-height: 1.55;
  }

  .home .nv-notes__empty {
    margin-top: 24px;
    min-height: 112px;
    border: var(--norven-border-width) solid var(--norven-border);
    border-radius: var(--norven-radius-md);
    background: var(--norven-surface);
  }

  .home .nv-newsletter {
    padding-top: 66px;
    padding-bottom: 66px;
    background: var(--norven-bg);
    border-top: var(--norven-border-width) solid var(--norven-border);
  }

  .home .nv-newsletter__inner {
    grid-template-columns: minmax(0, .86fr) minmax(360px, .56fr);
    gap: 72px;
    align-items: center;
  }

  .home .nv-newsletter h2 {
    max-width: 600px;
  }

  .home .nv-newsletter__text {
    max-width: 420px;
    margin-top: 12px;
  }

  .home .nv-newsletter-form {
    gap: 10px;
  }

  .home .nv-newsletter-form input,
  .home .nv-newsletter-form button {
    min-height: var(--norven-button-height);
    border-radius: var(--norven-radius-sm);
  }
}

/* Phase 1: contain WooCommerce Blocks empty cart recommendations on mobile. */
@media (max-width: 900px) {
  .woocommerce-cart .nv-page__content,
  .woocommerce-checkout .nv-page__content,
  .woocommerce-cart .wp-block-woocommerce-cart,
  .woocommerce-checkout .wp-block-woocommerce-checkout,
  .woocommerce-cart .wc-block-cart,
  .woocommerce-checkout .wc-block-checkout {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
    box-sizing: border-box;
  }

  .woocommerce-cart .wc-block-cart__empty-cart__title,
  .woocommerce-checkout .wc-block-cart__empty-cart__title {
    max-width: 100%;
    text-align: center;
    overflow-wrap: anywhere;
  }

  .woocommerce-cart .wc-block-grid,
  .woocommerce-checkout .wc-block-grid,
  .woocommerce-cart .wc-block-grid__products,
  .woocommerce-checkout .wc-block-grid__products {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-left: 0;
    padding-left: 0;
  }

  .woocommerce-cart .wc-block-grid__products,
  .woocommerce-checkout .wc-block-grid__products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 8px;
  }

  .woocommerce-cart .wc-block-grid__product,
  .woocommerce-checkout .wc-block-grid__product {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0;
    padding: 10px 8px;
    box-sizing: border-box;
  }

  .woocommerce-cart .wc-block-grid__product-title,
  .woocommerce-checkout .wc-block-grid__product-title,
  .woocommerce-cart .wc-block-grid__product-price,
  .woocommerce-checkout .wc-block-grid__product-price {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link,
  .woocommerce-checkout .wc-block-grid__product-add-to-cart .wp-block-button__link {
    max-width: 100%;
    white-space: normal;
  }
}

/* Unified Figma alignment pass: Home mobile, Shop, PDP, Cart, and Checkout. */
@media (max-width: 900px) {
  :root {
    --norven-type-display: 38px;
    --norven-type-h1: 31px;
    --norven-type-h2: 26px;
    --norven-type-h3: 20px;
    --norven-type-body: 14px;
    --norven-type-small: 12px;
    --norven-section-space-mobile: 52px;
  }
}

.nv-page,
.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-account {
  background: var(--norven-bg);
  color: var(--norven-text);
}

.nv-breadcrumb {
  color: var(--norven-text-muted);
  font-family: var(--norven-font-sans);
  font-size: var(--norven-type-small);
  line-height: 1.4;
}

.nv-breadcrumb a:hover {
  color: var(--norven-text);
}

/* Home mobile: 390w rhythm. */
@media (max-width: 900px) {
  .home .nv-home-hero {
    min-height: 0;
    height: clamp(430px, 118vw, 482px);
    background: var(--norven-surface-muted);
  }

  .home .nv-home-hero__image {
    object-position: 60% center;
    filter: saturate(1.02) contrast(.98) brightness(1.02);
  }

  .home .nv-home-hero__overlay {
    background:
      linear-gradient(180deg, rgba(251, 247, 239, .04) 0%, rgba(251, 247, 239, .3) 42%, rgba(251, 247, 239, .96) 100%),
      linear-gradient(90deg, rgba(251, 247, 239, .5) 0%, rgba(251, 247, 239, .12) 64%);
  }

  .home .nv-home-hero__content {
    min-height: clamp(430px, 118vw, 482px);
    justify-content: flex-end;
    padding: 30px 0 32px;
  }

  .home .nv-home-hero__content::before {
    display: none;
  }

  .home .nv-home-hero h1 {
    max-width: 328px;
    font-size: var(--norven-type-display);
    line-height: 1.04;
  }

  .home .nv-home-hero p {
    max-width: 312px;
    margin-top: 12px;
    color: var(--norven-text);
    font-size: var(--norven-type-body);
    line-height: 1.55;
  }

  .home .nv-home-hero__actions {
    width: 100%;
    gap: 10px;
    margin-top: 20px;
  }

  .home .nv-home-hero__actions .nv-button {
    width: 100%;
    min-height: 48px;
    padding-inline: 14px;
    border-radius: var(--norven-radius-sm);
    font-size: 13px;
  }

  .home .nv-home-hero__actions .nv-button--outline {
    display: none;
  }

  .home .nv-trust__grid {
    width: calc(100% - (var(--norven-page-padding-mobile) * 2));
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding: 10px 0;
  }

  .home .nv-trust__item {
    min-height: 58px;
    padding: 8px 6px;
    border-right: var(--norven-border-width) solid var(--norven-border);
    background: transparent;
  }

  .home .nv-trust__item:nth-child(4) {
    display: none;
  }

  .home .nv-trust__icon,
  .home .nv-trust p {
    display: none;
  }

  .home .nv-trust strong {
    max-width: 9em;
    margin-inline: auto;
    font-size: 11px;
    line-height: 1.25;
    text-align: center;
  }

  .home .nv-section {
    padding-top: var(--norven-section-space-mobile);
    padding-bottom: var(--norven-section-space-mobile);
  }

  .home .nv-section__head {
    align-items: flex-end;
    margin-bottom: 18px;
  }

  .home .nv-section__heading,
  .home .nv-setup h2,
  .home .nv-story h2,
  .home .nv-newsletter h2 {
    font-size: var(--norven-type-h2);
    line-height: 1.16;
  }

  .home .nv-best-sellers {
    padding-top: 46px;
    padding-bottom: 50px;
  }

  .home .nv-products--home {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--norven-grid-gap-mobile);
  }

  .home .nv-card--home {
    min-width: 0;
    border-radius: var(--norven-radius-md);
    box-shadow: none;
  }

  .home .nv-card--home .nv-card__image {
    aspect-ratio: 1 / .92;
  }

  .home .nv-card--home .nv-card__image img {
    padding: 10px;
    object-fit: contain;
  }

  .home .nv-card--home .nv-card__body {
    padding: 11px;
  }

  .home .nv-card--home .nv-card__title {
    display: -webkit-box;
    min-height: 36px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 13.5px;
    line-height: 1.28;
  }

  .home .nv-card--home .nv-card__summary,
  .home .nv-card--home .nv-card__hint {
    display: none;
  }

  .home .nv-card--home .nv-card__price {
    font-size: 13px;
  }

  .home .nv-card--home .nv-card__action {
    min-height: 40px;
    padding-inline: 8px;
    font-size: 12px;
    white-space: normal;
  }

  .home .nv-solutions-section {
    padding-top: 48px;
    padding-bottom: 52px;
    background: var(--norven-surface);
  }

  .home .nv-solutions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--norven-grid-gap-mobile);
    margin-top: 18px;
  }

  .home .nv-solution {
    min-width: 0;
    min-height: 160px;
    border-radius: var(--norven-radius-md);
  }

  .home .nv-solution img {
    min-height: 160px;
    padding: 12px;
    object-fit: contain;
  }

  .home .nv-solution span {
    left: 12px;
    right: 12px;
    bottom: 12px;
    font-size: 13.5px;
  }

  .home .nv-setup {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .home .nv-setup__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 20px 16px;
    border-radius: var(--norven-radius-md);
  }

  .home .nv-setup__products {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    overflow: visible;
  }

  .home .nv-setup__product {
    width: auto;
    min-width: 0;
    padding: 10px;
    border: var(--norven-border-width) solid var(--norven-border);
    border-radius: var(--norven-radius-sm);
    background: var(--norven-surface);
  }

  .home .nv-setup__product img {
    width: 82px;
    height: 82px;
    margin-inline: auto;
  }

  .home .nv-setup__plus {
    display: none;
  }

  .home .nv-setup__cta {
    margin-top: 0;
    padding-left: 0;
    border-left: 0;
  }

  .home .nv-setup__cta .nv-button {
    width: 100%;
  }

  .home .nv-story {
    padding-top: 50px;
    padding-bottom: 52px;
  }

  .home .nv-story__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
    background: transparent;
    box-shadow: none;
  }

  .home .nv-story img {
    min-height: 244px;
    max-height: none;
    aspect-ratio: 1.25 / .9;
    border-radius: var(--norven-radius-md);
    object-position: center center;
  }

  .home .nv-story__copy {
    padding: 0;
  }

  .home .nv-notes {
    padding-top: 46px;
    padding-bottom: 48px;
  }

  .home .nv-notes__grid {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 18px;
  }

  .home .nv-note {
    border-radius: var(--norven-radius-md);
  }

  .home .nv-newsletter {
    padding-top: 44px;
    padding-bottom: 46px;
  }

  .home .nv-newsletter__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .home .nv-newsletter-form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .home .nv-newsletter-form input,
  .home .nv-newsletter-form button {
    width: 100%;
    min-height: 48px;
  }
}

/* Shop desktop and mobile. */
.post-type-archive-product .nv-shop-hero,
.tax-product_cat .nv-shop-hero {
  min-height: 300px;
  height: auto;
  background: var(--norven-surface-muted);
}

.post-type-archive-product .nv-shop-hero img,
.tax-product_cat .nv-shop-hero img {
  object-position: center 58%;
  filter: saturate(.98) contrast(.96) brightness(1.02);
}

.post-type-archive-product .nv-shop-hero__overlay,
.tax-product_cat .nv-shop-hero__overlay {
  background: linear-gradient(90deg, rgba(251, 247, 239, .94), rgba(251, 247, 239, .62) 44%, rgba(251, 247, 239, .18));
}

.post-type-archive-product .nv-shop-hero__inner,
.tax-product_cat .nv-shop-hero__inner {
  min-height: 300px;
  justify-content: center;
  padding-top: 44px;
  padding-bottom: 44px;
}

.post-type-archive-product .nv-shop-hero h1,
.tax-product_cat .nv-shop-hero h1 {
  max-width: 620px;
  font-family: var(--norven-font-serif);
  font-size: var(--norven-type-h1);
  font-weight: 400;
  line-height: var(--norven-line-tight);
}

.post-type-archive-product .nv-shop-hero p,
.tax-product_cat .nv-shop-hero p {
  max-width: 460px;
  color: var(--norven-text-muted);
  font-size: var(--norven-type-body);
  line-height: var(--norven-line-body);
}

.nv-category-pills {
  border-top: var(--norven-border-width) solid var(--norven-border);
  border-bottom: var(--norven-border-width) solid var(--norven-border);
  background: var(--norven-surface);
}

.nv-category-pills__inner {
  min-height: 56px;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
}

.nv-category-pills__inner::-webkit-scrollbar {
  display: none;
}

.nv-category-pills a {
  min-height: 34px;
  border: var(--norven-border-width) solid transparent;
  border-radius: var(--norven-radius-sm);
  padding: 0 12px;
  color: var(--norven-text-muted);
  font-size: 12px;
  font-weight: 700;
}

.nv-category-pills a.is-active {
  border-color: var(--norven-border);
  background: var(--norven-bg);
  color: var(--norven-text);
}

.post-type-archive-product .nv-shop,
.tax-product_cat .nv-shop {
  padding: 56px 0 64px;
  background: var(--norven-bg);
}

.post-type-archive-product .nv-shop__layout,
.tax-product_cat .nv-shop__layout {
  grid-template-columns: 236px minmax(0, 1fr);
  gap: 36px;
  align-items: start;
}

.post-type-archive-product .nv-shop__sidebar,
.tax-product_cat .nv-shop__sidebar {
  position: sticky;
  top: 132px;
  border: var(--norven-border-width) solid var(--norven-border);
  border-radius: var(--norven-radius-md);
  background: var(--norven-surface);
  padding: 18px;
}

.post-type-archive-product .nv-shop__toolbar,
.tax-product_cat .nv-shop__toolbar {
  min-height: 52px;
  margin-bottom: 22px;
  padding-bottom: 16px;
  border-bottom: var(--norven-border-width) solid var(--norven-border);
}

.post-type-archive-product .nv-shop__count,
.tax-product_cat .nv-shop__count {
  color: var(--norven-text-muted);
  font-size: 13px;
}

.post-type-archive-product .nv-shop__actions,
.tax-product_cat .nv-shop__actions {
  gap: 10px;
}

.post-type-archive-product .nv-filter-toggle,
.tax-product_cat .nv-filter-toggle,
.post-type-archive-product .nv-sort select,
.tax-product_cat .nv-sort select {
  min-height: 42px;
  border: var(--norven-border-width) solid var(--norven-border);
  border-radius: var(--norven-radius-sm);
  background: var(--norven-surface);
  color: var(--norven-text);
  font-size: 12px;
  font-weight: 700;
}

.post-type-archive-product .nv-sort,
.tax-product_cat .nv-sort {
  gap: 8px;
}

.post-type-archive-product .nv-sort label,
.tax-product_cat .nv-sort label {
  color: var(--norven-text-muted);
  font-size: 12px;
}

.post-type-archive-product .nv-filter-group,
.tax-product_cat .nv-filter-group {
  padding-bottom: 18px;
  border-bottom: var(--norven-border-width) solid var(--norven-border);
}

.post-type-archive-product .nv-filter-group h2,
.tax-product_cat .nv-filter-group h2 {
  color: var(--norven-text);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.post-type-archive-product .nv-check,
.tax-product_cat .nv-check {
  color: var(--norven-text-muted);
  font-size: 13px;
}

.post-type-archive-product .nv-products--shop,
.tax-product_cat .nv-products--shop {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--norven-grid-gap-desktop);
}

.post-type-archive-product .nv-card--shop,
.tax-product_cat .nv-card--shop {
  overflow: hidden;
  border: var(--norven-border-width) solid var(--norven-border);
  border-radius: var(--norven-radius-md);
  background: var(--norven-surface);
  box-shadow: none;
}

.post-type-archive-product .nv-card--shop .nv-card__image,
.tax-product_cat .nv-card--shop .nv-card__image {
  aspect-ratio: 1 / .96;
  border-bottom: var(--norven-border-width) solid var(--norven-border);
  background: var(--norven-surface-muted);
}

.post-type-archive-product .nv-card--shop .nv-card__image img,
.tax-product_cat .nv-card--shop .nv-card__image img {
  width: 100%;
  height: 100%;
  padding: 16px;
  object-fit: contain;
  background: transparent;
}

.post-type-archive-product .nv-card--shop .nv-card__body,
.tax-product_cat .nv-card--shop .nv-card__body {
  padding: 16px;
}

.post-type-archive-product .nv-card--shop .nv-card__title,
.tax-product_cat .nv-card--shop .nv-card__title {
  min-height: 40px;
  font-size: 15px;
  line-height: 1.32;
}

.post-type-archive-product .nv-card--shop .nv-card__summary,
.tax-product_cat .nv-card--shop .nv-card__summary {
  min-height: 40px;
  color: var(--norven-text-muted);
  font-size: 12px;
  line-height: 1.45;
}

.post-type-archive-product .nv-card--shop .nv-card__action,
.tax-product_cat .nv-card--shop .nv-card__action {
  min-height: 42px;
  border-radius: var(--norven-radius-sm);
  font-size: 12px;
}

@media (max-width: 900px) {
  .post-type-archive-product .nv-shop-hero,
  .tax-product_cat .nv-shop-hero {
    min-height: 230px;
  }

  .post-type-archive-product .nv-shop-hero__inner,
  .tax-product_cat .nv-shop-hero__inner {
    min-height: 230px;
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .post-type-archive-product .nv-shop-hero h1,
  .tax-product_cat .nv-shop-hero h1 {
    font-size: var(--norven-type-h1);
  }

  .post-type-archive-product .nv-shop-hero p,
  .tax-product_cat .nv-shop-hero p {
    max-width: 310px;
    font-size: var(--norven-type-body);
  }

  .nv-category-pills__inner {
    width: calc(100% - (var(--norven-page-padding-mobile) * 2));
    min-height: 50px;
    justify-content: flex-start;
  }

  .nv-category-pills a {
    flex: 0 0 auto;
  }

  .post-type-archive-product .nv-shop,
  .tax-product_cat .nv-shop {
    padding: 28px 0 44px;
  }

  .post-type-archive-product .nv-shop__layout,
  .tax-product_cat .nv-shop__layout {
    display: block;
  }

  .post-type-archive-product .nv-shop__sidebar,
  .tax-product_cat .nv-shop__sidebar {
    display: none;
  }

  .post-type-archive-product .nv-shop__toolbar,
  .tax-product_cat .nv-shop__toolbar {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 16px;
    padding-bottom: 14px;
  }

  .post-type-archive-product .nv-shop__actions,
  .tax-product_cat .nv-shop__actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
  }

  .post-type-archive-product .nv-filter-toggle,
  .tax-product_cat .nv-filter-toggle,
  .post-type-archive-product .nv-sort select,
  .tax-product_cat .nv-sort select {
    width: 100%;
    min-height: 44px;
  }

  .post-type-archive-product .nv-sort,
  .tax-product_cat .nv-sort {
    display: block;
  }

  .post-type-archive-product .nv-sort label,
  .tax-product_cat .nv-sort label {
    display: none;
  }

  .post-type-archive-product .nv-products--shop,
  .tax-product_cat .nv-products--shop,
  .tax-product_cat .nv-shop--few-products .nv-products--shop {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--norven-grid-gap-mobile);
  }

  .post-type-archive-product .nv-card--shop .nv-card__image,
  .tax-product_cat .nv-card--shop .nv-card__image {
    aspect-ratio: 1 / .92;
  }

  .post-type-archive-product .nv-card--shop .nv-card__image img,
  .tax-product_cat .nv-card--shop .nv-card__image img {
    padding: 10px;
  }

  .post-type-archive-product .nv-card--shop .nv-card__body,
  .tax-product_cat .nv-card--shop .nv-card__body {
    padding: 11px;
  }

  .post-type-archive-product .nv-card--shop .nv-card__title,
  .tax-product_cat .nv-card--shop .nv-card__title {
    min-height: 36px;
    font-size: 13.5px;
  }

  .post-type-archive-product .nv-card--shop .nv-card__summary,
  .post-type-archive-product .nv-card--shop .nv-card__hint,
  .tax-product_cat .nv-card--shop .nv-card__summary,
  .tax-product_cat .nv-card--shop .nv-card__hint {
    display: none;
  }

  .post-type-archive-product .nv-card--shop .nv-card__price,
  .tax-product_cat .nv-card--shop .nv-card__price {
    font-size: 13px;
  }

  .post-type-archive-product .nv-card--shop .nv-card__action,
  .tax-product_cat .nv-card--shop .nv-card__action {
    min-height: 40px;
    padding-inline: 8px;
    font-size: 12px;
    white-space: normal;
  }

  .nv-filter-drawer__panel {
    width: min(350px, calc(100vw - 28px));
    border-radius: var(--norven-radius-md) 0 0 var(--norven-radius-md);
    background: var(--norven-surface);
  }
}

/* PDP desktop and mobile. */
.single-product .nv-pdp {
  padding-top: 34px;
  background: var(--norven-bg);
}

.single-product .nv-pdp > .nv-container:first-child {
  padding-top: 0;
}

.single-product .nv-pdp__breadcrumb {
  margin-bottom: 22px;
}

.single-product .nv-pdp__grid {
  grid-template-columns: minmax(0, .58fr) minmax(380px, .42fr);
  gap: 56px;
  align-items: start;
}

.single-product .nv-gallery {
  position: sticky;
  top: 132px;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 14px;
}

.single-product .nv-gallery__thumbs {
  gap: 10px;
}

.single-product .nv-gallery__thumb,
.single-product .nv-gallery__main {
  border: var(--norven-border-width) solid var(--norven-border);
  border-radius: var(--norven-radius-md);
  background: var(--norven-surface-muted);
}

.single-product .nv-gallery__thumb {
  width: 76px;
  height: 76px;
}

.single-product .nv-gallery__main {
  min-height: 620px;
  aspect-ratio: 1 / 1.04;
}

.single-product .nv-gallery__main img {
  width: 100%;
  height: 100%;
  padding: 26px;
  object-fit: contain;
  background: transparent;
}

.single-product .nv-pdp__summary {
  border: var(--norven-border-width) solid var(--norven-border);
  border-radius: var(--norven-radius-md);
  background: var(--norven-surface);
  padding: 30px;
  box-shadow: none;
}

.single-product .nv-product-vendor {
  color: var(--norven-text-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.single-product .nv-product-title {
  margin-top: 10px;
  color: var(--norven-text);
  font-family: var(--norven-font-sans);
  font-size: var(--norven-type-h1);
  font-weight: 700;
  line-height: 1.12;
}

.single-product .nv-subheading {
  color: var(--norven-text-muted);
  font-size: var(--norven-type-body);
  line-height: var(--norven-line-body);
}

.single-product .nv-price {
  color: var(--norven-text);
  font-size: 20px;
  font-weight: 800;
}

.single-product .nv-pdp__form {
  margin-top: 22px;
}

.single-product .nv-pdp form.cart {
  gap: 12px;
}

.single-product .nv-pdp .variations,
.single-product .nv-pdp .variations tbody,
.single-product .nv-pdp .variations tr,
.single-product .nv-pdp .variations th,
.single-product .nv-pdp .variations td {
  display: block;
  width: 100%;
}

.single-product .nv-pdp .variations tr {
  margin-bottom: 14px;
}

.single-product .nv-pdp .variations label {
  margin-bottom: 8px;
  color: var(--norven-text);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.single-product .nv-pdp select,
.single-product .nv-pdp .quantity input.qty {
  min-height: 46px;
  border: var(--norven-border-width) solid var(--norven-border);
  border-radius: var(--norven-radius-sm);
  background: var(--norven-surface);
  color: var(--norven-text);
}

.single-product .nv-pdp .single_add_to_cart_button {
  min-height: 50px;
  border-radius: var(--norven-radius-sm);
  background: var(--norven-dark);
  color: var(--norven-dark-text);
  font-size: 13px;
  font-weight: 800;
}

.single-product .nv-pdp-trust {
  margin-top: 22px;
  border-top: var(--norven-border-width) solid var(--norven-border);
  border-bottom: var(--norven-border-width) solid var(--norven-border);
}

.single-product .nv-pdp-trust div {
  padding: 14px 0;
}

.single-product .nv-pdp-setup,
.single-product .nv-pdp-details,
.single-product .nv-pdp-faq,
.single-product .nv-reviews,
.single-product .nv-related {
  padding-top: 72px;
  padding-bottom: 72px;
}

.single-product .nv-pdp-details {
  background: var(--norven-surface);
  border-top: var(--norven-border-width) solid var(--norven-border);
  border-bottom: var(--norven-border-width) solid var(--norven-border);
}

.single-product .nv-pdp-details__grid {
  grid-template-columns: minmax(0, .56fr) minmax(360px, .44fr);
  gap: 56px;
}

.single-product .nv-pdp-story h2,
.single-product .nv-section__heading {
  font-family: var(--norven-font-serif);
  font-size: var(--norven-type-h2);
  font-weight: 400;
  line-height: 1.18;
}

.single-product .nv-pdp-specs details,
.single-product .nv-pdp-faq details {
  border-color: var(--norven-border);
}

@media (max-width: 900px) {
  .single-product .nv-pdp {
    padding-top: 18px;
    padding-bottom: 84px;
  }

  .single-product .nv-pdp__breadcrumb {
    margin-bottom: 14px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .single-product .nv-pdp__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .single-product .nv-gallery {
    position: static;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .single-product .nv-gallery__main {
    order: 1;
    min-height: 0;
    aspect-ratio: 1 / .98;
    border-radius: var(--norven-radius-md);
  }

  .single-product .nv-gallery__main img {
    min-height: 0;
    max-height: none;
    padding: 16px;
  }

  .single-product .nv-gallery__thumbs {
    order: 2;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .single-product .nv-gallery__thumbs::-webkit-scrollbar {
    display: none;
  }

  .single-product .nv-gallery__thumb {
    flex: 0 0 62px;
    width: 62px;
    height: 62px;
  }

  .single-product .nv-pdp__summary {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .single-product .nv-product-title {
    font-size: var(--norven-type-h1);
    line-height: 1.16;
  }

  .single-product .nv-subheading {
    font-size: var(--norven-type-body);
  }

  .single-product .nv-pdp__form {
    padding: 16px;
    border: var(--norven-border-width) solid var(--norven-border);
    border-radius: var(--norven-radius-md);
    background: var(--norven-surface);
  }

  .single-product .nv-pdp form.cart {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 10px;
  }

  .single-product .nv-pdp .variations {
    grid-column: 1 / -1;
  }

  .single-product .nv-pdp .quantity input.qty,
  .single-product .nv-pdp .single_add_to_cart_button {
    width: 100%;
    min-height: 48px;
  }

  .single-product .nv-pdp-trust {
    display: grid;
    margin-top: 16px;
  }

  .single-product .nv-pdp-setup,
  .single-product .nv-pdp-details,
  .single-product .nv-pdp-faq,
  .single-product .nv-reviews,
  .single-product .nv-related {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .single-product .nv-pdp-details__grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .single-product .nv-pdp-story__image img {
    min-height: 220px;
    border-radius: var(--norven-radius-md);
  }

  .single-product .nv-pdp-setup .nv-products--pdp,
  .single-product .nv-related .nv-products--pdp {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--norven-grid-gap-mobile);
  }

  .single-product .nv-sticky-atc {
    border-top: var(--norven-border-width) solid var(--norven-border);
    background: rgba(255, 251, 244, .96);
    backdrop-filter: blur(10px);
  }
}

/* Product card baseline from Figma Home commerce system. */
.home .nv-card--home,
.post-type-archive-product .nv-card--shop,
.tax-product_cat .nv-card--shop,
.single-product .nv-card--pdp,
.nv-card {
  min-width: 0;
  overflow: hidden;
  border: var(--norven-border-width) solid var(--norven-border);
  border-radius: var(--norven-radius-sm);
  background: var(--norven-surface);
  box-shadow: none;
}

.home .nv-card--home .nv-card__image,
.post-type-archive-product .nv-card--shop .nv-card__image,
.tax-product_cat .nv-card--shop .nv-card__image,
.single-product .nv-card--pdp .nv-card__image,
.nv-card__image {
  aspect-ratio: 1 / 1;
  border-bottom: var(--norven-border-width) solid var(--norven-border);
  background: var(--norven-surface-muted);
}

.home .nv-card--home .nv-card__image img,
.post-type-archive-product .nv-card--shop .nv-card__image img,
.tax-product_cat .nv-card--shop .nv-card__image img,
.single-product .nv-card--pdp .nv-card__image img,
.nv-card__image img {
  width: 100%;
  height: 100%;
  padding: 16px;
  object-fit: contain;
  background: transparent;
}

.home .nv-card--home .nv-card__body,
.post-type-archive-product .nv-card--shop .nv-card__body,
.tax-product_cat .nv-card--shop .nv-card__body,
.single-product .nv-card--pdp .nv-card__body,
.nv-card__body {
  display: flex;
  flex-direction: column;
  padding: 14px 14px 16px;
}

.nv-card__label {
  min-height: 13px;
  margin-bottom: 7px;
  color: var(--norven-text-subtle);
  font-family: var(--norven-font-sans);
  font-size: 9.5px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.home .nv-card--home .nv-card__title,
.post-type-archive-product .nv-card--shop .nv-card__title,
.tax-product_cat .nv-card--shop .nv-card__title,
.single-product .nv-card--pdp .nv-card__title,
.nv-card__title {
  min-height: 42px;
  margin: 0;
  color: var(--norven-text);
  font-family: var(--norven-font-sans);
  font-size: 15px;
  font-weight: 650;
  line-height: 1.38;
}

.nv-card__title a {
  color: inherit;
  text-decoration: none;
}

.home .nv-card--home .nv-card__summary,
.post-type-archive-product .nv-card--shop .nv-card__summary,
.tax-product_cat .nv-card--shop .nv-card__summary,
.single-product .nv-card--pdp .nv-card__summary,
.nv-card__summary {
  min-height: 0;
  margin: 8px 0 0;
  color: var(--norven-text-muted);
  font-size: 12px;
  line-height: 1.45;
}

.home .nv-card--home .nv-card__price,
.post-type-archive-product .nv-card--shop .nv-card__price,
.tax-product_cat .nv-card--shop .nv-card__price,
.single-product .nv-card--pdp .nv-card__price,
.nv-card__price {
  margin-top: 12px;
  color: var(--norven-text);
  font-size: 15px;
  font-weight: 650;
  line-height: 1.38;
}

.nv-card__price del {
  color: var(--norven-text-muted);
  font-weight: 500;
}

.nv-card__price ins {
  text-decoration: none;
}

.nv-card__swatches {
  margin-top: 10px;
}

.home .nv-card--home .nv-card__hint,
.post-type-archive-product .nv-card--shop .nv-card__hint,
.tax-product_cat .nv-card--shop .nv-card__hint,
.single-product .nv-card--pdp .nv-card__hint,
.nv-card__hint {
  margin-top: 9px;
  color: var(--norven-text-subtle);
  font-size: 11px;
  line-height: 1.35;
}

.home .nv-card--home .nv-card__action,
.post-type-archive-product .nv-card--shop .nv-card__action,
.tax-product_cat .nv-card--shop .nv-card__action,
.single-product .nv-card--pdp .nv-card__action,
.nv-card__action {
  min-height: var(--norven-button-height);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 14px;
  border: var(--norven-border-width) solid var(--norven-border);
  border-radius: var(--norven-radius-sm);
  background: transparent;
  color: var(--norven-text);
  font-family: var(--norven-font-sans);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.2;
  text-decoration: none;
}

.home .nv-card--home .nv-card__action:hover,
.post-type-archive-product .nv-card--shop .nv-card__action:hover,
.tax-product_cat .nv-card--shop .nv-card__action:hover,
.single-product .nv-card--pdp .nv-card__action:hover,
.nv-card__action:hover {
  border-color: var(--norven-dark);
  background: var(--norven-dark);
  color: var(--norven-dark-text);
}

.nv-card__badge {
  min-height: 18px;
  display: inline-flex;
  align-items: center;
  border: var(--norven-border-width) solid rgba(39, 33, 28, .18);
  border-radius: var(--norven-radius-sm);
  background: rgba(255, 251, 244, .92);
  color: var(--norven-text);
  font-size: 9.5px;
  font-weight: 750;
  line-height: 1.3;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.nv-card.is-out-of-stock .nv-card__action {
  border-color: var(--norven-border);
  color: var(--norven-text-muted);
}

@media (max-width: 900px) {
  .home .nv-card--home,
  .post-type-archive-product .nv-card--shop,
  .tax-product_cat .nv-card--shop,
  .single-product .nv-card--pdp,
  .nv-card {
    border-radius: var(--norven-radius-sm);
  }

  .home .nv-card--home .nv-card__image img,
  .post-type-archive-product .nv-card--shop .nv-card__image img,
  .tax-product_cat .nv-card--shop .nv-card__image img,
  .single-product .nv-card--pdp .nv-card__image img,
  .nv-card__image img {
    padding: 10px;
  }

  .home .nv-card--home .nv-card__body,
  .post-type-archive-product .nv-card--shop .nv-card__body,
  .tax-product_cat .nv-card--shop .nv-card__body,
  .single-product .nv-card--pdp .nv-card__body,
  .nv-card__body {
    padding: 11px;
  }

  .nv-card__label {
    margin-bottom: 6px;
    font-size: 9px;
  }

  .home .nv-card--home .nv-card__title,
  .post-type-archive-product .nv-card--shop .nv-card__title,
  .tax-product_cat .nv-card--shop .nv-card__title,
  .single-product .nv-card--pdp .nv-card__title,
  .nv-card__title {
    min-height: 38px;
    font-size: 13px;
    line-height: 1.38;
  }

  .home .nv-card--home .nv-card__summary,
  .post-type-archive-product .nv-card--shop .nv-card__summary,
  .post-type-archive-product .nv-card--shop .nv-card__hint,
  .tax-product_cat .nv-card--shop .nv-card__summary,
  .tax-product_cat .nv-card--shop .nv-card__hint,
  .single-product .nv-card--pdp .nv-card__summary,
  .nv-card__summary {
    display: none;
  }

  .home .nv-card--home .nv-card__price,
  .post-type-archive-product .nv-card--shop .nv-card__price,
  .tax-product_cat .nv-card--shop .nv-card__price,
  .single-product .nv-card--pdp .nv-card__price,
  .nv-card__price {
    margin-top: 9px;
    font-size: 13px;
  }

  .home .nv-card--home .nv-card__action,
  .post-type-archive-product .nv-card--shop .nv-card__action,
  .tax-product_cat .nv-card--shop .nv-card__action,
  .single-product .nv-card--pdp .nv-card__action,
  .nv-card__action {
    min-height: 40px;
    margin-top: 10px;
    padding-inline: 8px;
    font-size: 11px;
    white-space: normal;
  }
}

/* Home desktop: Figma 1440w section-by-section rhythm. */
@media (min-width: 901px) {
  .home .nv-home-hero {
    min-height: 778px;
    height: calc(100vh - var(--norven-header-total-desktop));
    max-height: 820px;
    background: var(--norven-surface-muted);
  }

  .home .nv-home-hero__content {
    min-height: 778px;
    justify-content: center;
    padding-top: 0;
    padding-bottom: 38px;
  }

  .home .nv-home-hero h1 {
    max-width: 610px;
    font-size: 56px;
    line-height: 1.08;
  }

  .home .nv-home-hero p {
    max-width: 440px;
    font-size: 16px;
    line-height: 1.62;
  }

  .home .nv-home-hero__actions {
    margin-top: 30px;
  }

  .home .nv-trust {
    padding: 24px 0;
    border: 0;
    background: var(--norven-bg);
  }

  .home .nv-trust__grid {
    width: min(1145px, calc(100% - (var(--norven-page-padding-desktop) * 2)));
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: var(--norven-border-width) solid var(--norven-border);
    border-radius: var(--norven-radius-md);
    background: var(--norven-surface);
  }

  .home .nv-trust__item {
    min-height: 128px;
    padding: 28px 24px;
    border-right: var(--norven-border-width) solid var(--norven-border);
  }

  .home .nv-trust__item:last-child {
    border-right: 0;
  }

  .home .nv-trust__icon {
    display: none;
  }

  .home .nv-best-sellers {
    min-height: 1120px;
    padding-top: 80px;
    padding-bottom: 96px;
    background: var(--norven-bg);
  }

  .home .nv-best-sellers .nv-section__head {
    margin-bottom: 32px;
  }

  .home .nv-products--home {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
  }

  .home .nv-brand-intro {
    min-height: 362px;
    display: flex;
    align-items: center;
    padding-top: 80px;
    padding-bottom: 80px;
    border-top: var(--norven-border-width) solid var(--norven-border);
    border-bottom: var(--norven-border-width) solid var(--norven-border);
    background: var(--norven-surface);
  }

  .home .nv-brand-intro__inner {
    display: grid;
    grid-template-columns: minmax(180px, .26fr) minmax(0, .58fr) minmax(260px, .28fr);
    gap: 48px;
    align-items: start;
  }

  .home .nv-brand-intro h2 {
    max-width: 760px;
    margin: 0;
    color: var(--norven-text);
    font-family: var(--norven-font-serif);
    font-size: 34px;
    font-weight: 400;
    line-height: 1.2;
  }

  .home .nv-brand-intro p:last-child {
    max-width: 330px;
    margin: 4px 0 0;
    color: var(--norven-text-muted);
    font-size: 14px;
    line-height: 1.65;
  }

  .home .nv-story {
    padding-top: 96px;
    padding-bottom: 96px;
    background: var(--norven-bg);
  }

  .home .nv-story__inner {
    min-height: 633px;
    grid-template-columns: minmax(0, .62fr) minmax(360px, .38fr);
    gap: 64px;
  }

  .home .nv-story img {
    min-height: 633px;
    max-height: 633px;
    border-radius: var(--norven-radius-sm);
  }

  .home .nv-story__copy {
    max-width: 430px;
  }

  .home .nv-solutions-section {
    min-height: 729px;
    padding-top: 72px;
    padding-bottom: 96px;
    border-top: 0;
    background: var(--norven-surface);
  }

  .home .nv-solutions {
    gap: 16px;
    margin-top: 32px;
  }

  .home .nv-solution {
    min-height: 450px;
    border-radius: var(--norven-radius-sm);
  }

  .home .nv-solution img {
    min-height: 450px;
    padding: 22px;
  }

  .home .nv-setup {
    min-height: 760px;
    padding-top: 96px;
    padding-bottom: 96px;
    background: var(--norven-bg);
  }

  .home .nv-setup__inner {
    min-height: 520px;
    grid-template-columns: minmax(270px, .3fr) minmax(0, .48fr) minmax(250px, .22fr);
    padding: 48px;
    border-radius: var(--norven-radius-sm);
  }

  .home .nv-notes {
    min-height: 700px;
    padding-top: 86px;
    padding-bottom: 96px;
    background: var(--norven-bg);
    border-top: var(--norven-border-width) solid var(--norven-border);
  }

  .home .nv-notes__grid {
    gap: 32px;
    margin-top: 34px;
  }

  .home .nv-materials {
    min-height: 760px;
    padding-top: 88px;
    padding-bottom: 96px;
    border-top: var(--norven-border-width) solid var(--norven-border);
    background: var(--norven-surface);
  }

  .home .nv-materials__grid {
    display: grid;
    grid-template-columns: 1.1fr .7fr .7fr;
    grid-auto-rows: 210px;
    gap: 16px;
    margin-top: 32px;
  }

  .home .nv-materials__item {
    min-width: 0;
    min-height: 0;
    display: block;
    overflow: hidden;
    margin: 0;
    border: var(--norven-border-width) solid var(--norven-border);
    border-radius: var(--norven-radius-sm);
    background: var(--norven-surface-muted);
  }

  .home .nv-materials__item--large {
    grid-row: span 2;
  }

  .home .nv-materials__item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  }

  .home .nv-materials__item--product img {
    padding: 20px;
    object-fit: contain;
  }
}

@media (max-width: 900px) {
  .home .nv-brand-intro {
    padding-top: 56px;
    padding-bottom: 56px;
    border-top: var(--norven-border-width) solid var(--norven-border);
    border-bottom: var(--norven-border-width) solid var(--norven-border);
    background: var(--norven-surface);
  }

  .home .nv-brand-intro__inner {
    display: grid;
    gap: 16px;
  }

  .home .nv-brand-intro h2 {
    margin: 0;
    color: var(--norven-text);
    font-family: var(--norven-font-serif);
    font-size: var(--norven-type-h2);
    font-weight: 400;
    line-height: 1.16;
  }

  .home .nv-brand-intro p:last-child {
    margin: 0;
    color: var(--norven-text-muted);
    font-size: 14px;
    line-height: 1.6;
  }

  .home .nv-materials {
    padding-top: 56px;
    padding-bottom: 64px;
    border-top: var(--norven-border-width) solid var(--norven-border);
    background: var(--norven-surface);
  }

  .home .nv-materials__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 20px;
  }

  .home .nv-materials__item {
    min-height: 170px;
    overflow: hidden;
    margin: 0;
    border: var(--norven-border-width) solid var(--norven-border);
    border-radius: var(--norven-radius-sm);
    background: var(--norven-surface-muted);
  }

  .home .nv-materials__item--large {
    grid-column: 1 / -1;
    min-height: 260px;
  }

  .home .nv-materials__item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  }

  .home .nv-materials__item--product img {
    padding: 12px;
    object-fit: contain;
  }
}

/* Home mobile: Figma 390w section-by-section rhythm. */
@media (max-width: 900px) {
  .home main {
    background: var(--norven-bg);
  }

  .home .nv-home-hero {
    height: clamp(600px, 173vw, 676px);
    min-height: clamp(600px, 173vw, 676px);
  }

  .home .nv-home-hero__image {
    object-position: 58% center;
  }

  .home .nv-home-hero__overlay {
    background:
      linear-gradient(180deg, rgba(251, 247, 239, 0) 0%, rgba(251, 247, 239, .14) 42%, rgba(251, 247, 239, .96) 100%),
      linear-gradient(90deg, rgba(251, 247, 239, .34) 0%, rgba(251, 247, 239, .04) 68%);
  }

  .home .nv-home-hero__content {
    min-height: clamp(600px, 173vw, 676px);
    align-items: center;
    justify-content: flex-end;
    padding-bottom: 24px;
    text-align: center;
  }

  .home .nv-home-hero h1 {
    max-width: 340px;
    margin-inline: auto;
    font-size: 38px;
    line-height: 1.06;
  }

  .home .nv-home-hero p {
    max-width: 320px;
    margin-inline: auto;
    font-size: 14px;
    line-height: 1.56;
  }

  .home .nv-home-hero__actions {
    max-width: 358px;
    margin-inline: auto;
  }

  .home .nv-trust {
    padding: 16px 0 0;
    background: var(--norven-bg);
  }

  .home .nv-trust__grid {
    width: calc(100% - (var(--norven-page-padding-mobile) * 2));
    min-height: 92px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
    border: var(--norven-border-width) solid var(--norven-border);
    border-radius: var(--norven-radius-md);
    background: var(--norven-surface);
    padding: 0;
  }

  .home .nv-trust__item {
    min-height: 92px;
    padding: 14px 12px;
    border-right: var(--norven-border-width) solid var(--norven-border);
  }

  .home .nv-trust__item:nth-child(n+3) {
    display: none;
  }

  .home .nv-trust strong {
    max-width: 11em;
    font-size: 12px;
    line-height: 1.35;
  }

  .home .nv-best-sellers {
    min-height: 874px;
    padding-top: 56px;
    padding-bottom: 16px;
  }

  .home .nv-section__head {
    margin-bottom: 20px;
  }

  .home .nv-section__heading,
  .home .nv-brand-intro h2,
  .home .nv-setup h2,
  .home .nv-story h2 {
    font-size: 26px;
    line-height: 1.16;
  }

  .home .nv-products--home {
    gap: 10px;
  }

  .home .nv-brand-intro {
    min-height: 258px;
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .home .nv-brand-intro__inner {
    gap: 14px;
  }

  .home .nv-brand-intro p:last-child {
    max-width: 330px;
  }

  .home .nv-story {
    min-height: 923px;
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .home .nv-story__inner {
    gap: 24px;
  }

  .home .nv-story img {
    min-height: 520px;
    aspect-ratio: auto;
    object-fit: cover;
  }

  .home .nv-story__copy {
    max-width: 330px;
  }

  .home .nv-solutions-section {
    min-height: 1247px;
    padding-top: 23px;
    padding-bottom: 40px;
  }

  .home .nv-solutions {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 22px;
  }

  .home .nv-solution {
    min-height: 274px;
    border-radius: var(--norven-radius-sm);
  }

  .home .nv-solution img {
    min-height: 274px;
    padding: 18px;
  }

  .home .nv-setup {
    min-height: 1011px;
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .home .nv-setup__inner {
    gap: 20px;
    padding: 24px 16px;
  }

  .home .nv-setup__products {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .home .nv-setup__product {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    column-gap: 12px;
    align-items: center;
    text-align: left;
  }

  .home .nv-setup__product img {
    grid-row: span 2;
  }

  .home .nv-setup__product span,
  .home .nv-setup__product strong {
    margin: 0;
  }

  .home .nv-notes {
    min-height: 1620px;
    padding-top: 72px;
    padding-bottom: 160px;
  }

  .home .nv-notes__grid {
    gap: 30px;
  }

  .home .nv-note img {
    min-height: 290px;
    object-fit: cover;
  }

  .home .nv-materials {
    min-height: 1375px;
    padding-top: 64px;
    padding-bottom: 74px;
    background: var(--norven-surface);
  }

  .home .nv-materials__grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .home .nv-materials__item,
  .home .nv-materials__item--large {
    grid-column: auto;
    min-height: 205px;
  }

  .home .nv-materials__item--large {
    min-height: 360px;
  }
}

/* Shop desktop: Figma-derived collection rhythm. */
@media (min-width: 901px) {
  .post-type-archive-product .nv-shop-hero,
  .tax-product_cat .nv-shop-hero {
    min-height: 258px;
    background: var(--norven-bg);
    border-bottom: var(--norven-border-width) solid var(--norven-border);
  }

  .post-type-archive-product .nv-shop-hero img,
  .tax-product_cat .nv-shop-hero img {
    display: none;
  }

  .post-type-archive-product .nv-shop-hero__overlay,
  .tax-product_cat .nv-shop-hero__overlay {
    display: none;
  }

  .post-type-archive-product .nv-shop-hero__inner,
  .tax-product_cat .nv-shop-hero__inner {
    min-height: 258px;
    justify-content: center;
    padding-top: 38px;
    padding-bottom: 38px;
  }

  .post-type-archive-product .nv-shop-hero h1,
  .tax-product_cat .nv-shop-hero h1 {
    max-width: 760px;
    margin-top: 14px;
    color: var(--norven-text);
    font-family: var(--norven-font-serif);
    font-size: 42px;
    font-weight: 400;
    line-height: 1.14;
  }

  .post-type-archive-product .nv-shop-hero p,
  .tax-product_cat .nv-shop-hero p {
    max-width: 520px;
    margin-top: 14px;
    color: var(--norven-text-muted);
    font-size: 15px;
    line-height: 1.62;
  }

  .post-type-archive-product .nv-category-pills,
  .tax-product_cat .nv-category-pills {
    background: var(--norven-bg);
    border-bottom: var(--norven-border-width) solid var(--norven-border);
  }

  .post-type-archive-product .nv-category-pills__inner,
  .tax-product_cat .nv-category-pills__inner {
    width: calc(100% - (var(--norven-page-padding-desktop) * 2));
    max-width: var(--norven-container-max);
    min-height: 64px;
    gap: 8px;
    padding: 0;
  }

  .post-type-archive-product .nv-category-pills a,
  .tax-product_cat .nv-category-pills a {
    min-height: 34px;
    border-radius: var(--norven-radius-sm);
    background: transparent;
    color: var(--norven-text-muted);
    font-size: 12px;
    font-weight: 700;
  }

  .post-type-archive-product .nv-category-pills a.is-active,
  .tax-product_cat .nv-category-pills a.is-active,
  .post-type-archive-product .nv-category-pills a:hover,
  .tax-product_cat .nv-category-pills a:hover {
    border-color: var(--norven-border);
    background: var(--norven-surface);
    color: var(--norven-text);
  }

  .post-type-archive-product .nv-shop,
  .tax-product_cat .nv-shop {
    padding-top: 32px;
    padding-bottom: 88px;
    background: var(--norven-bg);
  }

  .post-type-archive-product .nv-shop__layout,
  .tax-product_cat .nv-shop__layout,
  .post-type-archive-product .nv-shop--few-products .nv-shop__layout,
  .tax-product_cat .nv-shop--few-products .nv-shop__layout {
    display: block;
  }

  .post-type-archive-product .nv-shop__sidebar,
  .tax-product_cat .nv-shop__sidebar,
  .post-type-archive-product .nv-shop--few-products .nv-shop__sidebar,
  .tax-product_cat .nv-shop--few-products .nv-shop__sidebar {
    position: static;
    display: block;
    margin-bottom: 24px;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .post-type-archive-product .nv-filter-form--desktop,
  .tax-product_cat .nv-filter-form--desktop {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(170px, .72fr);
    gap: 0;
    overflow: hidden;
    border: var(--norven-border-width) solid var(--norven-border);
    border-radius: var(--norven-radius-sm);
    background: var(--norven-surface);
  }

  .post-type-archive-product .nv-filter-group,
  .tax-product_cat .nv-filter-group {
    min-height: 118px;
    padding: 18px 18px 16px;
    border-right: var(--norven-border-width) solid var(--norven-border);
    border-bottom: 0;
  }

  .post-type-archive-product .nv-filter-group h2,
  .tax-product_cat .nv-filter-group h2 {
    margin-bottom: 10px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: .04em;
  }

  .post-type-archive-product .nv-check,
  .tax-product_cat .nv-check {
    min-height: 28px;
    gap: 8px;
    font-size: 12px;
    line-height: 1.35;
  }

  .post-type-archive-product .nv-check input,
  .tax-product_cat .nv-check input {
    width: 14px;
    height: 14px;
  }

  .post-type-archive-product .nv-price-filter,
  .tax-product_cat .nv-price-filter {
    gap: 8px;
  }

  .post-type-archive-product .nv-price-filter input,
  .tax-product_cat .nv-price-filter input {
    min-height: 38px;
    border-color: var(--norven-border);
    border-radius: var(--norven-radius-sm);
    background: var(--norven-bg);
  }

  .post-type-archive-product .nv-filter-actions,
  .tax-product_cat .nv-filter-actions {
    align-content: center;
    padding: 18px;
  }

  .post-type-archive-product .nv-filter-actions .nv-button,
  .tax-product_cat .nv-filter-actions .nv-button {
    min-height: 42px;
    border-radius: var(--norven-radius-sm);
    font-size: 12px;
  }

  .post-type-archive-product .nv-filter-actions a,
  .tax-product_cat .nv-filter-actions a {
    justify-self: center;
    font-size: 12px;
  }

  .post-type-archive-product .nv-shop__toolbar,
  .tax-product_cat .nv-shop__toolbar,
  .post-type-archive-product .nv-shop--few-products .nv-shop__toolbar,
  .tax-product_cat .nv-shop--few-products .nv-shop__toolbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
    padding-bottom: 18px;
    border-bottom: var(--norven-border-width) solid var(--norven-border);
  }

  .post-type-archive-product .nv-shop__count,
  .tax-product_cat .nv-shop__count {
    color: var(--norven-text-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
  }

  .post-type-archive-product .nv-active-filters,
  .tax-product_cat .nv-active-filters {
    margin-top: 10px;
  }

  .post-type-archive-product .nv-active-filters a,
  .tax-product_cat .nv-active-filters a {
    min-height: 30px;
    border-radius: var(--norven-radius-sm);
    background: var(--norven-surface);
    font-size: 11px;
  }

  .post-type-archive-product .nv-shop__actions,
  .tax-product_cat .nv-shop__actions {
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .post-type-archive-product .nv-filter-toggle,
  .tax-product_cat .nv-filter-toggle {
    display: none;
  }

  .post-type-archive-product .nv-sort,
  .tax-product_cat .nv-sort {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .post-type-archive-product .nv-sort label,
  .tax-product_cat .nv-sort label {
    color: var(--norven-text-muted);
    font-size: 12px;
    font-weight: 700;
  }

  .post-type-archive-product .nv-sort select,
  .tax-product_cat .nv-sort select {
    min-width: 190px;
    min-height: 42px;
    border-radius: var(--norven-radius-sm);
    background: var(--norven-surface);
    font-size: 12px;
  }

  .post-type-archive-product .nv-products--shop,
  .tax-product_cat .nv-products--shop,
  .tax-product_cat .nv-shop--few-products .nv-products--shop {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--norven-grid-gap-desktop);
  }

  .post-type-archive-product .nv-card--shop .nv-card__summary,
  .tax-product_cat .nv-card--shop .nv-card__summary {
    display: none;
  }

  .post-type-archive-product .woocommerce-pagination,
  .tax-product_cat .woocommerce-pagination {
    margin-top: 44px;
    padding-top: 24px;
    border-top: var(--norven-border-width) solid var(--norven-border);
  }

  .post-type-archive-product .woocommerce-pagination ul,
  .tax-product_cat .woocommerce-pagination ul {
    justify-content: center;
    gap: 8px;
  }

  .post-type-archive-product .woocommerce-pagination a,
  .post-type-archive-product .woocommerce-pagination span,
  .tax-product_cat .woocommerce-pagination a,
  .tax-product_cat .woocommerce-pagination span {
    min-width: 38px;
    min-height: 38px;
    border-radius: var(--norven-radius-sm);
    font-size: 12px;
  }

  .post-type-archive-product .nv-shop-trust,
  .tax-product_cat .nv-shop-trust {
    border-top: var(--norven-border-width) solid var(--norven-border);
    background: var(--norven-surface);
  }

  .post-type-archive-product .nv-shop-trust__grid,
  .tax-product_cat .nv-shop-trust__grid {
    width: calc(100% - (var(--norven-page-padding-desktop) * 2));
    max-width: var(--norven-container-max);
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Shop mobile: 390w collection controls and two-column grid. */
@media (max-width: 900px) {
  .post-type-archive-product .nv-shop-hero,
  .tax-product_cat .nv-shop-hero {
    min-height: 214px;
    background: var(--norven-bg);
    border-bottom: var(--norven-border-width) solid var(--norven-border);
  }

  .post-type-archive-product .nv-shop-hero img,
  .tax-product_cat .nv-shop-hero img,
  .post-type-archive-product .nv-shop-hero__overlay,
  .tax-product_cat .nv-shop-hero__overlay {
    display: none;
  }

  .post-type-archive-product .nv-shop-hero__inner,
  .tax-product_cat .nv-shop-hero__inner {
    min-height: 214px;
    justify-content: center;
    padding-top: 28px;
    padding-bottom: 28px;
  }

  .post-type-archive-product .nv-shop-hero h1,
  .tax-product_cat .nv-shop-hero h1 {
    max-width: 340px;
    margin-top: 12px;
    color: var(--norven-text);
    font-family: var(--norven-font-serif);
    font-size: 30px;
    font-weight: 400;
    line-height: 1.12;
  }

  .post-type-archive-product .nv-shop-hero p,
  .tax-product_cat .nv-shop-hero p {
    max-width: 330px;
    margin-top: 10px;
    color: var(--norven-text-muted);
    font-size: 14px;
    line-height: 1.55;
  }

  .post-type-archive-product .nv-category-pills,
  .tax-product_cat .nv-category-pills {
    background: var(--norven-bg);
    border-bottom: var(--norven-border-width) solid var(--norven-border);
  }

  .post-type-archive-product .nv-category-pills__inner,
  .tax-product_cat .nv-category-pills__inner {
    width: calc(100% - (var(--norven-page-padding-mobile) * 2));
    min-height: 52px;
    gap: 8px;
    padding: 0;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .post-type-archive-product .nv-category-pills__inner::-webkit-scrollbar,
  .tax-product_cat .nv-category-pills__inner::-webkit-scrollbar {
    display: none;
  }

  .post-type-archive-product .nv-category-pills a,
  .tax-product_cat .nv-category-pills a {
    min-height: 34px;
    flex: 0 0 auto;
    border-radius: var(--norven-radius-sm);
    background: var(--norven-surface);
    font-size: 12px;
    white-space: nowrap;
  }

  .post-type-archive-product .nv-shop,
  .tax-product_cat .nv-shop {
    padding-top: 24px;
    padding-bottom: 54px;
    background: var(--norven-bg);
  }

  .post-type-archive-product .nv-shop__toolbar,
  .tax-product_cat .nv-shop__toolbar {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: var(--norven-border-width) solid var(--norven-border);
  }

  .post-type-archive-product .nv-shop__count,
  .tax-product_cat .nv-shop__count {
    color: var(--norven-text-muted);
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
  }

  .post-type-archive-product .nv-active-filters,
  .tax-product_cat .nv-active-filters {
    gap: 6px;
    margin-top: 10px;
  }

  .post-type-archive-product .nv-active-filters a,
  .tax-product_cat .nv-active-filters a {
    min-height: 30px;
    border-radius: var(--norven-radius-sm);
    background: var(--norven-surface);
    font-size: 11px;
  }

  .post-type-archive-product .nv-shop__actions,
  .tax-product_cat .nv-shop__actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
  }

  .post-type-archive-product .nv-filter-toggle,
  .tax-product_cat .nv-filter-toggle,
  .post-type-archive-product .nv-sort select,
  .tax-product_cat .nv-sort select {
    min-height: 44px;
    width: 100%;
    border: var(--norven-border-width) solid var(--norven-border);
    border-radius: var(--norven-radius-sm);
    background: var(--norven-surface);
    color: var(--norven-text);
    font-size: 12px;
    font-weight: 750;
  }

  .post-type-archive-product .nv-sort,
  .tax-product_cat .nv-sort {
    display: block;
  }

  .post-type-archive-product .nv-sort label,
  .tax-product_cat .nv-sort label {
    display: none;
  }

  .post-type-archive-product .nv-products--shop,
  .tax-product_cat .nv-products--shop,
  .tax-product_cat .nv-shop--few-products .nv-products--shop {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--norven-grid-gap-mobile);
  }

  .post-type-archive-product .nv-card--shop,
  .tax-product_cat .nv-card--shop {
    border-radius: var(--norven-radius-sm);
  }

  .post-type-archive-product .nv-card--shop .nv-card__image,
  .tax-product_cat .nv-card--shop .nv-card__image {
    aspect-ratio: 1 / 1;
  }

  .post-type-archive-product .nv-card--shop .nv-card__body,
  .tax-product_cat .nv-card--shop .nv-card__body {
    padding: 10px;
  }

  .post-type-archive-product .nv-card--shop .nv-card__label,
  .tax-product_cat .nv-card--shop .nv-card__label {
    font-size: 9px;
  }

  .post-type-archive-product .nv-card--shop .nv-card__title,
  .tax-product_cat .nv-card--shop .nv-card__title {
    min-height: 38px;
    font-size: 13px;
    line-height: 1.38;
  }

  .post-type-archive-product .nv-card--shop .nv-card__price,
  .tax-product_cat .nv-card--shop .nv-card__price {
    margin-top: 9px;
    font-size: 13px;
  }

  .post-type-archive-product .nv-card--shop .nv-card__action,
  .tax-product_cat .nv-card--shop .nv-card__action {
    min-height: 40px;
    margin-top: 10px;
    padding-inline: 8px;
    font-size: 11px;
  }

  .nv-filter-drawer {
    z-index: 120;
  }

  .nv-filter-drawer__overlay {
    background: rgba(37, 42, 40, .36);
  }

  .nv-filter-drawer__panel {
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-height: 88svh;
    padding: 16px;
    border-top: var(--norven-border-width) solid var(--norven-border);
    border-radius: var(--norven-radius-md) var(--norven-radius-md) 0 0;
    background: var(--norven-surface);
  }

  .nv-filter-drawer__head {
    min-height: 48px;
    margin-bottom: 12px;
    border-bottom: var(--norven-border-width) solid var(--norven-border);
  }

  .nv-filter-drawer__head strong {
    color: var(--norven-text);
    font-family: var(--norven-font-serif);
    font-size: 20px;
    font-weight: 400;
  }

  .nv-filter-drawer__head button {
    width: 44px;
    min-height: 44px;
    border: 0;
    background: transparent;
    color: var(--norven-text);
  }

  .nv-filter-form--mobile {
    gap: 0;
  }

  .nv-filter-form--mobile .nv-filter-group {
    padding: 18px 0;
    border-bottom: var(--norven-border-width) solid var(--norven-border);
  }

  .nv-filter-form--mobile .nv-filter-group h2 {
    margin-bottom: 10px;
    color: var(--norven-text);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
  }

  .nv-filter-form--mobile .nv-check {
    min-height: 40px;
    font-size: 13px;
  }

  .nv-filter-form--mobile .nv-price-filter input {
    min-height: 42px;
    border-color: var(--norven-border);
    border-radius: var(--norven-radius-sm);
    background: var(--norven-bg);
  }

  .nv-filter-form--mobile .nv-filter-actions {
    position: sticky;
    bottom: -16px;
    margin: 0 -16px;
    padding: 14px 16px 16px;
    border-top: var(--norven-border-width) solid var(--norven-border);
    background: var(--norven-surface);
  }

  .nv-filter-form--mobile .nv-filter-actions .nv-button {
    min-height: 48px;
    border-radius: var(--norven-radius-sm);
  }

  .post-type-archive-product .woocommerce-pagination,
  .tax-product_cat .woocommerce-pagination {
    margin-top: 34px;
    padding-top: 22px;
    border-top: var(--norven-border-width) solid var(--norven-border);
  }

  .post-type-archive-product .woocommerce-pagination ul,
  .tax-product_cat .woocommerce-pagination ul {
    gap: 6px;
  }

  .post-type-archive-product .woocommerce-pagination a,
  .post-type-archive-product .woocommerce-pagination span,
  .tax-product_cat .woocommerce-pagination a,
  .tax-product_cat .woocommerce-pagination span {
    min-width: 38px;
    min-height: 38px;
    border-radius: var(--norven-radius-sm);
    font-size: 12px;
  }

  .post-type-archive-product .nv-shop-trust,
  .tax-product_cat .nv-shop-trust {
    padding-bottom: 44px;
    background: var(--norven-bg);
  }

  .post-type-archive-product .nv-shop-trust__grid,
  .tax-product_cat .nv-shop-trust__grid {
    width: calc(100% - (var(--norven-page-padding-mobile) * 2));
    grid-template-columns: 1fr;
    border-radius: var(--norven-radius-sm);
  }

  .post-type-archive-product .nv-shop-trust__grid div,
  .tax-product_cat .nv-shop-trust__grid div {
    min-height: 74px;
    padding: 14px 16px;
    border-right: 0;
    border-bottom: var(--norven-border-width) solid var(--norven-border);
  }

  .post-type-archive-product .nv-shop-trust__grid div:last-child,
  .tax-product_cat .nv-shop-trust__grid div:last-child {
    border-bottom: 0;
  }
}

/* PDP desktop and mobile: inferred from Figma commerce system. */
@media (min-width: 901px) {
  .single-product .nv-pdp {
    padding-top: 32px;
    background: var(--norven-bg);
  }

  .single-product .nv-pdp__breadcrumb {
    margin-bottom: 24px;
    color: var(--norven-text-muted);
    font-size: 12px;
  }

  .single-product .nv-pdp__grid {
    display: grid;
    grid-template-columns: minmax(0, .58fr) minmax(392px, .42fr);
    gap: 48px;
    align-items: start;
  }

  .single-product .nv-gallery {
    position: sticky;
    top: calc(var(--norven-header-total-desktop) + 24px);
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 16px;
  }

  .single-product .nv-gallery__thumbs {
    display: grid;
    gap: 10px;
  }

  .single-product .nv-gallery__thumb {
    width: 84px;
    height: 84px;
    border: var(--norven-border-width) solid var(--norven-border);
    border-radius: var(--norven-radius-sm);
    background: var(--norven-surface);
  }

  .single-product .nv-gallery__thumb.is-active {
    border-color: var(--norven-dark);
  }

  .single-product .nv-gallery__thumb img {
    width: 100%;
    height: 100%;
    padding: 8px;
    object-fit: contain;
  }

  .single-product .nv-gallery__main {
    min-height: 0;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border: var(--norven-border-width) solid var(--norven-border);
    border-radius: var(--norven-radius-sm);
    background: var(--norven-surface-muted);
  }

  .single-product .nv-gallery__main img {
    width: 100%;
    height: 100%;
    padding: 28px;
    object-fit: contain;
  }

  .single-product .nv-pdp__summary {
    position: sticky;
    top: calc(var(--norven-header-total-desktop) + 24px);
    padding: 28px;
    border: var(--norven-border-width) solid var(--norven-border);
    border-radius: var(--norven-radius-sm);
    background: var(--norven-surface);
    box-shadow: none;
  }

  .single-product .nv-product-vendor {
    color: var(--norven-text-subtle);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
  }

  .single-product .nv-product-title {
    max-width: 560px;
    margin: 10px 0 0;
    color: var(--norven-text);
    font-family: var(--norven-font-serif);
    font-size: 38px;
    font-weight: 400;
    line-height: 1.16;
  }

  .single-product .nv-subheading {
    max-width: 520px;
    margin-top: 14px;
    color: var(--norven-text-muted);
    font-size: 15px;
    line-height: 1.62;
  }

  .single-product .nv-rating-summary {
    margin-top: 16px;
    color: var(--norven-text-muted);
    font-size: 12px;
  }

  .single-product .nv-price {
    margin: 20px 0 0;
    color: var(--norven-text);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.35;
  }

  .single-product .nv-pdp__form {
    margin-top: 22px;
    padding-top: 20px;
    border-top: var(--norven-border-width) solid var(--norven-border);
  }

  .single-product .nv-pdp form.cart {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 12px;
  }

  .single-product .nv-pdp .variations {
    grid-column: 1 / -1;
    margin-bottom: 4px;
  }

  .single-product .nv-pdp .variations tr {
    margin-bottom: 14px;
  }

  .single-product .nv-pdp .variations label {
    margin-bottom: 8px;
    color: var(--norven-text);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
  }

  .single-product .nv-pdp select,
  .single-product .nv-pdp .quantity input.qty,
  .single-product .nv-variation-pill {
    min-height: 44px;
    border: var(--norven-border-width) solid var(--norven-border);
    border-radius: var(--norven-radius-sm);
    background: var(--norven-surface);
    color: var(--norven-text);
    font-size: 13px;
  }

  .single-product .nv-variation-pill.is-active {
    border-color: var(--norven-dark);
    background: var(--norven-dark);
    color: var(--norven-dark-text);
  }

  .single-product .nv-pdp .quantity input.qty {
    width: 92px;
    text-align: center;
  }

  .single-product .nv-pdp .single_add_to_cart_button {
    width: 100%;
    min-height: var(--norven-button-height);
    border-radius: var(--norven-radius-sm);
    background: var(--norven-dark);
    color: var(--norven-dark-text);
    font-size: 13px;
    font-weight: 800;
  }

  .single-product .nv-pdp-trust {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 20px;
    border-top: var(--norven-border-width) solid var(--norven-border);
    border-bottom: 0;
  }

  .single-product .nv-pdp-trust div {
    min-height: 44px;
    padding: 12px 0;
    border-bottom: var(--norven-border-width) solid var(--norven-border);
    color: var(--norven-text-muted);
    font-size: 12px;
  }

  .single-product .nv-bullets {
    margin-top: 18px;
  }

  .single-product .nv-pdp-setup,
  .single-product .nv-pdp-details,
  .single-product .nv-pdp-faq,
  .single-product .nv-reviews,
  .single-product .nv-related {
    padding-top: 82px;
    padding-bottom: 82px;
  }

  .single-product .nv-pdp-details {
    border-top: var(--norven-border-width) solid var(--norven-border);
    border-bottom: var(--norven-border-width) solid var(--norven-border);
    background: var(--norven-surface);
  }

  .single-product .nv-pdp-details__grid {
    grid-template-columns: minmax(0, .55fr) minmax(360px, .45fr);
    gap: 56px;
  }

  .single-product .nv-pdp-story h2,
  .single-product .nv-section__heading {
    color: var(--norven-text);
    font-family: var(--norven-font-serif);
    font-size: 32px;
    font-weight: 400;
    line-height: 1.18;
  }

  .single-product .nv-pdp-specs details,
  .single-product .nv-pdp-faq details {
    border-color: var(--norven-border);
    border-radius: 0;
  }

  .single-product .nv-pdp-specs summary,
  .single-product .nv-pdp-faq summary {
    min-height: 56px;
    color: var(--norven-text);
    font-size: 14px;
  }

  .single-product .nv-pdp-setup .nv-products--pdp,
  .single-product .nv-related .nv-products--pdp {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--norven-grid-gap-desktop);
  }
}

@media (max-width: 900px) {
  .single-product .nv-pdp {
    padding-top: 16px;
    padding-bottom: 96px;
    background: var(--norven-bg);
  }

  .single-product .nv-pdp__breadcrumb {
    margin-bottom: 12px;
    overflow: hidden;
    color: var(--norven-text-muted);
    font-size: 12px;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .single-product .nv-pdp__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .single-product .nv-gallery {
    position: static;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .single-product .nv-gallery__main {
    order: 1;
    aspect-ratio: 1 / 1;
    border: var(--norven-border-width) solid var(--norven-border);
    border-radius: var(--norven-radius-sm);
    background: var(--norven-surface-muted);
  }

  .single-product .nv-gallery__main img {
    width: 100%;
    height: 100%;
    padding: 18px;
    object-fit: contain;
  }

  .single-product .nv-gallery__thumbs {
    order: 2;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .single-product .nv-gallery__thumbs::-webkit-scrollbar {
    display: none;
  }

  .single-product .nv-gallery__thumb {
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
    border: var(--norven-border-width) solid var(--norven-border);
    border-radius: var(--norven-radius-sm);
    background: var(--norven-surface);
  }

  .single-product .nv-gallery__thumb img {
    width: 100%;
    height: 100%;
    padding: 6px;
    object-fit: contain;
  }

  .single-product .nv-pdp__summary {
    padding: 0;
    border: 0;
    background: transparent;
  }

  .single-product .nv-product-vendor {
    font-size: 10px;
    letter-spacing: .04em;
  }

  .single-product .nv-product-title {
    margin-top: 8px;
    font-family: var(--norven-font-serif);
    font-size: 30px;
    font-weight: 400;
    line-height: 1.14;
  }

  .single-product .nv-price {
    margin-top: 16px;
    font-size: 18px;
  }

  .single-product .nv-pdp__form {
    margin-top: 18px;
    padding: 16px;
    border: var(--norven-border-width) solid var(--norven-border);
    border-radius: var(--norven-radius-sm);
    background: var(--norven-surface);
  }

  .single-product .nv-pdp form.cart {
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 10px;
  }

  .single-product .nv-pdp .variations {
    grid-column: 1 / -1;
  }

  .single-product .nv-pdp select,
  .single-product .nv-pdp .quantity input.qty,
  .single-product .nv-variation-pill,
  .single-product .nv-pdp .single_add_to_cart_button {
    min-height: 48px;
    border-radius: var(--norven-radius-sm);
  }

  .single-product .nv-pdp .quantity input.qty,
  .single-product .nv-pdp .single_add_to_cart_button {
    width: 100%;
  }

  .single-product .nv-pdp-trust {
    margin-top: 16px;
  }

  .single-product .nv-pdp-setup,
  .single-product .nv-pdp-details,
  .single-product .nv-pdp-faq,
  .single-product .nv-reviews,
  .single-product .nv-related {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .single-product .nv-pdp-details__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .single-product .nv-pdp-story__image img {
    min-height: 260px;
    border-radius: var(--norven-radius-sm);
  }

  .single-product .nv-pdp-specs summary,
  .single-product .nv-pdp-faq summary {
    min-height: 54px;
    font-size: 14px;
  }

  .single-product .nv-pdp-setup .nv-products--pdp,
  .single-product .nv-related .nv-products--pdp {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--norven-grid-gap-mobile);
  }

  .single-product .nv-sticky-atc {
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 80;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
    border-top: var(--norven-border-width) solid var(--norven-border);
    background: rgba(255, 251, 244, .97);
    backdrop-filter: blur(10px);
  }

  .single-product .nv-sticky-atc strong,
  .single-product .nv-sticky-atc span {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .single-product .nv-sticky-atc .nv-button {
    min-height: 44px;
    border-radius: var(--norven-radius-sm);
    padding-inline: 14px;
    font-size: 12px;
  }
}

/* Cart and checkout: WooCommerce-controlled visual alignment only. */
.nv-page--commerce {
  padding: 56px 0 72px;
  background: var(--norven-bg);
}

.nv-page--commerce .nv-page__header {
  max-width: 920px;
  margin: 0 auto 28px;
  text-align: left;
}

.nv-page--commerce .nv-page__title {
  margin: 10px 0 0;
  color: var(--norven-text);
  font-family: var(--norven-font-serif);
  font-size: var(--norven-type-h1);
  font-weight: 400;
  line-height: var(--norven-line-tight);
}

.nv-page--commerce .nv-page__content {
  max-width: 1180px;
  margin-inline: auto;
}

.woocommerce-cart-form,
.cart_totals,
.checkout_coupon,
.woocommerce-checkout #customer_details,
.woocommerce-checkout-review-order,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wc-block-cart-items,
.wc-block-components-sidebar,
.wc-block-checkout__main,
.wc-block-checkout__sidebar,
.wc-block-components-panel,
.wc-block-components-order-summary {
  border-color: var(--norven-border) !important;
  border-radius: var(--norven-radius-md);
  background: var(--norven-commerce-panel);
  box-shadow: none;
}

.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-proceed-to-checkout .checkout-button,
.woocommerce-checkout-payment #place_order {
  min-height: var(--norven-button-height);
  border-radius: var(--norven-radius-sm) !important;
  background: var(--norven-dark) !important;
  color: var(--norven-dark-text) !important;
  font-family: var(--norven-font-sans);
  font-size: 13px;
  font-weight: 800;
}

.wc-block-components-text-input input,
.wc-block-components-combobox-control input,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  min-height: 46px;
  border-color: var(--norven-border) !important;
  border-radius: var(--norven-radius-sm) !important;
  background: var(--norven-surface) !important;
  color: var(--norven-text);
}

.wc-block-components-product-name,
.wc-block-cart-item__product .wc-block-components-product-name,
.woocommerce-cart-form .product-name,
.woocommerce-checkout-review-order-table .product-name {
  color: var(--norven-text);
  font-family: var(--norven-font-sans);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}

.wc-block-components-product-price,
.wc-block-cart-item__prices,
.wc-block-components-totals-item__value,
.cart_totals .shop_table td,
.woocommerce-checkout-review-order-table td {
  color: var(--norven-text);
  font-weight: 700;
}

.wc-block-components-sidebar,
.cart_totals,
.woocommerce-checkout-review-order {
  position: sticky;
  top: 132px;
}

@media (max-width: 900px) {
  .nv-page--commerce {
    padding: 32px 0 48px;
  }

  .nv-page--commerce .nv-page__header {
    margin-bottom: 20px;
  }

  .nv-page--commerce .nv-page__title {
    font-size: var(--norven-type-h1);
  }

  .wc-block-components-sidebar,
  .cart_totals,
  .woocommerce-checkout-review-order {
    position: static;
  }

  .wc-block-cart-items,
  .wc-block-components-sidebar,
  .wc-block-checkout__main,
  .wc-block-checkout__sidebar,
  .woocommerce-cart-form,
  .cart_totals,
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout-review-order {
    border-radius: var(--norven-radius-md);
  }

  .wc-block-cart-items__row {
    padding: 14px 0;
  }

  .wc-block-components-product-name,
  .woocommerce-cart-form .product-name {
    font-size: 13.5px;
  }
}

/* Cart and checkout final overflow-safe alignment. */
.woocommerce-cart,
.woocommerce-checkout,
.nv-page--commerce {
  background: var(--norven-bg);
}

.nv-page--commerce .nv-container,
.woocommerce-cart .nv-container,
.woocommerce-checkout .nv-container {
  width: calc(100% - (var(--norven-page-padding-desktop) * 2));
  max-width: var(--norven-container-max);
}

.nv-page--commerce .nv-page__content,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
  min-width: 0;
}

.woocommerce-cart-form,
.cart_totals,
.checkout_coupon,
.woocommerce-checkout #customer_details,
.woocommerce-checkout-review-order,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wc-block-cart-items,
.wc-block-components-sidebar,
.wc-block-checkout__main,
.wc-block-checkout__sidebar,
.wc-block-components-panel,
.wc-block-components-order-summary {
  border: var(--norven-border-width) solid var(--norven-border) !important;
  border-radius: var(--norven-radius-sm);
  background: var(--norven-surface);
  box-shadow: none;
}

.woocommerce-cart-form,
.woocommerce-checkout #customer_details,
.woocommerce-checkout-review-order,
.wc-block-components-sidebar,
.wc-block-checkout__main,
.wc-block-checkout__sidebar {
  padding: 22px;
}

.shop_table,
.woocommerce-cart-form table,
.woocommerce-checkout-review-order-table,
.wc-block-cart-items,
.wc-block-components-sidebar {
  max-width: 100%;
}

.shop_table th,
.shop_table td,
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  border-color: var(--norven-border);
}

.wc-block-components-product-name,
.wc-block-cart-item__product .wc-block-components-product-name,
.woocommerce-cart-form .product-name,
.woocommerce-cart-form .product-name a,
.woocommerce-checkout-review-order-table .product-name {
  overflow-wrap: anywhere;
  color: var(--norven-text);
}

.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-proceed-to-checkout .checkout-button,
.woocommerce-checkout-payment #place_order,
.woocommerce-cart-form button,
.woocommerce-cart .return-to-shop .button,
.woocommerce-empty-cart .return-to-shop .button {
  min-height: var(--norven-button-height);
  border-radius: var(--norven-radius-sm) !important;
}

.wc-block-components-sidebar,
.cart_totals,
.woocommerce-checkout-review-order {
  position: sticky;
  top: calc(var(--norven-header-total-desktop) + 24px);
}

.wc-block-components-sidebar-layout .wc-block-components-main {
  min-width: 0;
}

@media (max-width: 900px) {
  .nv-page--commerce {
    padding-top: 32px;
    padding-bottom: 48px;
  }

  .nv-page--commerce .nv-container,
  .woocommerce-cart .nv-container,
  .woocommerce-checkout .nv-container {
    width: calc(100% - (var(--norven-page-padding-mobile) * 2));
  }

  .nv-page--commerce .nv-page__title {
    font-size: 30px;
    line-height: 1.14;
  }

  .wc-block-components-sidebar,
  .cart_totals,
  .woocommerce-checkout-review-order {
    position: static;
  }

  .woocommerce-cart-form,
  .cart_totals,
  .checkout_coupon,
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout-review-order,
  .wp-block-woocommerce-cart,
  .wp-block-woocommerce-checkout,
  .wc-block-cart-items,
  .wc-block-components-sidebar,
  .wc-block-checkout__main,
  .wc-block-checkout__sidebar,
  .wc-block-components-panel,
  .wc-block-components-order-summary {
    width: 100%;
    max-width: 100%;
    border-radius: var(--norven-radius-sm);
  }

  .woocommerce-cart-form,
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout-review-order,
  .wc-block-components-sidebar,
  .wc-block-checkout__main,
  .wc-block-checkout__sidebar {
    padding: 14px;
  }

  .wc-block-components-sidebar-layout,
  .wc-block-components-sidebar-layout .wc-block-components-main,
  .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    display: block;
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .woocommerce-cart-form table,
  .woocommerce-cart-form tbody,
  .woocommerce-cart-form tr,
  .woocommerce-cart-form td {
    display: block;
    width: 100%;
  }

  .woocommerce-cart-form thead {
    display: none;
  }

  .woocommerce-cart-form tr.cart_item {
    position: relative;
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 10px 12px;
    padding: 14px 0;
    border-bottom: var(--norven-border-width) solid var(--norven-border);
  }

  .woocommerce-cart-form tr.cart_item td {
    padding: 0;
    border: 0;
  }

  .woocommerce-cart-form .product-thumbnail {
    grid-row: span 4;
  }

  .woocommerce-cart-form .product-thumbnail img,
  .wc-block-cart-item__image img {
    width: 78px;
    height: 78px;
    border-radius: var(--norven-radius-sm);
    object-fit: contain;
    background: var(--norven-surface-muted);
  }

  .woocommerce-cart-form .product-remove {
    position: absolute;
    top: 12px;
    right: 0;
    width: auto;
  }

  .woocommerce-cart-form .product-name {
    min-width: 0;
    padding-right: 38px !important;
  }

  .woocommerce-cart-form .actions,
  .woocommerce-cart-form .coupon,
  .wc-block-components-totals-coupon__form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .woocommerce-cart-form .coupon .input-text,
  .woocommerce-cart-form button[name="update_cart"],
  .wc-block-components-button,
  .wc-block-cart__submit-button,
  .wc-block-components-checkout-place-order-button,
  .wc-proceed-to-checkout .checkout-button,
  .woocommerce-checkout-payment #place_order {
    width: 100%;
  }

  .wc-block-cart .wc-block-cart-items {
    padding: 0 12px;
  }

  .wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 10px 12px;
    padding: 14px 0;
  }

  .wc-block-cart-item__wrap,
  .wc-block-components-order-summary-item__description,
  .wc-block-components-product-metadata {
    min-width: 0;
  }

  .wc-block-components-product-name,
  .wc-block-cart-item__product .wc-block-components-product-name,
  .woocommerce-cart-form .product-name {
    font-size: 13px;
    line-height: 1.35;
  }

  .wc-block-components-product-price,
  .wc-block-cart-item__prices,
  .wc-block-components-totals-item__value,
  .cart_totals .shop_table td,
  .woocommerce-checkout-review-order-table td {
    font-size: 13px;
  }
}

/* PDP mobile QA fix: WooCommerce wraps variable product quantity + CTA in its own grid item. */
@media (max-width: 900px) {
  .single-product .nv-pdp .single_variation_wrap {
    grid-column: 1 / -1;
    width: 100%;
  }

  .single-product .nv-pdp .woocommerce-variation-add-to-cart {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 10px;
    width: 100%;
  }

  .single-product .nv-pdp .woocommerce-variation-add-to-cart .quantity {
    min-width: 0;
  }

  .single-product .nv-pdp .woocommerce-variation-add-to-cart .single_add_to_cart_button {
    min-width: 0;
    width: 100%;
    white-space: nowrap;
  }
}

@media (max-width: 360px) {
  .single-product .nv-pdp .woocommerce-variation-add-to-cart {
    grid-template-columns: 1fr;
  }
}

/* Figma foundation correction: exact neutral palette, lighter type, compact commerce density. */
:root {
  --norven-bg: #ffffff;
  --norven-surface: #ffffff;
  --norven-surface-muted: #f4f3f2;
  --norven-surface-2: #edece6;
  --norven-surface-promo: #edece6;
  --norven-surface-editorial: #faf8f4;

  --norven-text: #2b2b2b;
  --norven-text-soft: #4d4e55;
  --norven-text-muted: #75767e;
  --norven-text-subtle: #75767e;
  --norven-border: #dbdcdd;
  --norven-dark: #27373e;
  --norven-cta-dark: #1b2436;
  --norven-dark-hover: #1b2436;
  --norven-dark-text: #ffffff;
  --norven-accent-walnut: #906d41;
  --norven-accent-felt: #365365;

  --norven-type-display: 24px;
  --norven-type-h1: 36px;
  --norven-type-h2: 32px;
  --norven-type-h3: 22px;
  --norven-type-body: 15px;
  --norven-type-small: 12px;
  --norven-line-tight: 1.3;
  --norven-line-body: 1.55;

  --nv-bg: var(--norven-bg);
  --nv-paper: var(--norven-bg);
  --nv-surface: var(--norven-surface);
  --nv-surface-2: var(--norven-surface-2);
  --nv-soft: var(--norven-surface-muted);
  --nv-ink: var(--norven-text);
  --nv-ink-soft: var(--norven-text-soft);
  --nv-muted: var(--norven-text-muted);
  --nv-muted-2: var(--norven-text-subtle);
  --nv-line: var(--norven-border);
  --nv-dark: var(--norven-dark);
  --nv-dark-hover: var(--norven-dark-hover);
  --nv-taupe: var(--norven-accent-walnut);
  --nv-sage: var(--norven-accent-felt);
}

body {
  background: var(--norven-bg);
  color: var(--norven-text);
  font-family: var(--norven-font-sans);
  font-size: 15px;
  line-height: var(--norven-line-body);
}

.home .nv-topbar,
.post-type-archive-product .nv-topbar,
.tax-product_cat .nv-topbar,
.single-product .nv-topbar,
.nv-topbar {
  background: var(--norven-surface-muted);
  border-bottom-color: var(--norven-border);
  color: var(--norven-text);
  font-family: var(--norven-font-serif);
  font-size: 11px;
  font-weight: 400;
  line-height: 17.6px;
  letter-spacing: 0;
}

.home .nv-topbar span + span::before,
.post-type-archive-product .nv-topbar span + span::before,
.tax-product_cat .nv-topbar span + span::before,
.single-product .nv-topbar span + span::before,
.nv-topbar span + span::before {
  background: rgba(43, 43, 43, .16);
}

.home .nv-header,
.post-type-archive-product .nv-header,
.tax-product_cat .nv-header,
.single-product .nv-header,
.nv-header {
  background: rgba(244, 243, 242, .96);
  border-bottom-color: var(--norven-border);
}

.home .nv-nav,
.post-type-archive-product .nv-nav,
.tax-product_cat .nv-nav,
.single-product .nv-nav,
.nv-nav,
.home .nv-header__tools,
.post-type-archive-product .nv-header__tools,
.tax-product_cat .nv-header__tools,
.single-product .nv-header__tools,
.nv-header__tools {
  color: var(--norven-text);
  font-size: 10.5px;
  font-weight: 400;
  line-height: 14.5px;
  letter-spacing: .55px;
}

.nv-mobile-menu__nav a,
.nv-mobile-menu__utilities a {
  font-size: 13px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: .3px;
}

.nv-button,
.button,
button,
input[type="submit"],
.single_add_to_cart_button {
  background: var(--norven-cta-dark);
  border-color: var(--norven-cta-dark);
  color: var(--norven-dark-text);
  font-size: 12px;
  font-weight: 500;
  line-height: 16.9px;
}

.nv-button:hover,
.button:hover,
button:hover,
input[type="submit"]:hover,
.single_add_to_cart_button:hover {
  background: var(--norven-dark);
  border-color: var(--norven-dark);
}

.home .nv-home-hero h1 {
  font-size: 24px;
  line-height: 31.2px;
  font-weight: 400;
}

.home .nv-home-hero p {
  font-size: 14px;
  line-height: 22px;
}

.home .nv-section__heading,
.home .nv-setup h2,
.home .nv-story h2,
.home .nv-newsletter h2 {
  font-size: 32px;
  line-height: 41.6px;
  font-weight: 400;
}

.home .nv-card--home,
.post-type-archive-product .nv-card--shop,
.tax-product_cat .nv-card--shop,
.single-product .nv-card--pdp,
.nv-card {
  border-color: transparent;
  border-radius: 0;
  background: var(--norven-surface);
  box-shadow: none;
}

.home .nv-card--home .nv-card__image,
.post-type-archive-product .nv-card--shop .nv-card__image,
.tax-product_cat .nv-card--shop .nv-card__image,
.single-product .nv-card--pdp .nv-card__image,
.nv-card__image {
  border-bottom-color: transparent;
  background: var(--norven-surface);
}

.home .nv-card--home .nv-card__image img,
.post-type-archive-product .nv-card--shop .nv-card__image img,
.tax-product_cat .nv-card--shop .nv-card__image img,
.single-product .nv-card--pdp .nv-card__image img,
.nv-card__image img {
  padding: 0;
  object-fit: contain;
}

.home .nv-card--home .nv-card__body,
.post-type-archive-product .nv-card--shop .nv-card__body,
.tax-product_cat .nv-card--shop .nv-card__body,
.single-product .nv-card--pdp .nv-card__body,
.nv-card__body {
  padding: 12px 0 0;
}

.nv-card__label {
  min-height: 13px;
  margin-bottom: 6px;
  color: var(--norven-text-muted);
  font-size: 9.5px;
  font-weight: 400;
  line-height: 13px;
  letter-spacing: .5px;
}

.home .nv-card--home .nv-card__title,
.post-type-archive-product .nv-card--shop .nv-card__title,
.tax-product_cat .nv-card--shop .nv-card__title,
.single-product .nv-card--pdp .nv-card__title,
.nv-card__title {
  min-height: 0;
  color: var(--norven-text);
  font-size: 15.4px;
  font-weight: 400;
  line-height: 20.8px;
}

.home .nv-card--home .nv-card__summary,
.post-type-archive-product .nv-card--shop .nv-card__summary,
.tax-product_cat .nv-card--shop .nv-card__summary,
.single-product .nv-card--pdp .nv-card__summary,
.nv-card__summary,
.home .nv-card--home .nv-card__hint,
.post-type-archive-product .nv-card--shop .nv-card__hint,
.tax-product_cat .nv-card--shop .nv-card__hint,
.single-product .nv-card--pdp .nv-card__hint,
.nv-card__hint {
  display: none;
}

.home .nv-card--home .nv-card__price,
.post-type-archive-product .nv-card--shop .nv-card__price,
.tax-product_cat .nv-card--shop .nv-card__price,
.single-product .nv-card--pdp .nv-card__price,
.nv-card__price {
  margin-top: 4px;
  color: var(--norven-text);
  font-size: 15.4px;
  font-weight: 400;
  line-height: 20.8px;
}

.nv-card__swatches {
  margin-top: 8px;
}

.home .nv-card--home .nv-card__action,
.post-type-archive-product .nv-card--shop .nv-card__action,
.tax-product_cat .nv-card--shop .nv-card__action,
.single-product .nv-card--pdp .nv-card__action,
.nv-card__action {
  min-height: 48px;
  margin-top: 10px;
  border-color: var(--norven-border);
  border-radius: var(--norven-radius-sm);
  background: transparent;
  color: var(--norven-text);
  font-size: 12px;
  font-weight: 400;
  line-height: 16.9px;
}

.home .nv-card--home .nv-card__action:hover,
.post-type-archive-product .nv-card--shop .nv-card__action:hover,
.tax-product_cat .nv-card--shop .nv-card__action:hover,
.single-product .nv-card--pdp .nv-card__action:hover,
.nv-card__action:hover {
  border-color: var(--norven-cta-dark);
  background: var(--norven-cta-dark);
  color: var(--norven-dark-text);
}

.nv-card__badge {
  border-color: var(--norven-border);
  background: var(--norven-surface);
  color: var(--norven-text);
  font-size: 9.5px;
  font-weight: 400;
  line-height: 13px;
  letter-spacing: .5px;
}

.home .nv-footer,
.post-type-archive-product .nv-footer,
.tax-product_cat .nv-footer,
.single-product .nv-footer,
.nv-footer {
  background: var(--norven-dark);
  color: var(--norven-dark-text);
}

.nv-footer__brand p,
.nv-footer__newsletter p,
.nv-footer__panel,
.nv-footer__bottom {
  color: rgba(255, 255, 255, .72);
}

.nv-footer__newsletter h2 {
  font-size: 20px;
  line-height: 28px;
  font-weight: 400;
}

.home .nv-footer__toggle,
.post-type-archive-product .nv-footer__toggle,
.tax-product_cat .nv-footer__toggle,
.single-product .nv-footer__toggle,
.nv-footer__toggle {
  font-size: 16px;
  line-height: 22.4px;
  font-weight: 400;
}

.nv-footer a:hover,
.nv-nav a:hover,
.nv-tool:hover,
.nv-mobile-menu a:hover {
  color: var(--norven-text-soft);
}

.nv-footer a:hover {
  color: var(--norven-dark-text);
}

@media (max-width: 900px) {
  :root {
    --norven-type-display: 20px;
    --norven-type-h2: 24px;
  }

  .home .nv-topbar,
  .post-type-archive-product .nv-topbar,
  .tax-product_cat .nv-topbar,
  .single-product .nv-topbar,
  .nv-topbar {
    font-size: 9.5px;
    line-height: 14px;
  }

  .home .nv-home-hero h1 {
    font-size: 20px;
    line-height: 28px;
  }

  .home .nv-section__heading,
  .home .nv-setup h2,
  .home .nv-story h2,
  .home .nv-newsletter h2 {
    font-size: 24px;
    line-height: 31.2px;
  }

  .home .nv-card--home .nv-card__body,
  .post-type-archive-product .nv-card--shop .nv-card__body,
  .tax-product_cat .nv-card--shop .nv-card__body,
  .single-product .nv-card--pdp .nv-card__body,
  .nv-card__body {
    padding-top: 10px;
  }

  .nv-card__label {
    font-size: 9px;
    line-height: 12.5px;
  }

  .home .nv-card--home .nv-card__title,
  .post-type-archive-product .nv-card--shop .nv-card__title,
  .tax-product_cat .nv-card--shop .nv-card__title,
  .single-product .nv-card--pdp .nv-card__title,
  .nv-card__title,
  .home .nv-card--home .nv-card__price,
  .post-type-archive-product .nv-card--shop .nv-card__price,
  .tax-product_cat .nv-card--shop .nv-card__price,
  .single-product .nv-card--pdp .nv-card__price,
  .nv-card__price {
    font-size: 13.3px;
    font-weight: 400;
    line-height: 18.2px;
  }

  .home .nv-card--home .nv-card__action,
  .post-type-archive-product .nv-card--shop .nv-card__action,
  .tax-product_cat .nv-card--shop .nv-card__action,
  .single-product .nv-card--pdp .nv-card__action,
  .nv-card__action {
    min-height: 40px;
    font-size: 11.9px;
    font-weight: 400;
    line-height: 16.9px;
  }

  .nv-footer__newsletter h2,
  .home .nv-footer__toggle,
  .post-type-archive-product .nv-footer__toggle,
  .tax-product_cat .nv-footer__toggle,
  .single-product .nv-footer__toggle,
  .nv-footer__toggle {
    font-size: 16px;
    line-height: 22.4px;
  }
}

/* Figma Home hero correction: three compact editorial/product cards, not a single landing hero. */
.home .nv-home-hero {
  height: auto;
  min-height: 0;
  max-height: none;
  overflow: hidden;
  background: var(--norven-surface-muted);
}

.home .nv-home-hero__track {
  width: calc(100% - (var(--norven-page-padding-desktop) * 2));
  max-width: var(--norven-container-max);
  min-height: 778px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding: 0;
}

.home .nv-home-hero__card {
  position: relative;
  min-width: 0;
  min-height: 778px;
  overflow: hidden;
  background: var(--norven-surface);
}

.home .nv-home-hero__media {
  position: absolute;
  inset: 0;
  display: block;
}

.home .nv-home-hero__image,
.home .nv-home-hero__card img {
  width: 100%;
  height: 100%;
  padding: 0;
  object-fit: cover;
  object-position: center;
  filter: none;
  transform: none;
}

.home .nv-home-hero__card--product .nv-home-hero__image,
.home .nv-home-hero__card--product img {
  object-fit: contain;
  padding: 42px;
  background: var(--norven-surface);
}

.home .nv-home-hero__overlay {
  display: none;
}

.home .nv-home-hero__content {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 28px;
  z-index: 2;
  height: auto;
  min-height: 0;
  max-width: 330px;
  display: block;
  padding: 0;
  color: var(--norven-text);
}

.home .nv-home-hero__content::before {
  display: none;
}

.home .nv-home-hero__card--editorial .nv-home-hero__content {
  color: var(--norven-dark-text);
}

.home .nv-home-hero__card--editorial::after {
  content: "";
  position: absolute;
  inset: 38% 0 0;
  background: linear-gradient(180deg, rgba(27, 36, 54, 0), rgba(27, 36, 54, .5));
  pointer-events: none;
}

.home .nv-home-hero__label {
  margin: 0 0 8px;
  font-family: var(--norven-font-sans);
  font-size: 9.5px;
  font-weight: 400;
  line-height: 13px;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.home .nv-home-hero h2 {
  max-width: 310px;
  margin: 0;
  font-family: var(--norven-font-serif);
  font-size: 24px;
  font-weight: 400;
  line-height: 31.2px;
  letter-spacing: 0;
}

.home .nv-home-hero__content p:not(.nv-home-hero__label) {
  max-width: 300px;
  margin: 10px 0 0;
  color: inherit;
  font-size: 12px;
  font-weight: 400;
  line-height: 19.8px;
}

.home .nv-home-hero__link {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
  border: var(--norven-border-width) solid var(--norven-cta-dark);
  border-radius: var(--norven-radius-sm);
  background: var(--norven-cta-dark);
  color: var(--norven-dark-text);
  padding: 0 18px;
  font-family: var(--norven-font-sans);
  font-size: 12px;
  font-weight: 400;
  line-height: 16.9px;
}

.home .nv-home-hero__card--editorial .nv-home-hero__link {
  border-color: rgba(255, 255, 255, .78);
  background: rgba(255, 255, 255, .92);
  color: var(--norven-cta-dark);
}

@media (max-width: 900px) {
  .home .nv-home-hero {
    min-height: 676px;
    padding-bottom: 24px;
  }

  .home .nv-home-hero__track {
    width: 100%;
    max-width: none;
    min-height: 0;
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding: 0 var(--norven-page-padding-mobile) 8px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .home .nv-home-hero__card {
    flex: 0 0 calc(100vw - (var(--norven-page-padding-mobile) * 2));
    min-height: 554px;
    scroll-snap-align: start;
  }

  .home .nv-home-hero__card--product .nv-home-hero__image,
  .home .nv-home-hero__card--product img {
    padding: 28px;
  }

  .home .nv-home-hero__content {
    left: 18px;
    right: 18px;
    bottom: 22px;
    max-width: 304px;
  }

  .home .nv-home-hero h2 {
    max-width: 286px;
    font-size: 20px;
    line-height: 28px;
  }

  .home .nv-home-hero__content p:not(.nv-home-hero__label) {
    max-width: 280px;
    margin-top: 8px;
    font-size: 12px;
    line-height: 19px;
  }
}

/* Figma Home best-sellers correction: editorial intro plus compact product discovery. */
.home .nv-best-sellers {
  padding-top: 80px;
  padding-bottom: 96px;
  background: var(--norven-bg);
}

.home .nv-best-sellers__layout {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: clamp(48px, 5vw, 80px);
  align-items: start;
}

.home .nv-best-sellers__intro {
  position: sticky;
  top: calc(var(--norven-header-total-desktop) + 24px);
  display: grid;
  gap: 0;
  padding-top: 4px;
}

.home .nv-section__eyebrow {
  margin: 0 0 12px;
  color: var(--norven-text-muted);
  font-family: var(--norven-font-sans);
  font-size: 9.5px;
  font-weight: 400;
  line-height: 13px;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.home .nv-best-sellers__intro .nv-section__heading {
  margin: 0;
  text-align: left;
}

.home .nv-best-sellers__intro p:not(.nv-section__eyebrow) {
  max-width: 248px;
  margin: 18px 0 0;
  color: var(--norven-text-soft);
  font-size: 13px;
  font-weight: 400;
  line-height: 20px;
}

.home .nv-best-sellers__intro .nv-text-link {
  width: fit-content;
  min-height: 32px;
  margin-top: 22px;
  color: var(--norven-text);
  font-size: 12px;
  font-weight: 400;
  line-height: 16.9px;
  border-bottom-color: var(--norven-border);
}

.home .nv-products--home {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 44px 24px;
  align-items: start;
}

.home .nv-products--home .nv-card {
  min-height: 0;
}

.home .nv-products--home .nv-card:nth-child(even) {
  margin-top: 84px;
}

.home .nv-card--home .nv-card__image {
  aspect-ratio: 1 / 1;
  background: var(--norven-surface);
}

.home .nv-card--home .nv-card__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media (max-width: 900px) {
  .home .nv-best-sellers {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .home .nv-best-sellers__layout {
    display: block;
  }

  .home .nv-best-sellers__intro {
    position: static;
    margin-bottom: 22px;
  }

  .home .nv-best-sellers__intro p:not(.nv-section__eyebrow) {
    max-width: 320px;
    margin-top: 12px;
    font-size: 12px;
    line-height: 19px;
  }

  .home .nv-best-sellers__intro .nv-text-link {
    margin-top: 14px;
  }

  .home .nv-products--home {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 12px;
  }

  .home .nv-products--home .nv-card:nth-child(even) {
    margin-top: 0;
  }
}

/* Figma Home promo strip correction: single centered muted card after hero. */
.home .nv-trust--global,
.home .nv-trust--home {
  border: 0;
  background: var(--norven-bg);
  padding: 48px 0 0;
}

.home .nv-trust--global .nv-trust__grid,
.home .nv-trust--home .nv-trust__grid {
  width: min(calc(100% - (var(--norven-page-padding-desktop) * 2)), 1145px);
  min-height: 128px;
  display: block;
  border-radius: var(--norven-radius-md);
  background: var(--norven-surface-promo);
}

.home .nv-trust--global .nv-trust__item,
.home .nv-trust--home .nv-trust__item {
  min-height: 128px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  border: 0;
  padding: 24px 34px;
}

.home .nv-trust--global .nv-trust__icon,
.home .nv-trust--home .nv-trust__icon {
  width: 28px;
  height: 28px;
  border: var(--norven-border-width) solid var(--norven-text-muted);
  border-radius: 50%;
}

.home .nv-trust--global .nv-trust__icon::after,
.home .nv-trust--home .nv-trust__icon::after {
  display: none;
}

.home .nv-trust--global strong,
.home .nv-trust--home strong {
  color: var(--norven-text);
  font-family: var(--norven-font-serif);
  font-size: 20px;
  font-weight: 400;
  line-height: 28px;
}

.home .nv-trust--global p,
.home .nv-trust--home p {
  max-width: 560px;
  margin-top: 8px;
  color: var(--norven-text-soft);
  font-size: 13px;
  line-height: 20px;
}

@media (max-width: 900px) {
  .home .nv-trust--global,
  .home .nv-trust--home {
    padding-top: 16px;
  }

  .home .nv-trust--global .nv-trust__grid,
  .home .nv-trust--home .nv-trust__grid {
    width: calc(100% - (var(--norven-page-padding-mobile) * 2));
    min-height: 92px;
  }

  .home .nv-trust--global .nv-trust__item,
  .home .nv-trust--home .nv-trust__item {
    min-height: 92px;
    grid-template-columns: 1fr;
    gap: 0;
    padding: 18px 20px;
  }

  .home .nv-trust--global .nv-trust__icon,
  .home .nv-trust--home .nv-trust__icon {
    display: none;
  }

  .home .nv-trust--global strong,
  .home .nv-trust--home strong {
    font-size: 16px;
    line-height: 22.4px;
  }

  .home .nv-trust--global p,
  .home .nv-trust--home p {
    margin-top: 6px;
    font-size: 12px;
    line-height: 18px;
  }
}

/* Figma Home editorial rhythm correction for intro, story, solutions, and setup sections. */
.home .nv-brand-intro {
  min-height: 362px;
  display: grid;
  align-items: center;
  padding: 64px 0;
  background: var(--norven-bg);
}

.home .nv-brand-intro__inner {
  max-width: 860px;
  margin-inline: auto;
  text-align: center;
}

.home .nv-eyebrow,
.home .nv-brand-intro .nv-eyebrow {
  margin: 0 0 16px;
  color: var(--norven-text-muted);
  font-family: var(--norven-font-sans);
  font-size: 9.5px;
  font-weight: 400;
  line-height: 13px;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.home .nv-brand-intro h2 {
  max-width: 820px;
  margin: 0 auto;
  color: var(--norven-text);
  font-family: var(--norven-font-serif);
  font-size: 32px;
  font-weight: 400;
  line-height: 41.6px;
  letter-spacing: 0;
}

.home .nv-brand-intro p:last-child {
  max-width: 520px;
  margin: 20px auto 0;
  color: var(--norven-text-soft);
  font-size: 13px;
  font-weight: 400;
  line-height: 20px;
}

.home .nv-story {
  padding: 96px 0;
  background: var(--norven-bg);
}

.home .nv-story__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .72fr);
  gap: 0;
  min-height: 633px;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  background: var(--norven-surface-editorial);
}

.home .nv-story img {
  width: 100%;
  height: 100%;
  min-height: 633px;
  padding: 0;
  object-fit: cover;
}

.home .nv-story__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(44px, 5vw, 72px);
}

.home .nv-story h2 {
  max-width: 360px;
  margin: 0;
  font-family: var(--norven-font-serif);
  font-size: 32px;
  font-weight: 400;
  line-height: 41.6px;
}

.home .nv-story p {
  max-width: 330px;
  margin: 18px 0 0;
  color: var(--norven-text-soft);
  font-size: 13px;
  line-height: 20px;
}

.home .nv-story__copy .nv-text-link {
  width: fit-content;
  min-height: 32px;
  margin-top: 22px;
  font-size: 12px;
  font-weight: 400;
  line-height: 16.9px;
}

.home .nv-solutions-section {
  padding: 80px 0 96px;
  background: var(--norven-bg);
}

.home .nv-solutions-section .nv-section__heading {
  text-align: left;
}

.home .nv-solutions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 28px;
}

.home .nv-solution {
  min-height: 440px;
  border: 0;
  border-radius: 0;
  background: var(--norven-surface-muted);
}

.home .nv-solution img {
  width: 100%;
  height: 100%;
  min-height: 440px;
  padding: 0;
  object-fit: cover;
}

.home .nv-solution::after {
  height: 45%;
  background: linear-gradient(180deg, rgba(27, 36, 54, 0), rgba(27, 36, 54, .46));
}

.home .nv-solution span {
  left: 18px;
  right: 18px;
  bottom: 18px;
  color: var(--norven-dark-text);
  font-family: var(--norven-font-serif);
  font-size: 20px;
  font-weight: 400;
  line-height: 28px;
}

.home .nv-setup {
  padding: 96px 0;
  background: var(--norven-bg);
}

.home .nv-setup__inner {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  gap: 48px;
  align-items: center;
  border: 0;
  border-radius: 0;
  background: var(--norven-surface-editorial);
  padding: 64px;
}

.home .nv-setup__copy h2 {
  max-width: 340px;
  margin: 0;
  font-family: var(--norven-font-serif);
  font-size: 32px;
  font-weight: 400;
  line-height: 41.6px;
}

.home .nv-setup__copy p,
.home .nv-setup__cta p {
  max-width: 320px;
  color: var(--norven-text-soft);
  font-size: 13px;
  line-height: 20px;
}

.home .nv-setup__products {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.home .nv-setup__plus {
  display: none;
}

.home .nv-setup__product {
  width: auto;
  min-width: 0;
  font-size: 12px;
  line-height: 16.9px;
}

.home .nv-setup__product img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  border-radius: 0;
  object-fit: contain;
  background: var(--norven-surface);
}

.home .nv-setup__product strong {
  font-weight: 400;
}

.home .nv-setup__cta {
  display: none;
}

@media (max-width: 900px) {
  .home .nv-brand-intro {
    min-height: 258px;
    padding: 48px 0;
  }

  .home .nv-brand-intro__inner {
    text-align: left;
  }

  .home .nv-brand-intro h2,
  .home .nv-story h2,
  .home .nv-setup__copy h2 {
    font-size: 24px;
    line-height: 31.2px;
  }

  .home .nv-brand-intro p:last-child {
    margin-left: 0;
    margin-right: 0;
  }

  .home .nv-story {
    padding: 64px 0;
  }

  .home .nv-story__inner {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .home .nv-story img {
    min-height: 420px;
  }

  .home .nv-story__copy {
    padding: 28px 20px 34px;
  }

  .home .nv-solutions-section {
    padding: 56px 0;
  }

  .home .nv-solutions {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 18px;
  }

  .home .nv-solution,
  .home .nv-solution img {
    min-height: 288px;
  }

  .home .nv-solution span {
    font-size: 18px;
    line-height: 25px;
  }

  .home .nv-setup {
    padding: 64px 0;
  }

  .home .nv-setup__inner {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 28px 20px;
  }

  .home .nv-setup__products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 12px;
  }
}

/* Figma Home final sections correction: quiet article cards and editorial gallery surface. */
.home .nv-notes {
  padding: 80px 0 96px;
  background: var(--norven-bg);
}

.home .nv-notes .nv-section__heading {
  text-align: left;
}

.home .nv-notes__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 28px;
}

.home .nv-note {
  border: 0;
  border-radius: 0;
  overflow: visible;
  background: transparent;
}

.home .nv-note a {
  display: block;
}

.home .nv-note img {
  width: 100%;
  aspect-ratio: 1.18 / 1;
  object-fit: cover;
  background: var(--norven-surface-muted);
}

.home .nv-note h3,
.home .nv-note p,
.home .nv-note span {
  margin-left: 0;
  margin-right: 0;
}

.home .nv-note h3 {
  margin-top: 14px;
  margin-bottom: 8px;
  color: var(--norven-text);
  font-family: var(--norven-font-sans);
  font-size: 15px;
  font-weight: 400;
  line-height: 20.8px;
}

.home .nv-note p {
  margin-top: 0;
  color: var(--norven-text-soft);
  font-size: 13px;
  line-height: 20px;
}

.home .nv-note span {
  margin-bottom: 0;
  color: var(--norven-text);
  font-size: 12px;
  font-weight: 400;
  line-height: 16.9px;
  border-bottom: var(--norven-border-width) solid var(--norven-border);
}

.home .nv-materials {
  padding: 80px 0 96px;
  background: var(--norven-surface-editorial);
}

.home .nv-materials .nv-section__head {
  align-items: flex-end;
  margin-bottom: 28px;
}

.home .nv-materials .nv-section__heading {
  max-width: 520px;
  text-align: left;
}

.home .nv-materials__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: minmax(210px, 18vw);
  gap: 16px;
}

.home .nv-materials__item {
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 0;
  background: var(--norven-surface);
}

.home .nv-materials__item--large {
  grid-column: span 2;
  grid-row: span 2;
}

.home .nv-materials__item img {
  width: 100%;
  height: 100%;
  padding: 0;
  object-fit: cover;
}

.home .nv-materials__item--product img {
  object-fit: contain;
  padding: 28px;
}

@media (max-width: 900px) {
  .home .nv-notes {
    padding: 64px 0;
  }

  .home .nv-notes__grid {
    grid-template-columns: 1fr;
    gap: 30px;
    margin-top: 20px;
  }

  .home .nv-note img {
    aspect-ratio: 1.4 / 1;
  }

  .home .nv-materials {
    padding: 64px 0 74px;
  }

  .home .nv-materials .nv-section__head {
    display: grid;
    gap: 14px;
    margin-bottom: 20px;
  }

  .home .nv-materials__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: minmax(170px, 46vw);
    gap: 8px;
  }

  .home .nv-materials__item--large {
    grid-column: span 2;
    grid-row: span 2;
  }

  .home .nv-materials__item--product img {
    padding: 18px;
  }
}

/* Figma-derived Shop correction: compact commerce band, light filters, dense product grid. */
.post-type-archive-product .nv-shop-hero,
.tax-product_cat .nv-shop-hero {
  min-height: 210px;
  background: var(--norven-surface-muted);
  border-bottom: var(--norven-border-width) solid var(--norven-border);
}

.post-type-archive-product .nv-shop-hero img,
.tax-product_cat .nv-shop-hero img,
.post-type-archive-product .nv-shop-hero__overlay,
.tax-product_cat .nv-shop-hero__overlay {
  display: none;
}

.post-type-archive-product .nv-shop-hero__inner,
.tax-product_cat .nv-shop-hero__inner {
  min-height: 210px;
  padding-top: 34px;
  padding-bottom: 34px;
}

.post-type-archive-product .nv-breadcrumb,
.tax-product_cat .nv-breadcrumb {
  margin-bottom: 16px;
  color: var(--norven-text-muted);
  font-size: 11px;
  font-weight: 400;
  line-height: 15px;
}

.post-type-archive-product .nv-shop-hero h1,
.tax-product_cat .nv-shop-hero h1 {
  max-width: 520px;
  margin: 0;
  color: var(--norven-text);
  font-family: var(--norven-font-serif);
  font-size: 32px;
  font-weight: 400;
  line-height: 41.6px;
}

.post-type-archive-product .nv-shop-hero p,
.tax-product_cat .nv-shop-hero p {
  max-width: 460px;
  margin-top: 12px;
  color: var(--norven-text-soft);
  font-size: 13px;
  line-height: 20px;
}

.post-type-archive-product .nv-category-pills,
.tax-product_cat .nv-category-pills {
  background: var(--norven-bg);
  border-bottom: var(--norven-border-width) solid var(--norven-border);
}

.post-type-archive-product .nv-category-pills__inner,
.tax-product_cat .nv-category-pills__inner {
  min-height: 58px;
  justify-content: flex-start;
  gap: 34px;
}

.post-type-archive-product .nv-category-pills a,
.tax-product_cat .nv-category-pills a {
  min-height: 58px;
  color: var(--norven-text-muted);
  font-size: 11px;
  font-weight: 400;
  line-height: 15px;
  letter-spacing: .5px;
}

.post-type-archive-product .nv-shop,
.tax-product_cat .nv-shop {
  padding: 34px 0 64px;
  background: var(--norven-bg);
}

.post-type-archive-product .nv-shop__layout,
.tax-product_cat .nv-shop__layout {
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 32px;
}

.post-type-archive-product .nv-shop__sidebar,
.tax-product_cat .nv-shop__sidebar {
  top: calc(var(--norven-header-total-desktop) + 24px);
}

.post-type-archive-product .nv-shop__toolbar,
.tax-product_cat .nv-shop__toolbar {
  min-height: 44px;
  align-items: center;
  margin-bottom: 24px;
}

.post-type-archive-product .nv-shop__count,
.tax-product_cat .nv-shop__count {
  color: var(--norven-text);
  font-size: 12px;
  font-weight: 400;
  line-height: 16.9px;
}

.post-type-archive-product .nv-filter-form,
.tax-product_cat .nv-filter-form {
  gap: 22px;
}

.post-type-archive-product .nv-filter-group,
.tax-product_cat .nv-filter-group {
  padding-bottom: 20px;
  border-bottom-color: var(--norven-border);
}

.post-type-archive-product .nv-filter-group h2,
.tax-product_cat .nv-filter-group h2,
.post-type-archive-product .nv-sort label,
.tax-product_cat .nv-sort label,
.post-type-archive-product .nv-price-filter label,
.tax-product_cat .nv-price-filter label {
  color: var(--norven-text);
  font-size: 11px;
  font-weight: 400;
  line-height: 15px;
  letter-spacing: .5px;
}

.post-type-archive-product .nv-check,
.tax-product_cat .nv-check {
  min-height: 34px;
  color: var(--norven-text-soft);
  font-size: 12px;
  line-height: 18px;
}

.post-type-archive-product .nv-sort select,
.tax-product_cat .nv-sort select,
.post-type-archive-product .nv-price-filter input,
.tax-product_cat .nv-price-filter input,
.post-type-archive-product .nv-filter-toggle,
.tax-product_cat .nv-filter-toggle {
  min-height: 40px;
  border-color: var(--norven-border);
  border-radius: var(--norven-radius-sm);
  background: var(--norven-surface);
  color: var(--norven-text);
  font-size: 12px;
  font-weight: 400;
}

.post-type-archive-product .nv-filter-actions a,
.tax-product_cat .nv-filter-actions a,
.post-type-archive-product .nv-active-filters a,
.tax-product_cat .nv-active-filters a {
  font-size: 12px;
  font-weight: 400;
}

.post-type-archive-product .nv-products--shop,
.tax-product_cat .nv-products--shop {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 42px 24px;
}

.post-type-archive-product .nv-card--shop .nv-card__body,
.tax-product_cat .nv-card--shop .nv-card__body {
  padding-top: 12px;
}

.post-type-archive-product .nv-shop-trust,
.tax-product_cat .nv-shop-trust {
  padding-bottom: 56px;
  background: var(--norven-bg);
}

.post-type-archive-product .nv-shop-trust__grid,
.tax-product_cat .nv-shop-trust__grid {
  border-color: var(--norven-border);
  border-radius: var(--norven-radius-sm);
  background: var(--norven-surface-muted);
}

.post-type-archive-product .nv-shop-trust strong,
.tax-product_cat .nv-shop-trust strong {
  font-size: 12px;
  font-weight: 400;
  line-height: 16.9px;
}

.post-type-archive-product .nv-shop-trust span,
.tax-product_cat .nv-shop-trust span {
  font-size: 12px;
  line-height: 18px;
}

@media (max-width: 1180px) {
  .post-type-archive-product .nv-products--shop,
  .tax-product_cat .nv-products--shop {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .post-type-archive-product .nv-shop-hero,
  .tax-product_cat .nv-shop-hero,
  .post-type-archive-product .nv-shop-hero__inner,
  .tax-product_cat .nv-shop-hero__inner {
    min-height: 170px;
  }

  .post-type-archive-product .nv-shop-hero h1,
  .tax-product_cat .nv-shop-hero h1 {
    font-size: 24px;
    line-height: 31.2px;
  }

  .post-type-archive-product .nv-shop-hero p,
  .tax-product_cat .nv-shop-hero p {
    font-size: 12px;
    line-height: 18px;
  }

  .post-type-archive-product .nv-shop__layout,
  .tax-product_cat .nv-shop__layout {
    grid-template-columns: 1fr;
  }

  .post-type-archive-product .nv-shop__toolbar,
  .tax-product_cat .nv-shop__toolbar {
    display: grid;
    gap: 14px;
    margin-bottom: 20px;
  }

  .post-type-archive-product .nv-shop__actions,
  .tax-product_cat .nv-shop__actions {
    display: grid;
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
    gap: 10px;
  }

  .post-type-archive-product .nv-sort,
  .tax-product_cat .nv-sort {
    display: block;
  }

  .post-type-archive-product .nv-sort label,
  .tax-product_cat .nv-sort label {
    display: none;
  }

  .post-type-archive-product .nv-sort select,
  .tax-product_cat .nv-sort select,
  .post-type-archive-product .nv-filter-toggle,
  .tax-product_cat .nv-filter-toggle {
    width: 100%;
  }

  .post-type-archive-product .nv-products--shop,
  .tax-product_cat .nv-products--shop {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 12px;
  }

  .post-type-archive-product .nv-filter-drawer__panel,
  .tax-product_cat .nv-filter-drawer__panel {
    border-radius: var(--norven-radius-md) var(--norven-radius-md) 0 0;
    background: var(--norven-bg);
  }
}

/* Figma-derived PDP correction: light gallery, compact buy box, restrained details. */
.single-product .nv-pdp {
  padding-top: 32px;
  background: var(--norven-bg);
}

.single-product .nv-pdp__breadcrumb {
  margin-bottom: 24px;
  color: var(--norven-text-muted);
  font-size: 11px;
  font-weight: 400;
  line-height: 15px;
}

.single-product .nv-pdp__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, .68fr);
  gap: clamp(40px, 5vw, 72px);
  align-items: start;
}

.single-product .nv-gallery {
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 12px;
  top: calc(var(--norven-header-total-desktop) + 24px);
}

.single-product .nv-gallery__thumb {
  border-radius: 0;
  background: var(--norven-surface);
}

.single-product .nv-gallery__thumb.is-active {
  border-color: var(--norven-border);
}

.single-product .nv-gallery__main {
  border-radius: 0;
  background: var(--norven-surface);
}

.single-product .nv-gallery__main img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background: var(--norven-surface);
}

.single-product .nv-pdp__summary {
  top: calc(var(--norven-header-total-desktop) + 24px);
  padding-top: 0;
}

.single-product .nv-product-vendor {
  margin-bottom: 10px;
  color: var(--norven-text-muted);
  font-size: 9.5px;
  font-weight: 400;
  line-height: 13px;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.single-product .nv-product-title {
  max-width: 520px;
  margin: 0;
  color: var(--norven-text);
  font-family: var(--norven-font-serif);
  font-size: 32px;
  font-weight: 400;
  line-height: 41.6px;
}

.single-product .nv-subheading {
  max-width: 430px;
  margin-top: 14px;
  color: var(--norven-text-soft);
  font-size: 13px;
  line-height: 20px;
}

.single-product .nv-rating-summary {
  margin-top: 14px;
  color: var(--norven-text-muted);
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
}

.single-product .nv-price {
  margin: 20px 0 16px;
  color: var(--norven-text);
  font-size: 16px;
  font-weight: 400;
  line-height: 22px;
}

.single-product .nv-pdp__form {
  margin-top: 18px;
}

.single-product .nv-pdp form.cart {
  gap: 12px;
}

.single-product .nv-pdp .quantity input.qty,
.single-product .nv-pdp select,
.single-product .nv-variation-pill {
  min-height: 48px;
  border-color: var(--norven-border);
  border-radius: var(--norven-radius-sm);
  background: var(--norven-surface);
  color: var(--norven-text);
  font-size: 12px;
  font-weight: 400;
}

.single-product .nv-pdp .variations label {
  color: var(--norven-text);
  font-size: 11px;
  font-weight: 400;
  line-height: 15px;
  letter-spacing: .5px;
}

.single-product .nv-pdp-trust {
  gap: 8px 14px;
  margin-top: 18px;
  padding-top: 18px;
  border-top-color: var(--norven-border);
}

.single-product .nv-pdp-trust div {
  color: var(--norven-text-soft);
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
}

.single-product .nv-pdp-trust span {
  border-color: var(--norven-border);
}

.single-product .nv-bullets {
  margin-top: 18px;
  margin-bottom: 0;
}

.single-product .nv-bullets li {
  color: var(--norven-text-soft);
  font-size: 13px;
  line-height: 20px;
}

.single-product .nv-pdp-details,
.single-product .nv-pdp-faq,
.single-product .nv-reviews,
.single-product .nv-related,
.single-product .nv-pdp-setup {
  padding: 72px 0;
  background: var(--norven-bg);
}

.single-product .nv-pdp-details {
  background: var(--norven-surface-editorial);
}

.single-product .nv-pdp-details__grid {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(44px, 5vw, 72px);
}

.single-product .nv-pdp-story h2,
.single-product .nv-pdp-faq .nv-section__heading,
.single-product .nv-reviews .nv-section__heading,
.single-product .nv-related .nv-section__heading,
.single-product .nv-pdp-setup .nv-section__heading {
  font-family: var(--norven-font-serif);
  font-size: 32px;
  font-weight: 400;
  line-height: 41.6px;
}

.single-product .nv-pdp-copy,
.single-product .nv-pdp-checks,
.single-product .nv-spec-row,
.single-product .nv-chip-list span {
  color: var(--norven-text-soft);
  font-size: 13px;
  line-height: 20px;
}

.single-product .nv-pdp-specs summary,
.single-product .nv-pdp-faq summary {
  min-height: 56px;
  color: var(--norven-text);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}

.single-product .nv-products--pdp {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 42px 24px;
}

.single-product .nv-sticky-atc {
  border-top-color: var(--norven-border);
  background: rgba(255, 255, 255, .96);
  box-shadow: none;
}

.single-product .nv-sticky-atc strong {
  font-size: 12px;
  font-weight: 400;
  line-height: 16.9px;
}

.single-product .nv-sticky-atc span {
  font-size: 12px;
  line-height: 16.9px;
}

@media (max-width: 900px) {
  .single-product .nv-pdp {
    padding-top: 16px;
  }

  .single-product .nv-pdp__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .single-product .nv-gallery {
    display: block;
  }

  .single-product .nv-gallery__main img {
    aspect-ratio: 1 / 1;
  }

  .single-product .nv-gallery__thumbs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .single-product .nv-pdp__summary {
    position: static;
  }

  .single-product .nv-product-title {
    font-size: 24px;
    line-height: 31.2px;
  }

  .single-product .nv-pdp-trust {
    grid-template-columns: 1fr;
  }

  .single-product .nv-pdp-details,
  .single-product .nv-pdp-faq,
  .single-product .nv-reviews,
  .single-product .nv-related,
  .single-product .nv-pdp-setup {
    padding: 56px 0;
  }

  .single-product .nv-pdp-details__grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .single-product .nv-pdp-story h2,
  .single-product .nv-pdp-faq .nv-section__heading,
  .single-product .nv-reviews .nv-section__heading,
  .single-product .nv-related .nv-section__heading,
  .single-product .nv-pdp-setup .nv-section__heading {
    font-size: 24px;
    line-height: 31.2px;
  }

  .single-product .nv-products--pdp {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 12px;
  }
}

/* Cart and checkout Figma-neutral visual alignment, WooCommerce-controlled only. */
.woocommerce-cart,
.woocommerce-checkout,
.nv-page--commerce {
  background: var(--norven-bg);
  color: var(--norven-text);
}

.nv-page--commerce {
  background-image: none;
}

.nv-page--commerce .nv-page__title {
  color: var(--norven-text);
  font-family: var(--norven-font-serif);
  font-size: 32px;
  font-weight: 400;
  line-height: 41.6px;
}

.woocommerce-cart-form,
.cart_totals,
.checkout_coupon,
.woocommerce-checkout #customer_details,
.woocommerce-checkout-review-order,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-ResetPassword,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wc-block-cart-items,
.wc-block-components-sidebar,
.wc-block-checkout__main,
.wc-block-checkout__sidebar,
.wc-block-components-panel,
.wc-block-components-order-summary {
  border-color: var(--norven-border);
  border-radius: var(--norven-radius-sm);
  background: var(--norven-surface);
  box-shadow: none;
}

.shop_table th,
.woocommerce-checkout-review-order-table th,
.cart_totals .shop_table th {
  color: var(--norven-text-muted);
  font-size: 11px;
  font-weight: 400;
  line-height: 15px;
  letter-spacing: .5px;
}

.shop_table td,
.woocommerce-checkout-review-order-table td,
.cart_totals .shop_table td,
.wc-block-components-product-name,
.wc-block-cart-item__product .wc-block-components-product-name,
.woocommerce-cart-form .product-name,
.woocommerce-cart-form .product-name a,
.woocommerce-checkout-review-order-table .product-name {
  color: var(--norven-text);
  font-size: 13px;
  font-weight: 400;
  line-height: 20px;
}

.cart_totals h2,
.woocommerce-checkout h3,
.woocommerce-account h2,
.woocommerce-account h3,
.wc-block-components-title,
.wc-block-components-sidebar h2 {
  color: var(--norven-text);
  font-family: var(--norven-font-serif);
  font-size: 20px;
  font-weight: 400;
  line-height: 28px;
}

.nv-page--commerce input[type="text"],
.nv-page--commerce input[type="email"],
.nv-page--commerce input[type="tel"],
.nv-page--commerce input[type="password"],
.nv-page--commerce input[type="number"],
.nv-page--commerce textarea,
.nv-page--commerce select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.select2-container .select2-selection--single,
.wc-block-components-text-input input,
.wc-block-components-combobox-control input {
  min-height: 48px;
  border-color: var(--norven-border);
  border-radius: var(--norven-radius-sm);
  background: var(--norven-surface);
  color: var(--norven-text);
  font-size: 13px;
  font-weight: 400;
}

.nv-page--commerce label,
.woocommerce form .form-row label,
.wc-block-components-text-input label,
.wc-block-components-checkbox label {
  color: var(--norven-text);
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice,
.nv-free-shipping-progress {
  border-color: var(--norven-border);
  border-left-color: var(--norven-text-soft);
  border-radius: var(--norven-radius-sm);
  background: var(--norven-surface-muted);
  color: var(--norven-text);
}

.nv-free-shipping-progress__track {
  background: var(--norven-border);
}

.nv-free-shipping-progress__track span {
  background: var(--norven-text-soft);
}

.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-proceed-to-checkout .checkout-button,
.woocommerce-checkout-payment #place_order,
.woocommerce-cart-form button,
.woocommerce-cart .return-to-shop .button {
  min-height: 48px;
  border-radius: var(--norven-radius-sm);
  background: var(--norven-cta-dark);
  border-color: var(--norven-cta-dark);
  color: var(--norven-dark-text);
  font-size: 12px;
  font-weight: 500;
  line-height: 16.9px;
}

@media (max-width: 900px) {
  .nv-page--commerce .nv-page__title {
    font-size: 24px;
    line-height: 31.2px;
  }

  .cart_totals h2,
  .woocommerce-checkout h3,
  .woocommerce-account h2,
  .woocommerce-account h3,
  .wc-block-components-title,
  .wc-block-components-sidebar h2 {
    font-size: 16px;
    line-height: 22.4px;
  }
}

/* Mobile overflow guard after Figma corrections. */
@media (max-width: 900px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .nv-container,
  .home .nv-container,
  .post-type-archive-product .nv-container,
  .tax-product_cat .nv-container,
  .single-product .nv-container {
    max-width: calc(100vw - (var(--norven-page-padding-mobile) * 2));
    min-width: 0;
  }

  .home .nv-products--home,
  .post-type-archive-product .nv-products--shop,
  .tax-product_cat .nv-products--shop,
  .single-product .nv-products--pdp {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home .nv-card--home,
  .post-type-archive-product .nv-card--shop,
  .tax-product_cat .nv-card--shop,
  .single-product .nv-card--pdp,
  .nv-card,
  .nv-card__body,
  .nv-card__title,
  .nv-card__price,
  .nv-card__action {
    min-width: 0;
    max-width: 100%;
  }

  .home .nv-card--home .nv-card__image,
  .post-type-archive-product .nv-card--shop .nv-card__image,
  .tax-product_cat .nv-card--shop .nv-card__image,
  .single-product .nv-card--pdp .nv-card__image,
  .nv-card__image {
    width: 100%;
    max-width: 100%;
  }

  .home .nv-card--home .nv-card__action,
  .post-type-archive-product .nv-card--shop .nv-card__action,
  .tax-product_cat .nv-card--shop .nv-card__action,
  .single-product .nv-card--pdp .nv-card__action,
  .nv-card__action {
    width: 100%;
    padding-left: 6px;
    padding-right: 6px;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .home .nv-brand-intro h2,
  .home .nv-story h2,
  .home .nv-setup__copy h2,
  .home .nv-best-sellers__intro .nv-section__heading,
  .post-type-archive-product .nv-shop-hero h1,
  .tax-product_cat .nv-shop-hero h1,
  .single-product .nv-product-title {
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}

/* Final header text visibility and cart count spacing. */
.nv-tool--cart .nv-cart-count {
  margin-left: 4px;
}

/* Final mobile header QA guard: later than all historical page overrides. */
@media (max-width: 900px) {
  .home .nv-topbar span,
  .post-type-archive-product .nv-topbar span,
  .tax-product_cat .nv-topbar span,
  .single-product .nv-topbar span,
  .nv-topbar span {
    display: none !important;
  }

  .home .nv-topbar span:last-child,
  .post-type-archive-product .nv-topbar span:last-child,
  .tax-product_cat .nv-topbar span:last-child,
  .single-product .nv-topbar span:last-child,
  .nv-topbar span:last-child {
    display: inline !important;
  }

  .home .nv-tool--cart,
  .post-type-archive-product .nv-tool--cart,
  .tax-product_cat .nv-tool--cart,
  .single-product .nv-tool--cart,
  .nv-tool--cart {
    position: relative;
    overflow: visible;
  }

  .home .nv-tool--cart .nv-cart-count,
  .post-type-archive-product .nv-tool--cart .nv-cart-count,
  .tax-product_cat .nv-tool--cart .nv-cart-count,
  .single-product .nv-tool--cart .nv-cart-count,
  .nv-tool--cart .nv-cart-count {
    position: absolute;
    top: 6px;
    right: -3px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    margin: 0;
    border: 1px solid var(--norven-surface-muted);
    border-radius: 999px;
    background: var(--norven-cta-dark);
    color: var(--norven-dark-text);
    font-size: 9px;
    font-weight: 400;
    line-height: 16px;
    letter-spacing: 0;
  }
}

/* Figma realignment pass: active-slide hero, lighter product cards, denser Home product rhythm. */
.home .nv-home-hero {
  min-height: 0;
  overflow: visible;
  background: var(--norven-bg);
}

.home .nv-home-hero__track {
  width: 100%;
  max-width: none;
  min-height: 778px;
  display: block;
  padding: 0;
}

.home .nv-home-hero__card {
  min-height: 778px;
  background: var(--norven-surface-muted);
}

.home .nv-home-hero__card:not(:first-child) {
  display: none;
}

.home .nv-home-hero__media {
  position: absolute;
  inset: 0;
}

.home .nv-home-hero__image,
.home .nv-home-hero__card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  padding: 0;
}

.home .nv-home-hero__card--editorial::after {
  display: none;
}

.home .nv-home-hero__content,
.home .nv-home-hero__card--editorial .nv-home-hero__content {
  position: absolute;
  left: var(--norven-page-padding-desktop);
  right: auto;
  bottom: 32px;
  width: min(440px, calc(100% - 64px));
  max-width: 440px;
  padding: 34px 34px 32px;
  border-radius: var(--norven-radius-md);
  background: rgba(255, 255, 255, .96);
  color: var(--norven-text);
  box-shadow: none;
}

.home .nv-home-hero__label {
  margin-bottom: 12px;
  color: var(--norven-text-muted);
}

.home .nv-home-hero h2 {
  max-width: 360px;
  color: var(--norven-text);
  font-size: 24px;
  line-height: 31.2px;
}

.home .nv-home-hero__content p:not(.nv-home-hero__label) {
  display: none;
}

.home .nv-home-hero__link,
.home .nv-home-hero__card--editorial .nv-home-hero__link {
  min-height: 48px;
  margin-top: 28px;
  border-color: var(--norven-cta-dark);
  background: var(--norven-cta-dark);
  color: var(--norven-dark-text);
  padding: 0 32px;
}

.home .nv-home-hero__controls {
  width: calc(100% - (var(--norven-page-padding-desktop) * 2));
  max-width: var(--norven-container-max);
  height: 0;
  margin: 0 auto;
  position: relative;
  z-index: 3;
  color: var(--norven-text-soft);
  font-size: 12px;
  line-height: 18px;
}

.home .nv-home-hero__controls > span {
  position: absolute;
  left: 0;
  bottom: 18px;
}

.home .nv-home-hero__controls > div {
  position: absolute;
  right: 0;
  bottom: 12px;
  display: flex;
  gap: 8px;
}

.home .nv-home-hero__controls > div span {
  width: 36px;
  height: 36px;
  display: block;
  border: var(--norven-border-width) solid var(--norven-border);
  border-radius: var(--norven-radius-sm);
  background: rgba(255, 255, 255, .88);
}

.home .nv-home-hero__controls > div span::before {
  content: "";
  width: 8px;
  height: 8px;
  display: block;
  margin: 13px auto 0;
  border-top: 1px solid var(--norven-text);
  border-left: 1px solid var(--norven-text);
  transform: rotate(-45deg);
}

.home .nv-home-hero__controls > div span + span::before {
  transform: rotate(135deg);
}

.home .nv-trust--global,
.home .nv-trust--home {
  padding: 48px 0 0;
  background: var(--norven-bg);
}

.home .nv-trust--global .nv-trust__grid,
.home .nv-trust--home .nv-trust__grid {
  width: min(calc(100% - (var(--norven-page-padding-desktop) * 2)), 1145px);
  min-height: 128px;
  display: flex;
  align-items: center;
  border: 0;
  border-radius: var(--norven-radius-md);
  background: var(--norven-surface-promo);
}

.home .nv-trust--global .nv-trust__item,
.home .nv-trust--home .nv-trust__item {
  width: 100%;
  min-height: 128px;
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 32px;
  align-items: center;
  padding: 18px 42px;
}

.home .nv-trust--global .nv-trust__icon,
.home .nv-trust--home .nv-trust__icon {
  width: 78px;
  height: 78px;
  border: 0;
  border-radius: 0;
  background: rgba(255, 255, 255, .62);
}

.home .nv-trust--global strong,
.home .nv-trust--home strong {
  display: block;
  max-width: 540px;
  font-size: 24px;
  line-height: 31.2px;
}

.home .nv-trust--global p,
.home .nv-trust--home p {
  max-width: 580px;
  margin-top: 8px;
}

.home .nv-best-sellers {
  padding-top: 80px;
  padding-bottom: 96px;
}

.home .nv-best-sellers__layout {
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  gap: 48px;
}

.home .nv-best-sellers__intro {
  position: static;
  padding-top: 0;
}

.home .nv-best-sellers__intro .nv-section__heading {
  font-size: 32px;
  line-height: 41.6px;
}

.home .nv-products--home {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 58px 24px;
}

.home .nv-products--home .nv-card:nth-child(even) {
  margin-top: 0;
}

.home .nv-card--home,
.post-type-archive-product .nv-card--shop,
.tax-product_cat .nv-card--shop,
.single-product .nv-card--pdp,
.nv-card {
  border: 0;
  background: transparent;
}

.home .nv-card--home .nv-card__image,
.post-type-archive-product .nv-card--shop .nv-card__image,
.tax-product_cat .nv-card--shop .nv-card__image,
.single-product .nv-card--pdp .nv-card__image,
.nv-card__image {
  overflow: hidden;
  border: 0;
  border-radius: var(--norven-radius-md);
  background: var(--norven-surface);
}

.home .nv-card--home .nv-card__body,
.post-type-archive-product .nv-card--shop .nv-card__body,
.tax-product_cat .nv-card--shop .nv-card__body,
.single-product .nv-card--pdp .nv-card__body,
.nv-card__body {
  padding-top: 13px;
}

.home .nv-card--home .nv-card__title,
.post-type-archive-product .nv-card--shop .nv-card__title,
.tax-product_cat .nv-card--shop .nv-card__title,
.single-product .nv-card--pdp .nv-card__title,
.nv-card__title {
  font-size: 15px;
  font-weight: 400;
  line-height: 20.8px;
}

.home .nv-card--home .nv-card__price,
.post-type-archive-product .nv-card--shop .nv-card__price,
.tax-product_cat .nv-card--shop .nv-card__price,
.single-product .nv-card--pdp .nv-card__price,
.nv-card__price {
  margin-top: 4px;
  font-size: 15px;
  font-weight: 400;
  line-height: 20.8px;
}

.home .nv-card--home .nv-card__action,
.post-type-archive-product .nv-card--shop .nv-card__action,
.tax-product_cat .nv-card--shop .nv-card__action,
.single-product .nv-card--pdp .nv-card__action,
.nv-card__action {
  min-height: 46px;
  margin-top: 12px;
  border-color: var(--norven-border);
  background: transparent;
  color: var(--norven-text);
  font-size: 12px;
  font-weight: 400;
  line-height: 16.9px;
}

@media (max-width: 900px) {
  .home .nv-home-hero {
    min-height: 0;
    padding-bottom: 0;
  }

  .home .nv-home-hero__track {
    display: block;
    width: 100%;
    padding: 0;
    overflow: visible;
  }

  .home .nv-home-hero__card {
    min-height: 0;
    display: block;
    background: var(--norven-bg);
  }

  .home .nv-home-hero__media {
    position: relative;
    height: 332px;
    display: block;
  }

  .home .nv-home-hero__content,
  .home .nv-home-hero__card--editorial .nv-home-hero__content {
    position: relative;
    left: auto;
    bottom: auto;
    width: 100%;
    max-width: none;
    padding: 40px var(--norven-page-padding-mobile) 46px;
    border-radius: 0;
    background: var(--norven-bg);
    text-align: center;
  }

  .home .nv-home-hero h2 {
    max-width: 320px;
    margin-inline: auto;
    font-size: 24px;
    line-height: 31.2px;
  }

  .home .nv-home-hero__link,
  .home .nv-home-hero__card--editorial .nv-home-hero__link {
    width: 100%;
    max-width: 316px;
    margin-top: 28px;
  }

  .home .nv-home-hero__controls {
    width: calc(100% - (var(--norven-page-padding-mobile) * 2));
    height: 60px;
  }

  .home .nv-home-hero__controls > span {
    bottom: 20px;
  }

  .home .nv-home-hero__controls > div {
    bottom: 12px;
  }

  .home .nv-trust--global,
  .home .nv-trust--home {
    padding-top: 0;
  }

  .home .nv-trust--global .nv-trust__grid,
  .home .nv-trust--home .nv-trust__grid {
    width: calc(100% - (var(--norven-page-padding-mobile) * 2));
    min-height: 92px;
  }

  .home .nv-trust--global .nv-trust__item,
  .home .nv-trust--home .nv-trust__item {
    min-height: 92px;
    display: block;
    padding: 20px;
    text-align: center;
  }

  .home .nv-trust--global .nv-trust__icon,
  .home .nv-trust--home .nv-trust__icon,
  .home .nv-trust--global p,
  .home .nv-trust--home p {
    display: none;
  }

  .home .nv-trust--global strong,
  .home .nv-trust--home strong {
    max-width: 280px;
    margin-inline: auto;
    font-size: 16px;
    line-height: 22.4px;
  }

  .home .nv-best-sellers {
    padding-top: 56px;
  }

  .home .nv-best-sellers__intro .nv-section__heading {
    max-width: 342px;
    font-size: 24px;
    line-height: 31.2px;
  }

  .home .nv-products--home {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 12px;
  }

  .home .nv-card--home .nv-card__title,
  .post-type-archive-product .nv-card--shop .nv-card__title,
  .tax-product_cat .nv-card--shop .nv-card__title,
  .single-product .nv-card--pdp .nv-card__title,
  .nv-card__title,
  .home .nv-card--home .nv-card__price,
  .post-type-archive-product .nv-card--shop .nv-card__price,
  .tax-product_cat .nv-card--shop .nv-card__price,
  .single-product .nv-card--pdp .nv-card__price,
  .nv-card__price {
    font-size: 13px;
    line-height: 18.2px;
  }

  .home .nv-card--home .nv-card__action,
  .post-type-archive-product .nv-card--shop .nv-card__action,
  .tax-product_cat .nv-card--shop .nv-card__action,
  .single-product .nv-card--pdp .nv-card__action,
  .nv-card__action {
    min-height: 40px;
    font-size: 11.5px;
    line-height: 16.9px;
  }
}

/* Phase 3i-8 review pass: remove placeholder feel and make commerce cards lighter. */
.home .nv-card--home,
.post-type-archive-product .nv-card--shop,
.tax-product_cat .nv-card--shop,
.single-product .nv-card--pdp {
  border-color: transparent;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.home .nv-card--home .nv-card__body,
.post-type-archive-product .nv-card--shop .nv-card__body,
.tax-product_cat .nv-card--shop .nv-card__body,
.single-product .nv-card--pdp .nv-card__body {
  padding: 12px 0 0;
}

.home .nv-card--home .nv-card__title,
.post-type-archive-product .nv-card--shop .nv-card__title,
.tax-product_cat .nv-card--shop .nv-card__title,
.single-product .nv-card--pdp .nv-card__title,
.home .nv-card--home .nv-card__price,
.post-type-archive-product .nv-card--shop .nv-card__price,
.tax-product_cat .nv-card--shop .nv-card__price,
.single-product .nv-card--pdp .nv-card__price {
  font-weight: 400;
}

.home .nv-card--home .nv-card__summary,
.home .nv-card--home .nv-card__hint,
.post-type-archive-product .nv-card--shop .nv-card__summary,
.post-type-archive-product .nv-card--shop .nv-card__hint,
.tax-product_cat .nv-card--shop .nv-card__summary,
.tax-product_cat .nv-card--shop .nv-card__hint,
.single-product .nv-card--pdp .nv-card__summary,
.single-product .nv-card--pdp .nv-card__hint {
  display: none;
}

.home .nv-card--home .nv-card__action,
.post-type-archive-product .nv-card--shop .nv-card__action,
.tax-product_cat .nv-card--shop .nv-card__action,
.single-product .nv-card--pdp .nv-card__action {
  min-height: 40px;
  margin-top: 10px;
  border-color: var(--norven-border);
  background: var(--norven-surface);
  color: var(--norven-text);
  font-weight: 400;
}

.home .nv-card--home .nv-card__action:hover,
.post-type-archive-product .nv-card--shop .nv-card__action:hover,
.tax-product_cat .nv-card--shop .nv-card__action:hover,
.single-product .nv-card--pdp .nv-card__action:hover {
  border-color: var(--norven-cta-dark);
  background: var(--norven-cta-dark);
  color: var(--norven-dark-text);
}

.home .nv-notes__grid--fallback .nv-note img {
  filter: saturate(.92);
}

.home .nv-materials__item--product {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border: var(--norven-border-width) solid rgba(219, 220, 221, .72);
  background: var(--norven-surface-muted);
}

.home .nv-materials__item--product span {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 12px;
  color: var(--norven-text);
  font-size: 11px;
  font-weight: 400;
  line-height: 15px;
}

.home .nv-materials__item--product img {
  width: auto;
  height: auto;
  max-width: min(76%, 220px);
  max-height: calc(100% - 58px);
  padding: 0;
  object-fit: contain;
}

@media (max-width: 900px) {
  .home .nv-card--home .nv-card__body,
  .post-type-archive-product .nv-card--shop .nv-card__body,
  .tax-product_cat .nv-card--shop .nv-card__body,
  .single-product .nv-card--pdp .nv-card__body {
    padding-top: 9px;
  }

  .home .nv-card--home .nv-card__action,
  .post-type-archive-product .nv-card--shop .nv-card__action,
  .tax-product_cat .nv-card--shop .nv-card__action,
  .single-product .nv-card--pdp .nv-card__action {
    min-height: 36px;
    margin-top: 8px;
  }

  .home .nv-materials__item--product span {
    left: 10px;
    right: 10px;
    bottom: 9px;
    font-size: 10px;
    line-height: 13px;
  }

  .home .nv-materials__item--product img {
    max-width: 74%;
    max-height: calc(100% - 48px);
  }
}

/* Phase 3i-9 hero correction: restore Figma-style three-card desktop hero. */
.home .nv-home-hero {
  min-height: 778px;
  padding: 0;
  overflow: hidden;
  background: var(--norven-surface-muted);
}

.home .nv-home-hero__track {
  width: calc(100% - (var(--norven-page-padding-desktop) * 2));
  max-width: var(--norven-container-max);
  min-height: 778px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-inline: auto;
  padding: 0;
}

.home .nv-home-hero__card,
.home .nv-home-hero__card:not(:first-child) {
  position: relative;
  min-width: 0;
  min-height: 778px;
  display: block;
  overflow: hidden;
  background: var(--norven-surface);
}

.home .nv-home-hero__media {
  position: absolute;
  inset: 0;
  display: block;
}

.home .nv-home-hero__image,
.home .nv-home-hero__card img {
  width: 100%;
  height: 100%;
  padding: 0;
  object-fit: cover;
  object-position: center;
}

.home .nv-home-hero__card--product .nv-home-hero__image,
.home .nv-home-hero__card--product img {
  object-fit: cover;
  padding: 0;
  background: var(--norven-surface-muted);
}

.home .nv-home-hero__content,
.home .nv-home-hero__card--editorial .nv-home-hero__content {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 28px;
  z-index: 2;
  width: auto;
  max-width: 332px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--norven-dark-text);
}

.home .nv-home-hero__card--editorial .nv-home-hero__content {
  color: var(--norven-dark-text);
}

.home .nv-home-hero__card::after,
.home .nv-home-hero__card--editorial::after {
  content: "";
  position: absolute;
  inset: 34% 0 0;
  display: block;
  background: linear-gradient(180deg, rgba(27, 36, 54, 0), rgba(27, 36, 54, .62));
  pointer-events: none;
}

.home .nv-home-hero__label {
  margin: 0 0 8px;
  color: inherit;
  font-size: 9.5px;
  font-weight: 400;
  line-height: 13px;
  letter-spacing: .5px;
}

.home .nv-home-hero h2 {
  max-width: 310px;
  color: inherit;
  font-size: 24px;
  font-weight: 400;
  line-height: 31.2px;
}

.home .nv-home-hero__content p:not(.nv-home-hero__label) {
  display: block;
  max-width: 300px;
  margin-top: 10px;
  color: inherit;
  font-size: 12px;
  font-weight: 400;
  line-height: 19.8px;
}

.home .nv-home-hero__link,
.home .nv-home-hero__card--editorial .nv-home-hero__link {
  min-height: 48px;
  margin-top: 18px;
  padding: 0 18px;
  border-color: rgba(255, 255, 255, .82);
  border-radius: var(--norven-radius-sm);
  background: rgba(255, 255, 255, .94);
  color: var(--norven-cta-dark);
  font-size: 12px;
  font-weight: 400;
  line-height: 16.9px;
}

.home .nv-home-hero__controls {
  width: calc(100% - (var(--norven-page-padding-desktop) * 2));
}

@media (max-width: 900px) {
  .home .nv-home-hero {
    min-height: 676px;
    padding-bottom: 24px;
    overflow: hidden;
  }

  .home .nv-home-hero__track {
    width: 100%;
    max-width: none;
    min-height: 0;
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding: 0 var(--norven-page-padding-mobile) 8px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .home .nv-home-hero__track::-webkit-scrollbar {
    display: none;
  }

  .home .nv-home-hero__card,
  .home .nv-home-hero__card:not(:first-child) {
    flex: 0 0 calc(100vw - (var(--norven-page-padding-mobile) * 2));
    min-height: 554px;
    display: block;
    scroll-snap-align: start;
  }

  .home .nv-home-hero__media {
    position: absolute;
    inset: 0;
    height: auto;
  }

  .home .nv-home-hero__content,
  .home .nv-home-hero__card--editorial .nv-home-hero__content {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 22px;
    width: auto;
    max-width: 304px;
    padding: 0;
    background: transparent;
    text-align: left;
  }

  .home .nv-home-hero h2 {
    max-width: 286px;
    margin-inline: 0;
    font-size: 20px;
    line-height: 28px;
  }

  .home .nv-home-hero__content p:not(.nv-home-hero__label) {
    max-width: 280px;
    margin-top: 8px;
    font-size: 12px;
    line-height: 19px;
  }

  .home .nv-home-hero__link,
  .home .nv-home-hero__card--editorial .nv-home-hero__link {
    width: auto;
    max-width: none;
    margin-top: 18px;
  }
}

/* Phase 3i-10: prevent lower Home image-led sections from rendering as blank panels. */
.home .nv-story__inner {
  position: relative;
}

.home .nv-story__inner::before {
  content: "";
  min-height: 633px;
  display: block;
  grid-column: 1;
  grid-row: 1;
  background: url("assets/images/editorial/home-story-workspace.png") center / cover no-repeat var(--norven-surface-muted);
}

.home .nv-story img {
  grid-column: 1;
  grid-row: 1;
  opacity: 0;
}

.home .nv-story__copy {
  grid-column: 2;
  grid-row: 1;
}

.home .nv-solution {
  display: flex;
  align-items: stretch;
  justify-content: center;
}

.home .nv-solution img {
  width: 100%;
  height: 100%;
  min-height: 440px;
  padding: 44px;
  object-fit: contain;
  object-position: center;
  background: linear-gradient(180deg, #f8f6f1 0%, #edece6 100%);
  filter: saturate(.96);
}

.home .nv-solution::after {
  height: 50%;
  background: linear-gradient(180deg, rgba(27, 36, 54, 0), rgba(27, 36, 54, .5));
}

@media (max-width: 900px) {
  .home .nv-story__inner::before {
    min-height: 420px;
  }

  .home .nv-story img {
    min-height: 420px;
  }

  .home .nv-story__copy {
    grid-column: 1;
    grid-row: 2;
  }

  .home .nv-solution img {
    min-height: 288px;
    padding: 34px;
  }
}

/* Phase 3i-11: Yamazaki-style sliced landscape hero gallery using NORVEN assets. */
.home .nv-home-hero {
  min-height: 778px;
  background: var(--norven-bg);
}

.home .nv-home-hero__track {
  position: relative;
  gap: 0;
  isolation: isolate;
  overflow: hidden;
  background: var(--norven-surface-muted);
}

.home .nv-home-hero__track::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: url("assets/images/editorial/home-hero-warm-workspace.png") center 54% / cover no-repeat;
}

.home .nv-home-hero__track::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(18, 22, 26, .02) 0%, rgba(18, 22, 26, .06) 48%, rgba(18, 22, 26, .2) 100%),
    linear-gradient(90deg, rgba(255, 255, 255, .06) 0%, rgba(255, 255, 255, 0) 38%, rgba(255, 255, 255, .08) 100%);
  pointer-events: none;
}

.home .nv-home-hero__card,
.home .nv-home-hero__card:not(:first-child) {
  min-height: 778px;
  border-left: var(--norven-border-width) solid rgba(255, 255, 255, .34);
  background: transparent;
}

.home .nv-home-hero__card:first-child {
  border-left: 0;
}

.home .nv-home-hero__media {
  z-index: 0;
}

.home .nv-home-hero__image,
.home .nv-home-hero__card img,
.home .nv-home-hero__card--product .nv-home-hero__image,
.home .nv-home-hero__card--product img {
  opacity: 0;
}

.home .nv-home-hero__card::after,
.home .nv-home-hero__card--editorial::after {
  display: none;
}

.home .nv-home-hero__content,
.home .nv-home-hero__card--editorial .nv-home-hero__content {
  left: 56px;
  right: auto;
  bottom: 50px;
  width: min(404px, calc(100% - 64px));
  max-width: none;
  padding: 36px 32px 32px;
  border-radius: var(--norven-radius-md);
  background: rgba(255, 255, 255, .96);
  color: var(--norven-cta-dark);
  box-shadow: 0 16px 48px rgba(20, 24, 28, .12);
}

.home .nv-home-hero__card:not(:first-child) .nv-home-hero__content {
  left: 56px;
  right: 42px;
  bottom: 58px;
  width: auto;
  padding: 0;
  background: transparent;
  color: rgba(27, 36, 54, .58);
  box-shadow: none;
  text-shadow: 0 1px 18px rgba(255, 255, 255, .42);
}

.home .nv-home-hero__label {
  margin-bottom: 18px;
  color: inherit;
  font-family: var(--norven-font-sans);
  font-size: 10px;
  line-height: 13px;
  letter-spacing: .55px;
  text-transform: uppercase;
}

.home .nv-home-hero h2 {
  max-width: 360px;
  color: inherit;
  font-family: var(--norven-font-serif);
  font-size: 28px;
  font-weight: 400;
  line-height: 34px;
  letter-spacing: 0;
}

.home .nv-home-hero__card:not(:first-child) h2 {
  max-width: 340px;
  font-size: 26px;
  line-height: 33px;
}

.home .nv-home-hero__content p:not(.nv-home-hero__label) {
  margin-top: 14px;
  color: var(--norven-text-soft);
  font-size: 13px;
  line-height: 20px;
}

.home .nv-home-hero__card:not(:first-child) .nv-home-hero__content p:not(.nv-home-hero__label),
.home .nv-home-hero__card:not(:first-child) .nv-home-hero__link {
  display: none;
}

.home .nv-home-hero__link,
.home .nv-home-hero__card--editorial .nv-home-hero__link {
  min-height: 48px;
  margin-top: 28px;
  border-color: var(--norven-cta-dark);
  background: var(--norven-cta-dark);
  color: var(--norven-dark-text);
}

.home .nv-home-hero__controls {
  width: calc(100% - (var(--norven-page-padding-desktop) * 2));
  max-width: var(--norven-container-max);
  height: 0;
  pointer-events: none;
}

.home .nv-home-hero__controls > span {
  bottom: 16px;
  color: rgba(255, 255, 255, .92);
  text-shadow: 0 1px 12px rgba(0, 0, 0, .24);
}

.home .nv-home-hero__controls > div {
  right: 0;
  bottom: 14px;
}

.home .nv-home-hero__controls > div span {
  border-color: rgba(255, 255, 255, .62);
  background: rgba(255, 255, 255, .92);
  pointer-events: auto;
}

@media (max-width: 900px) {
  .home .nv-home-hero {
    min-height: 676px;
    padding-bottom: 24px;
    background: var(--norven-bg);
  }

  .home .nv-home-hero__track {
    display: flex;
    gap: 0;
    background: transparent;
  }

  .home .nv-home-hero__track::before,
  .home .nv-home-hero__track::after {
    display: none;
  }

  .home .nv-home-hero__card,
  .home .nv-home-hero__card:not(:first-child) {
    flex-basis: calc(100vw - (var(--norven-page-padding-mobile) * 2));
    min-height: 554px;
    border-left: 0;
    background: url("assets/images/editorial/home-hero-warm-workspace.png") center / cover no-repeat var(--norven-surface-muted);
  }

  .home .nv-home-hero__card:nth-child(1) {
    background-position: 28% center;
  }

  .home .nv-home-hero__card:nth-child(2) {
    background-position: 54% center;
  }

  .home .nv-home-hero__card:nth-child(3) {
    background-position: 74% center;
  }

  .home .nv-home-hero__card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(18, 22, 26, .04) 0%, rgba(18, 22, 26, .08) 46%, rgba(18, 22, 26, .42) 100%);
    pointer-events: none;
  }

  .home .nv-home-hero__content,
  .home .nv-home-hero__card--editorial .nv-home-hero__content,
  .home .nv-home-hero__card:not(:first-child) .nv-home-hero__content {
    left: 18px;
    right: 18px;
    bottom: 22px;
    width: auto;
    max-width: none;
    padding: 24px 20px 22px;
    border-radius: var(--norven-radius-md);
    background: rgba(255, 255, 255, .96);
    color: var(--norven-cta-dark);
    text-align: left;
    text-shadow: none;
    box-shadow: 0 14px 34px rgba(20, 24, 28, .12);
  }

  .home .nv-home-hero__card:not(:first-child) .nv-home-hero__content p:not(.nv-home-hero__label),
  .home .nv-home-hero__card:not(:first-child) .nv-home-hero__link {
    display: none;
  }

  .home .nv-home-hero__label {
    margin-bottom: 10px;
    font-size: 9.5px;
    line-height: 13px;
  }

  .home .nv-home-hero h2,
  .home .nv-home-hero__card:not(:first-child) h2 {
    max-width: 286px;
    font-size: 22px;
    line-height: 29px;
  }

  .home .nv-home-hero__content p:not(.nv-home-hero__label) {
    margin-top: 8px;
    font-size: 12px;
    line-height: 19px;
  }

  .home .nv-home-hero__link,
  .home .nv-home-hero__card--editorial .nv-home-hero__link {
    margin-top: 18px;
  }

  .home .nv-home-hero__controls {
    width: calc(100% - (var(--norven-page-padding-mobile) * 2));
    height: 48px;
  }

  .home .nv-home-hero__controls > span {
    bottom: 12px;
    color: var(--norven-text-muted);
    text-shadow: none;
  }

  .home .nv-home-hero__controls > div {
    bottom: 4px;
  }
}

/* Phase 3i-12: sitewide Yamazaki-style compact commerce refinement. */
.nv-container,
.home .nv-container,
.post-type-archive-product .nv-container,
.tax-product_cat .nv-container,
.single-product .nv-container {
  width: calc(100% - (var(--norven-page-padding-desktop) * 2));
  max-width: var(--norven-container-max);
  padding-inline: 0;
}

.nv-card,
.nv-card *,
.nv-shop__main,
.nv-pdp__summary,
.nv-gallery,
.nv-gallery__main {
  min-width: 0;
}

.post-type-archive-product .nv-shop-hero,
.tax-product_cat .nv-shop-hero {
  border-bottom: var(--norven-border-width) solid var(--norven-border);
  background: var(--norven-surface-muted);
}

.post-type-archive-product .nv-shop-hero__inner,
.tax-product_cat .nv-shop-hero__inner {
  min-height: 190px;
  justify-content: center;
}

.post-type-archive-product .nv-category-pills__inner,
.tax-product_cat .nv-category-pills__inner {
  overflow-x: auto;
  scrollbar-width: none;
}

.post-type-archive-product .nv-category-pills__inner::-webkit-scrollbar,
.tax-product_cat .nv-category-pills__inner::-webkit-scrollbar {
  display: none;
}

.post-type-archive-product .nv-shop__layout,
.tax-product_cat .nv-shop__layout {
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 28px;
}

.post-type-archive-product .nv-shop__sidebar,
.tax-product_cat .nv-shop__sidebar {
  border-right: var(--norven-border-width) solid var(--norven-border);
  padding-right: 24px;
}

.post-type-archive-product .nv-products--shop,
.tax-product_cat .nv-products--shop,
.single-product .nv-products--pdp {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 40px 24px;
}

.home .nv-card--home .nv-card__image,
.post-type-archive-product .nv-card--shop .nv-card__image,
.tax-product_cat .nv-card--shop .nv-card__image,
.single-product .nv-card--pdp .nv-card__image {
  border-radius: 0;
  background: #f8f6f1;
}

.home .nv-card--home .nv-card__image img,
.post-type-archive-product .nv-card--shop .nv-card__image img,
.tax-product_cat .nv-card--shop .nv-card__image img,
.single-product .nv-card--pdp .nv-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home .nv-card--home .nv-card__label,
.post-type-archive-product .nv-card--shop .nv-card__label,
.tax-product_cat .nv-card--shop .nv-card__label,
.single-product .nv-card--pdp .nv-card__label {
  margin-bottom: 4px;
  color: var(--norven-text-muted);
  font-size: 9.5px;
  font-weight: 400;
  line-height: 13px;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.home .nv-card--home .nv-card__title,
.post-type-archive-product .nv-card--shop .nv-card__title,
.tax-product_cat .nv-card--shop .nv-card__title,
.single-product .nv-card--pdp .nv-card__title,
.home .nv-card--home .nv-card__price,
.post-type-archive-product .nv-card--shop .nv-card__price,
.tax-product_cat .nv-card--shop .nv-card__price,
.single-product .nv-card--pdp .nv-card__price {
  color: var(--norven-text);
  font-size: 15px;
  font-weight: 400;
  line-height: 20.8px;
}

.home .nv-card--home .nv-card__action,
.post-type-archive-product .nv-card--shop .nv-card__action,
.tax-product_cat .nv-card--shop .nv-card__action,
.single-product .nv-card--pdp .nv-card__action {
  min-height: 46px;
  border-radius: var(--norven-radius-sm);
  background: var(--norven-surface);
  font-size: 12px;
  line-height: 16.9px;
}

.single-product .nv-pdp__grid {
  grid-template-columns: minmax(0, 1.18fr) minmax(360px, .72fr);
  gap: 56px;
}

.single-product .nv-pdp__summary {
  border: var(--norven-border-width) solid var(--norven-border);
  border-radius: var(--norven-radius-sm);
  padding: 28px;
  background: var(--norven-surface);
}

.single-product .nv-gallery__main {
  border: var(--norven-border-width) solid var(--norven-border);
}

.single-product .nv-product-title {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

.single-product .nv-pdp form.cart {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 12px;
}

.single-product .nv-pdp .single_add_to_cart_button {
  width: 100%;
  min-height: 48px;
  border-radius: var(--norven-radius-sm);
  background: var(--norven-cta-dark);
  font-size: 12px;
  font-weight: 500;
  line-height: 16.9px;
}

@media (max-width: 1180px) {
  .post-type-archive-product .nv-products--shop,
  .tax-product_cat .nv-products--shop,
  .single-product .nv-products--pdp {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .nv-container,
  .home .nv-container,
  .post-type-archive-product .nv-container,
  .tax-product_cat .nv-container,
  .single-product .nv-container {
    width: calc(100% - (var(--norven-page-padding-mobile) * 2));
    max-width: none;
  }

  .post-type-archive-product .nv-shop-hero__inner,
  .tax-product_cat .nv-shop-hero__inner {
    min-height: 158px;
    padding-top: 28px;
    padding-bottom: 28px;
  }

  .post-type-archive-product .nv-category-pills__inner,
  .tax-product_cat .nv-category-pills__inner {
    width: 100%;
    padding-inline: var(--norven-page-padding-mobile);
    gap: 24px;
  }

  .post-type-archive-product .nv-shop,
  .tax-product_cat .nv-shop {
    padding-top: 28px;
  }

  .post-type-archive-product .nv-shop__layout,
  .tax-product_cat .nv-shop__layout {
    display: block;
  }

  .post-type-archive-product .nv-shop__toolbar,
  .tax-product_cat .nv-shop__toolbar {
    width: 100%;
  }

  .post-type-archive-product .nv-shop__actions,
  .tax-product_cat .nv-shop__actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .post-type-archive-product .nv-products--shop,
  .tax-product_cat .nv-products--shop,
  .single-product .nv-products--pdp,
  .home .nv-products--home {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 12px;
  }

  .post-type-archive-product .nv-card--shop,
  .tax-product_cat .nv-card--shop,
  .single-product .nv-card--pdp,
  .home .nv-card--home {
    width: 100%;
  }

  .post-type-archive-product .nv-card--shop .nv-card__image,
  .tax-product_cat .nv-card--shop .nv-card__image,
  .single-product .nv-card--pdp .nv-card__image,
  .home .nv-card--home .nv-card__image {
    aspect-ratio: 1 / 1;
  }

  .home .nv-card--home .nv-card__title,
  .post-type-archive-product .nv-card--shop .nv-card__title,
  .tax-product_cat .nv-card--shop .nv-card__title,
  .single-product .nv-card--pdp .nv-card__title,
  .home .nv-card--home .nv-card__price,
  .post-type-archive-product .nv-card--shop .nv-card__price,
  .tax-product_cat .nv-card--shop .nv-card__price,
  .single-product .nv-card--pdp .nv-card__price {
    font-size: 13px;
    line-height: 18.2px;
  }

  .home .nv-card--home .nv-card__action,
  .post-type-archive-product .nv-card--shop .nv-card__action,
  .tax-product_cat .nv-card--shop .nv-card__action,
  .single-product .nv-card--pdp .nv-card__action {
    width: 100%;
    min-height: 38px;
    padding-inline: 8px;
    font-size: 11.5px;
  }

  .single-product .nv-pdp {
    padding-top: 0;
  }

  .single-product .nv-pdp__grid {
    display: block;
  }

  .single-product .nv-pdp__breadcrumb {
    display: none;
  }

  .single-product .nv-gallery {
    width: 100%;
    margin-inline: auto;
  }

  .single-product .nv-gallery__thumbs {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px;
    padding: 16px;
    background: var(--norven-surface-promo);
  }

  .single-product .nv-gallery__main,
  .single-product .nv-gallery__main img {
    width: 100%;
    max-width: 100%;
  }

  .single-product .nv-pdp__summary {
    width: 100%;
    margin-top: 22px;
    border-left: 0;
    border-right: 0;
    padding: 0 0 24px;
  }

  .single-product .nv-product-title {
    font-size: 24px;
    line-height: 31.2px;
  }

  .single-product .nv-pdp form.cart {
    grid-template-columns: 78px minmax(0, 1fr);
  }

  .single-product .nv-pdp .quantity input.qty,
  .single-product .nv-pdp .single_add_to_cart_button {
    min-width: 0;
  }
}

/* Phase 3i-13: closer Yamazaki navigation density and mobile text containment. */
.nv-announcement {
  background: var(--norven-surface-muted);
  border-bottom: var(--norven-border-width) solid var(--norven-border);
}

.nv-header {
  background: var(--norven-surface-muted);
  backdrop-filter: none;
}

.nv-header__inner {
  min-height: 90px;
  grid-template-columns: 116px minmax(0, 1fr) 300px;
  max-width: none;
  padding-inline: var(--norven-page-padding-desktop);
}

.nv-header .nv-logo {
  width: 82px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: var(--norven-border-width) solid var(--norven-text);
  color: var(--norven-text);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0;
}

.nv-nav__list {
  gap: 28px;
}

.nv-nav__list a,
.nv-tool {
  font-size: 10.5px;
  font-weight: 400;
  line-height: 14.5px;
  letter-spacing: .55px;
  text-transform: uppercase;
}

.nv-header__tools {
  gap: 12px;
}

.nv-tool--search {
  min-width: 180px;
  min-height: 36px;
  justify-content: flex-start;
  border: var(--norven-border-width) solid var(--norven-border);
  border-radius: 999px;
  padding-inline: 16px;
  background: var(--norven-surface);
}

.nv-tool--account,
.nv-tool--cart {
  min-height: 36px;
  align-items: center;
}

.home .nv-card__title a,
.post-type-archive-product .nv-card__title a,
.tax-product_cat .nv-card__title a,
.single-product .nv-card__title a {
  display: -webkit-box;
  min-height: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.single-product .nv-product-title {
  white-space: normal;
  hyphens: auto;
}

@media (max-width: 900px) {
  .nv-header__inner {
    min-height: 62px;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    padding-inline: var(--norven-page-padding-mobile);
  }

  .nv-header .nv-logo {
    width: auto;
    height: auto;
    border: 0;
    justify-self: center;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: .28em;
  }

  .nv-tool--search,
  .nv-tool--account {
    min-width: 0;
    border: 0;
    padding: 0;
    background: transparent;
  }

  .post-type-archive-product .nv-card__title a,
  .tax-product_cat .nv-card__title a,
  .single-product .nv-card__title a,
  .home .nv-card__title a {
    min-height: 36px;
  }

  .single-product .nv-product-title {
    max-width: 358px;
    font-size: 23px;
    line-height: 30px;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .single-product .nv-subheading,
  .single-product .nv-rating-summary,
  .single-product .nv-price {
    max-width: 358px;
  }

  .post-type-archive-product .nv-sort select,
  .tax-product_cat .nv-sort select,
  .post-type-archive-product .nv-filter-toggle,
  .tax-product_cat .nv-filter-toggle {
    min-height: 44px;
    padding-inline: 12px;
    text-align: center;
  }
}

/* Phase 3i-14: hard mobile containment for WooCommerce product controls. */
@media (max-width: 900px) {
  .single-product .nv-pdp__summary,
  .single-product .nv-pdp__summary *,
  .single-product .nv-pdp-details,
  .single-product .nv-pdp-details * {
    max-width: 100%;
  }

  .single-product .nv-pdp form.cart {
    width: 100%;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: stretch;
  }

  .single-product .nv-pdp .quantity,
  .single-product .nv-pdp .quantity input.qty {
    width: 72px;
    max-width: 72px;
  }

  .single-product .nv-pdp .single_add_to_cart_button,
  .single-product .nv-pdp button.single_add_to_cart_button,
  .single-product .nv-pdp button[type="submit"] {
    min-width: 0 !important;
    max-width: 100%;
    width: 100%;
    padding-inline: 12px;
    white-space: normal;
  }

  .single-product .nv-pdp-copy,
  .single-product .nv-pdp-checks,
  .single-product .nv-pdp-details p {
    overflow-wrap: anywhere;
  }
}

/* Phase 3i-16: full-bleed desktop hero and true Yamazaki mobile hero structure. */
.home .nv-home-hero {
  width: 100%;
  min-height: 778px;
  overflow: hidden;
  background: var(--norven-bg);
}

.home .nv-home-hero__track {
  width: 100%;
  max-width: none;
  min-height: 778px;
  margin: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home .nv-home-hero__card,
.home .nv-home-hero__card:not(:first-child) {
  min-height: 778px;
}

.home .nv-home-hero__controls {
  width: calc(100% - 64px);
  max-width: none;
}

@media (max-width: 900px) {
  .home .nv-home-hero {
    min-height: 0;
    padding-bottom: 0;
    background: #fff;
  }

  .home .nv-home-hero__track {
    display: block;
    width: 100%;
    max-width: none;
    min-height: 0;
    overflow: visible;
    background: var(--norven-bg);
  }

  .home .nv-home-hero__track::before,
  .home .nv-home-hero__track::after {
    display: none;
  }

  .home .nv-home-hero__card,
  .home .nv-home-hero__card:not(:first-child) {
    display: none;
  }

  .home .nv-home-hero__card:first-child {
    display: block;
    min-height: 0;
    border: 0;
    background: transparent;
  }

  .home .nv-home-hero__card:first-child::before,
  .home .nv-home-hero__card:first-child::after,
  .home .nv-home-hero__card--editorial::after {
    display: none;
  }

  .home .nv-home-hero__media {
    position: relative;
    inset: auto;
    z-index: auto;
    display: block;
    width: 100%;
    height: clamp(455px, 96vw, 700px);
    overflow: hidden;
  }

  .home .nv-home-hero__image,
  .home .nv-home-hero__card img,
  .home .nv-home-hero__card--product .nv-home-hero__image,
  .home .nv-home-hero__card--product img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
    object-fit: cover;
    object-position: center;
  }

  .home .nv-home-hero__content,
  .home .nv-home-hero__card--editorial .nv-home-hero__content,
  .home .nv-home-hero__card:not(:first-child) .nv-home-hero__content {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    max-width: none;
    padding: 40px var(--norven-page-padding-mobile) 44px;
    border-radius: 0;
    background: #fff;
    color: var(--norven-cta-dark);
    text-align: center;
    text-shadow: none;
    box-shadow: none;
  }

  .home .nv-home-hero__label {
    margin: 0 auto 12px;
    color: var(--norven-text-muted);
    font-size: 9.5px;
    line-height: 13px;
    letter-spacing: .55px;
  }

  .home .nv-home-hero h2,
  .home .nv-home-hero__card:not(:first-child) h2 {
    max-width: 350px;
    margin-inline: auto;
    color: var(--norven-text);
    font-size: 24px;
    line-height: 31.2px;
  }

  .home .nv-home-hero__content p:not(.nv-home-hero__label) {
    max-width: 322px;
    margin: 12px auto 0;
    color: var(--norven-text-muted);
    font-size: 13px;
    line-height: 20px;
  }

  .home .nv-home-hero__link,
  .home .nv-home-hero__card--editorial .nv-home-hero__link {
    width: min(100%, 316px);
    min-height: 48px;
    margin: 24px auto 0;
  }

  .home .nv-home-hero__controls {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    width: calc(100% - 32px);
    height: 56px;
    margin: 0 auto;
    color: var(--norven-text-muted);
  }

  .home .nv-home-hero__controls > span {
    bottom: 18px;
    color: var(--norven-text-muted);
    text-shadow: none;
  }

  .home .nv-home-hero__controls > div {
    right: 0;
    bottom: 10px;
  }
}

@media (max-width: 480px) {
  .home .nv-home-hero__media {
    height: 360px;
  }

  .home .nv-home-hero__content,
  .home .nv-home-hero__card--editorial .nv-home-hero__content {
    padding: 32px var(--norven-page-padding-mobile) 36px;
  }
}

/* Phase 3i-17: mobile containment for the corrected hero and promo strip. */
.home .nv-home-hero__card:not(:first-child) .nv-home-hero__content {
  display: none;
}

@media (max-width: 900px) {
  .home .nv-home-hero,
  .home .nv-home-hero *,
  .home .nv-trust--global,
  .home .nv-trust--home,
  .home .nv-trust--global *,
  .home .nv-trust--home * {
    box-sizing: border-box;
  }

  .home .nv-home-hero__track,
  .home .nv-home-hero__card:first-child,
  .home .nv-home-hero__media,
  .home .nv-home-hero__content {
    max-width: 100%;
  }

  .home .nv-home-hero__content p:not(.nv-home-hero__label) {
    overflow-wrap: anywhere;
  }

  .home .nv-home-hero__media {
    height: clamp(360px, 64vw, 520px);
  }

  .home .nv-home-hero h2,
  .home .nv-home-hero__card:not(:first-child) h2 {
    font-size: 22px;
    line-height: 29px;
  }

  .home .nv-home-hero__link,
  .home .nv-home-hero__card--editorial .nv-home-hero__link {
    max-width: calc(100vw - 32px);
  }

  .home .nv-trust--global,
  .home .nv-trust--home {
    padding-top: 24px;
    overflow: hidden;
  }

  .home .nv-trust--global .nv-trust__grid,
  .home .nv-trust--home .nv-trust__grid {
    width: calc(100% - 32px);
    max-width: 358px;
    min-height: 92px;
    margin-inline: auto;
  }

  .home .nv-trust--global .nv-trust__item,
  .home .nv-trust--home .nv-trust__item {
    min-height: 92px;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: 20px 18px;
    text-align: center;
  }

  .home .nv-trust--global .nv-trust__icon,
  .home .nv-trust--home .nv-trust__icon,
  .home .nv-trust--global p,
  .home .nv-trust--home p {
    display: none;
  }

  .home .nv-trust--global strong,
  .home .nv-trust--home strong {
    display: block;
    max-width: 100%;
    font-size: 16px;
    line-height: 22.4px;
    overflow-wrap: anywhere;
  }
}

/* Phase 3i-18: tighten Home promo and Best Sellers rhythm against Figma Home frames. */
.home .nv-trust--global,
.home .nv-trust--home {
  padding-top: 48px;
}

.home .nv-trust--global .nv-trust__grid,
.home .nv-trust--home .nv-trust__grid {
  width: min(calc(100% - 64px), 1145px);
  min-height: 128px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--norven-radius-md);
  background: var(--norven-surface-promo);
}

.home .nv-trust--global .nv-trust__item,
.home .nv-trust--home .nv-trust__item {
  min-height: 128px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 22px 40px;
  text-align: center;
}

.home .nv-trust--global .nv-trust__icon,
.home .nv-trust--home .nv-trust__icon {
  display: none;
}

.home .nv-trust--global strong,
.home .nv-trust--home strong {
  max-width: 820px;
  margin: 0 auto;
  color: var(--norven-text);
  font-family: var(--norven-font-serif);
  font-size: 20px;
  font-weight: 400;
  line-height: 28px;
}

.home .nv-trust--global p,
.home .nv-trust--home p {
  max-width: 520px;
  margin: 0 auto;
  color: var(--norven-text-muted);
  font-size: 12px;
  line-height: 19px;
}

.home .nv-best-sellers {
  padding-top: 80px;
  padding-bottom: 96px;
}

.home .nv-best-sellers__layout {
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  gap: 48px;
  align-items: start;
}

.home .nv-best-sellers__intro .nv-section__heading {
  max-width: 310px;
  font-size: 32px;
  line-height: 41.6px;
}

.home .nv-best-sellers__intro p:not(.nv-section__eyebrow) {
  max-width: 276px;
  margin-top: 16px;
  color: var(--norven-text-muted);
  font-size: 13px;
  line-height: 21px;
}

.home .nv-best-sellers__intro .nv-text-link {
  margin-top: 20px;
  font-size: 12px;
  line-height: 17px;
}

.home .nv-products--home {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 52px 24px;
}

.home .nv-card--home .nv-card__body {
  padding-top: 12px;
}

.home .nv-card--home .nv-card__label {
  margin-bottom: 4px;
  font-size: 9.5px;
  line-height: 13px;
}

.home .nv-card--home .nv-card__title,
.home .nv-card--home .nv-card__price {
  font-size: 15px;
  line-height: 20.8px;
}

.home .nv-card--home .nv-card__summary,
.home .nv-card--home .nv-card__hint {
  display: none;
}

.home .nv-card--home .nv-card__action {
  min-height: 46px;
  margin-top: 12px;
  border-radius: var(--norven-radius-sm);
  font-size: 12px;
  line-height: 16.9px;
}

@media (max-width: 900px) {
  .home .nv-trust--global,
  .home .nv-trust--home {
    padding-top: 16px;
  }

  .home .nv-trust--global .nv-trust__grid,
  .home .nv-trust--home .nv-trust__grid {
    width: calc(100% - 32px);
    max-width: 358px;
    min-height: 92px;
  }

  .home .nv-trust--global .nv-trust__item,
  .home .nv-trust--home .nv-trust__item {
    min-height: 92px;
    padding: 20px 18px;
  }

  .home .nv-trust--global strong,
  .home .nv-trust--home strong {
    max-width: 292px;
    font-size: 16px;
    line-height: 22.4px;
  }

  .home .nv-trust--global p,
  .home .nv-trust--home p {
    display: none;
  }

  .home .nv-best-sellers {
    padding-top: 56px;
    padding-bottom: 64px;
  }

  .home .nv-best-sellers__layout {
    display: block;
  }

  .home .nv-best-sellers__intro {
    margin-bottom: 28px;
  }

  .home .nv-best-sellers__intro .nv-section__heading {
    max-width: 342px;
    font-size: 24px;
    line-height: 31.2px;
  }

  .home .nv-best-sellers__intro p:not(.nv-section__eyebrow) {
    max-width: 332px;
    margin-top: 12px;
    font-size: 13px;
    line-height: 20px;
  }

  .home .nv-best-sellers__intro .nv-text-link {
    margin-top: 16px;
  }

  .home .nv-products--home {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 12px;
  }

  .home .nv-card--home .nv-card__body {
    padding-top: 9px;
  }

  .home .nv-card--home .nv-card__label {
    font-size: 9px;
    line-height: 12.5px;
  }

  .home .nv-card--home .nv-card__title,
  .home .nv-card--home .nv-card__price {
    font-size: 13px;
    line-height: 18.2px;
  }

  .home .nv-card--home .nv-card__action {
    min-height: 38px;
    margin-top: 8px;
    padding-inline: 8px;
    font-size: 11.5px;
  }
}

/* Phase 3i-19: lower Home section rhythm and mobile containment. */
.home .nv-brand-intro,
.home .nv-story,
.home .nv-solutions-section,
.home .nv-setup,
.home .nv-notes,
.home .nv-materials {
  overflow: hidden;
}

.home .nv-brand-intro {
  min-height: 362px;
}

.home .nv-story {
  padding-top: 96px;
  padding-bottom: 96px;
}

.home .nv-story__inner {
  width: calc(100% - 64px);
  max-width: 1376px;
  min-height: 633px;
  margin-inline: auto;
}

.home .nv-solutions-section {
  min-height: 729px;
  padding-top: 72px;
  padding-bottom: 96px;
}

.home .nv-solutions-section > .nv-container {
  width: calc(100% - 64px);
  max-width: 1376px;
}

.home .nv-solution,
.home .nv-solution img {
  min-height: 450px;
}

.home .nv-setup {
  min-height: 940px;
  display: grid;
  align-items: center;
  padding-top: 96px;
  padding-bottom: 96px;
}

.home .nv-setup__inner {
  width: calc(100% - 64px);
  max-width: 1376px;
  min-height: 748px;
  margin-inline: auto;
}

.home .nv-setup__products,
.home .nv-setup__product {
  min-width: 0;
}

@media (max-width: 900px) {
  .home .nv-brand-intro,
  .home .nv-story,
  .home .nv-solutions-section,
  .home .nv-setup,
  .home .nv-notes,
  .home .nv-materials {
    overflow-x: clip;
  }

  .home .nv-brand-intro .nv-container,
  .home .nv-story__inner,
  .home .nv-solutions-section > .nv-container,
  .home .nv-setup__inner,
  .home .nv-notes .nv-container,
  .home .nv-materials .nv-container {
    width: calc(100% - 32px);
    max-width: 358px;
    margin-inline: auto;
    padding-inline: 0;
    box-sizing: border-box;
  }

  .home .nv-brand-intro {
    min-height: 258px;
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .home .nv-brand-intro h2 {
    max-width: 358px;
  }

  .home .nv-brand-intro p:last-child {
    max-width: 330px;
  }

  .home .nv-story {
    min-height: 923px;
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .home .nv-story__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    min-height: 795px;
  }

  .home .nv-story__inner::before {
    min-height: 520px;
  }

  .home .nv-story img {
    min-height: 520px;
  }

  .home .nv-story__copy {
    grid-column: 1;
    grid-row: 2;
    padding: 32px 20px 36px;
  }

  .home .nv-story h2 {
    max-width: 300px;
  }

  .home .nv-story p {
    max-width: 300px;
  }

  .home .nv-solutions-section {
    min-height: 1247px;
    padding-top: 23px;
    padding-bottom: 40px;
  }

  .home .nv-solutions-section .nv-section__heading {
    text-align: left;
  }

  .home .nv-solutions {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 22px;
  }

  .home .nv-solution,
  .home .nv-solution img {
    width: 100%;
    min-height: 274px;
    box-sizing: border-box;
  }

  .home .nv-solution img {
    padding: 18px;
  }

  .home .nv-setup {
    min-height: 1011px;
    display: block;
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .home .nv-setup__inner {
    min-height: 851px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 24px 16px;
    box-sizing: border-box;
  }

  .home .nv-setup__copy,
  .home .nv-setup__products,
  .home .nv-setup__cta {
    min-width: 0;
    max-width: 100%;
  }

  .home .nv-setup__products {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 0;
    overflow: hidden;
  }

  .home .nv-setup__product {
    width: 100%;
    max-width: 100%;
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    column-gap: 12px;
    align-items: center;
    text-align: left;
    box-sizing: border-box;
  }

  .home .nv-setup__product img {
    width: 82px;
    height: 82px;
    grid-row: span 2;
  }

  .home .nv-setup__product span,
  .home .nv-setup__product strong {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
  }

  .home .nv-setup__plus {
    display: none;
  }

  .home .nv-setup__copy .nv-button,
  .home .nv-setup__cta .nv-button {
    width: 100%;
    max-width: 326px;
  }
}

/* Phase 3i-20: Shop desktop/mobile commerce grid and filter rhythm. */
.post-type-archive-product,
.tax-product_cat {
  background: var(--norven-bg);
}

.post-type-archive-product .nv-shop-hero,
.tax-product_cat .nv-shop-hero {
  min-height: 210px;
  overflow: hidden;
  border-bottom: var(--norven-border-width) solid var(--norven-border);
  background: var(--norven-surface-muted);
}

.post-type-archive-product .nv-shop-hero img,
.tax-product_cat .nv-shop-hero img,
.post-type-archive-product .nv-shop-hero__overlay,
.tax-product_cat .nv-shop-hero__overlay {
  display: none;
}

.post-type-archive-product .nv-shop-hero__inner,
.tax-product_cat .nv-shop-hero__inner {
  min-height: 210px;
  justify-content: center;
  padding-top: 34px;
  padding-bottom: 34px;
}

.post-type-archive-product .nv-shop-hero h1,
.tax-product_cat .nv-shop-hero h1 {
  max-width: 560px;
  margin: 0;
  font-family: var(--norven-font-serif);
  font-size: 32px;
  font-weight: 400;
  line-height: 41.6px;
}

.post-type-archive-product .nv-shop-hero p,
.tax-product_cat .nv-shop-hero p {
  max-width: 480px;
  margin-top: 12px;
  color: var(--norven-text-muted);
  font-size: 13px;
  line-height: 20px;
}

.post-type-archive-product .nv-shop,
.tax-product_cat .nv-shop {
  padding-top: 34px;
  padding-bottom: 64px;
  overflow-x: clip;
}

.post-type-archive-product .nv-shop > .nv-container,
.tax-product_cat .nv-shop > .nv-container,
.post-type-archive-product .nv-category-pills__inner,
.tax-product_cat .nv-category-pills__inner {
  width: calc(100% - 64px);
  max-width: var(--norven-container-max);
  margin-inline: auto;
  padding-inline: 0;
}

.post-type-archive-product .nv-shop__layout,
.tax-product_cat .nv-shop__layout {
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.post-type-archive-product .nv-shop__sidebar,
.tax-product_cat .nv-shop__sidebar {
  position: sticky;
  top: calc(var(--norven-header-total-desktop) + 24px);
  min-width: 0;
  border-right: var(--norven-border-width) solid var(--norven-border);
  padding-right: 24px;
}

.post-type-archive-product .nv-shop__main,
.tax-product_cat .nv-shop__main {
  min-width: 0;
}

.post-type-archive-product .nv-shop__toolbar,
.tax-product_cat .nv-shop__toolbar {
  min-height: 44px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.post-type-archive-product .nv-shop__count,
.tax-product_cat .nv-shop__count {
  color: var(--norven-text);
  font-size: 12px;
  font-weight: 400;
  line-height: 16.9px;
}

.post-type-archive-product .nv-shop__actions,
.tax-product_cat .nv-shop__actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.post-type-archive-product .nv-filter-toggle,
.tax-product_cat .nv-filter-toggle {
  display: none;
}

.post-type-archive-product .nv-sort,
.tax-product_cat .nv-sort {
  display: flex;
  align-items: center;
  gap: 10px;
}

.post-type-archive-product .nv-sort select,
.tax-product_cat .nv-sort select,
.post-type-archive-product .nv-price-filter input,
.tax-product_cat .nv-price-filter input {
  min-height: 40px;
  border: var(--norven-border-width) solid var(--norven-border);
  border-radius: var(--norven-radius-sm);
  background: var(--norven-surface);
  color: var(--norven-text);
  font-size: 12px;
  font-weight: 400;
}

.post-type-archive-product .nv-products--shop,
.tax-product_cat .nv-products--shop {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 42px 24px;
}

.post-type-archive-product .nv-card--shop,
.tax-product_cat .nv-card--shop {
  min-width: 0;
  border: 0;
  background: transparent;
}

.post-type-archive-product .nv-card--shop .nv-card__image,
.tax-product_cat .nv-card--shop .nv-card__image {
  aspect-ratio: 1 / 1;
  border-radius: 0;
  background: #f8f6f1;
}

.post-type-archive-product .nv-card--shop .nv-card__body,
.tax-product_cat .nv-card--shop .nv-card__body {
  padding-top: 12px;
}

.post-type-archive-product .nv-card--shop .nv-card__summary,
.tax-product_cat .nv-card--shop .nv-card__summary,
.post-type-archive-product .nv-card--shop .nv-card__hint,
.tax-product_cat .nv-card--shop .nv-card__hint {
  display: none;
}

.post-type-archive-product .nv-card--shop .nv-card__title,
.tax-product_cat .nv-card--shop .nv-card__title,
.post-type-archive-product .nv-card--shop .nv-card__price,
.tax-product_cat .nv-card--shop .nv-card__price {
  font-size: 15px;
  font-weight: 400;
  line-height: 20.8px;
}

.post-type-archive-product .nv-card--shop .nv-card__action,
.tax-product_cat .nv-card--shop .nv-card__action {
  min-height: 46px;
  margin-top: 12px;
  border-radius: var(--norven-radius-sm);
  font-size: 12px;
  font-weight: 400;
  line-height: 16.9px;
}

@media (max-width: 1180px) and (min-width: 901px) {
  .post-type-archive-product .nv-products--shop,
  .tax-product_cat .nv-products--shop {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .post-type-archive-product .nv-shop-hero,
  .tax-product_cat .nv-shop-hero,
  .post-type-archive-product .nv-shop-hero__inner,
  .tax-product_cat .nv-shop-hero__inner {
    min-height: 158px;
  }

  .post-type-archive-product .nv-shop-hero__inner,
  .tax-product_cat .nv-shop-hero__inner {
    width: calc(100% - 32px);
    max-width: 358px;
    padding-top: 28px;
    padding-bottom: 28px;
  }

  .post-type-archive-product .nv-shop-hero h1,
  .tax-product_cat .nv-shop-hero h1 {
    font-size: 24px;
    line-height: 31.2px;
  }

  .post-type-archive-product .nv-shop-hero p,
  .tax-product_cat .nv-shop-hero p {
    font-size: 12px;
    line-height: 18px;
  }

  .post-type-archive-product .nv-shop,
  .tax-product_cat .nv-shop {
    padding-top: 28px;
    padding-bottom: 56px;
  }

  .post-type-archive-product .nv-shop > .nv-container,
  .tax-product_cat .nv-shop > .nv-container,
  .post-type-archive-product .nv-category-pills__inner,
  .tax-product_cat .nv-category-pills__inner {
    width: calc(100% - 32px);
    max-width: 358px;
  }

  .post-type-archive-product .nv-shop__layout,
  .tax-product_cat .nv-shop__layout {
    display: block;
  }

  .post-type-archive-product .nv-shop__sidebar,
  .tax-product_cat .nv-shop__sidebar {
    display: none;
  }

  .post-type-archive-product .nv-shop__toolbar,
  .tax-product_cat .nv-shop__toolbar {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin-bottom: 20px;
  }

  .post-type-archive-product .nv-shop__actions,
  .tax-product_cat .nv-shop__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .post-type-archive-product .nv-filter-toggle,
  .tax-product_cat .nv-filter-toggle {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: var(--norven-border-width) solid var(--norven-border);
    border-radius: var(--norven-radius-sm);
    background: var(--norven-surface);
    color: var(--norven-text);
    font-size: 12px;
    font-weight: 400;
  }

  .post-type-archive-product .nv-sort,
  .tax-product_cat .nv-sort {
    min-width: 0;
    display: block;
  }

  .post-type-archive-product .nv-sort label,
  .tax-product_cat .nv-sort label {
    display: none;
  }

  .post-type-archive-product .nv-sort select,
  .tax-product_cat .nv-sort select {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding-inline: 12px;
    text-align: center;
  }

  .post-type-archive-product .nv-products--shop,
  .tax-product_cat .nv-products--shop {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 12px;
  }

  .post-type-archive-product .nv-card--shop .nv-card__body,
  .tax-product_cat .nv-card--shop .nv-card__body {
    padding-top: 9px;
  }

  .post-type-archive-product .nv-card--shop .nv-card__label,
  .tax-product_cat .nv-card--shop .nv-card__label {
    font-size: 9px;
    line-height: 12.5px;
  }

  .post-type-archive-product .nv-card--shop .nv-card__title,
  .tax-product_cat .nv-card--shop .nv-card__title,
  .post-type-archive-product .nv-card--shop .nv-card__price,
  .tax-product_cat .nv-card--shop .nv-card__price {
    font-size: 13px;
    line-height: 18.2px;
  }

  .post-type-archive-product .nv-card--shop .nv-card__action,
  .tax-product_cat .nv-card--shop .nv-card__action {
    width: 100%;
    min-height: 38px;
    margin-top: 8px;
    padding-inline: 8px;
    white-space: normal;
    font-size: 11.5px;
    line-height: 16.9px;
  }

  .nv-filter-drawer__panel {
    width: min(100vw, 390px);
    max-width: 100%;
    box-sizing: border-box;
  }

  .nv-filter-form--mobile,
  .nv-filter-form--mobile * {
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* Phase 3i-21: force Shop desktop filters back into a quiet vertical sidebar. */
@media (min-width: 901px) {
  .post-type-archive-product .nv-shop__layout,
  .tax-product_cat .nv-shop__layout {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 28px;
  }

  .post-type-archive-product .nv-shop__sidebar,
  .tax-product_cat .nv-shop__sidebar {
    width: 220px;
    max-width: 220px;
    overflow: hidden;
  }

  .post-type-archive-product .nv-filter-form--desktop,
  .tax-product_cat .nv-filter-form--desktop {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .post-type-archive-product .nv-filter-form--desktop .nv-filter-group,
  .tax-product_cat .nv-filter-form--desktop .nv-filter-group {
    min-width: 0;
    display: block;
  }

  .post-type-archive-product .nv-filter-form--desktop .nv-price-filter,
  .tax-product_cat .nv-filter-form--desktop .nv-price-filter {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .post-type-archive-product .nv-filter-form--desktop .nv-price-filter input,
  .tax-product_cat .nv-filter-form--desktop .nv-price-filter input,
  .post-type-archive-product .nv-filter-form--desktop .nv-filter-actions .nv-button,
  .tax-product_cat .nv-filter-form--desktop .nv-filter-actions .nv-button {
    width: 100%;
  }
}

/* Phase 1 final guard: WooCommerce gives empty-cart "New in store" fixed columns. */
@media (max-width: 900px) {
  .woocommerce-cart .wp-block-woocommerce-cart.alignwide,
  .woocommerce-checkout .wp-block-woocommerce-cart.alignwide {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
    box-sizing: border-box;
  }

  .woocommerce-cart .wp-block-woocommerce-empty-cart-block,
  .woocommerce-checkout .wp-block-woocommerce-empty-cart-block {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
    box-sizing: border-box;
  }

  .woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title,
  .woocommerce-checkout .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
    display: block;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    font-size: 22px;
    line-height: 1.25;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__products,
  .woocommerce-checkout .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__products {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px;
  }

  .woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__product,
  .woocommerce-checkout .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__product {
    flex: initial !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow: hidden;
  }

  .woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img,
  .woocommerce-checkout .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto;
  }

  .woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title,
  .woocommerce-checkout .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
    display: block !important;
    width: 100%;
    max-width: 240px;
    margin-left: auto;
    margin-right: auto;
    font-size: 12px;
    line-height: 1.35;
    white-space: normal !important;
    overflow: visible;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}

/* Target A closeout: final Yamazaki Figma snapshot alignment layer. */
:root {
  --norven-header-total-mobile: 98px;
  --norven-header-main-height-mobile: 70px;
  --norven-footer-min-height-mobile: 1227px;
}

.nv-topbar {
  height: var(--norven-announcement-height-desktop);
  min-height: var(--norven-announcement-height-desktop);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 62px;
  border-bottom: var(--norven-border-width) solid var(--norven-border);
  background: var(--norven-surface-muted);
  color: var(--norven-text-soft);
  font-family: var(--norven-font-serif);
  font-size: 11px;
  font-weight: 400;
  line-height: 17.6px;
  letter-spacing: 0;
}

.nv-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: var(--norven-border-width) solid var(--norven-border);
  background: var(--norven-surface-muted);
  box-shadow: none;
}

.nv-header__inner {
  width: calc(100% - (var(--norven-page-padding-desktop) * 2));
  max-width: none;
  min-height: var(--norven-header-main-height-desktop);
  margin-inline: auto;
  padding-inline: 0;
  display: grid;
  grid-template-columns: 124px minmax(0, 1fr) 288px;
  gap: 32px;
}

.nv-header .nv-logo {
  width: 83px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: var(--norven-border-width) solid var(--norven-text);
  color: var(--norven-text);
  font-family: var(--norven-font-sans);
  font-size: 12px;
  font-weight: 400;
  line-height: 15px;
  letter-spacing: .55px;
}

.nv-nav__list,
.nv-nav {
  min-width: 0;
  display: flex;
  justify-content: center;
  gap: clamp(16px, 2vw, 28px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.nv-nav__list a,
.nv-tool {
  color: var(--norven-text);
  font-family: var(--norven-font-sans);
  font-size: 10.5px;
  font-weight: 400;
  line-height: 14.5px;
  letter-spacing: .55px;
  text-transform: uppercase;
}

.nv-header__tools {
  min-width: 0;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}

.nv-tool--search {
  min-width: 180px;
  min-height: 31px;
  border: var(--norven-border-width) solid var(--norven-border);
  border-radius: 999px;
  background: var(--norven-surface);
  padding-inline: 15px;
}

.nv-container,
.home .nv-container,
.post-type-archive-product .nv-container,
.tax-product_cat .nv-container,
.single-product .nv-container,
.nv-page--commerce .nv-container {
  width: calc(100% - (var(--norven-page-padding-desktop) * 2));
  max-width: var(--norven-container-max);
  margin-inline: auto;
  padding-inline: 0;
}

.nv-button,
.button,
button,
input[type="submit"],
.single_add_to_cart_button,
.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
  min-height: var(--norven-button-height);
  border-radius: var(--norven-radius-sm);
  font-family: var(--norven-font-sans);
  font-size: 12px;
  font-weight: 400;
  line-height: 16.9px;
  letter-spacing: 0;
}

.home .nv-home-hero {
  min-height: 778px;
  height: 778px;
  padding: 0;
  overflow: hidden;
  background: var(--norven-surface-muted);
}

.home .nv-home-hero__track {
  width: 100%;
  max-width: none;
  min-height: 778px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
}

.home .nv-home-hero__card,
.home .nv-home-hero__card:not(:first-child) {
  position: relative;
  min-height: 778px;
  display: block;
  border-left: var(--norven-border-width) solid rgba(255, 255, 255, .42);
  background: var(--norven-surface-muted);
}

.home .nv-home-hero__card:first-child {
  border-left: 0;
}

.home .nv-home-hero__media,
.home .nv-home-hero__image,
.home .nv-home-hero__card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.home .nv-home-hero__image,
.home .nv-home-hero__card img {
  object-fit: cover;
  object-position: center;
}

.home .nv-home-hero__card::after {
  content: "";
  position: absolute;
  inset: 38% 0 0;
  display: block;
  background: linear-gradient(180deg, rgba(27, 36, 54, 0), rgba(27, 36, 54, .58));
  pointer-events: none;
}

.home .nv-home-hero__content,
.home .nv-home-hero__card--editorial .nv-home-hero__content {
  position: absolute;
  left: 32px;
  right: 32px;
  bottom: 32px;
  z-index: 2;
  width: auto;
  max-width: 340px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--norven-dark-text);
  box-shadow: none;
  text-shadow: none;
}

.home .nv-home-hero__label {
  margin: 0 0 8px;
  color: inherit;
  font-size: 9.5px;
  font-weight: 400;
  line-height: 13px;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.home .nv-home-hero h2 {
  max-width: 318px;
  margin: 0;
  color: inherit;
  font-family: var(--norven-font-serif);
  font-size: 24px;
  font-weight: 400;
  line-height: 31.2px;
}

.home .nv-home-hero__content p:not(.nv-home-hero__label) {
  max-width: 300px;
  margin: 10px 0 0;
  color: inherit;
  font-size: 12px;
  line-height: 19.8px;
}

.home .nv-home-hero__link,
.home .nv-home-hero__card--editorial .nv-home-hero__link,
.nv-card__action {
  min-height: 48px;
  border: var(--norven-border-width) solid var(--norven-border);
  border-radius: var(--norven-radius-sm);
  font-size: 12px;
  font-weight: 400;
  line-height: 16.9px;
}

.home .nv-home-hero__link,
.home .nv-home-hero__card--editorial .nv-home-hero__link {
  width: fit-content;
  margin-top: 18px;
  padding-inline: 20px;
  background: rgba(255, 255, 255, .94);
  color: var(--norven-cta-dark);
}

.home .nv-trust--global,
.home .nv-trust--home {
  height: 192px;
  padding: 32px 0;
  background: var(--norven-bg);
}

.home .nv-trust--global .nv-trust__grid,
.home .nv-trust--home .nv-trust__grid {
  width: min(calc(100% - 64px), 1145px);
  min-height: 128px;
  margin-inline: auto;
  border: 0;
  border-radius: var(--norven-radius-md);
  background: var(--norven-surface-promo);
}

.home .nv-best-sellers {
  min-height: 1607px;
  padding: 72px 0 88px;
}

.home .nv-best-sellers__layout {
  display: grid;
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  gap: 48px;
  align-items: start;
}

.home .nv-products--home,
.post-type-archive-product .nv-products--shop,
.tax-product_cat .nv-products--shop,
.single-product .nv-products--pdp {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 42px 24px;
}

.home .nv-products--home {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 52px 24px;
}

.nv-card,
.home .nv-card--home,
.post-type-archive-product .nv-card--shop,
.tax-product_cat .nv-card--shop,
.single-product .nv-card--pdp {
  min-width: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.nv-card__image,
.home .nv-card--home .nv-card__image,
.post-type-archive-product .nv-card--shop .nv-card__image,
.tax-product_cat .nv-card--shop .nv-card__image,
.single-product .nv-card--pdp .nv-card__image {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #f8f6f1;
}

.nv-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nv-card__body,
.home .nv-card--home .nv-card__body,
.post-type-archive-product .nv-card--shop .nv-card__body,
.tax-product_cat .nv-card--shop .nv-card__body,
.single-product .nv-card--pdp .nv-card__body {
  padding: 12px 0 0;
}

.nv-card__label {
  margin-bottom: 4px;
  color: var(--norven-text-muted);
  font-size: 9.5px;
  font-weight: 400;
  line-height: 13px;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.nv-card__title,
.nv-card__price,
.home .nv-card--home .nv-card__title,
.home .nv-card--home .nv-card__price,
.post-type-archive-product .nv-card--shop .nv-card__title,
.post-type-archive-product .nv-card--shop .nv-card__price,
.tax-product_cat .nv-card--shop .nv-card__title,
.tax-product_cat .nv-card--shop .nv-card__price,
.single-product .nv-card--pdp .nv-card__title,
.single-product .nv-card--pdp .nv-card__price {
  min-height: 0;
  margin: 0;
  color: var(--norven-text);
  font-size: 15px;
  font-weight: 400;
  line-height: 20.8px;
}

.nv-card__price {
  margin-top: 4px;
}

.nv-card__summary,
.nv-card__hint {
  display: none;
}

.nv-card__swatches {
  min-height: 18px;
  margin-top: 8px;
}

.nv-card__action {
  width: 100%;
  margin-top: 12px;
  background: var(--norven-surface);
  color: var(--norven-text);
}

.post-type-archive-product .nv-shop-hero,
.tax-product_cat .nv-shop-hero {
  min-height: 190px;
  border-bottom: var(--norven-border-width) solid var(--norven-border);
  background: var(--norven-surface-muted);
}

.post-type-archive-product .nv-shop-hero__inner,
.tax-product_cat .nv-shop-hero__inner {
  min-height: 190px;
}

.post-type-archive-product .nv-shop,
.tax-product_cat .nv-shop {
  padding-top: 34px;
  padding-bottom: 72px;
}

.post-type-archive-product .nv-shop__layout,
.tax-product_cat .nv-shop__layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 28px;
}

.post-type-archive-product .nv-shop__sidebar,
.tax-product_cat .nv-shop__sidebar {
  width: 220px;
  max-width: 220px;
  padding-right: 24px;
  border-right: var(--norven-border-width) solid var(--norven-border);
}

.post-type-archive-product .nv-shop__toolbar,
.tax-product_cat .nv-shop__toolbar {
  min-height: 44px;
  margin-bottom: 24px;
}

.post-type-archive-product .nv-sort select,
.tax-product_cat .nv-sort select,
.post-type-archive-product .nv-filter-toggle,
.tax-product_cat .nv-filter-toggle {
  min-height: 44px;
  border-radius: var(--norven-radius-sm);
}

.single-product .nv-pdp {
  padding-top: 28px;
}

.single-product .nv-pdp__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, .68fr);
  gap: clamp(40px, 5vw, 72px);
  align-items: start;
}

.single-product .nv-gallery {
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 12px;
}

.single-product .nv-gallery__main,
.single-product .nv-gallery__main img {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 0;
}

.single-product .nv-gallery__main img {
  object-fit: contain;
  background: var(--norven-surface);
}

.single-product .nv-pdp__summary {
  border: var(--norven-border-width) solid var(--norven-border);
  border-radius: var(--norven-radius-sm);
  background: var(--norven-surface);
  padding: 28px;
}

.single-product .nv-product-title {
  color: var(--norven-text);
  font-family: var(--norven-font-serif);
  font-size: 32px;
  font-weight: 400;
  line-height: 41.6px;
  overflow-wrap: anywhere;
}

.single-product .nv-pdp .single_add_to_cart_button {
  min-height: 48px;
  background: var(--norven-cta-dark);
  color: var(--norven-dark-text);
}

.single-product .nv-sticky-atc {
  min-height: 64px;
  border-top: var(--norven-border-width) solid var(--norven-border);
  background: rgba(255, 255, 255, .96);
}

.nv-page--commerce {
  min-height: 780px;
  background: var(--norven-bg);
  background-image: none;
}

.nv-page--commerce .nv-page__title {
  color: var(--norven-text);
  font-family: var(--norven-font-serif);
  font-size: 32px;
  font-weight: 400;
  line-height: 41.6px;
}

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wc-block-cart-items,
.wc-block-components-sidebar,
.woocommerce-cart-form,
.cart_totals,
.woocommerce-checkout #customer_details,
.woocommerce-checkout-review-order {
  border-color: var(--norven-border);
  border-radius: var(--norven-radius-sm);
  background: var(--norven-surface);
  box-shadow: none;
}

.nv-footer {
  min-height: var(--norven-footer-min-height-desktop);
  padding: 33px 0 0;
  border-top: 0;
  background: var(--norven-dark);
  color: var(--norven-dark-text);
}

.nv-footer .nv-container {
  width: calc(100% - 64px);
  max-width: none;
}

.nv-footer__top {
  min-height: 286px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 450px);
  gap: 32px;
}

.nv-footer__newsletter h2 {
  max-width: 450px;
  margin: 0;
  color: var(--norven-dark-text);
  font-family: var(--norven-font-serif);
  font-size: 20px;
  font-weight: 400;
  line-height: 28px;
}

.nv-footer__newsletter p,
.nv-footer__brand p,
.nv-footer__panel,
.nv-footer__bottom {
  color: rgba(255, 255, 255, .72);
}

.nv-footer__inner {
  display: block;
}

.nv-footer__columns {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  padding-top: 28px;
}

.nv-footer__toggle {
  color: var(--norven-dark-text);
  font-family: var(--norven-font-serif);
  font-size: 20px;
  font-weight: 400;
  line-height: 28px;
}

.nv-footer__panel {
  margin-top: 20px;
  font-size: 13px;
  line-height: 24px;
}

.nv-footer__bottom {
  min-height: 154px;
  margin-top: 128px;
  padding-top: 21px;
  border-top: var(--norven-border-width) solid rgba(255, 255, 255, .28);
  font-size: 10px;
  line-height: 13px;
}

@media (max-width: 900px) {
  .nv-topbar {
    height: var(--norven-announcement-height-mobile);
    min-height: var(--norven-announcement-height-mobile);
    font-size: 9.5px;
    line-height: 14px;
  }

  .nv-header__inner {
    width: calc(100% - (var(--norven-page-padding-mobile) * 2));
    min-height: var(--norven-header-main-height-mobile);
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    gap: 0;
  }

  .nv-header .nv-logo {
    width: auto;
    height: auto;
    border: 0;
    font-size: 18px;
    letter-spacing: .28em;
  }

  .nv-nav,
  .nv-tool--account,
  .nv-tool--search {
    display: none;
  }

  .nv-tool--cart {
    min-width: 44px;
    display: inline-flex;
    justify-content: center;
    font-size: 0;
  }

  .nv-header__tools::after {
    display: none;
  }

  .nv-mobile-menu {
    top: var(--norven-header-total-mobile);
    max-height: calc(100dvh - var(--norven-header-total-mobile));
  }

  .nv-container,
  .home .nv-container,
  .post-type-archive-product .nv-container,
  .tax-product_cat .nv-container,
  .single-product .nv-container,
  .nv-page--commerce .nv-container {
    width: calc(100% - (var(--norven-page-padding-mobile) * 2));
    max-width: none;
  }

  .home .nv-home-hero {
    height: 676px;
    min-height: 676px;
    padding-bottom: 0;
  }

  .home .nv-home-hero__track {
    min-height: 676px;
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding: 0 var(--norven-page-padding-mobile) 24px;
    scroll-snap-type: x mandatory;
  }

  .home .nv-home-hero__card,
  .home .nv-home-hero__card:not(:first-child) {
    flex: 0 0 calc(100vw - 32px);
    min-height: 554px;
    scroll-snap-align: start;
  }

  .home .nv-home-hero__content,
  .home .nv-home-hero__card--editorial .nv-home-hero__content {
    left: 18px;
    right: 18px;
    bottom: 22px;
    max-width: 304px;
  }

  .home .nv-home-hero h2 {
    max-width: 286px;
    font-size: 20px;
    line-height: 28px;
  }

  .home .nv-trust--global,
  .home .nv-trust--home {
    height: 92px;
    padding: 0;
  }

  .home .nv-trust--global .nv-trust__grid,
  .home .nv-trust--home .nv-trust__grid {
    width: calc(100% - 32px);
    min-height: 92px;
  }

  .home .nv-best-sellers {
    min-height: 874px;
    padding-top: 56px;
    padding-bottom: 16px;
  }

  .home .nv-best-sellers__layout {
    display: block;
  }

  .home .nv-best-sellers__intro {
    margin-bottom: 28px;
  }

  .home .nv-products--home,
  .post-type-archive-product .nv-products--shop,
  .tax-product_cat .nv-products--shop,
  .single-product .nv-products--pdp {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 12px;
  }

  .home .nv-products--home .nv-card:nth-child(n+3) {
    display: none;
  }

  .nv-card__label {
    font-size: 9px;
    line-height: 12.5px;
  }

  .nv-card__title,
  .nv-card__price,
  .home .nv-card--home .nv-card__title,
  .home .nv-card--home .nv-card__price,
  .post-type-archive-product .nv-card--shop .nv-card__title,
  .post-type-archive-product .nv-card--shop .nv-card__price,
  .tax-product_cat .nv-card--shop .nv-card__title,
  .tax-product_cat .nv-card--shop .nv-card__price,
  .single-product .nv-card--pdp .nv-card__title,
  .single-product .nv-card--pdp .nv-card__price {
    font-size: 13px;
    line-height: 18.2px;
  }

  .nv-card__action {
    min-height: 46px;
    padding-inline: 8px;
    font-size: 11.5px;
  }

  .post-type-archive-product .nv-shop__layout,
  .tax-product_cat .nv-shop__layout,
  .single-product .nv-pdp__grid {
    display: block;
  }

  .post-type-archive-product .nv-shop__sidebar,
  .tax-product_cat .nv-shop__sidebar {
    display: none;
  }

  .post-type-archive-product .nv-filter-toggle,
  .tax-product_cat .nv-filter-toggle {
    display: inline-flex;
  }

  .single-product .nv-pdp {
    padding-top: 0;
  }

  .single-product .nv-pdp__summary {
    margin-top: 22px;
    border-left: 0;
    border-right: 0;
    padding: 0 0 24px;
  }

  .single-product .nv-product-title,
  .nv-page--commerce .nv-page__title {
    font-size: 24px;
    line-height: 31.2px;
  }

  .single-product .nv-sticky-atc {
    min-height: 64px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 8px 14px calc(8px + env(safe-area-inset-bottom));
  }

  .single-product .nv-sticky-atc .nv-button {
    min-height: 48px;
  }

  .nv-page--commerce {
    min-height: 780px;
    padding-top: 32px;
    padding-bottom: 48px;
  }

  .nv-footer {
    min-height: var(--norven-footer-min-height-mobile);
    padding-top: 32px;
  }

  .nv-footer .nv-container {
    width: calc(100% - 32px);
    max-width: none;
  }

  .nv-footer__top {
    min-height: 274px;
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .nv-footer__columns {
    grid-template-columns: 1fr;
    gap: 0;
    padding-top: 26px;
  }

  .nv-footer__group {
    border-top: var(--norven-border-width) solid rgba(255, 255, 255, .28);
  }

  .nv-footer__toggle {
    min-height: 54px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 16px;
    line-height: 22.4px;
  }

  .nv-footer__panel {
    padding-bottom: 18px;
  }

  .nv-footer__bottom {
    min-height: 180px;
    margin-top: 64px;
    display: grid;
    gap: 18px;
    text-align: left;
    font-size: 12px;
    line-height: 20px;
  }
}
