:root {
  --tea-primary: #a98b5b;
  --tea-secondary: #b8aa99;
  --tea-accent: #8f5d4a;
  --tea-background: #f1ede6;
  --tea-background-soft: #ebe4d9;
  --tea-surface: #fffaf2;
  --tea-surface-quiet: #e4dbcf;
  --tea-text: #252321;
  --tea-text-muted: #746c62;
  --tea-border: rgba(37, 35, 33, 0.13);
  --tea-border-strong: rgba(37, 35, 33, 0.26);
  --tea-heading: "Cormorant Garamond", Georgia, serif;
  --tea-display: "Cormorant Garamond", Georgia, serif;
  --tea-body: "Manrope", Arial, sans-serif;
  --tea-label: "Manrope", Arial, sans-serif;
  --tea-container: 1440px;
  --tea-gutter: 1.25rem;
  --tea-header-height: 4.75rem;
  --tea-transition: 260ms cubic-bezier(0.22, 1, 0.36, 1);
}

/* Checkout */
.tea-page-checkout-index .tea-newsletter,
.tea-page-checkout-confirmation .tea-newsletter {
  display: none;
}

.tea-checkout-page,
.tea-confirmation-page {
  width: min(calc(100% - (2 * var(--tea-gutter))), var(--tea-container));
  margin: 0 auto;
  padding: 4.5rem 0 7rem;
}

.tea-checkout-header {
  max-width: 720px;
  margin-bottom: 3.5rem;
}

.tea-checkout-header .tea-text-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 2rem;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.7rem;
  text-decoration: none;
  text-transform: uppercase;
}

.tea-checkout-header h1,
.tea-confirmation-page h1 {
  margin: 0.35rem 0 1rem;
  font-family: var(--tea-heading);
  font-size: clamp(3rem, 7vw, 6rem);
  font-weight: 400;
  line-height: 0.98;
}

.tea-checkout-header > p:last-child,
.tea-confirmation-lead {
  max-width: 650px;
  margin: 0;
  color: var(--tea-text-muted);
  font-size: 1.08rem;
}

.tea-checkout-layout {
  display: grid;
  gap: 4rem;
}

.tea-checkout-details {
  min-width: 0;
}

.tea-checkout-account-note,
.tea-checkout-no-payment,
.tea-confirmation-notice {
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
  border-left: 2px solid var(--tea-secondary);
  background: rgba(111, 116, 98, 0.1);
  padding: 1rem 1.15rem;
}

.tea-checkout-account-note > i,
.tea-checkout-no-payment > i,
.tea-confirmation-notice > i {
  margin-top: 0.15rem;
  color: #b7bc9e;
  font-size: 1.35rem;
}

.tea-checkout-account-note div,
.tea-checkout-no-payment p,
.tea-confirmation-notice p {
  display: grid;
  min-width: 0;
  gap: 0.15rem;
  margin: 0;
}

.tea-checkout-account-note strong,
.tea-checkout-no-payment strong,
.tea-confirmation-notice strong {
  font-weight: 500;
  overflow-wrap: anywhere;
}

.tea-checkout-account-note span,
.tea-checkout-no-payment span,
.tea-confirmation-notice span {
  color: var(--tea-text-muted);
  font-size: 0.9rem;
}

.tea-checkout-account-note a,
.tea-check-control a {
  color: var(--tea-text);
}

.tea-checkout-section {
  padding: 3.5rem 0;
  border-bottom: 1px solid var(--tea-border);
}

.tea-checkout-section > header {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 2rem;
}

.tea-checkout-section > header > span {
  width: 2.1rem;
  padding-top: 0.28rem;
  color: var(--tea-primary);
  font-family: var(--tea-label);
  font-size: 0.72rem;
}

.tea-checkout-section h2,
.tea-checkout-summary h2 {
  margin: 0.15rem 0 0;
  font-family: var(--tea-heading);
  font-size: 1.75rem;
  font-weight: 400;
}

.tea-checkout-saved-address {
  max-width: 100%;
  margin-bottom: 1.5rem;
}

.tea-check-control {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  width: fit-content;
  margin: 0 0 1.5rem;
  cursor: pointer;
}

.tea-check-control input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.tea-check-control > span {
  display: grid;
  place-items: center;
  flex: 0 0 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.12rem;
  border: 1px solid var(--tea-border-strong);
  color: transparent;
}

.tea-check-control input:checked + span {
  border-color: var(--tea-primary);
  background: var(--tea-primary);
  color: #fff;
}

.tea-check-control input:focus-visible + span {
  outline: 2px solid var(--tea-text);
  outline-offset: 3px;
}

.tea-check-control strong {
  max-width: 660px;
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.5;
}

.tea-checkout-delivery {
  margin-top: 2rem;
  border-top: 1px solid var(--tea-border);
  border-bottom: 1px solid var(--tea-border);
}

.tea-checkout-delivery-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
}

.tea-checkout-delivery-heading h3 {
  margin: 0;
  font-family: var(--tea-heading);
  font-size: 1.1rem;
  font-weight: 400;
}

.tea-checkout-delivery-heading span {
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.65rem;
  text-transform: uppercase;
}

.tea-delivery-option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.9rem;
  padding: 1.1rem 0;
  border-top: 1px solid var(--tea-border);
  cursor: pointer;
}

.tea-delivery-option input {
  width: 1.05rem;
  height: 1.05rem;
  margin: 0;
  accent-color: var(--tea-primary);
}

.tea-delivery-option > span {
  display: grid;
  min-width: 0;
}

.tea-delivery-option strong,
.tea-delivery-option b {
  font-size: 0.94rem;
  font-weight: 500;
}

.tea-delivery-option small {
  color: var(--tea-text-muted);
}

.tea-delivery-message {
  margin: 0;
  padding: 1rem 0;
  border-top: 1px solid var(--tea-border);
  color: var(--tea-text-muted);
  font-size: 0.9rem;
}

.tea-checkout-notes {
  margin-top: 2rem;
}

.tea-checkout-consent .tea-check-control {
  width: 100%;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--tea-border);
}

.tea-checkout-summary {
  min-width: 0;
  padding: 1.5rem;
  border: 1px solid var(--tea-border-strong);
  background: var(--tea-surface);
}

.tea-checkout-summary-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1.4rem;
  border-bottom: 1px solid var(--tea-border);
}

.tea-checkout-summary-heading a {
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.66rem;
  text-transform: uppercase;
}

.tea-checkout-items {
  display: grid;
}

.tea-checkout-item {
  display: grid;
  grid-template-columns: 4.2rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.9rem;
  padding: 1.15rem 0;
  border-bottom: 1px solid var(--tea-border);
}

.tea-checkout-item-media {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 5;
  overflow: visible;
  background: var(--tea-background-soft);
  color: var(--tea-text-muted);
}

.tea-checkout-item-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tea-checkout-item-media > span {
  position: absolute;
  top: -0.45rem;
  right: -0.45rem;
  display: grid;
  place-items: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 50%;
  background: var(--tea-accent);
  color: #fff;
  font-family: var(--tea-label);
  font-size: 0.62rem;
}

.tea-checkout-item h3 {
  margin: 0;
  font-family: var(--tea-heading);
  font-size: 1rem;
  font-weight: 400;
  overflow-wrap: anywhere;
}

.tea-checkout-item p,
.tea-checkout-item small {
  margin: 0.15rem 0 0;
  color: var(--tea-text-muted);
  font-size: 0.78rem;
}

.tea-checkout-item small {
  color: #cf999b;
  font-family: var(--tea-label);
  text-transform: uppercase;
}

.tea-checkout-item > strong {
  font-size: 0.9rem;
  font-weight: 500;
}

.tea-checkout-totals {
  display: grid;
  gap: 0.75rem;
  margin: 1.5rem 0;
}

.tea-checkout-totals > div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.tea-checkout-totals dt,
.tea-checkout-totals dd {
  margin: 0;
}

.tea-checkout-totals > div:last-child {
  margin-top: 0.4rem;
  padding-top: 1rem;
  border-top: 1px solid var(--tea-border-strong);
  font-size: 1.15rem;
}

.tea-checkout-totals > div:last-child dd {
  font-weight: 500;
}

.tea-checkout-no-payment {
  margin-bottom: 1rem;
}

.tea-checkout-submit {
  width: 100%;
  justify-content: center;
  margin-top: 1rem;
}

.tea-checkout-state {
  max-width: 760px;
  padding: 4rem 0;
  border-top: 1px solid var(--tea-border);
  border-bottom: 1px solid var(--tea-border);
  text-align: center;
}

.tea-checkout-state > i {
  color: var(--tea-primary);
  font-size: 2.5rem;
}

.tea-checkout-state h2 {
  margin: 0.5rem 0;
  font-family: var(--tea-heading);
  font-size: 2.2rem;
  font-weight: 400;
}

.tea-checkout-state > p:not(.tea-kicker) {
  max-width: 500px;
  margin: 0 auto 1.5rem;
  color: var(--tea-text-muted);
}

.tea-confirmation-page {
  max-width: 920px;
  text-align: center;
}

.tea-confirmation-mark {
  display: grid;
  place-items: center;
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1.5rem;
  border: 1px solid #929979;
  color: #b7bc9e;
  font-size: 2rem;
}

.tea-confirmation-lead {
  margin-right: auto;
  margin-left: auto;
}

.tea-confirmation-receipt {
  display: grid;
  margin: 3rem 0 2rem;
  border-top: 1px solid var(--tea-border-strong);
  border-bottom: 1px solid var(--tea-border-strong);
}

.tea-confirmation-receipt > div {
  display: grid;
  gap: 0.3rem;
  padding: 1.25rem;
  border-bottom: 1px solid var(--tea-border);
}

.tea-confirmation-receipt > div:last-child {
  border-bottom: 0;
}

.tea-confirmation-receipt span {
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.65rem;
  text-transform: uppercase;
}

.tea-confirmation-receipt strong {
  font-size: 1.05rem;
  font-weight: 500;
}

.tea-confirmation-notice {
  max-width: 680px;
  margin: 0 auto;
  text-align: left;
}

.tea-confirmation-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.8rem;
  margin-top: 2rem;
}

@media (min-width: 768px) {
  .tea-checkout-page,
  .tea-confirmation-page {
    padding-top: 6rem;
  }

  .tea-confirmation-receipt {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tea-confirmation-receipt > div {
    border-right: 1px solid var(--tea-border);
    border-bottom: 0;
  }

  .tea-confirmation-receipt > div:nth-child(3n) {
    border-right: 0;
  }

  .tea-confirmation-receipt > div:nth-child(-n + 3) {
    border-bottom: 1px solid var(--tea-border);
  }

  .tea-confirmation-receipt > div:nth-last-child(-n + 3) {
    border-bottom: 0;
  }
}

@media (min-width: 1100px) {
  .tea-checkout-layout {
    grid-template-columns: minmax(0, 1fr) minmax(350px, 0.48fr);
    align-items: start;
    gap: 5rem;
  }

  .tea-checkout-summary {
    position: sticky;
    top: calc(var(--tea-header-height) + 1.5rem);
  }
}

@media (max-width: 767px) {
  .tea-checkout-page,
  .tea-confirmation-page {
    padding-top: 3rem;
    padding-bottom: 5rem;
  }

  .tea-checkout-header {
    margin-bottom: 2.5rem;
  }

  .tea-checkout-header h1,
  .tea-confirmation-page h1 {
    font-size: 3rem;
  }

  .tea-checkout-section {
    padding: 2.5rem 0;
  }

  .tea-checkout-section h2 {
    font-size: 1.45rem;
  }

  .tea-checkout-summary {
    padding: 1.15rem;
  }

  .tea-checkout-item {
    grid-template-columns: 3.6rem minmax(0, 1fr) auto;
    gap: 0.7rem;
  }

  .tea-confirmation-actions {
    display: grid;
  }
}

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

html {
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  margin: 0;
  overflow-x: hidden;
  background: var(--tea-background);
  color: var(--tea-text);
  font-family: var(--tea-body);
  font-size: 1rem;
  font-weight: 300;
  letter-spacing: 0;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}

body.tea-overlay-open {
  overflow: hidden;
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

button {
  border-radius: 0;
}

a {
  color: inherit;
  text-underline-offset: 0.22em;
}

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

::selection {
  background: var(--tea-primary);
  color: var(--tea-text);
}

:focus-visible {
  outline: 2px solid var(--tea-primary);
  outline-offset: 4px;
}

.tea-skip {
  position: fixed;
  top: 0.75rem;
  left: -999px;
  z-index: 200;
  background: var(--tea-text);
  color: var(--tea-background);
  font-family: var(--tea-label);
  font-size: 0.72rem;
  padding: 0.75rem 1rem;
  text-decoration: none;
  text-transform: uppercase;
}

.tea-skip:focus {
  left: 0.75rem;
}

.tea-kicker {
  margin: 0;
  color: var(--tea-primary);
  font-family: var(--tea-label);
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  line-height: 1.4;
  text-transform: uppercase;
}

.tea-announcement {
  position: relative;
  display: grid;
  min-height: 2.25rem;
  place-items: center;
  padding: 0.52rem 3.25rem;
  border-bottom: 1px solid rgba(10, 10, 9, 0.12);
  background: var(--tea-text);
  color: var(--tea-background);
}

.tea-announcement[hidden] {
  display: none;
}

.tea-announcement p {
  margin: 0;
  font-family: var(--tea-label);
  font-size: 0.61rem;
  font-weight: 500;
  letter-spacing: 0.17em;
  line-height: 1.35;
  text-align: center;
  text-transform: uppercase;
}

.tea-icon-button {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  flex: 0 0 2.75rem;
  padding: 0;
  place-items: center;
  border: 0;
  background: transparent;
  color: inherit;
  text-decoration: none;
  transition: color var(--tea-transition), background-color var(--tea-transition);
}

.tea-icon-button i {
  font-size: 1.45rem;
}

.tea-icon-button:hover {
  color: var(--tea-primary);
}

.tea-announcement-close {
  position: absolute;
  top: 50%;
  right: 0.35rem;
  width: 2rem;
  height: 2rem;
  transform: translateY(-50%);
}

.tea-announcement-close i {
  font-size: 1.1rem;
}

.tea-site-header {
  position: sticky;
  top: 0;
  z-index: 70;
  height: var(--tea-header-height);
  border-bottom: 1px solid var(--tea-border);
  background: rgba(10, 10, 9, 0.94);
  backdrop-filter: blur(18px);
}

.tea-header-inner {
  display: grid;
  width: 100%;
  max-width: var(--tea-container);
  height: 100%;
  margin: 0 auto;
  padding: 0 var(--tea-gutter);
  align-items: center;
  grid-template-columns: 2.75rem 1fr auto;
}

.tea-brand {
  display: inline-flex;
  width: max-content;
  flex-direction: column;
  justify-self: center;
  color: var(--tea-text);
  line-height: 0.82;
  text-align: center;
  text-decoration: none;
}

.tea-brand span {
  font-family: var(--tea-display);
  font-size: 1.32rem;
  font-weight: 500;
}

.tea-brand small {
  margin-top: 0.45rem;
  font-family: var(--tea-label);
  font-size: 0.43rem;
  letter-spacing: 0.45em;
  text-transform: uppercase;
}

.tea-menu-toggle {
  justify-self: start;
}

.tea-desktop-nav {
  display: none;
}

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

.tea-account-action {
  display: none;
}

.tea-cart-action {
  position: relative;
}

.tea-cart-count {
  position: absolute;
  top: 0.25rem;
  right: 0.05rem;
  display: grid;
  width: 1rem;
  height: 1rem;
  place-items: center;
  border: 1px solid var(--tea-background);
  border-radius: 50%;
  background: var(--tea-primary);
  color: #fff;
  font-family: var(--tea-label);
  font-size: 0.5rem;
  line-height: 1;
}

.tea-mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  visibility: hidden;
  min-height: 100dvh;
  padding: 1.2rem var(--tea-gutter) 1.5rem;
  overflow-y: auto;
  background: var(--tea-background-soft);
  grid-template-rows: auto 1fr auto;
  opacity: 0;
  transform: translateX(-100%);
  transition: opacity var(--tea-transition), transform 420ms cubic-bezier(0.76, 0, 0.24, 1), visibility 420ms;
}

.tea-mobile-menu.is-open {
  visibility: visible;
  opacity: 1;
  transform: translateX(0);
}

.tea-mobile-menu-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--tea-border);
}

.tea-mobile-menu-top .tea-brand {
  justify-self: auto;
  text-align: left;
}

.tea-mobile-nav {
  display: grid;
  align-content: center;
  padding: 2rem 0;
}

.tea-mobile-nav a {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  padding: 0.46rem 0;
  color: var(--tea-text);
  font-family: var(--tea-display);
  font-size: 2.15rem;
  font-weight: 400;
  line-height: 1.08;
  text-decoration: none;
  transition: color var(--tea-transition), transform var(--tea-transition);
}

.tea-mobile-nav a span {
  min-width: 1.8rem;
  color: var(--tea-primary);
  font-family: var(--tea-label);
  font-size: 0.58rem;
  letter-spacing: 0.12em;
}

.tea-mobile-nav a:hover,
.tea-mobile-nav a[aria-current="page"] {
  color: var(--tea-primary);
  transform: translateX(0.35rem);
}

.tea-mobile-menu-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--tea-border);
}

.tea-mobile-menu-footer a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  text-decoration: none;
  text-transform: uppercase;
}

.tea-search-panel {
  position: fixed;
  inset: 0;
  z-index: 110;
  visibility: hidden;
  opacity: 0;
  transition: opacity var(--tea-transition), visibility var(--tea-transition);
}

.tea-search-panel.is-open {
  visibility: visible;
  opacity: 1;
}

.tea-search-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  padding: 0;
  border: 0;
  background: rgba(0, 0, 0, 0.72);
  cursor: default;
}

.tea-search-dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 2rem var(--tea-gutter) 2.5rem;
  border-bottom: 1px solid var(--tea-border-strong);
  background: var(--tea-background-soft);
  transform: translateY(-2rem);
  transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

.tea-search-panel.is-open .tea-search-dialog {
  transform: translateY(0);
}

.tea-search-heading {
  display: flex;
  max-width: 900px;
  margin: 0 auto 2rem;
  align-items: flex-start;
  justify-content: space-between;
}

.tea-search-heading h2 {
  margin: 0.25rem 0 0;
  font-family: var(--tea-heading);
  font-size: 2rem;
  font-weight: 400;
}

.tea-search-form {
  display: grid;
  max-width: 900px;
  margin: 0 auto;
  align-items: center;
  border-bottom: 1px solid var(--tea-border-strong);
  grid-template-columns: auto 1fr auto;
}

.tea-search-form > i {
  color: var(--tea-text-muted);
  font-size: 1.5rem;
}

.tea-search-form input {
  width: 100%;
  min-width: 0;
  padding: 0.9rem 0.8rem;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--tea-text);
  font-family: var(--tea-heading);
  font-size: 1.05rem;
}

.tea-search-form input::placeholder {
  color: var(--tea-text-muted);
  opacity: 0.75;
}

.tea-search-form button,
.tea-input-action button {
  display: grid;
  width: 3rem;
  height: 3rem;
  padding: 0;
  place-items: center;
  border: 0;
  background: transparent;
  color: var(--tea-text);
}

.tea-search-form button i,
.tea-input-action button i {
  font-size: 1.55rem;
  transition: transform var(--tea-transition), color var(--tea-transition);
}

.tea-search-form button:hover i,
.tea-input-action button:hover i {
  color: var(--tea-primary);
  transform: translateX(0.2rem);
}

.tea-search-note {
  max-width: 900px;
  margin: 0.8rem auto 0;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.6rem;
  letter-spacing: 0.08em;
}

main {
  min-height: 55vh;
}

.tea-page-hero {
  display: grid;
  width: min(100%, 1180px);
  min-height: 56vh;
  margin: 0 auto;
  padding: 5rem var(--tea-gutter);
  align-content: center;
}

.tea-page-hero h1,
.tea-state h1 {
  max-width: 980px;
  margin: 0.85rem 0 1.25rem;
  font-family: var(--tea-display);
  font-size: 3rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 0.98;
}

.tea-page-hero > p:not(.tea-kicker),
.tea-state > p:not(.tea-kicker) {
  max-width: 680px;
  margin: 0;
  color: var(--tea-text-muted);
  font-size: 1.05rem;
  line-height: 1.75;
}

.tea-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 2rem;
}

.tea-button {
  display: inline-flex;
  min-height: 3.2rem;
  padding: 0.85rem 1.45rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--tea-text);
  background: var(--tea-text);
  color: var(--tea-background);
  font-family: var(--tea-label);
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: border-color var(--tea-transition), background-color var(--tea-transition), color var(--tea-transition);
}

.tea-button:hover {
  border-color: var(--tea-primary);
  background: var(--tea-primary);
  color: #fff;
}

.tea-button-outline {
  border-color: var(--tea-border-strong);
  background: transparent;
  color: var(--tea-text);
}

.tea-button-small {
  min-height: 2.65rem;
  padding: 0.65rem 1rem;
  font-size: 0.6rem;
}

.tea-text-link {
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: 0.4rem;
  border-bottom: 1px solid currentColor;
  color: var(--tea-text);
  font-family: var(--tea-label);
  font-size: 0.62rem;
  letter-spacing: 0.13em;
  text-decoration: none;
  text-transform: uppercase;
}

.tea-text-link i {
  font-size: 1rem;
  transition: transform var(--tea-transition);
}

.tea-text-link:hover i {
  transform: translateX(0.2rem);
}

.tea-breadcrumbs {
  width: min(100%, var(--tea-container));
  margin: 0 auto;
  padding: 1.05rem var(--tea-gutter) 0;
}

.tea-breadcrumbs ol {
  display: flex;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
}

