/* Release A: production-truth density layer. Preview/demo surfaces retain their reviewed layout. */
body[data-member-mode="production"] main { padding-inline: 16px; }
body[data-member-mode="production"] .member-view { display: grid; gap: 14px; }
body[data-member-mode="production"] .member-view > header,
body[data-member-mode="production"] .member-view > section,
body[data-member-mode="production"] .member-view > aside,
body[data-member-mode="production"] .content-section { margin-block: 0; }
body[data-member-mode="production"] .section-heading { margin-bottom: 12px; }
body[data-member-mode="production"] .v4-home-greeting,
body[data-member-mode="production"] .v4-profile-head { padding-block: 8px 4px; }
body[data-member-mode="production"] .v6-story-carousel,
body[data-member-mode="production"] .editorial-hero,
body[data-member-mode="production"] .v4-member-wallet { margin-block: 0; }
body[data-member-mode="production"] .production-empty-state,
body[data-member-mode="production"] .production-booking-card,
body[data-member-mode="production"] .production-booking-action {
  border: 1px solid var(--cement-200);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}
body[data-member-mode="production"] .production-empty-state {
  display: grid;
  justify-items: start;
  gap: 10px;
  padding: 24px;
}
body[data-member-mode="production"] .production-empty-state > span {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  color: var(--walnut-700);
  background: var(--paper);
}
body[data-member-mode="production"] .production-empty-state h1,
body[data-member-mode="production"] .production-empty-state p { margin: 0; }
body[data-member-mode="production"] .production-booking-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  padding: 20px;
}
body[data-member-mode="production"] .production-booking-card > span { color: var(--walnut-700); }
body[data-member-mode="production"] .production-booking-card h1,
body[data-member-mode="production"] .production-booking-card p { margin: 0; }
body[data-member-mode="production"] .production-booking-card > strong {
  grid-column: 2;
  justify-self: start;
  color: var(--success);
  font-size: .78rem;
}
body[data-member-mode="production"] .production-booking-action {
  display: grid;
  gap: 16px;
  padding: 20px;
}
.production-privacy-cases ul {
  display: grid;
  gap: 10px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}
