/* EscapeVenture city page system. Pilot: Leipzig. Generated from city inline CSS and genericized for reuse. */
.ev-city {
    --ev-bg: #f4efe7;
    --ev-panel: #fffaf2;
    --ev-ink: #171717;
    --ev-muted: #5f5b55;
    --ev-line: rgba(23, 23, 23, 0.14);
    --ev-green: #50a605;
    --ev-green-dark: #2f651c;
    --ev-night: #121714;
    --ev-gold: #d6a85f;
    color: var(--ev-ink);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: var(--ev-bg);
    padding: clamp(42px, 6vw, 72px) 0 clamp(58px, 7vw, 88px);
  }

  .ev-city,
  .ev-city * {
    box-sizing: border-box;
  }

  .ev-city a {
    color: inherit;
    text-decoration: none;
  }

  .ev-city p,
  .ev-city h1,
  .ev-city h2,
  .ev-city h3 {
    margin: 0;
  }

  .ev-city__wrap {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 16px;
  }

  .ev-city__hero {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    background: var(--ev-night);
    color: #fff;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.35);
  }

  .ev-city__hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
    min-height: 560px;
  }

  .ev-city__hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 62px;
  }

  .ev-city__kicker {
    margin-bottom: 18px;
    color: #b8d7aa;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.09em;
    text-transform: uppercase;
  }

  .ev-city h1 {
    max-width: 720px;
    color: inherit;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 5.4vw, 74px);
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 0.98;
  }

  .ev-city__lead {
    max-width: 680px;
    margin-top: 24px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 20px;
    line-height: 1.48;
  }

  .ev-city__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
  }

  .ev-city__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 20px;
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 12px;
    color: #fff;
    cursor: pointer;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.15;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
  }

  .ev-city__button:hover,
  .ev-city__button:focus-visible {
    transform: translateY(-1px);
  }

  .ev-city__button--primary {
    border-color: var(--ev-green);
    background: var(--ev-green);
  }

  .ev-city__button--primary:hover,
  .ev-city__button--primary:focus-visible {
    border-color: #67be3f;
    background: #67be3f;
    color: #fff;
  }

  .ev-city__button--secondary:hover,
  .ev-city__button--secondary:focus-visible {
    background: #fff;
    color: var(--ev-night);
  }

  button.ev-city__button {
    font-family: inherit;
  }

  .ev-city__hero-media {
    position: relative;
    min-height: 560px;
    background: #050608;
  }

  .ev-city__hero-media video,
  .ev-city__hero-media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 560px;
    object-fit: cover;
  }

  .ev-city__hero-media::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(90deg, rgba(18, 23, 20, 0.62), rgba(18, 23, 20, 0.06) 45%, rgba(18, 23, 20, 0.2));
    pointer-events: none;
  }

  .ev-city__badge {
    position: absolute;
    right: 24px;
    bottom: 24px;
    left: 24px;
    z-index: 1;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 14px;
    background: rgba(15, 20, 19, 0.88);
    color: #fff;
  }

  .ev-city__badge strong {
    display: block;
    margin-bottom: 5px;
    font-size: 18px;
  }

  .ev-city__badge span {
    display: block;
    color: rgba(255, 255, 255, 0.74);
    font-size: 14px;
    line-height: 1.42;
  }

  .ev-city__metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin-top: 28px;
    overflow: hidden;
    border: 1px solid var(--ev-line);
    border-radius: 14px;
    background: var(--ev-line);
  }

  .ev-city__metric {
    min-height: 122px;
    padding: 20px;
    background: #fffdf8;
  }

  .ev-city__metric strong {
    display: block;
    color: var(--ev-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 33px;
    font-weight: 500;
    line-height: 1;
  }

  .ev-city__metric span {
    display: block;
    margin-top: 11px;
    color: var(--ev-muted);
    font-size: 14px;
    line-height: 1.35;
  }

  .ev-city__trust {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
  }

  .ev-city__brand-bridge {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
    gap: 18px;
    align-items: stretch;
    margin-top: 32px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 18px;
    background: radial-gradient(800px 420px at 8% 8%, rgba(80, 166, 5, 0.3), transparent 62%), linear-gradient(135deg, #151b16 0%, #070909 100%);
    color: #fff;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.28);
  }

  .ev-city__brand-poster {
    min-height: 320px;
    display: flex;
    align-items: center;
    padding: clamp(28px, 4vw, 52px);
    background: radial-gradient(620px 360px at 18% 82%, rgba(80, 166, 5, 0.22), transparent 70%), rgba(255, 255, 255, 0.04);
  }

  .ev-city__brand-poster strong {
    display: block;
    max-width: 620px;
    color: rgba(255, 255, 255, 0.72);
    font-size: clamp(50px, 8vw, 112px);
    font-weight: 1000;
    letter-spacing: -0.055em;
    line-height: 0.86;
    text-transform: uppercase;
  }

  .ev-city__brand-poster strong span {
    color: var(--ev-green);
  }

  .ev-city__brand-copy {
    padding: clamp(28px, 4vw, 44px);
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .ev-city__brand-copy small {
    color: rgba(255, 255, 255, 0.56);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }

  .ev-city__brand-copy h2 {
    margin-top: 14px;
    color: #fff;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: clamp(28px, 3.5vw, 44px);
    font-weight: 950;
    letter-spacing: -0.02em;
    line-height: 1.02;
  }

  .ev-city__brand-copy h2 span {
    color: var(--ev-green);
  }

  .ev-city__brand-copy p {
    margin-top: 16px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 17px;
    line-height: 1.55;
  }

  .ev-city__brand-chips {
    display: grid;
    gap: 10px;
    margin-top: 24px;
  }

  .ev-city__brand-chip {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.9);
    font-size: 14px;
    font-weight: 900;
  }

  .ev-city__brand-chip::before {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--ev-green);
    box-shadow: 0 0 0 4px rgba(80, 166, 5, 0.15);
    content: "";
    flex: 0 0 auto;
  }

  .ev-city__trust-card {
    padding: 18px;
    border: 1px solid var(--ev-line);
    border-radius: 14px;
    background: #fffdf8;
    color: var(--ev-ink);
  }

  .ev-city__trust-card strong {
    display: block;
    font-size: 20px;
    line-height: 1.2;
  }

  .ev-city__trust-card span {
    display: block;
    margin-top: 7px;
    color: var(--ev-muted);
    font-size: 14px;
    line-height: 1.42;
  }

  .ev-city__reviews {
    scroll-margin-top: 96px;
    margin-top: 26px;
    margin-bottom: 54px;
    padding: clamp(24px, 3.2vw, 34px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    background: radial-gradient(760px 360px at 18% 0%, rgba(80, 166, 5, 0.22), transparent 64%), #050608;
    color: #e9ecef;
    box-shadow: 0 22px 70px rgba(0, 0, 0, 0.32);
    overflow: hidden;
  }

  .ev-city__reviews-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.55fr);
    align-items: end;
    gap: 18px;
    margin-bottom: 16px;
  }

  .ev-city__reviews-head strong {
    display: block;
    color: var(--ev-ink);
    font-size: 24px;
    line-height: 1.15;
  }

  .ev-city .ev-city__reviews-head h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(28px, 3.6vw, 44px);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-weight: 900;
    letter-spacing: -0.02em;
    line-height: 1.02;
  }

  .ev-city__reviews-head span {
    display: block;
    max-width: 420px;
    color: rgba(233, 236, 239, 0.82);
    font-size: 15px;
    line-height: 1.5;
  }

  .ev-city__review-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
  }

  .ev-city__review-badge {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    color: #e9ecef;
    font-size: 13px;
    font-weight: 900;
  }

  .ev-city__reviews-widget {
    min-height: 300px;
    padding: clamp(12px, 2vw, 18px);
    overflow: visible;
    overflow-x: hidden;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.04);
    box-shadow: 0 22px 70px rgba(0, 0, 0, 0.34);
  }

  .ev-city__reviews-widget #reviews-placeholder,
  .ev-city__reviews-widget .elfsight-app-f107e28d-fc8b-4e0f-8e9c-971ec465dd0e {
    display: block;
    min-height: 300px;
  }

  .ev-city__reviews-widget iframe {
    display: block !important;
    width: 100% !important;
    min-height: 300px !important;
  }

  .ev-city__reviews-fallback {
    margin-top: 12px;
    color: rgba(233, 236, 239, 0.8);
    font-size: 14px;
    line-height: 1.45;
  }

  .ev-city__reviews-fallback a {
    color: #fff;
    font-weight: 900;
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  .ev-booking {
    scroll-margin-top: 96px;
    padding-top: 54px;
  }

  .ev-booking #venuedoo {
    min-height: 360px;
    width: 100%;
    padding: 0;
    background: #fff;
  }

  .ev-booking .ev-booking-hint,
  .ev-booking #venuedoo {
    color: var(--ev-muted);
    font-size: 14px;
    line-height: 1.45;
  }

  .ev-booking .ev-booking-hint {
    margin: 10px 0 0;
    font-weight: 600;
    opacity: 0.8;
  }

  .ev-city__section {
    padding: 54px 0 0;
  }

  .ev-city__section-head {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(320px, 1.18fr);
    gap: 36px;
    align-items: end;
    margin-bottom: 28px;
  }

  .ev-city__eyebrow {
    margin-bottom: 10px;
    color: var(--ev-green-dark);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }

  .ev-city h2 {
    color: var(--ev-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(32px, 4vw, 52px);
    font-weight: 500;
    letter-spacing: -0.015em;
    line-height: 1.04;
  }

  .ev-city__section-text {
    color: #36342f;
    font-size: 18px;
    line-height: 1.55;
  }

  .ev-city__section--faq .ev-city__section-head {
    align-items: start;
    margin-bottom: 20px;
  }

  .ev-city__games {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
  }

  .ev-city__section--three-games .ev-city__section-head {
    grid-template-columns: minmax(0, 0.72fr) minmax(360px, 0.9fr);
    gap: 48px;
  }

  .ev-city__section--three-games h2 {
    max-width: 720px;
    font-size: clamp(34px, 3.4vw, 48px);
    line-height: 1.03;
  }

  .ev-city__games--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
  }

  .ev-city__feature-grid,
  .ev-city__prices {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
  }

  .ev-city__feature,
  .ev-city__price {
    padding: 22px;
    border: 1px solid var(--ev-line);
    border-radius: 16px;
    background: #fffdf8;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.1);
  }

  .ev-city__feature small,
  .ev-city__price small {
    display: block;
    margin-bottom: 12px;
    color: var(--ev-green-dark);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .ev-city__feature strong,
  .ev-city__price strong {
    display: block;
    color: var(--ev-ink);
    font-size: 19px;
    line-height: 1.2;
  }

  .ev-city__feature span,
  .ev-city__price span {
    display: block;
    margin-top: 10px;
    color: var(--ev-muted);
    font-size: 14px;
    line-height: 1.48;
  }

  .ev-city__price strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    font-weight: 500;
  }

  .ev-city__memory {
    display: grid;
    grid-template-columns: minmax(0, 1.28fr) minmax(300px, 0.72fr);
    gap: 18px;
    align-items: stretch;
    margin-top: 26px;
    padding: clamp(16px, 2.4vw, 24px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 20px;
    background:
      radial-gradient(760px 360px at 12% 8%, rgba(80, 166, 5, 0.26), transparent 62%),
      radial-gradient(620px 320px at 88% 8%, rgba(214, 168, 95, 0.12), transparent 58%),
      linear-gradient(135deg, #071108, #030403);
    color: #fff;
    box-shadow: 0 26px 86px rgba(0, 0, 0, 0.3);
  }

  .ev-city__memory-poster,
  .ev-city__memory-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 16px;
  }

  .ev-city__memory-poster {
    display: flex;
    min-height: 300px;
    align-items: center;
    padding: clamp(28px, 5vw, 62px);
    background:
      radial-gradient(circle at 18% 78%, rgba(80, 166, 5, 0.34), transparent 26%),
      linear-gradient(135deg, rgba(255, 255, 255, 0.12), transparent 36%),
      linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.025));
  }

  .ev-city__memory-poster::after {
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at 28% 34%, rgba(255, 255, 255, 0.18) 0 2px, transparent 3px),
      radial-gradient(circle at 82% 72%, rgba(255, 255, 255, 0.16) 0 2px, transparent 3px);
    content: "";
    opacity: 0.8;
  }

  .ev-city .ev-city__memory-poster h2 {
    position: relative;
    z-index: 1;
    max-width: 720px;
    color: #fff;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: clamp(46px, 7vw, 96px);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 0.92;
    text-transform: uppercase;
  }

  .ev-city__memory-poster h2 span {
    color: var(--ev-green);
  }

  .ev-city__memory-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 18px;
    padding: clamp(22px, 3vw, 34px);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.05));
  }

  .ev-city__memory-card .ev-city__eyebrow {
    color: rgba(255, 255, 255, 0.68);
  }

  .ev-city .ev-city__memory-card h3 {
    color: #fff;
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 900;
    line-height: 1.08;
  }

  .ev-city__memory-card p {
    color: rgba(255, 255, 255, 0.76);
    font-size: 16px;
    line-height: 1.55;
  }

  .ev-city__memory-points {
    display: grid;
    gap: 10px;
  }

  .ev-city__memory-points span {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 9px 12px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.86);
    font-size: 14px;
    font-weight: 850;
  }

  .ev-city__memory-points span::before {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--ev-green);
    box-shadow: 0 0 0 6px rgba(80, 166, 5, 0.16);
    content: "";
    flex: 0 0 auto;
  }

  .ev-city__why-panel {
    padding: clamp(22px, 4vw, 42px);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 20px;
    background:
      radial-gradient(900px 520px at 18% 0%, rgba(80, 166, 5, 0.22), transparent 58%),
      radial-gradient(820px 520px at 88% 18%, rgba(255, 211, 138, 0.1), transparent 60%),
      linear-gradient(180deg, #080b09, #030403);
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.28);
  }

  .ev-city__why-head {
    max-width: 860px;
    margin: 0 auto 22px;
    text-align: center;
  }

  .ev-city__why-head .ev-city__eyebrow {
    color: rgba(255, 255, 255, 0.68);
  }

  .ev-city .ev-city__why-head h2 {
    color: #fff;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: clamp(30px, 3.4vw, 46px);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.08;
  }

  .ev-city__why-copy {
    max-width: 760px;
    margin: 16px auto 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 17px;
    line-height: 1.5;
  }

  .ev-city__why-copy + .ev-city__why-copy {
    margin-top: 12px;
  }

  .ev-city__why-chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 24px 0;
  }

  .ev-city__why-chip {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.045);
    color: rgba(255, 255, 255, 0.84);
    font-size: 13px;
    font-weight: 750;
    line-height: 1.2;
  }

  .ev-city__why-media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 7;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 18px;
    background: #020302;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.38);
  }

  .ev-city__why-media video,
  .ev-city__why-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .ev-city__why-media::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.62));
  }

  .ev-city__why-caption {
    position: absolute;
    left: 18px;
    bottom: 16px;
    z-index: 1;
    color: rgba(255, 255, 255, 0.76);
    font-size: 14px;
    font-weight: 800;
  }

  .ev-city__why-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
  }

  .ev-city__why-item {
    min-height: auto;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.055);
    box-shadow: none;
  }

  .ev-city__why-icon {
    display: grid;
    width: 34px;
    height: 34px;
    margin-bottom: 14px;
    border-radius: 999px;
    background: rgba(80, 166, 5, 0.2);
    color: #b7ff6a;
    font-size: 16px;
    line-height: 34px;
    place-items: center;
  }

  .ev-city__why-item strong {
    display: block;
    color: #fff;
    font-size: 17px;
    line-height: 1.25;
  }

  .ev-city__why-item span {
    display: block;
    margin-top: 10px;
    color: rgba(255, 255, 255, 0.68);
    font-size: 14px;
    line-height: 1.45;
  }

  .ev-city__game,
  .ev-city__occasion,
  .ev-city__info-card {
    overflow: hidden;
    border: 1px solid var(--ev-line);
    border-radius: 16px;
    background: #fffdf8;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.12);
  }

  .ev-city__game {
    display: flex;
    flex-direction: column;
  }

  .ev-city__game-media {
    position: relative;
    aspect-ratio: 16 / 11;
    overflow: hidden;
    background: #050608;
  }

  .ev-city__game-media video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .ev-city__game-media::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.58));
  }

  .ev-city__game-type {
    position: absolute;
    left: 16px;
    bottom: 14px;
    z-index: 1;
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(18, 23, 20, 0.86);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .ev-city__game-body,
  .ev-city__occasion {
    padding: 22px;
  }

  .ev-city__game-body {
    display: flex;
    flex: 1;
    flex-direction: column;
  }

  .ev-city h3 {
    color: var(--ev-ink);
    font-size: 25px;
    font-weight: 900;
    line-height: 1.1;
  }

  .ev-city__game-copy,
  .ev-city__occasion span,
  .ev-city__info-card span {
    display: block;
    margin-top: 12px;
    color: var(--ev-muted);
    font-size: 15px;
    line-height: 1.52;
  }

  .ev-city__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
  }

  .ev-city__meta span {
    display: inline-flex;
    padding: 6px 9px;
    border-radius: 999px;
    background: rgba(80, 166, 5, 0.1);
    color: var(--ev-green-dark);
    font-size: 12px;
    font-weight: 900;
  }

  .ev-city__card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: auto;
    padding-top: 18px;
  }

  .ev-city__small-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid var(--ev-ink);
    border-radius: 10px;
    color: var(--ev-ink);
    font-size: 14px;
    font-weight: 900;
  }

  .ev-city__small-button--primary {
    border-color: var(--ev-green);
    background: var(--ev-green);
    color: #fff;
  }

  .ev-city__small-button:hover,
  .ev-city__small-button:focus-visible {
    border-color: var(--ev-night);
    background: var(--ev-night);
    color: #fff;
  }

  .ev-city__occasions {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
  }

  .ev-city__occasion {
    min-height: 155px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
  }

  .ev-city__occasion::after {
    display: none;
    content: "";
  }

  .ev-city__occasion:hover,
  .ev-city__occasion:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(80, 166, 5, 0.36);
    background: #fff;
  }

  .ev-city__occasion strong,
  .ev-city__info-card strong {
    display: block;
    color: var(--ev-ink);
    font-size: 19px;
    line-height: 1.2;
  }

  .ev-city__occasion em {
    display: inline-block;
    margin-top: 18px;
    color: var(--ev-green-dark);
    font-size: 13px;
    font-style: normal;
    font-weight: 900;
  }

  .ev-city__occasion small {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 14px;
    padding: 6px 9px;
    border-radius: 999px;
    background: rgba(80, 166, 5, 0.1);
    color: var(--ev-green-dark);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .ev-city__location {
    padding: 18px;
    border: 1px solid var(--ev-line);
    border-radius: 16px;
    background: #fffdf8;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.1);
  }

  .ev-city__nearby {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
  }

  .ev-city__nearby a,
  .ev-city__nearby span {
    padding: 8px 10px;
    border-radius: 999px;
    background: rgba(80, 166, 5, 0.1);
    color: var(--ev-green-dark);
    font-size: 13px;
    font-weight: 900;
  }

  .ev-city__nearby a:hover,
  .ev-city__nearby a:focus-visible {
    background: var(--ev-green);
    color: #fff;
  }

  .ev-city__faq {
    border-top: 1px solid var(--ev-line);
    border-bottom: 1px solid var(--ev-line);
  }

  .ev-city__faq details {
    border-top: 1px solid rgba(23, 23, 23, 0.12);
    background: transparent;
  }

  .ev-city__faq details:first-of-type {
    border-top: 0;
  }

  .ev-city__faq details[open] {
    background: rgba(255, 255, 255, 0.38);
  }

  .ev-city__faq summary::-webkit-details-marker {
    display: none;
  }

  .ev-city__faq summary {
    position: relative;
    display: block;
    padding: 16px 48px 16px 0;
    cursor: pointer;
    color: var(--ev-ink);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.35;
  }

  .ev-city__faq summary::after {
    position: absolute;
    top: 50%;
    right: 0;
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(23, 23, 23, 0.14);
    border-radius: 999px;
    background: #fffdf8;
    color: var(--ev-green-dark);
    content: "+";
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    font-weight: 900;
    transform: translateY(-50%);
  }

  .ev-city__faq details[open] summary::after {
    content: "–";
  }

  .ev-city__faq p {
    margin: 0;
    max-width: 820px;
    padding: 0 48px 16px 0;
    color: var(--ev-muted);
    font-size: 15px;
    line-height: 1.58;
  }

  .ev-city__info-card {
    padding: 20px;
  }

  .ev-city__route-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    align-content: start;
  }

  .ev-city__address {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 6px 6px 6px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--ev-ink);
    box-shadow: none;
  }

  .ev-city__address h3,
  .ev-city__address strong {
    color: var(--ev-ink);
  }

  .ev-city__address p,
  .ev-city__address span {
    color: var(--ev-muted);
    font-size: 15px;
    line-height: 1.52;
  }

  .ev-city__address h3 {
    font-size: 28px;
    line-height: 1.08;
  }

  .ev-city__address-main {
    padding: 20px;
    border-radius: 14px;
    background: var(--ev-night);
    color: #fff;
  }

  .ev-city__address-main strong {
    display: block;
    color: #fff;
    font-size: 20px;
    line-height: 1.15;
  }

  .ev-city__address-main span {
    display: block;
    margin-top: 10px;
    color: rgba(255, 255, 255, 0.76);
  }

  .ev-city__address-row {
    padding: 16px 0 0;
    border-top: 1px solid var(--ev-line);
  }

  .ev-city__address-row strong {
    display: block;
    margin-bottom: 5px;
    font-size: 15px;
  }

  .ev-city__address-note {
    margin-top: auto;
    padding: 14px 16px;
    border-radius: 12px;
    background: rgba(80, 166, 5, 0.09);
    color: var(--ev-green-dark);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.45;
  }

  .ev-city__info-card--route {
    background: var(--ev-night);
    color: #fff;
  }

  .ev-city__info-card--route strong {
    color: #fff;
  }

  .ev-city__info-card--route span {
    color: rgba(255, 255, 255, 0.74);
  }

  .ev-city__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 54px;
    padding: 28px;
    border-radius: 18px;
    background: var(--ev-night);
    color: #fff;
  }

  .ev-city__cta strong {
    display: block;
    margin-bottom: 6px;
    font-size: 21px;
  }

  .ev-city__cta span {
    color: rgba(255, 255, 255, 0.74);
    line-height: 1.45;
  }

  @media (max-width: 980px) {
    .ev-city__hero-grid,
    .ev-city__section-head,
    .ev-city__location,
    .ev-city__brand-bridge {
      grid-template-columns: 1fr;
    }

    .ev-city__hero-copy {
      min-height: auto;
      padding: 42px 26px;
    }

    .ev-city__hero-media,
    .ev-city__hero-media video,
    .ev-city__hero-media img {
      min-height: 380px;
    }

    .ev-city__games,
    .ev-city__occasions,
    .ev-city__feature-grid,
    .ev-city__prices,
    .ev-city__metrics,
    .ev-city__games--three {
      grid-template-columns: 1fr 1fr;
    }

    .ev-city__trust {
      grid-template-columns: 1fr;
    }

    .ev-city__memory {
      grid-template-columns: 1fr;
    }

    .ev-city__cta {
      align-items: flex-start;
      flex-direction: column;
    }

    .ev-city__reviews-head {
      align-items: flex-start;
      flex-direction: column;
    }

    .ev-city__brand-poster {
      min-height: 260px;
    }

    .ev-city__location {
      padding: 16px;
    }

    .ev-city__why-list {
      grid-template-columns: 1fr 1fr;
    }

    .ev-city__why-media {
      aspect-ratio: 16 / 9;
    }
  }

  @media (max-width: 560px) {
    .ev-city #booking {
      scroll-margin-top: 72px;
    }

    .ev-city__wrap {
      padding: 0 12px;
    }

    .ev-city__hero,
    .ev-city__game,
    .ev-city__occasion,
    .ev-city__feature,
    .ev-city__price,
    .ev-city__reviews,
    .ev-city__brand-bridge,
    .ev-city__info-card,
    .ev-city__address,
    .ev-city__cta {
      border-radius: 12px;
    }

    .ev-city__hero-copy {
      padding: 26px 20px 24px;
    }

    .ev-city__hero-media,
    .ev-city__hero-media video,
    .ev-city__hero-media img {
      min-height: 260px;
      max-height: 310px;
    }

    .ev-city__hero-media::after {
      background: linear-gradient(180deg, rgba(18, 23, 20, 0.18), rgba(18, 23, 20, 0.34));
    }

    .ev-city__badge {
      right: 14px;
      bottom: 14px;
      left: 14px;
      padding: 14px;
      border-radius: 12px;
    }

    .ev-city__badge strong {
      font-size: 16px;
    }

    .ev-city__badge span {
      font-size: 13px;
      line-height: 1.35;
    }

    .ev-city__lead,
    .ev-city__section-text {
      font-size: 16px;
    }

    .ev-city__memory-poster {
      min-height: 220px;
      padding: 28px 22px;
    }

    .ev-city .ev-city__memory-poster h2 {
      font-size: clamp(38px, 13vw, 58px);
      line-height: 0.98;
    }

    .ev-city .ev-city__memory-card h3 {
      font-size: 26px;
    }

    .ev-city__button,
    .ev-city__small-button {
      width: 100%;
    }

    .ev-city__games,
    .ev-city__occasions,
    .ev-city__feature-grid,
    .ev-city__prices,
    .ev-city__trust,
    .ev-city__route-grid,
    .ev-city__games--three {
      grid-template-columns: 1fr;
    }

    .ev-city__metrics {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      margin-top: 16px;
      border-radius: 12px;
    }

    .ev-city__metric {
      min-height: auto;
      padding: 14px 12px;
    }

    .ev-city__metric strong {
      font-size: clamp(24px, 8vw, 30px);
    }

    .ev-city__metric span {
      margin-top: 6px;
      font-size: 12.5px;
      line-height: 1.25;
    }

    .ev-city__brand-poster,
    .ev-city__brand-copy {
      padding: 24px 20px;
    }

    .ev-city__brand-poster {
      min-height: 210px;
    }

    .ev-city__location {
      padding: 12px;
      border-radius: 12px;
    }

    .ev-city__why-list {
      grid-template-columns: 1fr;
    }

    .ev-city__why-panel {
      padding: 20px 14px;
    }

    .ev-city .ev-city__why-head h2 {
      font-size: clamp(28px, 8vw, 36px);
      line-height: 1.1;
    }

    .ev-city__why-copy {
      font-size: 16px;
    }

    .ev-city__why-media {
      aspect-ratio: 4 / 3;
    }
  }


