/*
Theme Name: WunderWerk
Theme URI: https://wunderwerk.in/
Author: WunderWerk Foods Private Limited
Description: Custom Gutenberg block theme for the WunderWerk brand website.
Version: 0.3.6
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: wunderwerk
*/


/* Local Nunito fonts */
@font-face {
  font-family: "Nunito";
  src: url("/wp-content/uploads/wunderwerk-fonts/Nunito-VariableFont_wght.ttf") format("truetype");
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
}

@font-face {
  font-family: "Nunito";
  src: url("/wp-content/uploads/wunderwerk-fonts/Nunito-Italic-VariableFont_wght.ttf") format("truetype");
  font-style: italic;
  font-weight: 200 1000;
  font-display: swap;
}

/* Global */
:root {
  --ww-red: #9E2A2A;
  --ww-charcoal: #2A2A2A;
  --ww-cream: #F6EFE7;
  --ww-border: rgba(42, 42, 42, .12);
  --ww-muted: rgba(42, 42, 42, .72);
  --ww-radius-sm: 10px;
  --ww-radius-md: 16px;
  --ww-radius-lg: 24px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--ww-cream);
  color: var(--ww-charcoal);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { text-underline-offset: .18em; }
.wp-site-blocks { overflow: visible; }

/*
 * WordPress can apply its global content-size constraint to top-level blocks
 * inside template parts and post content. WunderWerk sections are intentionally
 * full-bleed; the inner .ww-container controls the readable page gutter.
 */
.ww-site-header,
.ww-site-footer,
.ww-hero,
.ww-section {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

.wp-block-post-content {
  width: 100% !important;
  max-width: none !important;
}


:root {
  --ww-page-gutter: clamp(20px, 3.25vw, 72px);
}

.ww-container {
  width: min(1760px, calc(100% - (2 * var(--ww-page-gutter))));
  max-width: none !important;
  margin-inline: auto;
}
.ww-container--text {
  width: min(820px, calc(100% - (2 * var(--ww-page-gutter))));
  max-width: none !important;
  margin-inline: auto;
}
.ww-section { padding-block: clamp(72px, 8vw, 140px); }
.ww-eyebrow {
  color: var(--ww-red);
  font-size: .875rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.ww-muted { color: var(--ww-muted); }
.ww-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--ww-radius-lg);
}
.ww-image--hero img { min-height: 620px; }
.ww-image--wide img { aspect-ratio: 5 / 3; }

header.wp-block-template-part {
  position: sticky !important;
  top: 0;
  z-index: 1000;
  width: 100%;
  align-self: flex-start;
}
body.admin-bar header.wp-block-template-part {
  top: 32px;
}

.ww-site-header {
  position: relative;
  background: rgba(246,239,231,.96);
  border-bottom: 1px solid transparent;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.ww-site-header.is-scrolled {
  border-bottom-color: var(--ww-border);
  background: rgba(246,239,231,.90);
  backdrop-filter: blur(14px);
}
.ww-header-inner {
  min-height: 84px;
  display: flex;
  align-items: center;
  gap: 32px;
}
.ww-brand-logo img { width: 174px; height: auto; display:block; }
.ww-header-nav { margin-left: auto; }
.ww-header-nav .wp-block-navigation-item__content {
  color: var(--ww-charcoal);
  font-weight: 700;
  text-decoration: none;
}
.ww-header-nav .wp-block-navigation-item__content:hover { color: var(--ww-red); }

.ww-mobile-retail-cta { display: none !important; }

.wp-block-button__link {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 26px;
  border-radius: 12px !important;
  font-weight: 700;
  transition: transform .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}
.wp-block-button__link:hover { transform: translateY(-1px); }
.ww-btn-primary .wp-block-button__link {
  background: var(--ww-red);
  color: var(--ww-cream);
}
.ww-btn-primary .wp-block-button__link:hover { background: #842323; }
.ww-btn-secondary .wp-block-button__link {
  background: transparent;
  color: var(--ww-charcoal);
  border: 1.5px solid var(--ww-charcoal);
}
.ww-btn-secondary .wp-block-button__link:hover {
  background: var(--ww-charcoal);
  color: var(--ww-cream);
}
.ww-btn-light .wp-block-button__link {
  background: var(--ww-cream);
  color: var(--ww-red);
}
.ww-btn-light .wp-block-button__link:hover {
  background: var(--ww-charcoal);
  color: var(--ww-cream);
}

.ww-hero {
  min-height: min(900px, calc(100vh - 84px));
  display: flex;
  align-items: center;
}
.ww-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .46fr) minmax(0, .54fr);
  gap: clamp(60px, 6vw, 96px);
  align-items: center;
}
.ww-hero-copy { max-width: 580px; }
.ww-hero-copy h1 { max-width: 560px; margin-bottom: 20px; }
.ww-brand-line {
  color: var(--ww-red);
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  font-weight: 800;
  margin: 0 0 18px;
}
.ww-actions { margin-top: 30px; gap: 12px; }

.ww-split {
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(48px, 6vw, 88px);
  align-items:center;
}
.ww-section-heading { max-width: 760px; }
.ww-feature-list {
  display:grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px 28px;
  margin-top: 28px;
}
.ww-feature-list p {
  margin:0;
  font-weight: 700;
  padding-block: 11px;
  border-top: 1px solid var(--ww-border);
}

.ww-center { text-align:center; }
.ww-center .ww-section-heading { margin-inline:auto; }
.ww-wide-story-copy { width:min(760px,100%); margin: 48px auto 0; text-align:center; }

.ww-benefit-grid {
  display:grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 0;
  margin-top: 56px;
  border-top: 1px solid var(--ww-border);
  border-bottom: 1px solid var(--ww-border);
}
.ww-benefit {
  padding: 32px 28px;
  border-right: 1px solid var(--ww-border);
  margin-block-start: 0 !important;
}
.ww-benefit:last-child { border-right:0; }
.ww-benefit::before {
  content:"";
  display:block;
  width: 34px;
  height: 3px;
  border-radius: 999px;
  background:var(--ww-red);
  margin-bottom: 24px;
}
.ww-benefit h3 { margin-top:0; margin-bottom:10px; }
.ww-benefit p { margin:0; color:var(--ww-muted); }

