/* =========================================================
   ALL HAIL TAXIS — NYC Taxi Insights Style V7
   Target page/post ID: 1950

   Purpose:
   - Refines V5 by forcing the desktop hero subtitle onto one line.
   - Hero title uses Taxi yellow / Insights white.
   - Removes intro action buttons.
   - Removes NYC Archive kicker.
   - Removes bottom Hotspots CTA card.
   - Keeps tabs in a single row on desktop.
   - Keeps premium black-glass card aesthetic.
   ========================================================= */

:root {
  --aht-nyc-yellow:#ffc91f;
  --aht-nyc-yellow-2:#f2bd17;
  --aht-nyc-black:#000000;
  --aht-nyc-card:#050505;
  --aht-nyc-card-2:#090909;
  --aht-nyc-white:#ffffff;
  --aht-nyc-muted:rgba(255,255,255,.74);
  --aht-nyc-soft:rgba(255,255,255,.12);
  --aht-nyc-line:rgba(255,255,255,.16);
}

body.postid-1950,
body.page-id-1950,
body.aht-nyc-taxi-insights-page,
body.postid-1950 #c27-site-wrapper,
body.page-id-1950 #c27-site-wrapper,
body.aht-nyc-taxi-insights-page #c27-site-wrapper,
body.postid-1950 #main,
body.page-id-1950 #main,
body.aht-nyc-taxi-insights-page #main,
body.postid-1950 #content,
body.page-id-1950 #content,
body.aht-nyc-taxi-insights-page #content,
body.postid-1950 .site-content,
body.page-id-1950 .site-content,
body.aht-nyc-taxi-insights-page .site-content,
body.postid-1950 .entry-content,
body.page-id-1950 .entry-content,
body.aht-nyc-taxi-insights-page .entry-content {
  background:#000!important;
  background-color:#000!important;
}

body.postid-1950 .entry-title,
body.page-id-1950 .entry-title,
body.aht-nyc-taxi-insights-page .entry-title,
body.postid-1950 .page-title,
body.page-id-1950 .page-title,
body.aht-nyc-taxi-insights-page .page-title,
body.postid-1950 .post-title,
body.page-id-1950 .post-title,
body.aht-nyc-taxi-insights-page .post-title {
  display:none!important;
}

body.postid-1950 .entry-content,
body.page-id-1950 .entry-content,
body.aht-nyc-taxi-insights-page .entry-content {
  margin-top:0!important;
  padding-top:0!important;
}

#ahtNycTaxiInsights,
#ahtNycTaxiInsights * {
  box-sizing:border-box;
}

#ahtNycTaxiInsights {
  width:100%;
  min-height:auto;
  padding:54px 0 92px;
  color:var(--aht-nyc-white);
  background:#000;
  overflow:hidden;
  font-family:inherit;
}

#ahtNycTaxiInsights a {
  color:inherit;
  text-decoration:none!important;
}

#ahtNycTaxiInsights img {
  display:block;
  width:100%;
  max-width:100%;
  opacity:1!important;
  filter:none!important;
  -webkit-filter:none!important;
  transform:none;
  backface-visibility:hidden;
}

.aht-nyc-shell {
  width:min(1160px, calc(100vw - 48px));
  margin:0 auto;
}

.aht-nyc-intro {
  display:block;
  margin:0 0 16px;
}

.aht-nyc-intro-card,
.aht-nyc-card {
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045) 0%, rgba(255,255,255,.014) 44%, rgba(0,0,0,.22) 100%),
    linear-gradient(135deg, rgba(255,255,255,.025) 0%, rgba(255,255,255,0) 38%),
    var(--aht-nyc-card);
  border:1px solid var(--aht-nyc-line);
  border-radius:16px;
  box-shadow:
    0 18px 38px rgba(0,0,0,.44),
    inset 0 1px 0 rgba(255,255,255,.05),
    inset 0 -1px 0 rgba(0,0,0,.68);
}

.aht-nyc-intro-card {
  min-height:176px;
  padding:28px 32px 26px;
}