/* City module add-ons moved from inline sections */

    .ev-location-directions__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:18px;align-items:start}
    .ev-location-directions__card{overflow:hidden;border:1px solid rgba(23,23,23,.12);border-radius:16px;background:#fffdf8;box-shadow:0 18px 50px rgba(0,0,0,.1)}
    .ev-location-directions__card--dark{background:#07100c;color:#fff}
    .ev-location-directions__media{aspect-ratio:16/10;overflow:hidden;background:#101411}
    .ev-location-directions__media iframe,.ev-location-directions__media img{display:block;width:100%;height:100%;border:0}
    .ev-location-directions__media img{object-fit:contain;background:#f5f7f2}
    .ev-location-directions__media--parking{aspect-ratio:1/1;background:#f5f7f2}
    .ev-location-directions__body{padding:20px}
    .ev-location-directions__body h3{margin:0;color:inherit;font-size:22px;font-weight:900;line-height:1.15}
    .ev-location-directions__body p{margin:10px 0 0;color:#5d5851;font-size:15px;line-height:1.58}
    .ev-location-directions__card--dark .ev-location-directions__body p{color:rgba(255,255,255,.74)}
    .ev-location-directions__list{display:grid;gap:12px;margin-top:16px}
    .ev-location-directions__item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start;padding:14px;border:1px solid rgba(23,23,23,.12);border-radius:14px;background:rgba(80,166,5,.08)}
    .ev-location-directions__icon{display:grid;width:34px;height:34px;border-radius:12px;background:rgba(80,166,5,.16);color:#2f651c;font-size:16px;font-weight:950;place-items:center}
    .ev-location-directions__item strong{display:block;color:#151515;font-size:15px;line-height:1.25}
    .ev-location-directions__item span{display:block;margin-top:4px;color:#5d5851;font-size:14px;line-height:1.5}
    .ev-location-directions__item a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(80,166,5,.36)}
    .ev-location-directions__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
    .ev-location-directions__chips span{display:inline-flex;align-items:center;min-height:32px;padding:7px 10px;border-radius:999px;background:rgba(80,166,5,.10);color:#20301f;font-size:12px;font-weight:900;line-height:1.1}
    @media (max-width:980px){.ev-location-directions__grid{grid-template-columns:1fr}}
    @media (max-width:560px){.ev-location-directions__card{border-radius:12px}.ev-location-directions__body{padding:16px}.ev-location-directions__media{aspect-ratio:4/3}.ev-location-directions__media--parking{aspect-ratio:1/1}}
  


    .ev-city-cross-sell__panel{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:18px;align-items:stretch;padding:clamp(18px,2.4vw,26px);border:1px solid var(--ev-line,rgba(23,23,23,.14));border-radius:16px;background:linear-gradient(135deg,#fffdf8,#f7f0e7);box-shadow:0 16px 46px rgba(0,0,0,.08)}
    .ev-city-cross-sell__copy{display:flex;min-width:0;flex-direction:column;justify-content:center}
    .ev-city-cross-sell__kicker{margin:0 0 9px;color:var(--ev-green-dark,#2f651c);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
    .ev-city-cross-sell__copy h2{margin:0;color:var(--ev-ink,#171717);font-family:Georgia,"Times New Roman",serif;font-size:clamp(26px,3vw,38px);font-weight:500;letter-spacing:-.01em;line-height:1.08}
    .ev-city-cross-sell__copy p{margin:12px 0 0;color:#4d4943;font-size:15px;line-height:1.55}
    .ev-city-cross-sell__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
    .ev-city-cross-sell__link{display:flex;min-height:150px;min-width:0;flex-direction:column;padding:18px;border:1px solid rgba(23,23,23,.12);border-radius:12px;background:#fff;color:var(--ev-ink,#171717);text-decoration:none;transition:border-color 160ms ease,transform 160ms ease}
    .ev-city-cross-sell__link:hover,.ev-city-cross-sell__link:focus-visible{transform:translateY(-2px);border-color:rgba(80,166,5,.42);outline:none}
    .ev-city-cross-sell__link small{display:block;margin-bottom:10px;color:var(--ev-green-dark,#2f651c);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
    .ev-city-cross-sell__link strong{display:block;font-size:20px;line-height:1.18}
    .ev-city-cross-sell__link span{display:block;margin-top:10px;color:#5f5b55;font-size:14px;line-height:1.48}
    .ev-city-cross-sell__link em{display:inline-flex;width:fit-content;margin-top:auto;padding-top:16px;color:var(--ev-green-dark,#2f651c);font-size:13px;font-style:normal;font-weight:900}
    @media (max-width:860px){.ev-city-cross-sell__panel,.ev-city-cross-sell__links{grid-template-columns:1fr}}
    @media (max-width:560px){.ev-city-cross-sell__panel{padding:16px 14px;border-radius:12px}.ev-city-cross-sell__link{min-height:auto;padding:16px}.ev-city-cross-sell__copy h2{font-size:clamp(25px,8vw,32px)}}

