@charset "UTF-8";

.header-actions {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 18px;
}

.account-trigger {
  position: relative;
  padding: 10px 0;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
}

.account-trigger::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 6px;
  left: 0;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 180ms var(--ease-out);
}

.account-trigger.is-current::after { transform: scaleX(1); transform-origin: left; }

.account-page { background: var(--brand-050); }
.account-page .site-header { position: sticky; top: 0; }

.account-shell {
  min-height: calc(100svh - var(--header-h) - var(--notice-h));
  display: grid;
  grid-template-columns: 276px minmax(0, 1fr);
  background: var(--brand-050);
}

.account-sidebar {
  position: sticky;
  top: var(--header-h);
  height: calc(100svh - var(--header-h));
  display: flex;
  flex-direction: column;
  padding: 30px 20px 22px;
  color: var(--paper);
  background: var(--brand-900);
  border-right: 1px solid rgba(247,243,236,.15);
}

.account-person {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  align-items: center;
  gap: 12px;
  padding-bottom: 26px;
  border-bottom: 1px solid rgba(247,243,236,.2);
}

.account-avatar {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  color: var(--brand-900);
  background: var(--brand-100);
  border-radius: 50%;
  font-family: var(--sans);
  font-size: 18px;
}

.account-person p,
.account-person strong,
.account-person div > span { display: block; }
.account-person p { margin: 0 0 4px; color: var(--brand-200); font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.account-person strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.account-person div > span { margin-top: 3px; overflow: hidden; color: var(--brand-200); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }

.account-nav { display: grid; margin-top: 24px; }
.account-nav button {
  position: relative;
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2px;
  color: var(--brand-200);
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(247,243,236,.14);
  text-align: left;
  transition: color 160ms ease, transform 140ms var(--ease-out);
}

.account-nav button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -20px;
  width: 4px;
  height: 20px;
  background: var(--brand-100);
  border-radius: 0 4px 4px 0;
  opacity: 0;
  transform: translateY(-50%) scaleY(.5);
  transition: opacity 160ms ease, transform 180ms var(--ease-out);
}

.account-nav button span { font-size: 13px; font-weight: 700; text-transform: uppercase; }
.account-nav button small { font-size: 10px; }
.account-nav button.is-active { color: var(--paper); }
.account-nav button.is-active::before { opacity: 1; transform: translateY(-50%) scaleY(1); }
.account-nav button:active { transform: scale(.98); }

