/* =========================================================================
   TMN v14 — Shared chrome + components
   Late Set palette · Fraunces serif · Inter body
   Used by every v14 new surface (join, welcome, signup, onboarding, dashboard)
   ========================================================================= */

:root {
  --tmn-amber: #E6A557;
  --tmn-amber-deep: #C98637;
  --tmn-bone: #F4F0E8;
  --tmn-bone-dim: #E8E0CE;
  --tmn-cream: #F4F0E8;
  --tmn-cream-deep: #EBE2CB;
  --tmn-midnight: #1F2742;
  --tmn-midnight-soft: #3A4159;
  --tmn-smoke: #6F6478;
  --tmn-smoke-soft: #8B7E94;
  --tmn-border: #D5C9A8;
  --tmn-ink: #1F2742;
  --tmn-ink-muted: #6F6478;
  --tmn-green: #2E7D5B;
  --tmn-red: #A8323A;
  --tmn-shadow-soft: 0 1px 2px rgba(31,39,66,.06), 0 4px 14px rgba(31,39,66,.10);
  --tmn-shadow-lift: 0 4px 22px rgba(31,39,66,.16), 0 1px 3px rgba(31,39,66,.10);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: "Inter", system-ui, -apple-system, sans-serif;
  background: var(--tmn-bone);
  color: var(--tmn-ink);
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
  html { scroll-behavior: auto; }
}

/* =========================================================================
   GLOBAL NAV — matches v13.5 .tmn-nav
   ========================================================================= */
.tmn-nav {
  position: sticky; top: 0; z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 28px; height: 72px;
  background: linear-gradient(180deg, rgba(244,240,232,.96) 0%, rgba(244,240,232,.85) 100%);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--tmn-border);
}
.tmn-lockup { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.tmn-lockup-mark {
  width: 30px; height: 30px; background: var(--tmn-midnight); color: var(--tmn-bone);
  display: grid; place-items: center; border-radius: 6px;
  font-family: "Fraunces", Georgia, serif; font-weight: 600; font-size: 16px;
}
.tmn-lockup-name {
  font-family: "Fraunces", Georgia, serif; font-size: 14px; letter-spacing: 0.18em;
  font-weight: 600; text-transform: uppercase; color: var(--tmn-ink);
}
.tmn-nav-links {
  display: flex; gap: 28px; font-size: 13px; color: var(--tmn-midnight-soft);
  letter-spacing: 0.04em; align-items: center;
}
.tmn-nav-links a { color: inherit; text-decoration: none; padding: 4px 0; }
.tmn-nav-links a:hover { color: var(--tmn-ink); }
.tmn-nav-right { display: flex; align-items: center; gap: 12px; }

.tmn-join-pill {
  display: inline-flex; align-items: center; height: 36px; padding: 0 18px;
  background: var(--tmn-midnight); color: var(--tmn-bone); border: 0;
  border-radius: 999px; font-family: inherit; font-size: 13px; font-weight: 500;
  letter-spacing: 0.04em; cursor: pointer; text-decoration: none;
  transition: background 180ms;
}
.tmn-join-pill:hover { background: var(--tmn-midnight-soft); }

/* Returning-user pill (G5) — replaces Join free pill when authed */
.tmn-userpill {
  display: inline-flex; align-items: center; gap: 8px; height: 36px;
  padding: 0 6px 0 14px;
  background: white; border: 1px solid var(--tmn-border); border-radius: 999px;
  font-family: inherit; font-size: 13px; color: var(--tmn-ink);
  text-decoration: none;
}
.tmn-userpill:hover { border-color: var(--tmn-midnight); }
.tmn-userpill-name { font-weight: 500; }
.tmn-userpill-avatar {
  width: 28px; height: 28px; border-radius: 50%;
  background: linear-gradient(135deg, var(--tmn-amber) 0%, var(--tmn-amber-deep) 100%);
  color: var(--tmn-midnight); display: grid; place-items: center;
  font-family: "Fraunces", Georgia, serif; font-size: 12px; font-weight: 600;
}

/* Anchor phrase line under masthead (Role 1) — Dana N4 fix */
.tmn-anchor {
  text-align: center; font-family: "Fraunces", Georgia, serif; font-style: italic;
  font-size: 12px; color: var(--tmn-smoke);
  padding: 10px 28px; background: rgba(244,240,232,0.5);
  border-bottom: 1px solid var(--tmn-border);
}

/* =========================================================================
   FOOTER — locked: FAQ · For Venues · About · Privacy · Terms
   ========================================================================= */
.tmn-footer {
  margin-top: 80px; padding: 56px 28px 32px;
  background: var(--tmn-midnight); color: var(--tmn-bone);
}
.tmn-footer-inner { max-width: 1200px; margin: 0 auto; }
.tmn-footer-lockup {
  font-family: "Fraunces", Georgia, serif; font-size: 18px; letter-spacing: 0.18em;
  text-transform: uppercase; font-weight: 600; color: var(--tmn-bone);
  margin-bottom: 28px;
}
.tmn-footer-tag {
  font-family: "Fraunces", Georgia, serif; font-style: italic; font-size: 14px;
  color: var(--tmn-amber); margin-bottom: 36px;
}
.tmn-footer-links {
  display: flex; flex-wrap: wrap; gap: 32px;
  font-size: 13px; padding-bottom: 32px;
  border-bottom: 1px solid rgba(244,240,232,0.12);
}
.tmn-footer-links a {
  color: rgba(244,240,232,0.7); text-decoration: none;
  transition: color 180ms;
}
.tmn-footer-links a:hover { color: var(--tmn-bone); }
.tmn-footer-bottom {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 28px; font-size: 12px; color: rgba(244,240,232,0.5);
  gap: 16px; flex-wrap: wrap;
}

/* =========================================================================
   PAGE STRUCTURE
   ========================================================================= */
main { display: block; }
.tmn-container { max-width: 1080px; margin: 0 auto; padding: 60px 28px 100px; }
.tmn-container-narrow { max-width: 720px; margin: 0 auto; padding: 60px 28px 100px; }

.tmn-hero { margin-bottom: 56px; text-align: center; }
.tmn-eyebrow {
  font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--tmn-amber-deep); font-weight: 600; margin-bottom: 16px;
}
.tmn-h1 {
  font-family: "Fraunces", Georgia, serif; font-size: clamp(2.2rem, 5vw, 3.4rem);
  font-weight: 400; line-height: 1.05; margin-bottom: 18px; color: var(--tmn-ink);
}
.tmn-h1 em { color: var(--tmn-amber-deep); font-style: italic; }
.tmn-h2 {
  font-family: "Fraunces", Georgia, serif; font-size: 24px; font-weight: 500;
  color: var(--tmn-ink);
}
.tmn-h2 em { color: var(--tmn-amber-deep); font-style: italic; }
.tmn-lede {
  font-family: "Fraunces", Georgia, serif; font-size: 18px; font-style: italic;
  color: var(--tmn-smoke); line-height: 1.55; max-width: 620px; margin: 0 auto;
}