.aht-nyc-kicker,
.aht-nyc-card-body span {
  margin:0;
  font-size:9.5px;
  line-height:1;
  font-weight:950;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.aht-nyc-kicker {
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

.aht-nyc-card-body span {
  color:var(--aht-nyc-yellow)!important;
  -webkit-text-fill-color:var(--aht-nyc-yellow)!important;
}

.aht-nyc-intro-card > * {
  position:relative;
  z-index:1;
}

.aht-nyc-intro h1 {
  margin:10px 0 0;
  font-size:clamp(44px, 5.05vw, 72px);
  line-height:.90;
  font-weight:950;
  letter-spacing:-.06em;
  text-transform:none;
}

.aht-nyc-intro h1 span:first-child {
  color:var(--aht-nyc-yellow)!important;
  -webkit-text-fill-color:var(--aht-nyc-yellow)!important;
}

.aht-nyc-intro h1 span:last-child {
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

.aht-nyc-intro-card p:last-child {
  width:100%;
  max-width:none;
  margin:14px 0 0;
  color:rgba(255,255,255,.78)!important;
  -webkit-text-fill-color:rgba(255,255,255,.78)!important;
  font-size:clamp(14px, 1.02vw, 15.5px);
  line-height:1.38;
  font-weight:750;
}

@media only screen and (min-width:901px) {
  .aht-nyc-intro-card p:last-child {
    white-space:nowrap;
  }
}

.aht-nyc-filter-bar {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  margin:0 0 26px;
}

.aht-nyc-filter-bar button {
  appearance:none;
  min-height:42px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.18);
  background:
    linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.008) 52%, rgba(0,0,0,.2)),
    #050505;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:10.5px;
  line-height:1;
  font-weight:950;
  letter-spacing:.045em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
}

.aht-nyc-filter-bar button:hover,
.aht-nyc-filter-bar button:focus-visible {
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.40);
}

.aht-nyc-filter-bar button.is-active {
  background:var(--aht-nyc-yellow)!important;
  border-color:var(--aht-nyc-yellow)!important;
  color:#000!important;
  -webkit-text-fill-color:#000!important;
}

.aht-nyc-section-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin:0 0 16px;
}

.aht-nyc-section-head h2 {
  margin:0;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:clamp(28px, 3.1vw, 42px);
  line-height:.96;
  font-weight:950;
  letter-spacing:-.055em;
}

.aht-nyc-section-head a {
  color:var(--aht-nyc-yellow)!important;
  -webkit-text-fill-color:var(--aht-nyc-yellow)!important;
  font-size:10px;
  line-height:1;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}

.aht-nyc-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}

.aht-nyc-card {
  min-height:0;
  contain:layout paint;
  transition:transform .18s ease, border-color .18s ease, background-color .18s ease;
}

.aht-nyc-card:hover,
.aht-nyc-card:focus-within {
  transform:translateY(-3px);
  border-color:rgba(255,255,255,.34);
}

.aht-nyc-card[hidden] {
  display:none!important;
}

.aht-nyc-card a {
  display:flex;
  flex-direction:column;
  min-height:100%;
}

.aht-nyc-card figure {
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  margin:0;
  overflow:hidden;
  background:#050505;
  border-bottom:1px solid rgba(255,255,255,.10);
}

.aht-nyc-card figure::after {
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:46%;
  pointer-events:none;
  background:linear-gradient(180deg, transparent, rgba(0,0,0,.52));
}

.aht-nyc-card img {
  height:100%;
  object-fit:cover;
  object-position:center center;
  transition:transform .28s ease, opacity .28s ease;
  will-change:transform;
}

.aht-nyc-card:hover img,
.aht-nyc-card:focus-within img {
  transform:scale(1.025);
}

.aht-nyc-card-body {
  display:flex;
  flex-direction:column;
  flex:1;
  padding:17px 18px 18px;
  background:#050505;
}

.aht-nyc-card-body h3 {
  margin:8px 0 8px;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:clamp(18px, 1.75vw, 24px);
  line-height:1.02;
  font-weight:950;
  letter-spacing:-.045em;
}

.aht-nyc-card-body p {
  margin:0;
  color:rgba(255,255,255,.72)!important;
  -webkit-text-fill-color:rgba(255,255,255,.72)!important;
  font-size:12.2px;
  line-height:1.38;
  font-weight:760;
}