.ww-dark {
  background:var(--ww-charcoal);
  color:var(--ww-cream);
}
.ww-dark .ww-eyebrow { color: #d98a8a; }
.ww-dark .ww-muted { color: rgba(246,239,231,.74); }
.ww-dark .ww-feature-list p { border-color: rgba(246,239,231,.15); }

.ww-story-copy { width:min(820px,100%); margin-bottom: 48px; }
.ww-story-copy p { max-width:760px; }

.ww-red-cta {
  background:var(--ww-red);
  color:var(--ww-cream);
  text-align:center;
}
.ww-red-cta .ww-eyebrow { color: rgba(246,239,231,.78); }
.ww-red-cta .ww-section-heading { margin-inline:auto; }
.ww-red-cta p { color: rgba(246,239,231,.86); }

.ww-site-footer {
  background: var(--ww-charcoal);
  color: var(--ww-cream);
  padding-top: 88px;
}
.ww-footer-grid {
  display:grid;
  grid-template-columns: 1.5fr repeat(3,1fr);
  gap: 48px;
  padding-bottom: 64px;
}
.ww-footer-logo img { width: 180px; height:auto; filter: brightness(0) invert(1); }
.ww-footer-heading {
  font-size: .82rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color: rgba(246,239,231,.6);
}
.ww-site-footer a { color:var(--ww-cream); text-decoration:none; }
.ww-site-footer a:hover { color:#d98a8a; }
.ww-footer-legal {
  border-top: 1px solid rgba(246,239,231,.14);
  padding-block: 28px 40px;
  color: rgba(246,239,231,.64);
  font-size: .875rem;
}

@media (max-width: 1023px) {
  .ww-header-inner { min-height:76px; }
  .ww-hero { min-height:auto; padding-block:70px 86px; }
  .ww-hero-grid, .ww-split { grid-template-columns:1fr; gap:42px; }
  .ww-image--hero img { min-height:0; aspect-ratio:4/5; }
  .ww-benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ww-benefit:nth-child(2) { border-right:0; }
  .ww-benefit:nth-child(-n+2) { border-bottom:1px solid var(--ww-border); }
  .ww-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 639px) {
  .ww-header-inner { min-height:68px; gap:16px; }
  .ww-brand-logo img { width:142px; }
  .ww-header-cta { display:none; }
  .ww-hero { padding-block:44px 72px; }
  .ww-hero-grid { gap:34px; }
  .ww-actions { flex-direction:column; width:100%; }
  .ww-actions .wp-block-button { width:100%; }
  .ww-actions .wp-block-button__link { width:100%; }
  .ww-feature-list { grid-template-columns:1fr 1fr; gap:8px 18px; }
  .ww-benefit-grid { grid-template-columns:1fr 1fr; margin-top:40px; }
  .ww-benefit { padding:24px 16px; }
  .ww-footer-grid { grid-template-columns:1fr; gap:28px; }
  .ww-site-footer { padding-top:64px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition:none !important; animation:none !important; }
}


/* Product detail page */

.ww-product-page .ww-section {
  padding-block: clamp(40px, 3.6vw, 64px);
}
.ww-product-page .ww-product-features-section,
.ww-product-page .ww-product-facts-section {
  padding-block: clamp(38px, 3.4vw, 60px);
}
.ww-product-about-grid {
  align-items: start;
}
.ww-product-about-grid .ww-product-copy {
  align-self: start;
  padding-top: 0;
}

.ww-product-page {
  background: var(--ww-cream);
}
.ww-product-hero {
  min-height: 0;
  display:flex;
  align-items:center;
  padding-block: clamp(34px, 3vw, 54px) !important;
}
.ww-product-hero-grid,
.ww-product-about-grid {
  display:grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: clamp(34px, 4vw, 64px);
}
.ww-product-hero-grid {
  align-items:center;
}
.ww-product-about-grid {
  align-items:start;
}
.ww-product-gallery-card {
  min-height: 0;
  width: min(100%, 560px);
  justify-self: start;
}
.ww-product-gallery-card img,
.ww-product-hero-img {
  width:100%;
  height:auto;
  aspect-ratio:8 / 9;
  max-height:630px;
  object-fit:cover;
  border-radius:var(--ww-radius-lg);
  display:block;
}
.ww-product-placeholder {
  width:100%;
  border:2px dashed rgba(158,42,42,.55);
  border-radius:var(--ww-radius-lg);
  background:rgba(158,42,42,.045);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--ww-red);
  font-weight:800;
  letter-spacing:.03em;
  text-align:center;
  padding:24px;
}
.ww-product-placeholder--portrait {
  min-height:0;
  aspect-ratio:8/9;
  max-height:630px;
  max-width:560px;
}
.ww-product-placeholder--landscape {
  min-height:0;
  aspect-ratio:auto;
  height:clamp(300px, 27vw, 420px);
}
.ww-product-hero-copy { max-width:660px; }
.ww-product-hero-copy h1 {
  font-size:clamp(2.65rem, 5vw, 4.25rem);
  line-height:1.04;
  margin:0 0 18px;
}
.ww-product-tagline {
  color:var(--ww-red);
  font-size:clamp(1.35rem,2vw,1.8rem);
  font-weight:800;
  margin:0 0 18px;
}
.ww-product-lead {
  font-size:clamp(1.05rem,1.5vw,1.25rem);
  line-height:1.6;
  color:var(--ww-muted);
  max-width:600px;
}
.ww-product-quick-features {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:28px 0 32px;
}
.ww-product-quick-features span {
  border:1px solid var(--ww-border);
  border-radius:999px;
  padding:9px 14px;
  font-size:.92rem;
  font-weight:700;
}
.ww-product-primary-link {
  min-height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--ww-red);
  color:var(--ww-cream);
  text-decoration:none;
  padding:0 26px;
  border-radius:12px;
  font-weight:800;
  transition:background-color .18s ease, transform .18s ease;
}
.ww-product-primary-link:hover {
  background:#842323;
  transform:translateY(-1px);
  color:var(--ww-cream);
}
.ww-product-copy h2,
.ww-product-section-head h2,
.ww-product-features-section h2,
.ww-product-facts-section h2 {
  font-size:clamp(2rem,4vw,3rem);
  line-height:1.1;
  max-width:760px;
}
.ww-product-body-copy,
.ww-product-copy p,
.ww-product-readable {
  font-size:1.08rem;
  line-height:1.7;
  color:var(--ww-muted);
}
.ww-product-feature-grid {
  margin-top:36px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border-top:1px solid var(--ww-border);
  border-bottom:1px solid var(--ww-border);
}
.ww-product-feature {
  padding:30px 24px;
  border-right:1px solid var(--ww-border);
}
.ww-product-feature:last-child { border-right:0; }
.ww-product-feature::before {
  content:"";
  display:block;
  width:32px;
  height:3px;
  border-radius:999px;
  background:var(--ww-red);
  margin-bottom:22px;
}
.ww-product-feature h3 { margin:0 0 10px; font-size:1.35rem; }
.ww-product-feature p { margin:0; color:var(--ww-muted); line-height:1.55; }
.ww-product-method-grid,
.ww-product-facts-grid,
.ww-product-data-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:30px;
}
.ww-product-method-grid > div,
.ww-product-facts-grid > div {
  border-top:1px solid var(--ww-border);
  padding-top:22px;
}
.ww-product-method-grid strong {
  font-size:1.25rem;
}
.ww-product-method-grid p,
.ww-product-facts-grid p {
  color:var(--ww-muted);
  line-height:1.6;
}
.ww-product-facts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ww-product-data-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:70px; }
.ww-product-nutrition-table {
  width:100%;
  border-collapse:collapse;
}
.ww-product-nutrition-table th,
.ww-product-nutrition-table td {
  padding:12px 0;
  border-bottom:1px solid var(--ww-border);
}
.ww-product-nutrition-table th { text-align:left; }
.ww-product-nutrition-table td { text-align:right; font-weight:700; }
.ww-product-nutrition-basis { color:var(--ww-muted); }
.ww-product-retail-cta {
  width:100vw;
  max-width:none;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  background:var(--ww-charcoal);
  color:var(--ww-cream);
  padding-block:clamp(80px,9vw,140px);
}
.ww-product-retail-cta .ww-eyebrow { color:#d98a8a; }
.ww-product-retail-cta h2 {
  color:var(--ww-cream);
  max-width:820px;
  font-size:clamp(2rem,4vw,3rem);
}
.ww-product-retail-cta p { color:rgba(246,239,231,.75); font-size:1.1rem; }
.ww-product-primary-link--light {
  background:var(--ww-cream);
  color:var(--ww-red);
  margin-top:18px;
}
.ww-product-primary-link--light:hover {
  background:var(--ww-red);
  color:var(--ww-cream);
}

@media (max-width: 1023px) {
  .ww-product-hero-grid,
  .ww-product-about-grid { grid-template-columns:1fr; }
  .ww-product-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ww-product-feature { border-bottom:1px solid var(--ww-border); }
  .ww-product-feature:nth-child(2n) { border-right:0; }
  .ww-product-feature:last-child { border-bottom:0; }
  .ww-product-method-grid { grid-template-columns:1fr; }
}
@media (max-width: 639px) {
  .ww-product-gallery-card,
  .ww-product-gallery-card img,
  .ww-product-hero-img,
  .ww-product-placeholder--portrait { min-height:0; }
  .ww-product-placeholder--portrait { aspect-ratio:4/5; }
  .ww-product-feature-grid,
  .ww-product-facts-grid,
  .ww-product-data-grid { grid-template-columns:1fr; }
  .ww-product-feature { border-right:0; }
  .ww-product-data-grid { gap:34px; }
}

.ww-product-about-grid .ww-product-placeholder {
  align-self: start;
}
.ww-product-section-head {
  margin-bottom: 0;
}


.ww-product-section-image {
  width: 100%;
  align-self: start;
}
.ww-product-section-image img,
.ww-product-section-img {
  display: block;
  width: 100%;
  height: clamp(300px, 27vw, 420px);
  object-fit: cover;
  border-radius: var(--ww-radius-lg);
}


/* Products overview page */
.ww-products-page {
  background: var(--ww-cream);
}
.ww-products-intro {
  padding-block: clamp(64px, 6vw, 108px);
}
.ww-products-intro-inner {
  max-width: 900px;
}
.ww-products-intro h1 {
  font-size: clamp(2.7rem, 5.3vw, 5rem);
  line-height: 1.03;
  margin: 0 0 26px;
  max-width: 900px;
}
.ww-products-lead {
  max-width: 700px;
  font-size: clamp(1.08rem, 1.7vw, 1.3rem);
  line-height: 1.65;
  color: var(--ww-muted);
  margin: 0;
}

.ww-products-featured {
  padding-block: clamp(48px, 4vw, 76px) clamp(72px, 6vw, 112px);
}
.ww-products-featured-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr);
  gap: clamp(44px, 5vw, 78px);
  align-items: center;
}
.ww-products-featured-media {
  width: min(100%, 700px);
}
.ww-products-featured-img,
.ww-products-featured-media img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  border-radius: var(--ww-radius-lg);
}
.ww-products-placeholder {
  width: 100%;
  aspect-ratio: 1 / 1;
  border: 2px dashed rgba(158,42,42,.55);
  border-radius: var(--ww-radius-lg);
  background: rgba(158,42,42,.045);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ww-red);
  font-weight: 800;
  text-align: center;
  padding: 24px;
}
.ww-products-featured-copy {
  max-width: 620px;
}
.ww-products-featured-copy h2 {
  font-size: clamp(2.25rem, 4vw, 3.6rem);
  line-height: 1.06;
  margin: 0 0 18px;
}
.ww-products-summary {
  font-size: 1.12rem;
  line-height: 1.68;
  color: var(--ww-muted);
}
.ww-products-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 26px 0 30px;
}
.ww-products-tags span {
  border: 1px solid var(--ww-border);
  border-radius: 999px;
  padding: 9px 14px;
  font-size: .92rem;
  font-weight: 700;
}