.tmn-section { margin-bottom: 64px; }
.tmn-section-head {
  display: flex; align-items: baseline; justify-content: space-between;
  margin-bottom: 24px; gap: 14px;
}
.tmn-section-meta { font-size: 12px; color: var(--tmn-smoke); letter-spacing: 0.06em; }

/* =========================================================================
   GRIDS
   ========================================================================= */
.tmn-grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 20px; }
.tmn-grid-3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.tmn-grid-4 { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }

/* =========================================================================
   CARDS
   ========================================================================= */
.tmn-card {
  background: white; border: 1px solid var(--tmn-border); border-radius: 14px;
  padding: 28px; transition: all 200ms;
}
.tmn-card:hover { border-color: var(--tmn-midnight); transform: translateY(-2px); box-shadow: var(--tmn-shadow-soft); }
.tmn-card-eyebrow {
  font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--tmn-amber-deep); font-weight: 600; margin-bottom: 10px;
}
.tmn-card-title {
  font-family: "Fraunces", Georgia, serif; font-size: 20px; font-weight: 500;
  margin-bottom: 10px; line-height: 1.25; color: var(--tmn-ink);
}
.tmn-card-title em { color: var(--tmn-amber-deep); font-style: italic; }
.tmn-card-body { font-size: 14px; line-height: 1.6; color: var(--tmn-smoke); margin-bottom: 18px; }
.tmn-card-cta {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--tmn-midnight); text-decoration: none;
}
.tmn-card-cta::after { content: "→"; transition: transform 200ms; }
.tmn-card:hover .tmn-card-cta::after { transform: translateX(4px); }