.account-signout {
  width: fit-content;
  margin-top: auto;
  padding: 8px 0 3px;
  color: var(--brand-200);
  background: transparent;
  border: 0;
  border-bottom: 1px solid currentColor;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.account-content { min-width: 0; padding: clamp(30px,4vw,64px); }
.account-pane { max-width: 1260px; margin: 0 auto; }
.account-pane[hidden] { display: none; }
.account-pane.is-active { display: block; }

.account-eyebrow {
  margin: 0 0 10px;
  color: var(--brand-700);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.account-welcome,
.account-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid var(--brand-200);
}

.account-welcome h1,
.account-section-head h1 {
  max-width: 800px;
  margin: 0;
  font-family: var(--sans);
  font-size: clamp(42px,5.2vw,76px);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: .95;
}

.account-welcome h1:focus,
.account-section-head h1:focus { outline: none; }

.account-welcome > div > p:last-child,
.account-section-head > div > p:last-child {
  max-width: 620px;
  margin: 16px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.45;
}

.account-text-link {
  width: fit-content;
  padding: 0 0 3px;
  color: inherit;
  background: transparent;
  border: 0;
  border-bottom: 1px solid currentColor;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.account-text-link span { display: inline-block; transition: transform 160ms var(--ease-out); }

.account-summary {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin: 22px 0;
  background: var(--paper);
  border: 1px solid var(--brand-200);
  border-radius: 20px;
  overflow: hidden;
}

.account-summary article { min-height: 132px; display: grid; grid-template-columns: 1fr auto; align-content: space-between; gap: 4px 12px; padding: 20px; border-right: 1px solid var(--brand-200); }
.account-summary article:last-child { border-right: 0; }
.account-summary span { color: var(--brand-700); font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.account-summary strong { grid-row: 1 / 3; grid-column: 2; align-self: center; font-family: var(--sans); font-size: 54px; font-weight: 400; line-height: 1; }
.account-summary small { align-self: end; color: var(--muted); font-size: 12px; }

.active-order {
  padding: clamp(22px,3vw,34px);
  background: var(--paper);
  border: 1px solid var(--brand-200);
  border-radius: 24px;
}

.active-order-head,
.account-card-head,
.account-editor-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.active-order h2,
.account-card h2,
.account-editor h2 {
  margin: 0;
  font-family: var(--sans);
  font-size: clamp(26px,3vw,40px);
  font-weight: 400;
  line-height: 1;
}

.active-order-eta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 15px 0 0;
}

.active-order-eta span {
  display: inline-grid;
  gap: 3px;
  padding-left: 12px;
  border-left: 2px solid var(--brand-200);
  color: var(--brand-900);
  font-size: 12px;
  line-height: 1.35;
}

.active-order-eta strong {
  color: var(--brand-700);
  font-size: 9px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.status-pill {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 0 10px;
  color: var(--paper);
  background: var(--brand-700);
  border: 1px solid var(--brand-700);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.status-pill--quiet { color: var(--brand-900); background: var(--brand-100); border-color: var(--brand-200); }

.order-progress {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  margin: 36px 0 30px;
}

.order-progress::before {
  content: "";
  position: absolute;
  top: 8px;
  right: 16.6667%;
  left: 16.6667%;
  height: 2px;
  background: linear-gradient(90deg,var(--brand-700) 0 50%,var(--brand-200) 50% 100%);
}

.order-progress div { position: relative; z-index: 1; display: grid; justify-items: center; gap: 7px; text-align: center; }
.order-progress i { width: 18px; height: 18px; background: var(--paper); border: 2px solid var(--brand-200); border-radius: 50%; }
.order-progress .is-complete i { background: var(--brand-700); border-color: var(--brand-700); box-shadow: inset 0 0 0 4px var(--paper); }
.order-progress .is-current i { background: var(--paper); border-color: var(--brand-700); box-shadow: inset 0 0 0 3px var(--paper), inset 0 0 0 9px var(--brand-700); }
.order-progress span { font-size: 11px; font-weight: 700; text-transform: uppercase; }
.order-progress small { color: var(--muted); font-size: 10px; }

.active-order-detail {
  display: grid;
  grid-template-columns: minmax(280px,1fr) auto auto;
  align-items: center;
  gap: 28px;
  padding-top: 22px;
  border-top: 1px solid var(--brand-200);
}

.order-product,
.reorder-product { display: flex; align-items: center; gap: 16px; }
.order-product img { width: 96px; height: 96px; object-fit: contain; background: var(--product-canvas); border-radius: 15px; }
.order-product span { color: var(--brand-700); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.order-product h3,
.reorder-product h3 { margin: 5px 0 3px; font-size: 14px; text-transform: uppercase; }
.order-product p,
.reorder-product p { margin: 0; color: var(--muted); font-size: 12px; }
.order-total { min-width: 100px; }
.order-total span { display: block; color: var(--muted); font-size: 10px; text-transform: uppercase; }
.order-total strong { display: block; margin-top: 4px; font-size: 22px; }
.order-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }

.account-button {
  min-height: 39px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  color: var(--brand-900);
  background: transparent;
  border: 1px solid var(--brand-700);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  transition: transform 140ms var(--ease-out), color 160ms ease, background-color 160ms ease;
}

.account-button--primary { color: var(--paper); background: var(--brand-900); border-color: var(--brand-900); }
.account-button:active { transform: scale(.97); }

.account-overview-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 22px; margin-top: 22px; }
.account-card { min-height: 265px; padding: 24px; background: var(--paper); border: 1px solid var(--brand-200); border-radius: 22px; }
.account-card h2 { font-size: 30px; }
.reorder-product { margin-top: 34px; display: grid; grid-template-columns: 92px minmax(0,1fr) auto; }
.reorder-product img { width: 92px; height: 92px; object-fit: contain; background: var(--product-canvas); border-radius: 14px; }
.reorder-product strong { display: block; margin-top: 10px; font-size: 13px; }
.account-address-preview address { margin-top: 34px; font-family: inherit; font-size: 14px; font-style: normal; line-height: 1.55; }
.account-address-preview > p { margin: 24px 0 0; color: var(--muted); font-size: 11px; }

.account-section-head { margin-bottom: 28px; }
.account-section-head .account-button { flex: 0 0 auto; }

.order-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.order-filters button { min-height: 38px; padding: 0 14px; background: var(--paper); border: 1px solid var(--brand-200); border-radius: 999px; font-size: 10px; font-weight: 700; text-transform: uppercase; transition: transform 140ms var(--ease-out), color 160ms ease, background-color 160ms ease; }
.order-filters button span { color: var(--muted); }
.order-filters button.is-active { color: var(--paper); background: var(--brand-900); border-color: var(--brand-900); }
.order-filters button.is-active span { color: var(--brand-200); }
.order-filters button:active { transform: scale(.96); }
.order-list { display: grid; gap: 14px; }
.order-history-card { background: var(--paper); border: 1px solid var(--brand-200); border-radius: 22px; overflow: hidden; }
.order-history-card[hidden] { display: none; }
.order-history-card > header { display: flex; justify-content: space-between; gap: 20px; padding: 20px 22px; border-bottom: 1px solid var(--brand-200); }
.order-history-card > header h2 { margin: 10px 0 3px; font-size: 18px; }
.order-history-card > header p,
.order-history-card > header span { margin: 0; color: var(--muted); font-size: 10px; text-transform: uppercase; }
.order-history-card > header div:last-child { text-align: right; }
.order-history-card > header strong { display: block; margin-top: 6px; font-size: 22px; }
.order-history-body { display: grid; grid-template-columns: 112px minmax(0,1fr) auto; align-items: center; gap: 18px; padding: 18px 22px; }
.order-history-body > img { width: 112px; height: 112px; object-fit: contain; background: var(--product-canvas); border-radius: 16px; }
.order-history-body h3 { margin: 0 0 5px; font-size: 15px; text-transform: uppercase; }
.order-history-body p { margin: 0 0 10px; color: var(--muted); font-size: 12px; }
.order-history-body small { font-size: 11px; }
.order-shipping-summary { display: grid; gap: 3px; line-height: 1.35; }
.order-shipping-summary span:last-child { color: var(--brand-700); font-weight: 700; }

.address-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.address-card { min-height: 300px; display: flex; flex-direction: column; padding: 24px; background: var(--paper); border: 1px solid var(--brand-200); border-radius: 22px; }
.address-card > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.address-card h2 { margin: 0; font-family: var(--sans); font-size: 34px; font-weight: 400; }
.address-card address { margin: 32px 0; font-family: inherit; font-size: 14px; font-style: normal; line-height: 1.6; }
.address-card > div:last-child { display: flex; gap: 18px; margin-top: auto; }
.address-card > div:last-child button { padding: 0 0 3px; background: transparent; border: 0; border-bottom: 1px solid currentColor; font-size: 10px; font-weight: 700; text-transform: uppercase; }

.account-editor { margin-top: 18px; padding: 26px; background: var(--paper); border: 1px solid var(--brand-200); border-radius: 22px; }
.account-editor[hidden] { display: none; }
.account-editor-head { margin-bottom: 24px; }
.account-editor-head button { width: 34px; height: 34px; background: transparent; border: 1px solid var(--brand-200); border-radius: 50%; font-size: 22px; }

.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.form-grid label { display: grid; gap: 7px; }
.form-grid label span { color: var(--brand-700); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.form-grid input { width: 100%; min-height: 48px; padding: 0 13px; background: var(--brand-050); border: 1px solid var(--brand-200); border-radius: 10px; outline: none; transition: border-color 150ms ease, box-shadow 150ms ease; }
.form-grid input:focus { border-color: var(--brand-700); box-shadow: 0 0 0 3px rgba(64,87,71,.12); }
.form-wide { grid-column: 1 / -1; }
.account-check { width: fit-content; display: flex; align-items: center; gap: 9px; margin-top: 18px; font-size: 12px; }
.account-check input { width: 17px; height: 17px; accent-color: var(--brand-700); }
.editor-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 24px; }

.account-details-form { display: grid; background: var(--paper); border: 1px solid var(--brand-200); border-radius: 22px; overflow: hidden; }
.account-details-form > section { display: grid; grid-template-columns: minmax(220px,.6fr) minmax(320px,1fr); gap: 42px; padding: 28px; border-bottom: 1px solid var(--brand-200); }
.account-details-form h2 { margin: 0; font-family: var(--sans); font-size: 30px; font-weight: 400; }
.account-details-form section > div:first-child p { max-width: 300px; margin: 10px 0 0; color: var(--muted); font-size: 12px; line-height: 1.4; }
.account-details-form .account-check { margin: 0; }
.details-save { display: flex; justify-content: flex-end; padding: 20px 28px; }

.help-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.help-grid article { min-height: 250px; display: flex; flex-direction: column; align-items: flex-start; padding: 24px; background: var(--paper); border: 1px solid var(--brand-200); border-radius: 22px; }
.help-grid article > span { color: var(--brand-700); font-size: 10px; font-weight: 700; }
.help-grid h2 { margin: 34px 0 10px; font-family: var(--sans); font-size: 34px; font-weight: 400; }
.help-grid p { max-width: 430px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.help-grid .account-text-link { margin-top: auto; }
.contact-card { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 28px; margin-top: 16px; padding: clamp(26px,4vw,48px); color: var(--paper); background: var(--brand-900); border-radius: 22px; }
.contact-card .account-eyebrow { color: var(--brand-200); }
.contact-card h2 { margin: 0; font-family: var(--sans); font-size: clamp(36px,4vw,54px); font-weight: 400; }
.contact-card p { max-width: 560px; margin: 14px 0 0; color: var(--brand-200); line-height: 1.4; }
.contact-card > div:last-child { display: grid; justify-items: end; gap: 16px; }
.contact-card > div:last-child a { font-family: var(--sans); font-size: 20px; }
.contact-card .account-button--primary { color: var(--brand-900); background: var(--brand-100); border-color: var(--brand-100); }

.account-footer { margin-top: 0; }

@media (hover:hover) and (pointer:fine) {
  .account-trigger:hover::after { transform: scaleX(1); transform-origin: left; }
  .account-nav button:hover { color: var(--paper); }
  .account-text-link:hover span { transform: translateX(3px); }
  .account-button:hover { color: var(--paper); background: var(--brand-700); }
  .account-button--primary:hover { color: var(--brand-900); background: var(--brand-100); border-color: var(--brand-100); }
  .contact-card .account-button--primary:hover { color: var(--paper); background: transparent; }
}

@media (max-width: 1050px) {
  .account-shell { grid-template-columns: 230px minmax(0,1fr); }
  .account-content { padding: 34px 28px; }
  .active-order-detail { grid-template-columns: 1fr auto; }
  .active-order-detail .order-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .account-overview-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .header-actions { gap: 10px; }
  .account-trigger, .cart-trigger { font-size: 10px; }
  .account-shell { display: block; }
  .account-sidebar { position: static; width: 100%; height: auto; padding: 16px 14px 0; }
  .account-person { display: none; }
  .account-nav { display: flex; gap: 4px; margin: 0; padding-bottom: 12px; overflow-x: auto; scrollbar-width: none; }
  .account-nav::-webkit-scrollbar { display: none; }
  .account-nav button { flex: 0 0 auto; min-height: 38px; padding: 0 13px; border: 1px solid rgba(247,243,236,.22); border-radius: 999px; }
  .account-nav button::before, .account-nav button small { display: none; }
  .account-nav button.is-active { color: var(--brand-900); background: var(--brand-100); border-color: var(--brand-100); }
  .account-signout { display: none; }
  .account-content { padding: 28px 12px 44px; }
  .account-welcome, .account-section-head { display: block; padding-bottom: 24px; }
  .account-welcome h1, .account-section-head h1 { font-size: 44px; }
  .account-welcome > .account-text-link, .account-section-head > .account-button { margin-top: 22px; }
  .account-summary { grid-template-columns: 1fr; }
  .account-summary article { min-height: 92px; border-right: 0; border-bottom: 1px solid var(--brand-200); }
  .account-summary article:last-child { border-bottom: 0; }
  .account-summary strong { font-size: 42px; }
  .order-progress span { font-size: 9px; }
  .order-progress small { display: none; }
  .active-order-detail { display: block; }
  .order-total { margin: 18px 0; }
  .order-actions { justify-content: flex-start; }
  .reorder-product { grid-template-columns: 78px 1fr; }
  .reorder-product img { width: 78px; height: 78px; }
  .reorder-product .account-button { grid-column: 1 / -1; margin-top: 6px; }
  .order-history-body { grid-template-columns: 84px 1fr; }
  .order-history-body > img { width: 84px; height: 84px; }
  .order-history-body .order-actions { grid-column: 1 / -1; }
  .address-grid, .help-grid { grid-template-columns: 1fr; }
  .account-details-form > section { grid-template-columns: 1fr; gap: 24px; padding: 22px; }
  .contact-card { grid-template-columns: 1fr; }
  .contact-card > div:last-child { justify-items: start; }
}

@media (max-width: 500px) {
  .header-left .nav-trigger.desktop-only, .header-left .icon-button { display: none; }
  .header-actions { gap: 8px; }
  .account-trigger { display: none; }
  .active-order, .account-card, .address-card, .help-grid article { border-radius: 18px; }
  .active-order-head { display: block; }
  .active-order-head .status-pill { margin-top: 14px; }
  .order-progress { margin-inline: -6px; }
  .order-product img { width: 78px; height: 78px; }
  .order-product h3 { font-size: 12px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-wide { grid-column: auto; }
}

/* WordPress/WooCommerce source-parity extensions.
   Everything above this marker is byte-for-byte the approved account.css
   prototype. Anchors replace prototype-only tab buttons so every endpoint
   retains a real URL and works without JavaScript. */
.account-shell.wf-account-layout { width: 100%; max-width: none; margin: 0; padding: 0; }
.account-content.wf-account-main { max-width: none; margin: 0; padding: clamp(30px,4vw,64px); background: var(--brand-050); }
.account-content .account-pane { max-width: 1260px; }
.account-nav ul { display: grid; margin: 0; padding: 0; list-style: none; }
.account-nav li { border-bottom: 1px solid rgba(247,243,236,.14); }
.account-nav a {
  position: relative;
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2px;
  color: var(--brand-200);
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(247,243,236,.14);
  text-align: left;
  transition: color 160ms ease, transform 140ms var(--ease-out);
}
.account-nav a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -20px;
  width: 4px;
  height: 20px;
  background: var(--brand-100);
  border-radius: 0 4px 4px 0;
  opacity: 0;
  transform: translateY(-50%) scaleY(.5);
  transition: opacity 160ms ease, transform 180ms var(--ease-out);
}
.account-nav a span { font-size: 13px; font-weight: 700; text-transform: uppercase; }
.account-nav a small { font-size: 10px; }
.account-nav a.is-active { color: var(--paper); }
.account-nav a.is-active::before { opacity: 1; transform: translateY(-50%) scaleY(1); }
.account-signout { display: inline-flex; align-items: center; }
.account-content .woocommerce-message,
.account-content .woocommerce-error,
.account-content .woocommerce-info {
  margin: 0 0 18px;
  padding: 14px 16px;
  color: var(--brand-900);
  border: 1px solid var(--brand-200);
  border-left: 3px solid var(--brand-700);
  background: var(--brand-050);
  list-style: none;
}
.account-content .woocommerce-error { border-left-color: #9b3732; background: #f7e8e5; }
.account-content .button { text-decoration: none; }
.account-summary.wf-account-metrics > a { display: contents; color: inherit; }
.account-summary a:focus-visible article { outline: 2px solid var(--brand-700); outline-offset: -3px; }
.account-summary article { height: 100%; }
.active-order .order-progress { grid-template-columns: repeat(var(--order-step-count, 3), minmax(0, 1fr)); }
.active-order .order-progress::before { right: calc(50% / var(--order-step-count, 3)); left: calc(50% / var(--order-step-count, 3)); }
.active-order .order-progress.is-complete::before { background: var(--brand-700); }
.active-order .order-progress.is-pending::before { background: var(--brand-200); }
.order-progress .is-done i { background: var(--brand-700); border-color: var(--brand-700); box-shadow: inset 0 0 0 4px var(--paper); }
.order-progress .is-attention i { background: var(--paper); border-color: #963b4d; box-shadow: inset 0 0 0 3px var(--paper), inset 0 0 0 9px #963b4d; }
.order-progress li { position: relative; z-index: 1; display: grid; justify-items: center; gap: 7px; text-align: center; }
.order-progress li i { width: 18px; height: 18px; background: var(--paper); border: 2px solid var(--brand-200); border-radius: 50%; }
.order-progress li strong { font-size: 11px; text-transform: uppercase; }
.order-progress li small { color: var(--muted); font-size: 10px; }
.order-product .wf-order-thumb,
.order-history-body .wf-order-thumb,
.reorder-product .wf-order-thumb { display: grid; place-items: center; overflow: hidden; background: var(--product-canvas); border-radius: 15px; }
.order-product .wf-order-thumb { width: 96px; height: 96px; }
.order-history-body .wf-order-thumb { width: 112px; height: 112px; }
.reorder-product .wf-order-thumb { width: 92px; height: 92px; }
.order-product .wf-order-thumb img,
.order-history-body .wf-order-thumb img,
.reorder-product .wf-order-thumb img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.order-history-body { grid-template-columns: 112px minmax(0, 1fr) auto; }
.order-history-body:not(.has-order-image) { grid-template-columns: minmax(0, 1fr) auto; }
.order-history-body > .wf-order-thumb { width: 112px; height: 112px; }
.reorder-product:not(.has-order-image) { grid-template-columns: minmax(0, 1fr) auto; }
.order-history-card .wf-order-card-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; max-width: 240px; }
.address-card .button,
.order-history-card .button,
.account-empty-state .button,
.support-layout .button { min-height: 39px; display: inline-flex; align-items: center; justify-content: center; padding: 0 16px; color: var(--brand-900); background: transparent; border: 1px solid var(--brand-700); border-radius: 999px; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.account-editor .form-row,
.account-details-form .form-row { display: grid; gap: 7px; margin: 0; }
.account-editor label,
.account-details-form label { color: var(--brand-700); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.account-editor input,
.account-editor select,
.account-editor textarea,
.account-details-form input,
.account-details-form select,
.account-details-form textarea { width: 100%; min-height: 48px; padding: 11px 13px; color: var(--brand-900); background: var(--brand-050); border: 1px solid var(--brand-200); border-radius: 10px; outline: none; }
.account-editor input:focus,
.account-editor select:focus,
.account-editor textarea:focus,
.account-details-form input:focus,
.account-details-form select:focus,
.account-details-form textarea:focus { border-color: var(--brand-700); box-shadow: 0 0 0 3px rgba(64,87,71,.12); }
.account-editor .select2-container,
.account-details-form .select2-container { width: 100% !important; }
.account-editor .select2-container .select2-selection--single,
.account-details-form .select2-container .select2-selection--single {
  min-height: 48px;
  color: var(--brand-900);
  background: var(--brand-050);
  border: 1px solid var(--brand-200);
  border-radius: 10px;
}
.account-editor .select2-container .select2-selection--single .select2-selection__rendered,
.account-details-form .select2-container .select2-selection--single .select2-selection__rendered {
  padding: 11px 38px 11px 13px;
  color: var(--brand-900);
  line-height: 24px;
}
.account-editor .select2-container .select2-selection--single .select2-selection__arrow,
.account-details-form .select2-container .select2-selection--single .select2-selection__arrow { top: 11px; right: 10px; }
.account-editor .form-row-wide,
.account-details-form .form-row-wide { grid-column: 1 / -1; }
.account-editor .optional,
.account-details-form .optional { color: var(--muted); font-weight: 400; text-transform: none; }
.account-editor small,
.account-details-form small { color: var(--muted); font-size: 11px; line-height: 1.4; text-transform: none; }
.wf-readonly-field { display: grid; gap: 5px; padding: 14px; background: var(--brand-050); border: 1px solid var(--brand-200); border-radius: 10px; }
.wf-readonly-field > span { color: var(--brand-700); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.wf-form-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 24px; }
.wf-account-empty.account-empty-state { min-height: 220px; display: flex; align-items: center; gap: 22px; padding: 28px; background: var(--paper); border: 1px solid var(--brand-200); border-radius: 22px; }
.account-empty-state .wf-empty-mark { display: grid; flex: 0 0 auto; width: 64px; height: 64px; place-items: center; color: var(--brand-900); background: var(--brand-100); border-radius: 50%; font: 400 18px/1 var(--sans); }
.account-empty-state > div { min-width: 0; flex: 1; }
.account-empty-state h2,
.account-empty-state h3 { margin: 4px 0 8px; font: 400 30px/1 var(--sans); }
.account-empty-state p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.order-history-card.wf-order-card,
.address-card.wf-address-card,
.account-editor.wf-account-form,
.account-details-form.wf-account-form { border-radius: 22px; }
.account-actions-card .account-actions-list { display: grid; gap: 12px; margin-top: 30px; }
.account-actions-card .account-actions-list a { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: 1px solid var(--brand-200); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.account-address-preview .account-text-link { margin-top: 24px; }
.wf-marketing-consent { display: flex; align-items: flex-start; gap: 10px; margin: 14px 0; font-size: 13px; line-height: 1.5; }
.wf-marketing-consent input { width: 16px; height: 16px; margin-top: 2px; flex: 0 0 auto; }
.wf-marketing-preferences form { margin-top: 14px; }
.support-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .42fr); gap: 18px; align-items: start; }
.contact-card + .support-layout { margin-top: 22px; }
.support-layout .support-history { min-height: 0; }
.support-history-list { display: grid; gap: 10px; margin-top: 20px; }
.support-history-list article { padding: 16px; background: var(--brand-050); border: 1px solid var(--brand-200); border-radius: 14px; }
.support-history-list article strong,
.support-history-list article small { display: block; }
.support-history-list article p { margin: 8px 0 0; font-size: 12px; line-height: 1.45; }
.support-history-list .wf-support-review { padding: 8px 10px; background: var(--brand-100); border-left: 2px solid var(--brand-700); border-radius: 3px; }
.support-history-list .wf-support-review strong { display: inline; }
.wf-support-order-picker { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 10px; align-items: end; margin-bottom: 18px; }
.wf-support-order-picker label { grid-column: 1 / -1; }
.wf-provider-boundary { margin-top: 18px; padding: 16px; background: var(--brand-100); border-radius: 14px; }
.wf-provider-boundary p { margin: 6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.account-access-card { min-height: 0; margin-top: 22px; }
.wf-identity-panel { max-width: 760px; }
.wf-identity-panel h2 { margin: 0; font: 400 clamp(30px, 4vw, 48px)/1 var(--sans); letter-spacing: -.035em; }
.wf-identity-panel > p:not(.wf-identity-kicker) { max-width: 640px; margin: 14px 0 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.wf-identity-kicker { margin: 0 0 10px; color: var(--brand-700); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.wf-identity-form { display: grid; gap: 10px; margin-top: 26px; }
.wf-identity-form label { color: var(--brand-700); font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.wf-identity-form input[type="email"],
.wf-identity-form input[type="text"] { width: 100%; min-height: 52px; padding: 12px 14px; color: var(--brand-900); background: var(--brand-050); border: 1px solid var(--brand-200); border-radius: 10px; font-size: 15px; }
.wf-identity-form input[name="wf_code"] { max-width: 250px; font-size: 25px; font-weight: 700; letter-spacing: .22em; text-align: center; }
.wf-identity-form .button { width: fit-content; min-height: 42px; margin-top: 5px; padding: 0 18px; color: var(--paper); background: var(--brand-900); border: 1px solid var(--brand-900); border-radius: 999px; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.wf-identity-fineprint { margin-top: 4px !important; font-size: 11px !important; }
.wf-identity-resend { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 20px; font-size: 12px; }
.wf-link-button { padding: 0; color: var(--brand-900); background: transparent; border: 0; border-bottom: 1px solid currentColor; font: inherit; }
.wf-account-access-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 24px; }
.wf-marketing-account-form { margin-top: 18px; }

@media (hover:hover) and (pointer:fine) {
  .account-nav a:hover { color: var(--paper); }
}

@media (max-width: 760px) {
  .account-shell.wf-account-layout { display: block; }
  .account-nav a { min-height: 38px; padding: 0 13px; border: 1px solid rgba(247,243,236,.22); border-radius: 999px; }
  .account-nav a::before,
  .account-nav a small { display: none; }
  .account-nav a.is-active { color: var(--brand-900); background: var(--brand-100); border-color: var(--brand-100); }
  .account-content.wf-account-main { padding: 28px 12px 44px; }
  .order-history-body { grid-template-columns: 84px minmax(0, 1fr); }
  .order-history-body:not(.has-order-image) { grid-template-columns: minmax(0, 1fr); }
  .order-history-body > .wf-order-thumb { width: 84px; height: 84px; }
  .order-history-card .wf-order-card-actions { grid-column: 1 / -1; justify-content: flex-start; max-width: none; }
  .support-layout { grid-template-columns: 1fr; }
  .wf-support-order-picker { grid-template-columns: 1fr; }
  .wf-support-order-picker label { grid-column: auto; }
  .reorder-product .wf-order-thumb { width: 78px; height: 78px; }
  .reorder-product:not(.has-order-image) { grid-template-columns: 1fr; }
}

@media (max-width: 500px) {
  .header-left .icon-button.mobile-only { display: grid; }
  .account-editor .form-row-wide,
  .account-details-form .form-row-wide { grid-column: auto; }
  .account-empty-state { align-items: flex-start; flex-wrap: wrap; }
  .account-empty-state .button { width: 100%; }
}
/* Governed policy-page base, copied into the independent V16 theme. */
.policy-shell{--policy-ink:#17221b;--policy-green:#405747;--policy-paper:#f4f0e8;--policy-line:rgba(23,34,27,.16);max-width:1520px;margin:0 auto;padding:clamp(34px,6vw,92px) clamp(18px,4vw,64px) 24px;color:var(--policy-ink)}
.policy-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:clamp(38px,7vw,120px);align-items:end;padding:0 0 clamp(38px,5vw,72px);border-bottom:1px solid var(--policy-line)}
.policy-eyebrow,.policy-card-label{margin:0 0 13px;color:var(--policy-green);font-size:11px;font-weight:800;letter-spacing:1.7px;text-transform:uppercase}
.policy-hero h1{max-width:920px;margin:0;font:700 clamp(54px,8vw,126px)/.88 var(--sans);letter-spacing:-.055em;text-transform:uppercase}
.policy-hero>div>p:last-child{max-width:700px;margin:28px 0 0;color:#556158;font-size:clamp(17px,1.45vw,22px);line-height:1.55}
.policy-hero dl{display:grid;gap:0;margin:0;border-top:1px solid var(--policy-line)}
.policy-hero dl>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;padding:15px 0;border-bottom:1px solid var(--policy-line);font-size:12px}
.policy-hero dt{color:#7a847c;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.policy-hero dd{margin:0;font-weight:650;overflow-wrap:anywhere}.policy-hero dd a{text-decoration:underline;text-underline-offset:3px}
.policy-layout{display:grid;grid-template-columns:250px minmax(0,790px);gap:clamp(42px,8vw,140px);justify-content:center;align-items:start;padding:clamp(46px,7vw,100px) 0}
.policy-sidebar{position:sticky;top:92px;min-width:0}.policy-sidebar>p{margin:0 0 14px;color:#7a847c;font-size:10px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase}.policy-sidebar nav{display:grid;max-width:100%;border-top:1px solid var(--policy-line)}
.policy-sidebar nav a{display:flex;align-items:center;justify-content:space-between;min-height:47px;padding:11px 3px;border-bottom:1px solid var(--policy-line);color:#59635b;font-size:13px;font-weight:650;transition:padding .18s,color .18s}.policy-sidebar nav a:hover{padding-left:8px;color:var(--policy-ink)}.policy-sidebar nav a[aria-current=page]{color:var(--policy-ink);font-weight:800}.policy-sidebar nav a[aria-current=page] span{color:var(--policy-green)}
.policy-sidebar-help{display:grid;gap:4px;margin-top:28px;padding:22px;background:var(--policy-green);color:#fff}.policy-sidebar-help span{color:#dce4de;font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}.policy-sidebar-help strong{font:700 20px/1.2 var(--sans)}.policy-sidebar-help a{margin-top:10px;color:#fff;font-size:12px;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.policy-article{min-width:0;font-size:16px;line-height:1.78}.policy-article>p:first-child{font-size:19px;line-height:1.65;color:#37443b}.policy-article h2{margin:50px 0 12px;padding-top:3px;font:700 clamp(27px,3vw,38px)/1.16 var(--sans);letter-spacing:-.03em}.policy-article p{margin:0 0 18px;color:#4f5951}.policy-article ul,.policy-article ol{display:grid;gap:10px;margin:18px 0 25px;padding-left:22px;color:#4f5951}.policy-article a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.policy-article strong{color:var(--policy-ink)}
.policy-readiness-notice{display:grid;gap:3px;margin-bottom:30px;padding:17px 19px;border-left:3px solid #aa6b25;background:#fff6df}.policy-readiness-notice strong{font-size:13px}.policy-readiness-notice span{color:#705d43;font-size:12px}
.policy-contact-options{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:28px}.policy-contact-options section{display:flex;min-width:0;flex-direction:column;min-height:260px;padding:28px;border:1px solid var(--policy-line);background:#fff}.policy-contact-options section:nth-child(2){background:var(--policy-paper)}.policy-contact-options h2{margin:0 0 12px;padding:0;font-size:28px}.policy-contact-options p{font-size:14px}.policy-contact-options .policy-card-action{margin-top:auto;padding-top:25px;color:var(--policy-ink);font-size:12px;font-weight:800}.policy-card-action a{display:flex;justify-content:space-between;gap:10px;overflow-wrap:anywhere}
.policy-contact-band{display:flex;align-items:flex-end;justify-content:space-between;gap:38px;margin:0 0 clamp(30px,5vw,72px);padding:clamp(30px,5vw,66px);background:var(--policy-green);color:#fff}.policy-contact-band h2{margin:0;font:700 clamp(36px,5vw,68px)/1 var(--sans);letter-spacing:-.045em}.policy-contact-band p:not(.policy-eyebrow){max-width:620px;margin:16px 0 0;color:#dce4de}.policy-contact-band .policy-eyebrow{color:#dce4de}.policy-contact-band>a{display:flex;align-items:center;justify-content:space-between;gap:40px;min-width:260px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.55);font-size:12px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}
@media(max-width:900px){.policy-hero{grid-template-columns:1fr}.policy-hero dl{max-width:560px}.policy-layout{grid-template-columns:190px minmax(0,1fr);gap:45px}.policy-contact-options{grid-template-columns:1fr}.policy-contact-band{align-items:flex-start;flex-direction:column}.policy-contact-band>a{width:100%}}
@media(max-width:640px){.policy-shell{padding-top:40px}.policy-hero{gap:34px;padding-bottom:38px}.policy-hero h1{font-size:clamp(49px,16vw,74px)}.policy-hero>div>p:last-child{margin-top:20px;font-size:16px}.policy-hero dl>div{grid-template-columns:76px minmax(0,1fr)}.policy-layout{width:100%;min-width:0;grid-template-columns:minmax(0,1fr);gap:34px;padding:42px 0 55px}.policy-sidebar{position:static;width:100%;min-width:0}.policy-sidebar>p,.policy-sidebar-help{display:none}.policy-sidebar nav{display:flex;width:100%;max-width:100%;gap:7px;overflow-x:auto;overscroll-behavior-inline:contain;border:0;padding-bottom:8px;scrollbar-width:thin}.policy-sidebar nav a{flex:0 0 auto;gap:16px;min-height:44px;padding:8px 11px;border:1px solid var(--policy-line);background:#fff}.policy-sidebar nav a[aria-current=page]{background:var(--policy-ink);color:#fff}.policy-sidebar nav a:hover{padding-left:11px}.policy-article{width:100%;min-width:0;font-size:15px;overflow-wrap:anywhere}.policy-article>p:first-child{font-size:17px}.policy-article h2{margin-top:40px;font-size:29px}.policy-contact-options{width:100%;min-width:0}.policy-contact-options section{min-width:0;min-height:230px;padding:24px}.policy-contact-band{gap:30px;padding:30px 24px}.policy-contact-band h2{font-size:42px}.policy-contact-band>a{min-width:0}}

/* Final policy-page components, scoped to the customer-information shell. */
.policy-shell {
	max-width: 1520px;
	overflow-wrap: anywhere;
}

.policy-shell *,
.policy-shell *::before,
.policy-shell *::after {
	box-sizing: border-box;
}

.policy-menu-toggle {
	display: none;
}

.policy-article > :first-child {
	margin-top: 0;
}

.policy-article h2[id],
.policy-article h3[id] {
	scroll-margin-top: 112px;
}

.policy-article a,
.policy-sidebar a,
.policy-contact-band a {
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.policy-shell a:focus-visible,
.policy-shell button:focus-visible {
	outline: 3px solid #b77b36;
	outline-offset: 3px;
}

.policy-summary {
	margin: 0 0 42px;
	padding: clamp(20px, 3vw, 30px);
	border: 1px solid var(--policy-line);
	background: var(--policy-paper);
}

.policy-summary-heading {
	margin: 0 0 16px !important;
	color: var(--policy-green) !important;
	font-size: 11px !important;
	font-weight: 800;
	letter-spacing: 1.7px;
	line-height: 1.4 !important;
	text-transform: uppercase;
}

.policy-summary-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--policy-line);
	border-left: 1px solid var(--policy-line);
}

.policy-summary-grid > div {
	display: grid;
	min-width: 0;
	align-content: start;
	gap: 8px;
	padding: 20px;
	border-right: 1px solid var(--policy-line);
	border-bottom: 1px solid var(--policy-line);
	background: #fff;
}

.policy-summary-grid span {
	color: #6b756d;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1.2px;
	line-height: 1.4;
	text-transform: uppercase;
}

.policy-summary-grid strong {
	font: 600 17px/1.45 var(--sans);
}

.policy-toc {
	margin: 0 0 42px;
	padding: clamp(22px, 3vw, 32px);
	border: 1px solid var(--policy-line);
	background: var(--policy-paper);
}

.policy-toc > h2 {
	margin: 0 0 22px;
	padding: 0;
	font-size: 26px;
}

.policy-toc-groups {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px 36px;
}

.policy-toc-group {
	min-width: 0;
}

.policy-toc-group:only-child ul {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.policy-toc-groups h3 {
	margin: 0 0 10px;
	font-size: 13px;
	line-height: 1.45;
}

.policy-toc-groups ul {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.policy-toc-groups a {
	display: inline-block;
	font-size: 15px;
	line-height: 1.45;
}

.policy-contact-options section {
	min-height: 0;
}

.policy-contact-options p,
.policy-contact-options li {
	font-size: 16px;
}

.policy-contact-options .policy-card-action {
	font-size: 13px;
}

.policy-inline-route {
	font-weight: 700;
}

.policy-claim-windows {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: 14px;
	margin: 18px 0 24px;
}

.policy-claim-windows section {
	min-width: 0;
	padding: clamp(22px, 3vw, 30px);
	border: 1px solid var(--policy-line);
	background: #fff;
}

.policy-claim-windows section:last-child {
	background: var(--policy-paper);
}

.policy-claim-windows h3 {
	margin: 0 0 12px;
	font: 600 22px/1.25 var(--sans);
}

.policy-claim-windows p:last-child {
	margin-bottom: 0;
}

.policy-important-note {
	margin: 18px 0 20px;
	padding: 20px 22px;
	border: 1px solid #405747;
	border-left: 5px solid #405747;
	background: #e7eee8;
	color: var(--policy-ink);
	line-height: 1.6;
}

.policy-related {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 18px;
	margin-top: 54px;
	padding-top: 22px;
	border-top: 1px solid var(--policy-line);
}

.policy-related > span {
	color: #6b756d;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1.2px;
	text-transform: uppercase;
}

.policy-related a {
	font-weight: 700;
}

.policy-back-to-top {
	display: none;
}

@media (max-width: 900px) {
	.policy-summary-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.policy-summary-grid > div:last-child {
		grid-column: 1 / -1;
	}

	.policy-claim-windows {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.policy-sidebar {
		display: grid;
		gap: 10px;
	}

	.policy-menu-toggle {
		display: flex;
		width: 100%;
		min-height: 48px;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		padding: 11px 14px;
		border: 1px solid var(--policy-line);
		background: #fff;
		color: var(--policy-ink);
		font: inherit;
		font-size: 15px;
		font-weight: 800;
		text-align: left;
		cursor: pointer;
	}

	.policy-menu-toggle > span:last-child {
		font-size: 22px;
		font-weight: 400;
		line-height: 1;
	}

	.policy-sidebar nav,
	.policy-sidebar nav:not([hidden]) {
		display: grid;
		width: 100%;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 7px;
		padding: 0;
		overflow: visible;
	}

	.policy-sidebar nav[hidden] {
		display: none;
	}

	.policy-sidebar nav a {
		min-width: 0;
		white-space: normal;
	}

	.policy-sidebar nav a:last-child {
		grid-column: 1 / -1;
	}

	.policy-article {
		font-size: 16px;
		line-height: 1.72;
	}

	.policy-article > p:first-child {
		font-size: 17px;
	}

	.policy-summary {
		margin-bottom: 34px;
		padding: 18px;
	}

	.policy-summary-grid {
		grid-template-columns: 1fr;
	}

	.policy-summary-grid > div:last-child {
		grid-column: auto;
	}

	.policy-toc {
		padding: 20px;
	}

	.policy-toc-groups,
	.policy-toc-group:only-child ul {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.policy-toc-groups ul {
		gap: 10px;
	}

	.policy-claim-windows section,
	.policy-important-note {
		padding: 20px;
	}

	.policy-back-to-top {
		display: block;
		margin-top: 42px !important;
		font-weight: 800;
	}
}

/* V16 public content, search and 404 routes. */
.v16-content-shell,
.v16-not-found-page {
	width: min(100%, 1520px);
	margin: 0 auto;
	padding: clamp(42px, 7vw, 100px) clamp(18px, 4vw, 64px);
}

.v16-content-hero {
	display: grid;
	gap: 16px;
	padding-bottom: clamp(28px, 4vw, 56px);
	border-bottom: 1px solid rgba(23, 32, 25, .22);
}

.v16-content-hero .eyebrow,
.v16-content-status .eyebrow,
.v16-not-found-copy .eyebrow {
	margin: 0;
	color: var(--brand-700);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.v16-content-hero h1,
.v16-content-status h1,
.v16-not-found-copy h1 {
	max-width: 1080px;
	margin: 0;
	font-size: clamp(48px, 8vw, 118px);
	font-weight: 700;
	letter-spacing: -.065em;
	line-height: .9;
	text-transform: uppercase;
}

.v16-content-hero > p:last-child,
.v16-content-status > p,
.v16-not-found-copy > p {
	max-width: 690px;
	margin: 0;
	color: var(--muted);
	font-size: clamp(15px, 1.5vw, 20px);
	line-height: 1.55;
}

.v16-prose {
	max-width: 820px;
	margin: clamp(38px, 6vw, 84px) auto 0;
	font-size: 16px;
	line-height: 1.75;
}

.v16-prose h2,
.v16-prose h3 { margin: 2.2em 0 .65em; line-height: 1.08; }

.v16-content-status,
.v16-content-empty {
	display: grid;
	gap: 20px;
	max-width: 1040px;
	min-height: 58svh;
	align-content: center;
	margin: 0 auto;
	padding: clamp(38px, 8vw, 110px) 0;
}

.v16-content-empty h2 {
	max-width: 850px;
	margin: 0;
	font-size: clamp(36px, 6vw, 76px);
	letter-spacing: -.05em;
	line-height: .95;
	text-transform: uppercase;
}

.v16-content-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 22px;
	margin-top: 10px;
}

.v16-content-links > a:not(.button) {
	font-size: 12px;
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 4px;
	text-transform: uppercase;
}

.v16-search-form { display: grid; gap: 9px; max-width: 780px; margin-top: 14px; }
.v16-search-form label { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.v16-search-form > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; border: 2px solid var(--ink); border-radius: 999px; overflow: hidden; }
.v16-search-form input { min-width: 0; min-height: 50px; padding: 10px 18px; background: transparent; border: 0; outline: 0; }
.v16-search-form button { min-width: 108px; padding: 0 20px; color: var(--paper); background: var(--ink); border: 0; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.v16-search-form:focus-within { box-shadow: 0 0 0 4px rgba(64, 87, 71, .16); }

.v16-search-results {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 2.4vw, 34px);
	padding: clamp(38px, 6vw, 86px) 0;
}

.v16-search-card { min-width: 0; width: auto; background: #fff; border: 1px solid rgba(23, 32, 25, .16); }
.v16-search-card > .collection-card { display: flex; width: auto; min-width: 0; height: 100%; }
.v16-search-card .collection-card-art { position: relative; aspect-ratio: .9; min-height: 320px; overflow: hidden; background: var(--product-canvas); }
.v16-search-card .collection-card-art > .product-detail-link { position: absolute; inset: 0; display: block; }
.v16-search-card .collection-card-art img { width: 100%; height: 100%; object-fit: contain; padding: clamp(18px, 3vw, 38px); }
.v16-search-card .collection-card-add { z-index: 3; }
.v16-search-card .collection-card-copy { min-height: 0; padding: 14px 2px 0; }
.v16-search-card .collection-card-line { display: flex; align-items: start; justify-content: space-between; gap: 14px; }
.v16-search-card .collection-card-line h2 { margin: 0; font-size: clamp(17px, 1.4vw, 21px); line-height: 1.05; }
.v16-search-card .collection-card-copy > p { margin: 7px 0 0; color: var(--muted); font-size: 14px; line-height: 1.4; }
.v16-search-card .collection-card-price { display: flex; flex: 0 0 auto; flex-direction: column; align-items: flex-end; }
.v16-search-card .product-card-image { display: grid; min-height: 320px; place-items: center; background: #fff; }
.v16-search-card img { width: 100%; height: 100%; max-height: 420px; object-fit: contain; padding: clamp(18px, 3vw, 38px); }
.v16-search-card .product-card-meta { display: grid; gap: 10px; padding: 18px; border-top: 1px solid rgba(23, 32, 25, .16); }
.v16-search-card h2,
.v16-search-card p { margin: 0; }
.v16-search-card h2 { font-size: 15px; line-height: 1.2; text-transform: uppercase; }
.v16-search-card p { font-size: 15px; font-weight: 800; }

.v16-search-page .navigation.pagination { padding-top: 22px; border-top: 1px solid rgba(23, 32, 25, .22); }
.v16-search-page .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.v16-search-page .page-numbers { display: grid; min-width: 40px; min-height: 40px; place-items: center; padding: 0 12px; border: 1px solid rgba(23, 32, 25, .22); border-radius: 999px; }
.v16-search-page .page-numbers.current { color: var(--paper); background: var(--brand-900); }

.v16-not-found-page {
	min-height: 72svh;
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(280px, .55fr);
	gap: clamp(40px, 8vw, 130px);
	align-items: center;
}

.v16-not-found-copy { display: grid; gap: 20px; }
.v16-not-found-guide { padding: 26px; color: var(--paper); background: var(--brand-900); }
.v16-not-found-guide > p { margin: 0 0 18px; color: var(--brand-200); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.v16-not-found-guide nav { display: grid; }
.v16-not-found-guide a { display: flex; justify-content: space-between; gap: 18px; padding: 17px 0; border-top: 1px solid rgba(247, 243, 236, .24); font-weight: 700; text-transform: uppercase; }
.v16-not-found-guide b { color: var(--brand-200); font-size: 10px; }
.v16-account-route,
.v16-commerce-route { min-height: 60svh; }

@media (max-width: 960px) {
	.v16-search-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.v16-not-found-page { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
	.v16-content-hero h1,
	.v16-content-status h1,
	.v16-not-found-copy h1 { font-size: clamp(44px, 15vw, 68px); }
	.v16-search-results { grid-template-columns: 1fr; }
	.v16-search-card .product-card-image { min-height: 280px; }
	.v16-search-form > div { grid-template-columns: 1fr; border-radius: 18px; }
	.v16-search-form button { min-height: 46px; }
	.v16-not-found-guide { padding: 22px; }
}

/* Buyer refund-intake state extensions. */
.wf-refund-order-badge { width: fit-content; display: inline-flex; align-items: center; min-height: 27px; margin-top: 9px; padding: 0 10px; color: var(--brand-900); background: #f7edcf; border: 1px solid #d6bd70; border-radius: 999px; font-size: 9px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.wf-refund-order-badge--resolved { color: #184b35; background: #e2f2e9; border-color: #8fc5a8; }
.wf-refund-order-badge--quiet { color: var(--muted); background: var(--brand-050); border-color: var(--brand-200); }
.wf-refund-intake-state { margin-top: 16px; padding: 14px 16px; color: var(--brand-900); background: var(--brand-050); border: 1px solid var(--brand-200); border-radius: 14px; }
.wf-refund-intake-state--pending { background: #fff8e5; border-color: #d6bd70; }
.wf-refund-intake-state--resolved { background: #eaf6ef; border-color: #8fc5a8; }
.wf-refund-intake-state strong { display: block; font-size: 12px; text-transform: uppercase; }
.wf-refund-intake-state p { margin: 6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