.tea-breadcrumbs li {
  display: inline-flex;
  align-items: center;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.58rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tea-breadcrumbs li:not(:last-child)::after {
  width: 1.4rem;
  height: 1px;
  margin-left: 0.5rem;
  background: var(--tea-border-strong);
  content: "";
}

.tea-breadcrumbs a {
  color: var(--tea-text);
  text-decoration: none;
}

.tea-breadcrumbs a:hover {
  color: var(--tea-primary);
}

.tea-product-card,
.tea-article-card {
  min-width: 0;
}

.tea-product-media,
.tea-article-media {
  position: relative;
  display: block;
  overflow: hidden;
  background: var(--tea-surface);
}

.tea-product-media {
  aspect-ratio: 3 / 4;
}

.tea-article-media {
  aspect-ratio: 4 / 3;
}

.tea-product-media img,
.tea-article-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 520ms ease, transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.tea-product-image-hover {
  position: absolute;
  inset: 0;
  opacity: 0;
}

.tea-product-card:hover .tea-product-image:first-child:has(+ .tea-product-image-hover) {
  opacity: 0;
}

.tea-product-card:hover .tea-product-image-hover {
  opacity: 1;
  transform: scale(1.025);
}

.tea-article-card:hover .tea-article-media img {
  transform: scale(1.025);
}

.tea-media-placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  color: var(--tea-text-muted);
}

.tea-media-placeholder i {
  font-size: 2rem;
  opacity: 0.45;
}

.tea-card-badges {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.3rem;
}