/* Role card — selection state for /join role-picker */
.tmn-role-card {
  background: white; border: 2px solid var(--tmn-border); border-radius: 16px;
  padding: 36px 28px; text-align: left; cursor: pointer;
  transition: all 240ms; display: flex; flex-direction: column;
  text-decoration: none; color: var(--tmn-ink);
}
.tmn-role-card:hover {
  border-color: var(--tmn-amber); transform: translateY(-3px);
  box-shadow: 0 20px 48px rgba(31,39,66,0.10);
}
.tmn-role-card.is-active { border-color: var(--tmn-amber); background: rgba(230,165,87,0.04); }
.tmn-role-eyebrow {
  font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--tmn-amber-deep); font-weight: 600; margin-bottom: 14px;
}
.tmn-role-name {
  font-family: "Fraunces", Georgia, serif; font-size: 26px; font-weight: 500;
  color: var(--tmn-ink); margin-bottom: 10px; line-height: 1.1;
}
.tmn-role-name em { color: var(--tmn-amber-deep); font-style: italic; }
.tmn-role-promise {
  font-family: "Fraunces", Georgia, serif; font-style: italic; font-size: 15px;
  color: var(--tmn-smoke); line-height: 1.55; flex: 1; margin-bottom: 22px;
}
.tmn-role-cta {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--tmn-midnight);
}
.tmn-role-card:hover .tmn-role-cta { color: var(--tmn-amber-deep); }
.tmn-role-cta::after { content: "→"; transition: transform 200ms; display: inline-block; }
.tmn-role-card:hover .tmn-role-cta::after { transform: translateX(3px); }

/* =========================================================================
   BUTTONS
   ========================================================================= */
.tmn-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 28px; border: 0; border-radius: 999px;
  cursor: pointer; font-family: inherit; font-size: 13px; font-weight: 500;
  letter-spacing: 0.04em; transition: all 180ms; text-decoration: none;
}
.tmn-btn-primary { background: var(--tmn-midnight); color: var(--tmn-bone); }
.tmn-btn-primary:hover { background: var(--tmn-midnight-soft); }
.tmn-btn-amber { background: var(--tmn-amber); color: var(--tmn-midnight); }
.tmn-btn-amber:hover { background: var(--tmn-amber-deep); color: var(--tmn-bone); }
.tmn-btn-ghost { background: transparent; border: 1px solid var(--tmn-border); color: var(--tmn-ink); }
.tmn-btn-ghost:hover { background: rgba(31,39,66,0.04); border-color: var(--tmn-midnight); }
.tmn-btn-disabled { background: var(--tmn-bone-dim); color: var(--tmn-smoke); cursor: not-allowed; }
.tmn-cta-row { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; margin-top: 36px; }

/* =========================================================================
   FORMS
   ========================================================================= */