.ww-products-grid-section {
  padding-block: clamp(54px, 5vw, 90px);
}
.ww-products-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 28px;
}
.ww-products-card {
  min-width: 0;
}
.ww-products-card-media {
  display: block;
  text-decoration: none;
}
.ww-products-card-media img,
.ww-products-card-placeholder {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--ww-radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
}
.ww-products-card-placeholder {
  border: 2px dashed rgba(158,42,42,.45);
  background: rgba(158,42,42,.04);
  color: var(--ww-red);
  font-weight: 800;
  padding: 20px;
  text-align: center;
}
.ww-products-card-copy {
  padding: 22px 4px 0;
}
.ww-products-card-copy h2 {
  margin: 0 0 10px;
  font-size: 1.65rem;
}
.ww-products-card-copy h2 a {
  color: var(--ww-charcoal);
  text-decoration: none;
}
.ww-products-card-copy p {
  color: var(--ww-muted);
  line-height: 1.6;
}
.ww-products-text-link {
  display: inline-block;
  margin-top: 6px;
  font-weight: 800;
  text-decoration: none;
}

.ww-products-philosophy {
  border-top: 1px solid var(--ww-border);
  padding-block: clamp(72px, 6vw, 112px);
}
.ww-products-philosophy-inner {
  max-width: 820px;
}
.ww-products-philosophy h2 {
  font-size: clamp(2.15rem, 4vw, 3.3rem);
  line-height: 1.08;
  margin: 0 0 20px;
}
.ww-products-philosophy p:last-child {
  font-size: 1.12rem;
  line-height: 1.7;
  color: var(--ww-muted);
  max-width: 740px;
}