.aht-nyc-card-body small {
  display:block;
  margin-top:auto;
  padding-top:18px;
  color:rgba(255,255,255,.84)!important;
  -webkit-text-fill-color:rgba(255,255,255,.84)!important;
  font-size:10.4px;
  line-height:1;
  font-weight:900;
}

@media only screen and (max-width:1180px) {
  .aht-nyc-shell {
    width:min(100%, calc(100vw - 32px));
  }
}

@media only screen and (max-width:900px) {
  #ahtNycTaxiInsights {
    padding:34px 0 76px;
  }

  .aht-nyc-filter-bar {
    display:flex;
    gap:8px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom:2px;
    scrollbar-width:none;
  }

  .aht-nyc-filter-bar::-webkit-scrollbar {
    display:none;
  }

  .aht-nyc-filter-bar button {
    min-width:148px;
    flex:0 0 auto;
  }

  .aht-nyc-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media only screen and (max-width:640px) {
  #ahtNycTaxiInsights {
    padding:28px 0 64px;
  }

  .aht-nyc-shell {
    width:min(100%, calc(100vw - 24px));
  }

  .aht-nyc-intro-card {
    min-height:0;
    padding:24px 22px;
    border-radius:15px;
  }

  .aht-nyc-intro h1 {
    font-size:48px;
  }

  .aht-nyc-intro-card p:last-child {
    font-size:13.5px;
  }

  .aht-nyc-grid {
    grid-template-columns:1fr;
  }

  .aht-nyc-section-head {
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }
}


/* =========================================================
   V6 HERO SUBTITLE DESKTOP ONE-LINE FIX
   Keeps "New York City." on the same line on desktop.
   Mobile/tablet can wrap naturally.
   ========================================================= */

#ahtNycTaxiInsights .aht-nyc-intro-card .aht-nyc-hero-subtitle {
  width:100%!important;
  max-width:none!important;
}

@media only screen and (min-width:901px) {
  #ahtNycTaxiInsights .aht-nyc-intro-card .aht-nyc-hero-subtitle {
    display:block!important;
    white-space:nowrap!important;
    font-size:clamp(12px, .82vw, 14px)!important;
    line-height:1.25!important;
    letter-spacing:-.012em!important;
  }
}

@media only screen and (max-width:900px) {
  #ahtNycTaxiInsights .aht-nyc-intro-card .aht-nyc-hero-subtitle {
    white-space:normal!important;
  }
}


/* =========================================================
   V7 HERO TITLE — Ticket Alerts style dimensional title for black-glass card
   - Keeps Taxi yellow / Insights white identity
   - Enlarges title to better fill the hero card
   - Adds Safari-safe whole-title motion with flat glyph layers
   ========================================================= */

#ahtNycTaxiInsights .aht-nyc-intro h1 {
  --aht-nyc-title-tx: 0px;
  --aht-nyc-title-ty: 0px;
  --aht-nyc-title-skx: 0deg;
  --aht-nyc-title-sky: 0deg;
  --aht-nyc-shadow-x: 0px;
  --aht-nyc-shadow-y: 0px;
  display:flex;
  align-items:flex-end;
  flex-wrap:nowrap;
  gap:10px;
  width:100%;
  margin:12px 0 0;
  overflow:visible;
  font-size:clamp(56px, 6.45vw, 88px);
  line-height:.84;
  letter-spacing:-.065em;
  transform:
    translate(var(--aht-nyc-title-tx), var(--aht-nyc-title-ty))
    skewX(var(--aht-nyc-title-skx))
    skewY(var(--aht-nyc-title-sky));
  transform-origin: 34% 50%;
  will-change:transform;
}

#ahtNycTaxiInsights .aht-nyc-intro h1 span {
  display:inline-block;
  position:relative;
  overflow:visible;
  background:none!important;
  background-image:none!important;
  transform:none!important;
  -webkit-transform:none!important;
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
  will-change:auto!important;
  backface-visibility:visible!important;
  -webkit-backface-visibility:visible!important;
}