.tmn-field { margin-bottom: 22px; }
.tmn-field label {
  display: block; font-size: 13px; font-weight: 500;
  margin-bottom: 8px; color: var(--tmn-ink);
}
.tmn-field .tmn-req { color: var(--tmn-amber-deep); margin-left: 3px; }
.tmn-field input[type="text"],
.tmn-field input[type="email"],
.tmn-field input[type="url"],
.tmn-field input[type="tel"],
.tmn-field input[type="number"],
.tmn-field input[type="password"],
.tmn-field textarea,
.tmn-field select {
  width: 100%; padding: 14px 16px;
  border: 1px solid var(--tmn-border); border-radius: 10px;
  font-family: inherit; font-size: 14px; color: var(--tmn-ink);
  background: white; outline: none; transition: border-color 180ms;
}
.tmn-field input:focus, .tmn-field textarea:focus, .tmn-field select:focus {
  border-color: var(--tmn-midnight);
}
.tmn-field input::placeholder, .tmn-field textarea::placeholder { color: #9d96a3; }
.tmn-field-help { font-size: 12px; color: var(--tmn-smoke); margin-top: 6px; }
.tmn-field-toggle {
  font-size: 12px; color: var(--tmn-smoke); text-align: center;
  margin-top: 16px; cursor: pointer; text-decoration: underline;
}
.tmn-field-toggle:hover { color: var(--tmn-ink); }

/* Radio cards (for tier selection / radio choices) */
.tmn-radio-group { display: flex; flex-direction: column; gap: 8px; }
.tmn-radio-option {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 14px; border: 1px solid var(--tmn-border);
  border-radius: 8px; cursor: pointer; transition: all 150ms; font-size: 14px;
}
.tmn-radio-option:hover { border-color: var(--tmn-midnight); }
.tmn-radio-option.is-on { border-color: var(--tmn-midnight); background: rgba(31,39,66,0.04); }
.tmn-radio-option input { margin: 0; accent-color: var(--tmn-midnight); }

/* Chip tag group (for genres) */
.tmn-tag-group { display: flex; flex-wrap: wrap; gap: 6px; }
.tmn-tag-chip {
  padding: 7px 14px; border: 1px solid var(--tmn-border);
  border-radius: 999px; background: white; cursor: pointer; font-size: 13px;
  color: var(--tmn-ink); transition: all 150ms; font-family: inherit;
}
.tmn-tag-chip:hover { border-color: var(--tmn-midnight); }
.tmn-tag-chip.is-on { background: var(--tmn-midnight); color: white; border-color: var(--tmn-midnight); }

/* =========================================================================
   STATUS TAGS — green/red/amber pills
   ========================================================================= */
.tmn-tag {
  display: inline-block; padding: 4px 10px; border-radius: 999px;
  font-size: 11px; font-weight: 600; letter-spacing: 0.04em;
}
.tmn-tag-onsale { background: rgba(46,125,91,0.12); color: var(--tmn-green); }
.tmn-tag-soldout { background: rgba(168,50,58,0.12); color: var(--tmn-red); }
.tmn-tag-amber { background: rgba(230,165,87,0.16); color: var(--tmn-amber-deep); }
.tmn-tag-demo { background: rgba(168,50,58,0.10); color: var(--tmn-red); border: 1px solid rgba(168,50,58,0.25); }

/* Demo-mode global banner (for C3 — Carlos hasn't signed off) */
.tmn-demo-banner {
  background: rgba(230,165,87,0.12); border-bottom: 1px solid rgba(230,165,87,0.35);
  padding: 10px 28px; text-align: center;
  font-size: 12px; color: var(--tmn-amber-deep); letter-spacing: 0.04em;
}
.tmn-demo-banner strong { font-weight: 600; }

/* =========================================================================
   MASTHEAD — hero bar with eyebrow/title/lede for non-hero pages
   ========================================================================= */
.tmn-masthead { padding: 80px 28px 40px; text-align: center; }

/* =========================================================================
   PROGRESS STEPPER (for multi-step onboarding)
   ========================================================================= */
.tmn-stepper {
  display: flex; gap: 6px; max-width: 360px; margin: 0 auto 32px;
}
.tmn-stepper-tick {
  flex: 1; height: 4px; border-radius: 2px;
  background: var(--tmn-bone-dim); transition: background 250ms;
}
.tmn-stepper-tick.is-done { background: var(--tmn-amber); }
.tmn-stepper-tick.is-current { background: var(--tmn-midnight); }

/* =========================================================================
   CTA BAR — locked footer-of-page action band
   ========================================================================= */
.tmn-cta-bar {
  background: var(--tmn-midnight); color: var(--tmn-bone); border-radius: 18px;
  padding: 40px; display: flex; align-items: center; justify-content: space-between;
  gap: 24px; flex-wrap: wrap; margin-top: 56px;
}
.tmn-cta-bar-title {
  font-family: "Fraunces", Georgia, serif; font-size: 24px; font-weight: 400;
  line-height: 1.2; max-width: 560px;
}
.tmn-cta-bar-title em { color: var(--tmn-amber); font-style: italic; }

/* =========================================================================
   /JOIN ROLE PICKER LAYOUT
   ========================================================================= */
.tmn-join-page {
  min-height: calc(100vh - 72px);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 64px 28px;
}
.tmn-join-hero { text-align: center; margin-bottom: 48px; max-width: 720px; }
.tmn-join-cards {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px; max-width: 980px; width: 100%;
}
.tmn-join-footer { text-align: center; margin-top: 40px; font-size: 13px; color: var(--tmn-smoke); }
.tmn-join-footer a { color: var(--tmn-ink); text-decoration: underline; }
.tmn-join-footer a:hover { color: var(--tmn-amber-deep); }

/* =========================================================================
   DASHBOARD STRIP — hero summary at top of each dashboard
   ========================================================================= */
.tmn-dash-hero {
  background: linear-gradient(135deg, var(--tmn-midnight) 0%, var(--tmn-midnight-soft) 100%);
  color: var(--tmn-bone); border-radius: 18px; padding: 40px 36px;
  margin-bottom: 48px;
}
.tmn-dash-eyebrow {
  font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--tmn-amber); font-weight: 600; margin-bottom: 14px;
}
.tmn-dash-greeting {
  font-family: "Fraunces", Georgia, serif; font-size: clamp(1.7rem, 3.5vw, 2.4rem);
  font-weight: 400; line-height: 1.15; margin-bottom: 14px;
}
.tmn-dash-greeting em { color: var(--tmn-amber); font-style: italic; }
.tmn-dash-tag {
  font-family: "Fraunces", Georgia, serif; font-style: italic; font-size: 16px;
  color: rgba(244,240,232,0.85); line-height: 1.55; max-width: 640px;
}
.tmn-dash-stats {
  display: flex; gap: 36px; margin-top: 28px; flex-wrap: wrap;
}
.tmn-dash-stat .lbl {
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--tmn-amber); font-weight: 600; margin-bottom: 6px;
}
.tmn-dash-stat .val {
  font-family: "Fraunces", Georgia, serif; font-size: 26px; font-weight: 500;
  color: var(--tmn-bone);
}

