/* ============================================================
   The Beauty of the Journey Tour — tour-domain theme.
   Loaded on the tour front page, and applied to the ticketing
   pages when they're viewed under beautyofthejourneytour.com
   (html.bjt set by js/bjt-brand.js). Navy + gold, per the tour's
   EPK / print package, distinct from the artist site's violet.
   ============================================================ */
:root.bjt, .bjt-page {
  --ink: #0A1220;
  --ink-2: #0E1930;
  --card: #13203A;
  --card-2: #1A2A48;
  --cream: #F5F0E4;
  --muted: #A8B0C2;
  --violet: #D4AF37;        /* the accent token everywhere → tour gold */
  --violet-deep: #8A6D1F;
  --ocean: #7FB4D9;
  --line: rgba(245, 240, 228, 0.14);
}
html.bjt body, .bjt-page body { background: var(--ink); }

/* Tour wordmark: two-line lockup honoring the billing rule */
.bjt-mark { display: inline-block; line-height: 1.1; text-decoration: none; color: var(--cream); }
.bjt-mark .top { font-family: 'Outfit', sans-serif; font-weight: 500; letter-spacing: 0.34em; font-size: 12px; color: var(--cream); }
.bjt-mark .main { display: block; font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; font-size: 19px; letter-spacing: 0.06em; color: #D4AF37; }

/* Front page */
.bjt-hero { position: relative; padding: 140px 0 110px; text-align: center; overflow: hidden; }
.bjt-hero .bg { position: absolute; inset: 0; background: url('../img/tour/hero-goldletters.jpg') center 30%/cover no-repeat; }
.bjt-hero .bg::after { content:''; position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(10,18,32,.55) 0%, rgba(10,18,32,.72) 55%, #0A1220 100%); }
.bjt-hero .wrap { position: relative; z-index: 1; }
.bjt-hero .presents { letter-spacing: 0.4em; font-size: 12px; color: var(--muted); text-transform: uppercase; }
.bjt-hero .headline { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; font-size: clamp(34px, 6vw, 72px); margin: 18px 0 6px; }
.bjt-hero .headline .tour-name { color: #D4AF37; display: block; font-style: italic; }
.bjt-hero .featuring { font-size: clamp(16px, 2.2vw, 22px); color: var(--cream); font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; }
.bjt-hero .season { margin-top: 14px; color: var(--muted); letter-spacing: 0.18em; font-size: 13px; text-transform: uppercase; }
.bjt-rule { width: 72px; height: 2px; background: #D4AF37; margin: 26px auto; border: 0; }

.bjt-dates { max-width: 900px; margin: 0 auto; padding: 0 20px 40px; }
.bjt-date { display: flex; align-items: center; gap: 22px; padding: 22px 24px; margin-bottom: 14px;
  background: var(--card); border: 1px solid var(--line); border-radius: 14px; flex-wrap: wrap; }
.bjt-date .cal { text-align: center; min-width: 64px; }
.bjt-date .cal .mo { font-size: 12px; letter-spacing: 0.2em; color: #D4AF37; text-transform: uppercase; }
.bjt-date .cal .dy { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 34px; font-weight: 600; line-height: 1; }
.bjt-date .info { flex: 1; min-width: 220px; }
.bjt-date .info .venue { font-size: 18px; font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; }
.bjt-date .info .city { color: var(--muted); font-size: 14px; margin-top: 2px; }
.bjt-btn { display: inline-block; padding: 12px 26px; border-radius: 999px; background: #D4AF37; color: #0A1220;
  font-weight: 500; text-decoration: none; letter-spacing: 0.04em; }
.bjt-btn:hover { background: #E5C458; }
.bjt-btn.ghost { background: transparent; color: #D4AF37; border: 1px solid #D4AF37; }

.bjt-about { max-width: 760px; margin: 0 auto; padding: 30px 20px 50px; text-align: center; color: var(--muted); line-height: 1.8; }
.bjt-artists { display: flex; gap: 18px; justify-content: center; flex-wrap: wrap; padding-bottom: 70px; }
.bjt-artist { background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 26px 30px; text-align: center; min-width: 250px; }
.bjt-artist h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 24px; font-weight: 600; }
.bjt-artist p { color: var(--muted); font-size: 14px; margin: 8px 0 14px; }
.bjt-foot { border-top: 1px solid var(--line); padding: 28px 20px 40px; text-align: center; color: var(--muted); font-size: 13px; }
.bjt-foot a { color: #D4AF37; text-decoration: none; }

/* live-photo strip */
.bjt-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; max-width: 1180px; margin: 0 auto 8px; padding: 0 20px; }
.bjt-strip figure { margin: 0; border-radius: 10px; overflow: hidden; border: 1px solid var(--line); position: relative; }
.bjt-strip img { width: 100%; height: 190px; object-fit: cover; display: block; transition: transform .5s; }
.bjt-strip figure:hover img { transform: scale(1.05); }
.bjt-strip figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 12px 8px; font-size: 12px;
  color: var(--cream); background: linear-gradient(transparent, rgba(10,18,32,.85)); letter-spacing: .04em; }
@media (max-width: 760px) { .bjt-strip { grid-template-columns: repeat(2, 1fr); } .bjt-strip img { height: 140px; } }
.bjt-datebg { background-size: cover; background-position: center; position: relative; overflow: hidden; }
.bjt-datebg::before { content:''; position: absolute; inset: 0; background: rgba(15,23,42,.78); }
.bjt-datebg > * { position: relative; }

/* Tour mode hides artist-site upsells inside the buying flow */
html.bjt a[href="tarreytown.html"], html.bjt a[href^="tarreytown"] { display: none !important; }