/* Taxi = dimensional Taxi-gold */
#ahtNycTaxiInsights .aht-nyc-intro h1 span:first-child {
  color:#ffd200!important;
  -webkit-text-fill-color:#ffd200!important;
  -webkit-text-stroke:.40px rgba(255,232,120,.80);
  text-shadow:
    0 -1px 0 rgba(255,244,173,.98),
    0 1px 0 rgba(238,184,0,.98),
    1px 2px 0 rgba(205,145,0,.98),
    2px 3px 0 rgba(153,98,0,.98),
    3px 4px 0 rgba(100,58,0,.98),
    4px 5px 0 rgba(62,34,0,.94),
    calc(5px + var(--aht-nyc-shadow-x)) calc(7px + var(--aht-nyc-shadow-y)) 9px rgba(0,0,0,.74),
    0 0 16px rgba(255,210,24,.18),
    calc(0px + var(--aht-nyc-shadow-x)) calc(12px + var(--aht-nyc-shadow-y)) 24px rgba(0,0,0,.46);
}

/* Insights = bright dimensional white */
#ahtNycTaxiInsights .aht-nyc-intro h1 span:last-child {
  color:#f6f6f4!important;
  -webkit-text-fill-color:#f6f6f4!important;
  -webkit-text-stroke:.40px rgba(255,255,255,.92);
  text-shadow:
    0 -1px 0 rgba(255,255,255,.98),
    0 1px 0 rgba(222,222,220,.98),
    1px 2px 0 rgba(176,176,173,.98),
    2px 3px 0 rgba(118,118,116,.98),
    3px 4px 0 rgba(61,61,60,.98),
    4px 5px 0 rgba(34,34,33,.92),
    calc(5px + var(--aht-nyc-shadow-x)) calc(7px + var(--aht-nyc-shadow-y)) 9px rgba(0,0,0,.68),
    calc(0px + var(--aht-nyc-shadow-x)) calc(12px + var(--aht-nyc-shadow-y)) 24px rgba(0,0,0,.45);
}

#ahtNycTaxiInsights.aht-nyc-title-motion-enabled .aht-nyc-intro h1 {
  will-change:transform;
}

@media only screen and (max-width:900px) {
  #ahtNycTaxiInsights .aht-nyc-intro-card {
    min-height:0;
    padding:24px 22px 22px;
  }

  #ahtNycTaxiInsights .aht-nyc-intro h1 {
    font-size:clamp(52px, 13vw, 62px);
    gap:8px;
  }

  #ahtNycTaxiInsights .aht-nyc-intro h1 span:first-child {
    text-shadow:
      0 -1px 0 rgba(255,244,173,.98),
      0 1px 0 rgba(238,184,0,.98),
      1px 2px 0 rgba(198,136,0,.98),
      2px 3px 0 rgba(138,82,0,.98),
      3px 4px 0 rgba(86,49,0,.95),
      calc(4px + var(--aht-nyc-shadow-x)) calc(6px + var(--aht-nyc-shadow-y)) 8px rgba(0,0,0,.72),
      0 0 14px rgba(255,210,24,.16),
      calc(0px + var(--aht-nyc-shadow-x)) calc(10px + var(--aht-nyc-shadow-y)) 20px rgba(0,0,0,.44);
  }

  #ahtNycTaxiInsights .aht-nyc-intro h1 span:last-child {
    text-shadow:
      0 -1px 0 rgba(255,255,255,.98),
      0 1px 0 rgba(224,224,221,.98),
      1px 2px 0 rgba(170,170,167,.98),
      2px 3px 0 rgba(100,100,98,.98),
      3px 4px 0 rgba(51,51,50,.94),
      calc(4px + var(--aht-nyc-shadow-x)) calc(6px + var(--aht-nyc-shadow-y)) 8px rgba(0,0,0,.64),
      calc(0px + var(--aht-nyc-shadow-x)) calc(10px + var(--aht-nyc-shadow-y)) 20px rgba(0,0,0,.42);
  }
}

@media only screen and (max-width:640px) {
  #ahtNycTaxiInsights .aht-nyc-intro h1 {
    font-size:54px;
    gap:7px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #ahtNycTaxiInsights .aht-nyc-intro h1 {
    transform:none!important;
    transition:none!important;
    --aht-nyc-title-tx: 0px!important;
    --aht-nyc-title-ty: 0px!important;
    --aht-nyc-title-skx: 0deg!important;
    --aht-nyc-title-sky: 0deg!important;
    --aht-nyc-shadow-x: 0px!important;
    --aht-nyc-shadow-y: 0px!important;
  }
}