.tmn-dash-actions {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px; margin-bottom: 48px;
}
.tmn-dash-action {
  background: white; border: 1px solid var(--tmn-border); border-radius: 12px;
  padding: 20px; cursor: pointer; transition: all 180ms;
  display: flex; align-items: center; gap: 14px; text-decoration: none; color: var(--tmn-ink);
}
.tmn-dash-action:hover { border-color: var(--tmn-midnight); transform: translateY(-2px); }
.tmn-dash-action-icon {
  width: 38px; height: 38px; border-radius: 10px; background: var(--tmn-bone-dim);
  display: grid; place-items: center; flex-shrink: 0; font-size: 18px;
}
.tmn-dash-action-text { font-size: 13px; font-weight: 600; line-height: 1.3; }
.tmn-dash-action-text small { display: block; font-weight: 400; color: var(--tmn-smoke); font-size: 12px; margin-top: 2px; }

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width: 580px) {
  .tmn-nav { padding: 0 18px; height: 64px; }
  .tmn-nav-links { gap: 14px; font-size: 12px; }
  .tmn-nav:not(.tmn-nav-open) .tmn-nav-links a:not(.tmn-join-pill) { display: none; }
  .tmn-container, .tmn-container-narrow { padding: 40px 18px 70px; }
  .tmn-cta-bar { padding: 28px 22px; flex-direction: column; align-items: flex-start; text-align: left; }
  .tmn-dash-hero { padding: 28px 24px; }
  .tmn-footer { padding: 40px 18px 24px; }
  .tmn-footer-links { gap: 18px; }
}


