/*! fc-tickettypes.css v1.0.0 · 2026-08-11 · fc-brands @fcv */
/* Split out of sec_home_tickettypes/embed.html so the static fragment AND the
   ACF-driven [temper_tickettypes] PHP share ONE copy. Look + motion stay
   push-live on Netlify; only the server-rendered markup lives in WordPress. */
.ttx2{--ui:#6BCEE8;--ink:#0a0f16;--line:color-mix(in srgb,#0a0f16 28%,transparent);
  --card-bg:#0b1016;--card-ink:#eef4fb;--card-line:rgba(255,255,255,.16);--card-border:rgba(255,255,255,.26);
  --cond:"helvetica-neue-lt-pro-cond","helvetica-neue-lt-pro",Arial,sans-serif;
  --sans:"helvetica-neue-lt-pro",Arial,sans-serif;--cta:#6BCEE8;
  width:100%;min-height:100svh;max-width:1500px;margin:0 auto;padding:clamp(40px,7vh,84px) clamp(20px,4vw,56px);box-sizing:border-box;
  position:relative;z-index:2;   /* sits over the lineup it overlaps during the reveal */
  display:flex;flex-direction:column;justify-content:center;color:var(--ink);font-family:var(--cond);
  /* Built in the TRUE (light-theme) colors; inverted while the page is dark,
     un-inverts (to this) when the section flips the page light. */
  filter:invert(1) hue-rotate(180deg);transition:filter 1.2s ease;}
body.fc-light .ttx2{filter:none;}
.ttx2 *{box-sizing:border-box;}
.ttx2-lab{font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:color-mix(in srgb,var(--ink) 64%,transparent);}

.ttx2-head{margin-bottom:clamp(20px,3vh,34px);}
.ttx2-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;}
.ttx2-title{margin:0;font-family:var(--cond);font-weight:800;text-transform:uppercase;line-height:.86;letter-spacing:-.01em;font-size:clamp(44px,9vw,124px);}
.ttx2-title .c{display:inline-block;}
.ttx2-sub{display:flex;flex-direction:column;text-align:right;line-height:1.7;font-size:8px;letter-spacing:.12em;white-space:nowrap;padding-bottom:.5em;}
.ttx2-sub .ln{display:block;}
.ttx2-line,.ttx2-botline{height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left center;}
.ttx2-line{margin:.28em 0 0;}
.ttx2-botline{margin:clamp(20px,3vh,34px) 0 16px;}

.ttx2-cards{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.4vw,28px);align-items:stretch;}  /* equal-size cards */
.ttx2-card{border:1.5px solid var(--card-border);padding:clamp(18px,2vw,28px);display:flex;flex-direction:column;
  background:var(--card-bg);color:var(--card-ink);clip-path:inset(100% 0 0 0);
  transition:transform .4s ease-out,background-color .4s ease-out;}   /* dark card, white text; revealed from the bottom up */
@media (hover:hover) and (pointer:fine){
  .ttx2-card:hover{transform:translateY(-4px);background:color-mix(in srgb,var(--card-bg) 88%,#fff 12%);}
  /* hovering anywhere on the card fires the CTA's underline refresh */
  .ttx2-card:hover .fc-uline[data-uline="refresh"]::after{animation:ulRefresh var(--ul-dur) 1;}
  /* hovering the CTA directly re-fires it — distinct keyframe name so it retriggers even while the card is already hovered */
  .ttx2-cta.fc-uline[data-uline="refresh"]:hover::after{animation:ulRefresh2 var(--ul-dur) 1;}
}
@keyframes ulRefresh2{
  0%  { transform:scaleX(1); transform-origin:var(--ul-out) center; animation-timing-function:var(--ul-ease-out); }
  49% { transform:scaleX(0); transform-origin:var(--ul-out) center; }
  50% { transform:scaleX(0); transform-origin:var(--ul-in) center;  animation-timing-function:var(--ul-ease-in); }
  100%{ transform:scaleX(1); transform-origin:var(--ul-in) center; }
}
.ttx2-card .ttx2-lab{color:color-mix(in srgb,var(--card-ink) 60%,transparent);}
.ttx2-ch{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--card-line);padding-bottom:10px;}
.ttx2-no{font-family:var(--sans);font-weight:500;font-size:13px;letter-spacing:.16em;color:var(--ui);}
.ttx2-name{margin:.34em 0 0;font-family:var(--cond);font-weight:800;text-transform:uppercase;line-height:.86;letter-spacing:-.01em;font-size:clamp(40px,6vw,88px);color:var(--card-ink);}
.ttx2-price{display:flex;align-items:baseline;gap:.4em;margin-top:calc(.1em + 4px);flex-wrap:wrap;}
.ttx2-price .amt{font-family:var(--cond);font-weight:800;font-size:clamp(24px,3.6vw,48px);color:var(--ui);line-height:1;}
.ttx2-price .l{font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--card-ink) 66%,transparent);}

.ttx2-specs{margin-top:clamp(16px,2.4vh,24px);border-top:1px solid var(--card-line);}
.ttx2-spec{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:.66em 0;border-bottom:1px solid var(--card-line);
  font-family:var(--cond);font-size:clamp(14px,1.4vw,17px);text-transform:uppercase;letter-spacing:.02em;font-weight:600;}
.ttx2-spec .mk{font-weight:800;font-size:1.1em;}
.ttx2-spec.on .mk{color:var(--ui);}
.ttx2-spec.off{color:color-mix(in srgb,var(--card-ink) 44%,transparent);}
.ttx2-spec.off .mk{color:color-mix(in srgb,var(--card-ink) 44%,transparent);}

.ttx2-foot{margin-top:auto;padding-top:clamp(16px,2.2vh,24px);text-align:right;}   /* card CTA aligns right */
/* fc-uline "refresh" CTA — blue, matches the nav Get Tickets button */
.ttx2-cta{display:inline-flex;align-items:center;gap:.5em;color:var(--cta);font-family:var(--cond);font-weight:800;
  text-transform:uppercase;letter-spacing:.08em;line-height:1;}
.ttx2-cta a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:.5em;white-space:nowrap;}
.ttx2-cta .ar{width:1em;height:1em;font-size:1.05em;display:inline-block;vertical-align:-.12em;fill:currentColor;}
.ttx2-cta.sm{font-size:clamp(15px,1.6vw,19px);}
.ttx2-cta.lg{font-size:clamp(20px,2.4vw,30px);}
.ttx2-bottom .ttx2-cta{color:var(--ink);}   /* outside "Get Tickets" = black (cards stay blue) */
.ttx2-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;}

/* pre-hide the reveal targets (fromTo drives the reveal) */
.ttx2-title .c,.ttx2-sub .ln,.ttx2 .stag{opacity:0;}

@media (max-width:760px){ .ttx2-cards{grid-template-columns:1fr;} .ttx2-top{flex-wrap:wrap;}
  .ttx2{padding-bottom:calc(clamp(40px,7vh,84px) + 80px);}   /* room to breathe when stacked */ }
@media (prefers-reduced-motion:reduce){
  .ttx2-card{clip-path:none;} .ttx2-line,.ttx2-botline{transform:none;} .ttx2-title .c,.ttx2-sub .ln,.ttx2 .stag{opacity:1;}
}
:root{--fcv-fc-tickettypes-css:"1.0.0";}