.tea-card-badges span {
  padding: 0.38rem 0.55rem;
  background: var(--tea-text);
  color: var(--tea-background);
  font-family: var(--tea-label);
  font-size: 0.52rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.tea-product-details {
  display: grid;
  padding-top: 0.9rem;
  gap: 0.75rem;
  grid-template-columns: minmax(0, 1fr) auto;
}

.tea-product-details > div > p,
.tea-article-meta {
  margin: 0 0 0.25rem;
  color: var(--tea-primary);
  font-family: var(--tea-label);
  font-size: 0.55rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.tea-product-details h3,
.tea-article-details h3 {
  margin: 0;
  font-family: var(--tea-heading);
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.25;
}

.tea-product-details h3 a,
.tea-article-details h3 a {
  text-decoration: none;
}

.tea-product-option {
  display: block;
  margin-top: 0.25rem;
  color: var(--tea-text-muted);
  font-size: 0.78rem;
}

.tea-product-price {
  margin: 0;
  color: var(--tea-text);
  font-family: var(--tea-label);
  font-size: 0.68rem;
  white-space: nowrap;
}

.tea-product-price del {
  color: var(--tea-text-muted);
}

.tea-product-price ins {
  color: var(--tea-primary);
  text-decoration: none;
}

.tea-article-details {
  padding-top: 1.25rem;
}

.tea-article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

.tea-article-meta time {
  color: var(--tea-text-muted);
}

.tea-article-details h3 {
  margin-top: 0.45rem;
  font-size: 1.55rem;
}

.tea-article-excerpt {
  margin: 0.75rem 0 1rem;
  color: var(--tea-text-muted);
  line-height: 1.65;
}

.tea-rich-text > :first-child {
  margin-top: 0;
}

.tea-rich-text > :last-child {
  margin-bottom: 0;
}

.tea-rich-text a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.tea-newsletter {
  display: grid;
  padding: 4.5rem var(--tea-gutter);
  border-top: 1px solid var(--tea-border);
  background: var(--tea-background-soft);
  gap: 2.5rem;
}

.tea-newsletter-copy h2 {
  max-width: 620px;
  margin: 0.6rem 0 0.8rem;
  font-family: var(--tea-heading);
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.05;
}

.tea-newsletter-copy > p:last-child {
  max-width: 480px;
  margin: 0;
  color: var(--tea-text-muted);
}

.tea-newsletter form {
  width: 100%;
  max-width: 570px;
  align-self: end;
}

.tea-newsletter label,
.tea-field label {
  display: block;
  margin-bottom: 0.55rem;
  color: var(--tea-text);
  font-family: var(--tea-label);
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.tea-input-action {
  display: grid;
  align-items: center;
  border-bottom: 1px solid var(--tea-border-strong);
  grid-template-columns: 1fr auto;
}

.tea-input-action:focus-within {
  border-color: var(--tea-primary);
}

.tea-input-action input,
.tea-field input,
.tea-field select,
.tea-field textarea {
  width: 100%;
  min-height: 3.25rem;
  padding: 0.75rem 0;
  border: 0;
  border-bottom: 1px solid var(--tea-border-strong);
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: var(--tea-text);
}

.tea-input-action input {
  border: 0;
}

.tea-field input:focus,
.tea-field select:focus,
.tea-field textarea:focus {
  border-color: var(--tea-primary);
}

.tea-field input::placeholder,
.tea-field textarea::placeholder,
.tea-input-action input::placeholder {
  color: var(--tea-text-muted);
  opacity: 0.72;
}

.tea-field textarea {
  min-height: 8rem;
  resize: vertical;
}

.tea-field select {
  color-scheme: light;
}

.tea-form-note {
  margin: 0.75rem 0 0;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.56rem;
  line-height: 1.55;
}

.tea-form-note a {
  color: var(--tea-text);
}

.tea-form-grid {
  display: grid;
  gap: 1.4rem;
}

.tea-field-error {
  display: block;
  margin-top: 0.4rem;
  color: #e18b8e;
  font-family: var(--tea-label);
  font-size: 0.56rem;
  letter-spacing: 0.04em;
}

.tea-field [aria-invalid="true"] {
  border-color: #e18b8e;
}

.tea-check {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  color: var(--tea-text-muted);
  cursor: pointer;
  font-size: 0.82rem;
}

.tea-check input {
  width: 1rem;
  height: 1rem;
  margin: 0.22rem 0 0;
  flex: 0 0 1rem;
  accent-color: var(--tea-primary);
}

.tea-button:disabled,
.tea-button[aria-disabled="true"] {
  border-color: var(--tea-border);
  background: var(--tea-surface);
  color: var(--tea-text-muted);
  cursor: not-allowed;
  opacity: 0.7;
}

.tea-site-footer {
  border-top: 1px solid var(--tea-border);
  background: #070706;
}

.tea-footer-main {
  display: grid;
  max-width: var(--tea-container);
  margin: 0 auto;
  padding: 4.5rem var(--tea-gutter);
  gap: 2.5rem;
}

.tea-footer-intro {
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--tea-border);
}

.tea-footer-brand {
  display: inline-block;
  font-family: var(--tea-heading);
  font-size: 1.8rem;
  text-decoration: none;
}

.tea-footer-brand em {
  font-weight: 400;
}

.tea-footer-intro p {
  max-width: 390px;
  margin: 1rem 0 1.5rem;
  color: var(--tea-text-muted);
}

.tea-social-links {
  display: flex;
  gap: 0.4rem;
}

.tea-social-links a {
  display: grid;
  width: 2.65rem;
  height: 2.65rem;
  place-items: center;
  border: 1px solid var(--tea-border);
  color: var(--tea-text);
  text-decoration: none;
  transition: border-color var(--tea-transition), background-color var(--tea-transition), color var(--tea-transition);
}

.tea-social-links a:hover {
  border-color: var(--tea-primary);
  background: var(--tea-primary);
  color: #fff;
}

.tea-social-links i {
  font-size: 1.15rem;
}

.tea-footer-group {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.55rem;
}

.tea-footer-group h2 {
  margin: 0 0 0.8rem;
  color: var(--tea-text);
  font-family: var(--tea-label);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.tea-footer-group a,
.tea-footer-group span {
  color: var(--tea-text-muted);
  font-size: 0.9rem;
  line-height: 1.45;
  text-decoration: none;
  transition: color var(--tea-transition);
}

.tea-footer-group a:hover {
  color: var(--tea-primary);
}

.tea-footer-contact a:first-of-type {
  margin-top: 0.75rem;
}

.tea-footer-bottom {
  display: flex;
  max-width: var(--tea-container);
  margin: 0 auto;
  padding: 1.25rem var(--tea-gutter);
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--tea-border);
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.52rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.tea-footer-bottom p {
  margin: 0;
}

.tea-footer-bottom nav {
  display: flex;
  gap: 1rem;
}

.tea-footer-bottom a {
  text-decoration: none;
}

.tea-whatsapp {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 60;
  display: inline-flex;
  min-height: 3rem;
  padding: 0 0.95rem;
  align-items: center;
  gap: 0.45rem;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: #1d6b45;
  color: #fff;
  font-family: var(--tea-label);
  font-size: 0.58rem;
  letter-spacing: 0.12em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color var(--tea-transition), transform var(--tea-transition);
}

.tea-whatsapp:hover {
  background: #185b3b;
  color: #fff;
  transform: translateY(-0.15rem);
}

.tea-whatsapp i {
  font-size: 1.2rem;
}

.tea-cookie {
  position: fixed;
  right: 1rem;
  bottom: 5rem;
  left: 1rem;
  z-index: 90;
  display: flex;
  max-width: 560px;
  padding: 1rem;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--tea-border-strong);
  background: var(--tea-surface);
  box-shadow: 0 1.2rem 3.5rem rgba(0, 0, 0, 0.34);
  gap: 1rem;
}

.tea-cookie[hidden] {
  display: none;
}

.tea-cookie p {
  margin: 0;
  color: var(--tea-text-muted);
  font-size: 0.78rem;
  line-height: 1.5;
}

.tea-cookie p a {
  color: var(--tea-text);
}

.tea-state {
  display: grid;
  min-height: 58vh;
  padding: 5rem var(--tea-gutter);
  place-items: center;
  align-content: center;
  text-align: center;
}

.tea-state > i {
  margin-bottom: 1.25rem;
  color: var(--tea-primary);
  font-size: 2.2rem;
}

.tea-state h1 {
  max-width: 700px;
}

.tea-state > p:not(.tea-kicker) {
  max-width: 560px;
}

.tea-state .tea-button {
  margin-top: 2rem;
}

.tea-skeleton-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.tea-skeleton-card span,
.tea-skeleton-card i {
  display: block;
  background: var(--tea-surface);
  animation: tea-pulse 1.4s ease-in-out infinite alternate;
}

.tea-skeleton-card span {
  aspect-ratio: 3 / 4;
}

.tea-skeleton-card i {
  width: 72%;
  height: 0.72rem;
  margin-top: 0.85rem;
}

.tea-skeleton-card i:last-child {
  width: 42%;
  height: 0.55rem;
  margin-top: 0.5rem;
  opacity: 0.72;
}

@keyframes tea-pulse {
  from { opacity: 0.42; }
  to { opacity: 0.9; }
}

/* Homepage */
.tea-home-hero {
  position: relative;
  display: grid;
  height: calc(100svh - var(--tea-header-height) - 5.25rem);
  min-height: 31.5rem;
  max-height: 52rem;
  overflow: hidden;
  isolation: isolate;
}

.tea-home-hero-media,
.tea-home-hero-wash {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.tea-home-hero-media {
  z-index: -2;
  object-fit: cover;
  object-position: center 36%;
}

.tea-home-hero-wash {
  z-index: -1;
  background: rgba(5, 5, 4, 0.58);
}

.tea-home-hero-content {
  display: flex;
  width: min(100%, var(--tea-container));
  margin: 0 auto;
  padding: 4.25rem var(--tea-gutter) 3.5rem;
  align-items: flex-start;
  flex-direction: column;
  justify-content: flex-end;
}

.tea-home-hero-content h1 {
  max-width: 920px;
  margin: 0.65rem 0 0;
  font-family: var(--tea-display);
  font-size: 3.5rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 0.9;
}

.tea-home-hero-content h1 em {
  display: block;
  color: #d0c9bf;
  font-weight: 400;
}

.tea-home-hero-statement {
  max-width: 470px;
  margin: 1.25rem 0 0;
  color: var(--tea-text);
  font-size: 1rem;
}

.tea-home-hero .tea-hero-actions {
  margin-top: 1.5rem;
}

.tea-video-toggle {
  position: absolute;
  right: var(--tea-gutter);
  bottom: 4.25rem;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(10, 10, 9, 0.45);
  color: #fff;
  backdrop-filter: blur(10px);
}

.tea-video-toggle i {
  font-size: 1.2rem;
}

.tea-home-scroll {
  position: absolute;
  right: var(--tea-gutter);
  bottom: 1.25rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #fff;
  font-family: var(--tea-label);
  font-size: 0.55rem;
  letter-spacing: 0.16em;
  text-decoration: none;
  text-transform: uppercase;
}

.tea-home-scroll i {
  color: var(--tea-primary);
  font-size: 1rem;
}

.tea-home-marquee {
  overflow: hidden;
  border-top: 1px solid var(--tea-border);
  border-bottom: 1px solid var(--tea-border);
  background: var(--tea-background-soft);
}

.tea-home-marquee div {
  display: flex;
  width: max-content;
  padding: 1.1rem 0;
  align-items: center;
  animation: tea-marquee 28s linear infinite;
}

.tea-home-marquee span {
  padding: 0 1.5rem;
  color: rgba(245, 240, 232, 0.46);
  font-family: var(--tea-heading);
  font-size: 1.2rem;
  font-style: italic;
  white-space: nowrap;
}

.tea-home-marquee i {
  width: 0.32rem;
  height: 0.32rem;
  flex: 0 0 0.32rem;
  border-radius: 50%;
  background: var(--tea-primary);
}

@keyframes tea-marquee {
  to { transform: translateX(-50%); }
}

.tea-home-section {
  width: min(100%, var(--tea-container));
  margin: 0 auto;
  padding: 5.5rem var(--tea-gutter);
}

.tea-section-heading {
  display: grid;
  margin-bottom: 2.5rem;
  gap: 1.25rem;
}

.tea-section-heading h2 {
  max-width: 780px;
  margin: 0.6rem 0 0;
  font-family: var(--tea-heading);
  font-size: 2.65rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
}

.tea-section-heading h2 em {
  color: var(--tea-text-muted);
  font-weight: 400;
}

.tea-section-heading > p,
.tea-section-heading > .tea-section-copy {
  max-width: 430px;
  margin: 0;
  color: var(--tea-text-muted);
  line-height: 1.7;
}

.tea-section-heading-inline {
  align-items: end;
}

.tea-section-heading-inline .tea-text-link {
  margin-bottom: 0.3rem;
}

[data-reveal] {
  opacity: 0;
  transform: translateY(1.25rem);
  transition: opacity 700ms ease, transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

.tea-category-grid {
  display: grid;
  gap: 0.75rem;
}

.tea-category-tile {
  position: relative;
  display: block;
  min-height: 29rem;
  overflow: hidden;
  background: var(--tea-surface);
  color: #fff;
  text-decoration: none;
}

.tea-category-tile > img,
.tea-category-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.tea-category-tile > img {
  object-fit: cover;
  transition: transform 900ms cubic-bezier(0.22, 1, 0.36, 1);
}

.tea-category-overlay {
  background: rgba(4, 4, 3, 0.48);
  transition: background-color var(--tea-transition);
}

.tea-category-index {
  position: absolute;
  top: 1rem;
  right: 1rem;
  font-family: var(--tea-label);
  font-size: 0.58rem;
  letter-spacing: 0.12em;
}

.tea-category-copy {
  position: absolute;
  right: 1.25rem;
  bottom: 1.4rem;
  left: 1.25rem;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}

.tea-category-copy small {
  margin-bottom: 0.45rem;
  color: #dfd9d0;
  font-family: var(--tea-label);
  font-size: 0.55rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.tea-category-copy strong {
  font-family: var(--tea-heading);
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.05;
}

.tea-category-copy > span {
  max-width: 420px;
  margin-top: 0.55rem;
  color: #d2ccc3;
  font-size: 0.86rem;
  line-height: 1.5;
}

.tea-category-copy > i {
  margin-top: 1rem;
  font-size: 1.5rem;
  transition: transform var(--tea-transition);
}

.tea-category-tile:hover > img {
  transform: scale(1.035);
}

.tea-category-image-corporate {
  transform: scale(1.45);
}

.tea-category-tile:hover > .tea-category-image-corporate {
  transform: scale(1.5);
}

.tea-category-tile:hover .tea-category-overlay {
  background: rgba(4, 4, 3, 0.58);
}

.tea-category-tile:hover .tea-category-copy > i {
  transform: translateX(0.35rem);
}

.tea-home-product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.5rem 0.8rem;
}

.tea-product-section {
  border-top: 1px solid var(--tea-border);
}

.tea-featured-collection {
  position: relative;
  display: grid;
  min-height: 38rem;
  overflow: hidden;
  isolation: isolate;
}

.tea-featured-collection > img,
.tea-featured-collection-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.tea-featured-collection > img {
  z-index: -2;
  object-fit: cover;
}

.tea-featured-collection-overlay {
  z-index: -1;
  background: rgba(4, 4, 3, 0.58);
}

.tea-featured-collection-copy {
  width: min(100%, var(--tea-container));
  margin: auto auto 0;
  padding: 5rem var(--tea-gutter);
}

.tea-featured-collection-copy h2 {
  max-width: 900px;
  margin: 0.75rem 0 1rem;
  font-family: var(--tea-heading);
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 0.95;
}

.tea-featured-collection-copy > p:not(.tea-kicker),
.tea-featured-collection-copy > .tea-rich-text {
  max-width: 560px;
  margin: 0 0 1.75rem;
  color: #d4cec5;
}

.tea-brand-story {
  display: grid;
  border-top: 1px solid var(--tea-border);
  border-bottom: 1px solid var(--tea-border);
  background: var(--tea-background-soft);
}

.tea-brand-story-media {
  position: relative;
  min-height: 30rem;
  overflow: hidden;
}

.tea-brand-story-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tea-brand-story-media > span {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  padding: 0.55rem 0.7rem;
  background: var(--tea-background);
  color: var(--tea-text);
  font-family: var(--tea-label);
  font-size: 0.5rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tea-brand-story-copy {
  padding: 4.5rem var(--tea-gutter);
}

.tea-brand-story-copy h2 {
  max-width: 650px;
  margin: 0.75rem 0 1.35rem;
  font-family: var(--tea-heading);
  font-size: 2.75rem;
  font-weight: 400;
  line-height: 1;
}

.tea-brand-story-copy > p:not(.tea-kicker),
.tea-brand-story-copy > .tea-rich-text {
  max-width: 600px;
  margin: 0;
  color: var(--tea-text-muted);
  font-size: 1.02rem;
  line-height: 1.75;
}

.tea-story-notes {
  display: grid;
  margin: 2.2rem 0;
  border-top: 1px solid var(--tea-border);
}

.tea-story-notes div {
  display: flex;
  padding: 0.8rem 0;
  justify-content: space-between;
  border-bottom: 1px solid var(--tea-border);
  gap: 1rem;
}

.tea-story-notes dt,
.tea-story-notes dd {
  margin: 0;
}

.tea-story-notes dt {
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.56rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tea-story-notes dd {
  color: var(--tea-text);
  font-size: 0.9rem;
}

.tea-editorial-banner {
  position: relative;
  display: grid;
  min-height: 38rem;
  overflow: hidden;
  isolation: isolate;
}

.tea-editorial-banner > img,
.tea-editorial-wash {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.tea-editorial-banner > img {
  z-index: -2;
  object-fit: cover;
  object-position: center 25%;
}

.tea-editorial-wash {
  z-index: -1;
  background: rgba(5, 5, 4, 0.64);
}

.tea-editorial-copy {
  width: min(100%, var(--tea-container));
  margin: auto;
  padding: 5rem var(--tea-gutter);
}

.tea-editorial-copy h2 {
  max-width: 850px;
  margin: 0.8rem 0 1.2rem;
  font-family: var(--tea-heading);
  font-size: 3.1rem;
  font-weight: 400;
  line-height: 0.98;
}

.tea-editorial-copy > p:not(.tea-kicker),
.tea-editorial-copy > .tea-rich-text {
  max-width: 520px;
  margin: 0 0 1.8rem;
  color: #d5cfc6;
}

.tea-lookbook {
  border-top: 1px solid var(--tea-border);
}

.tea-lookbook-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 13rem;
  gap: 0.7rem;
}

.tea-lookbook-products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.5rem 0.8rem;
}

.tea-lookbook-products > div {
  min-width: 0;
}

.tea-lookbook-action {
  display: flex;
  justify-content: flex-end;
  margin-top: 2rem;
}

.tea-lookbook-grid figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: var(--tea-surface);
}

.tea-lookbook-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 800ms cubic-bezier(0.22, 1, 0.36, 1);
}

.tea-lookbook-grid figure:hover img {
  transform: scale(1.035);
}

.tea-lookbook-grid figcaption {
  position: absolute;
  right: 0.6rem;
  bottom: 0.6rem;
  left: 0.6rem;
  width: max-content;
  max-width: calc(100% - 1.2rem);
  padding: 0.4rem 0.55rem;
  background: rgba(10, 10, 9, 0.78);
  color: #fff;
  font-family: var(--tea-label);
  font-size: 0.48rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.tea-lookbook-tall {
  grid-row: span 2;
}

.tea-lookbook-wide {
  grid-column: span 2;
}

.tea-home-journal-grid {
  display: grid;
  gap: 2.5rem;
}

.tea-journal-section {
  border-top: 1px solid var(--tea-border);
}

.tea-social-edit {
  display: grid;
  border-top: 1px solid var(--tea-border);
  background: var(--tea-text);
  color: var(--tea-background);
}

.tea-social-edit .tea-kicker {
  color: var(--tea-primary);
}

.tea-social-edit-heading {
  display: flex;
  padding: 4rem var(--tea-gutter);
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
}

.tea-social-edit-heading h2 {
  margin: 0.65rem 0 1.6rem;
  font-family: var(--tea-heading);
  font-size: 2.7rem;
  font-weight: 400;
  line-height: 1;
}

.tea-social-edit-heading .tea-text-link {
  color: var(--tea-background);
}

.tea-social-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tea-social-grid a {
  display: block;
  aspect-ratio: 1;
  overflow: hidden;
  background: var(--tea-surface);
}

.tea-social-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: filter var(--tea-transition), transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.tea-social-grid a:hover img {
  filter: saturate(0.75);
  transform: scale(1.035);
}

/* About */
.tea-about-hero {
  position: relative;
  display: grid;
  height: calc(100svh - var(--tea-header-height) - 5.25rem);
  min-height: 32rem;
  max-height: 54rem;
  overflow: hidden;
  isolation: isolate;
}

.tea-about-hero > img,
.tea-about-hero-wash {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.tea-about-hero > img {
  z-index: -2;
  object-fit: cover;
  object-position: center 38%;
}

.tea-about-hero-wash {
  z-index: -1;
  background: rgba(5, 5, 4, 0.62);
}

.tea-about-hero-content {
  display: flex;
  width: min(100%, var(--tea-container));
  margin: 0 auto;
  padding: 4rem var(--tea-gutter);
  align-items: flex-start;
  flex-direction: column;
  justify-content: flex-end;
}

.tea-about-hero-content h1 {
  max-width: 1000px;
  margin: 0.7rem 0 1.1rem;
  font-family: var(--tea-display);
  font-size: 3.4rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 0.92;
}

.tea-about-hero-content > p:last-child,
.tea-about-hero-content > .tea-rich-text {
  max-width: 520px;
  margin: 0;
  color: #ded8cf;
  font-size: 1rem;
  line-height: 1.65;
}

.tea-about-scroll {
  position: absolute;
  right: var(--tea-gutter);
  bottom: 1.25rem;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: #fff;
  font-family: var(--tea-label);
  font-size: 0.54rem;
  letter-spacing: 0.14em;
  text-decoration: none;
  text-transform: uppercase;
}

.tea-about-scroll i {
  color: var(--tea-primary);
  font-size: 1rem;
}

.tea-about-intro {
  display: grid;
  width: min(100%, 1100px);
  min-height: 25rem;
  margin: 0 auto;
  padding: 5rem var(--tea-gutter);
  align-content: center;
  justify-items: center;
  text-align: center;
}

.tea-about-intro > p:last-child,
.tea-about-intro > .tea-rich-text {
  max-width: 980px;
  margin: 1rem 0 0;
  font-family: var(--tea-heading);
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.2;
}

.tea-about-story {
  display: grid;
  border-top: 1px solid var(--tea-border);
  border-bottom: 1px solid var(--tea-border);
  background: var(--tea-background-soft);
}

.tea-about-story-copy {
  display: flex;
  padding: 4.5rem var(--tea-gutter);
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
}

.tea-about-story-copy h2 {
  max-width: 660px;
  margin: 0.75rem 0 1.4rem;
  font-family: var(--tea-heading);
  font-size: 2.75rem;
  font-weight: 400;
  line-height: 1;
}

.tea-about-story-copy > p:not(.tea-kicker),
.tea-about-story-copy > .tea-rich-text {
  max-width: 590px;
  margin: 0 0 2rem;
  color: var(--tea-text-muted);
  font-size: 1rem;
  line-height: 1.8;
}

.tea-about-story-images {
  position: relative;
  display: grid;
  min-height: 42rem;
  padding: 1rem;
  grid-template-columns: minmax(0, 1fr) minmax(8rem, 0.52fr);
  gap: 0.75rem;
}

.tea-about-story-images figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: var(--tea-surface);
}

.tea-about-story-images figure:last-child {
  align-self: end;
  height: 55%;
}

.tea-about-story-images img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tea-about-story-images figcaption,
.tea-about-editorial figcaption {
  position: absolute;
  right: 0.65rem;
  bottom: 0.65rem;
  left: 0.65rem;
  width: max-content;
  max-width: calc(100% - 1.3rem);
  padding: 0.4rem 0.55rem;
  background: rgba(10, 10, 9, 0.82);
  color: #fff;
  font-family: var(--tea-label);
  font-size: 0.48rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.tea-about-philosophy {
  display: grid;
  padding: 5.5rem var(--tea-gutter);
  background: var(--tea-text);
  color: var(--tea-background);
  gap: 2rem;
}

.tea-about-philosophy h2 {
  max-width: 850px;
  margin: 0.8rem 0 0;
  font-family: var(--tea-heading);
  font-size: 2.8rem;
  font-weight: 400;
  line-height: 1;
}

.tea-about-philosophy > p,
.tea-about-philosophy > .tea-rich-text {
  max-width: 540px;
  margin: 0;
  color: #5c5852;
  font-size: 1rem;
  line-height: 1.75;
}

.tea-about-craft {
  width: min(100%, var(--tea-container));
  margin: 0 auto;
  padding: 5.5rem var(--tea-gutter);
}

.tea-about-craft-media {
  position: relative;
  min-height: 25rem;
  overflow: hidden;
  background: var(--tea-surface);
}

.tea-about-craft-layout {
  display: grid;
  gap: 2rem;
}

.tea-about-craft-media img {
  width: 100%;
  height: 100%;
  min-height: 25rem;
  object-fit: cover;
}

.tea-about-craft-media > span {
  position: absolute;
  right: 0.8rem;
  bottom: 0.8rem;
  padding: 0.45rem 0.6rem;
  background: var(--tea-background);
  font-family: var(--tea-label);
  font-size: 0.5rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tea-about-process {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tea-about-process li {
  padding: 1.5rem 0;
  border-top: 1px solid var(--tea-border);
}

.tea-about-process li > span,
.tea-about-values article > span {
  display: block;
  margin-bottom: 0.75rem;
  color: var(--tea-primary);
  font-family: var(--tea-label);
  font-size: 0.56rem;
  letter-spacing: 0.14em;
}

.tea-about-process h3,
.tea-about-values h3 {
  margin: 0 0 0.65rem;
  font-family: var(--tea-heading);
  font-size: 1.65rem;
  font-weight: 400;
  line-height: 1.15;
}

.tea-about-process p,
.tea-about-values article p {
  margin: 0;
  color: var(--tea-text-muted);
  font-size: 0.92rem;
  line-height: 1.65;
}

.tea-about-values {
  padding: 5.5rem var(--tea-gutter);
  border-top: 1px solid var(--tea-border);
  border-bottom: 1px solid var(--tea-border);
  background: var(--tea-background-soft);
}

.tea-about-values > header {
  width: min(100%, var(--tea-container));
  margin: 0 auto 3rem;
}

.tea-about-values > header h2 {
  max-width: 780px;
  margin: 0.7rem 0 0;
  font-family: var(--tea-heading);
  font-size: 2.8rem;
  font-weight: 400;
  line-height: 1;
}

.tea-about-values-grid {
  display: grid;
  width: min(100%, var(--tea-container));
  margin: 0 auto;
  border-top: 1px solid var(--tea-border);
}

.tea-about-values article {
  min-height: 15rem;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--tea-border);
}

.tea-about-founder {
  display: grid;
  border-bottom: 1px solid var(--tea-border);
}

.tea-about-founder-image {
  min-height: 34rem;
  overflow: hidden;
  background: var(--tea-surface);
}

.tea-about-founder-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tea-about-founder-copy {
  display: flex;
  padding: 4.5rem var(--tea-gutter);
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
}

.tea-about-founder-copy h2 {
  margin: 0.75rem 0 0.2rem;
  font-family: var(--tea-heading);
  font-size: 3rem;
  font-weight: 400;
  line-height: 1;
}

.tea-about-founder-role {
  margin: 0 0 1.5rem !important;
  color: var(--tea-primary) !important;
  font-family: var(--tea-label);
  font-size: 0.58rem !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.tea-about-founder-copy > p:last-child {
  max-width: 590px;
  margin: 0;
  color: var(--tea-text-muted);
  line-height: 1.75;
}

.tea-about-editorial {
  display: grid;
  padding: 0.75rem;
  background: var(--tea-background);
  gap: 0.75rem;
}

.tea-about-editorial figure {
  position: relative;
  min-height: 27rem;
  margin: 0;
  overflow: hidden;
  background: var(--tea-surface);
}

.tea-about-editorial img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 800ms cubic-bezier(0.22, 1, 0.36, 1);
}

.tea-about-editorial figure:first-child img {
  transform: scale(1.45);
}

.tea-about-editorial figure:hover img {
  transform: scale(1.035);
}

.tea-about-editorial figure:first-child:hover img {
  transform: scale(1.5);
}

.tea-about-cta {
  position: relative;
  display: grid;
  min-height: 39rem;
  overflow: hidden;
  isolation: isolate;
}

.tea-about-cta > img,
.tea-about-cta-wash {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.tea-about-cta > img {
  z-index: -2;
  object-fit: cover;
  object-position: center 28%;
}

.tea-about-cta-wash {
  z-index: -1;
  background: rgba(5, 5, 4, 0.68);
}

.tea-about-cta > div:last-child {
  width: min(100%, var(--tea-container));
  margin: auto;
  padding: 5rem var(--tea-gutter);
}

.tea-about-cta h2 {
  max-width: 840px;
  margin: 0.75rem 0 0;
  font-family: var(--tea-heading);
  font-size: 3rem;
  font-weight: 400;
  line-height: 1;
}

.swal2-popup.tea-alert {
  border: 1px solid var(--tea-border-strong);
  border-radius: 0;
  background: var(--tea-background-soft);
  color: var(--tea-text);
  font-family: var(--tea-body);
}

.tea-alert .swal2-title {
  color: var(--tea-text);
  font-family: var(--tea-heading);
  font-size: 1.8rem;
  font-weight: 400;
}

.tea-alert .swal2-html-container {
  color: var(--tea-text-muted);
}

.tea-alert .swal2-confirm {
  border-radius: 0;
  background: var(--tea-primary) !important;
  font-family: var(--tea-label);
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* Catalogue */
.tea-catalog-hero,
.tea-collections-hero {
  position: relative;
  display: grid;
  min-height: min(62vh, 38rem);
  overflow: hidden;
  align-items: end;
  background: var(--tea-surface);
}

.tea-catalog-hero > img,
.tea-collections-hero figure,
.tea-collections-hero figure img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.tea-catalog-hero > img,
.tea-collections-hero figure img {
  object-fit: cover;
  object-position: center 35%;
}

.tea-catalog-hero-shade,
.tea-collections-hero::after {
  position: absolute;
  inset: 0;
  background: rgba(6, 6, 5, 0.58);
  content: "";
}

.tea-catalog-hero-content,
.tea-collections-hero > div {
  position: relative;
  z-index: 1;
  width: min(100%, var(--tea-container));
  margin: 0 auto;
  padding: 4.5rem var(--tea-gutter);
}

.tea-catalog-hero h1,
.tea-collections-hero h1,
.tea-catalog-context-hero h1,
.tea-collection-detail-hero h1 {
  max-width: 780px;
  margin: 0.7rem 0 1rem;
  font-family: var(--tea-display);
  font-size: 2.9rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 0.98;
}

.tea-catalog-hero-content > p:last-child,
.tea-collections-hero > div > p:last-child,
.tea-catalog-context-hero > div > p:last-child,
.tea-collection-detail-copy > p:last-child {
  max-width: 620px;
  margin: 0;
  color: rgba(245, 240, 232, 0.78);
  font-size: 1.05rem;
}

.tea-collections-hero figure {
  margin: 0;
}

.tea-catalog-shell,
.tea-collections-index {
  width: min(100%, var(--tea-container));
  margin: 0 auto;
  padding: 4.5rem var(--tea-gutter) 7rem;
}

.tea-catalog-intro,
.tea-collections-index > header {
  display: flex;
  flex-direction: column;
  margin-bottom: 2.5rem;
  align-items: flex-start;
  justify-content: space-between;
  border-bottom: 1px solid var(--tea-border);
  gap: 2rem;
}

.tea-catalog-intro h2,
.tea-collections-index > header h2 {
  margin: 0.35rem 0 1.5rem;
  font-family: var(--tea-heading);
  font-size: 2.65rem;
  font-weight: 400;
  line-height: 1;
}

.tea-catalog-toolbar {
  display: flex;
  min-height: 4.25rem;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--tea-border);
  border-bottom: 1px solid var(--tea-border);
  gap: 1rem;
}

.tea-filter-toggle {
  display: inline-flex;
  min-height: 2.75rem;
  padding: 0;
  align-items: center;
  border: 0;
  background: transparent;
  color: var(--tea-text);
  font-family: var(--tea-label);
  font-size: 0.64rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tea-filter-toggle i {
  margin-right: 0.5rem;
  font-size: 1.2rem;
}

.tea-filter-toggle span {
  display: inline-grid;
  width: 1.25rem;
  height: 1.25rem;
  margin-left: 0.5rem;
  place-items: center;
  background: var(--tea-primary);
  color: #fff;
  font-size: 0.52rem;
}

.tea-sort-control {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.tea-sort-control span {
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.tea-sort-control select,
.tea-filter-group select,
.tea-filter-group input {
  border: 1px solid var(--tea-border);
  border-radius: 0;
  outline: 0;
  background: var(--tea-background);
  color: var(--tea-text);
}

.tea-sort-control select {
  width: 9rem;
  min-height: 2.65rem;
  padding: 0 1.8rem 0 0.65rem;
  font-family: var(--tea-label);
  font-size: 0.61rem;
}

.tea-sort-control select:focus,
.tea-filter-group select:focus,
.tea-filter-group input:focus {
  border-color: var(--tea-primary);
}

.tea-catalog-layout {
  display: grid;
  padding-top: 2rem;
}

.tea-filter-backdrop {
  position: fixed;
  inset: 0;
  z-index: 118;
  visibility: hidden;
  padding: 0;
  border: 0;
  background: rgba(0, 0, 0, 0.72);
  opacity: 0;
  transition: opacity var(--tea-transition), visibility var(--tea-transition);
}

.tea-catalog-filters {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 119;
  visibility: hidden;
  width: min(92vw, 25rem);
  padding: 1.5rem;
  overflow-y: auto;
  background: var(--tea-background-soft);
  transform: translateX(100%);
  transition: transform 420ms cubic-bezier(0.76, 0, 0.24, 1), visibility 420ms;
}

.tea-catalog.is-filter-open .tea-filter-backdrop,
.tea-catalog-browser.is-filter-open .tea-filter-backdrop {
  visibility: visible;
  opacity: 1;
}

.tea-catalog-browser.is-filter-open .tea-catalog-filters {
  visibility: visible;
  transform: translateX(0);
}

.tea-filter-heading {
  display: flex;
  margin-bottom: 1.5rem;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--tea-border);
}

.tea-filter-heading h2 {
  margin: 0 0 1rem;
  font-family: var(--tea-heading);
  font-size: 2rem;
  font-weight: 400;
}

.tea-filter-heading .tea-icon-button {
  margin-bottom: 0.75rem;
}

.tea-filter-group {
  min-width: 0;
  margin: 0;
  padding: 0 0 1.25rem;
  border: 0;
}

.tea-filter-group > label,
.tea-filter-group > legend {
  width: auto;
  margin: 0 0 0.55rem;
  padding: 0;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.58rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tea-filter-group select,
.tea-filter-group input {
  width: 100%;
  min-height: 2.9rem;
  padding: 0 0.75rem;
  font-size: 0.82rem;
}

.tea-filter-search {
  position: relative;
}

.tea-filter-search input {
  padding-right: 2.6rem;
}

.tea-filter-search i {
  position: absolute;
  top: 50%;
  right: 0.8rem;
  color: var(--tea-text-muted);
  transform: translateY(-50%);
}

.tea-filter-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.75rem;
}

.tea-colour-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.tea-colour-options label {
  position: relative;
  display: grid;
  width: 2.25rem;
  justify-items: center;
  cursor: pointer;
  gap: 0.25rem;
}

.tea-colour-options input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.tea-colour-options label > span:last-child {
  width: 100%;
  overflow: hidden;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.48rem;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tea-colour-swatch {
  display: grid;
  width: 1.75rem;
  height: 1.75rem;
  place-items: center;
  border: 2px solid var(--tea-background-soft);
  outline: 1px solid var(--tea-border-strong);
  background: var(--tea-swatch);
}

.tea-colour-swatch-all {
  background: var(--tea-surface);
  color: var(--tea-text-muted);
}

.tea-colour-options input:checked + .tea-colour-swatch {
  outline: 2px solid var(--tea-primary);
  outline-offset: 2px;
}

.tea-colour-options input:focus-visible + .tea-colour-swatch {
  outline: 2px solid var(--tea-text);
  outline-offset: 3px;
}

.tea-price-filter > div {
  position: relative;
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0, 1fr) auto;
}

.tea-price-filter > div + div {
  margin-top: 0.6rem;
}

.tea-price-filter > div label {
  position: absolute;
  left: -9999px;
}

.tea-price-filter > div span {
  padding: 0 0.65rem;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.55rem;
}

.tea-filter-actions {
  display: grid;
  padding-top: 0.5rem;
  gap: 1rem;
}

.tea-filter-actions a {
  justify-self: center;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.tea-catalog-results {
  position: relative;
  min-width: 0;
  min-height: 24rem;
  transition: opacity var(--tea-transition);
}

.tea-catalog-results.is-loading {
  opacity: 0.42;
  pointer-events: none;
}

.tea-catalog-results.is-loading::after {
  position: absolute;
  top: 4rem;
  left: 50%;
  width: 2rem;
  height: 2rem;
  border: 2px solid var(--tea-border-strong);
  border-top-color: var(--tea-primary);
  border-radius: 50%;
  content: "";
  transform: translateX(-50%);
  animation: tea-spin 700ms linear infinite;
}

@keyframes tea-spin {
  to { transform: translateX(-50%) rotate(360deg); }
}

.tea-catalog-results-summary {
  display: flex;
  min-height: 2.5rem;
  margin-bottom: 1rem;
  align-items: start;
  justify-content: space-between;
  border-bottom: 1px solid var(--tea-border);
  gap: 1rem;
}

.tea-catalog-results-summary p,
.tea-catalog-results-summary span {
  margin: 0;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.58rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tea-catalog-results-summary span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tea-catalog-product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem 0.8rem;
}

.tea-catalog-product-grid .tea-product-details {
  grid-template-columns: minmax(0, 1fr);
}

.tea-catalog-product-grid .tea-product-price {
  white-space: normal;
}

.tea-catalog-empty {
  display: grid;
  min-height: 26rem;
  padding: 3rem 1.5rem;
  place-items: center;
  align-content: center;
  border-top: 1px solid var(--tea-border);
  border-bottom: 1px solid var(--tea-border);
  text-align: center;
}

.tea-catalog-empty > i {
  margin-bottom: 1rem;
  color: var(--tea-primary);
  font-size: 2rem;
}

.tea-catalog-empty h2 {
  margin: 0;
  font-family: var(--tea-heading);
  font-size: 2rem;
  font-weight: 400;
}

.tea-catalog-empty p {
  max-width: 420px;
  margin: 0.65rem 0 1.5rem;
  color: var(--tea-text-muted);
}

.tea-pagination {
  display: flex;
  margin-top: 4rem;
  justify-content: center;
  gap: 0.35rem;
}

.tea-pagination a {
  display: grid;
  width: 2.8rem;
  height: 2.8rem;
  place-items: center;
  border: 1px solid var(--tea-border);
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.64rem;
  text-decoration: none;
}

.tea-pagination a:hover,
.tea-pagination a[aria-current="page"] {
  border-color: var(--tea-primary);
  background: var(--tea-primary);
  color: #fff;
}

.tea-catalog-context-hero,
.tea-collection-detail-hero {
  position: relative;
  display: grid;
  width: min(100%, var(--tea-container));
  min-height: 22rem;
  margin: 0 auto;
  padding: 4rem var(--tea-gutter);
  align-items: end;
  overflow: hidden;
}

.tea-catalog-context-hero.has-media,
.tea-collection-detail-hero.has-media {
  min-height: min(58vh, 40rem);
}

.tea-catalog-context-hero > img,
.tea-collection-detail-hero > img,
.tea-catalog-context-hero > span {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.tea-catalog-context-hero > img,
.tea-collection-detail-hero > img {
  object-fit: cover;
}

.tea-catalog-context-hero > span,
.tea-collection-detail-hero.has-media::after {
  background: rgba(6, 6, 5, 0.58);
  content: "";
}

.tea-collection-detail-hero.has-media::after {
  position: absolute;
  inset: 0;
}

.tea-catalog-context-hero > div,
.tea-collection-detail-copy {
  position: relative;
  z-index: 1;
}

.tea-collection-editorial {
  width: min(100%, 900px);
  margin: 0 auto;
  padding: 4rem var(--tea-gutter) 0;
}

.tea-collection-editorial p {
  margin: 0;
  color: var(--tea-text-muted);
  font-size: 1.15rem;
  line-height: 1.8;
}

.tea-collection-grid {
  display: grid;
  gap: 4rem 1.5rem;
}

.tea-collection-card-media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--tea-surface);
}

.tea-collection-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.tea-collection-card:hover .tea-collection-card-media img {
  transform: scale(1.025);
}

.tea-collection-featured {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  padding: 0.38rem 0.55rem;
  background: var(--tea-text);
  color: var(--tea-background);
  font-family: var(--tea-label);
  font-size: 0.52rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tea-collection-card-copy {
  padding-top: 1.25rem;
}

.tea-collection-card-copy > p:first-child {
  margin: 0;
  color: var(--tea-primary);
  font-family: var(--tea-label);
  font-size: 0.55rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tea-collection-card-copy h2 {
  margin: 0.3rem 0 0;
  font-family: var(--tea-heading);
  font-size: 2rem;
  font-weight: 400;
}

.tea-collection-card-copy h2 a {
  text-decoration: none;
}

.tea-collection-card-copy > p:not(:first-child) {
  max-width: 520px;
  margin: 0.6rem 0 1rem;
  color: var(--tea-text-muted);
}

/* Product details */
.tea-product-page {
  width: min(100%, var(--tea-container));
  margin: 0 auto;
  padding: 1.5rem var(--tea-gutter) 7rem;
}

.tea-product-primary {
  display: grid;
  gap: 2.5rem;
}

.tea-product-gallery {
  min-width: 0;
}

.tea-product-gallery-stage {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--tea-surface);
}

.tea-product-gallery-stage > button {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--tea-text);
}

.tea-product-gallery-stage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tea-product-gallery-stage > button > span {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border: 1px solid rgba(245, 240, 232, 0.35);
  background: rgba(10, 10, 9, 0.82);
}

.tea-product-gallery-stage > button > span i {
  font-size: 1.2rem;
}

.tea-product-gallery-empty {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  color: var(--tea-text-muted);
}

.tea-product-gallery-empty i {
  font-size: 2.5rem;
  opacity: 0.5;
}

.tea-product-thumbnails {
  display: grid;
  margin-top: 0.75rem;
  overflow-x: auto;
  grid-auto-columns: 4.5rem;
  grid-auto-flow: column;
  gap: 0.65rem;
  scrollbar-width: thin;
}

.tea-product-thumbnails button {
  aspect-ratio: 3 / 4;
  padding: 0;
  overflow: hidden;
  border: 1px solid transparent;
  background: var(--tea-surface);
  opacity: 0.58;
}

.tea-product-thumbnails button:hover,
.tea-product-thumbnails button[aria-current="true"] {
  border-color: var(--tea-primary);
  opacity: 1;
}

.tea-product-thumbnails img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tea-product-purchase {
  min-width: 0;
}

.tea-product-heading {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--tea-border);
}

.tea-product-heading h1 {
  margin: 0.55rem 0 1rem;
  font-family: var(--tea-display);
  font-size: 2.85rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  overflow-wrap: break-word;
}

.tea-product-heading-meta {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
}

.tea-product-detail-price {
  margin: 0;
  font-family: var(--tea-label);
  font-size: 0.86rem;
}

.tea-product-detail-price del {
  margin-right: 0.45rem;
  color: var(--tea-text-muted);
}

.tea-product-detail-price ins {
  color: var(--tea-primary);
  text-decoration: none;
}

.tea-product-sku {
  margin: 0;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.54rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tea-product-lead {
  margin: 1.5rem 0 2rem;
  color: var(--tea-text-muted);
  font-size: 1.02rem;
  line-height: 1.75;
}

.tea-product-option-group {
  margin: 0;
  padding: 1.25rem 0;
  border: 0;
  border-top: 1px solid var(--tea-border);
}

.tea-product-option-group > div:first-child {
  display: flex;
  margin-bottom: 0.75rem;
  align-items: center;
  justify-content: space-between;
}

.tea-product-option-group legend {
  width: auto;
  margin: 0;
  color: var(--tea-text);
  font-family: var(--tea-label);
  font-size: 0.61rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tea-product-option-group > div:first-child button {
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.55rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tea-product-option-buttons,
.tea-product-colour-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.tea-product-option-buttons label,
.tea-product-colour-buttons label {
  position: relative;
  cursor: pointer;
}

.tea-product-option-buttons input,
.tea-product-colour-buttons input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.tea-product-option-buttons label > span {
  display: grid;
  min-width: 3rem;
  min-height: 2.75rem;
  padding: 0.6rem 0.8rem;
  place-items: center;
  border: 1px solid var(--tea-border-strong);
  color: var(--tea-text);
  font-family: var(--tea-label);
  font-size: 0.62rem;
}

.tea-product-option-buttons input:checked + span {
  border-color: var(--tea-text);
  background: var(--tea-text);
  color: var(--tea-background);
}

.tea-product-option-buttons input:disabled + span,
.tea-product-colour-buttons input:disabled ~ span {
  cursor: not-allowed;
  opacity: 0.32;
  text-decoration: line-through;
}

.tea-product-option-buttons input:focus-visible + span,
.tea-product-colour-buttons input:focus-visible + .tea-product-colour-swatch {
  outline: 2px solid var(--tea-primary);
  outline-offset: 3px;
}

.tea-product-colour-buttons label {
  display: grid;
  width: 3.2rem;
  justify-items: center;
  gap: 0.3rem;
}

.tea-product-colour-swatch {
  display: block;
  width: 2rem;
  height: 2rem;
  border: 2px solid var(--tea-background);
  outline: 1px solid var(--tea-border-strong);
  background: var(--tea-swatch);
}

.tea-product-colour-buttons label > span:last-child {
  width: 100%;
  overflow: hidden;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.48rem;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tea-product-colour-buttons input:checked + .tea-product-colour-swatch {
  outline: 2px solid var(--tea-primary);
  outline-offset: 2px;
}

.tea-product-availability {
  display: flex;
  margin-top: 1.25rem;
  align-items: center;
  gap: 0.55rem;
}

.tea-product-availability > span {
  width: 0.5rem;
  height: 0.5rem;
  flex: 0 0 0.5rem;
  border-radius: 50%;
  background: var(--tea-text-muted);
}

.tea-product-availability[data-state="available"] > span {
  background: #5f9b72;
}

.tea-product-availability[data-state="preorder"] > span {
  background: var(--tea-primary);
}

.tea-product-availability[data-state="unavailable"] > span {
  background: var(--tea-accent);
}

.tea-product-availability p,
.tea-product-preorder-message,
.tea-product-expected {
  margin: 0;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.58rem;
  letter-spacing: 0.06em;
}

.tea-product-preorder-message,
.tea-product-expected {
  margin-top: 0.6rem;
  padding-left: 1.05rem;
  line-height: 1.6;
}

.tea-product-buy-row {
  display: grid;
  margin-top: 1.5rem;
  grid-template-columns: 7.75rem minmax(0, 1fr);
  gap: 0.75rem;
}

.tea-quantity-control {
  display: grid;
  min-height: 3.2rem;
  border: 1px solid var(--tea-border-strong);
  grid-template-columns: 2.5rem minmax(0, 1fr) 2.5rem;
}

.tea-quantity-control button,
.tea-quantity-control input {
  min-width: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--tea-text);
  text-align: center;
}

.tea-quantity-control input {
  appearance: textfield;
  font-family: var(--tea-label);
  font-size: 0.68rem;
}

.tea-quantity-control input::-webkit-inner-spin-button,
.tea-quantity-control input::-webkit-outer-spin-button {
  margin: 0;
  appearance: none;
}

.tea-product-add {
  width: 100%;
  gap: 0.5rem;
}

.tea-product-add i {
  font-size: 1rem;
}

.tea-product-enquire {
  display: flex;
  margin-top: 0.9rem;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--tea-border);
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
  gap: 0.45rem;
}

.tea-product-enquire:hover {
  border-color: #2d8a5e;
  color: #72bd91;
}

.tea-product-enquire i {
  font-size: 1.1rem;
}

.tea-product-lightbox,
.tea-size-guide {
  position: fixed;
  inset: 0;
  z-index: 130;
  visibility: hidden;
  opacity: 0;
  transition: opacity var(--tea-transition), visibility var(--tea-transition);
}

.tea-product-lightbox.is-open,
.tea-size-guide.is-open {
  visibility: visible;
  opacity: 1;
}

.tea-product-lightbox-backdrop,
.tea-size-guide-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  padding: 0;
  border: 0;
  background: rgba(0, 0, 0, 0.9);
}

.tea-product-lightbox-dialog {
  position: relative;
  z-index: 1;
  display: grid;
  width: 100%;
  height: 100%;
  padding: 4rem 1rem 1rem;
  place-items: center;
  pointer-events: none;
}

.tea-product-lightbox-dialog > img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: calc(100dvh - 7rem);
  object-fit: contain;
  pointer-events: auto;
}

.tea-product-lightbox-close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  pointer-events: auto;
}

.tea-product-lightbox-controls {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  pointer-events: auto;
}

.tea-product-lightbox-controls p {
  margin: 0;
  font-family: var(--tea-label);
  font-size: 0.58rem;
}

.tea-size-guide-dialog {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  padding: 2rem var(--tea-gutter) 2.5rem;
  background: var(--tea-background-soft);
  transform: translateY(100%);
  transition: transform 420ms cubic-bezier(0.76, 0, 0.24, 1);
}

.tea-size-guide.is-open .tea-size-guide-dialog {
  transform: translateY(0);
}

.tea-size-guide-dialog > .tea-icon-button {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
}

.tea-size-guide-dialog h2 {
  margin: 0.45rem 0 0.75rem;
  font-family: var(--tea-heading);
  font-size: 2.2rem;
  font-weight: 400;
}

.tea-size-guide-dialog > p:not(.tea-kicker) {
  max-width: 480px;
  color: var(--tea-text-muted);
}

.tea-size-guide-options {
  display: flex;
  margin: 1.25rem 0;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.tea-size-guide-options span {
  min-width: 3rem;
  padding: 0.6rem;
  border: 1px solid var(--tea-border);
  font-family: var(--tea-label);
  font-size: 0.6rem;
  text-align: center;
}

.tea-product-information,
.tea-product-related,
.tea-product-journal {
  padding-top: 6rem;
}

.tea-product-information > header,
.tea-product-related > header,
.tea-product-journal > header {
  padding-bottom: 1.75rem;
  border-bottom: 1px solid var(--tea-border);
}

.tea-product-information h2,
.tea-product-related h2,
.tea-product-journal h2 {
  margin: 0.45rem 0 0;
  font-family: var(--tea-heading);
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1.05;
}

.tea-product-information-layout {
  display: grid;
  padding: 2rem 0;
  gap: 2rem;
}

.tea-product-description p {
  max-width: 700px;
  margin: 0;
  color: var(--tea-text-muted);
  font-size: 1.08rem;
  line-height: 1.8;
}

.tea-product-facts {
  border-top: 1px solid var(--tea-border);
}

.tea-product-facts > div {
  display: grid;
  padding: 0.8rem 0;
  border-bottom: 1px solid var(--tea-border);
  grid-template-columns: 6rem minmax(0, 1fr);
  gap: 1rem;
}

.tea-product-facts span {
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.55rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tea-product-facts p {
  margin: 0;
  font-size: 0.9rem;
}

.tea-product-accordions {
  border-top: 1px solid var(--tea-border);
}

.tea-product-accordions details {
  border-bottom: 1px solid var(--tea-border);
}

.tea-product-accordions summary {
  display: flex;
  padding: 1.15rem 0;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  font-family: var(--tea-label);
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  list-style: none;
  text-transform: uppercase;
}

.tea-product-accordions summary::-webkit-details-marker {
  display: none;
}

.tea-product-accordions details[open] summary i {
  transform: rotate(45deg);
}

.tea-product-accordions summary i {
  font-size: 1.2rem;
  transition: transform var(--tea-transition);
}

.tea-product-accordions .tea-product-accordion-content {
  max-width: 760px;
  margin: 0;
  padding: 0 0 1.5rem;
  color: var(--tea-text-muted);
  line-height: 1.75;
}

.tea-product-collections {
  margin-top: 6rem;
  padding: 2rem 0;
  border-top: 1px solid var(--tea-border);
  border-bottom: 1px solid var(--tea-border);
}

.tea-product-collections > a {
  display: flex;
  padding: 0.65rem 0;
  align-items: center;
  justify-content: space-between;
  font-family: var(--tea-heading);
  font-size: 2rem;
  text-decoration: none;
}

.tea-product-collections > a i {
  color: var(--tea-primary);
  transition: transform var(--tea-transition);
}

.tea-product-collections > a:hover i {
  transform: translateX(0.35rem);
}

.tea-product-related-grid,
.tea-product-journal-grid {
  display: grid;
  margin-top: 2rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem 0.8rem;
}

.tea-product-journal-grid {
  grid-template-columns: 1fr;
  gap: 3rem;
}

/* Cart */
.tea-cart-page {
  width: min(100%, var(--tea-container));
  margin: 0 auto;
  padding: 2.5rem var(--tea-gutter) 7rem;
}

.tea-cart-header {
  display: flex;
  padding-bottom: 2rem;
  align-items: end;
  justify-content: space-between;
  border-bottom: 1px solid var(--tea-border);
  gap: 1rem;
}

.tea-cart-header h1 {
  margin: 0.5rem 0 0;
  font-family: var(--tea-display);
  font-size: 3.2rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 0.95;
}

.tea-cart-header > p {
  margin: 0;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

[data-cart-content] {
  position: relative;
  min-height: 24rem;
}

[data-cart-content].is-loading {
  opacity: 0.48;
  pointer-events: none;
}

[data-cart-content].is-loading::after {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 2rem;
  height: 2rem;
  border: 2px solid var(--tea-border-strong);
  border-top-color: var(--tea-primary);
  border-radius: 50%;
  content: "";
  animation: tea-spin 700ms linear infinite;
}

.tea-cart-status {
  min-height: 1px;
}

.tea-cart-status p {
  display: flex;
  margin: 1.25rem 0 0;
  padding: 0.8rem 1rem;
  align-items: center;
  border-left: 2px solid var(--tea-primary);
  background: var(--tea-background-soft);
  color: var(--tea-text-muted);
  font-size: 0.82rem;
  gap: 0.55rem;
}

.tea-cart-status i {
  color: var(--tea-primary);
  font-size: 1rem;
}

.tea-cart-empty {
  display: grid;
  min-height: 34rem;
  padding: 4rem 1.5rem;
  place-items: center;
  align-content: center;
  text-align: center;
}

.tea-cart-empty > i {
  margin-bottom: 1rem;
  color: var(--tea-primary);
  font-size: 2.5rem;
}

.tea-cart-empty h2 {
  margin: 0.55rem 0 0;
  font-family: var(--tea-heading);
  font-size: 2.6rem;
  font-weight: 400;
}

.tea-cart-empty > p:not(.tea-kicker) {
  max-width: 480px;
  margin: 0.75rem 0 1.75rem;
  color: var(--tea-text-muted);
}

.tea-cart-layout {
  display: grid;
  padding-top: 2rem;
  gap: 4rem;
}

.tea-cart-lines-heading {
  display: none;
}

.tea-cart-line {
  position: relative;
  display: grid;
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--tea-border);
  grid-template-columns: 6.5rem minmax(0, 1fr) 2.75rem;
  grid-template-rows: auto auto;
  gap: 1rem;
}

.tea-cart-line:first-of-type {
  border-top: 1px solid var(--tea-border);
}

.tea-cart-line.has-issue {
  border-left: 2px solid var(--tea-accent);
  padding-left: 0.8rem;
}

.tea-cart-line-media {
  display: block;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: var(--tea-surface);
  grid-column: 1;
  grid-row: 1 / span 2;
}

.tea-cart-line-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tea-cart-line-details {
  min-width: 0;
  grid-column: 2;
  grid-row: 1;
}

.tea-cart-line-details h2 {
  margin: 0.25rem 0 0.5rem;
  font-family: var(--tea-heading);
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.2;
}

.tea-cart-line-details h2 a {
  text-decoration: none;
}

.tea-cart-line-details dl {
  display: flex;
  margin: 0;
  flex-wrap: wrap;
  gap: 0.25rem 0.85rem;
}

.tea-cart-line-details dl div {
  display: flex;
  align-items: baseline;
  gap: 0.3rem;
}

.tea-cart-line-details dt,
.tea-cart-line-details dd {
  margin: 0;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.5rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.tea-cart-line-details dd {
  color: var(--tea-text);
}

.tea-cart-unit-price {
  margin: 0.65rem 0 0;
  font-family: var(--tea-label);
  font-size: 0.62rem;
}

.tea-cart-availability {
  display: flex;
  margin: 0.4rem 0 0;
  align-items: center;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.5rem;
  gap: 0.4rem;
}

.tea-cart-availability span {
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  background: #5f9b72;
}

.tea-cart-availability.is-preorder span {
  background: var(--tea-primary);
}

.tea-cart-line-problem {
  display: flex;
  margin: 0.55rem 0 0;
  color: #d18486;
  font-size: 0.75rem;
  line-height: 1.35;
  gap: 0.35rem;
}

.tea-cart-quantity-form {
  display: flex;
  min-width: 0;
  align-items: center;
  grid-column: 2;
  grid-row: 2;
  gap: 0.65rem;
}

.tea-cart-quantity-form .tea-quantity-control {
  width: 7.5rem;
  min-height: 2.65rem;
  grid-template-columns: 2.25rem minmax(0, 1fr) 2.25rem;
}

.tea-cart-update {
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.52rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tea-cart-update:disabled {
  opacity: 0.4;
}

.tea-cart-line-total {
  margin: 0;
  align-self: end;
  justify-self: end;
  font-family: var(--tea-label);
  font-size: 0.62rem;
  grid-column: 3;
  grid-row: 2;
  white-space: nowrap;
}

.tea-cart-remove-form {
  justify-self: end;
  grid-column: 3;
  grid-row: 1;
}

.tea-cart-remove-form .tea-icon-button {
  width: 2.4rem;
  height: 2.4rem;
}

.tea-cart-remove-form .tea-icon-button i {
  font-size: 1.1rem;
}

.tea-cart-summary {
  padding: 2rem 0;
  border-top: 1px solid var(--tea-border);
  border-bottom: 1px solid var(--tea-border);
}

.tea-cart-summary h2 {
  margin: 0.5rem 0 1.5rem;
  font-family: var(--tea-heading);
  font-size: 2.25rem;
  font-weight: 400;
}

.tea-cart-summary > div {
  display: flex;
  padding: 0.8rem 0;
  align-items: baseline;
  justify-content: space-between;
  border-bottom: 1px solid var(--tea-border);
  gap: 1rem;
}

.tea-cart-summary > div span,
.tea-cart-summary > div strong {
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.58rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.tea-cart-summary > div strong {
  color: var(--tea-text);
  text-align: right;
}

.tea-cart-summary-warning {
  display: flex;
  margin: 1rem 0 0;
  color: #d18486;
  font-size: 0.8rem;
  gap: 0.4rem;
}

.tea-cart-summary .tea-button {
  width: 100%;
  margin-top: 1.5rem;
  gap: 0.5rem;
}

.tea-cart-summary .tea-text-link {
  margin: 1.25rem auto 0;
}

.tea-header-logout,
.tea-mobile-logout {
  margin: 0;
}

.tea-header-logout {
  display: none;
}

.tea-mobile-logout button {
  display: inline-flex;
  padding: 0;
  align-items: center;
  border: 0;
  background: transparent;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  gap: 0.45rem;
}

.tea-auth-shell {
  display: grid;
  min-height: 46rem;
  border-bottom: 1px solid var(--tea-border);
  background: #11110f;
  grid-template-columns: minmax(0, 1fr);
}

.tea-auth-media {
  position: relative;
  height: 12rem;
  margin: 0;
  overflow: hidden;
  border-bottom: 1px solid var(--tea-border);
  background: var(--tea-surface);
}

.tea-auth-media::after {
  position: absolute;
  inset: 0;
  background: rgba(10, 10, 9, 0.18);
  content: "";
}

.tea-auth-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
}

.tea-auth-media figcaption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  z-index: 1;
  width: max-content;
  max-width: calc(100% - 2rem);
  padding: 0.55rem 0.7rem;
  background: rgba(10, 10, 9, 0.82);
  color: var(--tea-text);
  font-family: var(--tea-label);
  font-size: 0.55rem;
  letter-spacing: 0.1em;
  line-height: 1.45;
  text-transform: uppercase;
}

.tea-auth-panel {
  display: grid;
  min-width: 0;
  padding: 3.5rem var(--tea-gutter) 4.5rem;
  align-items: center;
}

.tea-auth-inner {
  width: min(100%, 34rem);
  min-width: 0;
  margin: 0 auto;
}

.tea-auth-heading {
  margin-bottom: 2.25rem;
}

.tea-auth-heading h1 {
  margin: 0.7rem 0 0.9rem;
  font-family: var(--tea-heading);
  font-size: 2.75rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
}

.tea-auth-heading > p:last-child {
  max-width: 31rem;
  margin: 0;
  color: var(--tea-text-muted);
  font-size: 0.95rem;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.tea-auth-form {
  display: grid;
  gap: 1.4rem;
}

.tea-auth-name-grid {
  gap: 1.4rem;
}

.tea-field-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.tea-field-label-row label {
  margin-bottom: 0.55rem;
}

.tea-field-label-row a {
  margin-bottom: 0.55rem;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.55rem;
  letter-spacing: 0.07em;
  text-decoration: none;
  text-transform: uppercase;
}

.tea-field-label-row a:hover,
.tea-auth-switch a:hover,
.tea-auth-back:hover {
  color: var(--tea-primary);
}

.tea-password-field {
  position: relative;
}

.tea-password-field input {
  padding-right: 3rem;
}

.tea-password-field button {
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  width: 2.8rem;
  height: 3.25rem;
  padding: 0;
  place-items: center;
  border: 0;
  background: transparent;
  color: var(--tea-text-muted);
}

.tea-password-field button:hover {
  color: var(--tea-primary);
}

.tea-password-field button i {
  font-size: 1.15rem;
}

.tea-auth-submit {
  width: 100%;
  margin-top: 0.35rem;
}

.tea-auth-submit.is-loading {
  cursor: wait;
  opacity: 0.72;
}

.tea-auth-status {
  display: flex;
  margin: 0 0 1.4rem;
  padding: 0.85rem 1rem;
  align-items: flex-start;
  border-left: 2px solid var(--tea-primary);
  background: rgba(204, 85, 0, 0.09);
  color: var(--tea-text);
  font-size: 0.83rem;
  line-height: 1.5;
  gap: 0.65rem;
}

.tea-auth-status[hidden] {
  display: none;
}

.tea-auth-status i {
  margin-top: 0.12rem;
  color: var(--tea-primary);
  font-size: 1.15rem;
}

.tea-auth-status.is-success {
  border-color: #7e9878;
  background: rgba(126, 152, 120, 0.1);
}

.tea-auth-status.is-success i {
  color: #9fbd98;
}

.tea-auth-status.is-error {
  border-color: #b75f62;
  background: rgba(183, 95, 98, 0.1);
}

.tea-auth-status.is-error i {
  color: #d18486;
}

.tea-auth-status.is-warning {
  border-color: #b88e55;
  background: rgba(184, 142, 85, 0.1);
}

.tea-auth-switch {
  margin: 1.7rem 0 0;
  color: var(--tea-text-muted);
  font-size: 0.9rem;
  text-align: center;
}

.tea-auth-switch a {
  color: var(--tea-text);
}

.tea-auth-back {
  display: inline-flex;
  margin-bottom: 2.5rem;
  align-items: center;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
  gap: 0.4rem;
}

.tea-auth-result-mark {
  display: grid;
  width: 3.5rem;
  height: 3.5rem;
  margin-bottom: 2rem;
  place-items: center;
  border: 1px solid var(--tea-primary);
  color: var(--tea-primary);
}

.tea-auth-result-mark.is-success {
  border-color: #7e9878;
  color: #9fbd98;
}

.tea-auth-result-mark i {
  font-size: 1.55rem;
}

.tea-account-page {
  width: min(100%, var(--tea-container));
  margin: 0 auto;
  padding: 3.5rem var(--tea-gutter) 7rem;
}

.tea-account-header {
  display: flex;
  padding-bottom: 2.5rem;
  align-items: flex-end;
  justify-content: space-between;
  border-bottom: 1px solid var(--tea-border);
  flex-wrap: wrap;
  gap: 1.5rem;
}

.tea-account-header h1,
.tea-order-detail-header h1 {
  margin: 0.65rem 0 0;
  font-family: var(--tea-heading);
  font-size: 2.8rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
}

.tea-account-identity {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  gap: 0.4rem;
}

.tea-account-identity > span {
  color: var(--tea-text-muted);
  font-size: 0.86rem;
}

.tea-account-identity small {
  display: inline-flex;
  align-items: center;
  color: #c6a46b;
  font-family: var(--tea-label);
  font-size: 0.54rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  gap: 0.35rem;
}

.tea-account-identity small.is-verified {
  color: #9fbd98;
}

.tea-account-layout {
  display: grid;
  min-width: 0;
  gap: 2.5rem;
}

.tea-account-sidebar {
  min-width: 0;
  padding: 1rem 0;
  border-bottom: 1px solid var(--tea-border);
}

.tea-account-nav {
  display: flex;
  padding-bottom: 0.25rem;
  overflow-x: auto;
  scrollbar-width: thin;
}

.tea-account-nav a,
.tea-account-signout button {
  display: inline-flex;
  min-height: 2.75rem;
  padding: 0.7rem 0.9rem;
  align-items: center;
  border: 0;
  background: transparent;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.58rem;
  letter-spacing: 0.09em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  gap: 0.55rem;
}

.tea-account-nav a:hover,
.tea-account-nav a[aria-current="page"],
.tea-account-signout button:hover {
  color: var(--tea-text);
}

.tea-account-nav a[aria-current="page"] {
  background: var(--tea-text);
  color: var(--tea-background);
}

.tea-account-nav i,
.tea-account-signout i {
  font-size: 1rem;
}

.tea-account-signout {
  display: none;
  margin: 0;
}

.tea-account-content {
  min-width: 0;
  padding-top: 0.5rem;
}

.tea-account-metrics {
  display: grid;
  border-top: 1px solid var(--tea-border);
  border-bottom: 1px solid var(--tea-border);
}

.tea-account-metrics > div {
  display: flex;
  min-height: 7rem;
  padding: 1.25rem 0;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--tea-border);
  gap: 1rem;
}

.tea-account-metrics > div:last-child {
  border-bottom: 0;
}

.tea-account-metrics span {
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.57rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.tea-account-metrics strong {
  font-family: var(--tea-heading);
  font-size: 2.8rem;
  font-weight: 400;
  line-height: 1;
}

.tea-account-section {
  padding-top: 1rem;
}

.tea-account-overview > .tea-account-section {
  padding-top: 4rem;
}

.tea-account-section-heading {
  display: flex;
  margin-bottom: 1.75rem;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1.25rem;
}

.tea-account-section-heading h2,
.tea-account-form-section h2,
.tea-order-panel h2,
.tea-order-summary-section h2 {
  margin: 0.45rem 0 0;
  font-family: var(--tea-heading);
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.08;
}

.tea-account-section-heading > div > p:last-child,
.tea-account-form-section header > p:last-child {
  max-width: 38rem;
  margin: 0.65rem 0 0;
  color: var(--tea-text-muted);
  font-size: 0.9rem;
}

.tea-account-section-heading .tea-button {
  gap: 0.45rem;
}

.tea-account-orders {
  overflow-x: auto;
  border-top: 1px solid var(--tea-border);
  border-bottom: 1px solid var(--tea-border);
}

.tea-account-order-head {
  display: none;
}

.tea-account-order-row {
  display: grid;
  padding: 1.35rem 0;
  border-bottom: 1px solid var(--tea-border);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.tea-account-order-row:last-child {
  border-bottom: 0;
}

.tea-account-order-row > div::before {
  display: block;
  margin-bottom: 0.25rem;
  color: var(--tea-text-muted);
  content: attr(data-label);
  font-family: var(--tea-label);
  font-size: 0.49rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tea-account-order-row > div {
  color: var(--tea-text-muted);
  font-size: 0.8rem;
}

.tea-account-order-row strong {
  color: var(--tea-text);
  font-weight: 400;
}

.tea-order-status {
  display: inline-flex;
  min-height: 1.7rem;
  padding: 0.35rem 0.5rem;
  align-items: center;
  border: 1px solid rgba(198, 164, 107, 0.45);
  color: #d7b77f;
  font-family: var(--tea-label);
  font-size: 0.5rem;
  letter-spacing: 0.07em;
  line-height: 1;
  text-transform: uppercase;
}

.tea-order-status.is-delivered,
.tea-order-status.is-ready {
  border-color: rgba(126, 152, 120, 0.55);
  color: #9fbd98;
}

.tea-order-status.is-cancelled,
.tea-order-status.is-returned {
  border-color: rgba(183, 95, 98, 0.55);
  color: #d18486;
}

.tea-order-status.is-shipped,
.tea-order-status.is-processing {
  border-color: rgba(113, 148, 167, 0.55);
  color: #9ebdcd;
}

.tea-account-order-actions {
  display: flex;
  align-self: end;
  align-items: center;
  flex-wrap: wrap;
  justify-self: end;
  gap: 0.75rem;
}

.tea-account-order-actions::before {
  display: none !important;
}

.tea-account-order-actions a,
.tea-address-actions button {
  display: inline-flex;
  padding: 0;
  align-items: center;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: var(--tea-text);
  font-family: var(--tea-label);
  font-size: 0.54rem;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
  gap: 0.3rem;
}

.tea-account-empty {
  display: grid;
  min-height: 18rem;
  padding: 3rem 1rem;
  place-items: center;
  align-content: center;
  border-top: 1px solid var(--tea-border);
  border-bottom: 1px solid var(--tea-border);
  text-align: center;
}

.tea-account-empty > i {
  margin-bottom: 0.8rem;
  color: var(--tea-primary);
  font-size: 1.7rem;
}

.tea-account-empty h3 {
  margin: 0;
  font-family: var(--tea-heading);
  font-size: 1.6rem;
  font-weight: 400;
}

.tea-account-empty p {
  max-width: 27rem;
  margin: 0.55rem 0 1.2rem;
  color: var(--tea-text-muted);
  font-size: 0.86rem;
}

.tea-account-empty .tea-text-link {
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
}

.tea-account-empty-compact {
  min-height: 13rem;
}

.tea-account-shortcuts {
  display: grid;
  margin-top: 4rem;
  border-top: 1px solid var(--tea-border);
}

.tea-account-shortcuts a {
  display: grid;
  min-height: 5.5rem;
  padding: 1rem 0;
  align-items: center;
  border-bottom: 1px solid var(--tea-border);
  color: var(--tea-text);
  text-decoration: none;
  grid-template-columns: 2rem minmax(0, 1fr) auto;
  gap: 0.8rem;
}

.tea-account-shortcuts a > i:first-child {
  color: var(--tea-primary);
  font-size: 1.25rem;
}

.tea-account-shortcuts a > i:last-child {
  font-size: 1.15rem;
  transition: transform var(--tea-transition);
}

.tea-account-shortcuts a:hover > i:last-child {
  transform: translateX(0.25rem);
}

.tea-account-shortcuts span {
  display: flex;
  flex-direction: column;
}

.tea-account-shortcuts strong {
  font-family: var(--tea-heading);
  font-size: 1.05rem;
  font-weight: 400;
}

.tea-account-shortcuts small {
  color: var(--tea-text-muted);
  font-size: 0.76rem;
}

.tea-account-form-columns {
  display: grid;
  gap: 4.5rem;
}

.tea-account-form-section > header {
  margin-bottom: 2rem;
}

.tea-account-form {
  display: grid;
  gap: 1.5rem;
}

.tea-account-form > .tea-button {
  width: 100%;
}

.tea-field label span {
  color: var(--tea-text-muted);
  font-size: 0.5rem;
  font-weight: 400;
}

.tea-address-grid {
  display: grid;
  border-top: 1px solid var(--tea-border);
  gap: 0;
}

.tea-address-card {
  min-width: 0;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--tea-border);
}

.tea-address-card > header {
  display: flex;
  margin-bottom: 1.15rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.tea-address-card > header > span,
.tea-address-card > header small {
  font-family: var(--tea-label);
  font-size: 0.55rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.tea-address-card > header > span {
  color: var(--tea-primary);
}

.tea-address-card > header small {
  display: inline-flex;
  align-items: center;
  color: #9fbd98;
  gap: 0.25rem;
}

.tea-address-card address,
.tea-order-panel address {
  display: flex;
  margin: 0;
  color: var(--tea-text-muted);
  font-size: 0.84rem;
  font-style: normal;
  line-height: 1.6;
  flex-direction: column;
}

.tea-address-card address strong,
.tea-order-panel address strong {
  margin-bottom: 0.25rem;
  color: var(--tea-text);
  font-family: var(--tea-heading);
  font-size: 1.05rem;
  font-weight: 400;
}

.tea-address-actions {
  display: flex;
  margin-top: 1.3rem;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.tea-address-actions form {
  margin: 0;
}

.tea-address-actions button:hover {
  color: var(--tea-primary);
}

.tea-address-dialog {
  position: fixed;
  inset: 0;
  z-index: 130;
  display: grid;
  visibility: hidden;
  opacity: 0;
  transition: opacity var(--tea-transition), visibility var(--tea-transition);
}

.tea-address-dialog[hidden] {
  display: none;
}

.tea-address-dialog.is-open {
  visibility: visible;
  opacity: 1;
}

.tea-address-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(0, 0, 0, 0.74);
}

.tea-address-dialog-panel {
  position: relative;
  z-index: 1;
  width: min(100%, 46rem);
  max-height: 100dvh;
  margin-left: auto;
  padding: 2rem var(--tea-gutter) 3rem;
  overflow-y: auto;
  background: var(--tea-background-soft);
  transform: translateX(2rem);
  transition: transform var(--tea-transition);
}

.tea-address-dialog.is-open .tea-address-dialog-panel {
  transform: translateX(0);
}

.tea-address-dialog-panel > header {
  display: flex;
  margin-bottom: 2rem;
  align-items: flex-start;
  justify-content: space-between;
  border-bottom: 1px solid var(--tea-border);
  gap: 1rem;
}

.tea-address-dialog-panel > header h2 {
  margin: 0.45rem 0 1.5rem;
  font-family: var(--tea-heading);
  font-size: 2.2rem;
  font-weight: 400;
}

.tea-address-default-field .tea-check {
  min-height: 3.25rem;
  margin: 0;
  align-items: center;
  border-bottom: 1px solid var(--tea-border-strong);
}

.tea-address-default-field .tea-check input {
  width: 1rem;
  min-height: 1rem;
}

.tea-order-detail-header {
  display: flex;
  padding-bottom: 2.5rem;
  align-items: flex-end;
  justify-content: space-between;
  border-bottom: 1px solid var(--tea-border);
  flex-wrap: wrap;
  gap: 1.5rem;
}

.tea-order-detail-header > div:first-child > p:last-child {
  margin: 0.65rem 0 0;
  color: var(--tea-text-muted);
}

.tea-order-detail-header > div:last-child {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.tea-order-detail-header .tea-button {
  gap: 0.4rem;
}

.tea-order-detail-content {
  display: grid;
  gap: 4rem;
}

.tea-order-items {
  border-top: 1px solid var(--tea-border);
}

.tea-order-item {
  display: grid;
  padding: 1.25rem 0;
  align-items: center;
  border-bottom: 1px solid var(--tea-border);
  grid-template-columns: 5rem minmax(0, 1fr) auto;
  gap: 1rem;
}

.tea-order-item-image {
  display: grid;
  width: 5rem;
  aspect-ratio: 3 / 4;
  place-items: center;
  overflow: hidden;
  background: var(--tea-surface);
  color: var(--tea-text-muted);
}

.tea-order-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tea-order-item > div:nth-child(2) > p,
.tea-order-item > div:nth-child(2) > span {
  margin: 0;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.51rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.tea-order-item h3 {
  margin: 0.35rem 0;
  font-family: var(--tea-heading);
  font-size: 1.15rem;
  font-weight: 400;
}

.tea-order-item h3 a {
  text-decoration: none;
}

.tea-order-item > div:last-child {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
}

.tea-order-item > div:last-child span,
.tea-order-item > div:last-child small {
  color: var(--tea-text-muted);
  font-size: 0.7rem;
}

.tea-order-item > div:last-child strong {
  font-family: var(--tea-label);
  font-size: 0.65rem;
  font-weight: 400;
}

.tea-order-information-grid {
  display: grid;
  border-top: 1px solid var(--tea-border);
  border-bottom: 1px solid var(--tea-border);
}

.tea-order-panel {
  padding: 2rem 0;
  border-bottom: 1px solid var(--tea-border);
}

.tea-order-panel:last-child {
  border-bottom: 0;
}

.tea-order-panel h2 {
  margin-bottom: 1.5rem;
}

.tea-order-facts {
  margin: 1.5rem 0;
}

.tea-order-facts > div {
  display: flex;
  padding: 0.45rem 0;
  justify-content: space-between;
  border-bottom: 1px solid var(--tea-border);
  gap: 1rem;
}

.tea-order-facts dt,
.tea-order-facts dd {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 400;
}

.tea-order-facts dt {
  color: var(--tea-text-muted);
}

.tea-order-muted {
  max-width: 29rem;
  margin: 1.5rem 0 0;
  color: var(--tea-text-muted);
  font-size: 0.85rem;
}

.tea-order-timeline {
  margin: 0;
  padding: 0;
  list-style: none;
}

.tea-order-timeline li {
  position: relative;
  display: grid;
  padding-bottom: 1.5rem;
  grid-template-columns: 1rem minmax(0, 1fr);
  gap: 0.85rem;
}

.tea-order-timeline li:not(:last-child)::before {
  position: absolute;
  top: 0.8rem;
  bottom: 0;
  left: 0.3rem;
  width: 1px;
  background: var(--tea-border-strong);
  content: "";
}

.tea-order-timeline li > i {
  position: relative;
  z-index: 1;
  width: 0.65rem;
  height: 0.65rem;
  margin-top: 0.25rem;
  border: 2px solid var(--tea-background-soft);
  background: var(--tea-primary);
}

.tea-order-timeline strong {
  font-family: var(--tea-heading);
  font-size: 1rem;
  font-weight: 400;
}

.tea-order-timeline p,
.tea-order-timeline time {
  display: block;
  margin: 0.2rem 0 0;
  color: var(--tea-text-muted);
  font-size: 0.75rem;
}

.tea-order-timeline time {
  font-family: var(--tea-label);
  font-size: 0.5rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.tea-order-summary-section {
  display: grid;
  padding: 2rem 0;
  border-top: 1px solid var(--tea-border);
  border-bottom: 1px solid var(--tea-border);
  gap: 2rem;
}

.tea-order-summary-section dl {
  margin: 0;
}

.tea-order-summary-section dl > div {
  display: flex;
  min-width: 16rem;
  padding: 0.55rem 0;
  justify-content: space-between;
  border-bottom: 1px solid var(--tea-border);
  gap: 2rem;
}

.tea-order-summary-section dt,
.tea-order-summary-section dd {
  margin: 0;
  color: var(--tea-text-muted);
  font-size: 0.8rem;
  font-weight: 400;
}

.tea-order-summary-section .is-total dt,
.tea-order-summary-section .is-total dd {
  color: var(--tea-text);
  font-family: var(--tea-heading);
  font-size: 1.15rem;
}

.tea-order-document-list {
  border-top: 1px solid var(--tea-border);
}

.tea-order-document-list article {
  display: grid;
  min-height: 5.5rem;
  padding: 1rem 0;
  align-items: center;
  border-bottom: 1px solid var(--tea-border);
  grid-template-columns: 2rem minmax(0, 1fr) auto;
  gap: 0.8rem;
}

.tea-order-document-list article > i {
  color: var(--tea-primary);
  font-size: 1.3rem;
}

.tea-order-document-list article > div {
  display: flex;
  flex-direction: column;
}

.tea-order-document-list article span,
.tea-order-document-list article small {
  color: var(--tea-text-muted);
  font-size: 0.7rem;
}

.tea-order-document-list article > div > span {
  font-family: var(--tea-label);
  font-size: 0.49rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tea-order-document-list article strong {
  font-family: var(--tea-heading);
  font-size: 1rem;
  font-weight: 400;
}

@media (min-width: 576px) {
  :root {
    --tea-gutter: 2rem;
  }

  .tea-account-action {
    display: inline-grid;
  }

  .tea-header-logout {
    display: block;
  }

  .tea-auth-name-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tea-account-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tea-account-metrics > div {
    padding: 1.5rem;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    border-right: 1px solid var(--tea-border);
    border-bottom: 0;
  }

  .tea-account-metrics > div:first-child {
    padding-left: 0;
  }

  .tea-account-metrics > div:last-child {
    border-right: 0;
  }

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

  .tea-address-card {
    padding: 1.75rem;
    border-right: 1px solid var(--tea-border);
  }

  .tea-address-card:nth-child(odd) {
    padding-left: 0;
  }

  .tea-address-card:nth-child(even) {
    border-right: 0;
  }

  .tea-order-summary-section {
    align-items: start;
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.65fr);
  }

  .tea-mobile-nav a {
    font-size: 2.7rem;
  }

  .tea-page-hero h1,
  .tea-state h1 {
    font-size: 4rem;
  }

  .tea-cookie {
    right: auto;
    left: 2rem;
  }

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

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

  .tea-field-full {
    grid-column: 1 / -1;
  }

  .tea-home-hero-content h1 {
    font-size: 5rem;
  }

  .tea-home-hero-statement {
    font-size: 1.1rem;
  }

  .tea-section-heading h2 {
    font-size: 3.5rem;
  }

  .tea-lookbook-grid {
    grid-auto-rows: 19rem;
  }

  .tea-home-journal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tea-about-hero-content h1 {
    font-size: 4.8rem;
  }

  .tea-about-intro > p:last-child,
  .tea-about-intro > .tea-rich-text {
    font-size: 2.7rem;
  }

  .tea-about-philosophy h2,
  .tea-about-values > header h2 {
    font-size: 3.7rem;
  }

  .tea-about-process {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tea-about-process li {
    padding: 1.5rem;
    border-left: 1px solid var(--tea-border);
  }

  .tea-about-process li:first-child {
    padding-left: 0;
    border-left: 0;
  }

  .tea-about-values-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tea-about-values article {
    padding: 1.75rem;
  }

  .tea-about-values article:nth-child(odd) {
    padding-left: 0;
    border-right: 1px solid var(--tea-border);
  }

  .tea-about-editorial {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tea-about-editorial figure:first-child {
    grid-row: span 2;
  }

  .tea-about-cta h2 {
    font-size: 4.1rem;
  }

  .tea-catalog-hero h1,
  .tea-collections-hero h1,
  .tea-catalog-context-hero h1,
  .tea-collection-detail-hero h1 {
    font-size: 4.8rem;
  }

  .tea-catalog-product-grid {
    column-gap: 1.25rem;
  }

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

  .tea-product-heading h1 {
    font-size: 3.8rem;
  }

  .tea-product-related-grid {
    column-gap: 1.25rem;
  }

  .tea-cart-header h1 {
    font-size: 4rem;
  }
}

@media (max-width: 420px) {
  .tea-cookie {
    align-items: stretch;
    flex-direction: column;
  }

  .tea-cookie .tea-button {
    width: 100%;
  }

  .tea-cart-line {
    grid-template-columns: 5.5rem minmax(0, 1fr) 2.25rem;
    gap: 0.65rem;
  }

  .tea-cart-update {
    display: none;
  }

  .tea-cart-quantity-form .tea-quantity-control {
    width: 7rem;
  }
}

@media (min-width: 768px) {
  .tea-search-dialog {
    padding-top: 3rem;
    padding-bottom: 3.5rem;
  }

  .tea-search-heading h2 {
    font-size: 2.7rem;
  }

  .tea-search-form input {
    font-size: 1.45rem;
  }

  .tea-page-hero {
    padding-top: 7rem;
    padding-bottom: 7rem;
  }

  .tea-account-page {
    padding-top: 5rem;
    padding-bottom: 9rem;
  }

  .tea-account-header h1,
  .tea-order-detail-header h1 {
    font-size: 4.4rem;
  }

  .tea-account-layout {
    grid-template-columns: 12rem minmax(0, 1fr);
    gap: 0;
  }

  .tea-account-sidebar {
    min-height: 38rem;
    padding: 3rem 1.5rem 0 0;
    border-right: 1px solid var(--tea-border);
    border-bottom: 0;
  }

  .tea-account-nav {
    flex-direction: column;
    overflow: visible;
    gap: 0.25rem;
  }

  .tea-account-nav a,
  .tea-account-signout button {
    width: 100%;
    justify-content: flex-start;
  }

  .tea-account-signout {
    display: block;
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid var(--tea-border);
  }

  .tea-account-signout button {
    padding-right: 0;
    padding-left: 0.9rem;
  }

  .tea-account-content {
    padding: 3rem 0 0 2.5rem;
  }

  .tea-address-dialog-panel {
    padding: 3rem;
  }

  .tea-page-hero h1,
  .tea-state h1 {
    font-size: 5rem;
  }

  .tea-newsletter {
    padding-top: 6rem;
    padding-bottom: 6rem;
    align-items: end;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
  }

  .tea-newsletter-copy h2 {
    font-size: 3.4rem;
  }

  .tea-footer-main {
    grid-template-columns: minmax(280px, 1.7fr) repeat(3, minmax(130px, 0.7fr));
  }

  .tea-footer-intro {
    padding: 0 2.5rem 0 0;
    border-right: 1px solid var(--tea-border);
    border-bottom: 0;
  }

  .tea-catalog-hero-content,
  .tea-collections-hero > div {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .tea-catalog-intro,
  .tea-collections-index > header {
    align-items: end;
    flex-direction: row;
  }

  .tea-catalog-shell,
  .tea-collections-index {
    padding-top: 6rem;
    padding-bottom: 8rem;
  }

  .tea-catalog-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tea-catalog-context-hero,
  .tea-collection-detail-hero {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .tea-product-page {
    padding-top: 2.5rem;
    padding-bottom: 9rem;
  }

  .tea-product-information-layout {
    grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr);
    gap: 4rem;
  }

  .tea-product-information,
  .tea-product-related,
  .tea-product-journal {
    padding-top: 8rem;
  }

  .tea-product-information h2,
  .tea-product-related h2,
  .tea-product-journal h2 {
    font-size: 3.5rem;
  }

  .tea-product-related-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 3rem 1.25rem;
  }

  .tea-product-journal-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
  }

  .tea-size-guide-dialog {
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    display: grid;
    width: min(92vw, 34rem);
    padding: 4rem;
    align-content: center;
    transform: translateX(100%);
  }

  .tea-size-guide.is-open .tea-size-guide-dialog {
    transform: translateX(0);
  }

  .tea-cart-page {
    padding-top: 4rem;
    padding-bottom: 9rem;
  }

  .tea-cart-line {
    align-items: center;
    grid-template-columns: 7.5rem minmax(0, 1fr) 8.5rem 6rem 2.75rem;
    grid-template-rows: auto;
    gap: 1.25rem;
  }

  .tea-cart-lines-heading {
    display: grid;
    padding: 0 0 0.8rem;
    border-bottom: 1px solid var(--tea-border);
    grid-template-columns: 7.5rem minmax(0, 1fr) 8.5rem 6rem 2.75rem;
    gap: 1.25rem;
  }

  .tea-cart-lines-heading p {
    margin: 0;
    color: var(--tea-text-muted);
    font-family: var(--tea-label);
    font-size: 0.52rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .tea-cart-lines-heading p:first-child {
    grid-column: 1 / span 2;
  }

  .tea-cart-lines-heading p:nth-child(2) {
    grid-column: 3;
  }

  .tea-cart-lines-heading p:nth-child(3) {
    grid-column: 4;
  }

  .tea-cart-line-media {
    grid-column: 1;
    grid-row: 1;
  }

  .tea-cart-line-details {
    grid-column: 2;
    grid-row: 1;
  }

  .tea-cart-quantity-form {
    display: grid;
    justify-items: center;
    grid-column: 3;
    grid-row: 1;
  }

  .tea-cart-line-total {
    align-self: center;
    grid-column: 4;
    grid-row: 1;
  }

  .tea-cart-remove-form {
    grid-column: 5;
    grid-row: 1;
  }

  .tea-home-hero-content {
    padding-bottom: 4.5rem;
  }

  .tea-home-hero-content h1 {
    font-size: 6.7rem;
  }

  .tea-home-hero-content h1 em {
    display: inline;
  }

  .tea-home-hero-statement {
    font-size: 1.2rem;
  }

  .tea-home-section {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }

  .tea-section-heading {
    margin-bottom: 3.5rem;
    align-items: end;
    grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.55fr);
  }

  .tea-section-heading-inline {
    grid-template-columns: 1fr auto;
  }

  .tea-section-heading h2 {
    font-size: 4.5rem;
  }

  .tea-category-grid {
    grid-template-columns: minmax(0, 1.35fr) repeat(2, minmax(0, 0.825fr));
  }

  .tea-category-tile {
    min-height: 38rem;
  }

  .tea-category-tile:first-child {
    min-height: 44rem;
  }

  .tea-category-copy strong {
    font-size: 2.35rem;
  }

  .tea-home-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
  }

  .tea-featured-collection,
  .tea-editorial-banner {
    min-height: 46rem;
  }

  .tea-featured-collection-copy h2 {
    font-size: 5.4rem;
  }

  .tea-brand-story {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  }

  .tea-brand-story-media {
    min-height: 48rem;
  }

  .tea-brand-story-copy {
    display: flex;
    padding: 6rem;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
  }

  .tea-brand-story-copy h2 {
    font-size: 4.25rem;
  }

  .tea-story-notes {
    width: 100%;
  }

  .tea-editorial-copy h2 {
    font-size: 5rem;
  }

  .tea-lookbook-grid {
    grid-template-columns: 1.1fr 0.9fr 0.9fr;
    grid-auto-rows: 23rem;
  }

  .tea-lookbook-products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3.5rem 1rem;
  }

  .tea-lookbook-wide {
    grid-column: span 2;
  }

  .tea-home-journal-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tea-home-journal-grid .tea-article-card:first-child {
    grid-column: span 2;
  }

  .tea-home-journal-grid .tea-article-card:first-child .tea-article-media {
    aspect-ratio: 2 / 1;
  }

  .tea-social-edit {
    grid-template-columns: minmax(280px, 0.8fr) minmax(0, 2.2fr);
  }

  .tea-social-edit-heading {
    padding: 4rem;
  }

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

  .tea-about-hero-content h1 {
    font-size: 6.5rem;
  }

  .tea-about-hero-content > p:last-child,
  .tea-about-hero-content > .tea-rich-text {
    font-size: 1.15rem;
  }

  .tea-about-intro {
    min-height: 35rem;
  }

  .tea-about-intro > p:last-child,
  .tea-about-intro > .tea-rich-text {
    font-size: 3.5rem;
  }

  .tea-about-story {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  }

  .tea-about-story-copy {
    padding: 6rem 4rem;
  }

  .tea-about-story-copy h2 {
    font-size: 4rem;
  }

  .tea-about-story-images {
    min-height: 52rem;
    padding: 1.5rem;
  }

  .tea-about-philosophy {
    min-height: 38rem;
    padding: 7rem max(var(--tea-gutter), calc((100vw - var(--tea-container)) / 2 + var(--tea-gutter)));
    align-items: end;
    grid-template-columns: minmax(0, 1.3fr) minmax(300px, 0.7fr);
  }

  .tea-about-philosophy h2 {
    font-size: 4.8rem;
  }

  .tea-about-craft {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }

  .tea-about-craft-media,
  .tea-about-craft-media img {
    min-height: 34rem;
  }

  .tea-about-craft-layout {
    align-items: stretch;
    grid-template-columns: minmax(18rem, .8fr) minmax(0, 1.2fr);
    gap: 3rem;
  }

  .tea-about-process {
    align-content: center;
    grid-template-columns: 1fr;
  }

  .tea-about-process li,
  .tea-about-process li:first-child {
    padding: 1.5rem 0;
    border-left: 0;
  }

  .tea-about-values {
    padding-top: 7rem;
    padding-bottom: 7rem;
  }

  .tea-about-values > header h2 {
    font-size: 4.7rem;
  }

  .tea-about-values-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .tea-about-values article,
  .tea-about-values article:nth-child(odd) {
    min-height: 20rem;
    padding: 2rem;
    border-right: 1px solid var(--tea-border);
  }

  .tea-about-values article:first-child {
    padding-left: 0;
  }

  .tea-about-values article:last-child {
    padding-right: 0;
    border-right: 0;
  }

  .tea-about-founder {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .tea-about-founder-image {
    min-height: 48rem;
  }

  .tea-about-founder-copy {
    padding: 6rem;
  }

  .tea-about-founder-copy h2 {
    font-size: 4.5rem;
  }

  .tea-about-editorial {
    min-height: 48rem;
    grid-template-columns: 1.1fr 0.9fr 0.9fr;
  }

  .tea-about-editorial figure,
  .tea-about-editorial figure:first-child {
    min-height: 48rem;
    grid-row: auto;
  }

  .tea-about-cta {
    min-height: 48rem;
  }

  .tea-about-cta h2 {
    font-size: 5.3rem;
  }
}

@media (min-width: 992px) {
  .tea-order-information-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tea-order-panel {
    padding: 2.5rem;
    border-right: 1px solid var(--tea-border);
    border-bottom: 0;
  }

  .tea-order-panel:first-child {
    padding-left: 0;
  }

  .tea-order-panel:last-child {
    padding-right: 0;
    border-right: 0;
  }

  .tea-auth-shell {
    min-height: calc(100vh - var(--tea-header-height));
    grid-template-columns: minmax(22rem, 0.84fr) minmax(34rem, 1.16fr);
  }

  .tea-auth-media {
    position: sticky;
    top: var(--tea-header-height);
    height: calc(100vh - var(--tea-header-height));
    min-height: 44rem;
    align-self: start;
    border-right: 1px solid var(--tea-border);
    border-bottom: 0;
  }

  .tea-auth-media figcaption {
    right: 2rem;
    bottom: 2rem;
    left: 2rem;
    max-width: calc(100% - 4rem);
  }

  .tea-auth-panel {
    min-height: calc(100vh - var(--tea-header-height));
    padding: 5.5rem 4rem 6rem;
  }

  .tea-auth-heading h1 {
    font-size: 4rem;
  }

  .tea-auth-shell-register .tea-auth-panel {
    padding-top: 4.5rem;
    padding-bottom: 5rem;
  }
}

@media (min-width: 1120px) {
  :root {
    --tea-gutter: 3rem;
    --tea-header-height: 5rem;
  }

  .tea-header-inner {
    grid-template-columns: auto 1fr auto;
  }

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

  .tea-brand {
    justify-self: start;
    text-align: left;
  }

  .tea-brand span {
    font-size: 1.42rem;
  }

  .tea-desktop-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.35rem;
  }

  .tea-desktop-nav a {
    position: relative;
    padding: 0.5rem 0;
    color: var(--tea-text-muted);
    font-family: var(--tea-label);
    font-size: 0.57rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-decoration: none;
    text-transform: uppercase;
    transition: color var(--tea-transition);
  }

  .tea-desktop-nav a::after {
    position: absolute;
    right: 0;
    bottom: 0.15rem;
    left: 0;
    height: 1px;
    background: var(--tea-primary);
    content: "";
    transform: scaleX(0);
    transform-origin: right;
    transition: transform var(--tea-transition);
  }

  .tea-desktop-nav a:hover,
  .tea-desktop-nav a[aria-current="page"] {
    color: var(--tea-text);
  }

  .tea-desktop-nav a:hover::after,
  .tea-desktop-nav a[aria-current="page"]::after {
    transform: scaleX(1);
    transform-origin: left;
  }

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

  .tea-account-layout {
    grid-template-columns: 14rem minmax(0, 1fr);
  }

  .tea-account-sidebar {
    padding-right: 2rem;
  }

  .tea-account-content {
    padding-left: 4rem;
  }

  .tea-account-form-columns {
    align-items: start;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4rem;
  }

  .tea-account-order-head,
  .tea-account-order-row {
    display: grid;
    align-items: center;
    grid-template-columns: minmax(8rem, 1.25fr) minmax(6rem, 0.9fr) minmax(3rem, 0.5fr) minmax(6rem, 0.8fr) minmax(7rem, 0.95fr) 7rem;
    gap: 1rem;
  }

  .tea-account-order-head {
    padding: 0.8rem 0;
    color: var(--tea-text-muted);
    font-family: var(--tea-label);
    font-size: 0.5rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .tea-account-order-row > div::before {
    display: none;
  }

  .tea-account-order-actions {
    align-self: center;
  }

  .tea-catalog-hero h1,
  .tea-collections-hero h1,
  .tea-catalog-context-hero h1,
  .tea-collection-detail-hero h1 {
    font-size: 6rem;
  }

  .tea-catalog-toolbar {
    justify-content: flex-end;
  }

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

  .tea-catalog-layout {
    align-items: start;
    grid-template-columns: 15rem minmax(0, 1fr);
    gap: 3rem;
  }

  .tea-filter-backdrop {
    display: none;
  }

  .tea-catalog-filters {
    position: sticky;
    top: calc(var(--tea-header-height) + 1.5rem);
    z-index: 1;
    visibility: visible;
    width: auto;
    max-height: calc(100vh - var(--tea-header-height) - 3rem);
    padding: 0 1.5rem 0 0;
    background: transparent;
    transform: none;
  }

  .tea-filter-heading .tea-icon-button {
    display: none;
  }

  .tea-catalog-product-grid {
    gap: 3rem 1.5rem;
  }

  .tea-collection-grid {
    gap: 5rem 2rem;
  }

  .tea-product-page {
    padding-top: 3.5rem;
  }

  .tea-product-primary {
    align-items: start;
    grid-template-columns: minmax(0, 1.18fr) minmax(360px, 0.82fr);
    gap: 5rem;
  }

  .tea-product-purchase {
    position: sticky;
    top: calc(var(--tea-header-height) + 2rem);
    padding-top: 1rem;
  }

  .tea-product-heading h1 {
    font-size: 4.75rem;
  }

  .tea-product-information h2,
  .tea-product-related h2,
  .tea-product-journal h2 {
    font-size: 4.2rem;
  }

  .tea-product-lightbox-dialog {
    padding: 2rem 6rem;
  }

  .tea-cart-header h1 {
    font-size: 5.5rem;
  }

  .tea-cart-layout {
    align-items: start;
    grid-template-columns: minmax(0, 1fr) 23rem;
    gap: 4rem;
  }

  .tea-cart-summary {
    position: sticky;
    top: calc(var(--tea-header-height) + 2rem);
  }

  .tea-page-hero h1,
  .tea-state h1 {
    font-size: 6rem;
  }

  .tea-newsletter,
  .tea-footer-main {
    padding-right: max(var(--tea-gutter), calc((100vw - var(--tea-container)) / 2 + var(--tea-gutter)));
    padding-left: max(var(--tea-gutter), calc((100vw - var(--tea-container)) / 2 + var(--tea-gutter)));
  }

  .tea-home-hero-content h1 {
    font-size: 8rem;
  }

  .tea-home-hero-content {
    padding-bottom: 5rem;
  }

  .tea-video-toggle,
  .tea-home-scroll {
    right: max(var(--tea-gutter), calc((100vw - var(--tea-container)) / 2 + var(--tea-gutter)));
  }

  .tea-section-heading h2 {
    font-size: 5rem;
  }

  .tea-category-copy {
    right: 1.75rem;
    bottom: 1.8rem;
    left: 1.75rem;
  }

  .tea-category-copy strong {
    font-size: 2.75rem;
  }

  .tea-featured-collection-copy,
  .tea-editorial-copy {
    padding-right: max(var(--tea-gutter), calc((100vw - var(--tea-container)) / 2 + var(--tea-gutter)));
    padding-left: max(var(--tea-gutter), calc((100vw - var(--tea-container)) / 2 + var(--tea-gutter)));
  }

  .tea-featured-collection-copy h2 {
    font-size: 6.5rem;
  }

  .tea-editorial-copy h2 {
    font-size: 5.75rem;
  }

  .tea-about-hero-content h1 {
    font-size: 7.7rem;
  }

  .tea-about-scroll {
    right: max(var(--tea-gutter), calc((100vw - var(--tea-container)) / 2 + var(--tea-gutter)));
  }

  .tea-about-intro > p:last-child,
  .tea-about-intro > .tea-rich-text {
    font-size: 4.1rem;
  }

  .tea-about-story-copy {
    padding-left: max(5rem, calc((100vw - var(--tea-container)) / 2 + var(--tea-gutter)));
  }

  .tea-about-story-copy h2 {
    font-size: 4.8rem;
  }

  .tea-about-philosophy h2 {
    font-size: 5.6rem;
  }

  .tea-about-cta > div:last-child {
    padding-right: max(var(--tea-gutter), calc((100vw - var(--tea-container)) / 2 + var(--tea-gutter)));
    padding-left: max(var(--tea-gutter), calc((100vw - var(--tea-container)) / 2 + var(--tea-gutter)));
  }

  .tea-about-cta h2 {
    font-size: 6.2rem;
  }
}

@media print {
  .tea-announcement,
  .tea-site-header,
  .tea-search-panel,
  .tea-breadcrumbs,
  .tea-account-sidebar,
  .tea-newsletter,
  .tea-site-footer,
  .tea-whatsapp,
  .tea-cookie,
  .tea-order-detail-header .tea-button {
    display: none !important;
  }

  body,
  .tea-account-page {
    background: #fff;
    color: #111;
  }

  .tea-account-page {
    width: 100%;
    padding: 1rem;
  }

  .tea-account-layout {
    display: block;
  }

  .tea-account-content {
    padding: 2rem 0 0;
  }

  .tea-order-detail-content {
    gap: 2rem;
  }

  .tea-order-status,
  .tea-order-item,
  .tea-order-information-grid,
  .tea-order-summary-section,
  .tea-order-document-list article {
    border-color: #bbb;
    color: #111;
  }

  .tea-order-item-image,
  .tea-order-timeline li > i {
    print-color-adjust: exact;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .tea-home-marquee div {
    animation: none !important;
    transform: none !important;
  }

  [data-reveal] {
    opacity: 1;
    transform: none;
  }
}

/* Public order tracking */
.tea-tracking-page {
  width: min(calc(100% - (2 * var(--tea-gutter))), var(--tea-container));
  margin: 0 auto;
  padding: 5rem 0 7rem;
}

.tea-tracking-header {
  max-width: 780px;
  margin-bottom: 3.5rem;
}

.tea-tracking-header h1 {
  margin: 0.35rem 0 1rem;
  font-family: var(--tea-heading);
  font-size: clamp(3rem, 7vw, 6rem);
  font-weight: 400;
  line-height: 0.98;
}

.tea-tracking-header > p:last-child {
  max-width: 650px;
  margin: 0;
  color: var(--tea-text-muted);
  font-size: 1.08rem;
}

.tea-tracking-entry {
  display: grid;
  border-top: 1px solid var(--tea-border-strong);
  border-bottom: 1px solid var(--tea-border-strong);
}

.tea-tracking-form {
  display: grid;
  padding: 2rem 0;
  gap: 1.35rem;
}

.tea-tracking-form-heading {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.tea-tracking-form-heading > i {
  color: var(--tea-primary);
  font-size: 1.75rem;
}

.tea-tracking-form h2,
.tea-tracking-privacy h2 {
  margin: 0.15rem 0 0;
  font-family: var(--tea-heading);
  font-size: 1.75rem;
  font-weight: 400;
}

.tea-tracking-form .tea-button {
  width: 100%;
  justify-content: center;
}

.tea-tracking-privacy {
  display: flex;
  padding: 2rem 0;
  align-items: flex-start;
  border-top: 1px solid var(--tea-border);
  gap: 1rem;
}

.tea-tracking-privacy > i {
  flex: 0 0 auto;
  color: #aab48d;
  font-size: 1.8rem;
}

.tea-tracking-privacy > div {
  min-width: 0;
}

.tea-tracking-privacy h2 {
  max-width: 430px;
  font-size: 2rem;
}

.tea-tracking-privacy p:not(.tea-kicker) {
  max-width: 520px;
  margin: 1rem 0 1.5rem;
  color: var(--tea-text-muted);
}

.tea-tracking-results {
  min-height: 0;
}

.tea-tracking-result {
  margin-top: 5rem;
  outline: 0;
}

.tea-tracking-result:focus-visible {
  outline: 1px solid var(--tea-primary);
  outline-offset: 1rem;
}

.tea-tracking-result-header {
  display: flex;
  padding-bottom: 2rem;
  align-items: flex-end;
  justify-content: space-between;
  border-bottom: 1px solid var(--tea-border-strong);
  gap: 1.5rem;
}

.tea-tracking-result-header h2 {
  margin: 0.3rem 0 0.2rem;
  overflow-wrap: anywhere;
  font-family: var(--tea-heading);
  font-size: clamp(2rem, 5vw, 4rem);
  font-weight: 400;
}

.tea-tracking-result-header > div > p:last-child {
  margin: 0;
  color: var(--tea-text-muted);
}

.tea-tracking-progress {
  padding: 3rem 0;
  border-bottom: 1px solid var(--tea-border-strong);
}

.tea-tracking-section-heading {
  display: flex;
  margin-bottom: 2rem;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}

.tea-tracking-section-heading h3,
.tea-tracking-shipment h3 {
  margin: 0.15rem 0 0;
  font-family: var(--tea-heading);
  font-size: 1.75rem;
  font-weight: 400;
}

.tea-tracking-section-heading > span {
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.58rem;
  text-align: right;
  text-transform: uppercase;
}

.tea-order-timeline li > i {
  display: grid;
  width: 1rem;
  height: 1rem;
  margin-top: 0.18rem;
  place-items: center;
  border: 1px solid var(--tea-border-strong);
  background: var(--tea-background-soft);
  color: var(--tea-background);
  font-style: normal;
}

.tea-order-timeline li > i span {
  font-size: 0.7rem;
  font-weight: 700;
}

.tea-order-timeline li.is-completed > i {
  border-color: #9dac83;
  background: #9dac83;
}

.tea-order-timeline li.is-completed:not(:last-child)::before {
  background: rgba(157, 172, 131, 0.6);
}

.tea-order-timeline li.is-current > i {
  border: 3px solid var(--tea-background-soft);
  background: var(--tea-primary);
  box-shadow: 0 0 0 1px var(--tea-primary);
}

.tea-order-timeline li.is-pending > div {
  opacity: 0.52;
}

.tea-order-timeline li.is-pending > i {
  background: transparent;
}

.tea-order-timeline li.is-exception > i {
  border-color: #c46f72;
  background: #a8484c;
  box-shadow: 0 0 0 1px #a8484c;
}

.tea-order-timeline small {
  display: block;
  margin-top: 0.2rem;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.5rem;
  text-transform: uppercase;
}

.tea-order-timeline-full {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem 1rem;
}

.tea-order-timeline-full li {
  padding-bottom: 0;
}

.tea-order-timeline-full li::before {
  display: none;
}

.tea-tracking-information {
  display: grid;
  gap: 3rem;
  padding-top: 3rem;
}

.tea-tracking-pieces {
  min-width: 0;
}

.tea-tracking-pieces .tea-order-item h4 {
  margin: 0.15rem 0;
  font-family: var(--tea-heading);
  font-size: 1rem;
  font-weight: 400;
}

.tea-tracking-pieces .tea-order-item h4 a {
  text-decoration: none;
}

.tea-tracking-shipment {
  align-self: start;
  padding: 1.5rem;
  border: 1px solid var(--tea-border-strong);
  background: var(--tea-surface);
}

.tea-tracking-shipment > dl:not(.tea-tracking-totals) {
  margin: 1.5rem 0;
}

.tea-tracking-shipment > dl > div {
  display: flex;
  padding: 0.6rem 0;
  justify-content: space-between;
  border-bottom: 1px solid var(--tea-border);
  gap: 1rem;
}

.tea-tracking-shipment dt,
.tea-tracking-shipment dd {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 400;
  overflow-wrap: anywhere;
}

.tea-tracking-shipment dt {
  color: var(--tea-text-muted);
}

.tea-tracking-shipment dd {
  text-align: right;
}

.tea-tracking-shipment .tea-button {
  width: 100%;
  justify-content: center;
}

.tea-tracking-totals {
  margin: 2rem 0 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--tea-border-strong);
}

.tea-tracking-totals > div:last-child {
  padding-top: 1rem;
  border-bottom: 0;
  font-size: 1rem;
}

.tea-tracking-totals > div:last-child dd {
  font-weight: 600;
}

@media (min-width: 768px) {
  .tea-tracking-page {
    padding-top: 6.5rem;
  }

  .tea-tracking-entry {
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  }

  .tea-tracking-form {
    padding: 3rem 3rem 3rem 0;
  }

  .tea-tracking-privacy {
    padding: 3rem 0 3rem 3rem;
    border-top: 0;
    border-left: 1px solid var(--tea-border);
  }

  .tea-order-timeline-full {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1050px) {
  .tea-tracking-information {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.42fr);
    gap: 4rem;
  }

  .tea-order-timeline-full {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

@media (max-width: 575px) {
  .tea-tracking-page {
    padding: 3.5rem 0 5rem;
  }

  .tea-tracking-header {
    margin-bottom: 2.5rem;
  }

  .tea-tracking-header h1 {
    font-size: 3rem;
  }

  .tea-tracking-result {
    margin-top: 3.5rem;
  }

  .tea-tracking-result-header,
  .tea-tracking-section-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .tea-tracking-section-heading > span {
    text-align: left;
  }

  .tea-order-timeline-full {
    display: block;
  }

  .tea-order-timeline-full li {
    padding-bottom: 1.5rem;
  }

  .tea-order-timeline-full li:not(:last-child)::before {
    display: block;
  }

  .tea-tracking-shipment {
    padding: 1.15rem;
  }
}

/* Journal */
.tea-article-byline {
  display: flex;
  margin: 0 0 1rem;
  flex-wrap: wrap;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.53rem;
  text-transform: uppercase;
  gap: 0.45rem 1rem;
}

.tea-journal-page,
.tea-journal-related {
  width: min(calc(100% - (2 * var(--tea-gutter))), var(--tea-container));
  margin: 0 auto;
}

.tea-journal-page {
  padding: 5rem 0 7rem;
}

.tea-journal-header {
  max-width: 850px;
  margin-bottom: 4rem;
}

.tea-journal-header h1,
.tea-journal-category-hero h1 {
  margin: 0.35rem 0 1rem;
  font-family: var(--tea-heading);
  font-size: clamp(3.5rem, 8vw, 7rem);
  font-weight: 400;
  line-height: 0.94;
}

.tea-journal-header > p:last-child,
.tea-journal-category-hero > div > p:last-child {
  max-width: 650px;
  margin: 0;
  color: var(--tea-text-muted);
  font-size: 1.08rem;
}

.tea-journal-category-hero {
  position: relative;
  display: grid;
  min-height: 24rem;
  margin-bottom: 3rem;
  padding: 3rem;
  align-items: end;
  overflow: hidden;
  border-bottom: 1px solid var(--tea-border-strong);
}

.tea-journal-category-hero.has-media {
  min-height: min(65vh, 42rem);
}

.tea-journal-category-hero > img,
.tea-journal-category-hero::after {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.tea-journal-category-hero > img {
  object-fit: cover;
}

.tea-journal-category-hero::after {
  background: rgba(10, 10, 9, 0.58);
  content: "";
}

.tea-journal-category-hero > div {
  position: relative;
  z-index: 1;
}

.tea-journal-category-hero.has-media > div > p:last-child {
  color: rgba(245, 240, 232, 0.82);
}

.tea-journal-tools {
  display: grid;
  padding: 1.5rem 0;
  border-top: 1px solid var(--tea-border-strong);
  border-bottom: 1px solid var(--tea-border-strong);
  gap: 1.5rem;
}

.tea-journal-categories {
  display: flex;
  overflow-x: auto;
  scrollbar-width: thin;
  gap: 0.5rem;
}

.tea-journal-categories a {
  display: inline-flex;
  flex: 0 0 auto;
  min-height: 2.7rem;
  padding: 0 0.85rem;
  align-items: center;
  border-bottom: 1px solid transparent;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.57rem;
  text-decoration: none;
  text-transform: uppercase;
  gap: 0.5rem;
}

.tea-journal-categories a:hover,
.tea-journal-categories a[aria-current="page"] {
  border-color: var(--tea-primary);
  color: var(--tea-text);
}

.tea-journal-categories span {
  color: var(--tea-primary);
  font-size: 0.48rem;
}

.tea-journal-search label {
  display: block;
  margin-bottom: 0.45rem;
  font-family: var(--tea-label);
  font-size: 0.55rem;
  text-transform: uppercase;
}

.tea-journal-search > div {
  display: grid;
  border-bottom: 1px solid var(--tea-border-strong);
  grid-template-columns: minmax(0, 1fr) 2.5rem;
}

.tea-journal-search input {
  min-width: 0;
  height: 2.8rem;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--tea-text);
}

.tea-journal-search button {
  display: grid;
  place-items: center;
  border: 0;
  background: transparent;
  color: var(--tea-text);
  font-size: 1.2rem;
}

.tea-journal-query {
  display: flex;
  padding: 1rem 0;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--tea-border);
  gap: 1rem;
}

.tea-journal-query p {
  margin: 0;
  color: var(--tea-text-muted);
}

.tea-journal-query a {
  flex: 0 0 auto;
  font-family: var(--tea-label);
  font-size: 0.56rem;
  text-transform: uppercase;
}

.tea-journal-featured {
  display: grid;
  padding: 4rem 0;
  border-bottom: 1px solid var(--tea-border-strong);
  gap: 2.5rem;
}

.tea-journal-featured-media {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--tea-surface);
}

.tea-journal-featured-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.tea-journal-featured:hover .tea-journal-featured-media img {
  transform: scale(1.02);
}

.tea-journal-featured > div {
  align-self: center;
}

.tea-journal-featured h2 {
  max-width: 720px;
  margin: 0.7rem 0 1rem;
  font-family: var(--tea-heading);
  font-size: clamp(2.2rem, 5vw, 4.6rem);
  font-weight: 400;
  line-height: 1;
}

.tea-journal-featured h2 a {
  text-decoration: none;
}

.tea-journal-featured > div > p:not(.tea-kicker, .tea-article-meta, .tea-article-byline) {
  max-width: 580px;
  color: var(--tea-text-muted);
  font-size: 1.02rem;
}

.tea-journal-stories,
.tea-journal-archive {
  padding: 4.5rem 0;
  border-bottom: 1px solid var(--tea-border-strong);
}

.tea-journal-stories > header,
.tea-journal-archive > header,
.tea-journal-related > header {
  display: flex;
  margin-bottom: 2.5rem;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}

.tea-journal-stories > header h2,
.tea-journal-archive > header h2,
.tea-journal-related > header h2 {
  margin: 0.2rem 0 0;
  font-family: var(--tea-heading);
  font-size: clamp(2rem, 4vw, 3.7rem);
  font-weight: 400;
}

.tea-journal-stories > div,
.tea-journal-grid {
  display: grid;
  gap: 3rem 1.5rem;
}

.tea-journal-archive > header > span {
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.58rem;
  text-transform: uppercase;
}

.tea-journal-empty {
  display: grid;
  min-height: 20rem;
  place-items: center;
  align-content: center;
  text-align: center;
}

.tea-journal-empty > i {
  color: var(--tea-primary);
  font-size: 2rem;
}

.tea-journal-empty h3 {
  margin: 0.6rem 0 0;
  font-family: var(--tea-heading);
  font-size: 2rem;
  font-weight: 400;
}

.tea-journal-empty p {
  max-width: 450px;
  margin: 0.6rem 0 1.5rem;
  color: var(--tea-text-muted);
}

.tea-journal-article {
  width: min(calc(100% - (2 * var(--tea-gutter))), var(--tea-container));
  margin: 0 auto;
  padding: 3.5rem 0 6rem;
}

.tea-journal-article-header {
  max-width: 1060px;
  margin: 0 auto 3rem;
  text-align: center;
}

.tea-journal-article-categories {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}

.tea-journal-article-categories a {
  color: var(--tea-primary);
  font-family: var(--tea-label);
  font-size: 0.58rem;
  text-transform: uppercase;
}

.tea-journal-article-header h1 {
  margin: 1.2rem 0;
  font-family: var(--tea-heading);
  font-size: clamp(2.9rem, 7vw, 6.8rem);
  font-weight: 400;
  line-height: 0.98;
}

.tea-journal-deck {
  max-width: 760px;
  margin: 0 auto 1.6rem;
  color: var(--tea-text-muted);
  font-size: 1.2rem;
  line-height: 1.55;
}

.tea-journal-article-meta {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.54rem;
  text-transform: uppercase;
  gap: 0.55rem 1.3rem;
}

.tea-journal-article-hero {
  margin: 0;
}

.tea-journal-article-hero img {
  width: 100%;
  max-height: 78vh;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.tea-journal-article-hero figcaption {
  margin-top: 0.6rem;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.5rem;
  text-transform: uppercase;
}

.tea-journal-article-layout {
  display: grid;
  max-width: 1000px;
  margin: 4rem auto 0;
  gap: 2.5rem;
}

.tea-journal-share {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.tea-journal-share > span {
  margin-right: 0.4rem;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.55rem;
  text-transform: uppercase;
}

.tea-journal-share a,
.tea-journal-share button {
  display: grid;
  width: 2.4rem;
  height: 2.4rem;
  place-items: center;
  border: 1px solid var(--tea-border);
  background: transparent;
  color: var(--tea-text);
  font-size: 1.05rem;
  text-decoration: none;
}

.tea-journal-share a:hover,
.tea-journal-share button:hover {
  border-color: var(--tea-primary);
  color: var(--tea-primary);
}

.tea-journal-prose {
  min-width: 0;
  font-size: 1.12rem;
  line-height: 1.9;
}

.tea-journal-prose > *:first-child {
  margin-top: 0;
}

.tea-journal-prose p {
  margin: 0 0 1.6rem;
}

.tea-journal-prose > p:first-child::first-letter {
  float: left;
  margin: 0.12rem 0.5rem 0 0;
  color: var(--tea-primary);
  font-family: var(--tea-heading);
  font-size: 4.7rem;
  line-height: 0.76;
}

.tea-journal-prose h2,
.tea-journal-prose h3,
.tea-journal-prose h4 {
  margin: 3rem 0 1rem;
  font-family: var(--tea-heading);
  font-weight: 400;
  line-height: 1.12;
}

.tea-journal-prose h2 {
  font-size: 2.5rem;
}

.tea-journal-prose h3 {
  font-size: 1.8rem;
}

.tea-journal-prose blockquote {
  margin: 3rem 0;
  padding: 1.5rem 0 1.5rem 1.5rem;
  border-left: 2px solid var(--tea-primary);
  color: var(--tea-text);
  font-family: var(--tea-heading);
  font-size: 1.65rem;
  font-style: italic;
  line-height: 1.4;
}

.tea-journal-prose ul,
.tea-journal-prose ol {
  margin: 0 0 1.8rem;
  padding-left: 1.4rem;
}

.tea-journal-prose a {
  color: var(--tea-primary);
}

.tea-journal-prose figure {
  margin: 3rem -8vw;
}

.tea-journal-prose img {
  width: 100%;
  max-height: 760px;
  object-fit: cover;
}

.tea-journal-prose figcaption {
  margin-top: 0.6rem;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.52rem;
  text-transform: uppercase;
}

.tea-journal-adjacent {
  display: grid;
  max-width: 1000px;
  margin: 5rem auto 0;
  padding: 2rem 0;
  border-top: 1px solid var(--tea-border-strong);
  border-bottom: 1px solid var(--tea-border-strong);
  gap: 2rem;
}

.tea-journal-adjacent > div {
  display: grid;
  gap: 0.4rem;
}

.tea-journal-adjacent > div:last-child {
  text-align: right;
}

.tea-journal-adjacent span {
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.52rem;
  text-transform: uppercase;
}

.tea-journal-adjacent a {
  display: inline-flex;
  align-items: center;
  font-family: var(--tea-heading);
  font-size: 1.2rem;
  text-decoration: none;
  gap: 0.5rem;
}

.tea-journal-adjacent > div:last-child a {
  justify-content: flex-end;
}

.tea-journal-related {
  padding: 5rem 0;
  border-top: 1px solid var(--tea-border-strong);
}

.tea-journal-commerce-links {
  display: grid;
  gap: 1rem;
}

.tea-journal-commerce-links > a {
  position: relative;
  display: grid;
  min-height: 18rem;
  align-items: end;
  overflow: hidden;
  background: var(--tea-surface);
  text-decoration: none;
}

.tea-journal-commerce-links img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.7;
  transition: transform var(--tea-transition);
}

.tea-journal-commerce-links > a:hover img {
  transform: scale(1.025);
}

.tea-journal-commerce-links > a > span {
  position: relative;
  z-index: 1;
  display: grid;
  padding: 1.5rem;
  background: rgba(10, 10, 9, 0.7);
  grid-template-columns: minmax(0, 1fr) auto;
}

.tea-journal-commerce-links small {
  grid-column: 1 / -1;
  color: var(--tea-primary);
  font-family: var(--tea-label);
  font-size: 0.52rem;
  text-transform: uppercase;
}

.tea-journal-commerce-links strong {
  font-family: var(--tea-heading);
  font-size: 1.65rem;
  font-weight: 400;
}

@media (min-width: 640px) {
  .tea-journal-stories > div,
  .tea-journal-grid,
  .tea-journal-commerce-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tea-journal-adjacent {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .tea-journal-page {
    padding-top: 6.5rem;
  }

  .tea-journal-tools {
    grid-template-columns: minmax(0, 1fr) minmax(250px, 0.32fr);
    align-items: end;
  }

  .tea-journal-featured {
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
    align-items: center;
  }

  .tea-journal-article-layout {
    grid-template-columns: 3rem minmax(0, 1fr);
  }

  .tea-journal-share {
    position: sticky;
    top: calc(var(--tea-header-height) + 1rem);
    align-self: start;
    flex-direction: column;
  }

  .tea-journal-share > span {
    margin: 0 0 0.35rem;
    writing-mode: vertical-rl;
  }
}

@media (min-width: 1050px) {
  .tea-journal-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 639px) {
  .tea-journal-page {
    padding-top: 3.5rem;
    padding-bottom: 5rem;
  }

  .tea-journal-header {
    margin-bottom: 2.5rem;
  }

  .tea-journal-header h1,
  .tea-journal-category-hero h1 {
    font-size: 3.5rem;
  }

  .tea-journal-category-hero {
    min-height: 22rem;
    padding: 1.5rem;
  }

  .tea-journal-featured,
  .tea-journal-stories,
  .tea-journal-archive {
    padding: 3rem 0;
  }

  .tea-journal-stories > header,
  .tea-journal-archive > header,
  .tea-journal-related > header {
    align-items: flex-start;
    flex-direction: column;
  }

  .tea-journal-article {
    padding-top: 2rem;
  }

  .tea-journal-article-header {
    text-align: left;
  }

  .tea-journal-article-categories,
  .tea-journal-article-meta {
    justify-content: flex-start;
  }

  .tea-journal-article-header h1 {
    font-size: 3rem;
  }

  .tea-journal-article-hero img {
    aspect-ratio: 4 / 3;
  }

  .tea-journal-article-layout {
    margin-top: 2.5rem;
  }

  .tea-journal-prose {
    font-size: 1.04rem;
  }

  .tea-journal-prose h2 {
    font-size: 2rem;
  }

  .tea-journal-prose figure {
    margin-right: 0;
    margin-left: 0;
  }

  .tea-journal-related {
    padding: 3.5rem 0;
  }
}

/* Contact and legal */
.tea-contact-hero {
  position: relative;
  display: grid;
  width: 100%;
  min-height: min(72svh, 680px);
  align-items: end;
  overflow: hidden;
  padding: 4rem max(var(--tea-gutter), calc((100% - var(--tea-container)) / 2));
}

.tea-contact-hero > img,
.tea-contact-hero-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.tea-contact-hero > img {
  object-fit: cover;
  object-position: center 35%;
}

.tea-contact-hero-shade {
  background: rgba(10, 10, 9, 0.52);
}

.tea-contact-hero > div:not(.tea-contact-hero-shade) {
  position: relative;
  z-index: 1;
  max-width: 850px;
}

.tea-contact-hero h1 {
  max-width: 780px;
  margin: 0.45rem 0 1rem;
  font-family: var(--tea-display);
  font-size: 5.5rem;
  font-weight: 400;
  line-height: 0.96;
}

.tea-contact-hero > div > p:last-child,
.tea-contact-hero > div > .tea-rich-text {
  max-width: 620px;
  margin: 0;
  color: rgba(245, 240, 232, 0.82);
  font-size: 1.16rem;
  line-height: 1.65;
}

.tea-contact-hero > a {
  position: absolute;
  right: max(var(--tea-gutter), calc((100% - var(--tea-container)) / 2));
  bottom: 4rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  color: var(--tea-text);
  font-family: var(--tea-label);
  font-size: 0.63rem;
  text-decoration: none;
  text-transform: uppercase;
  gap: 0.65rem;
}

.tea-contact-hero > a i {
  font-size: 1.3rem;
}

.tea-contact-intro,
.tea-contact-main,
.tea-contact-map,
.tea-legal-page {
  width: min(calc(100% - (2 * var(--tea-gutter))), var(--tea-container));
  margin-inline: auto;
}

.tea-contact-intro {
  display: grid;
  padding: 6rem 0;
  border-bottom: 1px solid var(--tea-border-strong);
  gap: 2.5rem;
}

.tea-contact-intro h2,
.tea-contact-form-wrap h2,
.tea-contact-map h2 {
  max-width: 720px;
  margin: 0.4rem 0 0;
  font-family: var(--tea-heading);
  font-size: 3.1rem;
  font-weight: 400;
  line-height: 1.06;
}

.tea-contact-intro > p,
.tea-contact-intro > .tea-rich-text {
  max-width: 600px;
  margin: 0;
  align-self: end;
  color: var(--tea-text-muted);
  font-size: 1.08rem;
  line-height: 1.75;
}

.tea-contact-main {
  display: grid;
  padding: 6rem 0;
  gap: 3rem;
}

.tea-contact-form-wrap > header {
  margin-bottom: 2.5rem;
}

.tea-contact-form .tea-form-grid {
  display: grid;
  gap: 1.5rem 1.25rem;
}

.tea-contact-form textarea {
  min-height: 11rem;
  resize: vertical;
}

.tea-honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}

.tea-contact-submit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 1.5rem;
  gap: 1.5rem;
}

.tea-contact-submit > p {
  max-width: 520px;
  margin: 0;
  color: var(--tea-text-muted);
  font-size: 0.82rem;
  line-height: 1.55;
}

.tea-contact-submit a,
.tea-legal-layout a {
  text-decoration-color: var(--tea-border-strong);
  text-underline-offset: 0.2rem;
}

.tea-contact-submit .tea-button {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-width: 11rem;
  gap: 0.65rem;
}

.tea-contact-submit .tea-button i {
  font-size: 1.2rem;
}

.tea-contact-details {
  align-self: start;
  padding: 2.5rem;
  background: var(--tea-surface);
}

.tea-contact-details > .tea-kicker {
  margin-bottom: 2.5rem;
}

.tea-contact-details > div:not(.tea-contact-socials) {
  display: grid;
  padding: 1.4rem 0;
  border-top: 1px solid var(--tea-border);
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 1rem;
}

.tea-contact-details > div > i {
  color: #b7bc9e;
  font-size: 1.25rem;
}

.tea-contact-details span {
  display: grid;
  min-width: 0;
  gap: 0.2rem;
}

.tea-contact-details small,
.tea-contact-socials > small {
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.58rem;
  text-transform: uppercase;
}

.tea-contact-details a,
.tea-contact-details address {
  margin: 0;
  color: var(--tea-text);
  font-size: 1rem;
  font-style: normal;
  line-height: 1.6;
  overflow-wrap: anywhere;
  text-decoration: none;
}

.tea-contact-whatsapp {
  display: flex;
  align-items: center;
  margin-top: 1.25rem;
  padding: 1rem 1.15rem;
  border: 1px solid rgba(183, 188, 158, 0.4);
  gap: 0.7rem;
}

.tea-contact-whatsapp i {
  color: #b7bc9e;
  font-size: 1.35rem;
}

.tea-contact-socials {
  margin-top: 2rem;
}

.tea-contact-socials p {
  display: flex;
  margin: 0.75rem 0 0;
  gap: 0.6rem;
}

.tea-contact-socials a {
  display: inline-grid;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid var(--tea-border-strong);
  place-items: center;
}

.tea-contact-socials i {
  font-size: 1.15rem;
}

.tea-contact-map {
  padding: 1rem 0 7rem;
}

.tea-contact-map > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 2.5rem;
  gap: 2rem;
}

.tea-contact-map iframe,
.tea-contact-map-empty {
  width: 100%;
  height: 32rem;
  border: 0;
  background: var(--tea-surface);
}

.tea-contact-map-empty {
  position: relative;
  display: grid;
  overflow: hidden;
  place-items: center;
}

.tea-contact-map-empty img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.28;
}

.tea-contact-map-empty > span {
  position: relative;
  display: grid;
  max-width: 420px;
  padding: 2rem;
  text-align: center;
  place-items: center;
  gap: 0.55rem;
}

.tea-contact-map-empty i {
  color: var(--tea-primary);
  font-size: 2rem;
}

.tea-contact-map-empty strong {
  font-family: var(--tea-heading);
  font-size: 2rem;
  font-weight: 400;
}

.tea-contact-map-empty small {
  color: var(--tea-text-muted);
  font-size: 0.95rem;
}

.tea-form-status.is-success {
  color: #b7bc9e;
}

.tea-form-status.is-error {
  color: #df8a8c;
}

.tea-legal-state {
  width: min(calc(100% - (2 * var(--tea-gutter))), 900px);
  min-height: 55vh;
  margin: 0 auto;
  padding: 6rem 0;
}

.tea-legal-page {
  padding: 5rem 0 8rem;
}

.tea-legal-header {
  max-width: 900px;
  padding-bottom: 4rem;
}

.tea-legal-header h1 {
  margin: 0.45rem 0 1.25rem;
  font-family: var(--tea-display);
  font-size: 5rem;
  font-weight: 400;
  line-height: 0.98;
}

.tea-legal-header > p:last-child {
  margin: 0;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.62rem;
  text-transform: uppercase;
}

.tea-legal-layout {
  display: grid;
  padding-top: 3rem;
  border-top: 1px solid var(--tea-border-strong);
  gap: 4rem;
}

.tea-legal-layout > aside {
  align-self: start;
}

.tea-legal-layout > aside > span {
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.58rem;
  text-transform: uppercase;
}

.tea-legal-layout nav {
  display: grid;
  margin: 1rem 0 2rem;
  border-top: 1px solid var(--tea-border);
}

.tea-legal-layout nav a {
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--tea-border);
  color: var(--tea-text-muted);
  text-decoration: none;
}

.tea-legal-layout nav a[aria-current="page"] {
  color: var(--tea-text);
}

.tea-legal-layout > aside > p {
  color: var(--tea-text-muted);
  font-size: 0.9rem;
}

.tea-legal-content {
  max-width: 820px;
  color: rgba(245, 240, 232, 0.86);
  font-size: 1.08rem;
  line-height: 1.85;
}

.tea-legal-content > :first-child {
  margin-top: 0;
}

.tea-legal-content h2,
.tea-legal-content h3,
.tea-legal-content h4 {
  margin: 3rem 0 1rem;
  color: var(--tea-text);
  font-family: var(--tea-heading);
  font-weight: 400;
  line-height: 1.15;
}

.tea-legal-content h2 {
  font-size: 2.35rem;
}

.tea-legal-content h3 {
  font-size: 1.7rem;
}

.tea-legal-content p,
.tea-legal-content ul,
.tea-legal-content ol {
  margin: 0 0 1.4rem;
}

.tea-legal-content ul,
.tea-legal-content ol {
  padding-left: 1.4rem;
}

.tea-legal-content a {
  color: var(--tea-primary);
}

.tea-legal-content blockquote {
  margin: 2.5rem 0;
  padding: 1.25rem 0 1.25rem 1.5rem;
  border-left: 2px solid var(--tea-secondary);
  font-family: var(--tea-heading);
  font-size: 1.45rem;
  font-style: italic;
}

.tea-legal-content img {
  width: 100%;
  max-height: 680px;
  object-fit: cover;
}

.tea-legal-content figcaption {
  margin-top: 0.5rem;
  color: var(--tea-text-muted);
  font-family: var(--tea-label);
  font-size: 0.55rem;
  text-transform: uppercase;
}

.tea-legal-empty {
  display: grid;
  min-height: 20rem;
  padding: 3rem;
  border: 1px solid var(--tea-border);
  place-content: center;
  text-align: center;
}

.tea-legal-empty i {
  color: var(--tea-primary);
  font-size: 2rem;
}

.tea-legal-empty h2 {
  margin: 0.8rem 0 0.5rem;
  font-family: var(--tea-heading);
  font-size: 2rem;
  font-weight: 400;
}

.tea-legal-empty p {
  margin: 0;
  color: var(--tea-text-muted);
}

@media (min-width: 768px) {
  .tea-contact-intro {
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.65fr);
  }

  .tea-contact-form .tea-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tea-contact-form .tea-field-full {
    grid-column: 1 / -1;
  }

  .tea-legal-layout {
    grid-template-columns: minmax(190px, 0.28fr) minmax(0, 1fr);
  }

  .tea-legal-layout > aside {
    position: sticky;
    top: calc(var(--tea-header-height) + 1.5rem);
  }
}

@media (min-width: 960px) {
  .tea-contact-main {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.42fr);
    gap: 5rem;
  }
}

@media (max-width: 767px) {
  .tea-contact-hero {
    min-height: 36rem;
    padding-top: 3rem;
    padding-bottom: 5rem;
  }

  .tea-contact-hero h1 {
    font-size: 3.45rem;
  }

  .tea-contact-hero > a {
    right: auto;
    bottom: 1.5rem;
    left: var(--tea-gutter);
  }

  .tea-contact-intro,
  .tea-contact-main {
    padding: 4rem 0;
  }

  .tea-contact-intro h2,
  .tea-contact-form-wrap h2,
  .tea-contact-map h2 {
    font-size: 2.35rem;
  }

  .tea-contact-submit,
  .tea-contact-map > header {
    align-items: flex-start;
    flex-direction: column;
  }

  .tea-contact-submit .tea-button {
    width: 100%;
  }

  .tea-contact-details {
    padding: 1.5rem;
  }

  .tea-contact-map {
    padding-bottom: 5rem;
  }

  .tea-contact-map iframe,
  .tea-contact-map-empty {
    height: 25rem;
  }

  .tea-legal-page {
    padding: 3.5rem 0 5rem;
  }

  .tea-legal-header {
    padding-bottom: 2.5rem;
  }

  .tea-legal-header h1 {
    font-size: 3.25rem;
  }

  .tea-legal-layout {
    gap: 3rem;
  }
}

/* Minimal atelier refresh */
body {
  background: var(--tea-background);
  color: var(--tea-text);
  font-weight: 400;
}

::selection {
  background: rgba(169, 139, 91, 0.34);
  color: var(--tea-text);
}

.tea-announcement {
  border-bottom-color: var(--tea-border);
  background: var(--tea-text);
  color: var(--tea-background);
}

.tea-site-header {
  border-bottom-color: rgba(37, 35, 33, 0.1);
  background: rgba(241, 237, 230, 0.92);
  color: var(--tea-text);
  box-shadow: 0 18px 45px rgba(37, 35, 33, 0.045);
}

.tea-brand,
.tea-desktop-nav a:hover,
.tea-desktop-nav a[aria-current="page"] {
  color: var(--tea-text);
}

.tea-desktop-nav a,
.tea-mobile-menu-footer a,
.tea-search-note,
.tea-breadcrumbs li,
.tea-product-option,
.tea-article-excerpt,
.tea-section-heading > p,
.tea-section-heading > .tea-section-copy,
.tea-page-hero > p:not(.tea-kicker),
.tea-state > p:not(.tea-kicker) {
  color: var(--tea-text-muted);
}

.tea-mobile-menu,
.tea-search-dialog,
.tea-newsletter,
.tea-brand-story,
.tea-about-story,
.tea-contact-details,
.tea-checkout-summary,
.tea-cart-summary,
.tea-auth-panel,
.tea-account-card,
.tea-order-panel,
.tea-legal-empty {
  background: var(--tea-surface);
}

.tea-search-backdrop,
.tea-filter-backdrop,
.tea-size-guide-backdrop,
.tea-product-lightbox-backdrop,
.tea-address-backdrop {
  background: rgba(37, 35, 33, 0.5);
}

.tea-page-hero,
.tea-catalog-shell,
.tea-collections-index,
.tea-product-page,
.tea-cart-page,
.tea-account-page,
.tea-journal-page,
.tea-journal-article,
.tea-contact-intro,
.tea-contact-main,
.tea-legal-page {
  background: var(--tea-background);
}

.tea-button {
  border-color: var(--tea-text);
  background: var(--tea-text);
  color: var(--tea-background);
  border-radius: 0;
  letter-spacing: 0.13em;
}

.tea-button:hover {
  border-color: var(--tea-primary);
  background: var(--tea-primary);
  color: #fffaf2;
}

.tea-button-outline {
  border-color: var(--tea-border-strong);
  background: transparent;
  color: var(--tea-text);
}

.tea-button-outline:hover {
  border-color: var(--tea-text);
  background: var(--tea-text);
  color: var(--tea-background);
}

.tea-text-link,
.tea-breadcrumbs a,
.tea-form-note a,
.tea-checkout-account-note a,
.tea-check-control a {
  color: var(--tea-text);
}

.tea-kicker,
.tea-product-details > div > p,
.tea-article-meta,
.tea-journal-article-categories a,
.tea-rich-text a,
.tea-legal-content a {
  color: var(--tea-primary);
}

.tea-home-hero {
  height: min(82svh, 48rem);
  min-height: 38rem;
  margin: 0 var(--tea-gutter) 0;
  border-bottom: 1px solid var(--tea-border);
  background: var(--tea-surface-quiet);
}

.tea-home-hero-media {
  object-position: center 34%;
  filter: saturate(0.82) contrast(0.96) brightness(1.04);
}

.tea-home-hero-wash {
  background: linear-gradient(90deg, rgba(37, 35, 33, 0.7), rgba(37, 35, 33, 0.2) 54%, rgba(241, 237, 230, 0.1));
}

.tea-home-hero-content {
  padding-top: 6rem;
  padding-bottom: 5rem;
}

.tea-home-hero-content h1,
.tea-about-hero-content h1,
.tea-catalog-hero h1,
.tea-collections-hero h1,
.tea-catalog-context-hero h1,
.tea-collection-detail-hero h1,
.tea-journal-header h1,
.tea-contact-hero h1 {
  letter-spacing: 0;
}

.tea-home-hero-content h1,
.tea-home-hero-statement,
.tea-home-scroll,
.tea-home-hero .tea-kicker {
  color: #fffaf2;
}

.tea-home-hero-content h1 em {
  color: #efe3d2;
}

.tea-home-hero-statement {
  max-width: 560px;
  font-family: var(--tea-body);
  line-height: 1.8;
}

.tea-home-scroll {
  right: 2rem;
  bottom: 1.75rem;
}

.tea-home-section {
  padding-top: 7rem;
  padding-bottom: 7rem;
}

.tea-section-heading {
  margin-bottom: 4rem;
}

.tea-section-heading h2 {
  line-height: 0.98;
}

.tea-product-section,
.tea-journal-section,
.tea-lookbook,
.tea-social-edit,
.tea-brand-story,
.tea-featured-collection,
.tea-editorial-banner,
.tea-contact-intro,
.tea-contact-main,
.tea-legal-layout,
.tea-journal-stories,
.tea-journal-archive,
.tea-journal-related {
  border-color: var(--tea-border);
}

.tea-category-grid,
.tea-home-product-grid,
.tea-lookbook-products,
.tea-home-journal-grid,
.tea-catalog-product-grid,
.tea-product-related-grid,
.tea-product-journal-grid,
.tea-journal-grid,
.tea-collections-grid {
  gap: 3.75rem 2rem;
}

.tea-product-card,
.tea-article-card,
.tea-collection-card {
  min-width: 0;
}

.tea-product-media,
.tea-article-media,
.tea-collection-card,
.tea-category-tile,
.tea-lookbook-grid figure,
.tea-social-grid a,
.tea-checkout-item-media,
.tea-cart-line-media,
.tea-product-gallery-main,
.tea-product-gallery-thumb,
.tea-journal-featured-media,
.tea-journal-article-hero img {
  background: var(--tea-surface-quiet);
}

.tea-product-media,
.tea-article-media {
  margin-bottom: 1.15rem;
}

.tea-product-details {
  padding-top: 0;
  gap: 1rem;
}

.tea-product-details h3,
.tea-article-details h3 {
  font-family: var(--tea-body);
  font-size: 0.98rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.45;
}

.tea-product-price {
  color: var(--tea-text);
  font-size: 0.72rem;
  font-weight: 600;
}

.tea-card-badges span {
  background: rgba(255, 250, 242, 0.92);
  color: var(--tea-text);
}

.tea-category-grid {
  gap: 1.5rem;
}

.tea-category-tile {
  min-height: 31rem;
  color: #fffaf2;
}

.tea-category-overlay,
.tea-category-tile:hover .tea-category-overlay,
.tea-featured-collection-overlay,
.tea-editorial-wash,
.tea-about-hero-wash,
.tea-catalog-hero-shade,
.tea-contact-hero-shade,
.tea-collection-detail-hero-shade,
.tea-journal-category-hero::after {
  background: linear-gradient(180deg, rgba(37, 35, 33, 0.12), rgba(37, 35, 33, 0.68));
}

.tea-category-copy small,
.tea-category-copy > span,
.tea-featured-collection-copy > p:not(.tea-kicker),
.tea-featured-collection-copy > .tea-rich-text,
.tea-editorial-copy > p:not(.tea-kicker),
.tea-editorial-copy > .tea-rich-text,
.tea-about-hero-content > p:last-child,
.tea-about-hero-content > .tea-rich-text,
.tea-contact-hero > div > p:last-child,
.tea-contact-hero > div > .tea-rich-text {
  color: rgba(255, 250, 242, 0.84);
}

.tea-brand-story-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.86) contrast(0.95);
}

.tea-brand-story-media > span,
.tea-lookbook-grid figcaption {
  background: rgba(255, 250, 242, 0.92);
  color: var(--tea-text);
}

.tea-story-notes,
.tea-story-notes div,
.tea-footer-intro,
.tea-footer-bottom,
.tea-account-orders,
.tea-cart-lines-heading,
.tea-cart-line,
.tea-checkout-section,
.tea-checkout-delivery,
.tea-checkout-summary-heading,
.tea-checkout-item,
.tea-checkout-totals > div:last-child,
.tea-journal-adjacent,
.tea-filter-group,
.tea-filter-heading,
.tea-catalog-results-summary {
  border-color: var(--tea-border);
}

.tea-newsletter {
  margin: 3rem var(--tea-gutter) 0;
  padding-top: 5.5rem;
  padding-bottom: 5.5rem;
  border: 1px solid var(--tea-border);
}

.tea-input-action input,
.tea-field input,
.tea-field select,
.tea-field textarea,
.tea-search-form input,
.tea-filter-search input,
.tea-filter-group select,
.tea-price-filter input {
  color: var(--tea-text);
  border-color: var(--tea-border-strong);
}

.tea-search-form button,
.tea-input-action button,
.tea-filter-actions a,
.tea-pagination a,
.tea-journal-share a,
.tea-journal-share button {
  color: var(--tea-text);
}

.tea-site-footer {
  margin-top: 0;
  border-top: 1px solid var(--tea-border);
  background: #252321;
  color: #f1ede6;
}

.tea-site-footer .tea-kicker,
.tea-site-footer a:hover,
.tea-social-links a:hover {
  color: #d8c39b;
}

.tea-site-footer .tea-footer-intro p,
.tea-site-footer .tea-footer-group a,
.tea-site-footer .tea-footer-contact span,
.tea-site-footer .tea-footer-bottom,
.tea-site-footer .tea-footer-bottom a {
  color: rgba(241, 237, 230, 0.72);
}

.tea-site-footer .tea-social-links a {
  color: #f1ede6;
  border-color: rgba(241, 237, 230, 0.22);
}

.tea-catalog-hero,
.tea-collections-hero,
.tea-catalog-context-hero,
.tea-collection-detail-hero,
.tea-contact-hero,
.tea-about-hero {
  margin: 0 var(--tea-gutter);
  background: var(--tea-surface-quiet);
}

.tea-catalog-shell,
.tea-collections-index,
.tea-product-page,
.tea-journal-page,
.tea-contact-main,
.tea-legal-page {
  padding-top: 7rem;
  padding-bottom: 8rem;
}

.tea-catalog-filters {
  background: var(--tea-background);
}

.tea-filter-toggle,
.tea-sort-control select,
.tea-filter-group select,
.tea-filter-search,
.tea-price-filter div,
.tea-pagination a,
.tea-journal-share a,
.tea-journal-share button,
.tea-contact-whatsapp,
.tea-contact-socials a,
.tea-colour-swatch,
.tea-check-control > span {
  border-color: var(--tea-border-strong);
  background: transparent;
}

.tea-social-edit {
  background: var(--tea-surface);
  color: var(--tea-text);
}

.tea-social-edit-heading .tea-text-link {
  color: var(--tea-text);
}

.tea-alert {
  background: var(--tea-surface) !important;
  color: var(--tea-text) !important;
}

@media (min-width: 768px) {
  .tea-home-section {
    padding-top: 9rem;
    padding-bottom: 9rem;
  }

  .tea-home-product-grid {
    gap: 4.5rem 2rem;
  }

  .tea-lookbook-products {
    gap: 5rem 2rem;
  }

  .tea-home-journal-grid {
    gap: 4rem 2rem;
  }
}

@media (min-width: 1120px) {
  :root {
    --tea-gutter: 3.5rem;
  }

  .tea-desktop-nav {
    gap: 1.75rem;
  }

  .tea-home-hero {
    margin-right: 3.5rem;
    margin-left: 3.5rem;
  }

  .tea-home-hero-content h1 {
    font-size: 7.2rem;
  }

  .tea-home-product-grid,
  .tea-catalog-product-grid,
  .tea-product-related-grid {
    gap: 5rem 2.35rem;
  }

  .tea-category-grid {
    gap: 2rem;
  }

  .tea-catalog-layout {
    gap: 4rem;
  }
}

@media (max-width: 767px) {
  .tea-home-hero,
  .tea-catalog-hero,
  .tea-collections-hero,
  .tea-catalog-context-hero,
  .tea-collection-detail-hero,
  .tea-contact-hero,
  .tea-about-hero {
    margin-right: 0;
    margin-left: 0;
  }

  .tea-home-hero {
    min-height: 34rem;
  }

  .tea-home-hero-content h1 {
    font-size: 3.6rem;
  }

  .tea-home-section,
  .tea-catalog-shell,
  .tea-collections-index,
  .tea-product-page,
  .tea-journal-page,
  .tea-contact-main,
  .tea-legal-page {
    padding-top: 5rem;
    padding-bottom: 5.5rem;
  }

  .tea-category-grid,
  .tea-home-product-grid,
  .tea-lookbook-products,
  .tea-home-journal-grid,
  .tea-catalog-product-grid,
  .tea-product-related-grid,
  .tea-product-journal-grid,
  .tea-journal-grid,
  .tea-collections-grid {
    gap: 3rem 1rem;
  }

  .tea-product-details {
    grid-template-columns: 1fr;
  }

  .tea-product-price {
    white-space: normal;
  }

  .tea-newsletter {
    margin-right: 0;
    margin-left: 0;
    border-right: 0;
    border-left: 0;
  }
}
.tea-home-hero .tea-button-outline,
.tea-featured-collection .tea-button-outline,
.tea-editorial-banner .tea-button-outline,
.tea-about-hero .tea-button-outline,
.tea-catalog-hero .tea-button-outline,
.tea-contact-hero .tea-button-outline {
  border-color: rgba(255, 250, 242, 0.72);
  color: #fffaf2;
}

.tea-home-hero .tea-button-outline:hover,
.tea-featured-collection .tea-button-outline:hover,
.tea-editorial-banner .tea-button-outline:hover,
.tea-about-hero .tea-button-outline:hover,
.tea-catalog-hero .tea-button-outline:hover,
.tea-contact-hero .tea-button-outline:hover {
  border-color: #fffaf2;
  background: #fffaf2;
  color: var(--tea-text);
}