/* ===== Status ladder + share + check-in (dashboards) ===== */
.tmn-status-card{background:white;border:1px solid var(--tmn-border);border-radius:16px;padding:20px 22px;margin:0 0 22px;box-shadow:var(--tmn-shadow-soft);}
.tmn-status-top{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:12px;gap:12px;}
.tmn-status-eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--tmn-smoke);}
.tmn-status-tier{font-family:"Fraunces", Georgia, serif;font-size:24px;font-weight:500;color:var(--tmn-ink);}
.tmn-status-pct{font-family:"Fraunces", Georgia, serif;font-size:22px;color:var(--tmn-amber-deep);}
.tmn-status-bar{height:12px;border-radius:999px;background:var(--tmn-cream-deep);border:1px solid var(--tmn-border);overflow:hidden;}
.tmn-status-fill{height:100%;width:0;background:linear-gradient(90deg,var(--tmn-amber),var(--tmn-amber-deep));transition:width 600ms ease;}
.tmn-status-ladder{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12.5px;color:var(--tmn-smoke);flex-wrap:wrap;}
.tmn-stat-tier{padding:3px 11px;border-radius:999px;border:1px solid var(--tmn-border);}
.tmn-stat-tier.is-reached{color:var(--tmn-ink);}
.tmn-stat-tier.is-current{background:var(--tmn-amber);color:var(--tmn-midnight);border-color:var(--tmn-amber);font-weight:600;}
.tmn-stat-arrow{color:var(--tmn-smoke);}
.tmn-share-row{display:flex;align-items:center;gap:8px;margin-top:16px;flex-wrap:wrap;}
.tmn-share-label{font-size:12.5px;color:var(--tmn-smoke);margin-right:2px;}
.tmn-share-btn{padding:7px 14px;border-radius:999px;border:1px solid var(--tmn-border);background:white;color:var(--tmn-ink);font-size:12.5px;font-family:inherit;cursor:pointer;transition:all 150ms;}
.tmn-share-btn:hover{border-color:var(--tmn-midnight);background:var(--tmn-midnight);color:white;}
.tmn-checkin-card{background:white;border:1px solid var(--tmn-border);border-radius:16px;padding:20px 22px;margin:0 0 22px;}
.tmn-checkin-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.tmn-checkin-private{font-size:11.5px;color:var(--tmn-smoke);margin:8px 0 0;}
.tmn-checkin-list{list-style:none;margin:14px 0 0;padding:0;}
.tmn-checkin-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--tmn-border);font-size:14px;color:var(--tmn-ink);}
.tmn-checkin-list li:last-child{border-bottom:none;}
.tmn-checkin-list .when{color:var(--tmn-smoke);font-size:12.5px;white-space:nowrap;}
.tmn-checkin-empty{color:var(--tmn-smoke);font-size:13px;margin-top:10px;}


/* ===== Monthly/Annual billing toggle ===== */
.billing-toggle-wrap { text-align:center; margin-bottom:6px; }
.billing-toggle { display:inline-flex; gap:4px; background:var(--tmn-cream-deep); border:1px solid var(--tmn-border); border-radius:999px; padding:4px; margin:0 auto 22px; }
.billing-toggle .bt-opt { border:none; background:transparent; border-radius:999px; padding:8px 16px; font-family:inherit; font-size:13.5px; color:var(--tmn-smoke); cursor:pointer; display:inline-flex; align-items:center; gap:8px; }
.billing-toggle .bt-opt.is-active { background:white; color:var(--tmn-ink); box-shadow:var(--tmn-shadow-soft); font-weight:600; }
.bt-badge { background:var(--tmn-green); color:#fff; font-size:10.5px; font-weight:700; letter-spacing:.04em; padding:2px 8px; border-radius:999px; text-transform:uppercase; }


/* ===== Rich canonical header CSS (lifted from artists.html) ===== */
.tmn-nav {
  position: sticky; top: 0; z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 28px; height: 72px;
  background: linear-gradient(180deg, rgba(244,240,232,.96) 0%, rgba(244,240,232,.85) 100%);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--tmn-border);
}
.tmn-nav .tmn-lockup {
  display: flex; align-items: center; gap: 12px; cursor: pointer; text-decoration: none;
}
.tmn-nav .tmn-lockup-mark {
  width: 30px; height: 30px; background: var(--tmn-midnight); color: var(--tmn-bone);
  display: grid; place-items: center; border-radius: 6px;
  font-family: "Fraunces", Georgia, serif; font-weight: 600; font-size: 16px;
}
.tmn-nav .tmn-lockup-name {
  font-family: "Fraunces", Georgia, serif; font-size: 14px; letter-spacing: 0.18em;
  font-weight: 600; text-transform: uppercase; color: var(--tmn-ink);
}
.tmn-nav-links {
  display: flex; gap: 28px; font-size: 13px; color: var(--tmn-midnight-soft);
  letter-spacing: 0.04em; align-items: center;
}
.tmn-nav-links a { color: inherit; text-decoration: none; padding: 4px 0; cursor: pointer; }
.tmn-nav-links a:hover { color: var(--tmn-ink); }
.tmn-nav-right { display: flex; align-items: center; gap: 12px; }