.production-privacy-cases li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--cement-200);
  border-radius: var(--radius-md);
}
.production-privacy-cases li span:nth-child(2) { display: grid; min-width: 0; }
.production-privacy-cases li small {
  overflow: hidden;
  color: var(--cement-700);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.production-privacy-cases li em {
  color: var(--success);
  font-size: .78rem;
  font-style: normal;
  font-weight: 700;
}
.production-empty-inline {
  margin-bottom: 16px;
  padding: 18px;
  border: 1px dashed var(--cement-300);
  border-radius: var(--radius-md);
  color: var(--cement-700);
}
@media (min-width: 431px) { body[data-member-mode="production"] main { padding-inline: 18px; } }
@media (prefers-reduced-motion: reduce) {
  body[data-member-mode="production"] *,
  body[data-member-mode="production"] *::before,
  body[data-member-mode="production"] *::after { scroll-behavior: auto !important; }
}
/* V1 navigation and core screens; legacy public dummy demo keeps its showcase. */
body[data-member-v1="true"] .bottom-nav { grid-template-columns: repeat(4, minmax(0, 1fr)); min-height: 72px; }
body[data-member-v1="true"] .bottom-nav button { min-height: 60px; gap: 4px; padding: 6px 2px; }
body[data-member-v1="true"] .bottom-nav .nav-label { position: static; transform: none; opacity: 1; visibility: visible; border: 0; box-shadow: none; background: none; color: inherit; padding: 0; min-height: 0; white-space: normal; font-size: .85rem; line-height: 1.3; }
body[data-member-v1="true"] .bottom-nav .nav-label::after { display: none; }
body[data-member-v1="true"] .bottom-nav-indicator { display: none; }
body[data-member-v1="true"] .bottom-nav button[aria-current="page"] .feather-icon { color: inherit; }
body[data-member-v1="true"] .bottom-nav button[aria-current="page"] { background: #3b2922 !important; color: #fff8ed; }
.member-v1-view { overflow-wrap: anywhere; }
.member-v1-view .v4-home-greeting { display: block; padding-top: 12px; }
.member-v1-view .v4-home-greeting h1 { margin: 8px 0 12px; }
.member-v1-view .compact li > span { display: grid; gap: 4px; }
.member-v1-view .inline-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.member-v1-view .inline-actions > button { flex: 1 1 120px; }
.member-v1-loyalty { margin: 20px 0; padding: 20px; }
.member-v1-loyalty .v4-wallet-balance { color: #2a1d18; display: grid; gap: 4px; width: 100%; text-align: left; border: 0; background: transparent; padding: 0; min-height: 44px; }
.member-v1-loyalty .v4-wallet-balance strong { font-size: 2.2rem; line-height: 1.3; }
.member-v1-loyalty progress { display: block; width: 100%; height: 12px; margin: 16px 0; accent-color: #6f4b37; }
/* Reuse the original cream/espresso editorial direction, only for the V1 home. */
.member-v1-view.member-view-home { display: grid; gap: 20px; }
.member-home-welcome { display: grid; grid-template-columns: minmax(0, 1fr) 110px; align-items: center; gap: 12px; }
.member-home-welcome h1 { margin: 8px 0; font-size: clamp(1.75rem, 7vw, 2.2rem); line-height: 1.15; text-wrap: balance; }
.member-home-welcome h1 span { display: block; color: #93431f; }
.member-home-welcome .eyebrow { margin: 0; color: #745138; }
.member-home-welcome p:not(.eyebrow) { margin: 0; color: #62574e; font-size: .875rem; }
.member-home-art { height: 154px; overflow: hidden; border-radius: 72px 72px 18px 18px; }
.member-home-art img { display: block; position: relative; left: 50%; top: -70%; width: auto; max-width: none; height: 230%; transform: translateX(-50%); }
.member-home-freshness { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.member-home-freshness .text-action { min-height: 44px; }
.member-v1-view.member-view-home .content-section { margin: 0; }
.member-v1-card .inline-actions { margin-top: 12px; gap: 8px; }
.member-v1-card .muted { margin: 10px 0 0; font-size: .75rem; }
.member-home-wallet { margin: 0; padding: 20px; border: 0; border-radius: 24px; background: #291d17; color: #fff8ed; }
.member-home-wallet .eyebrow { color: #e5b587; }
.member-home-wallet .v4-wallet-balance { color: #fff8ed; }
.member-home-wallet .v4-wallet-balance strong { font-size: 2.75rem; font-variant-numeric: tabular-nums; }
.member-home-wallet > p:not(.eyebrow) { margin: 12px 0; font-size: .8rem; color: #e0d2c5; }
.member-home-wallet .inline-actions { margin-top: 12px; }
.member-home-wallet .text-action { color: #fff8ed; min-height: 44px; }
.member-home-wallet .button.secondary { display: flex; align-items: center; justify-content: center; gap: 8px; color: #fff8ed; border-color: #8e7664; background: transparent; }
.member-home-journey { margin: 0; padding: 18px; border: 1px solid #ded2c0; border-radius: 24px; background: #f8f1e5; }
.member-home-journey header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.member-home-journey .eyebrow { margin: 0 0 6px; }
.member-home-journey h2 { margin: 0; font-size: 1.25rem; }
.member-home-journey .text-action { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #633e29; }
.member-home-journey p { font-size: .875rem; color: #62574e; }
.member-home-journey strong { color: #291d17; font-variant-numeric: tabular-nums; }
.member-home-journey progress { accent-color: #93431f; margin-bottom: 0; }
.member-history-heading h1 { margin: 4px 0 8px; font-size: 1.9rem; }
.member-history-heading p { margin: 0; color: #62574e; }
.member-history-tools { display: flex; flex-wrap: wrap; gap: 8px; }
.member-history-tools .button { flex: 1 1 130px; }
.member-v1-view.member-view-activity .points-overview .points-validity-entry { display: none; }
@media (max-width: 359px) { .member-home-welcome { grid-template-columns: minmax(0, 1fr) 90px; } .member-home-art { height: 140px; } }
body[data-member-v1="true"] main { padding-bottom: calc(120px + env(safe-area-inset-bottom, 0px)); }
.member-v1-vouchers .grid { display: grid; gap: 16px; margin-top: 16px; }
.member-v1-vouchers .card { padding: 18px; border: 1px solid var(--cement-200); border-radius: 18px; background: var(--paper); min-width: 0; }
.member-v1-vouchers h3 { margin: 0 0 12px; }
.member-v1-vouchers summary { min-height: 44px; padding: 12px 0; cursor: pointer; font-weight: 700; }
.member-v1-vouchers summary:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.member-v1-vouchers details > button { width: 100%; }
.member-v1-view .v51-reward-workspace-hint { color: #f6eee3; }
.member-v1-view h2[tabindex="-1"] { scroll-margin-top: 96px; }
.registration-reveal .sm-onboarding-heading { margin-top: 24px; text-align: left; }
body[data-member-v1="true"] main:has(.registration-reveal) { padding: 0; }
body:has(.registration-reveal) { padding-bottom: 0; }
.registration-reveal .sm-onboarding-heading h1 { font-size: 1.85rem; line-height: 1.2; }
.registration-reveal .sm-onboarding-heading > p { max-width: 34ch; }
.registration-gifts { display: grid; gap: 16px; margin: 24px 0 20px; }
.gift-ticket { position: relative; min-width: 0; overflow: hidden; border: 1px solid #be9c78; border-radius: 12px; background: #fffaf1; color: #34221c; box-shadow: 0 4px 0 #e8dccb; text-align: left; }
.gift-ticket-main { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding: 18px 18px 16px; }
.gift-ticket-copy { flex: 1 1 8rem; min-width: 0; }
.gift-ticket .gift-ticket-brand { margin: 0 0 8px; font-size: .6875rem; font-weight: 800; letter-spacing: .15em; }
.gift-ticket .gift-ticket-value { margin: 0 0 5px; font-size: 2.75rem; line-height: 1; letter-spacing: -.06em; font-weight: 800; }
.gift-ticket-value span { font-size: 1.65rem; }
.gift-ticket h2, .gift-ticket h3 { margin: 0; font-size: 1rem; line-height: 1.4; font-weight: 800; }
.gift-ticket .gift-ticket-caption { margin: 5px 0 0; font-size: .75rem; line-height: 1.5; color: #6e5545; }
.gift-ticket-main > img { width: 112px; height: 112px; object-fit: contain; flex: 0 0 112px; }
.gift-ticket-stub { position: relative; padding: 12px 18px; border-top: 1px dashed #b99c7e; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.gift-ticket-stub::before, .gift-ticket-stub::after { content: ""; position: absolute; top: -9px; width: 16px; height: 16px; border-radius: 50%; background: #f4efe7; border: 1px solid #be9c78; }
.gift-ticket-stub::before { left: -10px; }
.gift-ticket-stub::after { right: -10px; }
.gift-ticket-stub > p { flex: 1 1 8rem; min-width: 0; margin: 0; font-size: .75rem; line-height: 1.6; text-align: right; }
.gift-ticket-status { font-size: .6875rem; font-weight: 800; color: #5e4430; }
.gift-ticket-choice { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 44px; padding: 10px 14px; border: 1px solid #ac8868; border-radius: 6px; background: transparent; color: #34221c; font: inherit; font-size: .875rem; font-weight: 800; cursor: pointer; }
.gift-ticket.is-chosen { border-color: #34221c; }
.gift-ticket.is-chosen .gift-ticket-choice { background: #34221c; color: #fffaf1; border-color: #34221c; }
.gift-ticket-choice:focus-visible { outline: 3px solid #9a6245; outline-offset: 3px; }
.gift-ticket-terms { border-top: 1px solid #e5d8c5; padding: 0 18px; }
.gift-ticket-terms > summary { min-height: 44px; padding: 12px 0; font-size: .75rem; font-weight: 700; cursor: pointer; }
.gift-ticket-terms > p { font-size: .75rem; line-height: 1.6; margin: 0 0 14px; }
.registration-reveal .text-action { display: block; margin: 8px auto 0; min-height: 44px; color: #6e5545; }
.registration-reveal .registration-saved-note { margin: 0 0 16px; font-size: .75rem; text-align: center; }
.registration-reveal .sm-onboarding-button { margin-top: 12px; }
.member-v1-vouchers .grid:has(.gift-ticket) { grid-template-columns: 1fr; }
@media (max-width: 359px) { .gift-ticket-main { padding: 16px; } .gift-ticket-main > img { width: 88px; height: 96px; flex-basis: 88px; } }

/* V1 rhythm: one gutter and section gap in both API and synthetic views.
   Scope excludes the Owner dashboard and the legacy showcase. */
body[data-member-v1="true"] { padding-bottom: 0; }
body[data-member-v1="true"] .topbar { padding-inline: 16px; }
body[data-member-v1="true"] main:not(:has(.sm-onboarding-shell)) { padding-inline: 16px; }
body[data-member-v1="true"] .member-view { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; overflow-wrap: anywhere; }
body[data-member-v1="true"] .member-view > * { min-width: 0; margin-block: 0; }
body[data-member-v1="true"] .member-view h1 { font-size: 1.75rem; line-height: 1.25; margin-block: 0 8px; text-wrap: balance; }
body[data-member-v1="true"] .member-view :is(h2, h3) { line-height: 1.35; text-wrap: balance; }
body[data-member-v1="true"] .member-view .eyebrow { font-size: .75rem; line-height: 1.5; margin-block: 0 8px; }
body[data-member-v1="true"] .member-view p { text-wrap: pretty; }
body[data-member-v1="true"] .member-view :is(.button, .text-action) { font-size: .875rem; font-weight: 700; line-height: 1.5; }
body[data-member-v1="true"] .member-view .button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 16px; text-align: center; }
body[data-member-v1="true"] .member-view .text-action { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; text-align: center; }
body[data-member-v1="true"] .member-view :is(.button, .text-action) .feather-icon { flex-shrink: 0; }
body[data-member-v1="true"] .member-view .section-heading { align-items: center; flex-wrap: wrap; gap: 12px; margin: 0 0 16px; }
body[data-member-v1="true"] .member-view .section-heading h2 { margin: 0; font-size: 1.25rem; }
body[data-member-v1="true"] .member-view .section-heading > div { min-width: 0; }
body[data-member-v1="true"] .member-view .secondary-header { min-height: 44px; margin: 0; gap: 12px; }
body[data-member-v1="true"] .member-view .inline-actions { gap: 8px; margin-top: 16px; align-items: stretch; }
body[data-member-v1="true"] .member-v1-card { display: grid; gap: 16px; }
body[data-member-v1="true"] .member-v1-card :is(.inline-actions, .muted) { margin: 0; }
body[data-member-v1="true"] .member-view :is(.member-home-wallet, .member-home-journey, .points-overview) { padding: 20px; }
body[data-member-v1="true"] .member-home-welcome h1 { margin-block: 0 8px; }
body[data-member-v1="true"] .member-home-welcome > div { min-width: 0; }
body[data-member-v1="true"] .member-home-journey header { gap: 8px; }
body[data-member-v1="true"] .member-home-journey h2 { font-size: 1.25rem; }
body[data-member-v1="true"] .member-home-journey > p { margin: 12px 0 0; }
body[data-member-v1="true"] .member-home-journey progress { margin: 16px 0 0; }
body[data-member-v1="true"] .member-home-wallet .v4-wallet-balance { margin-top: 0; }
body[data-member-v1="true"] .member-home-wallet .v4-wallet-balance > span { display: inline-flex; align-items: center; gap: 8px; font-size: .75rem; }
body[data-member-v1="true"] .member-view :is(.v4-wallet-balance strong, .points-balance h2) { font-size: 2.75rem; line-height: 1.15; font-variant-numeric: tabular-nums; }
body[data-member-v1="true"] .member-history-heading p:last-child { font-size: .875rem; line-height: 1.5; }
body[data-member-v1="true"] .member-history-heading .eyebrow { margin-bottom: 8px; }
body[data-member-v1="true"] .member-view .member-history-tools { gap: 8px; }
body[data-member-v1="true"] .member-view .filter-chip { font-size: .8125rem; line-height: 1.5; }
body[data-member-v1="true"] .member-view .search-field { min-height: 52px; }
body[data-member-v1="true"] .member-view .search-field input { font-size: 1rem; min-height: 48px; }
body[data-member-v1="true"] .member-view .v4-reward-head { align-items: center; gap: 16px; margin: 0; }
body[data-member-v1="true"] .member-view .v4-reward-head > div:first-child { min-width: 0; }
body[data-member-v1="true"] .member-view .v4-reward-head p:not(.eyebrow) { margin: 0; font-size: .875rem; line-height: 1.5; }
body[data-member-v1="true"] .member-view .v51-reward-tabs [role="tab"] { font-size: .875rem; line-height: 1.5; white-space: normal; }
body[data-member-v1="true"] .member-view .v51-reward-workspace-hint { font-size: .75rem; line-height: 1.5; }
body[data-member-v1="true"] .member-view-rewards .v51-reward-workspace { gap: 0; background: var(--v7-ink, #211b17); box-shadow: none; }
body[data-member-v1="true"] .promo-owned-count { padding: 3px 7px; border-radius: 999px; background: var(--v7-paper, #f6eee3); color: var(--v7-ink, #211b17); font-size: .75rem; font-variant-numeric: tabular-nums; }
body[data-member-v1="true"] .v51-reward-tabs [aria-selected="true"] .promo-owned-count { background: var(--v7-ink, #211b17); color: var(--v7-paper, #f6eee3); }
body[data-member-v1="true"] .promo-empty { margin: 0; padding: 24px 0; color: var(--muted); text-wrap: pretty; }
body[data-member-v1="true"] .gift-ticket-main { gap: 12px; padding: 20px; }
body[data-member-v1="true"] .gift-ticket-stub { padding: 16px 20px; }
body[data-member-v1="true"] .gift-ticket-stub > p { text-align: left; }
body[data-member-v1="true"] .gift-ticket-terms { padding-inline: 20px; }
body[data-member-v1="true"] .gift-ticket-copy { flex-basis: 9rem; }
body[data-member-v1="true"] .gift-ticket .gift-ticket-value { color: #34221c; }
body[data-member-v1="true"] .gift-ticket-main > img { flex-basis: 88px; width: 88px; height: 100px; }
body[data-member-v1="true"] .bottom-nav { align-items: stretch; }
body[data-member-v1="true"] .bottom-nav button { grid-template-rows: 22px 1fr; align-content: center; justify-items: center; }
body[data-member-v1="true"] .bottom-nav .nav-label { align-self: start; max-width: 100%; font-size: .75rem; line-height: 1.5; overflow-wrap: anywhere; }
body[data-member-v1="true"] .member-view :is(.points-validity-hero, .points-validity-timeline, .points-validity-guide) { margin-inline: 0; }
body[data-member-v1="true"] .member-view .points-validity-total { grid-template-columns: minmax(0, 1fr) auto; }
body[data-member-v1="true"] .member-view-points-recap,
body[data-member-v1="true"] .member-view-points-validity { padding-bottom: 0; }