.ww-products-retail-cta {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: var(--ww-charcoal);
  color: var(--ww-cream);
  padding-block: clamp(82px, 8vw, 132px);
}
.ww-products-retail-cta .ww-eyebrow {
  color: #d98a8a;
}
.ww-products-retail-cta h2 {
  color: var(--ww-cream);
  max-width: 780px;
  font-size: clamp(2.1rem, 4vw, 3.3rem);
  margin-bottom: 16px;
}
.ww-products-retail-cta p {
  color: rgba(246,239,231,.74);
  font-size: 1.08rem;
}

@media (max-width: 1023px) {
  .ww-products-featured-grid {
    grid-template-columns: 1fr;
  }
  .ww-products-featured-media {
    width: min(100%, 620px);
  }
  .ww-products-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 639px) {
  .ww-products-intro {
    padding-block: 48px 58px;
  }
  .ww-products-featured {
    padding-block: 34px 68px;
  }
  .ww-products-grid {
    grid-template-columns: 1fr;
  }
}


/* For Retailers page */
.ww-retail-page { background: var(--ww-cream); }
.ww-retail-hero { padding-block: clamp(48px, 4.5vw, 84px); }
.ww-retail-hero-grid {
  display:grid;
  grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);
  gap:clamp(40px,5vw,76px);
  align-items:center;
}
.ww-retail-hero-copy { max-width:720px; }
.ww-retail-hero-copy h1 {
  font-size:clamp(2.8rem,5.3vw,5rem);
  line-height:1.02;
  margin:0 0 22px;
}
.ww-retail-hero-copy > p:not(.ww-eyebrow) {
  color:var(--ww-muted);
  font-size:1.16rem;
  line-height:1.68;
  max-width:650px;
  margin-bottom:30px;
}
.ww-retail-placeholder {
  border:2px dashed rgba(158,42,42,.5);
  background:rgba(158,42,42,.04);
  color:var(--ww-red);
  border-radius:var(--ww-radius-lg);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-weight:800;
  padding:24px;
}
.ww-retail-placeholder small { font-weight:500; opacity:.75; }
.ww-retail-placeholder--hero { aspect-ratio:8/7; }
.ww-retail-placeholder--wide { height:clamp(340px,32vw,500px); }

.ww-retail-heading {
  font-size:clamp(2.15rem,4vw,3.4rem);
  line-height:1.08;
  max-width:820px;
}
.ww-retail-benefit-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:46px;
  border-top:1px solid var(--ww-border);
  border-bottom:1px solid var(--ww-border);
}
.ww-retail-benefit-grid article {
  padding:30px 24px;
  border-right:1px solid var(--ww-border);
}
.ww-retail-benefit-grid article:last-child { border-right:0; }
.ww-retail-benefit-grid article::before {
  content:"";
  display:block;
  width:34px;
  height:3px;
  background:var(--ww-red);
  border-radius:999px;
  margin-bottom:22px;
}
.ww-retail-benefit-grid h3 { margin:0 0 10px; font-size:1.35rem; }
.ww-retail-benefit-grid p { margin:0; color:var(--ww-muted); line-height:1.6; }

.ww-retail-process { background:rgba(42,42,42,.035); }
.ww-process-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:26px;
  margin-top:46px;
}
.ww-process-grid article { border-top:1px solid var(--ww-border); padding-top:22px; }
.ww-process-grid span { color:var(--ww-red); font-weight:800; letter-spacing:.08em; }
.ww-process-grid h3 { margin:14px 0 8px; font-size:1.25rem; }
.ww-process-grid p { margin:0; color:var(--ww-muted); line-height:1.6; }

.ww-retailer-choice-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  margin-top:42px;
}
.ww-retailer-choice {
  border:1px solid var(--ww-border);
  border-radius:var(--ww-radius-md);
  padding:34px;
}
.ww-retailer-choice-label {
  color:var(--ww-red);
  font-size:.82rem;
  letter-spacing:.08em;
  font-weight:800;
}
.ww-retailer-choice h3 { font-size:1.65rem; line-height:1.2; }
.ww-retailer-choice > p:not(.ww-retailer-choice-label) { color:var(--ww-muted); line-height:1.6; }
.ww-retailer-choice a { display:inline-block; margin-top:12px; font-weight:800; text-decoration:none; }