.tmn-search-pill-wrap {
  position: relative; display: inline-flex; align-items: center; gap: 8px;
  height: 36px; padding: 0 14px; background: rgba(255,255,255,.5);
  border: 1px solid var(--tmn-border); border-radius: 999px;
  transition: all 220ms ease; min-width: 240px;
}
.tmn-search-pill-wrap.is-focused {
  background: white; border-color: var(--tmn-midnight); min-width: 320px;
  box-shadow: 0 2px 12px rgba(31,39,66,0.10);
}
.tmn-search-pill-wrap svg { flex-shrink: 0; color: var(--tmn-smoke); width: 14px; height: 14px; }
.tmn-search-pill-wrap input {
  flex: 1; min-width: 0; border: none; outline: none; background: transparent;
  font-family: "Inter", sans-serif; font-size: 13px; color: var(--tmn-ink);
  caret-color: var(--tmn-amber);
}
.tmn-search-pill-wrap input::placeholder { color: var(--tmn-ink-muted); }
.tmn-search-pill-wrap kbd {
  font-family: inherit; font-size: 11px; padding: 1px 5px;
  border: 1px solid var(--tmn-border); border-radius: 4px;
  background: var(--tmn-cream); color: var(--tmn-midnight-soft); flex-shrink: 0;
}
.tmn-search-pill-wrap.is-focused kbd { display: none; }

.tmn-join-pill {
  display: inline-flex; align-items: center; height: 36px; padding: 0 18px;
  background: var(--tmn-midnight); color: var(--tmn-bone) !important;
  border-radius: 999px; font-size: 13px; letter-spacing: 0.04em;
  cursor: pointer; border: 0; text-decoration: none;
}
.tmn-join-pill:hover { background: var(--tmn-midnight-soft); }

/* Cities dropdown */
.tmn-nav-dropdown-wrap { position: relative; }
.tmn-nav-link-cities {
  display: inline-flex; align-items: center; gap: 2px;
  color: inherit; text-decoration: none; padding: 4px 0; cursor: pointer;
}
.tmn-nav-dropdown {
  position: absolute; top: calc(100% + 8px); left: -12px; min-width: 220px;
  background: rgba(244,240,232,.97); backdrop-filter: blur(14px);
  border: 1px solid var(--tmn-border); border-radius: 12px; padding: 8px 0;
  box-shadow: var(--tmn-shadow-lift); opacity: 0; visibility: hidden;
  transform: translateY(-4px); transition: all 200ms ease; z-index: 110;
}
.tmn-nav-dropdown.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
.tmn-nav-dropdown-item {
  display: flex; align-items: center; gap: 10px; padding: 10px 16px;
  cursor: pointer; transition: background 150ms; font-size: 13px;
  color: var(--tmn-ink) !important; text-decoration: none;
}
.tmn-nav-dropdown-item:hover { background: rgba(230,165,87,0.08); }
.tmn-nav-dropdown-item .tmn-dd-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.tmn-nav-dropdown-item .tmn-dd-dot.partner { background: var(--tmn-amber); }
.tmn-nav-dropdown-item .tmn-dd-dot.target { border: 1.5px solid var(--tmn-midnight); background: transparent; }
.tmn-nav-dropdown-item .tmn-dd-name { font-family: "Fraunces", Georgia, serif; font-size: 14px; font-weight: 500; flex: 1; }
.tmn-nav-dropdown-item .tmn-dd-state { font-size: 11px; color: var(--tmn-smoke); }
.tmn-nav-dropdown-sep { height: 1px; background: var(--tmn-border); margin: 6px 0; }

