:root {
  color-scheme: light;
  --color-background: #f4eee5;
  --color-surface: #fffaf2;
  --color-surface-soft: #e9dfd2;
  --color-text: #302721;
  --color-text-muted: #655b52;
  --color-primary: #49382f;
  --color-primary-hover: #352820;
  --color-on-primary: #fffaf2;
  --color-accent: #a4783d;
  --color-accent-hover: #735022;
  --color-border: #d4c6b5;
  --color-border-strong: #ac9982;
  --color-success: #326548;
  --color-success-soft: #e5f1e9;
  --color-warning: #7b571d;
  --color-warning-soft: #f8ebcf;
  --color-danger: #9c3232;
  --color-danger-soft: #f8e5e3;
  --color-focus: #75521f;
  --font-heading: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --font-body: Aptos, "Segoe UI", Arial, sans-serif;
  --container: 76rem;
  --container-narrow: 48rem;
  --radius-sm: 0.375rem;
  --radius-md: 0.75rem;
  --radius-lg: 1.25rem;
  --shadow-sm: 0 0.125rem 0.5rem rgb(51 45 40 / 0.08);
  --shadow-md: 0 0.875rem 2.5rem rgb(51 45 40 / 0.11);
  --transition: 180ms ease;
}

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

html {
  min-width: 0;
  scroll-behavior: smooth;
  text-size-adjust: 100%;
}

body {
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0;
  overflow-x: hidden;
  background: var(--color-background);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

body.menu-open {
  overflow: hidden;
}

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

img {
  height: auto;
}

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

button,
select,
input[type="checkbox"],
input[type="radio"],
input[type="submit"] {
  cursor: pointer;
}

button,
a,
input,
select,
textarea,
summary {
  touch-action: manipulation;
}

a {
  color: var(--color-primary);
  text-decoration-color: rgb(87 71 58 / 0.45);
  text-underline-offset: 0.2em;
}

a:hover {
  color: var(--color-accent-hover);
  text-decoration-color: currentcolor;
}

:focus-visible {
  outline: 0.1875rem solid var(--color-focus);
  outline-offset: 0.1875rem;
}

::selection {
  background: #d8c19f;
  color: #241f1b;
}

h1,
h2,
h3,
h4 {
  margin: 0 0 0.75rem;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-weight: 600;
  line-height: 1.08;
  text-wrap: balance;
}

h1 {
  font-size: clamp(2.45rem, 9vw, 5.4rem);
}

h2 {
  font-size: clamp(2rem, 6vw, 3.65rem);
}

h3 {
  font-size: clamp(1.45rem, 4vw, 2rem);
}

h4 {
  font-size: 1.35rem;
}

p,
ul,
ol {
  margin-top: 0;
}

p:last-child,
ul:last-child,
ol:last-child {
  margin-bottom: 0;
}

hr {
  margin: 2rem 0;
  border: 0;
  border-top: 1px solid var(--color-border);
}

[hidden] {
  display: none !important;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 0.75rem;
  left: 0.75rem;
  padding: 0.75rem 1rem;
  border-radius: var(--radius-sm);
  background: var(--color-primary);
  color: var(--color-on-primary);
  transform: translateY(-150%);
}

.skip-link:focus {
  color: var(--color-on-primary);
  transform: translateY(0);
}

.container,
.site-container {
  width: min(100% - 2rem, var(--container));
  margin-inline: auto;
}

.container--narrow,
.narrow,
.legal-content {
  width: min(100% - 2rem, var(--container-narrow));
  margin-inline: auto;
}

.flow > * + * {
  margin-top: 1.25rem;
}

.stack {
  display: grid;
  gap: 1.25rem;
}

.cluster {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.eyebrow,
.overline {
  margin-bottom: 0.75rem;
  color: var(--color-accent-hover);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-transform: uppercase;
}

.lead {
  max-width: 43rem;
  color: var(--color-text-muted);
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  line-height: 1.75;
}

.muted,
.text-muted,
.help-text,
.field-hint {
  color: var(--color-text-muted);
}

.price,
.money {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.price {
  color: var(--color-primary);
  font-size: 1.2rem;
  font-weight: 700;
}

.section {
  padding-block: clamp(3.5rem, 8vw, 7rem);
}

.section--compact {
  padding-block: clamp(2rem, 5vw, 4rem);
}

.section--surface,
.surface-section {
  background: var(--color-surface);
}

.section-heading {
  max-width: 46rem;
  margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.section-heading--center {
  margin-inline: auto;
  text-align: center;
}

.demo-banner,
.site-notice {
  padding: 0.65rem 1rem;
  border-bottom: 1px solid #d5b774;
  background: var(--color-warning-soft);
  color: #553b12;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.45;
  text-align: center;
}

.site-header {
  position: relative;
  z-index: 100;
  border-bottom: 1px solid rgb(184 167 147 / 0.65);
  background: rgb(247 243 237 / 0.97);
}

.header-inner,
.site-header__inner {
  display: flex;
  min-height: 4.75rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.brand,
.site-logo {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
}

.brand img,
.site-logo img {
  width: auto;
  max-height: 3.5rem;
}

.menu-toggle,
.nav-toggle {
  display: inline-grid;
  width: 2.875rem;
  min-width: 2.875rem;
  height: 2.875rem;
  padding: 0;
  place-items: center;
  border: 1px solid var(--color-border-strong);
  border-radius: 50%;
  background: transparent;
  color: var(--color-text);
}

.menu-toggle:hover,
.nav-toggle:hover {
  background: var(--color-surface-soft);
}

.menu-toggle svg,
.nav-toggle svg {
  width: 1.4rem;
  height: 1.4rem;
}

.site-nav,
.mobile-menu {
  position: absolute;
  inset: 100% 0 auto;
  max-height: calc(100dvh - 4.75rem);
  overflow-y: auto;
  border-bottom: 1px solid var(--color-border);
  background: var(--color-surface);
  box-shadow: var(--shadow-md);
}

.site-nav:not(.is-open),
.mobile-menu:not(.is-open) {
  display: none;
}

.site-nav ul,
.nav-list {
  display: grid;
  width: min(100% - 2rem, var(--container));
  padding: 1rem 0 1.5rem;
  margin: 0 auto;
  list-style: none;
}

.site-nav a,
.nav-link {
  display: flex;
  min-height: 3rem;
  align-items: center;
  padding: 0.65rem 0.5rem;
  border-radius: var(--radius-sm);
  color: var(--color-text);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
}

.site-nav a:hover,
.site-nav a[aria-current="page"],
.nav-link:hover,
.nav-link.is-active {
  background: var(--color-surface-soft);
  color: var(--color-primary-hover);
}

.nav-cart,
.cart-link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: 0.45rem;
}

.cart-count {
  display: inline-grid;
  min-width: 1.5rem;
  height: 1.5rem;
  padding-inline: 0.35rem;
  place-items: center;
  border-radius: 999px;
  background: var(--color-primary);
  color: var(--color-on-primary);
  font-size: 0.72rem;
  font-variant-numeric: tabular-nums;
}

.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.65rem;
  padding: 1.2rem 0;
  margin: 0;
  color: var(--color-text-muted);
  font-size: 0.875rem;
  list-style: none;
}

.breadcrumbs li:not(:last-child)::after {
  margin-left: 0.65rem;
  color: var(--color-border-strong);
  content: "/";
}

.hero {
  display: grid;
  min-height: min(46rem, calc(100dvh - 7rem));
  align-items: center;
  gap: 2rem;
  padding-block: clamp(2.5rem, 8vw, 6rem);
}

.hero__content {
  position: relative;
  z-index: 1;
}

.hero__content .lead {
  margin-bottom: 1.75rem;
}

.hero__media {
  position: relative;
}

.hero__media::before {
  position: absolute;
  z-index: -1;
  inset: -1rem 1rem 1rem -1rem;
  border: 1px solid #c6ad87;
  border-radius: 12rem 12rem var(--radius-lg) var(--radius-lg);
  content: "";
}

.hero__media img {
  width: 100%;
  aspect-ratio: 4 / 5;
  border-radius: 12rem 12rem var(--radius-lg) var(--radius-lg);
  box-shadow: var(--shadow-md);
  object-fit: cover;
}

.button-row,
.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.button,
.btn {
  display: inline-flex;
  min-height: 2.875rem;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.65rem 1.15rem;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--color-primary);
  color: var(--color-on-primary);
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);
}

.button:hover,
.btn:hover {
  background: var(--color-primary-hover);
  color: var(--color-on-primary);
  box-shadow: var(--shadow-sm);
}

.button > svg,
.btn > svg {
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 auto;
}

.button:active,
.btn:active {
  box-shadow: none;
}

.button--secondary,
.btn-secondary,
.button--outline {
  border-color: var(--color-primary);
  background: transparent;
  color: var(--color-primary);
}

.button--secondary:hover,
.btn-secondary:hover,
.button--outline:hover {
  background: var(--color-surface-soft);
  color: var(--color-primary-hover);
}

.button--quiet,
.btn-quiet {
  border-color: transparent;
  background: transparent;
  color: var(--color-primary);
}

.button--quiet:hover,
.btn-quiet:hover {
  background: var(--color-surface-soft);
  color: var(--color-primary-hover);
  box-shadow: none;
}

.button--danger,
.btn-danger {
  background: var(--color-danger);
  color: #fff;
}

.button--danger:hover,
.btn-danger:hover {
  background: #7d2020;
}

.button--small,
.btn-small {
  min-height: 2.75rem;
  padding-inline: 0.9rem;
  font-size: 0.85rem;
}

.button--full,
.btn-block {
  width: 100%;
}

.button[disabled],
.btn[disabled],
button[disabled] {
  cursor: not-allowed;
  opacity: 0.48;
}

.card,
.panel {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-sm);
}

.card__body,
.panel__body {
  padding: 1.25rem;
}

.product-grid,
.cards-grid,
.feature-grid {
  display: grid;
  gap: 1.25rem;
}

.product-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-sm);
  transition: border-color var(--transition), box-shadow var(--transition);
}

.product-card:hover {
  border-color: var(--color-border-strong);
  box-shadow: var(--shadow-md);
}

.product-card__media {
  display: block;
  overflow: hidden;
  background: var(--color-surface-soft);
}

.product-card__media img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  transition: transform 280ms ease;
}

.product-card:hover .product-card__media img {
  transform: scale(1.025);
}

.product-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.25rem;
}

.product-card__title {
  margin-bottom: 0.35rem;
  font-size: 1.65rem;
}

.product-card__title a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  color: inherit;
  text-decoration: none;
}

.product-card__description {
  display: -webkit-box;
  overflow: hidden;
  color: var(--color-text-muted);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.product-card__footer {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1rem;
  margin-top: auto;
}

.badge,
.tag,
.status {
  display: inline-flex;
  min-height: 1.75rem;
  align-items: center;
  padding: 0.2rem 0.65rem;
  border: 1px solid var(--color-border-strong);
  border-radius: 999px;
  background: var(--color-surface-soft);
  color: var(--color-primary);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.25;
}

.status--success,
.badge--success {
  border-color: #8eb29b;
  background: var(--color-success-soft);
  color: #234e36;
}

.status--warning,
.badge--warning {
  border-color: #c9a65e;
  background: var(--color-warning-soft);
  color: #624310;
}

.status--danger,
.badge--danger {
  border-color: #d8a09b;
  background: var(--color-danger-soft);
  color: #7d2020;
}

.filters,
.catalogue-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-bottom: 2rem;
}

.filter-link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  padding: 0.55rem 1rem;
  border: 1px solid var(--color-border-strong);
  border-radius: 999px;
  color: var(--color-text);
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
}

.filter-link:hover,
.filter-link[aria-current="true"],
.filter-link.is-active {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: var(--color-on-primary);
}

.product-detail {
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  align-items: start;
}

.product-info {
  max-width: 38rem;
}

.product-info__price {
  margin-bottom: 1.25rem;
  font-size: 1.45rem;
}

.product-meta {
  display: grid;
  gap: 0.75rem;
  padding: 1.25rem 0;
  margin: 1.5rem 0;
  border-block: 1px solid var(--color-border);
}

.product-meta dt {
  color: var(--color-text-muted);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.product-meta dd {
  margin: 0;
}

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

.gallery__main,
.product-gallery__main {
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--color-surface-soft);
}

.gallery__main img,
.product-gallery__main img,
[data-gallery-main] {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.gallery__thumbs,
.product-gallery__thumbs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: 0.75rem;
}

.gallery__thumb,
.product-gallery__thumb,
[data-gallery-thumb] {
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.gallery__thumb img,
.product-gallery__thumb img,
[data-gallery-thumb] img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.gallery__thumb:hover,
.product-gallery__thumb:hover,
[data-gallery-thumb]:hover,
[data-gallery-thumb][aria-current="true"] {
  border-color: var(--color-primary);
}

.intention,
.quote-card {
  padding: 1.5rem;
  border-left: 0.25rem solid var(--color-accent);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  background: var(--color-surface-soft);
  font-family: var(--font-heading);
  font-size: 1.35rem;
  line-height: 1.45;
}

.cart-layout,
.checkout-layout {
  display: grid;
  gap: 2rem;
  align-items: start;
}

.cart-list,
.order-items {
  display: grid;
  gap: 1rem;
}

.cart-item {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.cart-item__image {
  width: 5.5rem;
  aspect-ratio: 1;
  border-radius: var(--radius-sm);
  object-fit: cover;
}

.cart-item__actions {
  grid-column: 1 / -1;
}

.quantity {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.quantity input {
  width: 4.5rem;
  text-align: center;
}

.order-summary,
.cart-summary {
  padding: 1.25rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-sm);
}

.summary-line {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding-block: 0.55rem;
}

.summary-line--total {
  padding-top: 1rem;
  margin-top: 0.5rem;
  border-top: 1px solid var(--color-border-strong);
  font-size: 1.15rem;
  font-weight: 700;
}

.steps,
.checkout-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 0;
  margin: 0 0 2rem;
  list-style: none;
}

.steps li,
.checkout-steps li {
  position: relative;
  padding: 2.1rem 0.25rem 0;
  color: var(--color-text-muted);
  font-size: 0.75rem;
  font-weight: 600;
  text-align: center;
}

.steps li::before,
.checkout-steps li::before {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 50%;
  display: grid;
  width: 1.7rem;
  height: 1.7rem;
  place-items: center;
  border: 2px solid var(--color-border-strong);
  border-radius: 50%;
  background: var(--color-background);
  color: var(--color-text-muted);
  content: counter(list-item);
  transform: translateX(-50%);
}

.steps li:not(:last-child)::after,
.checkout-steps li:not(:last-child)::after {
  position: absolute;
  top: 0.78rem;
  left: 50%;
  width: 100%;
  height: 2px;
  background: var(--color-border-strong);
  content: "";
}

.steps li.is-current,
.steps li.is-done,
.checkout-steps li.is-current,
.checkout-steps li.is-done {
  color: var(--color-primary);
}

.steps li.is-current::before,
.steps li.is-done::before,
.checkout-steps li.is-current::before,
.checkout-steps li.is-done::before {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: var(--color-on-primary);
}

.form,
form.stack {
  display: grid;
  gap: 1.25rem;
}

.form-grid {
  display: grid;
  gap: 1.1rem;
}

.field,
.form-group {
  display: grid;
  gap: 0.4rem;
}

label,
.field-label {
  color: var(--color-text);
  font-size: 0.9rem;
  font-weight: 700;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
select,
textarea {
  width: 100%;
  min-height: 2.875rem;
  padding: 0.65rem 0.8rem;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-sm);
  background: #fff;
  color: var(--color-text);
  transition: border-color var(--transition), box-shadow var(--transition);
}

textarea {
  min-height: 8.5rem;
  resize: vertical;
}

input:hover,
select:hover,
textarea:hover {
  border-color: var(--color-primary);
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--color-primary);
  outline: none;
  box-shadow: 0 0 0 0.1875rem rgb(117 82 31 / 0.22);
}

input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"] {
  border-color: var(--color-danger);
  box-shadow: 0 0 0 0.125rem rgb(156 50 50 / 0.14);
}

input[readonly],
textarea[readonly] {
  background: var(--color-surface-soft);
  color: var(--color-text-muted);
}

.check-row,
.radio-row {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
}

.check-row input,
.radio-row input {
  width: 1.25rem;
  min-width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.15rem;
  accent-color: var(--color-primary);
}

fieldset {
  min-width: 0;
  padding: 1.25rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

legend {
  padding-inline: 0.4rem;
  font-weight: 700;
}

.required {
  color: var(--color-danger);
}

.field-error,
.error-text {
  color: #842727;
  font-size: 0.86rem;
  font-weight: 600;
}

.alert,
[data-alert] {
  position: relative;
  padding: 1rem 3.25rem 1rem 1rem;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-text);
}

.alert--success {
  border-color: #8eb29b;
  background: var(--color-success-soft);
  color: #244d36;
}

.alert--warning {
  border-color: #c9a65e;
  background: var(--color-warning-soft);
  color: #5b3e10;
}

.alert--danger,
.alert--error {
  border-color: #d8a09b;
  background: var(--color-danger-soft);
  color: #792525;
}

.alert__close,
[data-alert-close] {
  position: absolute;
  top: 0.4rem;
  right: 0.4rem;
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: currentcolor;
}

.alert__close:hover,
[data-alert-close]:hover {
  background: rgb(51 45 40 / 0.08);
}

.empty-state {
  padding: clamp(2rem, 7vw, 4rem);
  border: 1px dashed var(--color-border-strong);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  text-align: center;
}

.empty-state > * {
  max-width: 34rem;
  margin-inline: auto;
}

.service-card,
.guidance-card {
  padding: clamp(1.5rem, 5vw, 3rem);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
}

.service-card__price,
.guidance-card__price {
  margin: 1rem 0;
  color: var(--color-primary);
  font-family: var(--font-heading);
  font-size: 2.3rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.disclaimer,
.notice-box {
  padding: 1rem 1.15rem;
  border-left: 0.25rem solid var(--color-accent);
  background: var(--color-surface-soft);
  color: var(--color-text-muted);
  font-size: 0.92rem;
}

.legal-content {
  padding-block: clamp(2.5rem, 7vw, 5rem);
}

.legal-content h2 {
  margin-top: 2.75rem;
  font-size: clamp(1.65rem, 5vw, 2.3rem);
}

.legal-content h3 {
  margin-top: 2rem;
  font-size: 1.5rem;
}

.legal-content p,
.legal-content li {
  max-width: 72ch;
}

.legal-nav {
  padding: 1rem 1.25rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.legal-nav ul {
  display: grid;
  gap: 0.35rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.site-footer {
  padding-block: 3.5rem 1.5rem;
  border-top: 1px solid var(--color-border-strong);
  background: #ece4da;
}

.footer-grid {
  display: grid;
  gap: 2rem;
}

.footer-title {
  margin-bottom: 0.7rem;
  font-family: var(--font-heading);
  font-size: 1.35rem;
  font-weight: 600;
}

.footer-brand {
  max-width: 28rem;
}

.footer-credit {
  display: grid;
  width: fit-content;
  max-width: 100%;
  min-height: 2.75rem;
  padding: 0.65rem 0.75rem;
  margin-top: 1.25rem;
  border: 1px solid rgb(118 82 39 / 0.2);
  border-radius: 0.8rem;
  background: rgb(255 253 249 / 0.48);
  gap: 0.35rem;
  text-decoration: none;
}

.footer-credit__label {
  color: #654d3d;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.footer-credit__identity {
  display: flex;
  max-width: 100%;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.65rem;
}

.footer-credit__logo {
  display: block;
  width: clamp(8.25rem, 30vw, 10rem);
  max-width: 100%;
  height: auto;
}

.footer-credit__domain {
  color: #49382f;
  font-size: 0.78rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.footer-credit:hover {
  border-color: rgb(118 82 39 / 0.38);
  background: rgb(255 253 249 / 0.72);
}

.footer-credit:focus-visible {
  outline: 3px solid var(--color-focus);
  outline-offset: 3px;
}

.footer-links {
  display: grid;
  gap: 0.35rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.footer-links a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
}

.footer-bottom {
  padding-top: 1.5rem;
  margin-top: 2.5rem;
  border-top: 1px solid var(--color-border-strong);
  color: var(--color-text-muted);
  font-size: 0.84rem;
}

.admin-body {
  background: #f2eee8;
}

.admin-shell {
  display: grid;
  min-height: 100dvh;
}

.admin-sidebar {
  padding: 1rem;
  border-bottom: 1px solid var(--color-border);
  background: var(--color-surface);
}

.admin-sidebar nav ul {
  display: flex;
  gap: 0.5rem;
  padding: 0;
  margin: 1rem 0 0;
  overflow-x: auto;
  list-style: none;
}

.admin-sidebar a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  padding: 0.55rem 0.8rem;
  border-radius: var(--radius-sm);
  white-space: nowrap;
  text-decoration: none;
}

.admin-sidebar a:hover,
.admin-sidebar a[aria-current="page"] {
  background: var(--color-surface-soft);
  color: var(--color-primary-hover);
}

.admin-main {
  min-width: 0;
  padding: 1rem;
}

.admin-topbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 2rem;
}

.admin-topbar h1,
.admin-main h1 {
  font-size: clamp(2rem, 6vw, 3.2rem);
}

.stat-grid,
.dashboard-grid {
  display: grid;
  gap: 1rem;
}

.stat-card {
  padding: 1.25rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.stat-card__label {
  color: var(--color-text-muted);
  font-size: 0.84rem;
  font-weight: 700;
}

.stat-card__value {
  margin-top: 0.35rem;
  font-family: var(--font-heading);
  font-size: 2.2rem;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.table-wrap {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

th,
td {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--color-border);
  text-align: left;
  vertical-align: top;
}

th {
  background: var(--color-surface-soft);
  color: var(--color-primary);
  font-size: 0.78rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

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

tbody tr:hover {
  background: #fbf8f3;
}

.admin-form,
.form-card {
  max-width: 52rem;
  padding: clamp(1rem, 4vw, 2rem);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
}

.form-section + .form-section {
  padding-top: 2rem;
  margin-top: 2rem;
  border-top: 1px solid var(--color-border);
}

.form-section h2 {
  font-size: 1.8rem;
}

.pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  padding: 0;
  margin: 2rem 0 0;
  list-style: none;
}

.pagination a,
.pagination span {
  display: grid;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0.4rem;
  place-items: center;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-sm);
  text-decoration: none;
}

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

.auth-page {
  display: grid;
  min-height: 100dvh;
  padding: 1rem;
  place-items: center;
}

.auth-card {
  width: min(100%, 31rem);
  padding: clamp(1.5rem, 6vw, 2.5rem);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-md);
}

.auth-card h1 {
  max-width: 100%;
  font-size: clamp(2.35rem, 6vw, 4rem);
  line-height: 1;
  overflow-wrap: anywhere;
}

.auth-card__links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
}

.auth-card__links form {
  margin: 0;
}

.auth-card__links a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  padding: 0.35rem 0.2rem;
}

.password-field {
  position: relative;
}

.password-field input {
  padding-right: 3.25rem !important;
}

.password-toggle {
  position: absolute;
  top: 50%;
  right: 0.15rem;
  display: inline-grid;
  width: 2.75rem;
  min-height: 2.75rem;
  padding: 0;
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--color-text-muted);
  cursor: pointer;
  place-items: center;
  transform: translateY(-50%);
}

.password-toggle:hover {
  background: var(--color-surface-soft);
  color: var(--color-primary);
}

.media-preview {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(6rem, 1fr));
  gap: 0.75rem;
}

.media-preview img {
  width: 100%;
  aspect-ratio: 1;
  border-radius: var(--radius-sm);
  object-fit: cover;
}

@media (min-width: 40rem) {
  .container,
  .site-container,
  .container--narrow,
  .narrow,
  .legal-content {
    width: min(100% - 3rem, var(--container));
  }

  .container--narrow,
  .narrow,
  .legal-content {
    max-width: var(--container-narrow);
  }

  .product-grid,
  .cards-grid,
  .feature-grid,
  .stat-grid,
  .dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .cart-item {
    grid-template-columns: 7rem minmax(0, 1fr) auto;
    align-items: center;
  }

  .cart-item__image {
    width: 7rem;
  }

  .cart-item__actions {
    grid-column: auto;
  }

  .footer-grid {
    grid-template-columns: 1.5fr repeat(2, 1fr);
  }

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

@media (min-width: 48rem) {
  .hero {
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.75fr);
  }

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

  .product-detail {
    grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.95fr);
  }

  .checkout-layout,
  .cart-layout {
    grid-template-columns: minmax(0, 1.4fr) minmax(17rem, 0.65fr);
  }

  .order-summary,
  .cart-summary {
    position: sticky;
    top: 1.5rem;
  }

  .stat-grid,
  .dashboard-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .admin-main {
    padding: 2rem;
  }
}

@media (min-width: 64rem) {
  body.menu-open {
    overflow: auto;
  }

  .menu-toggle,
  .nav-toggle {
    display: none;
  }

  .site-nav,
  .mobile-menu,
  .site-nav:not(.is-open),
  .mobile-menu:not(.is-open) {
    position: static;
    display: block;
    max-height: none;
    overflow: visible;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .site-nav ul,
  .nav-list {
    display: flex;
    width: auto;
    align-items: center;
    gap: 0.15rem;
    padding: 0;
  }

  .site-nav a,
  .nav-link {
    padding-inline: 0.75rem;
  }

  .site-header {
    position: sticky;
    top: 0;
  }

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

  .admin-shell {
    grid-template-columns: 16.5rem minmax(0, 1fr);
  }

  .admin-sidebar {
    position: sticky;
    top: 0;
    height: 100dvh;
    overflow-y: auto;
    border-right: 1px solid var(--color-border);
    border-bottom: 0;
  }

  .admin-sidebar nav ul {
    display: grid;
    overflow: visible;
  }

  .admin-sidebar a {
    width: 100%;
  }
}

@media (min-width: 80rem) {
  .header-inner,
  .site-header__inner {
    min-height: 5.25rem;
  }

  .hero {
    gap: 5rem;
  }

  .admin-main {
    padding: 2.5rem 3rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

  .product-card:hover .product-card__media img {
    transform: none;
  }
}

@media screen {
  .admin-body {
    --color-background: #f7f3ed;
    --color-surface: #fffdf9;
    --color-surface-soft: #eee6db;
    --color-text: #332d28;
    --color-text-muted: #665d54;
    --color-primary: #57473a;
    --color-primary-hover: #45372d;
    --color-on-primary: #fffdf9;
    --color-accent: #9a7442;
    --color-accent-hover: #79592f;
    --color-border: #d8cdc0;
    --color-border-strong: #b8a793;
    --font-heading: "Cormorant Garamond", Cormorant, Georgia, "Times New Roman", serif;
    --font-body: Montserrat, "Segoe UI", Arial, sans-serif;
  }

  .admin-body .button,
  .admin-body .btn {
    min-height: 2.875rem;
    padding: 0.65rem 1.15rem;
    border-radius: 999px;
    box-shadow: none;
    font-size: 0.92rem;
    letter-spacing: normal;
    text-transform: none;
    transform: none;
  }

  .admin-body .button:hover,
  .admin-body .btn:hover,
  .admin-body .button:active,
  .admin-body .btn:active {
    box-shadow: none;
    transform: none;
  }

  .admin-body .button--outline,
  .admin-body .button--secondary,
  .admin-body .btn-secondary {
    background: transparent;
    box-shadow: none;
  }

  .admin-body input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
  .admin-body select,
  .admin-body textarea {
    min-height: 2.875rem;
    border-radius: var(--radius-sm);
    background: #fff;
  }

  .admin-body fieldset,
  .admin-body .alert,
  .admin-body [data-alert] {
    border-radius: var(--radius-md);
  }

  .admin-body .empty-state {
    border-radius: var(--radius-lg);
  }
}

@media (forced-colors: active) {
  .button,
  .btn,
  .badge,
  .tag,
  .status,
  .product-card,
  .card,
  .panel {
    border: 1px solid CanvasText;
  }
}

.admin-order-customer-address {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.45rem;
  padding: 0.8rem 0.9rem;
  border-top: 1px solid #e8dfd6;
  background: #fcf8f3;
}

.admin-order-customer-address__label {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 0.45rem;
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 800;
  line-height: 1.4;
}

.admin-order-customer-address__label svg {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  color: var(--admin-accent-strong);
}

.admin-order-customer-address__value {
  display: grid;
  min-width: 0;
  gap: 0.12rem;
  margin: 0;
  color: var(--admin-ink);
  font-size: 0.82rem;
  font-style: normal;
  line-height: 1.5;
  overflow-wrap: break-word;
  word-break: normal;
}

.admin-order-customer-address__value strong,
.admin-order-customer-address__value span {
  min-width: 0;
}

.admin-print-order-sheet {
  display: none;
}

@page {
  size: A4 portrait;
  margin: 10mm;
}

@media print {
  html,
  body.admin-body {
    width: auto;
    min-width: 0;
    margin: 0;
    background: #fff !important;
    color: #241e19 !important;
  }

  body.admin-body {
    font: 9pt/1.35 Arial, sans-serif;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .admin-body .admin-shell,
  .admin-body .admin-main,
  .admin-body .admin-order-detail {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .admin-order-detail > .admin-page-heading,
  .admin-order-detail > .admin-order-detail__layout,
  .admin-order-detail > .admin-order-danger,
  .admin-flash {
    display: none !important;
  }

  .admin-print-order-sheet {
    display: block !important;
    color: #241e19;
  }

  .admin-print-order-sheet__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(70mm, 0.8fr);
    align-items: end;
    gap: 8mm;
    padding-bottom: 4mm;
    border-bottom: 1.2pt solid #7c5a31;
  }

  .admin-print-order-sheet__header p,
  .admin-print-order-sheet__header h2,
  .admin-print-order-sheet__header dl,
  .admin-print-order-sheet__section h3,
  .admin-print-order-sheet__section p {
    margin: 0;
  }

  .admin-print-order-sheet__header p {
    color: #7c5a31;
    font-size: 8pt;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .admin-print-order-sheet__header h2 {
    margin-top: 1mm;
    font-family: Georgia, serif;
    font-size: 20pt;
    font-weight: 600;
    line-height: 1.05;
  }

  .admin-print-order-sheet__header dl {
    display: grid;
    gap: 1.2mm;
  }

  .admin-print-order-sheet__header dl > div,
  .admin-print-order-sheet__totals dl > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 5mm;
  }

  .admin-print-order-sheet dt {
    color: #655b53;
  }

  .admin-print-order-sheet dd {
    margin: 0;
    font-weight: 700;
    text-align: right;
  }

  .admin-print-order-sheet__section {
    padding: 4mm;
    margin-top: 4mm;
    border: 0.7pt solid #d8c9b7;
    border-radius: 2mm;
    break-inside: avoid;
  }

  .admin-print-order-sheet__section h3 {
    padding-bottom: 2mm;
    margin-bottom: 2.5mm;
    border-bottom: 0.6pt solid #ded3c7;
    color: #6c4b27;
    font-size: 9pt;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .admin-print-order-sheet__items {
    display: grid;
    gap: 1.5mm;
  }

  .admin-print-order-sheet__items article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: baseline;
    gap: 5mm;
    padding: 2mm 0;
    border-bottom: 0.4pt solid #eee7df;
    break-inside: avoid;
  }

  .admin-print-order-sheet__items article:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }

  .admin-print-order-sheet__items span {
    color: #655b53;
    font-size: 8pt;
  }

  .admin-print-order-sheet__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4mm;
  }

  .admin-print-order-sheet__grid .admin-print-order-sheet__section {
    min-width: 0;
  }

  .admin-print-order-sheet address {
    display: grid;
    min-width: 0;
    gap: 0.7mm;
    margin: 0;
    font-style: normal;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .admin-print-order-sheet address b {
    margin-top: 1.2mm;
    color: #6c4b27;
    font-size: 8pt;
  }

  .admin-print-order-sheet__totals {
    width: 82mm;
    margin-left: auto;
  }

  .admin-print-order-sheet__totals dl {
    display: grid;
    gap: 1.2mm;
    margin: 0;
  }

  .admin-print-order-sheet__totals dl > div:last-child {
    padding-top: 2mm;
    margin-top: 1mm;
    border-top: 1pt solid #7c5a31;
    font-size: 11pt;
  }
}

.bundle-offer-dialog {
  width: min(calc(100% - 2rem), 48rem);
  max-width: none;
  max-height: calc(100vh - 2rem);
  max-height: calc(100dvh - 2rem);
  margin: auto;
  padding: 0;
  overflow: auto;
  border: 1px solid #c9ad87;
  border-radius: 1.5rem;
  background: #fffaf2;
  color: var(--color-text);
  box-shadow: 0 1.5rem 4.5rem rgb(45 31 20 / 0.3);
  animation: bundle-offer-enter 220ms ease-out both;
}

.bundle-offer-dialog::backdrop {
  background: rgb(38 28 21 / 0.6);
  backdrop-filter: blur(0.2rem);
  animation: bundle-offer-backdrop-enter 180ms ease-out both;
}

.bundle-offer-dialog__panel {
  position: relative;
  display: grid;
  min-width: 0;
  gap: 1.25rem;
  padding: clamp(1.25rem, 4vw, 2.25rem);
}

.bundle-offer-dialog__close {
  position: absolute;
  z-index: 1;
  top: 0.75rem;
  right: 0.75rem;
  display: grid;
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  place-items: center;
  border: 1px solid #d7c5ad;
  border-radius: 999px;
  background: #fffdf9;
  color: #5e4328;
  box-shadow: 0 0.25rem 0.8rem rgb(72 49 30 / 0.1);
  transition: background-color var(--transition), border-color var(--transition), color var(--transition);
}

.bundle-offer-dialog__close:hover {
  border-color: #9f7442;
  background: #f2e5d4;
  color: #332318;
}

.bundle-offer-dialog__close .icon {
  width: 1.25rem;
  height: 1.25rem;
}

.bundle-offer-dialog__header {
  display: grid;
  min-width: 0;
  grid-template-columns: 3.25rem minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  padding-right: 3rem;
}

.bundle-offer-dialog__header h2,
.bundle-offer-dialog__header p {
  margin: 0;
}

.bundle-offer-dialog__header h2 {
  margin-top: 0.2rem;
  font-size: clamp(1.75rem, 5vw, 2.55rem);
  line-height: 1.05;
  overflow-wrap: anywhere;
}

.bundle-offer-dialog__icon {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  place-items: center;
  border: 1px solid #d5bd9c;
  border-radius: 1rem;
  background: #f0dfc7;
  color: #765124;
}

.bundle-offer-dialog__icon .icon {
  width: 1.45rem;
  height: 1.45rem;
}

.bundle-offer-dialog__intro {
  max-width: 65ch;
  margin: 0;
  color: #5e5147;
  font-size: 1rem;
  line-height: 1.65;
}

.bundle-offer-dialog__products {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  gap: 0.75rem;
}

.bundle-offer-dialog__product {
  display: grid;
  min-width: 0;
  grid-template-columns: 4.75rem minmax(0, 1fr);
  align-items: center;
  gap: 0.85rem;
  padding: 0.65rem;
  border: 1px solid #dfd0bd;
  border-radius: 1rem;
  background: #fffdf9;
}

.bundle-offer-dialog__product-image {
  display: grid;
  width: 4.75rem;
  aspect-ratio: 1;
  overflow: hidden;
  place-items: center;
  border-radius: 0.75rem;
  background: #eee1d1;
  color: #7a5831;
}

.bundle-offer-dialog__product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bundle-offer-dialog__product-image .icon {
  width: 1.5rem;
  height: 1.5rem;
}

.bundle-offer-dialog__product-copy {
  min-width: 0;
}

.bundle-offer-dialog__product-copy h3,
.bundle-offer-dialog__product-copy p {
  margin: 0;
}

.bundle-offer-dialog__product-copy h3 {
  font-family: var(--font-body);
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.bundle-offer-dialog__product-copy p {
  margin-top: 0.2rem;
  color: #685747;
  font-size: 0.88rem;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}

.bundle-offer-dialog__summary {
  display: grid;
  gap: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid #d9c4a8;
  border-radius: 1rem;
  background: #f6ead9;
}

.bundle-offer-dialog__summary > div {
  display: flex;
  min-width: 0;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.65rem 0.9rem;
}

.bundle-offer-dialog__summary > div + div {
  border-top: 1px solid #dfccb2;
}

.bundle-offer-dialog__summary dt,
.bundle-offer-dialog__summary dd {
  margin: 0;
}

.bundle-offer-dialog__summary dd {
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
}

.bundle-offer-dialog__saving {
  color: var(--color-success);
}

.bundle-offer-dialog__total {
  background: #ecddc6;
  color: #392818;
  font-size: 1.08rem;
  font-weight: 800;
}

.bundle-offer-dialog__form {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
}

.bundle-offer-dialog__form .button {
  min-height: 3rem;
  margin: 0;
}

.bundle-offer-dialog__primary[aria-busy="true"] {
  cursor: wait;
}

.bundle-offer-dialog__secondary {
  min-width: 7.5rem;
}

.admin-bundle-list {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
  gap: 1rem;
}

.admin-bundle-card {
  display: grid;
  min-width: 0;
  align-content: start;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--admin-border, #dfd2c2);
  border-radius: 1.1rem;
  background: var(--admin-surface, #fffdf9);
  box-shadow: 0 0.35rem 1.4rem rgb(75 54 37 / 0.06);
}

.admin-bundle-card__head {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.admin-bundle-card__head h2,
.admin-bundle-card__head h3,
.admin-bundle-card__head p {
  margin: 0;
}

.admin-bundle-card__head h2,
.admin-bundle-card__head h3 {
  overflow-wrap: anywhere;
  font-size: 1.35rem;
  line-height: 1.2;
}

.admin-bundle-status {
  display: flex;
  min-width: 0;
  min-height: 3rem;
  align-items: center;
  gap: 0.75rem;
  padding: 0.7rem 0.8rem;
  border: 1px solid #d9c7b1;
  border-radius: 0.85rem;
  background: #f8efe3;
  cursor: pointer;
}

.admin-bundle-status input {
  width: 1.3rem;
  min-width: 1.3rem;
  height: 1.3rem;
  margin: 0;
  accent-color: #79572f;
}

.admin-bundle-status > span {
  display: grid;
  min-width: 0;
  gap: 0.1rem;
}

.admin-bundle-status strong {
  line-height: 1.35;
}

.admin-bundle-status small {
  color: var(--admin-muted, #685f57);
  font-size: 0.78rem;
  line-height: 1.45;
}

.admin-bundle-card__products {
  display: grid;
  min-width: 0;
  gap: 0.5rem;
}

.admin-bundle-card__product {
  display: grid;
  min-width: 0;
  min-height: 3.75rem;
  grid-template-columns: 3rem minmax(0, 1fr);
  align-items: center;
  gap: 0.7rem;
  padding: 0.45rem;
  border: 1px solid #e5d8c9;
  border-radius: 0.8rem;
  background: #fbf7f1;
}

.admin-bundle-card__product img,
.admin-bundle-card__product > span:first-child,
.admin-bundle-product-choice > span > img,
.admin-bundle-product-choice__placeholder {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  overflow: hidden;
  border-radius: 0.65rem;
  background: #eee3d6;
  object-fit: cover;
}

.admin-bundle-card__product > div {
  display: grid;
  min-width: 0;
  gap: 0.1rem;
}

.admin-bundle-card__product strong,
.admin-bundle-card__product small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.admin-bundle-card__product small {
  color: var(--admin-muted, #685f57);
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}

.admin-bundle-card__totals {
  display: grid;
  gap: 0.45rem;
  margin: 0;
  padding: 0.8rem;
  border-radius: 0.85rem;
  background: #f4eadc;
}

.admin-bundle-card__totals > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}

.admin-bundle-card__totals dt,
.admin-bundle-card__totals dd {
  margin: 0;
}

.admin-bundle-card__totals dd {
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
}

.admin-bundle-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: auto;
}

.admin-bundle-card__actions form {
  display: contents;
}

.admin-bundle-card__actions .button {
  min-height: 2.75rem;
  flex: 1 1 9rem;
}

.admin-bundle-form {
  display: grid;
  min-width: 0;
  max-width: 70rem;
  gap: 1rem;
}

.admin-bundle-step {
  display: grid;
  min-width: 0;
  gap: 1rem;
  padding: clamp(1rem, 3vw, 1.5rem);
  border: 1px solid var(--admin-border, #dfd2c2);
  border-radius: 1rem;
  background: var(--admin-surface, #fffdf9);
}

.admin-bundle-step__heading {
  display: grid;
  min-width: 0;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  align-items: start;
  gap: 0.8rem;
}

.admin-bundle-step__number {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 0.8rem;
  background: #efe1cf;
  color: #6f4c27;
  font-weight: 900;
}

.admin-bundle-step__heading h2,
.admin-bundle-step__heading h3,
.admin-bundle-step__heading p {
  margin: 0;
}

.admin-bundle-step__heading h2,
.admin-bundle-step__heading h3 {
  font-size: clamp(1.3rem, 3vw, 1.7rem);
}

.admin-bundle-step__heading p {
  margin-top: 0.25rem;
  color: var(--admin-muted, #685f57);
  font-size: 0.87rem;
  line-height: 1.55;
}

.admin-bundle-product-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: 0.7rem;
}

.admin-bundle-product-choice {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 5rem;
  grid-template-columns: 1.35rem minmax(0, 1fr);
  align-items: center;
  gap: 0.65rem;
  padding: 0.65rem;
  border: 1px solid #ded1c2;
  border-radius: 0.85rem;
  background: #fcf8f2;
  cursor: pointer;
  transition: border-color var(--transition), background-color var(--transition), box-shadow var(--transition);
}

.admin-bundle-product-choice:hover {
  border-color: #ae8a60;
  background: #f8efe3;
}

.admin-bundle-product-choice:has(input:disabled) {
  cursor: not-allowed;
  opacity: 0.68;
}

.admin-bundle-product-choice:has(input:disabled):hover {
  border-color: #ded1c2;
  background: #fcf8f2;
}

.admin-bundle-product-choice:has(input:checked) {
  border-color: #79572f;
  background: #f2e3cf;
  box-shadow: inset 0 0 0 1px #79572f;
}

.admin-bundle-product-choice:focus-within {
  outline: 0.1875rem solid var(--color-focus);
  outline-offset: 0.1875rem;
}

.admin-bundle-product-choice input {
  width: 1.35rem;
  height: 1.35rem;
  margin: 0;
  accent-color: #79572f;
}

.admin-bundle-product-choice > span {
  display: grid;
  min-width: 0;
  grid-template-columns: 3rem minmax(0, 1fr) 1.3rem;
  align-items: center;
  gap: 0.65rem;
}

.admin-bundle-product-choice > span > span:nth-child(2) {
  display: grid;
  min-width: 0;
  gap: 0.15rem;
}

.admin-bundle-product-choice strong {
  overflow-wrap: anywhere;
  line-height: 1.35;
}

.admin-bundle-product-choice small {
  color: var(--admin-muted, #685f57);
  font-size: 0.78rem;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}

.admin-bundle-product-choice__placeholder svg,
.admin-bundle-card__product > span:first-child svg,
.admin-bundle-product-choice__check {
  width: 1.25rem;
  height: 1.25rem;
}

.admin-bundle-product-choice__check {
  color: #79572f;
  opacity: 0;
}

.admin-bundle-product-choice:has(input:checked) .admin-bundle-product-choice__check {
  opacity: 1;
}

.admin-bundle-form__fields {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}

.admin-bundle-form__actions {
  position: sticky;
  z-index: 8;
  bottom: 0.75rem;
  display: flex;
  justify-content: flex-end;
  gap: 0.7rem;
  padding: 0.75rem;
  border: 1px solid var(--admin-border, #dfd2c2);
  border-radius: 1rem;
  background: rgb(255 253 249 / 0.95);
  box-shadow: 0 0.75rem 2rem rgb(61 43 29 / 0.12);
  backdrop-filter: blur(0.65rem);
}

@keyframes bundle-offer-enter {
  from {
    opacity: 0;
    transform: translateY(0.75rem) scale(0.98);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes bundle-offer-backdrop-enter {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@media screen and (max-width: 40rem) {
  .bundle-offer-dialog {
    width: min(calc(100% - 1rem), 48rem);
    max-height: calc(100vh - 1rem);
    max-height: calc(100dvh - 1rem);
    border-radius: 1.15rem;
  }

  .bundle-offer-dialog__panel {
    gap: 1rem;
    padding: 1rem;
    padding-top: 1.25rem;
  }

  .bundle-offer-dialog__header {
    grid-template-columns: 2.75rem minmax(0, 1fr);
    gap: 0.7rem;
    padding-right: 2.7rem;
  }

  .bundle-offer-dialog__icon {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.8rem;
  }

  .bundle-offer-dialog__header h2 {
    font-size: clamp(1.55rem, 8vw, 2rem);
  }

  .bundle-offer-dialog__products {
    grid-template-columns: minmax(0, 1fr);
  }

  .bundle-offer-dialog__form,
  .admin-bundle-form__fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .bundle-offer-dialog__form .button,
  .admin-bundle-form__actions .button {
    width: 100%;
  }

  .bundle-offer-dialog__secondary {
    min-width: 0;
  }

  .admin-bundle-card__head,
  .admin-bundle-form__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-bundle-card__actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-bundle-form__actions {
    bottom: 5.25rem;
  }
}

@media screen and (max-width: 24rem) {
  .bundle-offer-dialog__product {
    grid-template-columns: 4rem minmax(0, 1fr);
  }

  .bundle-offer-dialog__product-image {
    width: 4rem;
  }

  .admin-bundle-product-choice > span {
    grid-template-columns: minmax(0, 1fr) 1.3rem;
  }

  .admin-bundle-product-choice > span > img,
  .admin-bundle-product-choice__placeholder {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bundle-offer-dialog,
  .bundle-offer-dialog::backdrop,
  .bundle-offer-dialog__close,
  .admin-bundle-product-choice {
    animation: none;
    scroll-behavior: auto;
    transition: none;
  }
}

@media (forced-colors: active) {
  .bundle-offer-dialog,
  .bundle-offer-dialog__close,
  .bundle-offer-dialog__product,
  .bundle-offer-dialog__summary,
  .admin-bundle-card,
  .admin-bundle-card__product,
  .admin-bundle-step,
  .admin-bundle-product-choice,
  .admin-bundle-form__actions {
    border: 1px solid CanvasText;
  }
}

@media screen {
  .payment-recovery-shell {
    max-width: 42rem;
  }

  .payment-recovery-card {
    padding: clamp(1.25rem, 5vw, 2.25rem);
    border: 1px solid #d7c6b2;
    border-radius: 1.15rem;
    background: #fffaf2;
    box-shadow: 0 1rem 2.75rem rgb(74 55 37 / 0.08);
  }

  .payment-recovery-card__header {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
  }

  .payment-recovery-card__header h1 {
    max-width: 14ch;
    margin-bottom: 0.65rem;
    font-size: clamp(2.35rem, 8vw, 3.7rem);
    line-height: 0.98;
  }

  .payment-recovery-card__header p:last-child {
    margin: 0;
    color: var(--color-text-muted);
  }

  .payment-recovery-card__icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border-radius: 50%;
    background: #f1e2cb;
    color: #765227;
  }

  .payment-recovery-summary {
    padding: 0.45rem 1rem;
    margin: 1.5rem 0 0;
    border-radius: 0.85rem;
    background: #f8f1e7;
  }

  .payment-recovery-summary > div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding-block: 0.75rem;
  }

  .payment-recovery-summary > div + div {
    border-top: 1px solid #e1d3c2;
  }

  .payment-recovery-summary dt,
  .payment-recovery-summary dd {
    margin: 0;
  }

  .payment-recovery-summary dd {
    font-weight: 750;
    text-align: right;
  }

  .payment-recovery-summary__discount {
    color: #527158;
  }

  .payment-recovery-summary__total {
    font-size: 1.08rem;
  }

  .payment-recovery-card__note {
    padding: 0.9rem 1rem;
    margin: 0.85rem 0 0;
    border-radius: 0.75rem;
    background: #fbf5ed;
    color: var(--color-text-muted);
  }

  .payment-recovery-card__actions {
    margin-top: 1rem;
  }

  .payment-recovery-card__actions .payment-form {
    margin-top: 0;
  }

  .payment-recovery-card__secure {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    margin: 0.8rem 0 0;
    color: var(--color-text-muted);
    font-size: 0.78rem;
  }

  .payment-recovery-card__secure .icon {
    width: 0.95rem;
    height: 0.95rem;
  }
}

@media screen and (min-width: 80rem) {
  body:not(.admin-body) .site-header__inner.site-container {
    width: min(calc(100% - 2rem), 84rem);
    gap: 0.75rem;
  }

  body:not(.admin-body) .site-nav > ul {
    flex-wrap: nowrap;
    gap: 0.1rem;
  }

  body:not(.admin-body) .site-nav > ul > li > a,
  body:not(.admin-body) .site-nav .jewelry-nav__toggle {
    flex: 0 0 auto;
    padding-inline: 0.45rem;
    font-size: 0.8rem;
    letter-spacing: 0.055em;
    white-space: nowrap;
  }

  body:not(.admin-body) .site-nav > ul > li > a > .icon,
  body:not(.admin-body) .site-nav .jewelry-nav__toggle > .icon {
    flex: 0 0 auto;
  }
}

@media screen {
  .shop-category-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0 0 clamp(3rem, 7vw, 5rem);
  }

  .shop-category-nav__link {
    display: grid;
    min-width: 0;
    min-height: 2.75rem;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    align-items: center;
    gap: 0.65rem;
    padding: 0.7rem;
    border: 1px solid #dbc9b5;
    border-radius: 0.9rem;
    background: rgb(255 250 242 / 0.84);
    color: #49382f;
    font-size: 0.8rem;
    font-weight: 750;
    line-height: 1.25;
    text-decoration: none;
    box-shadow: 0 0.25rem 0.8rem rgb(82 61 43 / 0.05);
  }

  .shop-category-nav__link:last-child {
    grid-column: 1 / -1;
  }

  .shop-category-nav__link:hover,
  .shop-category-nav__link:focus-visible {
    border-color: #af8556;
    background: #fffdf8;
    color: #6f4d29;
  }

  .shop-category-nav__icon,
  .jewelry-category__icon {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    background: #efe0cf;
    color: #795735;
  }

  .shop-category-nav__icon .icon,
  .jewelry-category__icon .icon {
    width: 1.25rem;
    height: 1.25rem;
  }

  .shop-catalog {
    display: grid;
    gap: clamp(3.5rem, 9vw, 7rem);
  }

  .jewelry-category {
    min-width: 0;
    scroll-margin-top: 7rem;
  }

  .jewelry-category__header {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);
    align-items: center;
    gap: 0.9rem;
    max-width: 48rem;
    margin-bottom: 1.5rem;
  }

  .jewelry-category__header h2,
  .jewelry-category__header p {
    margin-bottom: 0;
  }

  .jewelry-category__header h2 {
    font-size: clamp(2rem, 5vw, 3.1rem);
  }

  .jewelry-category__header p {
    margin-top: 0.25rem;
    color: var(--color-text-muted);
    font-size: 0.9rem;
  }

  .jewelry-category__icon {
    width: 3rem;
    height: 3rem;
    background: #ead8c4;
  }

  .jewelry-category__icon .icon {
    width: 1.45rem;
    height: 1.45rem;
  }

  .jewelry-category__empty,
  .recharge-placeholder {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
    min-height: 8.5rem;
    padding: clamp(1.25rem, 4vw, 2rem);
    border: 1px dashed #cdb89f;
    border-radius: 1rem;
    background: rgb(255 250 242 / 0.66);
    color: var(--color-text-muted);
  }

  .jewelry-category__empty > .icon {
    width: 2rem;
    height: 2rem;
    color: #9b7548;
  }

  .jewelry-category__empty p,
  .recharge-placeholder p {
    margin-bottom: 0.25rem;
  }

  .jewelry-category__empty strong,
  .recharge-placeholder strong {
    color: var(--color-text);
  }

  .recharge-section {
    padding: clamp(1.5rem, 5vw, 3rem);
    border-radius: 1.5rem;
    background:
      radial-gradient(circle at 88% 18%, rgb(177 143 104 / 0.13), transparent 11rem),
      #eee3d6;
  }

  .recharge-placeholder {
    min-height: clamp(11rem, 27vw, 16rem);
    border-style: solid;
    border-color: rgb(150 116 78 / 0.28);
    background: rgb(255 250 242 / 0.58);
  }

  .recharge-placeholder__symbol {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    color: #8b6841;
  }

  .recharge-placeholder__symbol .icon {
    width: 2.75rem;
    height: 2.75rem;
  }

  .jewelry-category__header .eyebrow {
    margin: 0 0 0.2rem;
    color: #765227;
    font-size: 0.72rem;
  }

  .jewelry-category__header .recharge-diameter {
    display: inline-flex;
    width: fit-content;
    min-height: 2rem;
    align-items: center;
    padding: 0.25rem 0.7rem;
    margin-top: 0.5rem;
    border: 1px solid #cbb397;
    border-radius: 999px;
    background: #fff8ee;
    color: #654b32;
    font-size: 0.8rem;
    font-weight: 750;
  }

  .recharge-product {
    display: grid;
    min-width: 0;
    gap: clamp(1.5rem, 5vw, 3.5rem);
    align-items: center;
  }

  .recharge-product__media {
    position: relative;
    display: grid;
    min-height: clamp(16rem, 65vw, 22rem);
    overflow: hidden;
    place-items: center;
    border: 1px solid rgb(138 103 67 / 0.25);
    border-radius: 1.25rem;
    background:
      radial-gradient(circle at 50% 46%, rgb(255 250 237 / 0.92), transparent 8rem),
      linear-gradient(145deg, #d9c3a6, #eee0cc 58%, #cab28e);
    color: #7c5b39;
    isolation: isolate;
  }

  .recharge-product__media::before,
  .recharge-product__media::after {
    position: absolute;
    z-index: -1;
    width: 15rem;
    height: 15rem;
    border: 1px solid rgb(105 76 48 / 0.14);
    border-radius: 50%;
    content: "";
  }

  .recharge-product__media::before {
    top: -6rem;
    right: -5rem;
  }

  .recharge-product__media::after {
    bottom: -7rem;
    left: -4rem;
  }

  .recharge-product__media .icon {
    width: min(58%, 12rem);
    height: auto;
    filter: drop-shadow(0 0.8rem 1.2rem rgb(78 55 33 / 0.12));
  }

  .recharge-product__copy {
    min-width: 0;
  }

  .recharge-product__copy .lead {
    color: #49382f;
  }

  .recharge-note {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    align-items: start;
    gap: 0.75rem;
    padding: 1rem;
    border-radius: 0.85rem;
    background: rgb(255 250 242 / 0.72);
    color: #5e5248;
    font-size: 0.85rem;
    line-height: 1.55;
  }

  .recharge-note .icon {
    width: 2.5rem;
    height: 2.5rem;
    padding: 0.65rem;
    border-radius: 50%;
    background: #ead8c4;
    color: #765227;
  }

  .recharge-howto {
    display: grid;
    gap: 1.25rem;
    padding: clamp(1.25rem, 4vw, 2rem);
    margin-top: clamp(2rem, 5vw, 3rem);
    border-radius: 1rem;
    background: #fff9f0;
  }

  .recharge-howto__heading h3,
  .recharge-howto__heading p {
    margin-bottom: 0;
  }

  .recharge-howto__heading h3 {
    font-size: clamp(1.65rem, 4vw, 2.3rem);
  }

  .recharge-steps {
    display: grid;
    gap: 0.8rem;
    padding: 0;
    margin: 0;
    list-style: none;
  }

  .recharge-steps li {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    align-items: start;
    gap: 0.75rem;
    padding: 0.9rem;
    border: 1px solid #dfcfbb;
    border-radius: 0.8rem;
    background: #fffdf8;
  }

  .recharge-steps li > span {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border-radius: 50%;
    background: #e8d4bd;
    color: #654722;
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 700;
  }

  .recharge-steps strong {
    display: block;
    margin-bottom: 0.25rem;
    color: var(--color-text);
    font-size: 0.9rem;
  }

  .recharge-steps p {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 0.82rem;
    line-height: 1.5;
  }

  .shop-catalog + .shop-reassurance {
    margin: clamp(3.5rem, 8vw, 6rem) 0 1.5rem;
  }

  .cartomancy-hero {
    position: relative;
    overflow: hidden;
    background:
      radial-gradient(circle at 12% 18%, rgb(216 183 166 / 0.32), transparent 20rem),
      radial-gradient(circle at 88% 68%, rgb(166 183 157 / 0.24), transparent 23rem),
      linear-gradient(145deg, #fffaf3, #eee1da 58%, #e5e5d7);
    isolation: isolate;
  }

  .cartomancy-hero::before {
    position: absolute;
    z-index: -1;
    top: -8rem;
    right: -8rem;
    width: 24rem;
    height: 24rem;
    border: 1px solid rgb(123 93 73 / 0.13);
    border-radius: 50%;
    content: "";
  }

  .cartomancy-hero__grid,
  .cartomancy-request__grid {
    display: grid;
    min-width: 0;
    align-items: center;
    gap: clamp(2.75rem, 8vw, 7rem);
  }

  .cartomancy-hero__content {
    max-width: 43rem;
  }

  .cartomancy-hero__content h1 {
    max-width: 10ch;
  }

  .cartomancy-topics {
    display: grid;
    gap: 0.7rem;
    padding: 0;
    margin: 1.75rem 0 0;
    list-style: none;
  }

  .cartomancy-topics li {
    display: grid;
    grid-template-columns: 2.6rem minmax(0, 1fr);
    align-items: start;
    gap: 0.8rem;
    padding: 0.85rem 0.95rem;
    border: 1px solid rgb(141 111 90 / 0.2);
    border-radius: 0.85rem;
    background: rgb(255 252 246 / 0.6);
    backdrop-filter: blur(0.25rem);
  }

  .cartomancy-topics li > .icon {
    width: 2.6rem;
    height: 2.6rem;
    padding: 0.65rem;
    border-radius: 50%;
    background: #ead8d0;
    color: #7c5647;
  }

  .cartomancy-topics strong,
  .cartomancy-topics small {
    display: block;
  }

  .cartomancy-topics strong {
    margin-bottom: 0.15rem;
    color: var(--color-text);
    font-size: 0.92rem;
  }

  .cartomancy-topics small {
    color: var(--color-text-muted);
    font-size: 0.8rem;
    line-height: 1.5;
  }

  .tarot-media-slot {
    position: relative;
    width: min(100%, 34rem);
    aspect-ratio: 4 / 3;
    margin-inline: auto;
    overflow: hidden;
    border: 1px solid rgb(118 83 67 / 0.3);
    border-radius: 1.25rem;
    background:
      radial-gradient(circle at 50% 28%, rgb(255 247 225 / 0.9), transparent 8rem),
      linear-gradient(155deg, #d7c0b7, #eee4d9 48%, #b8c2ae);
    box-shadow: 0.9rem 1rem 0 rgb(149 114 88 / 0.14), 0 1.5rem 3rem rgb(73 51 41 / 0.12);
    isolation: isolate;
  }

  .tarot-media-slot__halo {
    position: absolute;
    top: 13%;
    left: 50%;
    width: 68%;
    aspect-ratio: 1;
    border: 1px solid rgb(117 88 70 / 0.22);
    border-radius: 50%;
    box-shadow: 0 0 0 1.25rem rgb(255 250 235 / 0.16), 0 0 0 2.5rem rgb(255 250 235 / 0.1);
    transform: translateX(-50%);
  }

  .tarot-media-slot__moon {
    position: absolute;
    z-index: 1;
    top: 16%;
    left: 50%;
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 50%;
    background: #fff4d7;
    box-shadow: -0.9rem 0.2rem 0 #cbb4ad;
    transform: translateX(-50%) rotate(-15deg);
  }

  .tarot-media-slot__card {
    position: absolute;
    z-index: 2;
    bottom: 12%;
    left: 50%;
    width: 37%;
    aspect-ratio: 0.65;
    border: 1px solid rgb(100 74 61 / 0.4);
    border-radius: 0.45rem;
    background:
      radial-gradient(circle, transparent 20%, rgb(112 82 65 / 0.18) 21% 22%, transparent 23%),
      #f8eee1;
    box-shadow: 0 0.7rem 1.5rem rgb(77 55 44 / 0.17);
  }

  .tarot-media-slot__card--left {
    transform: translateX(-104%) rotate(-14deg);
  }

  .tarot-media-slot__card--center {
    z-index: 3;
    transform: translateX(-50%) translateY(-5%);
  }

  .tarot-media-slot__card--right {
    transform: translateX(4%) rotate(14deg);
  }

  .tarot-media-slot__spark {
    position: absolute;
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 50%;
    background: #fff4d7;
    box-shadow: 0 0 0 0.3rem rgb(255 244 215 / 0.13);
  }

  .tarot-media-slot__spark--one {
    top: 32%;
    left: 18%;
  }

  .tarot-media-slot__spark--two {
    top: 42%;
    right: 18%;
  }

  .cartomancy-request {
    background: #f5eee5;
  }

  .cartomancy-offer {
    max-width: 38rem;
  }

  .cartomancy-offer .guidance-card {
    margin-top: 2rem;
  }

  .cartomancy-request .form-card {
    min-width: 0;
  }
}

@media screen and (min-width: 40rem) {
  .shop-category-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .shop-category-nav__link:last-child {
    grid-column: auto;
  }

  .shop-category-nav__link {
    font-size: 0.86rem;
  }
}

@media screen and (min-width: 64rem) {
  .shop-category-nav {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .cartomancy-hero__grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
  }

  .cartomancy-request__grid {
    grid-template-columns: minmax(0, 0.9fr) minmax(24rem, 1.1fr);
    align-items: start;
  }

  .tarot-media-slot {
    width: min(100%, 36rem);
  }

  .recharge-product {
    grid-template-columns: minmax(18rem, 0.78fr) minmax(0, 1.22fr);
  }

  .recharge-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (max-width: 47.99rem) {
  .product-grid .product-card__media,
  .shop-grid .product-card__media {
    width: calc(100% - 1.5rem);
    margin-inline: auto;
  }

  .shop-grid .product-card__media {
    margin-top: 0.75rem;
    border-radius: 0.7rem;
  }

  .recharge-section {
    margin-inline: -0.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .shop-category-nav__link,
  .tarot-media-slot__card {
    transition: none;
  }
}

@media (forced-colors: active) {
  .shop-category-nav__link,
  .jewelry-category__empty,
  .recharge-section,
  .recharge-placeholder,
  .cartomancy-topics li,
  .tarot-media-slot {
    border: 1px solid CanvasText;
  }

  .tarot-media-slot__halo,
  .tarot-media-slot__spark,
  .cartomancy-hero::before {
    display: none;
  }
}

.icon-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.icon {
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 auto;
}

@media screen {
  body:not(.admin-body) {
    --color-primary: #765227;
    --color-primary-hover: #5f401d;
    --color-accent: #a9783d;
    --color-accent-hover: #765227;
    --radius-sm: 0.55rem;
    --radius-md: 0.85rem;
    --radius-lg: 1.15rem;
    --shadow-sm: 0 0.25rem 1rem rgb(73 56 47 / 0.07);
    --shadow-md: 0 1rem 2.5rem rgb(73 56 47 / 0.1);
  }

  body:not(.admin-body) h1 {
    max-width: 18ch;
    font-size: clamp(2.6rem, 5.6vw, 4.35rem);
    line-height: 1;
    text-wrap: balance;
  }

  body:not(.admin-body) h2 {
    font-size: clamp(1.8rem, 3.6vw, 2.75rem);
    line-height: 1.08;
  }

  body:not(.admin-body) h3 {
    font-size: clamp(1.3rem, 2.5vw, 1.75rem);
  }

  body:not(.admin-body) .section {
    padding-block: clamp(3rem, 6vw, 5rem);
  }

  body:not(.admin-body) .section--compact {
    padding-block: clamp(1.75rem, 4vw, 3.25rem);
  }

  .hero__content h1 {
    max-width: 12ch;
    font-size: clamp(3.3rem, 7vw, 5.25rem);
  }

  .shop-intro h1 {
    font-size: clamp(3rem, 6.5vw, 4.9rem);
  }

  .legal-content > h1,
  .section.container--narrow > h1,
  .cart-page h1,
  .checkout-panel__header h1,
  .page-heading h1 {
    font-size: clamp(2.55rem, 5vw, 3.85rem);
  }

  .page-heading {
    max-width: 45rem;
    margin-bottom: clamp(2rem, 5vw, 3.5rem);
  }

  .page-heading--center {
    margin-inline: auto;
    text-align: center;
  }

  .page-heading--center h1,
  .page-heading--center .lead {
    margin-inline: auto;
  }

  .page-heading__icon,
  .feature-icon,
  .success-mark {
    display: inline-grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border: 1px solid #d8bd92;
    border-radius: 50%;
    background: #f8eddc;
    color: #765227;
  }

  .page-heading__icon .icon,
  .feature-icon .icon {
    width: 1.35rem;
    height: 1.35rem;
  }

  .demo-banner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    background: #ead9b4;
    color: #49351c;
    letter-spacing: 0.035em;
    text-transform: none;
  }

  .demo-banner .icon {
    width: 1rem;
    height: 1rem;
  }

  .site-header {
    position: sticky;
    top: 0;
    border-bottom: 1px solid #d8c7b0;
    background: rgb(249 243 235 / 0.985);
    box-shadow: 0 0.35rem 1.3rem rgb(73 56 47 / 0.05);
    backdrop-filter: blur(12px);
  }

  .site-header::after {
    display: none;
  }

  .site-logo {
    height: 4.35rem;
  }

  .site-logo img {
    filter: sepia(28%) saturate(155%) brightness(62%) contrast(112%);
  }

  .site-nav a,
  .nav-link {
    gap: 0.45rem;
    border-radius: 0.55rem;
    letter-spacing: 0.035em;
    text-transform: none;
  }

  .site-nav a .icon,
  .nav-link .icon {
    width: 1.05rem;
    height: 1.05rem;
    color: #8a632f;
  }

  .site-nav a:hover,
  .site-nav a[aria-current="page"] {
    background: #efe2d1;
  }

  .site-nav a::after,
  .nav-link::after {
    display: none;
  }

  .cart-count {
    background: #9b6e34;
    color: #fffaf2;
  }

  body:not(.admin-body) .button,
  body:not(.admin-body) .btn {
    min-height: 3rem;
    padding: 0.7rem 1.15rem;
    border-color: #9c6c31;
    border-radius: 0.7rem;
    background: #c99a55;
    box-shadow: 0 0.18rem 0 #9a682f;
    color: #291e15;
    font-size: 0.9rem;
    letter-spacing: 0.01em;
    text-transform: none;
  }

  body:not(.admin-body) .button:hover,
  body:not(.admin-body) .btn:hover {
    border-color: #8d5f29;
    background: #bc8842;
    box-shadow: 0 0.28rem 0 #805221;
    color: #21170f;
    transform: translateY(-0.08rem);
  }

  body:not(.admin-body) .button:active,
  body:not(.admin-body) .btn:active {
    box-shadow: 0 0.08rem 0 #805221;
    transform: translateY(0.06rem);
  }

  body:not(.admin-body) .button--outline,
  body:not(.admin-body) .button--secondary,
  body:not(.admin-body) .btn-secondary {
    border-color: #b89a76;
    background: #fffaf2;
    box-shadow: none;
    color: #5f4528;
  }

  body:not(.admin-body) .button--outline:hover,
  body:not(.admin-body) .button--secondary:hover,
  body:not(.admin-body) .btn-secondary:hover {
    background: #f0e4d5;
    box-shadow: none;
  }

  body:not(.admin-body) .button--quiet,
  body:not(.admin-body) .btn-quiet,
  body:not(.admin-body) .button--editorial {
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    color: #765227;
  }

  body:not(.admin-body) .button--quiet:hover,
  body:not(.admin-body) .btn-quiet:hover,
  body:not(.admin-body) .button--editorial:hover {
    background: #efe2d1;
    box-shadow: none;
    transform: none;
  }

  .button .icon,
  .btn .icon,
  .text-link-icon .icon {
    width: 1.1rem;
    height: 1.1rem;
  }

  .text-link-icon {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    gap: 0.45rem;
    font-weight: 700;
  }

  .form-card,
  .guidance-card,
  .service-card,
  .quote-card,
  .order-summary,
  .cart-summary,
  .empty-state {
    border: 1px solid #d8c8b5;
    border-radius: 1rem;
    background: #fffaf2;
    box-shadow: var(--shadow-sm);
    clip-path: none;
  }

  .service-card,
  .service-card p,
  .service-card h2 {
    color: var(--color-text);
  }

  .service-card__price {
    color: #765227;
    font-size: clamp(2.35rem, 5vw, 3.25rem);
  }

  .service-card .button {
    border-color: #9c6c31;
    background: #c99a55;
    color: #291e15;
  }

  .form-card,
  .guidance-card,
  .service-card,
  .quote-card {
    padding: clamp(1.35rem, 3.5vw, 2.25rem);
  }

  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
  select,
  textarea {
    border-color: #baa58d;
    border-radius: 0.6rem;
    background: #fffdf9;
  }

  .footer-title {
    display: flex;
    align-items: center;
    gap: 0.55rem;
  }

  .footer-title .icon {
    width: 1.2rem;
    height: 1.2rem;
  }

  .toast-region {
    position: fixed;
    z-index: 300;
    top: 6.75rem;
    right: max(1rem, calc((100vw - var(--container)) / 2));
    width: min(calc(100% - 2rem), 30rem);
    pointer-events: none;
  }

  .toast-region .alert {
    pointer-events: auto;
  }

  .alert,
  [data-alert] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.85rem;
    padding: 0.85rem 0.75rem 0.85rem 0.9rem;
    border: 1px solid #cfb892;
    border-left: 0.25rem solid #a9783d;
    border-radius: 0.9rem;
    background: #fffaf2;
    box-shadow: 0 1rem 2.5rem rgb(73 56 47 / 0.16);
    color: #49382f;
  }

  .alert--success {
    border-color: #cfb892;
    border-left-color: #9a6a30;
    background: #fffaf2;
    color: #49382f;
  }

  .alert--warning {
    border-left-color: #b47b24;
    background: #fff8e9;
    color: #5b3e10;
  }

  .alert--danger,
  .alert--error {
    border-left-color: #a94c46;
    background: #fff5f2;
    color: #71302c;
  }

  .alert__icon {
    display: grid;
    width: 2.45rem;
    height: 2.45rem;
    place-items: center;
    border-radius: 50%;
    background: #f1e2cb;
    color: #765227;
  }

  .alert__message {
    font-size: 0.93rem;
    font-weight: 650;
    line-height: 1.45;
  }

  .alert__close,
  [data-alert-close] {
    position: static;
    width: 2.75rem;
    height: 2.75rem;
    color: #6e5b4c;
  }
}

@media screen {
  .shop-reassurance {
    overflow: hidden;
    border-radius: 1rem;
  }

  .shop-reassurance p {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.85rem;
  }

  .shop-reassurance p > span:last-child {
    display: grid;
    gap: 0.12rem;
  }

  .shop-reassurance__icon {
    display: grid;
    width: 2.55rem;
    height: 2.55rem;
    place-items: center;
    border-radius: 50%;
    background: #f5e8d5;
    color: #8a632f;
  }

  .shop-reassurance small {
    color: var(--color-text-muted);
    font-size: 0.82rem;
    line-height: 1.4;
  }

  .product-card__details {
    gap: 0.45rem;
  }

  .product-card__details .icon {
    transition: transform var(--transition);
  }

  .product-card__details:hover .icon {
    transform: translateX(0.2rem);
  }

  .cart-page {
    padding-top: clamp(2.25rem, 5vw, 4rem);
  }

  .cart-page__header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.75rem;
  }

  .cart-page__eyebrow {
    display: flex;
    align-items: center;
    gap: 0.45rem;
  }

  .cart-page__header h1 {
    margin-bottom: 0.45rem;
  }

  .cart-page__intro {
    margin: 0;
    color: var(--color-text-muted);
  }

  .cart-page__back {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.9rem;
    font-weight: 700;
  }

  .cart-layout--refined {
    gap: clamp(1.25rem, 3vw, 2rem);
  }

  .cart-panel,
  .cart-summary {
    border: 1px solid #d8c8b5;
    border-radius: 1rem;
    background: #fffaf2;
    box-shadow: var(--shadow-sm);
  }

  .cart-panel {
    overflow: hidden;
  }

  .cart-panel__header {
    padding: 1.35rem clamp(1rem, 3vw, 1.6rem);
    border-bottom: 1px solid #e0d2c1;
    background: #faf2e7;
  }

  .cart-panel__title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
  }

  .cart-panel__title-row h2,
  .cart-summary__header h2 {
    margin: 0;
    font-size: clamp(1.65rem, 3vw, 2.15rem);
  }

  .cart-panel__header p {
    margin: 0.3rem 0 0;
    color: var(--color-text-muted);
    font-size: 0.9rem;
  }

  .cart-panel__count {
    padding: 0.25rem 0.65rem;
    border-radius: 999px;
    background: #eadbc7;
    color: #604620;
    font-size: 0.75rem;
    font-weight: 750;
  }

  .cart-list {
    display: grid;
    gap: 0;
    padding: 0;
    margin: 0;
    list-style: none;
  }

  .cart-list__item + .cart-list__item {
    border-top: 1px solid #e2d5c5;
  }

  .cart-item--compact {
    display: grid;
    grid-template-columns: 7rem minmax(0, 1fr);
    gap: 1.2rem;
    padding: 1.25rem clamp(1rem, 3vw, 1.6rem);
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .cart-item__media {
    align-self: start;
    overflow: hidden;
    border-radius: 0.75rem;
    background: #eee1d0;
  }

  .cart-item__image,
  .cart-item__image-placeholder {
    width: 7rem;
    aspect-ratio: 1;
    border-radius: 0.75rem;
    object-fit: cover;
  }

  .cart-item__image-placeholder {
    display: grid;
    place-items: center;
    color: #8a632f;
  }

  .cart-item__content {
    min-width: 0;
  }

  .cart-item__topline,
  .cart-item__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
  }

  .cart-item__collection,
  .cart-item__unit-price,
  .cart-item__composition {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 0.82rem;
  }

  .cart-item__collection {
    color: #8a632f;
    font-weight: 750;
    letter-spacing: 0.055em;
    text-transform: uppercase;
  }

  .cart-item__name {
    margin: 0.25rem 0 0.15rem;
    font-size: clamp(1.45rem, 3vw, 1.9rem);
  }

  .cart-item__name a {
    color: inherit;
    text-decoration: none;
  }

  .cart-item__bottom {
    align-items: end;
    padding-top: 1rem;
  }

  .cart-item__quantity {
    display: grid;
    gap: 0.3rem;
  }

  .cart-item__quantity label {
    font-size: 0.76rem;
  }

  .cart-item__quantity select {
    width: 6.75rem;
    min-height: 2.75rem;
  }

  .cart-item__price {
    display: grid;
    gap: 0.1rem;
    margin: 0;
    text-align: right;
  }

  .cart-item__price span {
    color: var(--color-text-muted);
    font-size: 0.74rem;
  }

  .cart-item__price strong {
    color: #5f4528;
    font-size: 1.15rem;
  }

  .cart-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem clamp(1rem, 3vw, 1.6rem);
    border-top: 1px solid #e0d2c1;
    background: #faf5ed;
  }

  .cart-actions__hint {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 0.78rem;
  }

  .cart-summary {
    position: sticky;
    top: 7.25rem;
    padding: 1.35rem;
    box-shadow: var(--shadow-sm);
  }

  .cart-summary__header,
  .checkout-summary__header {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #dfd0be;
  }

  .cart-summary__header .eyebrow,
  .checkout-summary__header .eyebrow {
    margin-bottom: 0.25rem;
  }

  .cart-summary__icon,
  .checkout-summary__icon {
    display: grid;
    width: 2.7rem;
    height: 2.7rem;
    place-items: center;
    border-radius: 50%;
    background: #f1e2cb;
    color: #765227;
  }

  .cart-summary__details {
    padding-block: 0.8rem;
  }

  .cart-summary__delivery,
  .cart-summary__reassurance,
  .checkout-summary__note,
  .checkout-summary__trust {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.8rem;
    border-radius: 0.7rem;
    background: #f7efe4;
    color: #655445;
    font-size: 0.82rem;
    line-height: 1.5;
  }

  .cart-summary__delivery p,
  .cart-summary__reassurance,
  .checkout-summary__note p,
  .checkout-summary__trust {
    margin-bottom: 0;
  }

  .cart-summary__actions {
    display: grid;
    gap: 0.65rem;
    margin-top: 0.9rem;
  }

  .cart-summary__reassurance {
    margin-top: 0.85rem;
    background: #fbf5ed;
  }

  .cart-empty {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.25rem;
    padding: clamp(1.5rem, 5vw, 2.5rem);
  }

  .cart-empty__icon {
    display: grid;
    width: 4rem;
    height: 4rem;
    place-items: center;
    border-radius: 50%;
    background: #f1e2cb;
    color: #765227;
  }

  .cart-empty__content h2,
  .cart-empty__content p {
    margin-bottom: 0.35rem;
  }

  .checkout-page {
    padding-top: clamp(1.75rem, 4vw, 3rem) !important;
    background: linear-gradient(180deg, #f8f1e8 0, #f4eee5 30rem);
  }

  .checkout-shell {
    max-width: 73rem;
  }

  .checkout-progress {
    margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
  }

  .checkout-progress__list {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding: 0;
    margin: 0;
    list-style: none;
  }

  .checkout-progress__list::before {
    position: absolute;
    top: 1.35rem;
    right: 16.5%;
    left: 16.5%;
    height: 1px;
    background: #ccb99f;
    content: "";
  }

  .checkout-progress__item {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    min-width: 0;
  }

  .checkout-progress__marker {
    display: grid;
    width: 2.7rem;
    height: 2.7rem;
    place-items: center;
    border: 1px solid #c6b39b;
    border-radius: 50%;
    background: #f8f1e8;
    color: #7c6c5c;
  }

  .checkout-progress__item.is-complete .checkout-progress__marker {
    border-color: #a88a5b;
    background: #eadbc7;
    color: #6c4b24;
  }

  .checkout-progress__item.is-current .checkout-progress__marker {
    border-color: #9a6a30;
    background: #c99a55;
    color: #291e15;
    box-shadow: 0 0 0 0.3rem #f1e2cb;
  }

  .checkout-progress__copy {
    display: grid;
    min-width: 0;
    line-height: 1.25;
  }

  .checkout-progress__copy span {
    color: var(--color-text-muted);
    font-size: 0.67rem;
    text-transform: uppercase;
  }

  .checkout-progress__copy strong {
    color: #49382f;
    font-size: 0.85rem;
  }

  .checkout-layout {
    gap: clamp(1.25rem, 3vw, 2rem);
  }

  .checkout-panel,
  .checkout-summary {
    border: 1px solid #d7c6b2;
    border-radius: 1rem;
    background: #fffaf2;
    box-shadow: var(--shadow-sm);
  }

  .checkout-panel {
    padding: clamp(1.3rem, 4vw, 2.25rem);
  }

  .checkout-panel__header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #dfd0be;
  }

  .checkout-panel__header h1 {
    max-width: 16ch;
    margin-bottom: 0.6rem;
  }

  .checkout-panel__header p:last-child {
    margin: 0;
    color: var(--color-text-muted);
  }

  .checkout-panel__icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border-radius: 50%;
    background: #f1e2cb;
    color: #765227;
  }

  .checkout-form {
    margin-top: 1.4rem;
  }

  .checkout-fieldset {
    padding: 1.15rem;
    border: 1px solid #e0d2c1;
    border-radius: 0.8rem;
    background: #fdf8f0;
  }

  .checkout-fieldset legend {
    color: #5e4325;
    font-family: var(--font-heading);
    font-size: 1.3rem;
  }

  .checkout-consent {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem;
    border-radius: 0.8rem;
    background: #f5ebdc;
  }

  .checkout-consent > .icon {
    margin-top: 0.2rem;
    color: #765227;
  }

  .checkout-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
  }

  .checkout-summary {
    position: sticky;
    top: 7.25rem;
    padding: 1.25rem;
  }

  .checkout-summary__items {
    display: grid;
    gap: 0;
  }

  .checkout-summary__item {
    display: grid;
    grid-template-columns: 3.75rem minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding-block: 0.9rem;
    border-bottom: 1px solid #e3d7c7;
  }

  .checkout-summary__thumb {
    width: 3.75rem;
    aspect-ratio: 1;
    border-radius: 0.55rem;
    object-fit: cover;
  }

  .checkout-summary__thumb--empty {
    display: grid;
    place-items: center;
    background: #f1e2cb;
    color: #765227;
  }

  .checkout-summary__product h3 {
    margin: 0;
    font-family: var(--font-body);
    font-size: 0.9rem;
    font-weight: 750;
  }

  .checkout-summary__product p,
  .checkout-summary__product span {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 0.72rem;
    line-height: 1.4;
  }

  .checkout-summary__price {
    font-size: 0.88rem;
    white-space: nowrap;
  }

  .checkout-summary__note {
    margin-top: 0.8rem;
  }

  .checkout-summary__note p {
    display: grid;
    gap: 0.15rem;
  }

  .checkout-summary__trust {
    margin-top: 0.65rem;
    background: #fbf5ed;
  }

  .simulation-notice,
  .simulation-next {
    padding: 1.15rem;
    margin-top: 1.25rem;
    border: 1px solid #ddc8a6;
    border-radius: 0.85rem;
    background: #f8eddc;
  }

  .simulation-notice {
    display: flex;
    gap: 0.85rem;
  }

  .simulation-notice__icon {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    background: #ead6b8;
    color: #765227;
  }

  .simulation-notice h2,
  .simulation-next h2 {
    margin-bottom: 0.35rem;
    font-size: clamp(1.35rem, 3vw, 1.75rem);
  }

  .simulation-notice p,
  .simulation-next p {
    margin-bottom: 0;
  }

  .simulation-next {
    display: grid;
    gap: 0.65rem;
    border-color: #e0d2c1;
    background: #fffdf9;
  }

  .simulation-next p,
  .payment-panel__footnote {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
  }

  .simulation-next p .icon {
    color: #8a632f;
  }

  .payment-form {
    margin-top: 1.25rem;
  }

  .payment-panel__footnote {
    margin: 1rem 0 0;
    color: var(--color-text-muted);
    font-size: 0.78rem;
  }

  .payment-summary__details {
    margin: 0;
  }

  .payment-summary__details dt,
  .payment-summary__details dd {
    margin: 0;
  }
}

@media screen {
  .breadcrumbs {
    padding-block: 0.85rem;
    border-bottom: 1px solid #dfd2c3;
    letter-spacing: 0;
  }

  .product-detail {
    grid-template-areas:
      "heading"
      "gallery"
      "info";
    gap: 1.35rem;
  }

  .product-heading {
    grid-area: heading;
  }

  .product-heading h1 {
    margin-bottom: 0.35rem;
  }

  .product-heading .product-info__price {
    margin: 0;
  }

  .product-gallery {
    grid-area: gallery;
  }

  .product-info {
    grid-area: info;
    max-width: none;
    padding-top: 0;
  }

  .product-info::before {
    display: none;
  }

  .gallery__main,
  .product-gallery__main {
    overflow: hidden;
    border-radius: 1rem;
  }

  .gallery__main::after,
  .product-gallery__main::after {
    display: none;
  }

  .gallery__main img,
  .product-gallery__main img,
  [data-gallery-main] {
    aspect-ratio: 1;
    clip-path: none;
    object-fit: cover;
  }

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

  .gallery__thumb,
  .product-gallery__thumb,
  [data-gallery-thumb] {
    border-radius: 0.65rem;
  }

  .product-info__price {
    color: #765227;
    font-size: clamp(1.7rem, 4vw, 2.15rem);
  }

  .product-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #dfd0be;
    border-radius: 0.85rem;
  }

  .product-meta > div {
    padding: 0.9rem;
    background: #fcf6ee;
  }

  .product-meta > div + div {
    border-left: 1px solid #dfd0be;
  }

  .product-meta dt {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.35rem;
    color: #765227;
    letter-spacing: 0.035em;
  }

  .product-meta dt .icon {
    width: 1rem;
    height: 1rem;
  }

  .product-meta dd {
    font-size: 0.88rem;
    line-height: 1.45;
  }

  .intention {
    padding: 1.15rem 1.25rem;
    border: 1px solid #e0d2c1;
    border-left: 0.25rem solid #b98543;
    border-radius: 0.75rem;
    background: #faf2e7;
    font-size: clamp(1.25rem, 3vw, 1.65rem);
  }

  .intention::before {
    display: none;
  }

  .product-buy {
    display: grid;
    grid-template-columns: 6.5rem minmax(0, 1fr);
    align-items: end;
    gap: 0.75rem;
  }

  .product-buy__quantity {
    display: grid;
    gap: 0.3rem;
  }

  .product-buy__quantity label {
    font-size: 0.78rem;
  }

  .product-buy__quantity select {
    min-height: 3rem;
  }

  .product-delivery-note {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    color: var(--color-text-muted);
    font-size: 0.82rem;
  }

  .faq-page {
    max-width: 52rem;
  }

  .faq-page .page-heading {
    margin-inline: auto;
    text-align: center;
  }

  .faq-page .page-heading__icon {
    margin-inline: auto;
  }

  .faq-page .lead {
    margin-inline: auto;
  }

  .faq-list {
    display: grid;
    gap: 0.75rem;
  }

  .faq-list details {
    overflow: hidden;
    border: 1px solid #d9c9b6;
    border-radius: 0.8rem;
    background: #fffaf2;
    box-shadow: var(--shadow-sm);
  }

  .faq-list summary {
    display: flex;
    min-height: 3.25rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 1rem;
    color: #49382f;
    font-weight: 750;
    list-style: none;
  }

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

  .faq-list summary .icon {
    color: #8a632f;
    transition: transform var(--transition);
  }

  .faq-list details[open] summary {
    background: #f7ecde;
  }

  .faq-list details[open] summary .icon {
    transform: rotate(180deg);
  }

  .faq-list details p {
    padding: 0 1rem 1rem;
    margin: 0;
    color: var(--color-text-muted);
  }

  .craft-page .page-heading {
    margin-inline: auto;
  }

  .craft-stories {
    display: grid;
    gap: clamp(1.5rem, 4vw, 2.5rem);
  }

  .craft-story {
    display: grid;
    overflow: hidden;
    border: 1px solid #d8c8b5;
    border-radius: 1.1rem;
    background: #fffaf2;
    box-shadow: var(--shadow-sm);
  }

  .craft-story__media img {
    width: 100%;
    height: 100%;
    min-height: 18rem;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }

  .craft-story__content {
    align-self: center;
    padding: clamp(1.4rem, 4vw, 2.5rem);
  }

  .craft-story__content h2 {
    margin-bottom: 0.75rem;
  }

  .about-layout {
    display: grid;
    gap: clamp(2rem, 6vw, 5rem);
    align-items: start;
  }

  .about-copy h1 {
    margin-bottom: 1rem;
  }

  .about-media {
    position: sticky;
    top: 7.25rem;
    overflow: hidden;
    border-radius: 1rem;
    background: #fffaf2;
    box-shadow: var(--shadow-md);
  }

  .about-media img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }

  .about-media > p {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 1rem;
    margin: 0;
    color: #5f4d3f;
    font-size: 0.86rem;
  }

  .about-media > p .icon {
    color: #8a632f;
  }

  .brand-note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.3rem 0.75rem;
    padding: 1.15rem;
    border-left: 0.25rem solid #b98543;
    border-radius: 0 0.75rem 0.75rem 0;
    background: #faf1e5;
  }

  .brand-note .icon {
    grid-row: 1 / 3;
    margin-top: 0.2rem;
    color: #8a632f;
  }

  .brand-note p {
    margin: 0;
    font-family: var(--font-heading);
    font-size: 1.35rem;
    line-height: 1.35;
  }

  .brand-note span {
    color: #765227;
    font-size: 0.82rem;
    font-weight: 750;
  }

  .steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
  }

  .steps li {
    display: grid;
    gap: 0.55rem;
    padding: 1.15rem;
    border: 1px solid #d8c8b5;
    border-radius: 0.9rem;
    background: #fffaf2;
    color: var(--color-text);
    text-align: left;
  }

  .steps li::before,
  .steps li::after {
    display: none;
  }

  .steps__icon {
    display: grid;
    width: 2.7rem;
    height: 2.7rem;
    place-items: center;
    border-radius: 50%;
    background: #f1e2cb;
    color: #765227;
  }

  .steps li strong {
    line-height: 1.35;
  }

  .steps li > span:last-child {
    color: var(--color-text-muted);
    font-size: 0.82rem;
    line-height: 1.5;
  }

  .success-mark {
    width: 4rem;
    height: 4rem;
    margin-bottom: 0.5rem;
  }

  .success-mark .icon {
    width: 2rem;
    height: 2rem;
  }
}

@media screen and (min-width: 40rem) {
  .checkout-fieldset .form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .checkout-fieldset .form-section {
    grid-column: 1 / -1;
  }

  .craft-story {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  }

  .craft-story--reverse .craft-story__media {
    order: 2;
  }
}

@media screen and (min-width: 48rem) {
  .cart-layout--refined,
  .checkout-layout {
    grid-template-columns: minmax(0, 1.55fr) minmax(18rem, 0.72fr);
  }

  .product-detail {
    grid-template-columns: minmax(0, 1.05fr) minmax(19rem, 0.95fr);
    grid-template-areas:
      "gallery heading"
      "gallery info";
    align-items: start;
    gap: 1.25rem clamp(2.5rem, 6vw, 5rem);
  }

  .gallery__main img,
  .product-gallery__main img,
  [data-gallery-main] {
    aspect-ratio: 4 / 5;
  }

  .about-layout {
    grid-template-columns: minmax(0, 1.08fr) minmax(20rem, 0.92fr);
  }
}

@media screen and (min-width: 64rem) {
  .site-header__inner,
  .header-inner {
    min-height: 5.4rem;
  }

  .site-logo {
    height: 5.05rem;
  }

  .site-nav ul,
  .nav-list {
    gap: 0.2rem;
  }

  .site-nav a,
  .nav-link {
    padding-inline: 0.55rem;
    font-size: 0.76rem;
  }
}

@media screen and (max-width: 47.99rem) {
  .toast-region {
    top: 5.75rem;
  }

  .cart-page__header,
  .checkout-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .cart-page__header {
    display: grid;
  }

  .cart-page__back {
    width: fit-content;
  }

  .cart-summary,
  .checkout-summary,
  .about-media {
    position: static;
  }

  .cart-empty {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .cart-empty .button {
    grid-column: 1 / -1;
  }

  .checkout-actions .button {
    width: 100%;
  }

  .checkout-back {
    order: 2;
  }

  .product-meta {
    grid-template-columns: 1fr;
  }

  .product-meta > div + div {
    border-top: 1px solid #dfd0be;
    border-left: 0;
  }

  .steps {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 34rem) {
  body:not(.admin-body) h1 {
    font-size: clamp(2.5rem, 12vw, 3.35rem);
  }

  .hero__content h1 {
    font-size: clamp(3rem, 14vw, 4rem);
  }

  .shop-intro h1 {
    font-size: clamp(2.9rem, 13vw, 3.75rem);
  }

  .checkout-progress__item {
    display: grid;
    justify-items: center;
    gap: 0.4rem;
    text-align: center;
  }

  .checkout-progress__copy span {
    display: none;
  }

  .checkout-progress__copy strong {
    font-size: 0.72rem;
  }

  .checkout-progress__list::before {
    top: 1.35rem;
  }

  .checkout-panel__header {
    display: grid;
  }

  .cart-item--compact {
    grid-template-columns: 5.75rem minmax(0, 1fr);
    gap: 0.85rem;
  }

  .cart-item__image,
  .cart-item__image-placeholder {
    width: 5.75rem;
  }

  .cart-item__topline {
    display: grid;
    gap: 0.15rem;
  }

  .cart-item__bottom {
    grid-column: 1 / -1;
  }

  .cart-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .cart-actions__update {
    width: 100%;
  }

  .checkout-summary__item {
    grid-template-columns: 3.25rem minmax(0, 1fr);
  }

  .checkout-summary__price {
    grid-column: 2;
  }

  .product-buy {
    grid-template-columns: 5.75rem minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .faq-list summary .icon,
  .product-card__details .icon {
    transition: none;
  }
}

.shop-page {
  background:
    radial-gradient(circle at 93% 2%, rgb(197 148 77 / 0.12), transparent 24rem),
    linear-gradient(180deg, #fffaf2 0, #f4eee5 24rem);
}

.shop-intro {
  display: grid;
  gap: 2rem;
  padding-bottom: clamp(2.5rem, 6vw, 4.5rem);
  border-bottom: 1px solid var(--color-border-strong);
}

.shop-intro__copy {
  max-width: 50rem;
}

.shop-intro h1 {
  max-width: 12ch;
  margin-bottom: 1.25rem;
  font-size: clamp(3rem, 8vw, 5.8rem);
}

.shop-intro .lead {
  max-width: 42rem;
  margin-bottom: 0;
}

.shop-intro__aside {
  align-self: end;
  padding: 1.5rem;
  border: 1px solid #d7c3a8;
  border-top: 0.3rem solid #b8823e;
  background: rgb(255 253 248 / 0.82);
  box-shadow: 0 0.8rem 2rem rgb(87 63 40 / 0.07);
}

.shop-intro__aside p {
  margin-bottom: 0.5rem;
  color: var(--color-text-muted);
}

.shop-intro__aside p:last-child {
  margin-bottom: 0;
}

.shop-intro__count {
  display: flex;
  align-items: baseline;
  gap: 0.65rem;
  color: var(--color-text) !important;
}

.shop-intro__count strong {
  color: #8b5c24;
  font-family: var(--font-heading);
  font-size: 2.5rem;
  line-height: 1;
}

.shop-reassurance {
  display: grid;
  gap: 0;
  margin: 1.5rem 0 clamp(3.5rem, 8vw, 6rem);
  border: 1px solid var(--color-border);
  background: #fffdf8;
  box-shadow: var(--shadow-sm);
}

.shop-reassurance p {
  display: grid;
  gap: 0.2rem;
  padding: 1.15rem 1.25rem;
  margin: 0;
  border-bottom: 1px solid var(--color-border);
}

.shop-reassurance p:last-child {
  border-bottom: 0;
}

.shop-reassurance strong {
  color: var(--color-text);
  font-size: 0.92rem;
}

.shop-reassurance span {
  color: var(--color-text-muted);
  font-size: 0.84rem;
  line-height: 1.45;
}

.shop-catalog-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--color-border);
}

.shop-catalog-heading h2,
.shop-catalog-heading p {
  margin-bottom: 0;
}

.shop-catalog-heading > p {
  color: var(--color-text-muted);
  font-size: 0.92rem;
  text-align: right;
}

.shop-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
  padding-top: 2rem;
}

.shop-grid .product-card--shop {
  height: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d8c8b5;
  border-radius: 0.75rem;
  background: #fffdf8;
  box-shadow: 0 0.5rem 1.5rem rgb(83 61 42 / 0.08);
  transition: border-color var(--transition), box-shadow var(--transition);
}

.shop-grid .product-card--shop:hover {
  border-color: #b99669;
  box-shadow: 0 1rem 2.4rem rgb(83 61 42 / 0.13);
}

.shop-grid .product-card--shop .product-card__media {
  overflow: hidden;
  background: #eadfce;
}

.shop-grid .product-card--shop .product-card__media::after {
  display: none;
}

.shop-grid .product-card--shop .product-card__media img,
.shop-grid .product-card--shop:nth-child(even) .product-card__media img {
  width: 100%;
  aspect-ratio: 4 / 5;
  clip-path: none;
  object-fit: cover;
}

.shop-grid .product-card--shop .product-card__body {
  align-items: stretch;
  padding: 1.35rem;
}

.product-card--shop .product-card__meta {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}

.product-card--shop .product-card__meta .eyebrow {
  margin-bottom: 0;
  font-size: 0.69rem;
}

.product-card--shop .product-card__meta .eyebrow::before {
  width: 1rem;
}

.product-card--shop .product-card__stock {
  width: fit-content;
  padding: 0.28rem 0.6rem;
  margin: 0;
  border: 1px solid #d8bd92;
  border-radius: 999px;
  background: #f8eddc;
  color: #654516;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.35;
}

.product-card--shop .product-card__stock--empty {
  border-color: #d5bbb5;
  background: #f7eae6;
  color: #762f2b;
}

.shop-grid .product-card--shop .product-card__title {
  margin-bottom: 0.55rem;
  font-size: clamp(1.75rem, 3vw, 2.15rem);
}

.shop-grid .product-card--shop .product-card__title a {
  text-decoration: none;
}

.shop-grid .product-card--shop .product-card__title a:hover {
  color: #7a4f1c;
}

.shop-grid .product-card--shop .product-card__description {
  margin-bottom: 1.1rem;
  line-height: 1.55;
  -webkit-line-clamp: 2;
}

.product-card--shop .product-card__price {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1rem;
  margin-top: auto;
  margin-bottom: 1rem;
  border-top: 1px solid var(--color-border);
}

.product-card--shop .product-card__price .price {
  color: var(--color-text);
  font-size: 1.85rem;
  font-variant-numeric: tabular-nums;
}

.product-card--shop .product-card__price > span:last-child {
  color: var(--color-text-muted);
  font-size: 0.78rem;
}

.product-card__purchase {
  display: grid;
  grid-template-columns: minmax(4.9rem, 5.5rem) minmax(0, 1fr);
  align-items: end;
  gap: 0.75rem;
}

.product-card__quantity {
  display: grid;
  gap: 0.3rem;
}

.product-card__quantity label {
  color: var(--color-text);
  font-size: 0.76rem;
  font-weight: 700;
}

.product-card__quantity select {
  width: 100%;
  min-height: 3rem;
  padding: 0.55rem 0.7rem;
  border: 1px solid #b8a58e;
  border-radius: 0.45rem;
  background: #fff;
  color: var(--color-text);
  font-size: 1rem;
  font-variant-numeric: tabular-nums;
}

.product-card__add {
  min-width: 0;
  min-height: 3rem;
  padding-inline: 1rem;
  border-color: #9c6c31;
  background: #c99a55;
  box-shadow: 0 0.2rem 0 #8a5a24;
  color: #2b211c;
  white-space: normal;
}

.product-card__add:hover,
.product-card__add:active {
  border-color: #8a5a24;
  background: #bb8945;
  box-shadow: 0 0.12rem 0 #754817;
  color: #211812;
}

.product-card__details {
  display: flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  margin-top: 0.8rem;
  color: var(--color-primary);
  font-size: 0.87rem;
  font-weight: 700;
  text-decoration-thickness: 1px;
}

.shop-disclaimer {
  max-width: 52rem;
  padding: 1.25rem 0 0 1.25rem;
  margin: clamp(3rem, 7vw, 5rem) auto 0;
  border-left: 0.2rem solid #b8823e;
  color: var(--color-text-muted);
  font-size: 0.9rem;
}

@media screen and (min-width: 48rem) {
  .shop-intro {
    grid-template-columns: minmax(0, 1.7fr) minmax(15rem, 0.8fr);
    align-items: end;
  }

  .shop-reassurance {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .shop-reassurance p {
    border-right: 1px solid var(--color-border);
    border-bottom: 0;
  }

  .shop-reassurance p:last-child {
    border-right: 0;
  }

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

@media screen and (min-width: 64rem) {
  .shop-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.5rem 1.75rem;
  }
}

@media screen and (max-width: 34rem) {
  .shop-catalog-heading {
    display: grid;
  }

  .shop-catalog-heading > p {
    text-align: left;
  }
}

@media screen and (max-width: 22rem) {
  .product-card__purchase {
    grid-template-columns: minmax(0, 1fr);
  }

  .product-card__add {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .shop-grid .product-card--shop,
  .shop-grid .product-card--shop .product-card__media img,
  .product-card__add {
    transition: none;
  }
}

@media (forced-colors: active) {
  .shop-intro__aside,
  .shop-reassurance,
  .shop-grid .product-card--shop,
  .product-card__quantity select,
  .product-card__add {
    border: 1px solid CanvasText;
  }

  .product-card--shop .product-card__stock {
    border: 1px solid CanvasText;
  }
}

@media print {
  .site-header,
  .site-footer,
  .demo-banner,
  .site-notice,
  .menu-toggle,
  .nav-toggle,
  .button,
  .btn,
  form,
  .admin-sidebar {
    display: none !important;
  }

  body {
    background: #fff;
    color: #000;
  }

  .container,
  .site-container,
  .container--narrow,
  .narrow,
  .legal-content {
    width: 100%;
    max-width: none;
  }

  a {
    color: #000;
    text-decoration: underline;
  }
}

.summary-line--discount {
  color: var(--color-success);
}

.cart-promo {
  padding: 1rem;
  border: 1px solid #ddcfbe;
  border-radius: 0.9rem;
  background: #fbf6ee;
}

.cart-promo > label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.65rem;
  color: var(--color-text);
  font-size: 0.86rem;
  font-weight: 750;
}

.cart-promo > label .icon {
  width: 1.1rem;
  height: 1.1rem;
  color: var(--color-accent-hover);
}

.cart-promo__entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.55rem;
}

.cart-promo__entry input {
  min-width: 0;
  min-height: 2.9rem;
  padding: 0.65rem 0.8rem;
  border: 1px solid var(--color-border-strong);
  border-radius: 0.65rem;
  background: #fffdf9;
  color: var(--color-text);
  text-transform: uppercase;
}

.cart-promo__entry .button {
  min-height: 2.9rem;
  padding-inline: 0.9rem;
}

.cart-promo__applied,
.checkout-promo-applied {
  display: grid;
  grid-template-columns: 2.2rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.7rem;
}

.cart-promo__applied > span,
.checkout-promo-applied > span {
  display: grid;
  width: 2.2rem;
  height: 2.2rem;
  place-items: center;
  border-radius: 50%;
  background: var(--color-success-soft);
  color: var(--color-success);
}

.cart-promo__applied > span .icon,
.checkout-promo-applied > span .icon {
  width: 1.15rem;
  height: 1.15rem;
}

.cart-promo__applied p,
.checkout-promo-applied p {
  display: grid;
  gap: 0.05rem;
  margin: 0;
  line-height: 1.35;
}

.cart-promo__applied strong,
.checkout-promo-applied strong {
  font-size: 0.86rem;
  letter-spacing: 0.04em;
}

.cart-promo__applied small,
.checkout-promo-applied small {
  color: var(--color-text-muted);
  font-size: 0.76rem;
}

.checkout-promo-applied {
  grid-template-columns: 2.2rem minmax(0, 1fr) auto;
  padding: 0.8rem;
  border: 0;
  border-radius: 0.8rem;
  background: var(--color-success-soft);
}

@media screen and (max-width: 25rem) {
  .cart-promo__entry {
    grid-template-columns: 1fr;
  }

  .cart-promo__entry .button {
    width: 100%;
  }
}

@media screen {
  .admin-promo-page,
  .admin-promo-editor {
    max-width: 78rem;
  }

  .admin-promo-summary {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .admin-promo-summary article {
    display: grid;
    grid-template-columns: 2.7rem minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
    padding: 0.9rem;
    border: 1px solid var(--admin-border);
    border-radius: 0.9rem;
    background: var(--admin-surface);
    box-shadow: 0 0.25rem 1rem rgb(80 58 38 / 0.04);
  }

  .admin-promo-summary article > span,
  .admin-promo-card__icon {
    display: grid;
    width: 2.7rem;
    height: 2.7rem;
    place-items: center;
    border-radius: 0.75rem;
    background: var(--admin-accent-soft);
    color: var(--admin-accent-strong);
  }

  .admin-promo-summary svg,
  .admin-promo-card__icon svg {
    width: 1.25rem;
    height: 1.25rem;
  }

  .admin-promo-summary article > div {
    display: grid;
    gap: 0.05rem;
  }

  .admin-promo-summary small {
    color: var(--admin-muted);
    font-size: 0.72rem;
  }

  .admin-promo-summary strong {
    font-family: var(--font-heading);
    font-size: 1.55rem;
    line-height: 1;
  }

  .admin-promo-list {
    display: grid;
    gap: 0.85rem;
  }

  .admin-promo-card {
    display: grid;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--admin-border);
    border-radius: 1rem;
    background: var(--admin-surface);
    box-shadow: 0 0.35rem 1.25rem rgb(80 58 38 / 0.045);
  }

  .admin-promo-card__main {
    display: grid;
    grid-template-columns: 2.7rem minmax(0, 1fr);
    gap: 0.8rem;
  }

  .admin-promo-card__heading {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
  }

  .admin-promo-card__heading h2 {
    margin: 0;
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 850;
    letter-spacing: 0.055em;
  }

  .admin-promo-card__main p {
    margin: 0.2rem 0 0;
    color: var(--admin-muted);
    font-size: 0.8rem;
  }

  .admin-promo-card__facts {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem;
    margin: 0;
  }

  .admin-promo-card__facts > div {
    padding: 0.7rem 0.8rem;
    border-radius: 0.7rem;
    background: var(--admin-surface-soft);
  }

  .admin-promo-card__facts dt {
    color: var(--admin-muted);
    font-size: 0.67rem;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }

  .admin-promo-card__facts dd {
    margin: 0.12rem 0 0;
    font-size: 0.78rem;
  }

  .admin-promo-card__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
  }

  .admin-promo-card__actions form {
    margin: 0;
  }

  .status--info {
    border-color: #b8d3df;
    background: var(--admin-progress-soft);
    color: var(--admin-progress);
  }

  .status--muted {
    border-color: var(--admin-border);
    background: var(--admin-surface-soft);
    color: var(--admin-muted);
  }

  .admin-promo-code-field {
    display: grid;
    gap: 0.75rem;
    align-items: end;
  }

  .admin-promo-type,
  .admin-promo-usage {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.65rem;
    padding: 0;
    margin: 0;
    border: 0;
  }

  .admin-promo-type label,
  .admin-promo-usage label {
    position: relative;
    display: block;
  }

  .admin-promo-type input,
  .admin-promo-usage input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
  }

  .admin-promo-type label > span,
  .admin-promo-usage label > span {
    display: grid;
    min-height: 100%;
    gap: 0.2rem;
    padding: 0.9rem;
    border: 1px solid var(--admin-border);
    border-radius: 0.8rem;
    background: var(--admin-surface);
    cursor: pointer;
    transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
  }

  .admin-promo-type label > span {
    grid-template-columns: 2rem minmax(0, 1fr);
  }

  .admin-promo-type label > span > svg {
    grid-row: 1 / 3;
    width: 1.25rem;
    height: 1.25rem;
    margin-top: 0.1rem;
    color: var(--admin-accent);
  }

  .admin-promo-type small,
  .admin-promo-usage small {
    color: var(--admin-muted);
    font-size: 0.72rem;
  }

  .admin-promo-type input:checked + span,
  .admin-promo-usage input:checked + span {
    border-color: var(--admin-accent);
    background: #fbf4e9;
    box-shadow: 0 0 0 2px rgb(128 97 60 / 0.14);
  }

  .admin-promo-type input:focus-visible + span,
  .admin-promo-usage input:focus-visible + span {
    outline: 3px solid rgb(117 82 31 / 0.35);
    outline-offset: 2px;
  }

  .admin-promo-values {
    margin-top: 1rem;
  }

  .admin-promo-limit {
    max-width: 18rem;
    margin-top: 0.85rem;
  }
}

@media screen and (min-width: 40rem) {
  .admin-promo-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .admin-promo-card__facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .admin-promo-code-field {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .admin-promo-usage {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (min-width: 80rem) {
  .admin-promo-type {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .admin-promo-card {
    grid-template-columns: minmax(16rem, 1.1fr) minmax(24rem, 1.5fr) auto;
    align-items: center;
  }

  .admin-promo-card__actions {
    justify-content: flex-end;
  }
}

.account-google-link__heading {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.65rem;
}

.account-google-link__heading > div {
  display: grid;
  gap: 0.1rem;
}

.account-google-link__heading .status {
  color: var(--color-success);
}

.account-google-link__form {
  display: grid;
  gap: 0.65rem;
}

.account-google-link__form .field {
  gap: 0.3rem;
}

.account-google-link__form input {
  min-height: 2.8rem;
}

.account-google-link--connected {
  padding: 1rem;
  border: 1px solid #c9ddcf;
  border-radius: 0.9rem;
  background: #f7fbf8;
}

.account-google-link > p a,
.account-google-restart {
  color: var(--color-accent-hover);
  font-weight: 700;
}

.account-google-email div small {
  color: var(--color-text-muted);
  font-size: 0.75rem;
}

.account-google-restart {
  display: block;
  padding: 0.65rem;
  text-align: center;
}

@media screen and (max-width: 25rem) {
  .account-google-link__heading {
    grid-template-columns: 1.5rem minmax(0, 1fr);
  }

  .account-google-link__heading .status {
    grid-column: 2;
    justify-self: start;
  }
}

@media screen {
  .account-auth,
  .account-dashboard,
  .account-order-page,
  .account-profile-page,
  .account-result-page {
    background:
      radial-gradient(circle at 8% 5%, rgb(224 201 168 / 0.34), transparent 21rem),
      radial-gradient(circle at 92% 22%, rgb(235 219 197 / 0.48), transparent 24rem),
      var(--color-background);
  }

  .account-auth__shell {
    display: grid;
    align-items: start;
    gap: 1.5rem;
  }

  .account-auth__intro {
    max-width: 36rem;
  }

  .account-auth__intro h1,
  .account-dashboard__hero h1,
  .account-order-page__hero h1,
  .account-profile-page__hero h1,
  .account-result-page__card h1 {
    margin-bottom: 0.75rem;
    font-size: clamp(2.35rem, 10vw, 4.5rem);
  }

  .account-auth__intro > p:last-of-type,
  .account-dashboard__hero p:last-child,
  .account-order-page__hero p:last-child,
  .account-profile-page__hero > p:last-child,
  .account-result-page__card > p {
    max-width: 43rem;
    color: var(--color-text-muted);
    font-size: 1.02rem;
  }

  .account-auth__icon,
  .account-result-page__icon {
    display: grid;
    width: 3.5rem;
    height: 3.5rem;
    place-items: center;
    margin-bottom: 1rem;
    border: 1px solid #d8c7b2;
    border-radius: 1rem;
    background: #fffaf2;
    color: var(--color-accent-hover);
    box-shadow: var(--shadow-sm);
  }

  .account-auth__icon svg,
  .account-result-page__icon svg {
    width: 1.6rem;
    height: 1.6rem;
  }

  .account-benefits {
    display: grid;
    gap: 0.65rem;
    padding: 0;
    margin: 1.5rem 0 0;
    list-style: none;
  }

  .account-benefits li {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    color: #4e433a;
    font-weight: 650;
  }

  .account-benefits svg {
    width: 1.2rem;
    height: 1.2rem;
    flex: 0 0 auto;
    color: var(--color-accent-hover);
  }

  .account-auth__card,
  .account-profile-card,
  .account-details-card,
  .account-order-panel {
    min-width: 0;
    padding: clamp(1rem, 5vw, 2rem);
    border: 1px solid #d9cabb;
    border-radius: 1.15rem;
    background: rgb(255 250 242 / 0.96);
    box-shadow: 0 0.65rem 2rem rgb(75 57 43 / 0.075);
  }

  .account-auth__card > header,
  .account-profile-card > header {
    margin-bottom: 1.25rem;
  }

  .account-auth__card > header h2,
  .account-profile-card > header h2,
  .account-section-heading h2,
  .account-details-card h2,
  .account-order-panel h2 {
    margin-bottom: 0.35rem;
    font-size: clamp(1.65rem, 7vw, 2.35rem);
  }

  .account-auth__card > header p,
  .account-profile-card > header p {
    margin: 0;
    color: var(--color-text-muted);
  }

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

  .account-google-button {
    display: flex;
    width: 100%;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 0.7rem 1rem;
    border: 1px solid #cfc5ba;
    border-radius: 0.8rem;
    background: #fff;
    color: #302b27;
    box-shadow: 0 0.2rem 0.7rem rgb(58 44 34 / 0.06);
    font-weight: 750;
    text-align: center;
    text-decoration: none;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
  }

  .account-google-button:hover {
    border-color: #9e8468;
    box-shadow: 0 0.45rem 1rem rgb(58 44 34 / 0.1);
    transform: translateY(-1px);
  }

  .account-google-button:focus-visible {
    outline: 3px solid rgb(166 122 68 / 0.3);
    outline-offset: 2px;
  }

  .account-google-button__mark {
    width: 1.25rem;
    height: 1.25rem;
    flex: 0 0 auto;
  }

  .account-auth__separator {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 1rem 0;
    color: var(--color-text-muted);
    font-size: 0.78rem;
    text-align: center;
  }

  .account-auth__separator::before,
  .account-auth__separator::after {
    height: 1px;
    flex: 1;
    background: #e2d7cb;
    content: '';
  }

  .account-form-notice {
    display: grid;
    grid-template-columns: 1.3rem minmax(0, 1fr);
    gap: 0.7rem;
    padding: 0.85rem;
    margin-bottom: 1rem;
    border: 1px solid #d9c6ad;
    border-radius: 0.8rem;
    background: #fff7e9;
    color: #514237;
  }

  .account-form-notice > svg {
    width: 1.2rem;
    height: 1.2rem;
    margin-top: 0.15rem;
    color: var(--color-accent-hover);
  }

  .account-form-notice div,
  .account-google-email div,
  .account-google-link > div {
    display: grid;
    gap: 0.2rem;
  }

  .account-form-notice span,
  .account-google-email span,
  .account-google-link span {
    color: var(--color-text-muted);
    font-size: 0.88rem;
  }

  .account-google-email {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    margin-bottom: 1rem;
    border: 1px solid #ded3c8;
    border-radius: 0.8rem;
    background: #fff;
    overflow-wrap: anywhere;
  }

  .account-google-link {
    display: grid;
    gap: 0.8rem;
    padding-top: 1.2rem;
    margin-top: 1.25rem;
    border-top: 1px solid #e4d8ca;
  }

  .account-google-link > p {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 0.78rem;
    line-height: 1.5;
  }

  .summary-line--discount,
  .tracking-totals__discount,
  .account-order-discount,
  .admin-order-totals__discount {
    color: #4f7158;
  }

  .summary-line--discount strong,
  .tracking-totals__discount dd,
  .account-order-discount dd,
  .admin-order-totals__discount dd {
    color: #356044;
    font-weight: 800;
  }

  .account-form input:not([type="checkbox"]):not([type="radio"]),
  .account-form select {
    min-height: 3rem;
    background: #fffcf7;
  }

  .account-field-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.35rem 1rem;
  }

  .account-field-heading a {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    font-size: 0.85rem;
    font-weight: 700;
  }

  .account-form-alert {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.75rem;
    margin-bottom: 1rem;
    border: 1px solid #d7a7a0;
    border-radius: 0.7rem;
    background: var(--color-danger-soft);
    color: #722424;
    font-weight: 650;
  }

  .account-form-alert svg {
    width: 1.15rem;
    height: 1.15rem;
    flex: 0 0 auto;
    margin-top: 0.18rem;
  }

  .account-auth__switch {
    padding-top: 1rem;
    margin: 1.25rem 0 0;
    border-top: 1px solid #e4d8ca;
    color: var(--color-text-muted);
    text-align: center;
  }

  .account-auth__switch a {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    gap: 0.35rem;
    font-weight: 750;
  }

  .account-auth__switch svg {
    width: 1rem;
    height: 1rem;
  }

  .account-form__group {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
  }

  .account-form__group + .account-form__group {
    padding-top: 1.25rem;
    border-top: 1px solid #e4d8ca;
  }

  .account-form__group legend {
    width: 100%;
    margin-bottom: 0.8rem;
    font-family: var(--font-heading);
    font-size: 1.45rem;
    font-weight: 650;
  }

  .account-form__grid {
    gap: 0.85rem;
  }

  .field-label__optional {
    color: var(--color-text-muted);
    font-size: 0.72rem;
    font-weight: 500;
  }

  .account-terms {
    align-items: flex-start;
    min-height: 2.75rem;
  }

  .account-dashboard__shell,
  .account-order-page__shell,
  .account-profile-page__shell {
    display: grid;
    gap: 1.25rem;
  }

  .account-dashboard__hero,
  .account-order-page__hero {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
  }

  .account-dashboard__hero form,
  .account-dashboard__hero h1,
  .account-order-page__hero h1 {
    margin: 0;
  }

  .account-dashboard__hero .button,
  .account-back-link {
    min-height: 2.75rem;
  }

  .account-verification,
  .account-shipping-card {
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    border: 1px solid #dfc389;
    border-radius: 1rem;
    background: #fff8e9;
  }

  .account-verification > span,
  .account-shipping-card > span {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border-radius: 0.75rem;
    background: #f2e1bd;
    color: #704b17;
  }

  .account-verification svg,
  .account-shipping-card > span svg {
    width: 1.35rem;
    height: 1.35rem;
  }

  .account-verification h2,
  .account-shipping-card h2 {
    margin: 0 0 0.2rem;
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 800;
  }

  .account-verification p,
  .account-shipping-card p {
    margin: 0;
    color: #65513b;
    font-size: 0.88rem;
  }

  .account-verification form,
  .account-verification .button,
  .account-shipping-card .button {
    grid-column: 1 / -1;
    width: 100%;
    margin: 0;
  }

  .account-dashboard__grid,
  .account-order-page__grid,
  .account-profile-page__grid {
    display: grid;
    min-width: 0;
    gap: 1rem;
  }

  .account-dashboard__main,
  .account-dashboard__aside,
  .account-order-content,
  .account-order-aside {
    min-width: 0;
  }

  .account-section-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
  }

  .account-section-heading > div,
  .account-details-card > header,
  .account-order-panel > header,
  .account-profile-card > header {
    display: flex;
    align-items: center;
    gap: 0.7rem;
  }

  .account-section-heading h2,
  .account-section-heading p,
  .account-details-card header h2,
  .account-details-card header p,
  .account-order-panel header h2,
  .account-order-panel header p,
  .account-profile-card header h2,
  .account-profile-card header p {
    margin: 0;
  }

  .account-section-heading__icon,
  .account-details-card > header > span,
  .account-order-panel > header > span,
  .account-profile-card > header > span {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 0.75rem;
    background: #efe2d1;
    color: var(--color-accent-hover);
  }

  .account-section-heading__icon svg,
  .account-details-card > header svg,
  .account-order-panel > header svg,
  .account-profile-card > header svg {
    width: 1.25rem;
    height: 1.25rem;
  }

  .account-order-list {
    display: grid;
    gap: 0.75rem;
  }

  .account-order-card {
    min-width: 0;
    padding: 0.85rem;
    border: 1px solid #d9cabb;
    border-radius: 1rem;
    background: #fffaf2;
    box-shadow: var(--shadow-sm);
  }

  .account-order-card__top {
    display: grid;
    grid-template-columns: 2.65rem minmax(0, 1fr);
    align-items: center;
    gap: 0.65rem;
  }

  .account-order-card__icon {
    display: grid;
    width: 2.65rem;
    height: 2.65rem;
    place-items: center;
    border-radius: 0.7rem;
    background: #efe2d1;
    color: #735022;
  }

  .account-order-card__icon svg {
    width: 1.2rem;
    height: 1.2rem;
  }

  .account-order-card__top p,
  .account-order-card__top h3 {
    margin: 0;
  }

  .account-order-card__top p {
    color: var(--color-text-muted);
    font-size: 0.73rem;
    font-weight: 750;
    letter-spacing: 0.035em;
    overflow-wrap: anywhere;
    text-transform: uppercase;
  }

  .account-order-card__top h3 {
    margin-top: 0.1rem;
    font-family: var(--font-body);
    font-size: 0.9rem;
  }

  .account-status {
    display: inline-flex;
    min-height: 1.85rem;
    grid-column: 2;
    align-items: center;
    justify-self: start;
    padding: 0.25rem 0.55rem;
    border: 1px solid #c7b497;
    border-radius: 99rem;
    background: #f4eadc;
    color: #5e431e;
    font-size: 0.7rem;
    font-weight: 800;
  }

  .account-status--warning {
    border-color: #d8bc7d;
    background: #fff4dc;
    color: #684816;
  }

  .account-status--progress,
  .account-status--transit {
    border-color: #9eb9c3;
    background: #e9f2f5;
    color: #2e5667;
  }

  .account-status--success {
    border-color: #9fc4aa;
    background: #e9f4ec;
    color: #25563b;
  }

  .account-status--muted {
    border-color: #cec6bd;
    background: #f1ede8;
    color: #665e56;
  }

  .account-order-card__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    padding: 0.75rem 0;
    margin-top: 0.75rem;
    border-top: 1px solid #e6dacf;
  }

  .account-order-card__facts span {
    display: grid;
    color: var(--color-text-muted);
    font-size: 0.72rem;
  }

  .account-order-card__facts strong {
    color: var(--color-text);
    font-size: 0.9rem;
    font-variant-numeric: tabular-nums;
  }

  .account-details-card {
    padding: 1rem;
  }

  .account-details-list {
    display: grid;
    padding: 0;
    margin: 1rem 0;
  }

  .account-details-list > div {
    display: grid;
    gap: 0.1rem;
    padding: 0.6rem 0;
    border-top: 1px solid #e5d9cc;
  }

  .account-details-list dt {
    color: var(--color-text-muted);
    font-size: 0.73rem;
    font-weight: 700;
  }

  .account-details-list dd {
    margin: 0;
    font-weight: 700;
    overflow-wrap: anywhere;
  }

  .account-address {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    gap: 0.6rem;
    padding: 0.8rem;
    margin: 0 0 1rem;
    border-radius: 0.75rem;
    background: #f3eadf;
    font-size: 0.9rem;
    font-style: normal;
  }

  .account-address svg {
    width: 1.2rem;
    height: 1.2rem;
    margin-top: 0.15rem;
    color: var(--color-accent-hover);
  }

  .account-empty-state {
    display: grid;
    min-height: 19rem;
    place-items: center;
    align-content: center;
    gap: 0.6rem;
    padding: 1.5rem;
    border: 1px solid #d9cabb;
    border-radius: 1rem;
    background: #fffaf2;
    text-align: center;
  }

  .account-empty-state > span {
    display: grid;
    width: 3.5rem;
    height: 3.5rem;
    place-items: center;
    border-radius: 1rem;
    background: #efe2d1;
    color: var(--color-accent-hover);
  }

  .account-empty-state svg {
    width: 1.6rem;
    height: 1.6rem;
  }

  .account-empty-state h3,
  .account-empty-state p {
    margin: 0;
  }

  .account-empty-state p {
    max-width: 28rem;
    color: var(--color-text-muted);
  }

  .account-back-link {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.85rem;
    font-weight: 750;
    text-decoration: none;
  }

  .account-back-link svg {
    width: 1rem;
    height: 1rem;
  }

  .account-order-total {
    color: var(--color-accent-hover);
    font-family: var(--font-heading);
    font-size: clamp(1.75rem, 8vw, 2.75rem);
    font-variant-numeric: tabular-nums;
  }

  .account-shipping-card {
    border-color: #a9c5b2;
    background: #edf6ef;
  }

  .account-shipping-card > span {
    background: #d8ebdd;
    color: #2d5f41;
  }

  .account-shipping-card .eyebrow {
    margin-bottom: 0.1rem;
  }

  .account-order-content,
  .account-order-aside {
    display: grid;
    align-content: start;
    gap: 1rem;
  }

  .account-order-panel {
    padding: 1rem;
  }

  .account-order-panel > header {
    margin-bottom: 1rem;
  }

  .account-order-items {
    display: grid;
    gap: 0.55rem;
  }

  .account-order-items article {
    display: grid;
    min-width: 0;
    grid-template-columns: 2.3rem minmax(0, 1fr);
    align-items: center;
    gap: 0.65rem;
    padding: 0.7rem;
    border: 1px solid #e3d7ca;
    border-radius: 0.75rem;
    background: #fffcf7;
  }

  .account-order-item__quantity {
    display: grid;
    width: 2.3rem;
    height: 2.3rem;
    place-items: center;
    border-radius: 0.6rem;
    background: #efe2d1;
    color: #704b1d;
    font-size: 0.8rem;
    font-weight: 800;
  }

  .account-order-items h3,
  .account-order-items p {
    margin: 0;
  }

  .account-order-items h3 {
    font-size: 1rem;
  }

  .account-order-items p {
    color: var(--color-text-muted);
    font-size: 0.76rem;
  }

  .account-order-items article > strong {
    grid-column: 2;
    font-size: 0.9rem;
    font-variant-numeric: tabular-nums;
  }

  .account-order-totals,
  .admin-customer-details-list {
    display: grid;
    padding: 0;
    margin: 1rem 0 0;
  }

  .account-order-totals > div,
  .admin-customer-details-list > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.55rem 0;
    border-top: 1px solid #e5d9cc;
  }

  .account-order-totals dt,
  .admin-customer-details-list dt {
    color: var(--color-text-muted);
    font-size: 0.8rem;
  }

  .account-order-totals dd,
  .admin-customer-details-list dd {
    margin: 0;
    font-variant-numeric: tabular-nums;
    font-weight: 750;
    text-align: right;
    overflow-wrap: anywhere;
  }

  .account-order-totals > div:last-child dt,
  .account-order-totals > div:last-child dd {
    color: var(--color-text);
    font-size: 1.05rem;
  }

  .account-order-history {
    display: grid;
    gap: 0.55rem;
    padding: 0;
    margin: 0;
    list-style: none;
  }

  .account-order-history li {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    align-items: center;
    gap: 0.6rem;
    padding: 0.65rem;
    border: 1px solid #e2d6c9;
    border-radius: 0.7rem;
    background: #fbf6f0;
  }

  .account-order-history li > svg {
    width: 1rem;
    height: 1rem;
    margin: auto;
    color: #85602c;
  }

  .account-order-history li div {
    display: grid;
  }

  .account-order-history strong {
    font-size: 0.88rem;
  }

  .account-order-history time {
    color: var(--color-text-muted);
    font-size: 0.72rem;
  }

  .account-order-history .is-current {
    border-color: #98bea4;
    background: #eaf4ed;
  }

  .account-order-history .is-current > svg {
    color: #275b3c;
  }

  .account-order-panel__empty {
    color: var(--color-text-muted);
  }

  .account-order-address {
    display: grid;
    gap: 0.15rem;
    padding: 0.8rem;
    border-radius: 0.75rem;
    background: #f3eadf;
    font-size: 0.9rem;
    font-style: normal;
  }

  .account-help-card {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr) 1rem;
    align-items: center;
    gap: 0.6rem;
    min-height: 4.5rem;
    padding: 0.85rem;
    border: 1px solid #d2c0aa;
    border-radius: 0.9rem;
    background: #efe2d1;
    color: var(--color-text);
    text-decoration: none;
  }

  .account-help-card > svg:first-child {
    width: 1.5rem;
    height: 1.5rem;
    color: var(--color-accent-hover);
  }

  .account-help-card > svg:last-child {
    width: 1rem;
    height: 1rem;
  }

  .account-help-card span {
    display: grid;
  }

  .account-help-card small {
    color: var(--color-text-muted);
  }

  .account-profile-page__hero {
    max-width: 52rem;
  }

  .account-profile-card {
    padding: 1rem;
  }

  .account-password-card {
    align-self: start;
  }

  .account-result-page {
    min-height: 65vh;
  }

  .account-result-page__card {
    display: grid;
    max-width: 42rem;
    justify-items: center;
    padding: clamp(1.5rem, 7vw, 3.5rem);
    border: 1px solid #d9cabb;
    border-radius: 1.25rem;
    background: #fffaf2;
    box-shadow: var(--shadow-md);
    text-align: center;
  }

  .account-result-page__icon.is-success {
    border-color: #a6c8af;
    background: #e9f4ec;
    color: #2c6141;
  }

  .account-result-page__icon.is-warning {
    border-color: #dbc184;
    background: #fff3d8;
    color: #72501c;
  }

  .account-result-page__icon.is-neutral {
    border-color: #cdb99f;
    background: #f2e5d5;
    color: #72501c;
  }

  .account-result-page__card .button {
    margin-top: 1.25rem;
  }

  .checkout-account-invite {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    align-items: center;
    gap: 0.6rem;
    padding: 0.8rem;
    margin: 0 0 1rem;
    border: 1px solid #d7c7b6;
    border-radius: 0.8rem;
    background: #f4eadf;
  }

  .checkout-account-invite > svg {
    width: 1.35rem;
    height: 1.35rem;
    color: #72501d;
  }

  .checkout-account-invite p,
  .checkout-account-invite span {
    display: grid;
    margin: 0;
  }

  .checkout-account-invite span {
    color: var(--color-text-muted);
    font-size: 0.78rem;
  }

  .checkout-account-invite > a {
    min-height: 2.75rem;
    grid-column: 1 / -1;
    align-content: center;
    font-weight: 750;
    text-align: center;
  }

  .account-confirmation {
    min-width: 0;
    padding: 0.85rem;
    margin: 0;
    border: 1px solid #cdb99f;
    border-radius: 0.9rem;
    background: #fbf4ea;
  }

  .account-confirmation legend {
    width: 100%;
    padding: 0 0 0.7rem;
    font-family: var(--font-heading);
    font-size: clamp(1.35rem, 6vw, 1.8rem);
    font-weight: 650;
  }

  .account-confirmation__summary {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: 0.65rem;
    padding: 0.75rem;
    border-radius: 0.75rem;
    background: #fffaf2;
  }

  .account-confirmation__summary > span {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border-radius: 0.65rem;
    background: #efe2d1;
    color: #735022;
  }

  .account-confirmation__summary svg {
    width: 1.2rem;
    height: 1.2rem;
  }

  .account-confirmation__summary address {
    display: grid;
    gap: 0.05rem;
    font-size: 0.82rem;
    font-style: normal;
    overflow-wrap: anywhere;
  }

  .account-confirmation__choices {
    display: grid;
    gap: 0.5rem;
    margin-top: 0.65rem;
  }

  .account-confirmation__choices label {
    position: relative;
    display: flex;
    height: 100%;
    cursor: pointer;
  }

  .account-confirmation__choices input {
    position: absolute;
    inset: 0 auto auto 0;
    width: 1px;
    height: 1px;
    opacity: 0;
  }

  .account-confirmation__choices label > span {
    display: grid;
    width: 100%;
    min-height: 3.75rem;
    height: 100%;
    grid-template-columns: 1.5rem minmax(0, 1fr);
    align-items: center;
    gap: 0 0.6rem;
    padding: 0.65rem;
    border: 1px solid #d9cabb;
    border-radius: 0.7rem;
    background: #fffcf7;
  }

  .account-confirmation__choices svg {
    width: 1.15rem;
    height: 1.15rem;
    grid-row: 1 / 3;
    color: #795625;
  }

  .account-confirmation__choices strong,
  .account-confirmation__choices small {
    grid-column: 2;
  }

  .account-confirmation__choices strong {
    font-size: 0.82rem;
  }

  .account-confirmation__choices small {
    color: var(--color-text-muted);
    font-size: 0.72rem;
  }

  .account-confirmation__choices input:checked + span {
    border-color: #8f6c3e;
    background: #f3e5d2;
    box-shadow: inset 0 0 0 1px #8f6c3e;
  }

  .account-confirmation__choices input:focus-visible + span {
    outline: 0.1875rem solid var(--color-focus);
    outline-offset: 0.1875rem;
  }

  .account-save-details {
    min-height: 2.75rem;
    align-items: flex-start;
    padding: 0.75rem;
    border: 1px solid #d9cabb;
    border-radius: 0.75rem;
    background: #fbf6f0;
    font-size: 0.86rem;
  }

  .nav-account-item a[aria-current="page"] {
    font-weight: 800;
  }

  .admin-customer-list {
    display: grid;
    max-width: 76rem;
    gap: 0.75rem;
  }

  .admin-customer-row {
    display: grid;
    min-width: 0;
    grid-template-columns: 2.65rem minmax(0, 1fr);
    align-items: center;
    gap: 0.7rem;
    padding: 0.9rem;
    border: 1px solid var(--admin-border);
    border-radius: 0.85rem;
    background: var(--admin-surface);
    box-shadow: 0 0.2rem 0.75rem rgb(67 51 38 / 0.035);
  }

  .admin-customer-row__avatar {
    display: grid;
    width: 2.65rem;
    height: 2.65rem;
    place-items: center;
    border-radius: 0.65rem;
    background: var(--admin-accent-soft);
    color: var(--admin-accent-strong);
  }

  .admin-customer-row__avatar svg {
    width: 1.2rem;
    height: 1.2rem;
  }

  .admin-customer-row__identity {
    min-width: 0;
  }

  .admin-customer-row__identity h2,
  .admin-customer-row__identity p {
    margin: 0;
  }

  .admin-customer-row__identity h2 {
    margin-top: 0.08rem;
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 800;
  }

  .admin-customer-row__identity a {
    color: var(--admin-muted);
    font-size: 0.75rem;
    overflow-wrap: anywhere;
  }

  .admin-customer-row__facts {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.4rem;
    padding: 0;
    margin: 0;
  }

  .admin-customer-row__facts div {
    display: grid;
    gap: 0.05rem;
    padding: 0.5rem;
    border-radius: 0.55rem;
    background: #f7f1ea;
  }

  .admin-customer-row__facts dt {
    color: var(--admin-muted);
    font-size: 0.62rem;
    font-weight: 750;
    text-transform: uppercase;
  }

  .admin-customer-row__facts dd {
    margin: 0;
    font-size: 0.78rem;
    font-variant-numeric: tabular-nums;
    font-weight: 800;
    overflow-wrap: anywhere;
  }

  .admin-customer-row > .button {
    min-height: 2.75rem;
    grid-column: 1 / -1;
  }

  .admin-customer-detail {
    max-width: 82rem;
  }

  .admin-customer-detail__summary {
    display: grid;
    gap: 0.65rem;
  }

  .admin-customer-detail__summary article {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    align-items: center;
    gap: 0.65rem;
    padding: 0.75rem;
    border: 1px solid var(--admin-border);
    border-radius: 0.8rem;
    background: var(--admin-surface);
  }

  .admin-customer-detail__summary article > span {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border-radius: 0.6rem;
    background: var(--admin-accent-soft);
    color: var(--admin-accent-strong);
  }

  .admin-customer-detail__summary svg {
    width: 1.15rem;
    height: 1.15rem;
  }

  .admin-customer-detail__summary div {
    display: grid;
  }

  .admin-customer-detail__summary small {
    color: var(--admin-muted);
    font-size: 0.68rem;
    font-weight: 750;
  }

  .admin-customer-detail__summary strong {
    font-size: 1rem;
  }

  .admin-customer-detail__grid {
    display: grid;
    min-width: 0;
    gap: 1rem;
  }

  .admin-customer-orders {
    display: grid;
    gap: 0.55rem;
    padding: 0 0.9rem 0.9rem;
  }

  .admin-customer-orders article {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.5rem;
    padding: 0.7rem;
    border: 1px solid #e2d8ce;
    border-radius: 0.7rem;
    background: #fcf8f3;
  }

  .admin-customer-orders h3,
  .admin-customer-orders p {
    margin: 0;
  }

  .admin-customer-orders h3 {
    margin-top: 0.08rem;
    font-family: var(--font-body);
    font-size: 0.78rem;
  }

  .admin-customer-orders > article > strong {
    font-size: 0.85rem;
    font-variant-numeric: tabular-nums;
  }

  .admin-customer-orders .button {
    min-height: 2.75rem;
    grid-column: 1 / -1;
  }

  .admin-customer-details-list {
    padding: 0 0.9rem 0.9rem;
    margin: 0;
  }

  .admin-customer-details-list dt {
    color: var(--admin-muted);
    font-size: 0.7rem;
  }

  .admin-customer-details-list dd {
    max-width: 65%;
    color: var(--admin-ink);
    font-size: 0.78rem;
  }

  .admin-customer-address {
    display: grid;
    grid-template-columns: 1.2rem minmax(0, 1fr);
    gap: 0.55rem;
    padding: 0.75rem 0.9rem;
    margin: 0;
    border-top: 1px solid #e8dfd6;
    background: #fcf8f3;
    font-size: 0.78rem;
    font-style: normal;
  }

  .admin-customer-address svg {
    width: 1.05rem;
    height: 1.05rem;
    margin-top: 0.15rem;
    color: var(--admin-accent-strong);
  }
}

@media screen and (min-width: 48rem) {
  .account-auth__shell {
    grid-template-columns: minmax(0, 0.85fr) minmax(23rem, 1.15fr);
    align-items: center;
    gap: clamp(2rem, 7vw, 5.5rem);
  }

  .account-auth--compact .account-auth__shell {
    grid-template-columns: minmax(0, 1fr) minmax(22rem, 28rem);
  }

  .account-auth__card--wide {
    width: 100%;
  }

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

  .account-form__grid .form-section {
    grid-column: 1 / -1;
    padding-top: 0;
    margin-top: 0;
    border-top: 0;
  }

  .account-verification,
  .account-shipping-card {
    grid-template-columns: 2.75rem minmax(0, 1fr) auto;
  }

  .account-verification form,
  .account-verification .button,
  .account-shipping-card .button {
    width: auto;
    grid-column: auto;
  }

  .account-order-card__top {
    grid-template-columns: 2.65rem minmax(0, 1fr) auto;
  }

  .account-status {
    grid-column: auto;
    justify-self: end;
  }

  .account-order-items article {
    grid-template-columns: 2.3rem minmax(0, 1fr) auto;
  }

  .account-order-items article > strong {
    grid-column: auto;
  }

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

  .checkout-account-invite {
    grid-template-columns: 2rem minmax(0, 1fr) auto;
  }

  .checkout-account-invite > a {
    grid-column: auto;
    padding-inline: 0.75rem;
  }

  .admin-customer-detail__summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

}

@media screen and (min-width: 64rem) {
  .account-dashboard__grid,
  .account-order-page__grid {
    grid-template-columns: minmax(0, 1.55fr) minmax(18rem, 0.65fr);
    align-items: start;
  }

  .account-profile-page__grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(20rem, 0.65fr);
    align-items: start;
  }

  .account-dashboard__aside,
  .account-order-aside,
  .account-password-card {
    position: sticky;
    top: 7rem;
  }

  .account-order-card {
    padding: 1rem;
  }

}

@media screen and (min-width: 80rem) {
  .admin-customer-row {
    grid-template-columns: 2.65rem minmax(12rem, 1fr) minmax(19rem, 1.15fr) auto;
  }

  .admin-customer-row__facts,
  .admin-customer-row > .button {
    grid-column: auto;
  }

  .admin-customer-row > .button {
    width: auto;
  }

  .admin-customer-orders article {
    grid-template-columns: minmax(0, 1fr) auto auto auto;
  }

  .admin-customer-orders .button {
    grid-column: auto;
  }

  .admin-customer-detail__grid {
    grid-template-columns: minmax(0, 1.45fr) minmax(19rem, 0.65fr);
    align-items: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .account-auth *,
  .account-dashboard *,
  .account-order-page *,
  .account-profile-page * {
    scroll-behavior: auto;
    transition-duration: 0.01ms !important;
  }
}

@media screen {
  .shop-ritual-note,
  .product-ritual {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.9rem;
    border: 1px solid #dec9ad;
    border-radius: 1rem;
    background: linear-gradient(135deg, #fffaf2, #f5e8d7);
    box-shadow: 0 0.8rem 2rem rgb(87 63 40 / 0.06);
  }

  .shop-ritual-note {
    max-width: 52rem;
    padding: clamp(1rem, 3vw, 1.4rem);
    margin: 0 0 clamp(1.5rem, 4vw, 2.5rem);
  }

  .shop-ritual-note__icon,
  .product-ritual > span {
    display: inline-grid;
    width: 2.85rem;
    height: 2.85rem;
    place-items: center;
    border-radius: 0.85rem;
    background: #ead6b8;
    color: #765227;
  }

  .shop-ritual-note__icon .icon,
  .product-ritual > span .icon {
    width: 1.25rem;
    height: 1.25rem;
  }

  .shop-ritual-note .eyebrow {
    margin-bottom: 0.3rem;
  }

  .shop-ritual-note h2 {
    margin-bottom: 0.35rem;
    font-size: clamp(1.45rem, 3vw, 2rem);
  }

  .shop-ritual-note p:last-child,
  .product-ritual p {
    margin: 0;
    color: var(--color-text-muted);
  }

  .product-ritual {
    padding: 1rem;
  }

  .product-ritual strong {
    display: block;
    margin-bottom: 0.2rem;
    color: var(--color-text);
  }

  .product-ritual p {
    font-size: 0.9rem;
    line-height: 1.55;
  }
}

@media screen {
  .order-success-page,
  .order-tracking-page {
    background:
      radial-gradient(circle at 8% 0%, rgb(226 203 173 / 0.28), transparent 24rem),
      linear-gradient(180deg, #fbf7f1 0%, #f7f1e9 100%);
  }

  .order-success-card {
    display: grid;
    justify-items: center;
    gap: 1rem;
    padding: clamp(1.25rem, 5vw, 2.5rem);
    border: 1px solid #dfd2c2;
    border-radius: 1.25rem;
    background: rgb(255 253 249 / 0.94);
    box-shadow: 0 1.1rem 3rem rgb(74 55 37 / 0.08);
    text-align: center;
  }

  .order-success-card h1,
  .order-success-card p {
    margin: 0;
  }

  .order-success-card h1 {
    font-size: clamp(2.5rem, 8vw, 4.25rem);
  }

  .order-success-card > .lead {
    max-width: 39rem;
  }

  .order-success-card__notice,
  .order-success-card__summary {
    width: 100%;
    text-align: left;
  }

  .order-success-card__notice {
    margin: 0;
  }

  .order-success-card__notice h2 {
    font-size: 1.05rem;
  }

  .order-success-card__actions {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
  }

  .order-tracking-shell {
    display: grid;
    gap: clamp(1rem, 3vw, 1.5rem);
    max-width: 74rem;
  }

  .tracking-hero {
    display: grid;
    grid-template-columns: 3.25rem minmax(0, 1fr);
    gap: 0.85rem;
    align-items: center;
    padding: clamp(1.15rem, 4vw, 2rem);
    border: 1px solid #dac8b2;
    border-radius: 1.25rem;
    background: linear-gradient(135deg, #fffdf9, #f2e6d7);
    box-shadow: 0 0.8rem 2.25rem rgb(70 51 34 / 0.07);
  }

  .tracking-hero--cancelled {
    border-color: #e4c1bb;
    background: linear-gradient(135deg, #fffdfb, #faece8);
  }

  .tracking-hero__icon,
  .tracking-card__icon {
    display: grid;
    width: 3.25rem;
    height: 3.25rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 0.9rem;
    background: #ead9c3;
    color: #75532d;
  }

  .tracking-hero__icon .icon,
  .tracking-card__icon .icon {
    width: 1.45rem;
    height: 1.45rem;
  }

  .tracking-hero h1,
  .tracking-hero p {
    margin: 0;
  }

  .tracking-hero h1 {
    margin-block: 0.1rem 0.25rem;
    font-size: clamp(2.25rem, 7vw, 4rem);
    line-height: 0.98;
  }

  .tracking-hero > div:nth-child(2) > p:last-child {
    max-width: 44rem;
    color: #62584f;
  }

  .tracking-reference {
    display: grid;
    grid-column: 2;
    justify-self: start;
    gap: 0.05rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid #d7c3aa;
    border-radius: 0.65rem;
    background: rgb(255 255 255 / 0.58);
  }

  .tracking-reference span {
    color: #71665c;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .tracking-reference strong,
  .tracking-code {
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
  }

  .tracking-progress {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    padding: 0;
    margin: 0;
    list-style: none;
  }

  .tracking-progress li {
    display: flex;
    min-height: 4rem;
    align-items: center;
    gap: 0.65rem;
    padding: 0.7rem;
    border: 1px solid #e0d6ca;
    border-radius: 0.85rem;
    background: #fffdf9;
    color: #81766c;
  }

  .tracking-progress li > span {
    display: grid;
    width: 2.4rem;
    height: 2.4rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 0.65rem;
    background: #f2ece5;
  }

  .tracking-progress li .icon {
    width: 1.15rem;
    height: 1.15rem;
  }

  .tracking-progress li strong {
    font-size: 0.85rem;
  }

  .tracking-progress li.is-complete {
    border-color: #b9d0c0;
    background: #f1f7f3;
    color: #315f47;
  }

  .tracking-progress li.is-current {
    border-color: #c9995b;
    background: #fff7eb;
    color: #63471f;
    box-shadow: inset 0 0 0 1px rgb(201 153 91 / 0.18);
  }

  .order-tracking-grid {
    display: grid;
    gap: 1rem;
  }

  .tracking-card,
  .tracking-history,
  .tracking-help {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dfd4c8;
    border-radius: 1rem;
    background: #fffdf9;
    box-shadow: 0 0.35rem 1.25rem rgb(74 55 37 / 0.045);
  }

  .tracking-card--highlight {
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
    padding: clamp(1rem, 3vw, 1.4rem);
    border-color: #cdb28d;
    background: #fff8ed;
  }

  .tracking-card--highlight h2,
  .tracking-card--highlight p {
    margin: 0;
  }

  .tracking-card--highlight h2 {
    margin: 0.1rem 0 0.5rem;
    font-size: clamp(1.45rem, 4vw, 2rem);
  }

  .tracking-card--highlight p + p {
    margin-top: 0.25rem;
  }

  .tracking-card--highlight .button {
    margin-top: 0.9rem;
  }

  .tracking-card__heading {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
  }

  .tracking-card__heading h2,
  .tracking-card__heading p {
    margin: 0;
  }

  .tracking-card__heading h2 {
    margin-top: 0.1rem;
    font-size: clamp(1.4rem, 4vw, 1.8rem);
  }

  .tracking-card__icon {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.75rem;
  }

  .tracking-card__icon .icon {
    width: 1.25rem;
    height: 1.25rem;
  }

  .tracking-items {
    display: grid;
    gap: 0.5rem;
    padding: 0 1rem 1rem;
  }

  .tracking-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.55rem;
    padding: 0.75rem;
    border-radius: 0.7rem;
    background: #f8f2ea;
  }

  .tracking-item__quantity {
    color: #77562f;
    font-size: 0.78rem;
    font-weight: 800;
  }

  .tracking-item strong {
    font-size: 0.9rem;
  }

  .tracking-item > span:last-child {
    font-size: 0.85rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }

  .tracking-totals {
    display: grid;
    padding: 0.85rem 1rem;
    margin: 0;
    border-top: 1px solid #e4dbd1;
  }

  .tracking-totals > div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.25rem 0;
  }

  .tracking-totals dt {
    color: #6f655c;
  }

  .tracking-totals dd {
    margin: 0;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
  }

  .tracking-totals__total {
    margin-top: 0.35rem;
    padding-top: 0.65rem !important;
    border-top: 1px solid #d9cab8;
    font-size: 1.05rem;
  }

  .tracking-payment-note,
  .tracking-privacy {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    margin: 0;
    border-top: 1px solid #e4dbd1;
    background: #fbf7f2;
    color: #685f57;
    font-size: 0.78rem;
    line-height: 1.5;
  }

  .tracking-payment-note .icon,
  .tracking-privacy .icon {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    margin-top: 0.1rem;
  }

  .tracking-address {
    display: grid;
    gap: 0.2rem;
    min-height: 7rem;
    padding: 0 1rem 1rem 4.5rem;
    font-style: normal;
    line-height: 1.55;
  }

  .tracking-address span:first-child {
    color: #342d28;
    font-size: 1.05rem;
    font-weight: 700;
  }

  .tracking-history {
    padding: clamp(1rem, 3vw, 1.4rem);
  }

  .tracking-history > h2,
  .tracking-history > p {
    margin: 0;
  }

  .tracking-history > h2 {
    margin-top: 0.15rem;
    font-size: clamp(1.55rem, 4vw, 2.15rem);
  }

  .tracking-history ol {
    display: grid;
    gap: 0.75rem;
    padding: 1rem 0 0;
    margin: 0;
    list-style: none;
  }

  .tracking-history li {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: 0.7rem;
  }

  .tracking-history li > span {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius: 50%;
    background: #e7f1eb;
    color: #315f47;
  }

  .tracking-history li > span .icon {
    width: 1rem;
    height: 1rem;
  }

  .tracking-history li strong,
  .tracking-history li p,
  .tracking-history li time {
    display: block;
    margin: 0;
  }

  .tracking-history li p {
    margin-top: 0.1rem;
    color: #685f57;
    font-size: 0.85rem;
  }

  .tracking-history li time {
    margin-top: 0.2rem;
    color: #7c7168;
    font-size: 0.72rem;
  }

  .tracking-help {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 1rem;
  }

  .tracking-help > div {
    display: flex;
    min-width: min(100%, 24rem);
    flex: 1 1 24rem;
    align-items: flex-start;
    gap: 0.65rem;
  }

  .tracking-help > div > .icon {
    width: 1.35rem;
    height: 1.35rem;
    flex: 0 0 auto;
    color: #80613c;
  }

  .tracking-help p,
  .tracking-help strong,
  .tracking-help span {
    display: block;
    margin: 0;
  }

  .tracking-help span {
    margin-top: 0.15rem;
    color: #685f57;
    font-size: 0.85rem;
  }
}

@media screen and (min-width: 42rem) {
  .tracking-hero {
    grid-template-columns: 3.5rem minmax(0, 1fr) auto;
  }

  .tracking-reference {
    grid-column: auto;
    justify-self: end;
  }

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

  .order-tracking-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(16rem, 0.65fr);
    align-items: stretch;
  }

  .tracking-address {
    padding-left: 4.5rem;
  }
}

@media screen and (max-width: 31rem) {
  .order-success-card__actions .button,
  .tracking-card--highlight .button,
  .tracking-help .button {
    width: 100%;
  }

  .tracking-card--highlight {
    display: grid;
  }

  .tracking-address {
    min-height: 0;
    padding-left: 1rem;
  }

  .tracking-item {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .tracking-item > span:last-child {
    grid-column: 2;
  }
}

@media screen {
  body:not(.admin-body) {
    background: var(--color-background);
  }

  body:not(.admin-body) main {
    position: relative;
    overflow-x: clip;
    isolation: isolate;
  }

  body:not(.admin-body) h1,
  body:not(.admin-body) h2,
  body:not(.admin-body) h3 {
    font-weight: 500;
    letter-spacing: -0.035em;
  }

  body:not(.admin-body) h1 {
    max-width: 12ch;
    font-size: clamp(3.15rem, 11vw, 6rem);
    line-height: 0.91;
  }

  body:not(.admin-body) h2 {
    font-size: clamp(2.35rem, 7vw, 4.4rem);
    line-height: 0.98;
  }

  body:not(.admin-body) h3 {
    line-height: 1.02;
  }

  body:not(.admin-body) .site-container,
  body:not(.admin-body) .container {
    width: min(100% - 2.25rem, var(--container));
  }

  body:not(.admin-body) .container--narrow,
  body:not(.admin-body) .narrow,
  body:not(.admin-body) .legal-content {
    width: min(100% - 2.25rem, var(--container-narrow));
  }

  .demo-banner,
  .site-notice {
    padding-block: 0.55rem;
    border: 0;
    background: #d8c28f;
    color: #3a2c1b;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.055em;
    text-transform: uppercase;
  }

  .site-header {
    border-bottom: 0;
    background: rgb(248 240 230 / 0.985);
  }

  .site-header::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 1px;
    background: #cdb58f;
    content: "";
    opacity: 0.65;
  }

  .site-header__inner,
  .header-inner {
    position: relative;
    min-height: 4.75rem;
  }

  .site-logo {
    width: auto;
    height: 4.3rem;
    min-height: 0;
    overflow: hidden;
  }

  .site-logo img {
    width: auto;
    height: 100%;
    max-height: none;
    filter: sepia(10%) saturate(116%) brightness(78%) contrast(120%);
    object-fit: contain;
    object-position: left center;
  }

  .menu-toggle,
  .nav-toggle {
    width: 3rem;
    min-width: 3rem;
    height: 3rem;
    border-color: #9a7957;
    border-radius: 0;
    color: #49382f;
    transition: background-color var(--transition), border-color var(--transition), color var(--transition);
  }

  .menu-toggle:hover,
  .nav-toggle:hover {
    border-color: #b9925f;
    background: #eadbc7;
    color: #382a23;
  }

  .site-nav,
  .mobile-menu {
    border-bottom: 1px solid #cdb58f;
    background: #f8f0e6;
    box-shadow: 0 0.35rem 0 #ddccb5;
  }

  .site-nav a,
  .nav-link {
    position: relative;
    border-radius: 0;
    color: #49382f;
    font-size: 0.84rem;
    letter-spacing: 0.075em;
    text-transform: uppercase;
  }

  .site-nav a::after,
  .nav-link::after {
    position: absolute;
    right: 0.5rem;
    bottom: 0.45rem;
    left: 0.5rem;
    height: 1px;
    background: currentcolor;
    content: "";
    opacity: 0;
    transform: scaleX(0.35);
    transform-origin: left;
    transition: opacity var(--transition), transform var(--transition);
  }

  .site-nav a:hover,
  .site-nav a[aria-current="page"],
  .nav-link:hover,
  .nav-link.is-active {
    background: transparent;
    color: #765227;
  }

  .site-nav a:hover::after,
  .site-nav a[aria-current="page"]::after,
  .nav-link:hover::after,
  .nav-link.is-active::after {
    opacity: 1;
    transform: scaleX(1);
  }

  .cart-count {
    min-width: 1.65rem;
    height: 1.65rem;
    border: 1px solid #765227;
    border-radius: 50%;
    background: #765227;
    color: #fffaf2;
  }

  .eyebrow,
  .overline {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    color: var(--color-accent-hover);
    font-family: var(--font-body);
    font-size: 0.72rem;
    letter-spacing: 0.19em;
  }

  .eyebrow::before,
  .overline::before {
    width: 2.35rem;
    height: 1px;
    flex: 0 0 auto;
    background: var(--color-accent);
    content: "";
  }

  .lead {
    color: #594e45;
    font-size: clamp(1.08rem, 2vw, 1.32rem);
    line-height: 1.72;
  }

  .section {
    padding-block: clamp(4.75rem, 10vw, 9rem);
  }

  .section--compact {
    padding-block: clamp(2.75rem, 6vw, 5.5rem);
  }

  .section--surface,
  .surface-section {
    position: relative;
    overflow: hidden;
    border-block: 1px solid #cdbca7;
    background: #e9dfd2;
    isolation: isolate;
  }

  .section--surface::before,
  .surface-section::before {
    position: absolute;
    z-index: -1;
    top: 11%;
    right: -9rem;
    width: 34rem;
    height: 10rem;
    border: 0;
    border-top: 1px solid rgb(159 113 50 / 0.38);
    border-radius: 50%;
    content: "";
    transform: rotate(-8deg);
  }

  .section--surface::after,
  .surface-section::after {
    position: absolute;
    z-index: -1;
    right: 13%;
    bottom: 18%;
    width: 0.48rem;
    height: 0.48rem;
    border: 0;
    border-radius: 50%;
    background: var(--color-accent);
    box-shadow: 1.45rem 0.35rem 0 -0.06rem #7e6040, 2.85rem 0.9rem 0 -0.12rem #b8945f;
    content: "";
    transform: rotate(-5deg);
  }

  .section--manifesto {
    padding-block: clamp(3.4rem, 6.25vw, 6.2rem);
  }

  .section-heading {
    display: grid;
    max-width: none;
    gap: 1.5rem;
    margin-bottom: clamp(3rem, 7vw, 5.5rem);
  }

  .section-heading > div {
    max-width: 49rem;
  }

  .section-heading > a {
    position: relative;
    width: fit-content;
    align-self: end;
    padding: 0.6rem 2.8rem 0.6rem 0;
    font-size: 0.88rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-decoration: none;
  }

  .section-heading > a::after {
    position: absolute;
    right: 0;
    bottom: 0.95rem;
    width: 2.2rem;
    height: 1px;
    background: currentcolor;
    content: "";
    transition: width var(--transition);
  }

  .section-heading > a:hover::after {
    width: 2.75rem;
  }

  .section-heading--center {
    position: relative;
    margin-inline: auto;
    text-align: left;
  }

  .section-heading--center::after {
    display: block;
    width: 5rem;
    height: 1px;
    margin-top: 1.5rem;
    background: var(--color-accent);
    content: "";
  }

  .hero {
    position: relative;
    min-height: auto;
    gap: 3.75rem;
    padding-block: clamp(3rem, 4.5vw, 6.5rem);
    isolation: isolate;
  }

  .hero::before {
    position: absolute;
    z-index: -1;
    top: 13%;
    left: -8rem;
    width: 27rem;
    height: 9rem;
    border: 0;
    border-top: 1px solid rgb(159 113 50 / 0.36);
    border-radius: 50%;
    content: "";
    transform: rotate(-11deg);
  }

  .hero::after {
    position: absolute;
    z-index: -1;
    top: 24%;
    left: 18%;
    width: 0.48rem;
    height: 0.48rem;
    border-radius: 50%;
    background: var(--color-accent);
    box-shadow: 1.65rem 0.55rem 0 -0.06rem #76593b, 3.2rem 1.15rem 0 -0.13rem #b18b58;
    content: "";
    transform: rotate(18deg);
  }

  .hero__content {
    max-width: 45rem;
  }

  .hero__content h1 {
    margin-bottom: 1.6rem;
  }

  .hero__content .lead {
    max-width: 38rem;
    margin-bottom: 1.7rem;
  }

  .hero__media {
    width: min(91%, 37rem);
    margin-left: auto;
    isolation: isolate;
    transform: rotate(1.4deg);
  }

  .hero__media::before {
    z-index: -1;
    inset: -1rem 1.2rem 1.25rem -1rem;
    border: 1px solid var(--color-accent);
    border-radius: 0;
    transform: rotate(-2.5deg);
  }

  .hero__media::after {
    position: absolute;
    z-index: -1;
    right: -2rem;
    bottom: -1.8rem;
    width: 8rem;
    height: 3.5rem;
    border: 0;
    border-top: 1px solid var(--color-primary);
    border-radius: 50%;
    content: "";
    transform: rotate(16deg);
  }

  .hero__media img {
    aspect-ratio: 4 / 4.7;
    border-radius: 0;
    box-shadow: 0.8rem 0.8rem 0 #d8c5ae;
    clip-path: polygon(0 0, 91% 0, 100% 8%, 100% 100%, 12% 100%, 0 88%);
  }

  .button-row,
  .actions {
    gap: 0.9rem;
  }

  .button,
  .btn {
    min-height: 3.15rem;
    padding: 0.75rem 1.3rem;
    border-color: var(--color-primary);
    border-radius: 0;
    box-shadow: 0.25rem 0.25rem 0 #c8ab79;
    font-size: 0.84rem;
    letter-spacing: 0.055em;
    text-transform: uppercase;
    transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition);
  }

  .button:hover,
  .btn:hover {
    box-shadow: 0.4rem 0.4rem 0 #c8ab79;
    transform: translate(-0.12rem, -0.12rem);
  }

  .button:active,
  .btn:active {
    box-shadow: 0.1rem 0.1rem 0 #c8ab79;
    transform: translate(0.1rem, 0.1rem);
  }

  .button--outline,
  .button--secondary,
  .btn-secondary {
    background: var(--color-background);
    box-shadow: inset 0 -0.2rem 0 #d7bf94;
  }

  .button--outline:hover,
  .button--secondary:hover,
  .btn-secondary:hover {
    background: var(--color-surface);
    box-shadow: inset 0 -0.35rem 0 #d7bf94;
  }

  .button--editorial {
    padding-inline: 0.15rem;
    border: 0;
    border-bottom: 1px solid currentcolor;
    background: transparent;
    box-shadow: none;
    color: var(--color-primary);
  }

  .button--editorial:hover,
  .button--editorial:active {
    background: transparent;
    box-shadow: none;
    color: var(--color-accent-hover);
    transform: none;
  }

  .button--quiet,
  .btn-quiet {
    box-shadow: none;
  }

  .button--quiet:hover,
  .btn-quiet:hover {
    box-shadow: none;
  }

  .product-grid,
  .cards-grid,
  .feature-grid {
    gap: 3.5rem 1.75rem;
  }

  .product-card {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .product-card:hover {
    border-color: transparent;
    box-shadow: none;
  }

  .product-card__media {
    position: relative;
    overflow: visible;
    background: transparent;
    isolation: isolate;
  }

  .product-card__media::after {
    position: absolute;
    z-index: -1;
    inset: 0.7rem -0.7rem -0.7rem 0.7rem;
    border: 1px solid rgb(159 113 50 / 0.7);
    content: "";
    transition: transform 260ms ease;
  }

  .product-card:nth-child(even) .product-card__media::after {
    inset: 0.7rem 0.7rem -0.7rem -0.7rem;
  }

  .product-card:hover .product-card__media::after {
    transform: translate(0.18rem, 0.18rem);
  }

  .product-card__media img {
    aspect-ratio: 4 / 5;
    clip-path: polygon(0 0, 92% 0, 100% 8%, 100% 100%, 0 100%);
  }

  .product-card:nth-child(even) .product-card__media img {
    clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%, 0 8%);
  }

  .product-card__body {
    padding: 1.7rem 0.25rem 0;
  }

  .product-card__body .eyebrow {
    margin-bottom: 0.55rem;
  }

  .product-card__body .eyebrow::before {
    width: 1.4rem;
  }

  .product-card__title {
    margin-bottom: 0.65rem;
    font-size: clamp(1.9rem, 3vw, 2.5rem);
  }

  .product-card__description {
    line-height: 1.65;
  }

  .product-card__footer {
    padding-top: 1.25rem;
    border-top: 1px solid var(--color-border);
  }

  .product-card__footer .button {
    min-height: 2.75rem;
    border: 0;
    border-bottom: 1px solid currentcolor;
    background: transparent;
    box-shadow: none;
    color: var(--color-primary);
  }

  .product-card__footer .button:hover {
    background: transparent;
    box-shadow: none;
    color: var(--color-accent-hover);
  }

  .price {
    font-family: var(--font-heading);
    font-size: 1.45rem;
    font-weight: 600;
  }

  .service-card,
  .guidance-card,
  .form-card {
    border-radius: 0;
  }

  .service-card {
    position: relative;
    overflow: hidden;
    border: 0;
    background: var(--color-primary);
    color: #f9f1e7;
    box-shadow: 0.9rem 0.9rem 0 #c7aa79;
    isolation: isolate;
  }

  .service-card::after {
    position: absolute;
    z-index: -1;
    right: -4rem;
    bottom: 0.4rem;
    width: 18rem;
    height: 6rem;
    border: 0;
    border-top: 1px solid rgb(255 250 242 / 0.26);
    border-radius: 50%;
    content: "";
    transform: rotate(-17deg);
  }

  .service-card h2,
  .service-card p,
  .service-card .eyebrow {
    color: inherit;
  }

  .service-card .eyebrow::before {
    background: #d8bd88;
  }

  .service-card__price {
    color: #e6cc98;
    font-size: 3.25rem;
  }

  .service-card .button {
    border-color: #fffaf2;
    background: #fffaf2;
    color: var(--color-primary);
  }

  .quote-card {
    position: relative;
    align-self: center;
    padding: clamp(2rem, 6vw, 4rem);
    border: 1px solid var(--color-border-strong);
    border-left: 1px solid var(--color-border-strong);
    border-radius: 0;
    background: var(--color-surface);
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.65;
    box-shadow: -0.7rem 0.7rem 0 #d7c5af;
  }

  .quote-card::before {
    position: absolute;
    top: -2rem;
    right: 1.5rem;
    color: rgb(159 113 50 / 0.28);
    content: "\201C";
    font-family: Georgia, serif;
    font-size: 9rem;
    line-height: 1;
  }

  .quote-card h2 {
    position: relative;
  }

  .guidance-card {
    position: relative;
    border: 0;
    border-left: 0.3rem solid var(--color-accent);
    background: #ded0bd;
  }

  .guidance-card::after {
    position: absolute;
    right: 1.2rem;
    bottom: 1.2rem;
    width: 0.55rem;
    height: 0.55rem;
    border: 0;
    border-radius: 50%;
    background: var(--color-accent);
    box-shadow: 1.4rem -0.35rem 0 -0.08rem #795d3d, 2.7rem -0.65rem 0 -0.15rem #a88455;
    content: "";
  }

  .guidance-card__price {
    font-size: 3rem;
  }

  .form-card {
    border-color: var(--color-border-strong);
    box-shadow: 0.65rem 0.65rem 0 #d9c8b3;
  }

  .form-card h2 {
    font-size: clamp(2rem, 5vw, 3rem);
  }

  .intention {
    position: relative;
    padding: 1.75rem 1.75rem 1.75rem 2.25rem;
    border: 0;
    border-left: 1px solid var(--color-accent);
    border-radius: 0;
    background: transparent;
    font-size: clamp(1.45rem, 3vw, 1.85rem);
    font-style: italic;
  }

  .intention::before {
    position: absolute;
    top: 0.5rem;
    left: 0.55rem;
    color: var(--color-accent);
    content: "\201C";
    font-size: 2.5rem;
  }

  .gallery__main,
  .product-gallery__main {
    position: relative;
    overflow: visible;
    border-radius: 0;
    isolation: isolate;
  }

  .gallery__main::after,
  .product-gallery__main::after {
    position: absolute;
    z-index: -1;
    inset: 0.85rem -0.85rem -0.85rem 0.85rem;
    border: 1px solid var(--color-accent);
    content: "";
  }

  .gallery__main img,
  .product-gallery__main img,
  [data-gallery-main] {
    clip-path: polygon(0 0, 92% 0, 100% 8%, 100% 100%, 0 100%);
  }

  .gallery__thumb,
  .product-gallery__thumb,
  [data-gallery-thumb] {
    border-radius: 0;
  }

  .product-info {
    position: relative;
  }

  .product-info::before {
    position: absolute;
    top: -1.1rem;
    right: -2rem;
    width: 8rem;
    height: 3rem;
    border: 0;
    border-top: 1px solid rgb(159 113 50 / 0.34);
    border-radius: 50%;
    content: "";
    pointer-events: none;
  }

  .product-info__price {
    color: var(--color-accent-hover);
    font-family: var(--font-heading);
    font-size: 2rem;
  }

  .product-meta {
    border-color: var(--color-border-strong);
  }

  .breadcrumbs {
    border-bottom: 1px solid var(--color-border);
    font-size: 0.78rem;
    letter-spacing: 0.035em;
  }

  .steps:not(.checkout-steps) {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    counter-reset: octalya-step;
  }

  .steps:not(.checkout-steps) li {
    display: grid;
    grid-template-columns: 3.5rem minmax(0, 1fr);
    gap: 0.15rem 1rem;
    padding: 1.35rem 0;
    border-top: 1px solid var(--color-border-strong);
    color: var(--color-text);
    text-align: left;
    counter-increment: octalya-step;
  }

  .steps:not(.checkout-steps) li::before {
    position: static;
    grid-row: 1 / span 2;
    width: auto;
    height: auto;
    place-items: start;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--color-accent-hover);
    content: "0" counter(octalya-step);
    font-family: var(--font-heading);
    font-size: 2.25rem;
    line-height: 1;
    transform: none;
  }

  .steps:not(.checkout-steps) li::after {
    display: none;
  }

  .steps:not(.checkout-steps) strong,
  .steps:not(.checkout-steps) span {
    grid-column: 2;
  }

  .steps:not(.checkout-steps) strong {
    font-family: var(--font-heading);
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.2;
  }

  .steps:not(.checkout-steps) span {
    color: var(--color-text-muted);
    font-size: 0.92rem;
    line-height: 1.55;
  }

  .checkout-steps li::before {
    background: var(--color-background);
  }

  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
  select,
  textarea {
    min-height: 3.15rem;
    border-color: var(--color-border-strong);
    border-radius: 0;
    background: #fffaf2;
  }

  fieldset,
  .alert,
  [data-alert],
  .empty-state,
  .order-summary,
  .cart-summary,
  .cart-item,
  .legal-nav {
    border-radius: 0;
  }

  .order-summary,
  .cart-summary {
    border-color: var(--color-border-strong);
    box-shadow: 0.55rem 0.55rem 0 #dccbb6;
  }

  .disclaimer,
  .notice-box {
    border-left-width: 1px;
    background: #e9dfd2;
  }

  .site-footer {
    position: relative;
    overflow: hidden;
    padding-block: clamp(4rem, 8vw, 6rem) 1.5rem;
    border-top: 0.35rem solid #c3a679;
    background: #e9dfd2;
    color: #49382f;
    isolation: isolate;
  }

  .site-footer::before {
    position: absolute;
    z-index: -1;
    top: 2rem;
    right: -7rem;
    width: 31rem;
    height: 9rem;
    border: 0;
    border-top: 1px solid rgb(118 82 39 / 0.2);
    border-radius: 50%;
    content: "";
    transform: rotate(-12deg);
  }

  .site-footer p,
  .site-footer a,
  .site-footer .footer-bottom {
    color: inherit;
  }

  .site-footer a {
    text-decoration-color: rgb(73 56 47 / 0.4);
  }

  .footer-title {
    color: #765227;
    font-size: 1.65rem;
  }

  .footer-bottom {
    border-color: rgb(73 56 47 / 0.22);
  }

  .footer-bottom a {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
  }
}

@media screen and (min-width: 40rem) {
  body:not(.admin-body) .site-container,
  body:not(.admin-body) .container {
    width: min(100% - 4rem, var(--container));
  }

  body:not(.admin-body) .container--narrow,
  body:not(.admin-body) .narrow,
  body:not(.admin-body) .legal-content {
    width: min(100% - 4rem, var(--container-narrow));
  }

  .section-heading {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
  }

  .steps:not(.checkout-steps) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 2rem;
  }
}

@media screen and (min-width: 48rem) {
  .feature-grid {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
    gap: clamp(2.5rem, 7vw, 6rem);
  }

  .product-detail {
    grid-template-columns: minmax(0, 1.08fr) minmax(20rem, 0.92fr);
  }

  .product-info {
    padding-top: 1.5rem;
  }
}

@media screen and (min-width: 48rem) and (max-width: 63.99rem) {
  .product-meta {
    grid-template-columns: 1fr;
  }

  .product-meta > div + div {
    border-top: 1px solid #dfd0be;
    border-left: 0;
  }
}

@media screen and (min-width: 64rem) {
  .hero {
    grid-template-columns: minmax(0, 1.13fr) minmax(19rem, 0.87fr);
    gap: clamp(3rem, 7vw, 6.5rem);
  }

  .hero__content {
    padding-left: clamp(0rem, 3vw, 2rem);
  }

  .hero__media {
    width: 100%;
  }

  .site-header__inner,
  .header-inner {
    min-height: 6rem;
  }

  .site-logo {
    width: auto;
    height: 5.5rem;
  }

  .site-nav ul,
  .nav-list {
    gap: 0.3rem;
  }

  .site-nav a,
  .nav-link {
    padding-inline: 0.7rem;
    font-size: 0.76rem;
  }

  .product-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 5.75rem 2.75rem;
  }

  .product-grid .product-card {
    grid-column: span 5;
  }

  .product-grid .product-card:nth-child(4n + 1),
  .product-grid .product-card:nth-child(4n + 4) {
    grid-column: span 7;
  }

  .product-grid .product-card:nth-child(even) {
    padding-top: 3.5rem;
  }

  .product-grid .product-card:nth-child(4n + 1) .product-card__media img,
  .product-grid .product-card:nth-child(4n + 4) .product-card__media img {
    aspect-ratio: 4 / 5;
  }

  .steps:not(.checkout-steps) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.75rem;
  }

  .steps:not(.checkout-steps) li {
    grid-template-columns: 1fr;
    align-content: start;
  }

  .steps:not(.checkout-steps) li::before {
    grid-row: auto;
    margin-bottom: 1.35rem;
  }

  .steps:not(.checkout-steps) strong,
  .steps:not(.checkout-steps) span {
    grid-column: 1;
  }
}

@media screen and (min-width: 80rem) {
  .hero {
    min-height: min(48rem, calc(100dvh - 7.5rem));
  }

  .hero__media {
    transform: rotate(1.4deg);
  }
}

@media screen and (max-width: 30rem) {
  .button-row .button,
  .actions .button {
    width: 100%;
  }

  .button-row .button--editorial {
    width: fit-content;
    justify-content: flex-start;
  }

  .product-card__footer {
    align-items: flex-end;
  }

  .product-card__footer .button {
    width: auto;
    padding-inline: 0;
  }

  .hero__media::after {
    right: -1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .button:hover,
  .btn:hover,
  .button:active,
  .btn:active,
  .hero__media,
  .product-card__media::after {
    transform: none;
  }
}

@media screen {
  .toast-region {
    top: 8.5rem;
  }

  .toast-region .alert {
    border-radius: 0.9rem;
  }

  body:not(.admin-body) h1 {
    max-width: 14ch;
    font-size: clamp(3rem, 8vw, 5rem);
    line-height: 0.94;
  }

  body:not(.admin-body) h2 {
    font-size: clamp(2rem, 5vw, 3.5rem);
    line-height: 1;
  }

  body:not(.admin-body) .hero h1 {
    max-width: 11ch;
    font-size: clamp(3.5rem, 8vw, 6rem);
    line-height: 0.91;
  }

  body:not(.admin-body) .shop-intro h1 {
    max-width: 11ch;
    font-size: clamp(3.4rem, 8vw, 5.5rem);
    line-height: 0.93;
  }

  body:not(.admin-body) .cart-page h1 {
    max-width: 14ch;
    font-size: clamp(3rem, 6vw, 4.8rem);
    line-height: 0.96;
  }

  body:not(.admin-body) .cart-panel__header h2,
  body:not(.admin-body) .cart-summary__header h2,
  body:not(.admin-body) .checkout-summary__header h2 {
    max-width: 100%;
    font-size: clamp(1.75rem, 3vw, 2.4rem);
    line-height: 1;
  }

  body:not(.admin-body) .checkout-panel__header h1 {
    max-width: 17ch;
    font-size: clamp(2.7rem, 5.2vw, 4.25rem);
    line-height: 0.96;
  }

  body:not(.admin-body) .feature-grid h1 {
    max-width: 12ch;
    font-size: clamp(3rem, 6vw, 4.8rem);
    line-height: 0.96;
  }

  body:not(.admin-body) .feature-grid .form-card h2 {
    max-width: 14ch;
    font-size: clamp(2rem, 4vw, 3.5rem);
    line-height: 1;
  }

  body:not(.admin-body) .simulation-notice h2 {
    max-width: 18ch;
    font-size: clamp(1.8rem, 3.4vw, 2.8rem);
    line-height: 1;
  }

  body:not(.admin-body) .simulation-next h2 {
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    line-height: 1.05;
  }

  body:not(.admin-body) .form-card h1,
  body:not(.admin-body) .empty-state h1 {
    max-width: 16ch;
    font-size: clamp(2.6rem, 5vw, 4.25rem);
    line-height: 0.97;
  }

  .contact-points {
    display: grid;
    gap: 0;
    padding: 0;
    margin: 1rem 0 0;
    border-top: 1px solid var(--color-border-strong);
    list-style: none;
  }

  .contact-points li {
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1fr);
    gap: 0.8rem;
    align-items: center;
    padding-block: 1rem;
    border-bottom: 1px solid var(--color-border);
  }

  .contact-points__icon {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border: 1px solid #d7c09f;
    border-radius: 50%;
    background: #f5ead9;
    color: #765227;
  }

  .contact-points strong,
  .contact-points small {
    display: block;
  }

  .contact-points strong {
    margin-bottom: 0.15rem;
    font-size: 0.92rem;
  }

  .contact-points small {
    color: var(--color-text-muted);
    font-size: 0.82rem;
    line-height: 1.5;
  }

  .check-row {
    min-height: 2.75rem;
    align-items: center;
    padding-block: 0.55rem;
  }

  .checkout-progress__copy strong,
  .checkout-summary__product p,
  .checkout-summary__product span {
    font-size: 0.78rem;
  }

  .cart-panel {
    overflow: visible;
  }

  .cart-panel,
  .cart-summary,
  .checkout-panel,
  .checkout-summary {
    min-width: 0;
    border-radius: 1rem;
    box-shadow: var(--shadow-sm);
  }

  .service-card {
    border: 1px solid #d8c8b5;
    border-radius: 1rem;
    background: #fffaf2;
    box-shadow: var(--shadow-sm);
    color: var(--color-text);
  }

  .service-card h2,
  .service-card p,
  .service-card .eyebrow {
    color: inherit;
  }

  .service-card::after {
    border-top-color: rgb(159 113 50 / 0.18);
  }

  .service-card__price {
    color: #765227;
  }

  .service-card .button {
    border-color: #9c6c31;
    background: #c99a55;
    color: #291e15;
  }

  .form-card,
  .quote-card,
  .guidance-card,
  .empty-state,
  .order-summary {
    border: 1px solid #d8c8b5;
    border-radius: 1rem;
    background: #fffaf2;
    box-shadow: var(--shadow-sm);
  }

  .guidance-card {
    border-left: 0.25rem solid #b98543;
    background: #faf2e7;
  }

  .steps:not(.checkout-steps) {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    padding: 0;
    list-style: none;
  }

  .steps:not(.checkout-steps) li {
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1fr);
    gap: 0.2rem 0.85rem;
    align-content: start;
    padding: 1.15rem;
    border: 1px solid #d8c8b5;
    border-radius: 0.9rem;
    background: #fffaf2;
    box-shadow: var(--shadow-sm);
  }

  .steps:not(.checkout-steps) li::before,
  .steps:not(.checkout-steps) li::after {
    display: none;
  }

  .steps:not(.checkout-steps) .steps__icon {
    display: grid;
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border-radius: 50%;
    background: #f1e2cb;
    color: #765227;
  }

  .steps:not(.checkout-steps) strong,
  .steps:not(.checkout-steps) li > span:not(.steps__icon) {
    grid-column: 2;
  }

  .steps:not(.checkout-steps) strong {
    font-size: 1.15rem;
    line-height: 1.25;
  }

  .steps:not(.checkout-steps) li > span:not(.steps__icon) {
    color: var(--color-text-muted);
    font-size: 0.88rem;
    line-height: 1.5;
  }

  .cart-panel__header {
    border-radius: calc(1rem - 1px) calc(1rem - 1px) 0 0;
  }

  .cart-actions {
    border-radius: 0 0 calc(1rem - 1px) calc(1rem - 1px);
  }

  .checkout-fieldset,
  .checkout-consent {
    border-radius: 0.8rem;
  }

  .cart-panel select,
  .checkout-panel input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
  .checkout-panel select,
  .checkout-panel textarea {
    border-radius: 0.6rem;
  }
}

@media screen and (max-width: 47.99rem) {
  .toast-region {
    top: 7.25rem;
  }
}

@media screen and (max-width: 34rem) {
  .cart-item__bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 0.75rem;
  }

  .cart-item__quantity select {
    width: min(100%, 8rem);
  }

  .cart-item__price {
    display: flex;
    width: 100%;
    align-items: baseline;
    justify-content: space-between;
    text-align: left;
  }

  .checkout-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .checkout-panel,
  .checkout-summary {
    width: 100%;
    min-width: 0;
  }
}

@media screen and (min-width: 48rem) and (max-width: 63.99rem) {
  .hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 3rem;
  }

  .hero__content {
    padding-left: 0;
  }

  .hero__media {
    width: min(91%, 37rem);
  }
}

@media screen and (min-width: 40rem) {
  .steps:not(.checkout-steps) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (min-width: 64rem) {
  .steps:not(.checkout-steps) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media screen {
  .site-header {
    position: sticky;
    top: 0;
    z-index: 100;
  }

  .site-logo {
    margin-right: auto;
  }

  .site-header__actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }

  .mobile-cart {
    position: relative;
    display: inline-grid;
    width: 3rem;
    min-width: 3rem;
    height: 3rem;
    place-items: center;
    border: 1px solid #b99669;
    border-radius: 0.75rem;
    background: #fff8ee;
    color: #49382f;
    text-decoration: none;
    transition: background-color var(--transition), border-color var(--transition), color var(--transition);
  }

  .mobile-cart:hover,
  .mobile-cart[aria-current="page"] {
    border-color: #8f6638;
    background: #eadbc7;
    color: #382a23;
  }

  .mobile-cart .icon {
    width: 1.45rem;
    height: 1.45rem;
  }

  .mobile-cart__count {
    position: absolute;
    top: -0.3rem;
    right: -0.3rem;
    display: inline-grid;
    min-width: 1.35rem;
    height: 1.35rem;
    padding-inline: 0.25rem;
    place-items: center;
    border: 2px solid #f8f0e6;
    border-radius: 999px;
    background: #765227;
    color: #fffaf2;
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1;
  }

  .menu-toggle {
    border-radius: 0.75rem;
  }

  .nav-cart-item {
    display: none;
  }

  body:not(.admin-body) .eyebrow::before,
  body:not(.admin-body) .overline::before {
    display: none;
  }

  body:not(.admin-body) .eyebrow--rule::before {
    display: block;
    width: 1.35rem;
    height: 1px;
    flex: 0 0 auto;
    background: var(--color-accent);
    content: "";
  }

  body:not(.admin-body) .product-card__body .eyebrow::before {
    display: block;
    width: 0.38rem;
    height: 0.38rem;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--color-accent);
    content: "";
  }

  .checkout-error-summary {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    align-items: start;
    gap: 0.85rem;
    padding: 1rem;
    border: 1px solid #cf8d82;
    border-radius: 0.75rem;
    background: #fbefec;
    color: #6f2925;
  }

  .checkout-error-summary__icon {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border-radius: 50%;
    background: #f4d6d0;
  }

  body:not(.admin-body) .checkout-error-summary h2 {
    margin-bottom: 0.5rem;
    color: inherit;
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.35;
  }

  .checkout-error-summary ul {
    display: grid;
    gap: 0.3rem;
    padding-left: 1.1rem;
    margin: 0;
  }

  .checkout-error-summary a {
    color: inherit;
    font-size: 0.88rem;
    font-weight: 650;
  }

  .shop-intro--simple {
    display: block;
    max-width: 52rem;
    padding-bottom: clamp(1.75rem, 4vw, 3rem);
    border-bottom: 0;
  }

  .shop-grid + .shop-reassurance {
    margin: clamp(3rem, 7vw, 5rem) 0 1.5rem;
  }

  .product-card--featured .product-card__body {
    align-items: stretch;
  }

  .product-card {
    scroll-margin-top: 7rem;
  }

  .product-card--featured .product-card__price {
    display: flex;
    width: 100%;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1.15rem;
    margin-top: auto;
    margin-bottom: 0.9rem;
  }

  .product-card--featured .product-card__price .price {
    color: var(--color-text);
    font-size: 1.7rem;
  }

  .product-card--featured .product-card__price > span:last-child {
    color: var(--color-text-muted);
    font-size: 0.78rem;
  }

  .product-card--featured .product-card__purchase,
  .product-card--featured .product-card__details {
    width: 100%;
  }

  .product-card--featured .product-card__details {
    justify-content: flex-start;
    width: fit-content;
  }

  .product-card__unavailable {
    display: flex;
    width: 100%;
    min-height: 3rem;
    align-items: center;
    gap: 0.65rem;
    padding: 0.7rem 0.85rem;
    border-radius: 0.65rem;
    background: #f3e7d8;
    color: #6b5140;
    font-size: 0.86rem;
    font-weight: 700;
  }

  .product-card__unavailable .icon {
    flex: 0 0 auto;
  }

  .product-card__footer,
  .product-card--shop .product-card__price {
    border-top: 0;
  }
}

@media screen and (max-width: 39.99rem) {
  .product-card--featured .product-card__purchase,
  .product-card--shop .product-card__purchase {
    grid-template-columns: minmax(0, 1fr);
  }

  .product-card--featured .product-card__add,
  .product-card--shop .product-card__add {
    width: 100%;
  }
}

@media screen and (min-width: 48rem) and (max-width: 63.99rem) {
  .product-grid--featured {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cart-layout--refined,
  .checkout-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .cart-summary,
  .checkout-summary,
  .order-summary {
    position: static;
  }
}

@media screen and (max-width: 63.99rem) {
  .product-card--featured .product-card__purchase {
    grid-template-columns: minmax(0, 1fr);
  }

  .product-card--featured .product-card__add {
    width: 100%;
  }

  .toast-region {
    top: 5.35rem;
  }
}

@media screen and (min-width: 64rem) {
  .site-header__actions {
    display: none;
  }

  .nav-cart-item {
    display: list-item;
  }
}

@media (forced-colors: active) {
  .product-card,
  .product-card__media,
  .service-card,
  .quote-card,
  .guidance-card,
  .form-card,
  .order-summary,
  .cart-summary,
  .gallery__main,
  .product-gallery__main {
    border: 1px solid CanvasText;
  }

  .toast-region .alert {
    border-radius: 0;
  }

  .mobile-cart {
    border: 1px solid CanvasText;
  }

  .product-card__media::after,
  .hero::before,
  .hero::after,
  .hero__media::before,
  .hero__media::after,
  .section--surface::before,
  .section--surface::after,
  .surface-section::before,
  .surface-section::after {
    display: none;
  }
}

@media screen {
  body:not(.admin-body) .hero .button--editorial {
    min-height: 2.875rem;
    padding: 0.65rem 1.15rem;
    border: 1px solid #d7c09f;
    border-bottom-color: #a4783d;
    border-radius: 0.75rem;
    background: #efe2d1;
    box-shadow: 0 0.14rem 0 #ba8b50;
    color: #302721;
  }

  body:not(.admin-body) .hero .button--editorial:hover,
  body:not(.admin-body) .hero .button--editorial:active {
    border-color: #b98a51;
    background: #e5d2ba;
    box-shadow: 0 0.08rem 0 #a77539;
    color: #302721;
  }

  .product-grid--featured {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    gap: clamp(2.75rem, 7vw, 4.5rem) 2rem;
  }

  .product-grid--featured .product-card,
  .product-grid--featured .product-card:nth-child(4n + 1),
  .product-grid--featured .product-card:nth-child(4n + 4) {
    grid-column: auto;
    width: 100%;
    padding-top: 0;
  }

  .product-grid--featured .product-card:nth-child(even) {
    grid-column: auto;
    padding-top: 0;
  }

  .product-grid--featured .product-card__media img,
  .product-grid--featured .product-card:nth-child(even) .product-card__media img,
  .product-grid--featured .product-card:nth-child(4n + 1) .product-card__media img,
  .product-grid--featured .product-card:nth-child(4n + 4) .product-card__media img {
    aspect-ratio: 4 / 5;
  }
}

@media screen and (min-width: 48rem) {
  .product-grid--featured {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (forced-colors: active) {
  .hero .button--editorial {
    border: 1px solid ButtonText;
  }
}

@media screen {
  .admin-body {
    --admin-bg: #f7f3ed;
    --admin-surface: #fffdf9;
    --admin-surface-soft: #f1e9de;
    --admin-text: #342c27;
    --admin-muted: #685f57;
    --admin-accent: #89653d;
    --admin-accent-soft: #eadbc8;
    --admin-border: #ddd1c3;
    --admin-danger: #8d3030;
    --admin-danger-soft: #faece9;
    background: var(--admin-bg);
    color: var(--admin-text);
  }

  .admin-shell {
    display: grid;
    min-height: 100dvh;
    padding-bottom: calc(5.25rem + env(safe-area-inset-bottom));
  }

  .admin-sidebar {
    position: fixed;
    z-index: 120;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 0.4rem max(0.35rem, env(safe-area-inset-right)) max(0.4rem, env(safe-area-inset-bottom)) max(0.35rem, env(safe-area-inset-left));
    border: 0;
    border-top: 1px solid var(--admin-border);
    background: rgb(255 253 249 / 0.97);
    box-shadow: 0 -0.75rem 2rem rgb(63 48 36 / 0.08);
    backdrop-filter: blur(0.75rem);
  }

  .admin-sidebar .admin-sidebar__brand {
    display: none;
  }

  .admin-body .eyebrow::before {
    display: none;
  }

  .admin-sidebar nav ul {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.15rem;
    padding: 0;
    margin: 0;
    overflow: visible;
    list-style: none;
  }

  .admin-sidebar nav li {
    min-width: 0;
  }

  .admin-sidebar nav a {
    position: relative;
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 4.15rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    padding: 0.4rem 0.15rem;
    border-radius: 0.8rem;
    color: var(--admin-muted);
    font-size: 0.75rem;
    font-weight: 650;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    transition: background-color var(--transition), color var(--transition);
  }

  .admin-sidebar nav a:hover,
  .admin-sidebar nav a[aria-current="page"] {
    background: var(--admin-accent-soft);
    color: #59401f;
  }

  .admin-nav__icon {
    width: 1.35rem;
    height: 1.35rem;
    flex: 0 0 auto;
  }

  .admin-nav__badge {
    position: absolute;
    top: 0.25rem;
    left: calc(50% + 0.35rem);
    display: inline-grid;
    min-width: 1.2rem;
    height: 1.2rem;
    padding-inline: 0.25rem;
    place-items: center;
    border: 2px solid var(--admin-surface);
    border-radius: 999px;
    background: var(--admin-danger);
    color: #fff;
    font-size: 0.62rem;
    font-weight: 800;
    line-height: 1;
  }

  .admin-main {
    width: 100%;
    min-width: 0;
    max-width: 94rem;
    padding: 1rem;
    margin-inline: auto;
  }

  .admin-topbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem 1rem;
    padding: 0.75rem;
    margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
    border: 1px solid var(--admin-border);
    border-radius: 1rem;
    background: rgb(255 253 249 / 0.86);
  }

  .admin-topbar > p {
    display: grid;
    gap: 0.05rem;
    margin: 0;
    line-height: 1.35;
  }

  .admin-topbar > p strong {
    color: var(--admin-text);
    font-size: 1rem;
  }

  .admin-topbar > p span {
    color: var(--admin-muted);
    font-size: 0.78rem;
  }

  .admin-topbar__actions,
  .admin-topbar__actions form {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
  }

  .admin-body .button,
  .admin-body .btn,
  .admin-body button,
  .admin-body input,
  .admin-body select,
  .admin-body textarea {
    min-height: 2.75rem;
  }

  .admin-body .button svg,
  .admin-body .btn svg,
  .admin-body button svg,
  .admin-page-heading svg,
  .admin-empty-state > svg {
    width: 1.2rem;
    height: 1.2rem;
    flex: 0 0 auto;
  }

  .admin-body .button--danger,
  .admin-body .btn-danger {
    border-color: var(--admin-danger);
    background: var(--admin-danger);
    color: #fff;
  }

  .admin-body .button--danger:hover,
  .admin-body .btn-danger:hover {
    border-color: #6e2222;
    background: #6e2222;
    color: #fff;
  }

  .admin-page-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between;
    gap: 1rem 1.5rem;
  }

  .admin-page-heading > div {
    max-width: 44rem;
  }

  .admin-page-heading h1,
  .admin-main h1 {
    max-width: 18ch;
    margin-bottom: 0.5rem;
    font-size: clamp(2.2rem, 7vw, 4.25rem);
    line-height: 0.98;
  }

  .admin-page-heading p:last-child {
    margin-bottom: 0;
    color: var(--admin-muted);
  }

  .admin-card-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }

  .admin-task-card {
    display: grid;
    min-width: 0;
    min-height: 8.5rem;
    grid-template-columns: 3rem minmax(0, 1fr);
    align-items: center;
    gap: 0.85rem 1rem;
    padding: 1.1rem;
    border: 1px solid var(--admin-border);
    border-radius: 1.1rem;
    background: var(--admin-surface);
    color: var(--admin-text);
    text-decoration: none;
    box-shadow: 0 0.4rem 1.3rem rgb(79 58 40 / 0.055);
    transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
  }

  .admin-task-card:hover {
    border-color: #bda78f;
    color: var(--admin-text);
    box-shadow: 0 0.75rem 1.8rem rgb(79 58 40 / 0.1);
    transform: translateY(-0.1rem);
  }

  .admin-task-card--attention {
    border-color: #c7a678;
    background: #fffaf2;
  }

  .admin-task-card__icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border-radius: 0.9rem;
    background: var(--admin-accent-soft);
    color: #6d4c25;
  }

  .admin-task-card__icon svg {
    width: 1.45rem;
    height: 1.45rem;
  }

  .admin-task-card__content {
    display: grid;
    min-width: 0;
    gap: 0.15rem;
  }

  .admin-task-card__content strong {
    font-size: 1rem;
  }

  .admin-task-card__content span {
    color: var(--admin-muted);
    font-size: 0.8rem;
    line-height: 1.45;
  }

  .admin-task-card__count {
    grid-column: 2;
    color: var(--admin-accent);
    font-family: var(--font-heading);
    font-size: 1.75rem;
    font-variant-numeric: tabular-nums;
    font-weight: 650;
    line-height: 1;
  }

  .admin-task-card__count small {
    color: var(--admin-muted);
    font-family: var(--font-body);
    font-size: 0.72rem;
    font-weight: 600;
  }

  .admin-help-card {
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1fr);
    align-items: center;
    gap: 0.85rem 1rem;
    padding: 1rem;
    border-radius: 1rem;
    background: var(--admin-surface-soft);
  }

  .admin-help-card > svg {
    width: 1.5rem;
    height: 1.5rem;
    margin-inline: auto;
    color: var(--admin-accent);
  }

  .admin-help-card p {
    margin: 0.2rem 0 0;
    color: var(--admin-muted);
    font-size: 0.84rem;
  }

  .admin-help-card .button {
    grid-column: 1 / -1;
  }

  .admin-product-grid {
    align-items: stretch;
  }

  .admin-product-card,
  .admin-record-card,
  .admin-message-card,
  .admin-guidance-card,
  .admin-order-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--admin-border);
    border-radius: 1.1rem;
    background: var(--admin-surface);
    box-shadow: 0 0.35rem 1.2rem rgb(79 58 40 / 0.05);
  }

  .admin-product-card__visual {
    display: grid;
    min-height: 13rem;
    overflow: hidden;
    place-items: center;
    background: var(--admin-surface-soft);
  }

  .admin-product-card__visual img {
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform var(--transition);
  }

  .admin-product-card__visual:hover img {
    transform: scale(1.02);
  }

  .admin-product-card__placeholder {
    display: grid;
    gap: 0.5rem;
    place-items: center;
    color: var(--admin-muted);
    font-size: 0.82rem;
  }

  .admin-product-card__placeholder svg {
    width: 2rem;
    height: 2rem;
  }

  .admin-product-card__body,
  .admin-record-card__body,
  .admin-message-card__body,
  .admin-guidance-card__body,
  .admin-order-card__body {
    display: grid;
    gap: 0.75rem;
    padding: 1rem;
  }

  .admin-product-card__body {
    flex: 1 1 auto;
  }

  .admin-product-card__heading {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 0.75rem;
  }

  .admin-product-card__heading h2 {
    margin: 0.15rem 0 0;
    font-size: 1.65rem;
    line-height: 1;
  }

  .admin-card-kicker {
    margin: 0;
    color: var(--admin-accent);
    font-size: 0.7rem;
    font-weight: 750;
    letter-spacing: 0.07em;
    text-transform: uppercase;
  }

  .admin-product-card__collection {
    margin: 0;
    font-size: 0.82rem;
  }

  .admin-product-card__facts,
  .admin-record-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
    margin: 0;
  }

  .admin-product-card__facts div,
  .admin-record-facts div {
    min-width: 0;
    padding: 0.65rem;
    border-radius: 0.7rem;
    background: var(--admin-surface-soft);
  }

  .admin-product-card__facts dt,
  .admin-record-facts dt {
    color: var(--admin-muted);
    font-size: 0.66rem;
    font-weight: 650;
  }

  .admin-product-card__facts dd,
  .admin-record-facts dd {
    margin: 0.12rem 0 0;
    font-size: 0.86rem;
    font-variant-numeric: tabular-nums;
    font-weight: 750;
    overflow-wrap: anywhere;
  }

  .admin-product-card__actions,
  .admin-record-card__actions {
    display: grid;
    gap: 0.6rem;
    padding: 0 1rem 1rem;
  }

  .admin-product-card__actions form,
  .admin-record-card__actions form,
  .admin-product-card__actions .button,
  .admin-record-card__actions .button {
    width: 100%;
    margin: 0;
  }

  .admin-empty-state {
    display: grid;
    max-width: 44rem;
    min-height: 19rem;
    place-items: center;
    align-content: center;
    gap: 0.75rem;
    padding: clamp(1.5rem, 6vw, 3rem);
    text-align: center;
  }

  .admin-empty-state > svg {
    width: 2.4rem;
    height: 2.4rem;
    color: var(--admin-accent);
  }

  .admin-empty-state h2,
  .admin-empty-state p {
    margin: 0;
  }

  .admin-empty-state h2 {
    max-width: 24ch;
  }

  .admin-empty-state p {
    max-width: 52ch;
    color: var(--admin-muted);
  }

  .admin-body .admin-form,
  .admin-body .form-card {
    width: 100%;
    max-width: 68rem;
    border-color: var(--admin-border);
    background: var(--admin-surface);
    box-shadow: 0 0.4rem 1.5rem rgb(79 58 40 / 0.055);
  }

  .admin-form-section,
  .admin-photo-manager,
  .photo-manager,
  .admin-danger-zone,
  .danger-zone {
    padding: clamp(1rem, 4vw, 1.5rem);
    border: 1px solid var(--admin-border);
    border-radius: 1rem;
    background: var(--admin-surface);
  }

  .admin-danger-zone,
  .danger-zone {
    border-color: #d9aaa3;
    background: var(--admin-danger-soft);
  }

  .admin-danger-zone h2,
  .danger-zone h2 {
    color: #702828;
  }

  .admin-body input[type="file"] {
    width: 100%;
    min-height: 3.25rem;
    padding: 0.35rem;
    border: 1px dashed #b99f83;
    border-radius: 0.75rem;
    background: #fffaf3;
    color: var(--admin-muted);
  }

  .admin-body input[type="file"]::file-selector-button {
    min-height: 2.5rem;
    padding: 0.55rem 0.8rem;
    margin-right: 0.7rem;
    border: 0;
    border-radius: 0.55rem;
    background: var(--admin-accent-soft);
    color: #5c421f;
    font-weight: 700;
    cursor: pointer;
  }

  .admin-photo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
    gap: 0.75rem;
  }

  .photo-manager__grid,
  .media-preview,
  [data-image-selection] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr));
    gap: 0.75rem;
  }

  .admin-photo-card {
    display: grid;
    min-width: 0;
    grid-template-columns: 6.25rem minmax(0, 1fr);
    align-items: start;
    gap: 0.75rem;
    padding: 0.55rem;
    border: 1px solid var(--admin-border);
    border-radius: 0.8rem;
    background: var(--admin-surface);
  }

  .photo-manager__item,
  .image-selection__item {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: 0.55rem;
    padding: 0.55rem;
    border: 1px solid var(--admin-border);
    border-radius: 0.8rem;
    background: var(--admin-surface);
  }

  .admin-photo-card img {
    width: 100%;
    aspect-ratio: 4 / 5;
    border-radius: 0.55rem;
    object-fit: cover;
  }

  .photo-manager__item img,
  .media-preview img,
  .image-selection__item img {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 0.55rem;
    object-fit: cover;
  }

  .image-selection__copy {
    display: grid;
    min-width: 0;
    gap: 0.1rem;
  }

  .image-selection__copy strong {
    overflow: hidden;
    font-size: 0.75rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .image-selection__copy span,
  .image-selection__empty {
    margin: 0;
    color: var(--admin-muted);
    font-size: 0.7rem;
  }

  .admin-photo-card label,
  .photo-manager__item label {
    display: flex;
    min-height: 2.75rem;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.78rem;
    font-weight: 650;
  }

  .admin-body .table-wrap {
    border-color: var(--admin-border);
    border-radius: 1rem;
    background: var(--admin-surface);
  }

  .confirm-dialog {
    width: min(calc(100% - 2rem), 31rem);
    max-width: 31rem;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 1.2rem;
    background: transparent;
    color: var(--admin-text, #342c27);
    box-shadow: 0 1.5rem 5rem rgb(33 24 18 / 0.28);
  }

  .confirm-dialog::backdrop {
    background: rgb(35 27 22 / 0.56);
    backdrop-filter: blur(0.15rem);
  }

  .confirm-dialog__content {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: 0.8rem 1rem;
    padding: 1.25rem;
    border: 1px solid #e0cbc6;
    border-radius: 1.2rem;
    background: #fffdf9;
  }

  .confirm-dialog__icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border-radius: 50%;
    background: var(--admin-danger-soft, #faece9);
    color: var(--admin-danger, #8d3030);
  }

  .confirm-dialog__icon svg {
    width: 1.4rem;
    height: 1.4rem;
  }

  .confirm-dialog h2 {
    margin: 0 0 0.3rem;
    font-family: var(--font-body);
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.3;
  }

  .confirm-dialog p {
    margin: 0;
    color: var(--admin-muted, #685f57);
    font-size: 0.9rem;
    line-height: 1.55;
  }

  .confirm-dialog__actions {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    margin-top: 0.4rem;
  }

  .confirm-dialog__actions .button {
    width: 100%;
    min-height: 2.75rem;
  }
}

@media screen and (min-width: 40rem) {
  .admin-main {
    padding: 1.5rem;
  }

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

  .admin-help-card {
    grid-template-columns: 2.75rem minmax(0, 1fr) auto;
  }

  .admin-help-card .button {
    grid-column: auto;
  }

  .admin-product-card__actions,
  .admin-record-card__actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (min-width: 64rem) {
  .admin-body {
    font-size: 0.95rem;
  }

  .admin-shell {
    grid-template-columns: 17.5rem minmax(0, 1fr);
    padding-bottom: 0;
  }

  .admin-sidebar {
    position: sticky;
    top: 0;
    right: auto;
    bottom: auto;
    left: auto;
    display: flex;
    height: 100dvh;
    flex-direction: column;
    padding: 1.25rem;
    overflow-y: auto;
    border-top: 0;
    border-right: 1px solid var(--admin-border);
    background: #f0e7dc;
    box-shadow: none;
    backdrop-filter: none;
  }

  .admin-sidebar .admin-sidebar__brand {
    display: flex;
    min-height: 4rem;
    align-items: center;
    gap: 0.8rem;
    padding: 0.4rem;
    margin-bottom: 2rem;
    color: var(--admin-text);
    text-decoration: none;
  }

  .admin-sidebar__brand-mark {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border-radius: 0.85rem;
    background: #e1d0ba;
    color: #70502c;
  }

  .admin-sidebar__brand-mark svg {
    width: 1.8rem;
    height: 1.8rem;
  }

  .admin-sidebar__brand > span:last-child {
    display: grid;
    line-height: 1.2;
  }

  .admin-sidebar__brand strong {
    font-family: var(--font-heading);
    font-size: 1.65rem;
  }

  .admin-sidebar__brand small {
    color: var(--admin-muted);
    font-size: 0.68rem;
    font-weight: 650;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .admin-sidebar nav ul {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.45rem;
  }

  .admin-sidebar nav a {
    min-height: 3.25rem;
    flex-direction: row;
    justify-content: flex-start;
    gap: 0.75rem;
    padding: 0.65rem 0.8rem;
    border: 1px solid transparent;
    border-radius: 0.8rem;
    font-size: 0.88rem;
    text-align: left;
  }

  .admin-sidebar nav a:hover,
  .admin-sidebar nav a[aria-current="page"] {
    border-color: #d3c0a9;
    background: #fffaf3;
  }

  .admin-sidebar nav a[aria-current="page"] {
    box-shadow: 0 0.3rem 1rem rgb(82 61 43 / 0.06);
  }

  .admin-nav__icon {
    width: 1.25rem;
    height: 1.25rem;
  }

  .admin-nav__badge {
    position: static;
    min-width: 1.4rem;
    height: 1.4rem;
    margin-left: auto;
    border: 0;
    font-size: 0.65rem;
  }

  .admin-main {
    padding: 1.5rem clamp(2rem, 4vw, 4rem) 4rem;
  }

  .admin-topbar {
    position: sticky;
    z-index: 40;
    top: 0;
    margin-inline: -0.5rem;
    background: rgb(247 243 237 / 0.92);
    backdrop-filter: blur(0.8rem);
  }

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

@media screen and (min-width: 82rem) {
  .admin-task-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .admin-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (max-width: 25rem) {
  .admin-sidebar nav a {
    font-size: 0.68rem;
  }

  .admin-topbar__actions {
    width: 100%;
  }

  .admin-topbar__actions .button {
    flex: 1 1 auto;
    padding-inline: 0.65rem;
  }

  .admin-product-card__facts,
  .admin-record-facts {
    grid-template-columns: minmax(0, 1fr);
  }

  .confirm-dialog__actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-task-card,
  .admin-product-card__visual img {
    transition: none;
  }

  .admin-task-card:hover,
  .admin-product-card__visual:hover img {
    transform: none;
  }
}

@media (forced-colors: active) {
  .admin-sidebar,
  .admin-topbar,
  .admin-task-card,
  .admin-product-card,
  .admin-record-card,
  .admin-message-card,
  .admin-guidance-card,
  .admin-order-card,
  .confirm-dialog__content {
    border: 1px solid CanvasText;
  }

  .admin-nav__badge {
    border: 1px solid CanvasText;
  }
}

@media screen {
  .admin-heading-count {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    gap: 0.35rem;
    padding: 0.55rem 0.8rem;
    border-radius: 999px;
    background: var(--admin-accent-soft);
    color: #604621;
    font-size: 0.78rem;
    font-weight: 650;
  }

  .admin-heading-count strong {
    font-size: 1rem;
    font-variant-numeric: tabular-nums;
  }

  .admin-request-card,
  .admin-inbox-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    border: 1px solid var(--admin-border);
    border-radius: 1.1rem;
    background: var(--admin-surface);
    box-shadow: 0 0.35rem 1.2rem rgb(79 58 40 / 0.05);
  }

  .admin-request-card--attention,
  .admin-inbox-card--new {
    border-color: #c5a274;
    box-shadow: 0 0.45rem 1.5rem rgb(112 78 37 / 0.09);
  }

  .admin-request-card__top,
  .admin-order-card__heading,
  .admin-message-card__heading {
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
  }

  .admin-request-card__top h2,
  .admin-order-card__heading h2,
  .admin-message-card__heading h2 {
    margin: 0.15rem 0 0;
    font-size: 1.4rem;
    line-height: 1.05;
  }

  .admin-request-card__icon,
  .admin-order-card__icon,
  .admin-inbox-card__icon,
  .admin-message-card__icon,
  .admin-form-section__icon {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border-radius: 0.8rem;
    background: var(--admin-accent-soft);
    color: #6d4c25;
  }

  .admin-request-card__icon svg,
  .admin-order-card__icon svg,
  .admin-inbox-card__icon svg,
  .admin-message-card__icon svg,
  .admin-form-section__icon svg {
    width: 1.3rem;
    height: 1.3rem;
  }

  .admin-request-card__details,
  .admin-order-card__details {
    display: grid;
    gap: 0;
    padding: 0 1rem;
    margin: 0;
  }

  .admin-request-card__details > div,
  .admin-order-card__details > div {
    display: flex;
    min-width: 0;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding-block: 0.7rem;
    border-top: 1px solid var(--admin-border);
  }

  .admin-request-card__details dt,
  .admin-order-card__details dt {
    color: var(--admin-muted);
    font-size: 0.75rem;
    font-weight: 650;
  }

  .admin-request-card__details dd,
  .admin-order-card__details dd {
    margin: 0;
    font-size: 0.8rem;
    font-weight: 700;
    text-align: right;
    overflow-wrap: anywhere;
  }

  .admin-request-card__actions,
  .admin-order-card__actions,
  .admin-inbox-card__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 1rem;
    margin-top: auto;
  }

  .admin-request-card__actions form,
  .admin-order-card__actions form,
  .admin-inbox-card__actions form {
    flex: 0 0 auto;
    margin: 0;
  }

  .admin-order-card__total {
    color: var(--admin-accent);
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }

  .admin-order-card__actions p {
    margin: 0;
    font-size: 0.75rem;
  }

  .admin-inbox-card {
    overflow: hidden;
  }

  .admin-inbox-card__main {
    display: grid;
    min-width: 0;
    grid-template-columns: 2.75rem minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    color: var(--admin-text);
    text-decoration: none;
  }

  .admin-inbox-card__main:hover {
    background: #fffaf3;
    color: var(--admin-text);
  }

  .admin-inbox-card__content {
    display: grid;
    min-width: 0;
    gap: 0.25rem;
  }

  .admin-inbox-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.25rem 1rem;
  }

  .admin-inbox-card__meta time,
  .admin-inbox-card__content > .muted {
    color: var(--admin-muted);
    font-size: 0.7rem;
  }

  .admin-inbox-card__subject {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 650;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }

  .admin-inbox-card__main > .status {
    grid-column: 2;
    width: fit-content;
  }

  .icon-button {
    display: inline-grid;
    width: 2.75rem;
    min-width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    place-items: center;
    border: 1px solid var(--admin-border);
    border-radius: 0.7rem;
    background: var(--admin-surface);
    color: var(--admin-text);
  }

  .icon-button svg {
    width: 1.2rem;
    height: 1.2rem;
  }

  .icon-button--danger {
    border-color: #dcaaa3;
    background: var(--admin-danger-soft);
    color: var(--admin-danger);
  }

  .icon-button--danger:hover {
    border-color: var(--admin-danger);
    background: var(--admin-danger);
    color: #fff;
  }

  .admin-detail-page,
  .admin-editor {
    width: 100%;
    max-width: 72rem;
  }

  .admin-back-link {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.5rem;
    color: var(--admin-muted);
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
  }

  .admin-back-link svg {
    width: 1rem;
    height: 1rem;
  }

  .admin-message-card__heading {
    grid-template-columns: 2.75rem minmax(0, 1fr);
    border-bottom: 1px solid var(--admin-border);
  }

  .admin-message-card__content,
  .admin-preview-card__content {
    padding: clamp(1rem, 4vw, 1.5rem);
    font-size: 1rem;
    line-height: 1.75;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .admin-message-card__content p,
  .admin-preview-card__content p {
    margin: 0;
  }

  .admin-message-card__reply {
    display: grid;
    gap: 0.8rem;
    align-items: center;
    padding: 1rem;
    border-top: 1px solid var(--admin-border);
    background: var(--admin-surface-soft);
  }

  .admin-message-card__reply > div {
    display: grid;
    min-width: 0;
  }

  .admin-message-card__reply strong {
    overflow-wrap: anywhere;
  }

  .admin-detail-actions,
  .admin-detail-actions form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 0;
  }

  .admin-preview-card,
  .admin-waiting-card {
    padding: clamp(1rem, 4vw, 1.5rem);
    border: 1px solid var(--admin-border);
    border-radius: 1rem;
    background: var(--admin-surface);
  }

  .admin-waiting-card {
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1fr);
    align-items: start;
    gap: 0.8rem;
  }

  .admin-waiting-card > svg {
    width: 1.4rem;
    height: 1.4rem;
    margin: 0.65rem;
  }

  .admin-waiting-card h2,
  .admin-waiting-card p {
    margin: 0;
  }

  .admin-editor .admin-form {
    display: grid;
    max-width: 72rem;
    gap: 1rem;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .admin-form-section {
    max-width: none !important;
  }

  .admin-form-section__heading {
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1fr);
    align-items: start;
    gap: 0.8rem;
    margin-bottom: 1.25rem;
  }

  .admin-form-section__heading h2,
  .admin-form-section__heading p {
    margin: 0;
  }

  .admin-form-section__heading h2 {
    font-size: clamp(1.65rem, 5vw, 2.25rem);
    line-height: 1.05;
  }

  .admin-form-section__heading p:last-child {
    margin-top: 0.35rem;
    color: var(--admin-muted);
    font-size: 0.82rem;
  }

  .admin-step {
    color: var(--admin-accent);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .admin-photo-manager {
    margin: 0 0 1rem;
    background: var(--admin-surface-soft);
  }

  .admin-photo-manager legend {
    padding-inline: 0.35rem;
    font-weight: 750;
  }

  .admin-photo-card__choices {
    display: grid;
    min-width: 0;
    gap: 0.35rem;
  }

  .admin-photo-card__visual {
    position: relative;
    min-width: 0;
  }

  .admin-photo-card__visual .status {
    position: absolute;
    right: 0.3rem;
    bottom: 0.3rem;
    max-width: calc(100% - 0.6rem);
    padding: 0.25rem 0.4rem;
    font-size: 0.62rem;
  }

  .admin-choice {
    display: flex;
    min-height: 2.75rem;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem;
    border-radius: 0.55rem;
    background: var(--admin-surface-soft);
    font-size: 0.75rem;
  }

  .admin-choice--delete {
    background: var(--admin-danger-soft);
    color: #742b2b;
  }

  .admin-upload-zone {
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    border: 1px dashed #b99f83;
    border-radius: 0.9rem;
    background: #fffaf3;
  }

  .admin-upload-zone > svg {
    width: 1.35rem;
    height: 1.35rem;
    margin-inline: auto;
    color: var(--admin-accent);
  }

  .admin-upload-zone p {
    margin: 0.15rem 0 0;
    color: var(--admin-muted);
    font-size: 0.75rem;
  }

  .admin-upload-button {
    grid-column: 1 / -1;
    width: 100%;
  }

  .admin-image-selection:empty {
    display: none;
  }

  .input-with-suffix {
    position: relative;
  }

  .input-with-suffix input {
    width: 100%;
    padding-right: 2.5rem !important;
  }

  .input-with-suffix > span {
    position: absolute;
    top: 50%;
    right: 0.9rem;
    color: var(--admin-muted);
    font-weight: 750;
    transform: translateY(-50%);
  }

  .admin-visibility-control {
    padding: 0.8rem;
    border: 1px solid var(--admin-border);
    border-radius: 0.75rem;
    background: var(--admin-surface-soft);
  }

  .admin-visibility-control > span {
    display: grid;
  }

  .admin-visibility-control small {
    color: var(--admin-muted);
    font-size: 0.72rem;
  }

  .admin-form-actions {
    position: sticky;
    z-index: 30;
    bottom: calc(5.15rem + env(safe-area-inset-bottom));
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.65rem;
    padding: 0.75rem;
    border: 1px solid var(--admin-border);
    border-radius: 0.9rem;
    background: rgb(255 253 249 / 0.96);
    box-shadow: 0 -0.5rem 1.5rem rgb(79 58 40 / 0.07);
    backdrop-filter: blur(0.65rem);
  }

  .admin-danger-zone {
    display: grid;
    gap: 1rem;
    align-items: center;
  }

  .admin-danger-zone h2,
  .admin-danger-zone p {
    margin: 0;
  }

  .admin-danger-zone h2 {
    font-family: var(--font-body);
    font-size: 1.05rem;
    font-weight: 800;
  }

  .admin-danger-zone p {
    margin-top: 0.2rem;
    color: #714b47;
    font-size: 0.8rem;
  }

  .admin-danger-zone form {
    margin: 0;
  }
}

@media screen and (min-width: 40rem) {
  .admin-message-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-inbox-card__main {
    grid-template-columns: 2.75rem minmax(0, 1fr) auto;
  }

  .admin-inbox-card__main > .status {
    grid-column: auto;
  }

  .admin-message-card__reply,
  .admin-danger-zone {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .admin-upload-zone {
    grid-template-columns: 2.75rem minmax(0, 1fr) auto;
  }

  .admin-upload-button {
    width: auto;
    grid-column: auto;
  }
}

@media screen and (min-width: 64rem) {
  .admin-form-actions {
    bottom: 1rem;
  }

  .admin-request-grid,
  .admin-order-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 39.99rem) {
  .admin-form-actions {
    flex-wrap: nowrap;
    padding: 0.5rem;
  }

  .admin-form-actions .button--quiet {
    display: none;
  }

  .admin-form-actions .button:not(.button--quiet) {
    width: 100%;
  }
}

@media screen {
  .admin-body {
    --admin-bg: #f6f2ec;
    --admin-surface: #fffdfa;
    --admin-surface-soft: #f1e9df;
    --admin-surface-raised: #ffffff;
    --admin-text: #312b26;
    --admin-muted: #655c53;
    --admin-accent: #80613c;
    --admin-accent-strong: #654823;
    --admin-accent-soft: #eee0cd;
    --admin-border: #ded3c7;
    --admin-border-strong: #c6b5a2;
    --admin-success: #315f47;
    --admin-success-soft: #e7f1eb;
    --admin-progress: #385f72;
    --admin-progress-soft: #e8f0f3;
    --admin-danger: #8d3030;
    --admin-danger-soft: #faece9;
    background: var(--admin-bg);
    color: var(--admin-text);
    font-size: 1rem;
    line-height: 1.55;
  }

  .admin-body .flow > * + * {
    margin-top: 1rem;
  }

  .admin-main {
    max-width: none;
    padding: 0.875rem;
    overflow-x: clip;
  }

  .admin-main :where(section, article, div, form, fieldset, dl) {
    min-width: 0;
  }

  .admin-body :where(input, select, textarea, button) {
    max-width: 100%;
  }

  .admin-topbar {
    min-height: 3.6rem;
    gap: 0.65rem 1rem;
    padding: 0.55rem 0.65rem;
    margin-bottom: 1.35rem;
    border-radius: 0.75rem;
    background: var(--admin-surface);
    box-shadow: 0 0.2rem 0.75rem rgb(67 51 38 / 0.035);
  }

  .admin-topbar > p {
    display: none;
  }

  .admin-topbar__actions {
    width: 100%;
    justify-content: space-between;
  }

  .admin-topbar__actions .button {
    min-height: 2.75rem;
  }

  .admin-page-heading {
    align-items: center;
    gap: 0.85rem 1.5rem;
    padding-bottom: 0.25rem;
  }

  .admin-page-heading > div {
    max-width: 49rem;
  }

  .admin-page-heading .eyebrow {
    margin-bottom: 0.35rem;
    font-size: 0.68rem;
    letter-spacing: 0.1em;
  }

  .admin-page-heading h1,
  .admin-main h1 {
    max-width: 24ch;
    margin-bottom: 0.4rem;
    font-size: clamp(2.05rem, 4.5vw, 2.85rem);
    line-height: 1;
    overflow-wrap: anywhere;
  }

  .admin-main h2 {
    font-size: clamp(1.35rem, 3vw, 1.75rem);
    line-height: 1.08;
  }

  .admin-main h3 {
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 750;
    line-height: 1.35;
  }

  .admin-page-heading p:last-child {
    max-width: 64ch;
    font-size: 0.9rem;
    line-height: 1.55;
  }

  .admin-page-heading .lead {
    font-size: 0.95rem;
  }

  .admin-heading-count {
    min-height: 2.5rem;
    padding: 0.45rem 0.75rem;
    border: 1px solid #dcc9ad;
    background: #f6ecde;
    font-size: 0.75rem;
  }

  .admin-heading-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
  }

  .admin-card-grid {
    gap: 0.875rem;
  }

  .admin-task-card {
    min-height: 6.75rem;
    grid-template-columns: 2.65rem minmax(0, 1fr) auto;
    gap: 0.7rem 0.8rem;
    padding: 0.9rem;
    border-radius: 0.85rem;
    box-shadow: 0 0.2rem 0.75rem rgb(67 51 38 / 0.035);
  }

  .admin-task-card:hover {
    border-color: var(--admin-border-strong);
    box-shadow: 0 0.4rem 1.2rem rgb(67 51 38 / 0.07);
  }

  .admin-task-card__icon,
  .admin-request-card__icon,
  .admin-order-card__icon,
  .admin-inbox-card__icon,
  .admin-message-card__icon,
  .admin-form-section__icon,
  .admin-panel__icon,
  .admin-order-row__icon {
    width: 2.65rem;
    height: 2.65rem;
    border-radius: 0.7rem;
    background: var(--admin-accent-soft);
    color: var(--admin-accent-strong);
  }

  .admin-task-card__icon svg,
  .admin-request-card__icon svg,
  .admin-order-card__icon svg,
  .admin-inbox-card__icon svg,
  .admin-message-card__icon svg,
  .admin-form-section__icon svg,
  .admin-panel__icon svg,
  .admin-order-row__icon svg {
    width: 1.2rem;
    height: 1.2rem;
  }

  .admin-task-card__content strong {
    font-size: 0.92rem;
  }

  .admin-task-card__content span {
    font-size: 0.75rem;
  }

  .admin-task-card__count {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    color: var(--admin-accent-strong);
    font-size: 1.55rem;
    text-align: right;
  }

  .admin-task-card__count small {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.65rem;
  }

  .admin-help-card {
    gap: 0.75rem 0.9rem;
    padding: 0.9rem;
    border: 1px solid #e2d5c6;
    border-radius: 0.8rem;
    background: #f3ece3;
  }

  .admin-help-card p {
    font-size: 0.8rem;
    line-height: 1.5;
  }

  .admin-product-card,
  .admin-record-card,
  .admin-message-card,
  .admin-guidance-card,
  .admin-order-card,
  .admin-request-card,
  .admin-inbox-card,
  .admin-panel {
    border-radius: 0.85rem;
    box-shadow: 0 0.2rem 0.75rem rgb(67 51 38 / 0.035);
  }

  .admin-product-card__visual {
    min-height: 11rem;
  }

  .admin-product-card__visual img {
    aspect-ratio: 5 / 4;
  }

  .admin-product-card__body,
  .admin-record-card__body,
  .admin-message-card__body,
  .admin-guidance-card__body,
  .admin-order-card__body {
    gap: 0.6rem;
    padding: 0.85rem;
  }

  .admin-product-card__heading h2 {
    margin-top: 0.1rem;
    font-size: 1.4rem;
  }

  .admin-product-card__collection {
    font-size: 0.76rem;
  }

  .admin-product-card__facts,
  .admin-record-facts {
    gap: 0.4rem;
  }

  .admin-product-card__facts div,
  .admin-record-facts div {
    padding: 0.55rem;
    border: 1px solid #e6ddd3;
    border-radius: 0.55rem;
    background: #f8f3ed;
  }

  .admin-product-card__facts dt,
  .admin-record-facts dt {
    font-size: 0.63rem;
  }

  .admin-product-card__facts dd,
  .admin-record-facts dd {
    font-size: 0.82rem;
  }

  .admin-product-card__actions,
  .admin-record-card__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0 0.85rem 0.85rem;
  }

  .admin-product-card__actions .button,
  .admin-record-card__actions .button {
    width: auto;
    flex: 1 1 auto;
  }

  .admin-product-card__actions form,
  .admin-record-card__actions form {
    width: auto;
    flex: 0 0 auto;
  }

  .admin-empty-state {
    min-height: 14rem;
    gap: 0.55rem;
    padding: clamp(1.25rem, 5vw, 2.25rem);
    border-radius: 0.85rem;
  }

  .admin-empty-state > svg {
    width: 2rem;
    height: 2rem;
  }

  .admin-empty-state h2 {
    font-size: clamp(1.5rem, 4vw, 1.9rem);
  }

  .admin-empty-state p {
    font-size: 0.86rem;
  }

  .admin-request-card__top,
  .admin-order-card__heading,
  .admin-message-card__heading {
    grid-template-columns: 2.65rem minmax(0, 1fr) auto;
    gap: 0.65rem;
    padding: 0.85rem;
  }

  .admin-request-card__top h2,
  .admin-order-card__heading h2,
  .admin-message-card__heading h2 {
    margin-top: 0.1rem;
    font-size: 1.28rem;
  }

  .admin-request-card__details,
  .admin-order-card__details {
    padding: 0 0.85rem;
  }

  .admin-request-card__details > div,
  .admin-order-card__details > div {
    padding-block: 0.58rem;
  }

  .admin-request-card__actions,
  .admin-order-card__actions,
  .admin-inbox-card__actions {
    gap: 0.5rem;
    padding: 0.8rem 0.85rem;
  }

  .admin-inbox-card__main {
    grid-template-columns: 2.65rem minmax(0, 1fr);
    gap: 0.65rem;
    padding: 0.85rem;
  }

  .admin-inbox-card__subject {
    font-size: 1.15rem;
  }

  .admin-body .admin-form,
  .admin-body .form-card {
    max-width: 64rem;
    border-radius: 0.85rem;
    box-shadow: 0 0.2rem 0.75rem rgb(67 51 38 / 0.035);
  }

  .admin-form-section,
  .admin-photo-manager,
  .photo-manager,
  .admin-danger-zone,
  .danger-zone {
    padding: clamp(0.9rem, 3vw, 1.25rem);
    border-radius: 0.8rem;
  }

  .admin-editor,
  .admin-detail-page {
    max-width: 78rem;
  }

  .admin-editor .admin-form {
    max-width: 78rem;
    gap: 0.875rem;
  }

  .admin-form-section__heading {
    grid-template-columns: 2.65rem minmax(0, 1fr);
    gap: 0.7rem;
    margin-bottom: 1rem;
  }

  .admin-form-section__heading h2 {
    font-size: clamp(1.35rem, 3vw, 1.7rem);
    line-height: 1.12;
  }

  .admin-form-section__heading p:last-child {
    margin-top: 0.25rem;
    font-size: 0.78rem;
  }

  .admin-form-section__heading--small {
    margin-bottom: 0;
  }

  .admin-form-section__heading--small h3,
  .admin-form-section__heading--small p {
    margin: 0;
  }

  .admin-form-section__heading--small p {
    margin-top: 0.2rem;
    color: var(--admin-muted);
    font-size: 0.76rem;
  }

  .admin-upload-zone {
    gap: 0.65rem;
    padding: 0.85rem;
    border-radius: 0.7rem;
  }

  .admin-photo-grid,
  .photo-manager__grid,
  .media-preview,
  [data-image-selection] {
    gap: 0.6rem;
  }

  .admin-photo-card,
  .photo-manager__item,
  .image-selection__item {
    gap: 0.45rem;
    padding: 0.45rem;
    border-radius: 0.65rem;
  }

  .admin-form-actions {
    bottom: calc(5rem + env(safe-area-inset-bottom));
    padding: 0.55rem;
    border-radius: 0.7rem;
  }

  .admin-danger-zone {
    border-color: #e1bbb5;
    background: #fff8f6;
  }

  .admin-danger-zone h2 {
    font-size: 1rem;
  }

  .admin-message-card__content,
  .admin-preview-card__content {
    padding: clamp(0.9rem, 3vw, 1.25rem);
    font-size: 0.94rem;
    line-height: 1.65;
  }

  .admin-answer-form {
    padding: clamp(0.9rem, 3vw, 1.25rem);
  }

  .admin-back-link {
    min-height: 2.5rem;
    margin-bottom: 0.25rem;
    font-size: 0.78rem;
  }

  .auth-card {
    width: min(100%, 28rem);
    padding: clamp(1.25rem, 5vw, 2rem);
    border-radius: 1rem;
    box-shadow: 0 0.7rem 2.5rem rgb(50 39 30 / 0.09);
  }

  .auth-card h1 {
    font-size: clamp(2.25rem, 8vw, 3.1rem);
  }

  .admin-body .status {
    min-height: 1.75rem;
    padding: 0.18rem 0.58rem;
    font-size: 0.7rem;
    white-space: nowrap;
  }

  .admin-body .status--progress {
    border-color: #9bb6c2;
    background: var(--admin-progress-soft);
    color: #274f63;
  }

  .admin-order-list {
    display: grid;
    max-width: 76rem;
    gap: 0.75rem;
  }

  .admin-order-row {
    overflow: hidden;
    border: 1px solid var(--admin-border);
    border-radius: 0.85rem;
    background: var(--admin-surface);
    box-shadow: 0 0.2rem 0.75rem rgb(67 51 38 / 0.035);
  }

  .admin-order-row__main {
    display: grid;
    min-width: 0;
    grid-template-columns: 2.65rem minmax(0, 1fr);
    align-items: center;
    gap: 0.7rem;
    padding: 0.9rem;
  }

  .admin-order-row__icon {
    display: grid;
    place-items: center;
  }

  .admin-order-row__identity {
    min-width: 0;
  }

  .admin-order-row__identity h2 {
    margin: 0.05rem 0 0.2rem;
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 750;
    overflow-wrap: anywhere;
  }

  .admin-order-row__identity p:last-child {
    margin: 0;
    color: var(--admin-muted);
    font-size: 0.75rem;
  }

  .admin-order-row__amount {
    display: grid;
    grid-column: 2;
    gap: 0.1rem;
  }

  .admin-order-row__amount strong {
    color: var(--admin-accent-strong);
    font-family: var(--font-heading);
    font-size: 1.35rem;
    font-variant-numeric: tabular-nums;
    line-height: 1;
  }

  .admin-order-row__amount time {
    color: var(--admin-muted);
    font-size: 0.68rem;
  }

  .admin-order-row__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    padding: 0.7rem 0.9rem;
    border-top: 1px solid #e8dfd6;
    background: #fcf8f3;
  }

  .admin-order-row__actions,
  .admin-order-row__actions form {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
  }

  .admin-order-detail {
    max-width: 82rem;
  }

  .admin-order-detail__layout {
    display: grid;
    gap: 1rem;
  }

  .admin-order-detail__primary,
  .admin-order-detail__aside {
    min-width: 0;
  }

  .admin-panel {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--admin-border);
    background: var(--admin-surface);
  }

  .admin-panel__heading {
    display: grid;
    min-width: 0;
    grid-template-columns: 2.65rem minmax(0, 1fr);
    align-items: center;
    gap: 0.7rem;
    padding: 0.9rem;
  }

  .admin-panel__heading > div {
    min-width: 0;
  }

  .admin-panel__heading h2,
  .admin-panel__heading h3,
  .admin-panel__heading p {
    margin: 0;
  }

  .admin-panel__heading h2 {
    margin-top: 0.08rem;
    font-size: 1.35rem;
  }

  .admin-panel__heading p:last-child:not(.admin-card-kicker) {
    margin-top: 0.2rem;
    color: var(--admin-muted);
    font-size: 0.76rem;
    line-height: 1.45;
  }

  .admin-panel__icon {
    display: grid;
    place-items: center;
  }

  .admin-panel__value {
    grid-column: 2;
    color: var(--admin-muted);
    font-size: 0.72rem;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
  }

  .admin-panel__empty {
    padding: 0 0.9rem 0.9rem;
    margin: 0;
    color: var(--admin-muted);
  }

  .admin-panel__hint {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    padding: 0.7rem 0.9rem;
    margin: 0;
    border-top: 1px solid #e8dfd6;
    background: #fcf8f3;
    color: var(--admin-muted);
    font-size: 0.72rem;
    line-height: 1.45;
  }

  .admin-panel__hint svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    margin-top: 0.05rem;
  }

  .admin-order-lines {
    display: grid;
    padding: 0 0.9rem 0.9rem;
  }

  .admin-order-line {
    display: grid;
    min-width: 0;
    grid-template-columns: 2.25rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.65rem;
    padding: 0.75rem;
    border: 1px solid #e5dcd2;
    border-radius: 0.65rem;
    background: #fcf9f5;
  }

  .admin-order-line + .admin-order-line {
    margin-top: 0.5rem;
  }

  .admin-order-line__quantity {
    display: grid;
    width: 2.25rem;
    height: 2.25rem;
    place-items: center;
    border-radius: 0.55rem;
    background: var(--admin-accent-soft);
    color: var(--admin-accent-strong);
    font-size: 0.78rem;
    font-variant-numeric: tabular-nums;
    font-weight: 800;
  }

  .admin-order-line h3,
  .admin-order-line p {
    margin: 0;
  }

  .admin-order-line h3 {
    font-size: 0.9rem;
  }

  .admin-order-line p {
    margin-top: 0.1rem;
    color: var(--admin-muted);
    font-size: 0.7rem;
  }

  .admin-order-line > strong {
    font-size: 0.85rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }

  .admin-delivery-address {
    display: grid;
    gap: 0.2rem;
    padding: 0 0.9rem 0.9rem 4.25rem;
    font-size: 0.88rem;
    font-style: normal;
    line-height: 1.5;
  }

  .admin-delivery-address strong {
    margin-bottom: 0.1rem;
    font-size: 0.95rem;
  }

  .admin-customer-email {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.8rem 0.9rem;
    border-top: 1px solid #e8dfd6;
    background: #fcf8f3;
    font-size: 0.78rem;
  }

  .admin-customer-email span {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.45rem;
    color: var(--admin-muted);
    font-weight: 700;
  }

  .admin-customer-email svg {
    width: 1rem;
    height: 1rem;
  }

  .admin-customer-email a,
  .admin-customer-email strong {
    min-width: 0;
    color: var(--admin-ink);
    overflow-wrap: anywhere;
  }

  .admin-shipment-card {
    display: grid;
    min-width: 0;
    gap: 0.9rem;
    padding: 0.9rem;
    margin: 0 0.9rem 0.9rem;
    border: 1px solid var(--admin-border);
    border-radius: 0.8rem;
    background: #fcf8f3;
  }

  .admin-shipment-card--progress {
    border-color: #bfd0d8;
    background: var(--admin-progress-soft);
  }

  .admin-shipment-card--attention {
    border-color: #dec28f;
    background: #fff6e7;
  }

  .admin-shipment-card--ready,
  .admin-shipment-card--success {
    border-color: #bad2c3;
    background: var(--admin-success-soft);
  }

  .admin-shipment-card__status {
    display: grid;
    min-width: 0;
    grid-template-columns: 2.75rem minmax(0, 1fr);
    align-items: start;
    gap: 0.75rem;
  }

  .admin-shipment-card__icon {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border-radius: 0.75rem;
    background: var(--admin-accent-soft);
    color: var(--admin-accent-strong);
  }

  .admin-shipment-card--progress .admin-shipment-card__icon {
    background: #d8e7ec;
    color: var(--admin-progress);
  }

  .admin-shipment-card--attention .admin-shipment-card__icon {
    background: #f1dfbd;
    color: #72501f;
  }

  .admin-shipment-card--ready .admin-shipment-card__icon,
  .admin-shipment-card--success .admin-shipment-card__icon {
    background: #d3e6da;
    color: var(--admin-success);
  }

  .admin-shipment-card__icon svg {
    width: 1.3rem;
    height: 1.3rem;
  }

  .admin-shipment-card__copy {
    min-width: 0;
  }

  .admin-shipment-card__copy h3,
  .admin-shipment-card__copy p {
    margin: 0;
  }

  .admin-shipment-card__copy h3 {
    margin-top: 0.08rem;
    overflow-wrap: anywhere;
    font-size: 1.05rem;
    line-height: 1.25;
  }

  .admin-shipment-card__copy p:last-child {
    margin-top: 0.3rem;
    color: var(--admin-muted);
    font-size: 0.78rem;
    line-height: 1.5;
  }

  .admin-shipment-facts {
    display: grid;
    min-width: 0;
    gap: 0.5rem;
    padding: 0.8rem 0 0;
    margin: 0;
    border-top: 1px solid rgb(128 97 60 / 0.22);
  }

  .admin-shipment-facts > div {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(7.5rem, 0.7fr) minmax(0, 1fr);
    align-items: baseline;
    gap: 0.75rem;
  }

  .admin-shipment-facts dt {
    color: var(--admin-muted);
    font-size: 0.74rem;
  }

  .admin-shipment-facts dd {
    min-width: 0;
    margin: 0;
    font-size: 0.8rem;
    font-variant-numeric: tabular-nums;
    font-weight: 750;
    text-align: right;
    overflow-wrap: anywhere;
  }

  .admin-shipment-actions {
    display: grid;
    min-width: 0;
    gap: 0.55rem;
    margin: 0;
  }

  .admin-shipment-actions .button {
    width: 100%;
    min-width: 0;
    white-space: normal;
  }

  .admin-shipment-printed {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: 0.4rem;
    margin: 0;
    color: var(--admin-success);
    font-size: 0.73rem;
    font-weight: 700;
    line-height: 1.45;
  }

  .admin-shipment-printed svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    margin-top: 0.05rem;
  }

  .admin-shipment-fallback {
    min-width: 0;
    border-top: 1px solid #e8dfd6;
    background: var(--admin-surface);
  }

  .admin-shipment-fallback summary {
    min-width: 0;
    min-height: 2.75rem;
    padding: 0.75rem 0.9rem;
    color: var(--admin-accent-strong);
    cursor: pointer;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.4;
    overflow-wrap: anywhere;
  }

  .admin-shipment-fallback summary::marker {
    color: var(--admin-accent);
  }

  .admin-shipment-fallback[open] summary {
    border-bottom: 1px solid #e8dfd6;
    background: #fcf8f3;
  }

  .admin-shipment-fallback__content {
    min-width: 0;
    padding: 0.9rem;
  }

  .admin-shipment-fallback__content > p {
    margin: 0 0 0.85rem;
    color: var(--admin-muted);
    font-size: 0.76rem;
    line-height: 1.5;
  }

  .admin-shipment-fallback .admin-tracking-form {
    padding: 0;
    border-top: 0;
  }

  .admin-status-form,
  .admin-tracking-form,
  .admin-order-contact > form {
    padding: 0.9rem;
    border-top: 1px solid #e8dfd6;
  }

  .admin-status-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: end;
    gap: 0.65rem;
    background: #fcf8f3;
  }

  .admin-tracking-form {
    gap: 0.85rem;
  }

  .admin-tracking-fields {
    gap: 0.75rem;
  }

  .admin-order-contact > form {
    padding-top: 0;
    border-top: 0;
  }

  .admin-order-totals {
    display: grid;
    padding: 0 0.9rem 0.9rem;
    margin: 0;
  }

  .admin-order-totals > div,
  .admin-order-facts > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.55rem 0;
    border-top: 1px solid #e8dfd6;
  }

  .admin-order-totals dt,
  .admin-order-facts dt {
    color: var(--admin-muted);
    font-size: 0.76rem;
  }

  .admin-order-totals dd,
  .admin-order-facts dd {
    margin: 0;
    font-size: 0.82rem;
    font-variant-numeric: tabular-nums;
    font-weight: 750;
    text-align: right;
    overflow-wrap: anywhere;
  }

  .admin-order-totals__grand {
    margin-top: 0.15rem;
  }

  .admin-order-totals__grand dt,
  .admin-order-totals__grand dd {
    color: var(--admin-text);
    font-size: 1rem;
  }

  .admin-order-totals__grand dd {
    color: var(--admin-accent-strong);
    font-family: var(--font-heading);
    font-size: 1.35rem;
  }

  .admin-order-facts {
    display: grid;
    padding: 0 0.9rem 0.8rem;
    margin: 0;
  }

  .admin-tracking-summary > .button {
    width: calc(100% - 1.8rem);
    margin: 0 0.9rem 0.9rem;
  }

  .admin-timeline {
    display: grid;
    gap: 0;
    padding: 0 0.9rem 0.9rem;
    margin: 0;
    list-style: none;
  }

  .admin-timeline__item {
    position: relative;
    display: grid;
    grid-template-columns: 0.8rem minmax(0, 1fr);
    gap: 0.65rem;
    padding: 0.45rem 0;
  }

  .admin-timeline__item::before {
    position: absolute;
    top: 1.05rem;
    bottom: -0.55rem;
    left: 0.33rem;
    width: 1px;
    background: #ddcdbb;
    content: "";
  }

  .admin-timeline__item:last-child::before {
    display: none;
  }

  .admin-timeline__item > span {
    position: relative;
    z-index: 1;
    width: 0.7rem;
    height: 0.7rem;
    margin-top: 0.3rem;
    border: 2px solid #b99b76;
    border-radius: 50%;
    background: var(--admin-surface);
  }

  .admin-timeline__item--current > span {
    border-color: var(--admin-success);
    background: var(--admin-success);
  }

  .admin-timeline__item div {
    display: grid;
    gap: 0.05rem;
  }

  .admin-timeline__item strong {
    font-size: 0.78rem;
  }

  .admin-timeline__item time {
    color: var(--admin-muted);
    font-size: 0.67rem;
  }

  .admin-email-list {
    display: grid;
    padding: 0 0.9rem 0.9rem;
    margin: 0;
    list-style: none;
  }

  .admin-email-list li {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.65rem 0;
    border-top: 1px solid #e8dfd6;
  }

  .admin-email-list li > div {
    display: grid;
    min-width: 0;
    gap: 0.05rem;
  }

  .admin-email-list strong {
    font-size: 0.75rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  .admin-email-list time {
    color: var(--admin-muted);
    font-size: 0.67rem;
  }

  .admin-email-list li > .admin-email-list__actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
  }

  .admin-email-list__actions form {
    margin: 0;
  }

  .admin-order-danger {
    max-width: 82rem;
  }
}

@media screen and (min-width: 40rem) {
  .admin-main {
    padding: 1.25rem;
  }

  .admin-topbar > p {
    display: grid;
  }

  .admin-topbar__actions {
    width: auto;
  }

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

  .admin-task-card__count {
    grid-column: 3;
  }

  .admin-product-card__actions,
  .admin-record-card__actions {
    grid-template-columns: none;
  }

  .admin-order-row__main {
    grid-template-columns: 2.65rem minmax(0, 1fr) auto;
  }

  .admin-order-row__amount {
    grid-column: auto;
    justify-items: end;
    text-align: right;
  }

  .admin-panel__heading {
    grid-template-columns: 2.65rem minmax(0, 1fr) auto;
  }

  .admin-panel__value {
    grid-column: auto;
  }

  .admin-status-form {
    grid-template-columns: minmax(13rem, 1fr) auto;
  }

  .admin-tracking-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-tracking-fields .form-section {
    grid-column: 1 / -1;
    padding-top: 0;
    margin-top: 0;
    border-top: 0;
  }
}

@media screen and (min-width: 64rem) {
  .admin-body {
    font-size: 0.95rem;
  }

  .admin-shell {
    grid-template-columns: 15.5rem minmax(0, 1fr);
  }

  .admin-sidebar {
    padding: 1rem;
  }

  .admin-sidebar .admin-sidebar__brand {
    min-height: 3.5rem;
    margin-bottom: 1.25rem;
  }

  .admin-sidebar__brand-mark {
    width: 2.5rem;
    height: 2.5rem;
  }

  .admin-sidebar__brand strong {
    font-size: 1.5rem;
  }

  .admin-sidebar nav ul {
    gap: 0.3rem;
  }

  .admin-sidebar nav a {
    min-height: 3rem;
    padding: 0.55rem 0.7rem;
    border-radius: 0.7rem;
    font-size: 0.84rem;
  }

  .admin-main {
    padding: 1.25rem clamp(1.5rem, 3vw, 3rem) 3rem;
  }

  .admin-topbar {
    margin-inline: 0;
  }

  .admin-form-actions {
    bottom: 0.75rem;
  }

}

@media screen and (min-width: 80rem) {
  .admin-order-detail__layout {
    grid-template-columns: minmax(0, 1.55fr) minmax(18rem, 0.75fr);
    align-items: start;
  }

  .admin-order-detail__aside {
    position: sticky;
    top: 5.25rem;
  }
}

@media screen and (min-width: 82rem) {
  .admin-task-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .admin-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (max-width: 31rem) {
  .admin-page-heading > .button,
  .admin-heading-actions,
  .admin-heading-actions .button {
    width: 100%;
  }

  .admin-heading-actions {
    justify-content: flex-start;
  }

  .admin-order-row__actions {
    width: 100%;
  }

  .admin-order-row__actions .button {
    flex: 1 1 auto;
  }

  .admin-order-line {
    grid-template-columns: 2.25rem minmax(0, 1fr);
  }

  .admin-order-line > strong {
    grid-column: 2;
  }

  .admin-delivery-address {
    padding-left: 0.9rem;
  }
}

@media print {
  .admin-sidebar,
  .admin-topbar,
  .admin-heading-actions,
  .admin-order-progress,
  .admin-order-contact,
  .admin-order-danger,
  .confirm-dialog,
  .admin-panel__hint {
    display: none !important;
  }

  .admin-shell,
  .admin-order-detail__layout {
    display: block;
  }

  .admin-main,
  .admin-order-detail {
    max-width: none;
    padding: 0;
  }

  .admin-order-detail__aside {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
  }

  .admin-panel,
  .admin-order-row {
    break-inside: avoid;
    box-shadow: none;
  }
}

@media screen and (max-width: 63.99rem) {
  .admin-sidebar > nav > ul {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
  }

  .admin-sidebar > nav > ul > li > a {
    min-height: 4.35rem;
    padding-inline: 0.15rem;
    font-size: 0.72rem;
  }
}

.admin-back-link {
  min-height: 2.75rem;
}

@media screen {
  body:not(.admin-body) {
    --ui-page-title: clamp(2.45rem, 6vw, 3.75rem);
    --ui-hero-title: clamp(2.8rem, 6.2vw, 4.5rem);
    --ui-section-title: clamp(1.8rem, 3.4vw, 2.65rem);
    --ui-section-space: clamp(2.75rem, 6vw, 5rem);
    --ui-section-space-compact: clamp(1.75rem, 4vw, 3.25rem);
    --ui-header-height: 4.75rem;
  }

  body:not(.admin-body) h1,
  body:not(.admin-body) .shop-intro h1,
  body:not(.admin-body) .cart-page h1,
  body:not(.admin-body) .checkout-panel__header h1,
  body:not(.admin-body) .feature-grid h1,
  body:not(.admin-body) .form-card h1,
  body:not(.admin-body) .empty-state h1,
  body:not(.admin-body) .account-auth__intro h1,
  body:not(.admin-body) .account-dashboard__hero h1,
  body:not(.admin-body) .account-order-page__hero h1,
  body:not(.admin-body) .account-profile-page__hero h1,
  body:not(.admin-body) .account-result-page__card h1 {
    max-width: 18ch;
    font-size: var(--ui-page-title);
    line-height: 1.02;
  }

  body:not(.admin-body) .hero h1,
  body:not(.admin-body) .cartomancy-hero h1 {
    max-width: 12ch;
    font-size: var(--ui-hero-title);
    line-height: 0.98;
  }

  body:not(.admin-body) h2,
  body:not(.admin-body) .feature-grid .form-card h2,
  body:not(.admin-body) .account-auth__card > header h2,
  body:not(.admin-body) .account-profile-card > header h2,
  body:not(.admin-body) .account-section-heading h2,
  body:not(.admin-body) .account-details-card h2,
  body:not(.admin-body) .account-order-panel h2 {
    font-size: var(--ui-section-title);
    line-height: 1.08;
  }

  body:not(.admin-body) .section {
    padding-block: var(--ui-section-space);
  }

  body:not(.admin-body) .section--compact {
    padding-block: var(--ui-section-space-compact);
  }

  body:not(.admin-body) .section-heading,
  body:not(.admin-body) .page-heading {
    margin-bottom: clamp(1.75rem, 4vw, 3rem);
  }

  body:not(.admin-body) .section-heading > a::after {
    display: none;
  }

  body:not(.admin-body) .lead {
    font-size: clamp(1rem, 1.6vw, 1.18rem);
    line-height: 1.65;
  }

  body:not(.admin-body) .site-header__inner {
    min-height: var(--ui-header-height);
  }

  body:not(.admin-body) .site-logo {
    height: 4.4rem;
  }

  body:not(.admin-body) .site-logo img {
    max-height: 4.05rem;
  }

  body:not(.admin-body) .hero {
    min-height: auto;
    gap: clamp(2rem, 5vw, 4rem);
    padding-block: clamp(2.5rem, 5.5vw, 4.5rem);
  }

  body:not(.admin-body) .hero__content {
    padding-left: 0;
  }

  body:not(.admin-body) .hero__media {
    width: min(92%, 34rem);
    margin-inline: auto;
  }

  body:not(.admin-body) .hero__media img {
    aspect-ratio: 4 / 3;
    object-position: center;
  }

  body:not(.admin-body) .toast-region {
    top: calc(var(--ui-header-height) + 0.75rem);
  }

  .shop-intro {
    gap: 1rem;
    padding-bottom: clamp(1.5rem, 4vw, 2.75rem);
  }

  .shop-intro h1 {
    margin-bottom: 0.75rem;
  }

  .shop-intro__actions,
  .cartomancy-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.25rem;
  }

  .shop-ritual-note {
    grid-template-columns: 2.75rem minmax(0, 1fr);
    gap: 0.8rem;
    padding: 1rem;
    border-radius: 0.9rem;
  }

  .shop-ritual-note__icon {
    width: 2.75rem;
    height: 2.75rem;
  }

  .shop-ritual-note h2 {
    margin-bottom: 0.3rem;
    font-size: clamp(1.35rem, 3vw, 1.7rem);
  }

  .shop-ritual-note p:last-child {
    font-size: 0.9rem;
    line-height: 1.55;
  }

  .shop-category-nav {
    display: flex;
    gap: 0.65rem;
    padding: 0.2rem 0 0.65rem;
    margin-block: 1.5rem 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
  }

  .shop-category-nav__link,
  .shop-category-nav__link:last-child {
    min-width: max-content;
    min-height: 3rem;
    flex: 0 0 auto;
    grid-column: auto;
    gap: 0.45rem;
    padding: 0.55rem 0.8rem;
    border: 1px solid #dcc8ad;
    border-radius: 999px;
    scroll-snap-align: start;
  }

  .shop-category-nav__icon {
    width: 1.8rem;
    height: 1.8rem;
  }

  .shop-catalog {
    gap: clamp(2rem, 5vw, 4rem);
    margin-top: 2rem;
  }

  .jewelry-category {
    scroll-margin-top: calc(var(--ui-header-height) + 1rem);
  }

  .jewelry-category__header {
    gap: 0.75rem;
    padding-bottom: 0.85rem;
  }

  .jewelry-category__header h2 {
    margin-bottom: 0.15rem;
    font-size: clamp(1.65rem, 4vw, 2.25rem);
  }

  .jewelry-category__empty {
    min-height: 0;
    padding: 1rem;
  }

  .shop-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
    padding-top: 1rem;
  }

  .shop-grid .product-card--shop {
    border-radius: 0.85rem;
    box-shadow: 0 0.2rem 0.8rem rgb(73 56 47 / 0.06);
  }

  .shop-grid .product-card--shop .product-card__media,
  .product-grid--featured .product-card__media {
    width: 100%;
    margin: 0;
  }

  .shop-grid .product-card--shop .product-card__media img,
  .shop-grid .product-card--shop:nth-child(even) .product-card__media img,
  .product-grid--featured .product-card__media img,
  .product-grid--featured .product-card:nth-child(even) .product-card__media img,
  .product-grid--featured .product-card:nth-child(4n + 1) .product-card__media img,
  .product-grid--featured .product-card:nth-child(4n + 4) .product-card__media img {
    aspect-ratio: 1;
    clip-path: none;
    object-fit: cover;
  }

  .shop-grid .product-card--shop .product-card__body,
  .product-grid--featured .product-card__body {
    align-items: stretch;
    gap: 0;
    padding: 0.8rem;
  }

  .product-card--shop .product-card__meta,
  .product-card--featured .product-card__meta {
    gap: 0.35rem;
    margin-bottom: 0.55rem;
  }

  .product-card--shop .product-card__meta .eyebrow,
  .product-card--featured .product-card__meta .eyebrow {
    font-size: 0.64rem;
    letter-spacing: 0.08em;
  }

  .product-card--shop .product-card__stock {
    padding: 0.18rem 0.4rem;
    font-size: 0.68rem;
  }

  .shop-grid .product-card--shop .product-card__title,
  .product-grid--featured .product-card__title {
    min-height: 2.35em;
    margin-bottom: 0.3rem;
    font-size: clamp(1.15rem, 3.8vw, 1.45rem);
    line-height: 1.08;
  }

  .shop-grid .product-card--shop .product-card__description,
  .product-grid--featured .product-card__description {
    min-height: 2.8em;
    margin-bottom: 0.65rem;
    font-size: 0.78rem;
    line-height: 1.4;
    -webkit-line-clamp: 2;
  }

  .product-card--shop .product-card__price,
  .product-card--featured .product-card__price {
    gap: 0.5rem;
    padding-top: 0.65rem;
    margin-bottom: 0.65rem;
  }

  .product-card--shop .product-card__price .price,
  .product-card--featured .product-card__price .price {
    font-size: 1.3rem;
  }

  .product-card--shop .product-card__price > span:last-child,
  .product-card--featured .product-card__price > span:last-child {
    display: none;
  }

  .product-card__purchase {
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: 0.45rem;
  }

  .product-card__quantity {
    position: relative;
  }

  .product-card__quantity label {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .product-card__quantity select,
  .product-card__add {
    min-height: 2.75rem;
  }

  .product-card__quantity select {
    padding-inline: 0.5rem;
    font-size: 0.9rem;
  }

  .product-card__add {
    padding: 0.35rem 0.45rem;
    font-size: 0.74rem;
    line-height: 1.15;
  }

  .product-card__add .icon {
    width: 0.95rem;
    height: 0.95rem;
  }

  .product-card__details {
    min-height: 2.75rem;
    margin-top: 0.35rem;
    font-size: 0.76rem;
  }

  .product-grid--featured {
    display: grid;
    grid-auto-columns: min(82vw, 20rem);
    grid-auto-flow: column;
    grid-template-columns: none;
    gap: 1rem;
    padding: 0.25rem 0.15rem 1rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: 0.15rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }

  .product-grid--featured .product-card,
  .product-grid--featured .product-card:nth-child(even),
  .product-grid--featured .product-card:nth-child(4n + 1),
  .product-grid--featured .product-card:nth-child(4n + 4) {
    height: 100%;
    grid-column: auto;
    padding-top: 0;
    overflow: hidden;
    border: 1px solid #dac9b5;
    border-radius: 0.9rem;
    background: #fffaf2;
    box-shadow: 0 0.25rem 1rem rgb(73 56 47 / 0.06);
    scroll-snap-align: start;
  }

  .recharge-product,
  .recharge-howto {
    gap: clamp(1.25rem, 4vw, 2.5rem);
  }

  .recharge-product__media {
    min-height: clamp(13rem, 45vw, 20rem);
  }

  .recharge-steps {
    gap: 0.75rem;
  }

  .page-cta {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: 0.8rem 1rem;
    align-items: center;
    padding: clamp(1.1rem, 3vw, 1.6rem);
    margin-top: clamp(2rem, 5vw, 3.5rem);
    border: 1px solid #d9c7b0;
    border-radius: 1rem;
    background: #fffaf2;
    box-shadow: var(--shadow-sm);
  }

  .page-cta__icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border-radius: 0.8rem;
    background: #f0e1cd;
    color: #765227;
  }

  .page-cta__icon .icon {
    width: 1.35rem;
    height: 1.35rem;
  }

  .page-cta__copy {
    min-width: 0;
  }

  .page-cta__copy h2 {
    margin-bottom: 0.3rem;
    font-size: clamp(1.45rem, 3vw, 2rem);
  }

  .page-cta__copy p:last-child {
    color: var(--color-text-muted);
    font-size: 0.9rem;
  }

  .page-cta__actions {
    display: flex;
    grid-column: 1 / -1;
    flex-wrap: wrap;
    gap: 0.65rem;
  }

  .about-chapter {
    padding-top: 1.15rem;
    margin-top: 1.15rem;
    border-top: 1px solid #ddcdbb;
  }

  .about-chapter h2 {
    margin-bottom: 0.35rem;
    font-size: clamp(1.35rem, 3vw, 1.8rem);
  }

  .cartomancy-hero__grid,
  .cartomancy-request__grid {
    gap: clamp(2rem, 6vw, 4.5rem);
  }

  .cartomancy-topics {
    gap: 0.55rem;
    margin-top: 1.25rem;
  }

  .cartomancy-topics li {
    grid-template-columns: 2.35rem minmax(0, 1fr);
    gap: 0.65rem;
    padding: 0.7rem 0.8rem;
  }

  .cartomancy-topics li > .icon {
    width: 2.35rem;
    height: 2.35rem;
    padding: 0.58rem;
  }

  .tarot-media-slot {
    width: min(100%, 32rem);
  }

  #demande-guidance {
    scroll-margin-top: calc(var(--ui-header-height) + 0.75rem);
  }

  .cartomancy-offer .guidance-card {
    margin-top: 1.25rem;
  }

  .guidance-card__price {
    font-size: clamp(2rem, 6vw, 3rem);
  }

  .account-auth,
  .account-dashboard,
  .account-order-page,
  .account-profile-page,
  .account-result-page {
    min-height: auto;
  }

  .account-auth__shell {
    align-items: start;
    gap: clamp(1.25rem, 4vw, 2.5rem);
  }

  .account-auth__card,
  .account-profile-card,
  .account-details-card,
  .account-order-panel {
    padding: clamp(1rem, 3vw, 1.6rem);
    border-radius: 0.95rem;
  }

  .account-auth--compact .account-auth__card,
  .account-auth--login .account-auth__card {
    order: -1;
  }

  .account-auth__icon,
  .account-result-page__icon {
    width: 3rem;
    height: 3rem;
    margin-bottom: 0.75rem;
  }

  .account-benefits {
    gap: 0.5rem;
    margin-top: 1rem;
  }

  .account-form__group {
    padding: 0.9rem;
  }

  .checkout-layout,
  .cart-layout {
    gap: 1rem;
  }

  .checkout-summary {
    order: -1;
  }

  .checkout-panel__header,
  .checkout-summary__header,
  .cart-panel__header,
  .cart-summary__header {
    padding: clamp(1rem, 3vw, 1.4rem);
  }

  .checkout-fieldset {
    padding: 1rem;
  }

  .checkout-consent a {
    font-weight: 750;
  }

  .product-gallery__thumbs {
    grid-template-columns: repeat(auto-fit, minmax(4.5rem, 1fr));
  }

  .product-info {
    display: grid;
  }

  .product-info > .lead {
    order: 1;
  }

  .product-info > .product-buy {
    order: 2;
  }

  .product-info > .product-delivery-note {
    order: 3;
  }

  .product-info > .product-meta {
    order: 4;
  }

  .product-info > .intention {
    order: 5;
  }

  .product-info > .product-ritual {
    order: 6;
  }

  .product-info > .product-unit-note {
    order: 7;
  }

  .product-info > .disclaimer,
  .product-info > .status {
    order: 8;
  }

  .product-unit-note {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 0.84rem;
    line-height: 1.55;
  }

  .admin-nav-more {
    display: none;
  }

  .admin-dashboard,
  .admin-orders-page,
  .admin-promo-page {
    max-width: 72rem;
  }

  .admin-page-heading h1,
  .admin-main h1 {
    font-size: clamp(2rem, 3.5vw, 2.55rem);
    line-height: 1.04;
  }

  .admin-page-heading {
    max-width: 72rem;
  }

  .admin-task-card__count--open svg {
    width: 1.35rem;
    height: 1.35rem;
    margin-left: auto;
  }

  .admin-body .admin-form,
  .admin-body .form-card,
  .admin-editor .admin-form {
    max-width: 64rem;
  }

  .admin-body .status,
  .admin-product-card__facts dt,
  .admin-record-facts dt,
  .admin-order-row__identity p:last-child,
  .admin-order-row__amount time,
  .admin-panel__heading p:last-child:not(.admin-card-kicker),
  .admin-panel__hint,
  .admin-timeline__item time,
  .admin-email-list time {
    font-size: 0.75rem;
  }

  .admin-product-card__facts dd,
  .admin-record-facts dd,
  .admin-order-line p,
  .admin-customer-row__facts dd {
    font-size: 0.82rem;
  }

  .admin-contact-identity {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    align-items: center;
    gap: 0.65rem;
    padding: 0.75rem 0.9rem;
    border-top: 1px solid #e8dfd6;
    background: #fcf8f3;
  }

  .admin-contact-identity > span {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border-radius: 0.65rem;
    background: var(--admin-accent-soft);
    color: var(--admin-accent-strong);
  }

  .admin-contact-identity svg {
    width: 1.1rem;
    height: 1.1rem;
  }

  .admin-contact-identity div {
    display: grid;
    min-width: 0;
    gap: 0.05rem;
  }

  .admin-contact-identity small {
    color: var(--admin-muted);
    font-size: 0.72rem;
    font-weight: 700;
  }

  .admin-contact-identity a {
    min-width: 0;
    font-size: 0.88rem;
    font-weight: 750;
    overflow-wrap: anywhere;
  }
}

@media screen and (max-width: 22rem) {
  .shop-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
  }

  .shop-grid .product-card--shop .product-card__body {
    padding: 0.65rem;
  }

  .shop-grid .product-card--shop .product-card__stock,
  .shop-grid .product-card--shop .product-card__unavailable,
  .shop-grid .product-card--shop .product-card__details {
    font-size: 0.7rem;
  }
}

@media screen and (max-width: 39.99rem) {
  .admin-page-heading h1,
  .admin-main h1 {
    font-size: clamp(1.9rem, 8.5vw, 2.25rem);
  }

  .admin-product-card {
    display: grid;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    align-items: stretch;
  }

  .admin-product-card__visual {
    min-height: 0;
    grid-column: 1;
    grid-row: 1;
  }

  .admin-product-card__visual img {
    height: 100%;
    aspect-ratio: 1;
    object-fit: cover;
  }

  .admin-product-card__body {
    min-width: 0;
    grid-column: 2;
    grid-row: 1;
    padding: 0.75rem;
  }

  .admin-product-card__heading {
    align-items: start;
    gap: 0.35rem;
  }

  .admin-product-card__heading h2 {
    font-size: 1.15rem;
  }

  .admin-product-card__facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .admin-product-card__facts div {
    padding: 0.4rem;
  }

  .admin-product-card__actions {
    grid-column: 1 / -1;
    padding: 0.65rem 0.75rem 0.75rem;
    border-top: 1px solid #e8dfd6;
  }

  .admin-form-actions .button--quiet {
    display: inline-flex;
    width: auto;
    flex: 0 0 auto;
  }

  .admin-form-actions .button:not(.button--quiet) {
    width: auto;
    flex: 1 1 auto;
  }
}

@media screen and (max-width: 47.99rem) {
  body:not(.admin-body) {
    --ui-page-title: clamp(2.35rem, 10vw, 2.75rem);
    --ui-hero-title: clamp(2.7rem, 11.5vw, 3.15rem);
    --ui-section-title: clamp(1.75rem, 8vw, 2.1rem);
    --ui-section-space: clamp(2.5rem, 11vw, 3.25rem);
  }

  body:not(.admin-body) .site-logo {
    height: 4.1rem;
  }

  body:not(.admin-body) .site-logo img {
    max-height: 3.75rem;
  }

  body:not(.admin-body) .hero__media {
    width: calc(100% - 1rem);
  }

  .section-heading {
    gap: 0.75rem;
  }

  .section-heading .text-link-icon {
    width: fit-content;
  }

  .page-cta__actions .button {
    width: 100%;
  }

  .account-auth--compact .account-auth__intro,
  .account-auth--login .account-auth__intro {
    order: 2;
    padding-top: 0.5rem;
  }

  .checkout-summary__note,
  .checkout-summary__trust {
    font-size: 0.82rem;
  }

  .product-detail {
    gap: 1.5rem;
  }

  .product-heading {
    margin-bottom: -0.5rem;
  }
}

@media screen and (max-width: 63.99rem) {
  .admin-sidebar > nav > ul {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .admin-nav-secondary {
    display: none;
  }

  .admin-nav-more {
    position: relative;
    display: block;
  }

  .admin-nav-more details,
  .admin-nav-more summary {
    height: 100%;
  }

  .admin-nav-more summary {
    position: relative;
    display: flex;
    min-height: 4.35rem;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    padding: 0.35rem 0.15rem;
    border-radius: 0.65rem;
    color: var(--admin-muted);
    cursor: pointer;
    font-size: 0.72rem;
    font-weight: 700;
    list-style: none;
  }

  .admin-nav-more summary::-webkit-details-marker {
    display: none;
  }

  .admin-nav-more summary .admin-nav__icon {
    width: 1.25rem;
    height: 1.25rem;
  }

  .admin-nav-more summary > span:not(.admin-nav__badge) {
    display: block;
  }

  .admin-nav-more summary[aria-current="page"],
  .admin-nav-more details[open] summary {
    background: #efe1ce;
    color: var(--admin-accent-strong);
  }

  .admin-nav-more__menu,
  .admin-sidebar nav .admin-nav-more__menu {
    position: absolute;
    z-index: 40;
    right: 0.35rem;
    bottom: calc(100% + 0.6rem);
    display: grid;
    width: min(18rem, calc(100vw - 1rem));
    grid-template-columns: minmax(0, 1fr);
    gap: 0.3rem;
    padding: 0.55rem;
    margin: 0;
    border: 1px solid var(--admin-border);
    border-radius: 0.85rem;
    background: var(--admin-surface-raised);
    box-shadow: 0 1rem 2.5rem rgb(49 43 38 / 0.18);
    list-style: none;
  }

  .admin-sidebar nav .admin-nav-more__menu a {
    min-height: 3.25rem;
    flex-direction: row;
    justify-content: flex-start;
    gap: 0.65rem;
    padding: 0.6rem 0.75rem;
    font-size: 0.86rem;
  }

  .admin-sidebar nav .admin-nav-more__menu .admin-nav__icon {
    width: 1.2rem;
    height: 1.2rem;
  }
}

@media screen and (min-width: 40rem) {
  .product-grid--featured {
    grid-auto-columns: auto;
    grid-auto-flow: row;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
  }

  .page-cta {
    grid-template-columns: 3rem minmax(0, 1fr) auto;
  }

  .page-cta__actions {
    grid-column: auto;
    justify-content: flex-end;
  }

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

  .admin-product-card {
    display: flex;
  }
}

@media screen and (min-width: 48rem) and (max-width: 63.99rem) {
  .account-auth__shell,
  .account-auth--compact .account-auth__shell {
    grid-template-columns: minmax(0, 1fr);
    max-width: 44rem;
  }

  .account-auth--compact .account-auth__card,
  .account-auth--login .account-auth__card {
    order: initial;
  }

  .account-form__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media screen and (min-width: 48rem) {
  .shop-category-nav {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    overflow: visible;
  }

  .shop-category-nav__link,
  .shop-category-nav__link:last-child {
    min-width: 0;
    justify-content: center;
    border-radius: 0.8rem;
  }

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

  .product-card--shop .product-card__price > span:last-child,
  .product-card--featured .product-card__price > span:last-child {
    display: inline;
  }

  .product-card__add {
    font-size: 0.8rem;
  }
}

@media screen and (min-width: 64rem) {
  body:not(.admin-body) {
    --ui-header-height: 5.15rem;
  }

  body:not(.admin-body) .site-logo {
    height: 4.75rem;
  }

  body:not(.admin-body) .site-logo img {
    max-height: 4.35rem;
  }

  body:not(.admin-body) .site-nav a {
    min-height: 2.9rem;
    padding-inline: 0.55rem;
    font-size: 0.84rem;
  }

  body:not(.admin-body) .hero {
    min-height: min(38rem, calc(100dvh - var(--ui-header-height)));
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  }

  body:not(.admin-body) .hero__media {
    width: 100%;
  }

  .shop-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.15rem;
  }

  .shop-grid .product-card--shop .product-card__body,
  .product-grid--featured .product-card__body {
    padding: 1rem;
  }

  .product-grid--featured {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.15rem;
  }

  .shop-grid .product-card--shop .product-card__title,
  .product-grid--featured .product-card__title {
    font-size: 1.45rem;
  }

  .shop-grid .product-card--shop .product-card__description,
  .product-grid--featured .product-card__description {
    min-height: 3.1em;
    font-size: 0.92rem;
    line-height: 1.55;
  }

  .account-auth__shell,
  .account-auth--compact .account-auth__shell {
    grid-template-columns: minmax(0, 0.82fr) minmax(24rem, 1.18fr);
    align-items: start;
  }

  .account-auth--compact .account-auth__card,
  .account-auth--login .account-auth__card {
    order: initial;
  }

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

  .checkout-summary {
    order: initial;
  }

  .admin-task-grid,
  .admin-task-grid:nth-child(n) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (min-width: 82rem) {
  .admin-task-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

body:not(.admin-body) .site-nav > ul > .jewelry-nav {
  position: relative;
  display: block;
  width: 100%;
}

body:not(.admin-body) .site-nav .jewelry-nav__toggle {
  display: flex;
  width: 100%;
  min-height: 3rem;
  align-items: center;
  gap: 0.55rem;
  padding: 0.65rem 0.5rem;
  border: 0;
  border-radius: 0.7rem;
  background: transparent;
  color: #49382f;
  font-family: var(--font-body);
  font-size: 0.84rem;
  font-weight: 650;
  letter-spacing: 0.075em;
  text-align: left;
  text-transform: uppercase;
  cursor: pointer;
}

body:not(.admin-body) .site-nav .jewelry-nav__toggle:hover,
body:not(.admin-body) .site-nav .jewelry-nav__toggle[aria-expanded="true"],
body:not(.admin-body) .site-nav .jewelry-nav__toggle[aria-current="page"] {
  background: #efe1cf;
  color: #765227;
}

body:not(.admin-body) .site-nav .jewelry-nav__toggle:focus-visible {
  outline: 2px solid #765227;
  outline-offset: 2px;
}

body:not(.admin-body) .jewelry-nav__toggle > .icon {
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 auto;
}

body:not(.admin-body) .jewelry-nav__toggle .jewelry-nav__chevron {
  width: 1rem;
  height: 1rem;
  margin-left: auto;
  transition: transform var(--transition);
}

body:not(.admin-body) .jewelry-nav__toggle[aria-expanded="true"] .jewelry-nav__chevron {
  transform: rotate(180deg);
}

body:not(.admin-body) .site-nav .jewelry-nav__submenu {
  display: grid;
  width: 100%;
  gap: 0.15rem;
  padding: 0.45rem;
  margin: 0.2rem 0 0.65rem;
  border-radius: 0.85rem;
  background: #fbf5ec;
  box-shadow: inset 0 0 0 1px rgb(154 121 87 / 0.2);
  list-style: none;
}

body:not(.admin-body) .site-nav .jewelry-nav__submenu[hidden] {
  display: none;
}

body:not(.admin-body) .site-nav .jewelry-nav__submenu > li {
  width: 100%;
}

body:not(.admin-body) .site-nav .jewelry-nav__submenu a {
  min-height: 2.75rem;
  gap: 0.65rem;
  padding: 0.55rem 0.7rem;
  border-radius: 0.65rem;
  color: #4f4036;
  font-size: 0.9rem;
  font-weight: 650;
  letter-spacing: 0.01em;
  text-transform: none;
}

body:not(.admin-body) .site-nav .jewelry-nav__submenu a::after {
  content: none;
}

body:not(.admin-body) .site-nav .jewelry-nav__submenu a:hover,
body:not(.admin-body) .site-nav .jewelry-nav__submenu a:focus-visible {
  background: #eadbc7;
  color: #5f431f;
}

body:not(.admin-body) .site-nav .jewelry-nav__submenu a:focus-visible {
  outline: 2px solid #765227;
  outline-offset: -2px;
}

body:not(.admin-body) .site-nav .jewelry-nav__submenu a .icon {
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 auto;
  color: #8a6337;
}

.tarot-media-slot {
  margin-block: 0;
  background: #e5d8ca;
}

.tarot-media-slot img,
.recharge-product__media img,
.recharge-howto__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tarot-media-slot img {
  object-position: center;
}

.recharge-product__media,
.recharge-howto__media {
  margin: 0;
  overflow: hidden;
  border: 1px solid rgb(138 103 67 / 0.25);
  border-radius: 1rem;
  background: #e8dccd;
}

.recharge-product__media {
  min-height: 0;
  aspect-ratio: 4 / 3;
  place-items: initial;
}

.recharge-product__media::before,
.recharge-product__media::after {
  content: none;
}

.recharge-howto {
  align-items: start;
}

.recharge-howto__media {
  aspect-ratio: 4 / 3;
}

.recharge-howto__content {
  display: grid;
  min-width: 0;
  gap: 1.15rem;
}

.recharge-howto .recharge-steps {
  grid-template-columns: minmax(0, 1fr);
}

.recharge-purchase {
  display: grid;
  gap: 0.9rem;
  padding: 1rem;
  border: 1px solid #d5bfa4;
  border-radius: 1rem;
  background: #fffaf2;
}

.recharge-purchase__summary {
  display: grid;
  gap: 0.25rem;
}

.recharge-purchase__summary p {
  display: flex;
  align-items: baseline;
  gap: 0.55rem;
  margin: 0;
}

.recharge-purchase__summary strong {
  color: #342923;
  font-family: var(--font-heading);
  font-size: 1.65rem;
  line-height: 1;
}

.recharge-purchase__summary p span,
.recharge-purchase__summary small {
  color: #66594f;
}

.recharge-purchase__summary p span {
  font-size: 0.82rem;
  font-weight: 700;
}

.recharge-purchase__summary small {
  font-size: 0.78rem;
  line-height: 1.45;
}

.recharge-purchase__form {
  display: grid;
  grid-template-columns: minmax(4.8rem, 5.25rem) minmax(0, 1fr);
  align-items: end;
  gap: 0.65rem;
}

.recharge-purchase__quantity {
  display: grid;
  gap: 0.3rem;
}

.recharge-purchase__quantity label {
  color: #49382f;
  font-size: 0.76rem;
  font-weight: 750;
}

.recharge-purchase__quantity select {
  width: 100%;
  min-height: 3rem;
  padding: 0.55rem 0.7rem;
  border: 1px solid #b8a58e;
  border-radius: 0.55rem;
  background: #fff;
  color: #342923;
  font-size: 1rem;
}

.recharge-purchase__form .button {
  min-width: 0;
  min-height: 3rem;
  padding-inline: 0.85rem;
  white-space: normal;
}

.recharge-purchase__details {
  display: inline-flex;
  width: fit-content;
  min-height: 2.75rem;
  align-items: center;
  gap: 0.35rem;
  color: #765227;
  font-size: 0.84rem;
  font-weight: 750;
}

.recharge-purchase__details .icon {
  width: 1rem;
  height: 1rem;
}

.recharge-purchase__unavailable {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0;
  color: #66594f;
  font-size: 0.86rem;
  font-weight: 700;
}

.recharge-purchase__unavailable .icon {
  width: 1.1rem;
  height: 1.1rem;
}

@media screen and (max-width: 22rem) {
  .recharge-purchase__form {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media screen and (min-width: 64rem) {
  body:not(.admin-body) .site-nav > ul > .jewelry-nav {
    display: flex;
    width: auto;
    align-self: stretch;
    align-items: center;
  }

  body:not(.admin-body) .site-nav .jewelry-nav__toggle {
    width: auto;
    min-height: 2.9rem;
    padding-inline: 0.55rem;
    border-radius: 0.55rem;
    font-size: 0.84rem;
  }

  body:not(.admin-body) .site-nav .jewelry-nav__submenu {
    position: absolute;
    z-index: 40;
    top: calc(100% + 0.45rem);
    left: 0;
    width: 18rem;
    gap: 0.2rem;
    padding: 0.55rem;
    margin: 0;
    border: 1px solid #d6c2aa;
    border-radius: 0.9rem;
    background: #fffaf2;
    box-shadow: 0 1rem 2.2rem rgb(73 56 47 / 0.16);
  }

  .tarot-media-slot {
    width: min(100%, 34rem);
  }

  .recharge-howto {
    grid-template-columns: minmax(15rem, 0.72fr) minmax(0, 1.28fr);
  }

  .recharge-howto__media {
    height: 100%;
    min-height: 28rem;
    aspect-ratio: auto;
  }
}

@media screen and (min-width: 64rem) and (max-width: 79.99rem) {
  body.menu-open {
    overflow: hidden;
  }

  body:not(.admin-body) .site-header__actions {
    display: flex;
  }

  body:not(.admin-body) .mobile-cart,
  body:not(.admin-body) .menu-toggle {
    display: inline-grid;
  }

  body:not(.admin-body) .nav-cart-item {
    display: none;
  }

  body:not(.admin-body) .site-nav,
  body:not(.admin-body) .mobile-menu,
  body:not(.admin-body) .site-nav:not(.is-open),
  body:not(.admin-body) .mobile-menu:not(.is-open) {
    position: absolute;
    inset: calc(100% + 0.4rem) 0 auto auto;
    display: block;
    width: min(28rem, calc(100vw - 2rem));
    max-height: calc(100dvh - 6.5rem);
    overflow-y: auto;
    border: 1px solid #d6c2aa;
    border-radius: 0.9rem;
    background: #f8f0e6;
    box-shadow: 0 1rem 2.2rem rgb(73 56 47 / 0.16);
  }

  body:not(.admin-body) .site-nav:not(.is-open),
  body:not(.admin-body) .mobile-menu:not(.is-open) {
    display: none;
  }

  body:not(.admin-body) .site-nav > ul {
    display: grid;
    width: 100%;
    gap: 0.15rem;
    padding: 0.8rem;
    margin: 0;
  }

  body:not(.admin-body) .site-nav a {
    min-height: 3rem;
    padding: 0.65rem 0.5rem;
    font-size: 0.84rem;
  }

  body:not(.admin-body) .site-nav > ul > .jewelry-nav {
    display: block;
    width: 100%;
  }

  body:not(.admin-body) .site-nav .jewelry-nav__toggle {
    width: 100%;
    min-height: 3rem;
    padding: 0.65rem 0.5rem;
  }

  body:not(.admin-body) .site-nav .jewelry-nav__submenu {
    position: static;
    width: 100%;
    padding: 0.45rem;
    margin: 0.2rem 0 0.65rem;
    border: 0;
    background: #fbf5ec;
    box-shadow: inset 0 0 0 1px rgb(154 121 87 / 0.2);
  }
}

@media (prefers-reduced-motion: reduce) {
  body:not(.admin-body) .jewelry-nav__toggle .jewelry-nav__chevron {
    transition: none;
  }
}

@media (forced-colors: active) {
  body:not(.admin-body) .site-nav .jewelry-nav__toggle,
  body:not(.admin-body) .site-nav .jewelry-nav__submenu {
    border: 1px solid CanvasText;
  }
}

.bracelet-audience-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  margin-bottom: 1.5rem;
}

.bracelet-audience-nav a {
  display: inline-flex;
  min-height: 2.75rem;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.65rem;
  border: 1px solid #cfb795;
  border-radius: 0.75rem;
  background: #fffaf2;
  color: #49382f;
  font-weight: 750;
  text-align: center;
  text-decoration: none;
}

.bracelet-audience-nav a:hover {
  background: #efe1cf;
}

.bracelet-audience-nav .icon {
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 auto;
}

.bracelet-audience-section {
  min-width: 0;
  scroll-margin-top: 7rem;
}

.bracelet-audience-section + .bracelet-audience-section {
  margin-top: clamp(2.5rem, 7vw, 4.5rem);
}

.bracelet-audience-section__heading {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin-bottom: 1rem;
}

.bracelet-audience-section__heading .eyebrow,
.bracelet-audience-section__heading h3 {
  margin-bottom: 0;
}

.bracelet-audience-section__heading h3 {
  font-size: clamp(1.75rem, 6vw, 2.4rem);
}

.bracelet-audience-section__heading > span {
  color: var(--color-text-muted);
  font-size: 0.82rem;
  font-weight: 700;
}

.bracelet-homme-editorial {
  display: grid;
  min-width: 0;
  align-items: center;
  gap: 1.25rem;
  padding: clamp(1rem, 4vw, 1.5rem);
  border: 1px solid #dbc8b0;
  border-radius: 1rem;
  background: #fbf5ed;
}

.bracelet-homme-editorial figure {
  width: min(100%, 22rem);
  margin: 0 auto;
  overflow: hidden;
  border-radius: 0.85rem;
  background: #e8ddd0;
}

.bracelet-homme-editorial img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

.bracelet-homme-editorial h4 {
  font-size: clamp(1.5rem, 5vw, 2.15rem);
}

.bracelet-homme-editorial + .shop-grid {
  margin-top: 1.25rem;
}

.admin-audience-badge {
  display: inline-flex;
  padding: 0.12rem 0.4rem;
  margin-left: 0.35rem;
  border-radius: 999px;
  background: #eee0cf;
  color: #654823;
  font-size: 0.62rem;
  letter-spacing: 0.03em;
  vertical-align: 0.08rem;
}

@media screen and (min-width: 48rem) {
  .bracelet-homme-editorial {
    grid-template-columns: minmax(14rem, 0.72fr) minmax(0, 1.28fr);
  }
}

.custom-jewelry-layout {
  display: grid;
  min-width: 0;
  gap: clamp(1.5rem, 5vw, 3rem);
  align-items: start;
}

.custom-jewelry-intro,
.custom-jewelry-card,
.custom-jewelry-form {
  min-width: 0;
}

.custom-jewelry-intro__icon {
  display: grid;
  width: 3.5rem;
  height: 3.5rem;
  place-items: center;
  border: 1px solid #d2b995;
  border-radius: 50%;
  background: #f8ecdc;
  color: #765227;
}

.custom-jewelry-intro__icon .icon {
  width: 1.45rem;
  height: 1.45rem;
}

.custom-jewelry-intro h1 {
  max-width: 11ch;
  font-size: var(--ui-page-title);
}

.custom-jewelry-explanation {
  display: grid;
  gap: 0.65rem;
}

.custom-jewelry-explanation > div {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: start;
  gap: 0.7rem;
  padding: 0.8rem;
  border: 1px solid #dfd0bd;
  border-radius: 0.85rem;
  background: rgb(255 250 242 / 0.72);
}

.custom-jewelry-explanation .icon {
  width: 2.5rem;
  height: 2.5rem;
  padding: 0.62rem;
  border-radius: 50%;
  background: #efe1cf;
  color: #765227;
}

.custom-jewelry-explanation p {
  display: grid;
  gap: 0.12rem;
  margin: 0;
}

.custom-jewelry-explanation span {
  color: var(--color-text-muted);
  font-size: 0.84rem;
  line-height: 1.55;
}

.custom-jewelry-card {
  width: 100%;
  max-width: 45rem;
}

.custom-jewelry-modes {
  display: grid;
  gap: 0.65rem;
  padding: 0;
  margin: 0;
  border: 0;
}

.custom-jewelry-modes legend {
  width: 100%;
  margin-bottom: 0.35rem;
  font-weight: 750;
}

.custom-jewelry-modes label {
  position: relative;
  cursor: pointer;
}

.custom-jewelry-modes input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

.custom-jewelry-modes label > span {
  display: grid;
  min-height: 5.25rem;
  grid-template-columns: 2.6rem minmax(0, 1fr);
  align-content: center;
  gap: 0.1rem 0.7rem;
  padding: 0.8rem;
  border: 1px solid #d9c7b2;
  border-radius: 0.8rem;
  background: #fffaf3;
}

.custom-jewelry-modes .icon {
  width: 2.6rem;
  height: 2.6rem;
  grid-row: 1 / 3;
  padding: 0.65rem;
  border-radius: 50%;
  background: #f0e3d2;
  color: #77552d;
}

.custom-jewelry-modes strong,
.custom-jewelry-modes small {
  grid-column: 2;
}

.custom-jewelry-modes small {
  color: var(--color-text-muted);
  line-height: 1.4;
}

.custom-jewelry-modes input:checked + span {
  border-color: #927047;
  background: #f3e6d5;
  box-shadow: inset 0 0 0 1px #927047;
}

.custom-jewelry-modes input:focus-visible + span {
  outline: 0.1875rem solid var(--color-focus);
  outline-offset: 0.1875rem;
}

.custom-jewelry-contact {
  display: grid;
  gap: 1rem;
}

.custom-model-preview {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr);
  align-items: center;
  gap: 0.8rem;
  padding: 0.7rem;
  border: 1px solid #dfd0bd;
  border-radius: 0.8rem;
  background: rgb(255 250 242 / 0.78);
}

.custom-model-preview[hidden] {
  display: none;
}

.custom-model-preview img {
  width: 5.5rem;
  height: 4.5rem;
  object-fit: cover;
  border-radius: 0.65rem;
}

.custom-model-preview img[hidden] {
  display: none;
}

.custom-model-preview p {
  display: grid;
  gap: 0.1rem;
  margin: 0;
}

.custom-model-preview span {
  color: var(--color-text-muted);
  font-size: 0.75rem;
}

.custom-model-preview strong {
  overflow-wrap: anywhere;
}

.custom-jewelry-form__note {
  display: grid;
  grid-template-columns: 1.15rem minmax(0, 1fr);
  align-items: start;
  gap: 0.45rem;
  margin: 0;
  color: var(--color-text-muted);
  font-size: 0.82rem;
}

.custom-jewelry-form__note .icon {
  width: 1.15rem;
  height: 1.15rem;
  margin-top: 0.15rem;
  color: #765227;
}

.admin-message-kind {
  display: inline-flex;
  width: fit-content;
  padding: 0.2rem 0.48rem;
  border-radius: 999px;
  background: #eee0cf;
  color: #654823;
  font-size: 0.68rem;
  font-weight: 800;
}

.admin-custom-request {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.75rem;
  background: var(--admin-surface-soft);
}

.admin-custom-request__title {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: center;
  gap: 0.65rem;
}

.admin-custom-request__title > svg {
  width: 2.5rem;
  height: 2.5rem;
  padding: 0.62rem;
  border-radius: 50%;
  background: #fffaf3;
  color: var(--admin-accent-strong);
}

.admin-custom-request__title div {
  display: grid;
}

.admin-custom-request__title small {
  color: var(--admin-muted);
}

.admin-custom-request dl {
  display: grid;
  gap: 0;
  margin: 0;
}

.admin-custom-request dl > div {
  display: grid;
  grid-template-columns: minmax(8rem, 0.55fr) minmax(0, 1fr);
  gap: 0.6rem;
  padding-block: 0.55rem;
  border-top: 1px solid var(--admin-border);
}

.admin-custom-request dt {
  color: var(--admin-muted);
  font-size: 0.75rem;
}

.admin-custom-request dd {
  min-width: 0;
  margin: 0;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.admin-custom-model-current-photo {
  display: grid;
  width: min(100%, 20rem);
  gap: 0.75rem;
}

.admin-custom-model-current-photo img {
  width: 100%;
  aspect-ratio: 5 / 4;
  object-fit: cover;
  border: 1px solid var(--admin-border);
  border-radius: 0.85rem;
  background: var(--admin-surface-soft);
}

@media screen and (min-width: 48rem) {
  .custom-jewelry-modes,
  .custom-jewelry-contact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .custom-jewelry-contact .form-section {
    grid-column: 1 / -1;
  }
}

@media screen and (min-width: 64rem) {
  .custom-jewelry-layout {
    grid-template-columns: minmax(0, 0.78fr) minmax(28rem, 1.22fr);
  }

  .custom-jewelry-intro {
    position: sticky;
    top: 7rem;
  }
}

@media screen and (max-width: 31rem) {
  .admin-custom-request dl > div {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.12rem;
  }
}

.guidance-name-note {
  display: grid;
  grid-template-columns: 2.65rem minmax(0, 1fr);
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem;
  border: 1px solid #ddcab2;
  border-radius: 0.85rem;
  background: #fffaf3;
  color: #57483e;
}

.guidance-name-note > .icon {
  width: 2.65rem;
  height: 2.65rem;
  padding: 0.68rem;
  border-radius: 50%;
  background: #efe1cf;
  color: #79572d;
}

.guidance-name-note strong {
  color: #332922;
}

.guidance-question-page {
  width: min(100% - 2rem, 52rem);
}

.guidance-question-card {
  overflow: hidden;
}

.guidance-question-card__heading {
  max-width: 43rem;
}

.guidance-question-card__heading h1 {
  max-width: 14ch;
  font-size: clamp(2.4rem, 8vw, 4.6rem);
  line-height: 0.98;
}

.guidance-privacy-note {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  align-items: center;
  gap: 0.8rem;
  padding: 0.9rem;
  border-radius: 0.85rem;
  background: #f4eadc;
  color: #594a40;
}

.guidance-privacy-note > span {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 50%;
  background: #fffaf3;
  color: #76552d;
}

.guidance-privacy-note .icon {
  width: 1.2rem;
  height: 1.2rem;
}

.guidance-privacy-note p,
.form-error-summary p {
  margin: 0;
}

.form-error-summary {
  display: grid;
  gap: 0.25rem;
  padding: 0.9rem 1rem;
  border: 1px solid #d8a09b;
  border-radius: 0.8rem;
  background: #fff2ef;
  color: #742d29;
}

.guidance-question-form {
  gap: 1.25rem;
}

.guidance-topic-fieldset {
  display: grid;
  gap: 0.65rem;
  padding: 0;
  margin: 0;
  border: 0;
}

.guidance-topic-fieldset legend {
  width: 100%;
  padding: 0;
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: 0.94rem;
  font-weight: 750;
}

.guidance-topic-fieldset > .field-hint {
  margin: -0.35rem 0 0.15rem;
}

.guidance-topic-choices {
  display: grid;
  gap: 0.65rem;
}

.guidance-topic-choices label {
  position: relative;
  cursor: pointer;
}

.guidance-topic-choices input {
  position: absolute;
  inset: 0 auto auto 0;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.guidance-topic-choices label > span {
  display: grid;
  min-height: 5.5rem;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  align-content: center;
  gap: 0.12rem 0.7rem;
  padding: 0.85rem;
  border: 1px solid #d9c7b2;
  border-radius: 0.8rem;
  background: #fffaf3;
  transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.guidance-topic-choices .icon {
  width: 2.4rem;
  height: 2.4rem;
  grid-row: 1 / 3;
  padding: 0.58rem;
  border-radius: 50%;
  background: #f0e3d2;
  color: #77552d;
}

.guidance-topic-choices strong,
.guidance-topic-choices small {
  grid-column: 2;
}

.guidance-topic-choices strong {
  color: #352a23;
  font-size: 0.93rem;
}

.guidance-topic-choices small {
  color: #6e625a;
  font-size: 0.78rem;
  line-height: 1.45;
}

.guidance-topic-choices input:checked + span {
  border-color: #927047;
  background: #f3e6d5;
  box-shadow: inset 0 0 0 1px #927047;
}

.guidance-topic-choices input:focus-visible + span {
  outline: 0.1875rem solid var(--color-focus);
  outline-offset: 0.1875rem;
}

.guidance-conditional-label {
  display: inline-block;
  padding: 0.15rem 0.45rem;
  margin-left: 0.35rem;
  border-radius: 999px;
  background: #efe3d4;
  color: #6c553d;
  font-size: 0.72rem;
  font-weight: 650;
  vertical-align: 0.08rem;
}

.guidance-concerned-field[hidden] {
  display: none;
}

.guidance-status-card {
  overflow: hidden;
}

.guidance-photo-section {
  padding-top: 1.25rem;
  border-top: 1px solid #dfd0bd;
}

.guidance-photo-section h2 {
  margin-bottom: 0;
  font-size: clamp(1.65rem, 5vw, 2.25rem);
}

.guidance-photo-grid {
  display: grid;
  gap: 0.85rem;
}

.guidance-photo {
  margin: 0;
  overflow: hidden;
  border: 1px solid #d8c5ad;
  border-radius: 0.9rem;
  background: #eee3d5;
}

.guidance-photo a {
  display: block;
}

.guidance-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform 180ms ease;
}

.guidance-photo a:hover img {
  transform: scale(1.015);
}

.guidance-photo a:focus-visible {
  outline: 0.1875rem solid var(--color-focus);
  outline-offset: -0.1875rem;
}

@media screen and (min-width: 48rem) {
  .guidance-topic-choices {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

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

  .guidance-topic-choices label > span {
    min-height: 10rem;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    justify-items: start;
    gap: 0.55rem;
  }

  .guidance-topic-choices .icon,
  .guidance-topic-choices strong,
  .guidance-topic-choices small {
    grid-column: 1;
    grid-row: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .guidance-topic-choices label > span,
  .guidance-photo img {
    transition: none;
  }
}

@media screen {
  .admin-photo-manager,
  .admin-photo-card,
  .admin-photo-card__choices,
  .admin-choice > span {
    min-width: 0;
    max-width: 100%;
  }

  .admin-choice > span {
    overflow-wrap: anywhere;
  }

  .admin-choice > input {
    flex: 0 0 auto;
  }

  .admin-list-primary-action {
    min-height: 2.75rem;
  }

  .admin-request-card__top > div,
  .admin-request-card__top h2 {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .admin-guidance-upload {
    display: grid;
    min-width: 0;
    gap: 0.65rem;
    padding: 0.9rem;
    border: 1px solid var(--admin-border);
    border-radius: 0.8rem;
    background: var(--admin-surface-soft);
  }

  .admin-guidance-upload .admin-form-section__heading {
    margin-bottom: 0.15rem;
  }

.admin-guidance-upload .admin-upload-button {
    display: inline-flex;
    width: fit-content;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.65rem 0.9rem;
    border: 1px solid var(--admin-accent);
    border-radius: 0.65rem;
    background: var(--admin-surface);
    color: var(--admin-accent-strong);
    font-size: 0.84rem;
    font-weight: 750;
    line-height: 1.25;
    text-align: center;
    cursor: pointer;
  }

  .admin-guidance-upload .admin-upload-button:hover {
    background: #f8efe4;
  }

  .admin-guidance-upload .admin-upload-button svg {
    width: 1.05rem;
    height: 1.05rem;
    flex: 0 0 auto;
  }

  .admin-body .admin-guidance-upload input.admin-file-input[type="file"] {
    position: absolute;
    width: 1px;
    min-height: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .admin-guidance-upload:has(.admin-file-input:focus-visible) .admin-upload-button {
    outline: 0.1875rem solid var(--color-focus);
    outline-offset: 0.1875rem;
  }

  .admin-file-feedback {
    margin: 0;
    color: var(--admin-accent-strong);
    font-size: 0.78rem;
    font-weight: 750;
  }

  .admin-answer-submit {
    width: fit-content;
    max-width: 100%;
  }

  .admin-guidance-photos {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr));
    gap: 0.65rem;
  }

  .admin-guidance-photos a {
    display: block;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--admin-border);
    border-radius: 0.7rem;
    background: var(--admin-surface-soft);
  }

  .admin-guidance-photos img {
    display: block;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }
}

.guidance-start-card {
  min-width: 0;
  padding: clamp(1.1rem, 4vw, 2rem);
}

.guidance-unified-form,
.guidance-question-list,
.guidance-answer-list,
.admin-guidance-question-list,
.admin-guidance-answer-list {
  display: grid;
  gap: 1rem;
}

.guidance-form-offer {
  display: grid;
  gap: 0.35rem;
  padding: 1rem 1.1rem;
  border: 1px solid #d9c5aa;
  border-radius: 0.9rem;
  background: #fffaf3;
}

.guidance-form-offer strong {
  color: #4f361b;
  font-size: 1rem;
}

.guidance-form-offer__title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
}

.guidance-form-offer p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 0.92rem;
  line-height: 1.55;
}

.guidance-question-card {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

.guidance-count-fieldset {
  min-width: 0;
}

.guidance-count-fieldset select {
  width: 100%;
  min-height: 3.25rem;
  color: #3a2e27;
  font-weight: 700;
}

.guidance-question-card {
  display: grid;
  gap: 0.9rem;
  padding: clamp(0.85rem, 3vw, 1.15rem);
  border: 1px solid #dfcdb7;
  border-radius: 0.95rem;
  background: #fffaf3;
}

.guidance-question-card[hidden] {
  display: none;
}

.guidance-question-card > legend {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0 0.15rem;
  color: #3a2e27;
  font-weight: 800;
}

.guidance-question-card > legend small {
  color: #76552d;
  font-size: 0.8rem;
}

.field-optional {
  color: #73665d;
  font-size: 0.75rem;
  font-weight: 500;
}

.guidance-form-total {
  display: flex;
  min-height: 3.5rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.8rem 1rem;
  border-radius: 0.8rem;
  background: #eee0ce;
  color: #46372d;
}

.guidance-form-total strong {
  color: #684719;
  font-size: 1.1rem;
  font-variant-numeric: tabular-nums;
}

.guidance-answer-card h2 {
  margin-bottom: 0.55rem;
  font-size: clamp(1.25rem, 4vw, 1.65rem);
}

@media screen {
  .admin-guidance-question-list,
  .admin-guidance-answer-list {
    min-width: 0;
  }

  .admin-guidance-question-item,
  .admin-guidance-answer-item {
    min-width: 0;
    padding: 0.9rem;
    border: 1px solid var(--admin-border);
    border-radius: 0.8rem;
    background: var(--admin-surface-soft);
    overflow-wrap: anywhere;
  }

  .admin-guidance-question-item h3,
  .admin-guidance-answer-context strong {
    color: var(--admin-accent-strong);
  }

  .admin-guidance-concerned {
    margin-bottom: 0.55rem;
    color: var(--admin-muted);
  }

  .admin-guidance-answer-context {
    display: grid;
    gap: 0.25rem;
    margin-bottom: 0.75rem;
    color: var(--admin-muted);
  }

  .admin-guidance-answer-context span {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
}

.guidance-offer-fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

.guidance-offer-fieldset legend {
  width: 100%;
  padding: 0;
  margin-bottom: 0.7rem;
  color: var(--color-text);
  font-weight: 750;
}

.guidance-offer-choices {
  display: grid;
  grid-auto-rows: 1fr;
  gap: 0.75rem;
}

.guidance-offer-choice {
  position: relative;
  min-width: 0;
  cursor: pointer;
}

.guidance-offer-choice > input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

.guidance-offer-choice__card {
  position: relative;
  display: grid;
  height: 100%;
  min-height: 7.5rem;
  align-content: center;
  gap: 0.6rem;
  padding: 1rem;
  overflow: hidden;
  border: 1px solid #d8c4aa;
  border-radius: 1rem;
  background: #fffaf3;
  color: #4d4037;
  box-shadow: 0 0.4rem 1.2rem rgb(85 61 42 / 0.06);
  transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.guidance-offer-choice__heading,
.guidance-offer-choice__heading > span {
  display: flex;
  min-width: 0;
  align-items: center;
}

.guidance-offer-choice__heading {
  justify-content: space-between;
  gap: 0.75rem;
}

.guidance-offer-choice__heading > span {
  gap: 0.55rem;
}

.guidance-offer-choice__heading .icon {
  width: 2.15rem;
  height: 2.15rem;
  padding: 0.48rem;
  border-radius: 50%;
  background: #f0e1cf;
  color: #76532c;
}

.guidance-offer-choice__heading strong {
  color: #332922;
  font-family: var(--font-heading);
  font-size: clamp(1.12rem, 4vw, 1.35rem);
  line-height: 1.1;
}

.guidance-offer-choice__heading b {
  flex: 0 0 auto;
  color: #684719;
  font-size: 1rem;
  font-variant-numeric: tabular-nums;
}

.guidance-offer-choice__card > small {
  max-width: 46ch;
  color: #685d55;
  font-size: 0.86rem;
  font-weight: 400;
  line-height: 1.55;
}

.guidance-offer-choice > input:checked + .guidance-offer-choice__card {
  padding-bottom: 2.25rem;
  border-color: #8e6939;
  background: #f3e5d2;
  box-shadow: inset 0 0 0 2px #8e6939, 0 0.55rem 1.4rem rgb(85 61 42 / 0.1);
}

.guidance-offer-choice > input:checked + .guidance-offer-choice__card::after {
  content: "Choisi";
  position: absolute;
  right: 0.7rem;
  bottom: 0.55rem;
  padding: 0.16rem 0.5rem;
  border-radius: 999px;
  background: #745022;
  color: #fffaf3;
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.04em;
}

.guidance-offer-choice > input:focus-visible + .guidance-offer-choice__card {
  outline: 0.1875rem solid var(--color-focus);
  outline-offset: 0.1875rem;
}

.guidance-offer-choice:hover .guidance-offer-choice__card {
  border-color: #a47c4a;
}

@media screen and (min-width: 42rem) and (max-width: 63.99rem) {
  .guidance-offer-choices {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 25rem) {
  .guidance-offer-choice__heading {
    align-items: flex-start;
  }

  .guidance-offer-choice__heading > span {
    align-items: flex-start;
  }

  .guidance-offer-choice__heading b {
    font-size: 0.9rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .guidance-offer-choice__card {
    transition: none;
  }
}

@media (forced-colors: active) {
  .guidance-offer-choice__card,
  .guidance-offer-choice > input:checked + .guidance-offer-choice__card {
    border: 1px solid CanvasText;
    box-shadow: none;
  }
}

@media screen and (max-width: 39.99rem) {
  .admin-request-card__top {
    grid-template-columns: 2.65rem minmax(0, 1fr);
    align-items: start;
  }

  .admin-request-card__top > .status {
    grid-column: 2;
    justify-self: start;
  }

  .admin-product-card__heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-product-card__heading > .status {
    justify-self: start;
  }

  .admin-inbox-card__actions,
  .admin-request-card__actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-list-primary-action,
  .admin-answer-submit {
    width: 100%;
  }

  .admin-promo-card__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-promo-card__actions form,
  .admin-promo-card__actions .button {
    width: 100%;
    min-width: 0;
  }

  .admin-guidance-upload .admin-upload-button {
    width: 100%;
  }
}

body:not(.admin-body) .site-nav .jewelry-nav__submenu .jewelry-nav__group {
  display: grid;
  gap: 0.15rem;
  padding: 0.3rem;
  border: 1px solid rgb(154 121 87 / 0.18);
  border-radius: 0.75rem;
  background: rgb(255 250 242 / 0.72);
}

body:not(.admin-body) .site-nav .jewelry-nav__submenu .jewelry-nav__group > ul {
  display: grid;
  gap: 0.1rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

body:not(.admin-body) .site-nav .jewelry-nav__submenu .jewelry-nav__group-title {
  color: #6b4b29;
  font-weight: 800;
}

body:not(.admin-body) .site-nav .jewelry-nav__submenu .jewelry-nav__group > ul a {
  padding-left: 2.4rem;
  color: #66574d;
  font-size: 0.86rem;
  font-weight: 620;
}

@media screen and (min-width: 64rem) {
  body:not(.admin-body) .site-nav .jewelry-nav__submenu {
    width: min(34rem, calc(100vw - 2rem));
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
  }

  body:not(.admin-body) .site-nav .jewelry-nav__submenu > .jewelry-nav__overview {
    grid-column: 1 / -1;
  }
}

.shop-catalog--structured {
  gap: clamp(2.75rem, 7vw, 5.5rem);
}

.catalog-family,
.catalog-subsection {
  min-width: 0;
  scroll-margin-top: calc(var(--ui-header-height) + 1rem);
}

.catalog-family__header > div,
.catalog-subsection__header > div {
  min-width: 0;
}

.catalog-family__header > div > p:last-child,
.catalog-subsection__header p {
  max-width: 48rem;
  margin: 0.25rem 0 0;
  color: var(--color-text-muted);
  line-height: 1.55;
}

.catalog-subsection-list {
  display: grid;
  gap: clamp(2.25rem, 6vw, 4.5rem);
  margin-top: clamp(1.35rem, 3vw, 2rem);
}

.catalog-subsection__header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.25rem;
}

.catalog-subsection__header h3 {
  margin: 0;
  font-size: clamp(1.45rem, 4vw, 2rem);
}

.catalog-subsection__icon {
  display: grid;
  width: 2.8rem;
  height: 2.8rem;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid #d8c3a6;
  border-radius: 50%;
  background: #fbf4e9;
  color: #765227;
}

.catalog-subsection__icon .icon {
  width: 1.3rem;
  height: 1.3rem;
}

.catalog-empty-state {
  margin-top: 1rem;
  border: 1px solid #deccb6;
  border-radius: 0.9rem;
  background: #fffaf3;
}

.catalog-empty-state p {
  margin: 0;
}

.catalog-empty-state p + p {
  margin-top: 0.25rem;
}

@media screen and (min-width: 48rem) {
  .catalog-subsection-list--permanent {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }

  .catalog-subsection-list--permanent .catalog-subsection {
    display: flex;
    min-height: 13rem;
    flex-direction: column;
    padding: 1.15rem;
    border: 1px solid #deccb6;
    border-radius: 1rem;
    background: #fffaf3;
  }

  .catalog-subsection-list--permanent .catalog-subsection--has-products {
    grid-column: 1 / -1;
  }

  .catalog-subsection-list--permanent .catalog-empty-state {
    flex: 1;
    padding: 0;
    border: 0;
    background: transparent;
  }
}

@media screen and (min-width: 64rem) {
  .shop-grid .product-card--shop .product-card__description,
  .product-grid--featured .product-card__description {
    min-height: 4.8em;
    font-size: 1rem;
    line-height: 1.6;
    -webkit-line-clamp: 3;
  }
}

.shop-category-nav--jewelry,
.rituals-category-nav {
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
}

.rituals-intro .lead {
  max-width: 46rem;
}

.rituals-catalog {
  margin-top: clamp(2.5rem, 7vw, 5rem);
}

.ritual-category {
  scroll-margin-top: calc(var(--ui-header-height) + 1rem);
}

.shipping-page {
  background:
    radial-gradient(circle at 88% 4%, rgb(184 194 174 / 0.24), transparent 24rem),
    var(--color-background);
}

.shipping-shell {
  display: grid;
  max-width: 68rem;
  gap: clamp(1rem, 3vw, 1.5rem);
}

.shipping-hero {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 1rem;
  max-width: 52rem;
  margin-bottom: clamp(0.5rem, 2vw, 1.25rem);
}

.shipping-hero__icon,
.shipping-card__heading > span {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid var(--color-border);
  border-radius: 50%;
  background: var(--color-surface);
  color: var(--color-accent-hover);
}

.shipping-hero__icon {
  width: 3.5rem;
  height: 3.5rem;
}

.shipping-hero__icon .icon {
  width: 1.55rem;
  height: 1.55rem;
}

.shipping-hero h1,
.shipping-hero p,
.shipping-card h2,
.shipping-card p {
  margin: 0;
}

.shipping-hero h1 {
  margin-top: 0.15rem;
  font-size: var(--ui-page-title);
}

.shipping-hero .lead {
  max-width: 46rem;
  margin-top: 0.75rem;
  color: var(--color-text-muted);
}

.shipping-card {
  min-width: 0;
  padding: clamp(1.15rem, 3vw, 1.75rem);
  border: 1px solid var(--color-border);
  border-radius: 1rem;
  background: rgb(255 250 242 / 0.92);
  box-shadow: var(--shadow-sm);
}

.shipping-card--primary {
  display: grid;
  gap: 1.25rem;
}

.shipping-card__heading {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
}

.shipping-card__heading > span {
  width: 2.75rem;
  height: 2.75rem;
}

.shipping-card__heading .icon {
  width: 1.25rem;
  height: 1.25rem;
}

.shipping-card__heading > div {
  min-width: 0;
}

.shipping-card__heading h2 {
  font-size: clamp(1.45rem, 4vw, 2rem);
}

.shipping-card__heading p:last-child {
  max-width: 48rem;
  margin-top: 0.35rem;
  color: var(--color-text-muted);
}

.shipping-rates {
  display: grid;
  gap: 0.6rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.shipping-rates li {
  display: flex;
  min-height: 3.25rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 0.9rem;
  border: 1px solid rgb(172 153 130 / 0.48);
  border-radius: 0.75rem;
  background: #fffdf8;
}

.shipping-rates li span {
  color: var(--color-text-muted);
  line-height: 1.45;
}

.shipping-rates li strong {
  flex: 0 0 auto;
  color: var(--color-primary);
  font-variant-numeric: tabular-nums;
}

.shipping-free-note {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem;
  border-radius: 0.85rem;
  background: #e9eee4;
  color: #3d533d;
}

.shipping-free-note > .icon {
  width: 1.3rem;
  height: 1.3rem;
  flex: 0 0 auto;
  margin-top: 0.15rem;
}

.shipping-free-note p {
  display: grid;
  gap: 0.15rem;
}

.shipping-free-note span {
  color: #4f6250;
}

.shipping-details-grid {
  display: grid;
  gap: 1rem;
}

.shipping-returns {
  display: grid;
  gap: 1rem;
}

.shipping-returns__copy {
  max-width: 50rem;
  padding-left: 3.6rem;
}

.shipping-returns__copy .button {
  width: fit-content;
}

.delivery-methods {
  margin: 0;
  padding: clamp(1rem, 3vw, 1.5rem);
  border: 1px solid var(--color-border);
  border-radius: 1rem;
  background: rgb(255 253 249 / 0.84);
}

.delivery-methods legend {
  padding: 0 0.45rem;
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 3vw, 1.65rem);
}

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

.delivery-method-card {
  position: relative;
  min-width: 0;
  cursor: pointer;
}

.delivery-method-card input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.delivery-method-card > span {
  display: grid;
  min-height: 6.5rem;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  gap: 0.15rem 0.75rem;
  padding: 1rem;
  border: 1px solid var(--color-border);
  border-radius: 0.9rem;
  background: #fffdf9;
  transition: border-color var(--transition), box-shadow var(--transition), background-color var(--transition);
}

.delivery-method-card .icon {
  grid-row: 1 / 3;
  align-self: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0.65rem;
  border-radius: 50%;
  color: var(--color-accent-hover);
  background: #f3e6d1;
}

.delivery-method-card small {
  color: var(--color-text-muted);
  line-height: 1.45;
}

.delivery-method-card input:checked + span {
  border-color: #8b632f;
  background: #f8edda;
  box-shadow: 0 0 0 3px rgb(139 99 47 / 0.16);
}

.delivery-method-card input:focus-visible + span {
  outline: 3px solid rgb(139 99 47 / 0.35);
  outline-offset: 2px;
}

.delivery-method-card.is-unavailable {
  cursor: not-allowed;
  opacity: 0.5;
}

.home-delivery-confirmation {
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
  padding: 1.15rem;
  border: 1px solid var(--color-border);
  border-radius: 1rem;
  background: #f8f1e6;
}

.home-delivery-confirmation[hidden] {
  display: none;
}

.home-delivery-confirmation > span {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  color: var(--color-accent-hover);
  background: #fffaf2;
}

.home-delivery-confirmation p {
  margin: 0.3rem 0 0;
  color: var(--color-text-muted);
}

.relay-picker {
  display: grid;
  gap: 1rem;
  padding: clamp(1rem, 3vw, 1.35rem);
  margin-top: 1.25rem;
  border: 1px solid var(--color-border);
  border-radius: 1rem;
  background: #fbf5ec;
}

.relay-picker:focus-within {
  border-color: var(--color-border-strong);
}

.relay-picker__heading {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
}

.relay-picker__heading > span {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: #efe1cf;
  color: var(--color-accent-hover);
}

.relay-picker__heading > span .icon {
  width: 1.25rem;
  height: 1.25rem;
}

.relay-picker__heading h2,
.relay-picker__heading p {
  margin: 0;
}

.relay-picker__heading h2 {
  font-size: clamp(1.35rem, 4vw, 1.8rem);
}

.relay-picker__heading p:last-child {
  margin-top: 0.3rem;
  color: var(--color-text-muted);
}

.relay-picker__search {
  width: fit-content;
  min-height: 2.75rem;
}

.relay-picker__search[aria-busy="true"] {
  cursor: wait;
  opacity: 0.72;
}

.relay-picker__status {
  min-height: 1.55rem;
  margin: 0;
  color: var(--color-text-muted);
  font-size: 0.92rem;
}

.relay-picker__results {
  display: grid;
  gap: 0.65rem;
}

.relay-point {
  display: grid;
  min-height: 4.75rem;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: 0.8rem;
  padding: 0.85rem;
  border: 1px solid var(--color-border);
  border-radius: 0.8rem;
  background: var(--color-surface);
  color: var(--color-text);
  cursor: pointer;
  transition: border-color var(--transition), background-color var(--transition), box-shadow var(--transition);
}

.relay-point[data-relay-current] {
  grid-template-columns: auto minmax(0, 1fr);
}

.relay-point:hover,
.relay-point:focus-within,
.relay-point--selected {
  border-color: #94704a;
  background: #fff8ed;
}

.relay-point:focus-within {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}

.relay-point > input {
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  accent-color: var(--color-accent-hover);
}

.relay-point__marker,
.relay-point__icon {
  display: grid;
  width: 2.35rem;
  height: 2.35rem;
  place-items: center;
  border-radius: 50%;
  background: #efe1cf;
  color: var(--color-accent-hover);
}

.relay-point__marker::before {
  content: "";
  width: 0.65rem;
  height: 0.65rem;
  border: 2px solid currentColor;
  border-radius: 50%;
}

.relay-point--selected .relay-point__marker::before {
  border-width: 0.32rem;
}

.relay-point__icon .icon {
  width: 1.2rem;
  height: 1.2rem;
}

.relay-point__copy {
  display: grid;
  min-width: 0;
  line-height: 1.4;
}

.relay-point__copy span,
.relay-point__copy small {
  color: var(--color-text-muted);
}

.relay-point__copy small {
  margin-top: 0.2rem;
  font-weight: 700;
}

.cart-empty__actions,
.cart-summary__shop-links {
  display: grid;
  gap: 0.55rem;
}

.cart-empty__actions .button {
  width: 100%;
}

.cart-summary__delivery + .cart-free-shipping {
  margin-top: 0.65rem;
}

.cart-free-shipping {
  display: grid;
  gap: 0.7rem;
  padding: 0.85rem;
  border-radius: 0.8rem;
  background: #f3e8d8;
}

.cart-free-shipping > div {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
}

.cart-free-shipping .icon {
  width: 1.2rem;
  height: 1.2rem;
  flex: 0 0 auto;
  margin-top: 0.15rem;
  color: var(--color-accent-hover);
}

.cart-free-shipping p {
  display: grid;
  gap: 0.1rem;
  margin: 0;
  color: var(--color-text-muted);
  font-size: 0.84rem;
}

.cart-free-shipping strong {
  color: var(--color-primary);
}

.cart-free-shipping progress {
  width: 100%;
  height: 0.55rem;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  accent-color: var(--color-accent);
}

.cart-free-shipping progress::-webkit-progress-bar {
  background: #ddcfbb;
}

.cart-free-shipping progress::-webkit-progress-value {
  background: var(--color-accent);
}

.cart-free-shipping progress::-moz-progress-bar {
  background: var(--color-accent);
}

.cart-summary__shop-links {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.cart-summary__shop-links a {
  display: inline-flex;
  min-height: 2.75rem;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.55rem;
  border: 1px solid var(--color-border);
  border-radius: 0.7rem;
  background: var(--color-surface);
  color: var(--color-primary);
  font-size: 0.82rem;
  font-weight: 750;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
}

.cart-summary__shop-links a:hover,
.cart-summary__shop-links a:focus-visible {
  border-color: var(--color-border-strong);
  background: #efe1cf;
}

.cart-summary__shop-links .icon {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
}

@media screen and (max-width: 39.99rem) {
  .delivery-methods__choices {
    grid-template-columns: minmax(0, 1fr);
  }

  .shipping-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .shipping-hero__icon {
    width: 3rem;
    height: 3rem;
  }

  .shipping-card__heading {
    gap: 0.65rem;
  }

  .shipping-returns__copy {
    padding-left: 0;
  }

  .shipping-rates li {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.25rem;
  }

  .relay-picker__search {
    width: 100%;
  }

  .relay-point {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .relay-point[data-relay-current] {
    grid-template-columns: minmax(0, 1fr);
  }

  .relay-point__marker,
  .relay-point__icon {
    display: none;
  }

  .cart-empty__actions {
    grid-column: 1 / -1;
  }

  .cart-summary__shop-links {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media screen and (min-width: 48rem) {
  .shipping-rates,
  .shipping-details-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  .relay-point {
    transition: none;
  }
}

@media (forced-colors: active) {
  .shipping-card,
  .relay-picker,
  .relay-point,
  .cart-summary__shop-links a {
    border: 1px solid CanvasText;
  }
}

.admin-sections-page,
.admin-shipping-page {
  width: 100%;
  max-width: 80rem;
  min-width: 0;
  margin-inline: auto;
}

.admin-shipping-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
}

.admin-shipping-summary article {
  display: grid;
  min-width: 0;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  align-items: center;
  gap: 0.75rem;
  padding: 1rem;
  border: 1px solid var(--admin-border, #dfd2c2);
  border-radius: 1rem;
  background: var(--admin-surface, #fffdf9);
}

.admin-shipping-summary article > span,
.admin-settings-panel__heading > span,
.admin-reassurance-card > span,
.admin-cost-note > span,
.admin-section-card__icon {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 0.8rem;
  background: #efe1cf;
  color: #71502d;
}

.admin-shipping-summary svg,
.admin-settings-panel__heading svg,
.admin-reassurance-card svg,
.admin-cost-note svg,
.admin-section-card__icon svg {
  width: 1.3rem;
  height: 1.3rem;
}

.admin-shipping-summary article > div {
  display: grid;
  min-width: 0;
  gap: 0.1rem;
}

.admin-shipping-summary small {
  color: var(--admin-muted, #685f57);
  font-size: 0.75rem;
  line-height: 1.35;
}

.admin-shipping-summary strong {
  overflow-wrap: anywhere;
  font-size: 1rem;
  line-height: 1.35;
}

.admin-reassurance-card,
.admin-cost-note {
  display: grid;
  min-width: 0;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  align-items: start;
  gap: 0.85rem;
  padding: 1rem;
  border: 1px solid #d8c6ae;
  border-radius: 1rem;
  background: #f7eddf;
}

.admin-reassurance-card strong,
.admin-cost-note strong {
  display: block;
  margin-bottom: 0.2rem;
  font-size: 0.95rem;
}

.admin-reassurance-card p,
.admin-cost-note p {
  margin: 0;
  color: var(--admin-muted, #685f57);
  font-size: 0.86rem;
  line-height: 1.55;
}

.admin-settings-form,
.admin-settings-panel,
.admin-rate-list {
  min-width: 0;
}

.admin-settings-panel {
  display: grid;
  gap: 1.25rem;
  padding: clamp(1rem, 2.5vw, 1.4rem);
  border: 1px solid var(--admin-border, #dfd2c2);
  border-radius: 1rem;
  background: var(--admin-surface, #fffdf9);
  box-shadow: 0 0.35rem 1.4rem rgb(75 54 37 / 0.05);
}

.admin-settings-panel__heading {
  display: grid;
  min-width: 0;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  align-items: start;
  gap: 0.85rem;
}

.admin-settings-panel__heading h2,
.admin-settings-panel__heading p {
  margin: 0;
}

.admin-settings-panel__heading h2 {
  font-size: clamp(1.25rem, 3vw, 1.65rem);
  line-height: 1.15;
}

.admin-settings-panel__heading p:last-child {
  max-width: 58rem;
  margin-top: 0.3rem;
  color: var(--admin-muted, #685f57);
  font-size: 0.86rem;
  line-height: 1.55;
}

.admin-money-field {
  width: min(100%, 14rem);
  min-width: 0;
  margin: 0;
}

.admin-money-field > span:first-child:not(.sr-only) {
  font-weight: 700;
}

.admin-money-field .input-with-suffix {
  width: 100%;
}

.admin-rate-list {
  display: grid;
  gap: 0.65rem;
}

.admin-rate-rule {
  min-width: 0;
  border: 1px solid #e3d6c7;
  border-radius: 0.85rem;
  background: #fcf8f2;
  overflow: clip;
}

.admin-rate-rule > summary {
  display: flex;
  min-height: 4.25rem;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  padding: 0.8rem;
  cursor: pointer;
  list-style: none;
}

.admin-rate-rule > summary::-webkit-details-marker {
  display: none;
}

.admin-rate-rule > summary > span:first-child {
  display: grid;
  min-width: 0;
  gap: 0.15rem;
}

.admin-rate-rule > summary small {
  color: var(--admin-muted, #685f57);
}

.admin-rate-rule[open] > summary {
  border-bottom: 1px solid #e3d6c7;
}

.admin-rate-row {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
  gap: 0.8rem;
  padding: 0.75rem;
  background: #fcf8f2;
}

.admin-rate-row legend {
  grid-column: 1 / -1;
  padding-inline: 0.35rem;
  color: #5d4226;
  font-weight: 800;
}

.admin-rate-row .field,
.admin-rate-row .input-with-suffix {
  min-width: 0;
  width: 100%;
}

.admin-settings-panel__details {
  padding: 0.9rem;
  border: 1px dashed #c9ae8d;
  border-radius: 0.85rem;
}

.admin-settings-panel__details > summary {
  min-height: 2.75rem;
  align-content: center;
  cursor: pointer;
  font-weight: 800;
}

.admin-settings-panel__details[open] > summary {
  margin-bottom: 0.8rem;
}

.admin-rate-row__toggle {
  display: flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  gap: 0.7rem;
  cursor: pointer;
}

.admin-rate-row__toggle input {
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  margin: 0;
  accent-color: #79572f;
}

.admin-rate-row__toggle span {
  display: grid;
  min-width: 0;
  gap: 0.1rem;
}

.admin-rate-row__toggle strong {
  overflow-wrap: anywhere;
  line-height: 1.35;
}

.admin-rate-row__toggle small {
  color: var(--admin-muted, #685f57);
  font-size: 0.7rem;
  font-weight: 700;
}

.admin-sticky-actions {
  position: sticky;
  z-index: 8;
  bottom: 0.75rem;
  display: flex;
  justify-content: flex-end;
  padding: 0.75rem;
  border: 1px solid var(--admin-border, #dfd2c2);
  border-radius: 1rem;
  background: rgb(255 253 249 / 0.94);
  box-shadow: 0 0.75rem 2rem rgb(61 43 29 / 0.12);
  backdrop-filter: blur(0.65rem);
}

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

.admin-section-group {
  gap: 1rem;
  padding: clamp(1rem, 2.5vw, 1.4rem);
  border-radius: 1.2rem;
  background: #f6eee4;
}

.admin-section-group__heading h2,
.admin-section-group__heading p {
  margin: 0;
}

.admin-section-group__heading h2 {
  margin-top: 0.15rem;
  font-size: clamp(1.35rem, 3vw, 1.8rem);
}

.admin-section-group__heading p:last-child {
  margin-top: 0.35rem;
  color: var(--admin-muted, #685f57);
  font-size: 0.9rem;
  line-height: 1.55;
}

.admin-section-card {
  display: grid;
  min-width: 0;
  align-content: start;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--admin-border, #dfd2c2);
  border-radius: 1rem;
  background: var(--admin-surface, #fffdf9);
  box-shadow: 0 0.35rem 1.4rem rgb(75 54 37 / 0.05);
}

.admin-section-card--hidden {
  background: #f8f4ef;
}

.admin-section-card__heading {
  display: grid;
  min-width: 0;
  grid-template-columns: 2.75rem minmax(0, 1fr) auto;
  align-items: start;
  gap: 0.7rem;
}

.admin-section-card__heading h2,
.admin-section-card__heading h3,
.admin-section-card__heading p {
  margin: 0;
}

.admin-section-card__heading h2,
.admin-section-card__heading h3 {
  overflow-wrap: anywhere;
  font-size: 1.25rem;
  line-height: 1.2;
}

.admin-section-card__heading .status {
  align-self: start;
  white-space: nowrap;
}

.admin-section-card__count {
  margin: 0;
  color: var(--admin-muted, #685f57);
  font-size: 0.86rem;
  line-height: 1.5;
}

.admin-section-card__count strong {
  color: var(--admin-text, #342c27);
  font-size: 1.05rem;
}

.admin-section-card form,
.admin-section-card .button {
  width: 100%;
  margin-top: auto;
}

.admin-section-card__form {
  display: grid;
  min-width: 0;
  gap: 0.8rem;
}

.admin-section-card__form .field,
.admin-section-card__form input[type="text"],
.admin-section-card__form input:not([type]) {
  min-width: 0;
  width: 100%;
}

.admin-visibility-switch {
  display: flex;
  min-width: 0;
  min-height: 3rem;
  align-items: center;
  gap: 0.75rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid #e2d3c1;
  border-radius: 0.8rem;
  background: #fbf7f1;
  cursor: pointer;
}

.admin-visibility-switch input {
  width: 1.3rem;
  height: 1.3rem;
  flex: 0 0 auto;
  margin: 0;
  accent-color: #76532c;
}

.admin-visibility-switch span {
  display: grid;
  min-width: 0;
  gap: 0.1rem;
}

.admin-visibility-switch strong {
  line-height: 1.35;
}

.admin-visibility-switch small {
  color: var(--admin-muted, #685f57);
  font-size: 0.76rem;
  line-height: 1.4;
}

.admin-reassurance-card--compact {
  padding: 0.8rem;
}

.admin-customer-address,
.admin-delivery-address--pickup {
  min-width: 0;
  overflow-wrap: anywhere;
}

.admin-delivery-address__reference {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  margin-top: 0.35rem;
  padding: 0.25rem 0.5rem;
  border-radius: 999px;
  background: #efe1cf;
  color: #654723;
  font-size: 0.72rem;
  font-weight: 800;
}

@media screen and (min-width: 76rem) {
  .admin-section-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (max-width: 47.99rem) {
  .admin-rate-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-shipping-summary,
  .admin-section-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-section-group {
    padding: 0.8rem;
  }

  .admin-sticky-actions {
    bottom: 5.25rem;
  }

  .admin-sticky-actions .button {
    width: 100%;
  }
}

@media screen and (max-width: 31rem) {
  .admin-rate-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.65rem;
  }

  .admin-settings-panel__heading,
  .admin-reassurance-card,
  .admin-cost-note {
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-section-card__heading {
    grid-template-columns: 2.75rem minmax(0, 1fr);
  }

  .admin-section-card__heading .status {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (forced-colors: active) {
  .admin-shipping-summary article,
  .admin-reassurance-card,
  .admin-cost-note,
  .admin-settings-panel,
  .admin-rate-row,
  .admin-section-card,
  .admin-sticky-actions {
    border: 1px solid CanvasText;
  }
}

.admin-webmail,
.admin-webmail-message,
.admin-webmail-compose {
  min-width: 0;
}

.admin-mailbox-bar {
  display: flex;
  min-width: 0;
  gap: 0.45rem;
  padding: 0.35rem;
  overflow-x: auto;
  border: 1px solid var(--admin-border, #dfd2c2);
  border-radius: 1rem;
  background: var(--admin-surface, #fffdf9);
  scrollbar-width: thin;
}

.admin-mailbox-bar a,
.admin-mail-folders a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0.6rem 0.85rem;
  border-radius: 0.75rem;
  color: var(--admin-text, #342c27);
  font-size: 0.86rem;
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none;
  white-space: nowrap;
}

.admin-mailbox-bar a[aria-current="page"],
.admin-mail-folders a[aria-current="page"] {
  background: #76532c;
  color: #fff;
}

.admin-webmail-tools {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.75fr);
  align-items: center;
  gap: 0.8rem;
}

.admin-mail-folders,
.admin-mail-search {
  display: flex;
  min-width: 0;
  gap: 0.5rem;
}

.admin-mail-folders a {
  border: 1px solid var(--admin-border, #dfd2c2);
  background: #fbf7f1;
}

.admin-mail-folders svg,
.admin-mail-row svg,
.admin-mail-attachments svg {
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 auto;
}

.admin-mail-search input {
  width: 100%;
  min-width: 0;
}

.admin-mail-list {
  display: grid;
  min-width: 0;
  border: 1px solid var(--admin-border, #dfd2c2);
  border-radius: 1rem;
  background: var(--admin-surface, #fffdf9);
  overflow: clip;
}

.admin-mail-row {
  display: grid;
  min-width: 0;
  grid-template-columns: 2.5rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  min-height: 5rem;
  padding: 0.8rem 1rem;
  border-bottom: 1px solid #eadfd2;
  color: var(--admin-text, #342c27);
  text-decoration: none;
}

.admin-mail-row:last-child {
  border-bottom: 0;
}

.admin-mail-row:hover,
.admin-mail-row:focus-visible {
  background: #f8efe3;
}

.admin-mail-row--unread {
  border-left: 0.25rem solid #9a6a32;
  background: #fffaf2;
}

.admin-mail-row__state {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: 50%;
  background: #f2e4d1;
  color: #76532c;
}

.admin-mail-row__main {
  display: grid;
  min-width: 0;
  gap: 0.12rem;
}

.admin-mail-row__main > * {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-mail-row__sender {
  font-weight: 800;
}

.admin-mail-row__main small,
.admin-mail-row > time {
  color: var(--admin-muted, #685f57);
  font-size: 0.76rem;
}

.admin-mail-row > time {
  white-space: nowrap;
}

.admin-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
}

.admin-mail-content {
  display: grid;
  min-width: 0;
  gap: 1.2rem;
  padding: clamp(1rem, 3vw, 1.5rem);
  border: 1px solid var(--admin-border, #dfd2c2);
  border-radius: 1rem;
  background: var(--admin-surface, #fffdf9);
}

.admin-mail-meta {
  display: grid;
  min-width: 0;
  gap: 0.55rem;
  margin: 0;
}

.admin-mail-meta > div {
  display: grid;
  min-width: 0;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: 0.6rem;
}

.admin-mail-meta dt {
  color: var(--admin-muted, #685f57);
  font-weight: 700;
}

.admin-mail-meta dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  font-weight: 800;
}

.admin-mail-meta dd span {
  color: var(--admin-muted, #685f57);
  font-size: 0.82rem;
  font-weight: 500;
}

.admin-mail-text {
  min-width: 0;
  padding: clamp(1rem, 3vw, 1.4rem);
  border-radius: 0.85rem;
  background: #faf5ee;
  overflow-wrap: anywhere;
  line-height: 1.7;
  white-space: pre-wrap;
}

.admin-mail-attachments {
  display: grid;
  gap: 0.65rem;
  padding-top: 1rem;
  border-top: 1px solid #e6dacb;
}

.admin-mail-attachments h2 {
  margin: 0;
  font-size: 1.1rem;
}

.admin-mail-attachments ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media screen and (max-width: 55rem) {
  .admin-webmail-tools {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media screen and (max-width: 36rem) {
  .admin-mail-folders,
  .admin-mail-search,
  .admin-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-mail-folders a,
  .admin-mail-search .button,
  .admin-pagination .button {
    width: 100%;
  }

  .admin-mail-row {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    padding: 0.75rem;
  }

  .admin-mail-row > time {
    grid-column: 2;
  }

  .admin-mail-meta > div {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.15rem;
  }
}

@page {
  size: A4 portrait;
  margin: 10mm;
}

@media print {
  html,
  body.admin-body {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .admin-order-detail__layout {
    display: none !important;
  }

  .skip-link {
    display: none !important;
  }

  .admin-print-order-sheet {
    display: block !important;
  }

  .admin-order-detail.flow > .admin-print-order-sheet {
    margin-top: 0 !important;
  }
}