.ww-retail-form-section { border-top:1px solid var(--ww-border); }
.ww-retail-form-section--chain { background:rgba(42,42,42,.03); }
.ww-retail-form-layout {
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:clamp(46px,6vw,90px);
  align-items:start;
}
.ww-retail-form-layout > div:first-child { max-width:520px; }
.ww-retail-form-layout h2 { font-size:clamp(2rem,3.5vw,3rem); margin-top:0; }
.ww-retail-form-layout > div:first-child > p:not(.ww-eyebrow):not(.ww-retail-direct-email) {
  color:var(--ww-muted);
  line-height:1.68;
}
.ww-retail-direct-email { margin-top:22px; }
.ww-retail-direct-email a { font-weight:800; }

.ww-retail-form {
  width:100%;
}
.ww-form-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.ww-field { display:block; }
.ww-field--full { grid-column:1 / -1; }
.ww-field span {
  display:block;
  margin-bottom:7px;
  font-size:.92rem;
  font-weight:700;
}
.ww-field input,
.ww-field select,
.ww-field textarea {
  width:100%;
  border:1px solid rgba(42,42,42,.2);
  border-radius:10px;
  background:#fffaf5;
  color:var(--ww-charcoal);
  font:inherit;
  padding:13px 14px;
  min-height:52px;
}
.ww-field textarea { min-height:140px; resize:vertical; }
.ww-field input:focus,
.ww-field select:focus,
.ww-field textarea:focus {
  outline:3px solid rgba(158,42,42,.15);
  border-color:var(--ww-red);
}
.ww-form-submit {
  margin-top:24px;
  min-height:54px;
  border:0;
  border-radius:12px;
  background:var(--ww-red);
  color:var(--ww-cream);
  padding:0 26px;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.ww-form-submit:hover { background:#842323; }
.ww-form-footnote {
  color:var(--ww-muted);
  font-size:.9rem;
  line-height:1.55;
  margin-top:14px;
}
.ww-hp-field {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(1px,1px,1px,1px) !important;
  white-space:nowrap !important;
}
.ww-form-notice {
  margin:0 0 30px;
  padding:16px 18px;
  border-radius:10px;
  font-weight:700;
}
.ww-form-notice--success {
  border:1px solid rgba(42,42,42,.2);
  background:rgba(42,42,42,.06);
}
.ww-form-notice--error {
  border:1px solid rgba(158,42,42,.3);
  background:rgba(158,42,42,.08);
  color:#7f2020;
}

.ww-retail-info-grid {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(44px,6vw,84px);
  align-items:start;
}
.ww-retail-info-list { margin-top:34px; }
.ww-retail-info-list > div {
  padding:18px 0;
  border-top:1px solid var(--ww-border);
}
.ww-retail-info-list h3 { margin:0 0 7px; font-size:1.15rem; }
.ww-retail-info-list p { margin:0; color:var(--ww-muted); line-height:1.6; }

.ww-retail-faq { background:rgba(42,42,42,.035); }
.ww-retail-faq-inner { max-width:980px; }
.ww-retail-faq details { border-top:1px solid var(--ww-border); }
.ww-retail-faq details:last-child { border-bottom:1px solid var(--ww-border); }
.ww-retail-faq summary {
  cursor:pointer;
  padding:20px 0;
  font-size:1.08rem;
  font-weight:800;
}
.ww-retail-faq details p {
  color:var(--ww-muted);
  line-height:1.65;
  margin:0;
  padding:0 0 22px;
  max-width:780px;
}

.ww-retail-contact-cta {
  width:100vw;
  max-width:none;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  background:var(--ww-charcoal);
  color:var(--ww-cream);
  padding-block:clamp(82px,8vw,132px);
}
.ww-retail-contact-cta .ww-eyebrow { color:#d98a8a; }
.ww-retail-contact-cta h2 {
  color:var(--ww-cream);
  font-size:clamp(2.1rem,4vw,3.3rem);
  max-width:760px;
  margin-bottom:14px;
}
.ww-retail-contact-cta p { color:rgba(246,239,231,.75); font-size:1.08rem; }

@media (max-width:1023px) {
  .ww-retail-hero-grid,
  .ww-retail-form-layout,
  .ww-retail-info-grid {
    grid-template-columns:1fr;
  }
  .ww-retail-benefit-grid,
  .ww-process-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .ww-retail-benefit-grid article:nth-child(2) { border-right:0; }
  .ww-retail-benefit-grid article:nth-child(-n+2) { border-bottom:1px solid var(--ww-border); }
}

@media (max-width:639px) {
  .ww-retail-benefit-grid,
  .ww-process-grid,
  .ww-retailer-choice-grid,
  .ww-form-grid {
    grid-template-columns:1fr;
  }
  .ww-retail-benefit-grid article {
    border-right:0;
    border-bottom:1px solid var(--ww-border);
  }
  .ww-retail-benefit-grid article:last-child { border-bottom:0; }
  .ww-field--full { grid-column:auto; }
  .ww-form-submit { width:100%; }
}


/* For Retailers vertical rhythm */
.ww-retail-page .ww-section {
  padding-block: clamp(46px, 4vw, 74px);
}
.ww-retail-page .ww-retail-hero {
  padding-block: clamp(38px, 3.5vw, 64px);
}
.ww-retail-page .ww-retail-partner-section,
.ww-retail-page .ww-retail-form-section {
  padding-block: clamp(48px, 4.2vw, 78px);
}
.ww-retail-page .ww-retail-faq {
  padding-block: clamp(48px, 4vw, 72px);
}
.ww-retail-page .ww-retail-contact-cta {
  padding-block: clamp(68px, 6vw, 104px);
}
.ww-retail-page .ww-retail-placeholder--wide {
  height: clamp(300px, 26vw, 420px);
}



/* Our Story page */
.ww-story-page {
  background: var(--ww-cream);
}
.ww-story-page .ww-section {
  padding-block: clamp(48px, 4vw, 76px);
}
.ww-story-hero {
  padding-block: clamp(44px, 4vw, 72px);
}
.ww-story-hero-grid,
.ww-story-split {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: clamp(44px, 5vw, 78px);
  align-items: center;
}
.ww-story-hero-copy {
  max-width: 720px;
}
.ww-story-hero h1 {
  font-size: clamp(2.8rem, 5.2vw, 5rem);
  line-height: 1.02;
  margin: 0 0 22px;
}
.ww-story-hero-copy > p:not(.ww-eyebrow),
.ww-story-copy p {
  color: var(--ww-muted);
  font-size: 1.1rem;
  line-height: 1.7;
}
.ww-story-copy {
  max-width: 690px;
}
.ww-story-copy h2,
.ww-story-centered h2 {
  font-size: clamp(2.15rem, 4vw, 3.4rem);
  line-height: 1.08;
  margin: 0 0 20px;
}
.ww-story-placeholder {
  border: 2px dashed rgba(158,42,42,.48);
  background: rgba(158,42,42,.04);
  color: var(--ww-red);
  border-radius: var(--ww-radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 800;
  padding: 24px;
}
.ww-story-placeholder small {
  display: block;
  margin-top: 4px;
  font-weight: 500;
  opacity: .75;
}
.ww-story-placeholder--hero {
  aspect-ratio: 9 / 7;
}
.ww-story-placeholder--wide {
  aspect-ratio: 4 / 3;
}
.ww-story-page .ww-story-alt {
  background: rgba(42,42,42,.035);
}
.ww-story-centered {
  max-width: 900px;
}
.ww-story-name-block {
  max-width: 900px;
}
.ww-story-name-block p {
  color: var(--ww-muted);
  font-size: 1.12rem;
  line-height: 1.75;
}
.ww-story-first-product {
  border-top: 1px solid var(--ww-border);
}
.ww-story-forward {
  border-top: 1px solid var(--ww-border);
}
.ww-story-forward-inner {
  max-width: 820px;
}
.ww-story-forward p:last-child {
  color: var(--ww-muted);
  font-size: 1.12rem;
  line-height: 1.7;
}
.ww-story-final-cta {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: var(--ww-red);
  color: var(--ww-cream);
  padding-block: clamp(72px, 6vw, 108px);
}
.ww-story-final-cta .ww-eyebrow {
  color: rgba(246,239,231,.8);
}
.ww-story-final-cta h2 {
  color: var(--ww-cream);
  font-size: clamp(2.2rem, 4.2vw, 3.6rem);
  line-height: 1.06;
  margin: 0 0 16px;
}
.ww-story-final-cta p {
  color: rgba(246,239,231,.84);
  font-size: 1.1rem;
  margin-bottom: 28px;
}
.ww-story-final-cta .ww-product-primary-link {
  background: var(--ww-cream);
  color: var(--ww-charcoal);
}

@media (max-width: 1023px) {
  .ww-story-hero-grid,
  .ww-story-split {
    grid-template-columns: 1fr;
  }
  .ww-story-placeholder {
    width: min(100%, 720px);
  }
}

@media (max-width: 639px) {
  .ww-story-page .ww-section {
    padding-block: 42px;
  }
  .ww-story-hero {
    padding-block: 38px 48px;
  }
}



/* Editable Our Story Gutenberg images */
.ww-story-page .wp-block-image.ww-story-placeholder--hero,
.ww-story-page .wp-block-image.ww-story-placeholder--wide {
  margin: 0;
}
.ww-story-page .wp-block-image.ww-story-placeholder--hero img,
.ww-story-page .wp-block-image.ww-story-placeholder--wide img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: var(--ww-radius-lg);
}
.ww-story-page .wp-block-image.ww-story-placeholder--hero {
  aspect-ratio: 9 / 7;
}
.ww-story-page .wp-block-image.ww-story-placeholder--wide {
  aspect-ratio: 4 / 3;
}



/* Quality page */
.ww-quality-page {
  background: var(--ww-cream);
}
.ww-quality-page .ww-section {
  padding-block: clamp(48px, 4vw, 76px);
}
.ww-quality-hero {
  padding-block: clamp(44px, 4vw, 72px);
}
.ww-quality-hero-grid,
.ww-quality-split {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: clamp(44px, 5vw, 78px);
  align-items: center;
}
.ww-quality-copy,
.ww-quality-hero-copy {
  max-width: 700px;
}
.ww-quality-hero h1 {
  font-size: clamp(2.8rem, 5.2vw, 5rem);
  line-height: 1.02;
  margin: 0 0 22px;
}
.ww-quality-copy h2,
.ww-quality-centered h2 {
  font-size: clamp(2.15rem, 4vw, 3.4rem);
  line-height: 1.08;
  margin: 0 0 20px;
}
.ww-quality-copy p,
.ww-quality-hero-copy > p:not(.ww-eyebrow),
.ww-quality-centered p {
  color: var(--ww-muted);
  font-size: 1.08rem;
  line-height: 1.7;
}
.ww-quality-alt {
  background: rgba(42,42,42,.035);
}
.ww-quality-centered {
  max-width: 900px;
}
.ww-quality-principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 24px;
  margin-top: 38px;
}
.ww-quality-principles article {
  border-top: 1px solid var(--ww-border);
  padding-top: 22px;
}
.ww-quality-principles h3 {
  margin: 0 0 10px;
  font-size: 1.25rem;
}
.ww-quality-principles p {
  margin: 0;
  color: var(--ww-muted);
  line-height: 1.6;
}
.ww-quality-info-list {
  margin-top: 32px;
}
.ww-quality-info-list > div {
  padding: 18px 0;
  border-top: 1px solid var(--ww-border);
}
.ww-quality-info-list h3 {
  margin: 0 0 7px;
  font-size: 1.15rem;
}
.ww-quality-info-list p {
  margin: 0;
  color: var(--ww-muted);
  line-height: 1.6;
}
.ww-quality-page .wp-block-image.ww-quality-image {
  margin: 0;
  border-radius: var(--ww-radius-lg);
  overflow: hidden;
}
.ww-quality-page .wp-block-image.ww-quality-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.ww-quality-image--hero {
  aspect-ratio: 9 / 7;
}
.ww-quality-image--wide {
  aspect-ratio: 4 / 3;
}
.ww-quality-image--landscape {
  aspect-ratio: 3 / 2;
}
.ww-quality-final-cta {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: var(--ww-charcoal);
  color: var(--ww-cream);
  padding-block: clamp(72px, 6vw, 108px);
}
.ww-quality-final-cta .ww-eyebrow {
  color: #d98a8a;
}
.ww-quality-final-cta h2 {
  color: var(--ww-cream);
  font-size: clamp(2.2rem, 4.2vw, 3.6rem);
  line-height: 1.06;
  margin: 0 0 16px;
}
.ww-quality-final-cta p {
  color: rgba(246,239,231,.82);
  font-size: 1.08rem;
  margin-bottom: 28px;
}

@media (max-width: 1023px) {
  .ww-quality-hero-grid,
  .ww-quality-split {
    grid-template-columns: 1fr;
  }
  .ww-quality-principles {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 639px) {
  .ww-quality-page .ww-section {
    padding-block: 42px;
  }
  .ww-quality-hero {
    padding-block: 38px 48px;
  }
}



/* Contact page */
.ww-contact-page {
  background: var(--ww-cream);
}
.ww-contact-page .ww-section {
  padding-block: clamp(48px, 4vw, 74px);
}
.ww-contact-hero {
  padding-block: clamp(48px, 4vw, 72px);
}
.ww-contact-hero-inner {
  max-width: 820px;
}
.ww-contact-hero h1 {
  font-size: clamp(3rem, 5.4vw, 5.2rem);
  line-height: 1.02;
  margin: 0 0 20px;
}
.ww-contact-hero p:last-child {
  color: var(--ww-muted);
  font-size: 1.16rem;
  line-height: 1.68;
  max-width: 700px;
}
.ww-contact-main {
  border-top: 1px solid var(--ww-border);
}
.ww-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
  gap: clamp(52px, 7vw, 110px);
  align-items: start;
}
.ww-contact-info {
  max-width: 520px;
}
.ww-contact-info h2,
.ww-contact-company h2 {
  font-size: clamp(2.05rem, 3.6vw, 3rem);
  line-height: 1.08;
  margin: 0 0 18px;
}
.ww-contact-info > p:not(.ww-eyebrow):not(.ww-contact-email) {
  color: var(--ww-muted);
  line-height: 1.68;
}
.ww-contact-email {
  margin: 24px 0 34px;
}
.ww-contact-email a {
  color: var(--ww-charcoal);
  font-size: 1.15rem;
  font-weight: 800;
}
.ww-contact-retailer-box {
  border-top: 1px solid var(--ww-border);
  padding-top: 28px;
  margin-top: 30px;
}
.ww-contact-retailer-box h3 {
  font-size: 1.35rem;
  margin: 0 0 10px;
}
.ww-contact-retailer-box p:not(.ww-eyebrow) {
  color: var(--ww-muted);
  line-height: 1.6;
}
.ww-contact-retailer-box a {
  display: inline-block;
  margin-top: 8px;
  font-weight: 800;
  text-decoration: none;
}
.ww-contact-form-wrap {
  max-width: 780px;
}
.ww-contact-company {
  background: rgba(42,42,42,.035);
}
.ww-contact-company-inner {
  max-width: 800px;
}
.ww-contact-company p:not(.ww-eyebrow) {
  color: var(--ww-muted);
  line-height: 1.65;
}
.ww-contact-company a {
  display: inline-block;
  margin-top: 10px;
  font-weight: 800;
  text-decoration: none;
}

@media (max-width: 900px) {
  .ww-contact-grid {
    grid-template-columns: 1fr;
  }
}



/* Contact phone and WhatsApp */
.ww-contact-methods {
  display: grid;
  gap: 12px;
  margin: 0 0 34px;
}
.ww-contact-method {
  display: block;
  border: 1px solid var(--ww-border);
  border-radius: 12px;
  padding: 16px 18px;
  color: var(--ww-charcoal);
  text-decoration: none;
  background: rgba(255,255,255,.26);
}
.ww-contact-method:hover {
  border-color: rgba(158,42,42,.45);
}
.ww-contact-method-label {
  display: block;
  color: var(--ww-muted);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.ww-contact-method strong {
  font-size: 1rem;
}
.ww-contact-method--whatsapp strong {
  color: var(--ww-red);
}

.ww-retail-whatsapp-box {
  margin-top: 28px;
  border: 1px solid var(--ww-border);
  border-radius: var(--ww-radius-md);
  padding: 28px 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 28px;
}
.ww-retail-whatsapp-box h3 {
  margin: 0 0 8px;
  font-size: 1.35rem;
}
.ww-retail-whatsapp-box p:not(.ww-eyebrow) {
  margin: 0;
  color: var(--ww-muted);
  line-height: 1.6;
  max-width: 640px;
}
.ww-retail-direct-phone {
  margin-top: 10px;
}
.ww-retail-direct-phone a {
  font-weight: 800;
}

@media (max-width: 700px) {
  .ww-retail-whatsapp-box {
    align-items: flex-start;
    flex-direction: column;
  }
}



/* Company Information page */
.ww-company-page {
  background: var(--ww-cream);
}
.ww-company-page .ww-section {
  padding-block: clamp(48px, 4vw, 74px);
}
.ww-company-hero {
  padding-block: clamp(52px, 4.5vw, 82px);
  border-bottom: 1px solid var(--ww-border);
}
.ww-company-hero-inner,
.ww-company-content {
  width: min(860px, calc(100% - (2 * var(--ww-page-gutter))));
  margin-inline: auto;
}
.ww-company-hero h1 {
  font-size: clamp(2.7rem, 5vw, 4.8rem);
  line-height: 1.03;
  margin: 0 0 18px;
}
.ww-company-hero p:last-child {
  color: var(--ww-muted);
  font-size: 1.08rem;
  line-height: 1.7;
  max-width: 720px;
}
.ww-company-details {
  display: grid;
  gap: 0;
  margin-top: 8px;
  border-top: 1px solid var(--ww-border);
}
.ww-company-detail {
  display: grid;
  grid-template-columns: minmax(180px, .65fr) minmax(0, 1.35fr);
  gap: 26px;
  padding: 20px 0;
  border-bottom: 1px solid var(--ww-border);
}
.ww-company-detail-label {
  color: var(--ww-muted);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.ww-company-detail-value {
  margin: 0;
  color: var(--ww-charcoal);
  line-height: 1.65;
}
.ww-company-detail-value a {
  color: var(--ww-charcoal);
  font-weight: 700;
}
.ww-company-note {
  margin-top: 34px;
  color: var(--ww-muted);
  line-height: 1.65;
}
.ww-company-contact-block {
  margin-top: 46px;
  padding-top: 34px;
  border-top: 1px solid var(--ww-border);
}
.ww-company-contact-block h2 {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  margin: 0 0 12px;
}
.ww-company-contact-block p {
  color: var(--ww-muted);
  line-height: 1.65;
}
.ww-company-contact-block a {
  font-weight: 800;
  text-decoration: none;
}

/* Sitewide statutory footer information */
.ww-footer-company-info {
  border-top: 1px solid rgba(246,239,231,.14);
  padding: 24px 0 0;
  color: rgba(246,239,231,.64);
  font-size: .82rem;
  line-height: 1.65;
}
.ww-footer-company-info p {
  margin: 0 0 7px;
}
.ww-footer-company-info a {
  text-decoration: underline;
  text-decoration-color: rgba(246,239,231,.28);
}
.ww-footer-legal {
  margin-top: 22px;
}

@media (max-width: 639px) {
  .ww-company-detail {
    grid-template-columns: 1fr;
    gap: 7px;
  }
}



/* Legal content pages */
.ww-legal-page {
  background: var(--ww-cream);
}
.ww-legal-hero {
  padding-block: clamp(52px, 4.5vw, 82px);
  border-bottom: 1px solid var(--ww-border);
}
.ww-legal-hero-inner,
.ww-legal-content {
  width: min(840px, calc(100% - (2 * var(--ww-page-gutter))));
  margin-inline: auto;
}
.ww-legal-hero h1 {
  font-size: clamp(2.7rem, 5vw, 4.6rem);
  line-height: 1.04;
  margin: 0 0 18px;
}
.ww-legal-hero p:last-child {
  color: var(--ww-muted);
  font-size: 1.06rem;
  line-height: 1.7;
}
.ww-legal-content {
  padding-block: clamp(48px, 4vw, 76px);
}
.ww-legal-content h2 {
  font-size: clamp(1.65rem, 2.8vw, 2.2rem);
  line-height: 1.18;
  margin: 42px 0 14px;
}
.ww-legal-content h2:first-child {
  margin-top: 0;
}
.ww-legal-content p,
.ww-legal-content li {
  color: var(--ww-charcoal);
  line-height: 1.75;
}
.ww-legal-content ul {
  padding-left: 1.25rem;
}
.ww-legal-content a {
  font-weight: 700;
}
.ww-legal-meta {
  color: var(--ww-muted);
  font-size: .92rem;
  margin-top: 8px;
}
.ww-form-privacy {
  color: var(--ww-muted);
  font-size: .84rem;
  line-height: 1.55;
  margin: 12px 0 0;
}
.ww-form-privacy a {
  font-weight: 700;
}



/* Footer social link */
.ww-footer-social {
  margin-top: 18px;
}
.ww-footer-social a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ww-cream);
  font-weight: 800;
  text-decoration: none;
}
.ww-footer-social a:hover {
  text-decoration: underline;
}



/* Mobile navigation */
@media (max-width: 782px) {
  body.admin-bar header.wp-block-template-part {
    top: 46px;
  }
}

@media (max-width: 639px) {
  header.wp-block-template-part {
    position: sticky !important;
    top: 0;
    z-index: 9999;
  }

  body.admin-bar header.wp-block-template-part {
    top: 46px;
  }

  .ww-header-nav {
    margin-left: auto;
  }

  .ww-header-nav .wp-block-navigation__responsive-container-open {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 8px;
    color: var(--ww-charcoal);
  }

  .ww-header-nav .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    max-height: none !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    z-index: 10000 !important;
    background: var(--ww-cream) !important;
    color: var(--ww-charcoal) !important;
    padding: 0 !important;
  }

  .ww-header-nav .wp-block-navigation__responsive-container-close {
    top: 16px;
    right: var(--ww-page-gutter);
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    color: var(--ww-charcoal);
  }

  .ww-header-nav .wp-block-navigation__responsive-container-content {
    width: 100%;
    min-height: 100%;
    box-sizing: border-box;
    padding: 82px var(--ww-page-gutter) 32px !important;
  }

  .ww-header-nav .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    width: 100%;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
  }

  .ww-header-nav .wp-block-navigation-item {
    width: 100%;
    border-bottom: 1px solid var(--ww-border);
  }

  .ww-header-nav .wp-block-navigation-item__content {
    display: flex;
    width: 100%;
    min-height: 58px;
    align-items: center;
    justify-content: flex-start;
    padding: 14px 0 !important;
    color: var(--ww-charcoal) !important;
    font-size: 1.08rem;
    font-weight: 800;
    text-align: left;
  }

  .ww-header-nav .wp-block-navigation-item__content:hover,
  .ww-header-nav .wp-block-navigation-item__content:focus {
    color: var(--ww-red) !important;
  }

  .ww-header-nav .ww-mobile-retail-cta {
    display: block !important;
    border-bottom: 0;
    margin-top: 24px;
  }

  .ww-header-nav .ww-mobile-retail-cta .wp-block-navigation-item__content {
    min-height: 52px;
    justify-content: center;
    padding: 14px 18px !important;
    border-radius: 12px;
    background: var(--ww-red);
    color: var(--ww-cream) !important;
  }

  .ww-header-nav .ww-mobile-retail-cta .wp-block-navigation-item__content:hover,
  .ww-header-nav .ww-mobile-retail-cta .wp-block-navigation-item__content:focus {
    background: #842323;
    color: var(--ww-cream) !important;
  }
}