/* Search dropdown */
.tmn-search-dropdown {
  position: absolute; top: calc(100% + 8px); right: 0;
  min-width: 380px; max-width: 480px; max-height: 60vh;
  background: var(--tmn-bone); border: 1px solid rgba(31,39,66,0.10);
  border-radius: 12px; box-shadow: 0 16px 48px rgba(31,39,66,0.18);
  overflow-y: auto; opacity: 0; visibility: hidden;
  transform: translateY(-4px); transition: all 180ms ease;
  z-index: 110; padding: 6px 0;
}
.tmn-search-dropdown.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
.tmn-sr-group {
  padding: 10px 16px 6px; font-size: 10px; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--tmn-smoke); font-weight: 600;
}
.tmn-sr {
  display: flex; align-items: center; gap: 10px; padding: 9px 16px;
  cursor: pointer; transition: background 120ms; text-decoration: none; color: inherit !important;
}
.tmn-sr:hover, .tmn-sr.is-sel { background: rgba(230,165,87,0.07); }
.tmn-sr-icon { font-size: 13px; min-width: 18px; text-align: center; }
.tmn-sr-name { font-family: "Fraunces", Georgia, serif; font-size: 14px; color: var(--tmn-ink); }
.tmn-sr-sub { font-size: 11px; color: var(--tmn-smoke); margin-left: auto; max-width: 180px; text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tmn-sr-empty { padding: 24px 16px; text-align: center; }
.tmn-sr-empty-text { font-family: "Fraunces", Georgia, serif; font-size: 14px; font-style: italic; color: var(--tmn-ink); }
.tmn-sr-empty-sub { font-size: 11px; color: var(--tmn-smoke); margin-top: 6px; opacity: 0.8; }


/* === TMN canonical header: search-in-MIDDLE + logo + user dropdown + mobile === */
.tmn-nav .tmn-lockup svg { height: 40px; width: auto; display: block; }
.tmn-nav > .tmn-search-pill-wrap { flex: 1 1 auto; max-width: 440px; min-width: 0; margin: 0 22px; }
.tmn-nav > .tmn-search-pill-wrap.is-focused { max-width: 520px; }
.tmn-burger { display: none; flex-direction: column; gap: 4px; background: none; border: 0; cursor: pointer; padding: 8px; }
.tmn-burger span { width: 22px; height: 2px; background: var(--tmn-ink); border-radius: 2px; }
.tmn-userwrap { position: relative; }
.tmn-usermenu { position: absolute; top: 48px; right: 0; min-width: 188px; background: var(--tmn-bone, #fff);
  border: 1px solid var(--tmn-border); border-radius: 12px; box-shadow: 0 16px 48px rgba(31,39,66,.18); overflow: hidden; z-index: 240; padding: 6px 0; }
.tmn-usermenu a { display: block; padding: 11px 16px; text-decoration: none; color: var(--tmn-ink); font-size: 14px; }
.tmn-usermenu a:hover { background: rgba(230,165,87,0.08); }
@media (max-width: 820px) {
  .tmn-burger { display: flex; order: -1; }
  .tmn-nav > .tmn-search-pill-wrap { max-width: none; margin: 0 8px; min-width: 120px; }
  .tmn-nav-links { display: none; position: absolute; top: 64px; left: 0; right: 0; flex-direction: column;
    gap: 0; align-items: stretch; background: var(--tmn-bone); border-bottom: 1px solid var(--tmn-border); padding: 8px 0; z-index: 230; }
  .tmn-nav-open .tmn-nav-links { display: flex; }
  .tmn-nav-links > a, .tmn-nav-dropdown-wrap { padding: 10px 20px; }
  .tmn-nav-dropdown { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none;
    border: 0; background: transparent; padding: 0 0 6px 12px; }
}

/* ===== Make-it-a-trip: header pill + reusable show-card chips + toast ===== */
.tmn-trip-pill{display:inline-flex;align-items:center;gap:8px;background:#1F2742;color:#fff;border:none;border-radius:999px;padding:9px 16px;font:600 13.5px/1 Inter,-apple-system,sans-serif;cursor:pointer;text-decoration:none;}
.tmn-trip-pill .cnt{background:#E6A557;color:#1F2742;border-radius:999px;font-size:12px;font-weight:700;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;}
.tmn-trip-pill[hidden]{display:none;}
/* reusable show-card action pair (mockup parity) */
.tmn-chip-trip{font:600 13px/1 Inter,sans-serif;color:#1F2742;background:#fff;border:1px solid #DDD6CB;border-radius:999px;padding:8px 14px;cursor:pointer;white-space:nowrap;}
.tmn-chip-trip:hover{border-color:#1F2742;}
.tmn-chip-trip.added{background:#E7F3EC;color:#1f7a3d;border-color:#1f7a3d;}
.tmn-chip-tix{font:600 13px/1 Inter,sans-serif;color:#fff;background:#1F2742;border:none;border-radius:999px;padding:9px 16px;cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;}
.tmn-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);background:#1F2742;color:#F4F0E8;border:1px solid rgba(230,165,87,.5);border-radius:12px;padding:12px 20px;font:500 13.5px/1.4 Inter,sans-serif;opacity:0;transition:all .3s;z-index:100001;pointer-events:none;max-width:90vw;text-align:center;}
.tmn-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
