/* Lisboa em Tango's velvet / cream visual language for canonical member pages.
   The manifest retains the native account, booking, ticket and payment markup;
   this sheet owns only the tenant's presentation. The velvet stays still. */
.member-shell.lt-member {
  --lt-member-paper: var(--color-base-100);
  --lt-member-ink: var(--color-base-content);
  --lt-member-wine: #450e17;
  --lt-member-night: #250b12;
  --lt-member-gold: #d9c7af;
  --lt-member-muted: #d2b6a9;
  --lt-member-rule: color-mix(in srgb, var(--color-base-content) 22%, var(--color-base-100));
  --lt-member-display: 'Cormorant Garamond', Georgia, serif;
  --lt-member-body: 'DM Sans', sans-serif;
  --font-sans: var(--lt-member-body);
  --font-display: var(--lt-member-display);
  background: linear-gradient(180deg, #450e1755, #250b12 65rem),
    url("velvet.bd52037449df.webp") center top / 100% auto no-repeat, var(--lt-member-night);
  color: var(--lt-member-paper);
  font: 400 1rem / 1.65 var(--lt-member-body);
}

.member-shell.lt-member > .lt-site { flex: 0 0 auto; }
/* One continuous velvet canvas: the public header reveals this body's image. */
.member-shell.lt-member > .lt-site-header,
.member-shell.lt-member .lp-header { background: transparent; }
.member-shell.lt-member .member-skip-link:focus-visible { outline-color: var(--lt-member-gold); }
.member-shell.lt-member .member-main {
  width: min(88%, 72rem);
  padding-block: clamp(1.5rem, 4vw, 3.25rem) clamp(3rem, 6vw, 5.5rem);
}
.member-shell.lt-member .member-main :where(a, button, input, select, textarea, summary):focus-visible {
  outline-color: var(--lt-member-gold);
}

/* A quiet invitation, then the same fine-rule navigation as the public pages. */
.member-shell.lt-member .member-panel[data-student-preview] {
  display: flex;
  align-items: center;
  gap: 1rem 2rem;
  padding: 1rem 1.5rem;
  border: 1px solid #d9c7af66;
  border-left: 2px solid var(--lt-member-gold);
  background: #250b1266;
  color: var(--lt-member-gold);
  box-shadow: none;
}
.member-shell.lt-member .member-panel[data-student-preview] strong {
  flex: 0 0 auto;
  color: var(--lt-member-paper);
  font: 600 0.875rem / 1.5 var(--lt-member-body);
}
.member-shell.lt-member .member-panel[data-student-preview] p {
  max-width: 78ch;
  font-size: 0.875rem;
  line-height: 1.6;
}
.member-shell.lt-member .member-account-nav {
  gap: 0.5rem;
  margin-block: 1.25rem 2.5rem;
  padding: 0.5rem;
  border: 1px solid #d9c7af66;
  background: #250b1266;
}
.member-shell.lt-member .member-section-link {
  justify-content: center;
  min-height: 3rem;
  padding: 0.75rem 1.125rem;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: var(--lt-member-paper);
  font: 600 0.9375rem / 1.4 var(--lt-member-body);
  letter-spacing: 0;
}
.member-shell.lt-member .member-section-link[aria-current='page'] {
  border-bottom-color: var(--lt-member-paper);
  background: var(--lt-member-paper);
  color: var(--lt-member-ink);
}
.member-shell.lt-member .member-section-link:hover:not([aria-current='page']) {
  background: #f5ead612;
  color: var(--lt-member-paper);
  text-decoration: underline;
  text-underline-offset: 0.375rem;
}

/* Display type and generous leading are the approved site's editorial voice. */
.member-shell.lt-member .member-main h1 {
  color: var(--lt-member-paper);
  font: 500 clamp(2.75rem, 5vw, 4.75rem) / 1.06 var(--lt-member-display);
  letter-spacing: -0.025em;
  text-transform: none;
  text-wrap: balance;
}
.member-shell.lt-member .member-main h2 {
  font: 600 1.25rem / 1.35 var(--lt-member-body);
  letter-spacing: -0.01em;
  text-transform: none;
}
.member-shell.lt-member .member-main h3 {
  font: 600 1.25rem / 1.35 var(--lt-member-body);
  letter-spacing: -0.01em;
  text-transform: none;
}
.member-shell.lt-member .member-page-heading {
  gap: 1.125rem;
  margin-bottom: 2.5rem;
}
.member-shell.lt-member .member-page-heading > p:not(.member-eyebrow) {
  max-width: 65ch;
  color: var(--lt-member-gold);
  font-size: 1rem;
}
.member-shell.lt-member .member-eyebrow {
  color: var(--lt-member-gold);
  font: 600 0.75rem / 1.5 var(--lt-member-body);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.member-shell.lt-member .member-main :is(.eyebrow, .text-primary, .link-primary) { color: var(--lt-member-gold); }
.member-shell.lt-member .member-main :is(.link, .member-text-link) {
  color: var(--lt-member-gold);
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.3em;
}

/* Cream editorial sheets carry the account facts and every native form. */
.member-shell.lt-member .member-main :is(.member-card, .member-panel, .card) {
  border: 1px solid var(--lt-member-rule);
  border-radius: 0;
  background: var(--lt-member-paper);
  color: var(--lt-member-ink);
  box-shadow: 0.5rem 1rem 2rem #16040a33;
}
.member-shell.lt-member .member-main :is(.member-card, .member-panel) {
  padding: clamp(1.25rem, 3vw, 2rem);
}
.member-shell.lt-member .member-main :is(.member-card, .member-panel, .card) :where(h1, h2, h3) {
  color: var(--lt-member-ink);
}
.member-shell.lt-member .member-main :is(.member-card, .member-panel, .card) .member-eyebrow {
  color: var(--lt-member-ink);
}
.member-shell.lt-member .member-main :is(.member-card, .member-panel, .card, .member-native-content) .eyebrow {
  color: var(--lt-member-ink);
}
.member-shell.lt-member .member-main :is(.member-card, .member-panel, .card) :is(.link, .member-text-link) {
  color: var(--member-link);
}
.member-shell.lt-member .member-main :is(.member-card, .member-panel, .card) :where(a, button, input, select, textarea, summary):focus-visible {
  outline-color: var(--member-focus);
}
/* Frozen native fragments also contain plain light utilities, including ticket
   payment recovery. Keep every such surface independent of the velvet ground. */
.member-shell.lt-member .member-main :is(.bg-base-100, .bg-base-200, .bg-base-300) {
  color: var(--lt-member-ink);
}
.member-shell.lt-member .member-main :is(.bg-base-100, .bg-base-200, .bg-base-300) :is(h1, h2, h3, .eyebrow, .text-base-content) {
  color: var(--lt-member-ink);
}
.member-shell.lt-member .member-main :is(.member-card, .member-panel, .card, .member-native-content, .bg-base-100, .bg-base-200, .bg-base-300) :is(.link, .member-text-link, .text-primary, .link-primary) {
  color: var(--member-link);
}
.member-shell.lt-member .member-main :is(.member-native-content, .bg-base-100, .bg-base-200, .bg-base-300, .class-postcard-status, .class-postcard-offer, .class-postcard-next-month) :where(a, button, input, select, textarea, summary):focus-visible {
  outline-color: var(--member-focus);
}
.member-shell.lt-member .member-main .member-panel[data-student-preview] {
  padding: 1rem 1.5rem;
  border-color: #d9c7af66;
  background: #250b1266;
  color: var(--lt-member-gold);
  box-shadow: none;
}
.member-shell.lt-member .member-panel-heading {
  align-items: baseline;
  gap: 0.5rem 1.5rem;
  margin-bottom: 0.75rem;
}
.member-shell.lt-member .member-panel-heading h2 {
  font: 500 clamp(1.75rem, 2.4vw, 2.125rem) / 1.15 var(--lt-member-display);
  letter-spacing: -0.015em;
}
.member-shell.lt-member .member-panel-heading .link { flex-shrink: 0; }
.member-shell.lt-member .member-overview-grid { gap: 2rem; }
.member-shell.lt-member .member-summary {
  gap: 0.625rem;
  padding-block: 1.5rem;
  border-color: var(--lt-member-rule);
}
.member-shell.lt-member .member-summary:last-child { padding-bottom: 0; }
.member-shell.lt-member .member-overview-membership .member-summary {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid var(--lt-member-rule);
  background: var(--color-base-200);
}
.member-shell.lt-member .member-summary h3 a,
.member-shell.lt-member .member-ticket-facts h3 a {
  color: var(--lt-member-ink);
  text-decoration: none;
}
.member-shell.lt-member .member-summary h3 a:hover,
.member-shell.lt-member .member-ticket-facts h3 a:hover {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.member-shell.lt-member .member-activity-meta {
  font-size: 0.875rem;
  line-height: 1.6;
}
.member-shell.lt-member .member-activity-header {
  grid-template-columns: 4rem minmax(0, 1fr);
  gap: 1.25rem;
}
.member-shell.lt-member .member-activity-copy { gap: 0.25rem; }
.member-shell.lt-member .member-activity-copy :is(h2, h3) { font-size: 1.25rem; }
.member-shell.lt-member .member-activity-copy > p:not(.member-activity-meta) {
  font-size: 1rem;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
.member-shell.lt-member .member-activity-date,
.member-shell.lt-member .member-ticket-date {
  align-content: center;
  min-height: 5rem;
  padding: 0.625rem 0.375rem;
  border: 1px solid var(--lt-member-wine);
  border-radius: 0;
  background: var(--lt-member-wine);
  color: var(--lt-member-paper);
}
.member-shell.lt-member .member-activity-date strong,
.member-shell.lt-member .member-ticket-date strong {
  font: 600 1.875rem / 1 var(--lt-member-body);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}
.member-shell.lt-member .member-activity-date span,
.member-shell.lt-member .member-ticket-date span {
  margin-top: 0.375rem;
  color: var(--lt-member-gold);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.member-shell.lt-member .member-activity-footer { margin-top: 0.75rem; }
.member-shell.lt-member .member-ticket-card { border-color: var(--lt-member-rule); }
.member-shell.lt-member .member-activity-grid > .member-ticket-card:only-child {
  grid-column: 1 / -1;
}
.member-shell.lt-member :is(.member-ticket-state, .member-facts) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
  width: 100%;
  gap: 1rem 1.5rem;
  padding: 1rem;
  border: 1px solid var(--lt-member-rule);
  background: var(--color-base-200);
}
.member-shell.lt-member :is(.member-ticket-state, .member-facts) dt {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.member-shell.lt-member :is(.member-ticket-state, .member-facts) dd {
  margin-top: 0.375rem;
  font: 600 1rem / 1.45 var(--lt-member-body);
}
.member-shell.lt-member .member-status {
  padding: 0.375rem 0.625rem;
  border-color: var(--lt-member-rule);
  border-radius: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0;
}

/* Deliberate square controls, fine borders and the public site's wine / cream. */
.member-shell.lt-member .member-main .btn {
  min-height: 2.875rem;
  padding: 0.75rem 1.125rem;
  border-width: 1px;
  border-radius: 0;
  font: 600 0.875rem / 1.4 var(--lt-member-body);
  box-shadow: none;
}
.member-shell.lt-member .member-main .btn:not(:disabled, [disabled], [aria-disabled='true'], .btn-disabled, .btn-error, .btn-warning, .btn-success, .btn-info, .btn-secondary, .btn-accent) {
  --btn-bg: var(--lt-member-paper);
  --btn-fg: var(--lt-member-ink);
  --btn-border: var(--lt-member-ink);
}
.member-shell.lt-member .member-main .btn-primary:not(:disabled, [disabled], [aria-disabled='true'], .btn-disabled) {
  --btn-bg: var(--color-primary);
  --btn-fg: var(--color-primary-content);
  --btn-border: var(--color-primary);
}
.member-shell.lt-member .member-main .btn-outline:not(:disabled, [disabled], [aria-disabled='true'], .btn-disabled, .btn-error, .btn-warning, .btn-success, .btn-info, .btn-secondary, .btn-accent):hover {
  --btn-bg: var(--lt-member-wine);
  --btn-fg: var(--lt-member-paper);
}
.member-shell.lt-member .member-filters .btn:not(:disabled, [disabled], [aria-disabled='true'], .btn-disabled) {
  --btn-bg: transparent;
  --btn-fg: var(--lt-member-paper);
  --btn-border: var(--lt-member-gold);
}
.member-shell.lt-member .member-filters .btn[aria-current='page']:not(:disabled, [disabled], [aria-disabled='true'], .btn-disabled) {
  --btn-bg: var(--lt-member-paper);
  --btn-fg: var(--lt-member-ink);
}
.member-shell.lt-member .member-card-action { gap: 1.25rem; }
.member-shell.lt-member .member-account-secondary {
  gap: 0.5rem 2rem;
  margin-top: 3rem;
  padding-top: 1.5rem;
  border-color: #d9c7af66;
}

/* Membership agreements, details, payments and collapsible native information. */
.member-shell.lt-member [data-membership] { position: relative; }
.member-shell.lt-member [data-membership]::before {
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--color-primary);
  content: '';
}
.member-shell.lt-member [data-membership] .member-row { gap: 1rem 2rem; }
.member-shell.lt-member [data-membership] h2 { margin-block: 0.75rem; }
.member-shell.lt-member [data-membership] .member-facts {
  margin-block: 1.5rem;
  padding: 1.25rem;
  border: 1px solid var(--lt-member-rule);
}
.member-shell.lt-member [data-membership] .member-facts dd {
  font: 600 1.125rem / 1.45 var(--lt-member-body);
  font-variant-numeric: tabular-nums;
}
.member-shell.lt-member .member-notice {
  padding: 1rem 1.25rem;
  border-left: 2px solid var(--color-primary);
  background: var(--color-base-200);
  font-size: 0.9375rem;
}
.member-shell.lt-member .member-main details { margin-top: 1rem; }
.member-shell.lt-member .member-main details summary {
  min-height: 2.75rem;
  padding-block: 0.75rem;
  border-bottom: 1px solid var(--lt-member-rule);
  color: var(--lt-member-ink);
  font-size: 0.9375rem;
  cursor: pointer;
}
.member-shell.lt-member .member-main details[open] summary { margin-bottom: 1rem; }
.member-shell.lt-member .member-main details p { font-size: 0.9375rem; }
.member-shell.lt-member .member-main details.member-panel { margin-top: 0; box-shadow: none; }
.member-shell.lt-member .member-facts { gap: 1rem 1.5rem; }
.member-shell.lt-member .member-native-content,
.member-shell.lt-member .member-main :is(.class-postcard-status, .class-postcard-offer, .class-postcard-next-month) {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--lt-member-rule);
  border-radius: 0;
  background: var(--lt-member-paper);
  color: var(--lt-member-ink);
}
.member-shell.lt-member .member-native-content { grid-template-columns: minmax(0, 1fr); }
.member-shell.lt-member .member-native-content > * { min-width: 0; max-width: 100%; }
.member-shell.lt-member .member-native-content .card-body > .flex { flex-wrap: wrap; }
.member-shell.lt-member .member-native-content :is(h1, h2, h3, .member-eyebrow),
.member-shell.lt-member .member-main :is(.class-postcard-status, .class-postcard-offer, .class-postcard-next-month) :is(h1, h2, h3, .link) {
  color: var(--lt-member-ink);
}
.member-shell.lt-member .member-native-content :is(.link, .member-text-link) {
  color: var(--member-link);
}
.member-shell.lt-member .member-native-content .card { box-shadow: none; }
.member-shell.lt-member .member-native-content .member-page-heading > p { color: var(--lt-member-ink); }
.member-shell.lt-member .member-field-label {
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0;
}
.member-shell.lt-member .member-main :is(.input, .select, .textarea, .member-fieldset) {
  border-radius: 0;
  background: var(--lt-member-paper);
  color: var(--lt-member-ink);
}
.member-shell.lt-member .member-field-help { font-size: 0.875rem; line-height: 1.6; }
.member-shell.lt-member .member-auth {
  max-width: 32rem;
  margin-block: 1rem 2rem;
}
.member-shell.lt-member .member-auth .member-page-heading { text-align: center; }
.member-shell.lt-member .member-auth .member-page-heading h1 {
  font-size: clamp(2.75rem, 5vw, 4.75rem);
}
.member-shell.lt-member .member-auth .member-page-heading > p { margin-inline: auto; }
.member-shell.lt-member .member-auth .member-card {
  border-top: 3px solid var(--lt-member-gold);
  box-shadow: 1rem 1.5rem 3rem #16040a55;
}

/* Existing public chrome, with a complete legal/contact footer. */
.member-shell.lt-member .lt-site :where(a, button):focus-visible { outline-color: var(--lt-cream); }
.member-shell.lt-member .lt-site .lp-language button {
  min-width: 2.75rem;
  min-height: 2.75rem;
  color: var(--lt-cream);
}
.member-shell.lt-member .lp-footer {
  flex-wrap: wrap;
  gap: 0.75rem 2rem;
  border-top: 1px solid #d9c7af66;
}
.member-shell.lt-member .lp-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.25rem;
  font-size: 0.875rem;
}
.member-shell.lt-member .lp-footer-links a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
}

@media (max-width: 48rem) {
  .member-shell.lt-member .member-main { width: 88%; }
  .member-shell.lt-member .member-panel[data-student-preview] { display: block; }
  .member-shell.lt-member .member-panel[data-student-preview] strong {
    display: block;
    margin-bottom: 0.625rem;
    font-size: 0.875rem;
  }
  .member-shell.lt-member .member-account-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    margin-bottom: 2.25rem;
  }
  .member-shell.lt-member .member-section-link { min-height: 3rem; padding-inline: 0.5rem; font-size: 0.875rem; }
  .member-shell.lt-member .member-main h1 { font-size: clamp(2.75rem, 9vw, 3.5rem); }
  .member-shell.lt-member .member-page-heading { margin-bottom: 2rem; }
  .member-shell.lt-member .member-overview-grid { gap: 1.5rem; }
  .member-shell.lt-member .member-activity-header { gap: 1rem; }
  .member-shell.lt-member .member-activity-copy :is(h2, h3) { font-size: 1.25rem; }
  .member-shell.lt-member .member-panel-heading { align-items: flex-start; }
  .member-shell.lt-member .member-account-secondary { margin-top: 2rem; }
}

@media (min-width: 64rem) {
  .member-shell.lt-member .member-overview-tickets .member-ticket-card:only-child {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
    gap: 2rem;
    align-items: start;
  }
  .member-shell.lt-member .member-overview-tickets .member-ticket-card:only-child .member-activity-footer {
    margin-top: 0;
  }
}

@container member-activity (max-width: 16rem) {
  .member-shell.lt-member .member-activity-header { grid-template-columns: minmax(0, 1fr); }
}
