/* ============================================================
   LC TRANSFER — Premium dark & gold — GitHub Pages
   ============================================================ */

@font-face {
  font-family: 'PixelLCD';
  src: url('https://raw.githubusercontent.com/CakeBoxDeveloper/lacar/main/Pixel%20LCD-7.ttf') format('truetype');
  font-display: swap;
}

/* ---------- Design tokens ---------- */
:root {
  --bg-dark: #0d0d0d;
  --bg-section: #0d0d0d;
  --bg-section-alt: #0d0d0d;
  --bg-card: #1e1e1e;
  --bg-input: #191919;

  --gold: #e8c56c;
  --gold-light: #f5d67b;
  --gold-dark: #c9a24b;
  --text: #ffffff;
  --text-muted: #a0a0a0;
  --text-dim: #6f6f6f;
  --green: #3dbf5a;

  --border-subtle: rgba(255,255,255,0.07);
  --border-gold: rgba(232,197,108,0.45);

  --radius: 14px;
  --radius-sm: 10px;
  --radius-lg: 18px;

  --font: 'Manrope', system-ui, -apple-system, sans-serif;
  --container: 1200px;
  --transition: 0.3s cubic-bezier(0.4,0,0.2,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:hidden; }
body { font-family:var(--font); background:var(--bg-dark); color:var(--text); line-height:1.55; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
img,svg { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
ul { list-style:none; }
button,input { font:inherit; color:inherit; }
::selection { background:var(--gold); color:#0a0a0a; }

::-webkit-scrollbar { width:9px; }
::-webkit-scrollbar-track { background:#0d0d0d; }
::-webkit-scrollbar-thumb { background:#2c2c2c; border-radius:8px; }
::-webkit-scrollbar-thumb:hover { background:var(--gold-dark); }

.container { width: min(480px, 100% - 32px); margin-inline: auto; position: relative; z-index: 3; }
.gold { color:var(--gold); }
.section { padding: 16px 0 32px; position: relative; }
/* Section titles — pixel font, scoreboard shimmer effect */
.section__title { 
  font-family: 'PixelLCD', monospace;
  font-size: 23px;
  font-weight: 400;
  margin-bottom: 36px;
  letter-spacing: 0.05em;
  display: block;
  width: 100%;
  padding: 8px 0;
  box-sizing: border-box;
  white-space: nowrap;
  overflow: visible;
  position: static;
  height: auto;
  line-height: normal;
  text-align: center;
  transform: none !important;
}

.perks__heading {
  font-size: 32px !important;
  letter-spacing: 0.05em !important;
}

/* Wrapper */
.section__title__wrap {
  display: block;
  overflow: visible;
  position: relative;
  width: 100%;
}
.section__title__wrap::before,
.section__title__wrap::after { display: none; }

/* Кожна буква */
.section__title .char {
  display: inline-block;
  color: #e8c56c;
  transition: color 0.12s ease, text-shadow 0.12s ease;
}
.section__title .char.lit {
  color: #ffffff;
  text-shadow:
    0 0 6px #fff8e1,
    0 0 14px #f5d67b,
    0 0 28px #e8c56c,
    0 0 40px rgba(232,197,108,0.6);
}
.section__title .char.dim1 {
  color: #f5d67b;
  text-shadow: 0 0 8px rgba(232,197,108,0.7);
}
.section__title .char.dim2 {
  color: #c9a24b;
  text-shadow: none;
}
.section__title .char.dim3 {
  color: #a07830;
  text-shadow: none;
}
  text-shadow: none;
}
.section__title .char--space {
  display: inline-block;
  width: 0.5em;
  visibility: hidden;
}

@keyframes marqueeScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
/* ===== PRELOADER ===== */
.preloader { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; background:var(--bg-dark); transition:opacity 0.6s ease, visibility 0.6s ease; }
.preloader.is-hidden { opacity:0; visibility:hidden; pointer-events:none; }
.preloader__logo { display:flex; flex-direction:column; align-items:center; font-size:44px; font-weight:800; letter-spacing:0.14em; background:linear-gradient(100deg,#6b5a2e 20%,#f7e3a1 40%,#f7e3a1 60%,#6b5a2e 80%); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:shimmerText 1.8s linear infinite; }
.preloader__logo span { font-size:11px; font-weight:600; letter-spacing:0.42em; margin-top:4px; color:var(--text-muted); -webkit-text-fill-color:var(--text-muted); }
@keyframes shimmerText { to { background-position:-200% 0; } }

/* ===== NOISE ===== */
.noise { position:fixed; inset:0; z-index:999; pointer-events:none; opacity:0.032; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* ===== HEADER — static, stays at top ===== */
.header { position: static; padding: 16px 0; background: rgba(10,10,10,0.95); border-bottom: 1px solid var(--border-subtle); }
.header__inner { display:flex; align-items:center; gap:16px; }

.logo { display:flex; flex-direction:column; font-size:20px; font-weight:800; letter-spacing:0.1em; line-height:1; }
.logo__sub { font-size:8px; font-weight:600; letter-spacing:0.4em; text-transform:uppercase; color:var(--text-muted); margin-top:3px; }

/* Nav — hidden by default, toggled by burger */
.nav { position: fixed; inset: 0; z-index: 105; display: grid; place-items: center; background: rgba(8,8,8,0.96); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); opacity: 0; visibility: hidden; transition: opacity 0.4s ease, visibility 0.4s ease; }
.nav.is-open { opacity: 1; visibility: visible; }
.nav__list { display:flex; flex-direction:column; align-items:center; gap:28px; }
.nav__link { font-size: 22px; font-weight: 700; opacity: 0; transform: translateY(16px); transition: opacity 0.4s ease, transform 0.4s ease, color var(--transition); }
.nav__link::after { content:''; position:absolute; left:0; bottom:0; width:100%; height:2px; background:var(--gold); border-radius:2px; transform:scaleX(0); transform-origin:left; transition:transform var(--transition); }
.nav__link:hover,.nav__link.is-active { color:var(--gold); }
.nav__link:hover::after,.nav__link.is-active::after { transform:scaleX(1); }
.nav.is-open .nav__link { opacity: 1; transform: translateY(0); }
.nav.is-open li:nth-child(1) .nav__link { transition-delay: 0.08s; }
.nav.is-open li:nth-child(2) .nav__link { transition-delay: 0.14s; }
.nav.is-open li:nth-child(3) .nav__link { transition-delay: 0.20s; }
.nav.is-open li:nth-child(4) .nav__link { transition-delay: 0.26s; }
.nav.is-open li:nth-child(5) .nav__link { transition-delay: 0.32s; }

.header__actions { display:flex; align-items:center; gap:12px; margin-left:auto; }
.header__cta { display: none; }

.burger { display:flex; flex-direction:column; justify-content:center; gap:5px; width:40px; height:40px; padding:9px; background:transparent; border:1px solid var(--border-subtle); border-radius:var(--radius-sm); cursor:pointer; z-index:110; }
.burger span { height:2px; width:100%; background:var(--gold); border-radius:2px; transition:transform 0.35s ease, opacity 0.25s ease; }
.burger.is-open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.burger.is-open span:nth-child(2) { opacity:0; }
.burger.is-open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* ===== BUTTONS ===== */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:13px 26px; font-size:15px; font-weight:700; border-radius:var(--radius-sm); border:none; cursor:pointer; white-space:nowrap; transition:transform var(--transition),box-shadow var(--transition),background var(--transition),color var(--transition); }
.btn--gold { background: var(--gold); color:#141414; }
.btn--gold:hover { filter: brightness(1.1); }
.btn--outline { background:transparent; color:var(--gold); border:1px solid var(--border-gold); }
.btn--outline:hover { background:var(--gold); color:#141414; }

/* ===== CHECK MARKS ===== */
.check { display:inline-grid; place-items:center; width:22px; height:22px; flex-shrink:0; }
.check::before { content:''; width:12px; height:7px; border-left:2.4px solid currentColor; border-bottom:2.4px solid currentColor; transform:rotate(-45deg) translateY(-1px); }
.check--green { color:var(--green); }
.check--gold { color:var(--gold); border:1.6px solid var(--border-gold); border-radius:50%; }
.check--gold::before { width:9px; height:5px; border-width:2px; }

/* ===== FLAGS ===== */
.flag { display:inline-block; width:22px; height:15px; border-radius:3px; flex-shrink:0; box-shadow:0 0 0 1px rgba(255,255,255,0.12); }
.flag--ua { background:linear-gradient(180deg,#005bbb 50%,#ffd500 50%); }
.flag--pl { background:linear-gradient(180deg,#fff 50%,#dc143c 50%); }
.flag--md { background:linear-gradient(90deg,#003da5 33.3%,#ffd200 33.3% 66.6%,#cc092f 66.6%); }
.flag--ro { background:linear-gradient(90deg,#002b7f 33.3%,#fcd116 33.3% 66.6%,#ce1126 66.6%); }
.flag--bg { background:linear-gradient(180deg,#fff 33.3%,#00966e 33.3% 66.6%,#d62612 66.6%); }
.flag--de { background:linear-gradient(180deg,#000 33.3%,#dd0000 33.3% 66.6%,#ffce00 66.6%); }

/* ===== HERO ===== */
.hero { background: var(--bg-dark); padding: 24px 0; }

.hero__3d-wrap {
  position: relative;
  width: min(480px, 100% - 32px);
  margin-inline: auto;
  aspect-ratio: 1 / 1;
  border-radius: 16px;
  overflow: visible;
  background: transparent;
  border: none;
}

/* Убираем все псевдоэлементы с блока */
.hero__3d-wrap::after,
.hero__3d-wrap::before { display: none; }

.hero__model {
  width: 100%;
  height: 100%;
  display: block;
  --progress-bar-height: 0px;
  --progress-bar-color: transparent;
}

.hero__particles-canvas {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
}

/* Overlay — убран */
.hero__overlay { display: none; }
.hero__title, .hero__subtitle, .hero__desc,
.hero__countries, .hero__cta-group,
.hero__video-wrap, .hero__video,
.hero__bg, .hero__bokeh, .hero__inner, .hero__content { display: none; }

/* ===== SERVICES ===== */
.services { background:var(--bg-section); }
.services__grid { display:grid; grid-template-columns:1fr; gap:14px; }
.service-card { display:flex; flex-direction:column; gap:10px; padding:24px 20px; background:var(--bg-card); border:1px solid var(--border-subtle); border-radius:var(--radius); transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition); }
.service-card:hover { border-color:var(--border-gold); box-shadow:0 14px 34px rgba(0,0,0,0.4); transform:translateY(-3px); }
.service-card h3 { font-size:15px; font-weight:700; line-height:1.35; color:var(--gold); }
.service-card p { font-size:13.5px; color:var(--text-muted); line-height:1.5; }

/* ===== ROUTES ===== */
.routes { background:var(--bg-section-alt); }
.routes__grid { display:grid; grid-template-columns:1fr; gap:8px; }
.route-chip { display:flex; align-items:center; padding:13px 16px; background:rgba(20,20,20,0.82); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); border:1px solid var(--border-subtle); border-radius:var(--radius-sm); font-size:14px; font-weight:500; text-decoration:none; color:var(--text); transition:border-color var(--transition),background var(--transition); gap:0; }
.route-chip:hover { border-color:var(--border-gold); background:rgba(26,26,26,0.88); }
/* Geo-highlighted route */
.route-chip--geo {
  border-color: rgba(232,197,108,0.6) !important;
  background: rgba(232,197,108,0.07) !important;
  position: relative;
}
.route-chip--geo .route-chip__from,
.route-chip--geo .route-chip__to { color: var(--gold); }
.route-chip--geo .route-chip__mid { color: rgba(232,197,108,0.7); }
.route-chip--geo::before {
  content: '★';
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 10px;
  color: var(--gold);
  opacity: 0.7;
}
.route-chip__from { display:flex; align-items:center; gap:8px; font-weight:600; min-width:0; flex:1; }
.route-chip__mid { flex:1; text-align:center; font-size:12px; color:var(--text-muted); white-space:nowrap; }
.route-chip__to { display:flex; align-items:center; gap:8px; font-weight:600; flex-direction:row-reverse; min-width:0; flex:1; justify-content:flex-start; flex-direction:row; justify-content:flex-end; }
.route-chip__to .flag { margin-left:8px; }
.route-chip__arrow { display:none; }
.route-chip__time { display:none; }
.route-chip--more { display:none; }

/* ===== ADVANTAGES ===== */
.advantages { background:var(--bg-section); }
.advantages__card { position:relative; display:grid; grid-template-columns:1fr; gap:28px; align-items:center; padding:32px 20px; border:1px solid var(--border-gold); border-radius:var(--radius-lg); background:#141414; overflow:hidden; }
.advantages__shimmer { display:none; }
.advantages__title { font-size:clamp(20px,2.4vw,26px); font-weight:800; color:var(--gold); margin-bottom:24px; }
.advantages__list { display:flex; flex-direction:column; gap:13px; }
.advantages__list li { display:flex; align-items:center; gap:12px; font-size:15px; }
.advantages__placeholder { min-height:200px; display:flex; align-items:center; justify-content:center; background:var(--bg-card); border:1px solid var(--border-subtle); border-radius:var(--radius); padding:20px; }
.advantages__placeholder p { text-align:center; color:var(--text-muted); font-size:14px; }

/* ===== STATS — removed ===== */

/* ===== BACK TO TOP — removed ===== */

/* ===== FAQ ===== */
.faq { background:var(--bg-section); }
.faq__list { display:flex; flex-direction:column; gap:6px; width: 100%; }
.faq__item { background:rgba(20,20,20,0.82); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); border:1px solid var(--border-subtle); border-radius:var(--radius-sm); overflow:hidden; transition:border-color var(--transition); }
.faq__item[open] { border-color:var(--border-gold); }
.faq__q { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 18px; font-size:14px; font-weight:600; cursor:pointer; list-style:none; transition:color var(--transition); }
.faq__q::-webkit-details-marker { display:none; }
.faq__q::after { content:'+'; font-size:18px; font-weight:400; color:var(--gold); flex-shrink:0; transition:transform 0.3s ease; }
.faq__item[open] .faq__q::after { transform:rotate(45deg); }
.faq__item[open] .faq__q { color:var(--gold); }
.faq__a { padding: 0 18px 14px; }
.faq__a p { color:var(--text-muted); font-size:14px; line-height:1.55; }

/* ===== FORM FIELDS ===== */
.field { display:flex; flex-direction:column; gap:6px; }
.field__label { font-size:13px; font-weight:600; color:var(--text-muted); letter-spacing:0.03em; }
.field input { width:100%; padding:14px 16px; background:var(--bg-input); border:1px solid var(--border-subtle); border-radius:var(--radius-sm); color:var(--text); outline:none; transition:border-color var(--transition); }
.field input::placeholder { color:var(--text-dim); }
.field input:focus { border-color:var(--border-gold); }
.field.has-error input, .field.has-error .field__select { border-color:#e05252; animation:shake 0.4s ease; }
@keyframes shake { 0%,100%{transform:translateX(0);} 25%{transform:translateX(-6px);} 50%{transform:translateX(6px);} 75%{transform:translateX(-4px);} }

/* ===== FOOTER ===== */
.footer { background: var(--bg-section); padding: 56px 0 0; text-align: center; }
.footer__heading {
  display: block;
  width: 100%;
  font-size: 23px;
  font-weight: 400;
  margin-bottom: 28px;
  text-align: center;
  color: #3d2e12;
  letter-spacing: 0.01em;
}
/* Букви footer заголовку — такі самі як section__title */
.footer__heading .char { color: #3d2e12 !important; }
.footer__heading .char.lit { color: #fff8e1 !important; text-shadow: 0 0 4px #f5d67b, 0 0 10px #e8c56c, 0 0 20px rgba(232,197,108,0.5) !important; }
.footer__heading .char.dim1 { color: #c9a24b !important; text-shadow: 0 0 4px rgba(201,162,75,0.4) !important; }
.footer__heading .char.dim2 { color: #6b4e18 !important; text-shadow: none !important; }
.footer__heading .char.dim3 { color: #2e1e08 !important; text-shadow: none !important; }
.footer__messengers { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 40px; }
/* ===== Footer messenger buttons — LARGER ===== */
.footer__msg-btn { display: inline-flex; align-items: center; justify-content: center; flex: 1; height: 130px; border-radius: 18px; background: rgba(255,255,255,0.08); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,0.15); text-decoration: none; transition: filter var(--transition), transform var(--transition), background var(--transition); aspect-ratio: 1; max-width: 130px; }
.footer__msg-btn img { filter: none; width: 58px; height: 58px; }
.footer__msg-btn:hover { filter: brightness(1.25); transform: translateY(-4px); background: rgba(255,255,255,0.14); }
.footer__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; text-align: left; padding: 32px 0; border-top: 1px solid var(--border-subtle); }
.footer__col-title { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gold); margin-bottom: 14px; }
.footer__col ul { display: flex; flex-direction: column; gap: 10px; }
.footer__col a { font-size: 14px; color: var(--text-muted); transition: color var(--transition); }
.footer__col a:hover { color: var(--gold); }
.footer__col:last-child { text-align: right; }
.footer__bottom { padding: 18px 0; border-top: 1px solid var(--border-subtle); color: var(--text-dim); font-size: 12px; }
.footer__bottom a { color: var(--text-dim); transition: color var(--transition); }
.footer__bottom a:hover { color: var(--gold); }

/* ===== TOAST ===== */
.toast { position:fixed; left:50%; bottom:34px; z-index:200; transform:translate(-50%,20px); padding:12px 24px; background:var(--gold); color:#141414; font-weight:700; font-size:13px; border-radius:var(--radius-sm); opacity:0; visibility:hidden; transition:opacity 0.35s ease,transform 0.35s ease,visibility 0.35s ease; white-space:nowrap; max-width:calc(100vw - 32px); overflow:hidden; text-overflow:ellipsis; }
.toast.is-visible { opacity:1; visibility:visible; transform:translate(-50%,0); }

/* ===== RESPONSIVE ===== */

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* ===== SECTION TITLE CENTER ===== */
.section__title--center { text-align: center; }


/* ===== ROUTES more link ===== */
.routes__more {
  display: block;
  text-align: center;
  margin-top: 16px;
  font-size: 14px;
  font-weight: 700;
  color: #141414;
  text-decoration: none;
  padding: 11px 16px;
  background: var(--gold);
  border: none;
  border-radius: 10px;
  transition: filter var(--transition);
  position: relative;
  z-index: 1;
}
.routes__more:hover { filter: brightness(1.1); }
.routes__more::before { display: none; }

/* ===== FLOATING NAV — liquid glass + border shimmer ===== */
.float-nav {
  position: fixed;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 80;
  display: flex;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 50px;
  background: rgba(255,255,255,0.06);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  backdrop-filter: blur(18px) saturate(160%);
  max-width: calc(100vw - 32px);
  width: max-content;
}

/* Шиммер-контур */
.float-nav::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50px;
  padding: 1.5px;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.8) 50%,
    rgba(255,255,255,0) 100%
  );
  background-size: 200% 100%;
  background-position: 200% 0;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  animation: shimmerSlide 3s linear infinite;
  pointer-events: none;
  z-index: 3;
}

/* Статичный белый контур под шиммером */
.float-nav::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50px;
  border: 1.5px solid rgba(255,255,255,0.18);
  pointer-events: none;
}

@keyframes shimmerSlide {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

.float-nav__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 22px;
  border-radius: 40px;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: background var(--transition), color var(--transition);
  position: relative;
  z-index: 1;
}
.float-nav__btn--outline {
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.85);
  border: 1px solid rgba(255,255,255,0.2);
}
.float-nav__btn--outline:hover { background: rgba(255,255,255,0.16); color: #fff; }
.float-nav__btn--gold { background: var(--gold); color: #141414; }
.float-nav__btn--gold:hover { filter: brightness(1.1); }

/* ===== CALCULATOR / TICKET ===== */
.calc-section { background: var(--bg-section-alt); }

/* Кнопка заказа после расчёта — увеличена на 15% */
.ticket__order-btn {
  width: 100%;
  margin-top: 8px;
  padding: 14px;
  background: var(--gold);
  color: #141414;
  font-size: 16px;
  font-weight: 700;
  border: none;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: filter var(--transition);
}
.ticket__order-btn:hover { filter: brightness(1.1); }

.ticket__reset-btn {
  width: 100%;
  margin-top: 6px;
  padding: 8px;
  background: transparent;
  color: var(--gold);
  font-size: 12px;
  font-weight: 500;
  border: none;
  cursor: pointer;
  text-align: center;
  transition: color var(--transition);
  font-family: var(--font);
}
.ticket__reset-btn:hover { color: var(--gold-light); }

/* Вырезы билета — через radial-gradient маску */
.ticket {
  display: flex;
  background: rgba(20,20,20,0.82);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.1);
  box-shadow: 0 16px 48px rgba(0,0,0,0.5);
  overflow: hidden;
  position: relative;
  -webkit-mask-image:
    radial-gradient(circle 14px at 0% 50%, transparent 98%, white 100%),
    radial-gradient(circle 14px at 100% 50%, transparent 98%, white 100%);
  -webkit-mask-size: 51% 100%;
  -webkit-mask-position: left center, right center;
  -webkit-mask-repeat: no-repeat;
  mask-image:
    radial-gradient(circle 14px at 0% 50%, transparent 98%, white 100%),
    radial-gradient(circle 14px at 100% 50%, transparent 98%, white 100%);
  mask-size: 51% 100%;
  mask-position: left center, right center;
  mask-repeat: no-repeat;
}

/* Левая основная часть */
.ticket__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 22px 20px;
  background: transparent;
}

/* Корешок — hidden */
.ticket__stub { display: none; }

.ticket__row { display: flex; align-items: flex-end; gap: 12px; }
.ticket__field { display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 0; }
.ticket__label { font-size: 8px; font-weight: 800; letter-spacing: 0.18em; color: var(--gold); text-transform: uppercase; }
.ticket__select, .ticket__input {
  background: transparent;
  border: none;
  border-bottom: 1.5px solid rgba(255,255,255,0.15);
  padding: 5px 0;
  font-size: 15px;
  font-weight: 700;
  color: var(--text);
  outline: none;
  width: 100%;
  font-family: var(--font);
  transition: border-color 0.2s;
  appearance: none;
  cursor: pointer;
}
/* Placeholder-состояние селекта (пустой выбор) */
.ticket__select:invalid,
.ticket__select option[value=""] { color: var(--text-dim); font-weight: 400; }
.ticket__select { color: var(--text-dim); font-weight: 400; }
.ticket__select.has-value { color: var(--text); font-weight: 700; }
.ticket__select:focus, .ticket__input:focus { border-bottom-color: var(--gold); }
.ticket__select option, .ticket__select optgroup { background: #1e1e1e; color: var(--text); font-weight: 400; }
.ticket__input::placeholder { color: var(--text-dim); font-weight: 400; }
input[type=number].ticket__input { -moz-appearance: textfield; }
input[type=number].ticket__input::-webkit-outer-spin-button,
input[type=number].ticket__input::-webkit-inner-spin-button { -webkit-appearance: none; }
.ticket__arrow { font-size: 18px; color: var(--text-dim); padding-bottom: 6px; flex-shrink: 0; }

/* Result */
.ticket__result {
  background: rgba(232,197,108,0.06);
  border: 1px solid var(--border-gold);
  border-radius: 8px;
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.ticket__result.is-visible { opacity: 1; transform: translateY(0); }
@keyframes fadeIn { from{opacity:0;transform:translateY(4px)} to{opacity:1;transform:none} }
.ticket__result[hidden] { display: none; }
.ticket__result-row { display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: var(--text-muted); }
.ticket__result-row strong { font-weight: 700; color: var(--text); }
.ticket__result-row--price { padding-top: 8px; border-top: 1px dashed var(--border-gold); }
.ticket__result-row--price strong,
.ticket__result-price-label { color: var(--gold); font-size: 16px; font-weight: 800; }

.ticket__svg { display: none; }
.calc-form, .calc-submit, .calc-result, .field__select { display: none; }

/* ===== LIGHT THEME ===== */
:root.light {
  --bg-dark: #f5f5f0;
  --bg-section: #eeede8;
  --bg-section-alt: #e8e7e2;
  --bg-card: #ffffff;
  --bg-input: #f0efe9;

  --text: #1a1a1a;
  --text-muted: #555550;
  --text-dim: #888880;

  --border-subtle: rgba(0,0,0,0.08);
  --border-gold: rgba(180,130,40,0.5);
}

/* Адаптируем элементы под светлую тему */
:root.light .preloader { background: var(--bg-dark); }
:root.light .noise { opacity: 0.015; }
:root.light .hero { background: var(--bg-dark); }
:root.light .hero__bg { background: var(--bg-dark); }

:root.light .faq__item { background: #fff; }
:root.light .service-card { background: #fff; }
:root.light .route-chip { background: #fff; color: var(--text); }
:root.light .route-chip:hover { background: #f8f7f2; }

:root.light .ticket { background: #f0efe9; box-shadow: 0 8px 32px rgba(0,0,0,0.12); }
:root.light .ticket__content { background: #f0efe9; }
:root.light .ticket__select,
:root.light .ticket__input { color: #1a1a1a; border-bottom-color: rgba(0,0,0,0.2); }
:root.light .ticket__select { color: #888; }
:root.light .ticket__select.has-value { color: #1a1a1a; }
:root.light .ticket__select option,
:root.light .ticket__select optgroup { background: #fff; color: #1a1a1a; }
:root.light .ticket__result { background: rgba(180,130,40,0.08); }

:root.light .nav { background: rgba(245,245,240,0.97); }
:root.light .header { background: rgba(245,245,240,0.97); border-bottom-color: rgba(0,0,0,0.08); }
:root.light .burger { border-color: rgba(0,0,0,0.15); }
:root.light .burger span { background: var(--gold-dark); }

:root.light .float-nav { background: rgba(0,0,0,0.07); }
:root.light .float-nav::after { border-color: rgba(0,0,0,0.15); }
:root.light .float-nav__btn--outline { color: #333; border-color: rgba(0,0,0,0.2); }

:root.light .footer { background: var(--bg-section); }
:root.light .footer__bottom { border-top-color: rgba(0,0,0,0.1); color: #888; }

/* Иконки перков — в светлой теме тёмные */
:root.light .perks__icon img { filter: none; opacity: 0.7; }
:root.light .perks__item { background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.08); }

/* Иконки сервисов */
:root.light .services-row__icon img { filter: none; opacity: 0.6; }
:root.light .services-row__item { background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.08); color: var(--text); }

/* Карусель авто — стеклянные блоки на светлом фоне */
:root.light .car-slide__top {
  background: rgba(0,0,0,0.55);
  border-color: rgba(0,0,0,0.15);
  color: #fff;
}
:root.light .car-slide__bottom {
  background: rgba(0,0,0,0.55);
  border-color: rgba(0,0,0,0.15);
  color: rgba(255,255,255,0.9);
}

/* Footer messenger buttons */
:root.light .footer__msg-btn { background: rgba(0,0,0,0.06) !important; border-color: rgba(0,0,0,0.12) !important; }
:root.light .footer__msg-btn img { filter: none !important; opacity: 0.75; }
:root.light .footer__msg-btn:hover { background: rgba(180,130,40,0.1) !important; border-color: rgba(180,130,40,0.4) !important; }

/* Contact form inputs */
:root.light .footer__contact-input { background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.12); color: #1a1a1a; }
:root.light .footer__contact-textarea { background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.12); color: #1a1a1a; }

/* FAQ items */
:root.light .faq__item { border-color: rgba(0,0,0,0.08); }

/* Routes more link */
:root.light .routes__more { background: rgba(180,130,40,0.12); color: #8a6010; border-color: rgba(180,130,40,0.3); }

:root.light ::-webkit-scrollbar-track { background: #eee; }
:root.light ::-webkit-scrollbar-thumb { background: #ccc; }

/* Плавный переход при смене темы */
body, .header, .hero, .services, .routes, .faq,
.calc-section, .footer, .ticket, .service-card,
.route-chip, .faq__item, .float-nav {
  transition: background 0.35s ease, color 0.35s ease, border-color 0.35s ease;
}

/* ===== CARS SECTION ===== */
.cars-section { background: var(--bg-section); }

/* 3D carousel container */
.cars-3d-carousel {
  position: relative;
  height: 400px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: 1000px;
  overflow: visible;
}

.car-slide {
  position: absolute;
  width: 80vw;
  max-width: 300px;
  height: 260px;
  border-radius: 16px;
  overflow: visible;
  transition: all 0.55s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  background: transparent;
  border: none;
}

.car-slide[data-position="0"] {
  transform: translateX(0) scale(1.5);
  z-index: 10;
  opacity: 1;
  box-shadow: none;
}
.car-slide[data-position="1"] {
  transform: translateX(62%) scale(0.82) rotate(6deg);
  z-index: 5;
  opacity: 0.5;
  filter: blur(3px);
}
.car-slide[data-position="-1"] {
  transform: translateX(-62%) scale(0.82) rotate(-6deg);
  z-index: 5;
  opacity: 0.5;
  filter: blur(3px);
}
.car-slide[data-position="hide"] {
  opacity: 0;
  transform: scale(0.5);
  pointer-events: none;
  z-index: 1;
}

.car-slide__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.car-slide__photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  padding: 0 4px 30px;
  box-sizing: border-box;
  filter: drop-shadow(0 2px 10px rgba(0,0,0,0.4));
  transform: scale(1.12);
}

/* Info panel below carousel */
.cars-info { display: none; }

/* Dots — hidden */
.cars-dots { display: none; }

/* Glass top/bottom labels inside card */
.car-slide__top,
.car-slide__bottom {
  position: absolute;
  z-index: 4;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.car-slide[data-position="0"] .car-slide__top,
.car-slide[data-position="0"] .car-slide__bottom {
  opacity: 1;
  pointer-events: auto;
}

/* Top — name */
.car-slide__top {
  top: 8px;
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  border-radius: 20px;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.03em;
  text-align: center;
  width: fit-content;
  white-space: nowrap;
  background: rgba(255,255,255,0.07);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.15);
}

/* Bottom — one glass rect */
.car-slide__bottom {
  bottom: 8px;
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  background: rgba(255,255,255,0.07);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 20px;
  padding: 6px 16px;
  width: fit-content;
  white-space: nowrap;
  text-align: center;
  font-size: 12px;
  color: rgba(255,255,255,0.8);
}
.car-slide__bottom span { display: none; }

/* ===== FOOTER OVERRIDES ===== */

/* Glass messenger buttons */
.footer__msg-btn {
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  transition: background var(--transition), transform var(--transition), border-color var(--transition) !important;
}
.footer__msg-btn img { filter: invert(1) !important; }
.footer__msg-btn:hover {
  background: rgba(232,197,108,0.15) !important;
  border-color: var(--border-gold) !important;
  transform: translateY(-3px);
  filter: none !important;
}

/* Contact form */
.footer__contact-form { margin-bottom: 36px; display: flex; flex-direction: column; gap: 10px; }
.footer__contact-form > p { font-size: 13px; color: var(--text-muted); margin-bottom: 2px; text-align: left; }
.footer__contact-input {
  width: 100%; padding: 13px 16px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-sm);
  color: var(--text); font: inherit; font-size: 14px;
  outline: none; transition: border-color var(--transition);
}
.footer__contact-input::placeholder { color: var(--text-dim); font-size: 13px; }
.footer__contact-input:focus { border-color: var(--border-gold); }
.footer__contact-btn {
  width: 100%; padding: 11px;
  background: var(--gold); color: #141414;
  font-size: 14px; font-weight: 700;
  border: none; border-radius: var(--radius-sm);
  cursor: pointer; font-family: var(--font);
  transition: filter var(--transition);
}
.footer__contact-btn:hover { filter: brightness(1.1); }

/* ===== SHIMMER BORDER (glass.html pattern) ===== */

/* Шиммер по контуру — footer msg-btn */
.footer__msg-btn {
  position: relative;
  overflow: hidden;
}

/* Убираем hover трансформации */
.footer__msg-btn:hover { transform: none !important; background: rgba(255,255,255,0.07) !important; }
.float-nav__btn--outline:hover { background: rgba(255,255,255,0.08) !important; color: rgba(255,255,255,0.85) !important; }
.float-nav__btn--gold:hover { filter: none !important; }

/* Шиммер-полоса по контуру footer кнопок */
.footer__msg-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(
    45deg,
    rgba(255,255,255,0.02) 0%,
    rgba(255,255,255,0.02) 35%,
    rgba(255,255,255,0.55) 50%,
    rgba(255,255,255,0.02) 65%,
    rgba(255,255,255,0.02) 100%
  );
  background-size: 300% 100%;
  background-position: 150% 0;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: 3;
  animation: shimmerBorder 14s cubic-bezier(0.25,1,0.5,1) infinite;
}

/* Разные задержки для каждой кнопки */
.footer__msg-btn:nth-child(1)::before { animation-delay: -1s; }
.footer__msg-btn:nth-child(2)::before { animation-delay: -4s; }
.footer__msg-btn:nth-child(3)::before { animation-delay: -7s; }
.footer__msg-btn:nth-child(4)::before { animation-delay: -10s; }
.footer__msg-btn:nth-child(5)::before { animation-delay: -13s; }

@keyframes shimmerBorder {
  0%   { background-position: 150% 0; }
  100% { background-position: -150% 0; }
}

/* float-nav шиммер — уже определён выше */

/* ===== FINAL FIXES ===== */

/* Float-nav — restore fixed */
.float-nav {
  position: fixed !important;
  overflow: visible !important;
}

/* Footer messenger buttons — square with 8px radius */
.footer__msg-btn {
  border-radius: 8px !important;
  width: 52px !important;
  height: 52px !important;
  aspect-ratio: auto !important;
  max-width: none !important;
  flex: none !important;
}
.footer__messengers {
  justify-content: center !important;
  gap: 10px !important;
}

/* Shimmer — float-nav уже определён в начале блока FLOATING NAV */

/* Footer msg btn shimmer */
.footer__msg-btn::before {
  border-radius: 8px !important;
  animation-duration: 10s !important;
}
.footer__msg-btn:nth-child(1)::before { animation-delay: 0s; }
.footer__msg-btn:nth-child(2)::before { animation-delay: -2s; }
.footer__msg-btn:nth-child(3)::before { animation-delay: -4s; }
.footer__msg-btn:nth-child(4)::before { animation-delay: -6s; }
.footer__msg-btn:nth-child(5)::before { animation-delay: -8s; }

/* Hero 3D model — smaller, no overflow, rotated */
.hero__3d-wrap {
  aspect-ratio: 4 / 3 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.hero__model {
  --model-viewer-background: transparent;
}

/* Hero 3D wrap — no clip */
.hero__3d-wrap { overflow: visible !important; }
.hero { overflow: visible !important; }

/* Particles canvas — full viewport, BEHIND model */
.hero__particles-canvas {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* ===== FOOTER BUTTONS WHITE + FULL WIDTH ROW ===== */
.footer__messengers {
  justify-content: space-between !important;
  width: 100% !important;
  gap: 0 !important;
}
.footer__msg-btn {
  background: rgba(255,255,255,0.12) !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
  border-radius: 10px !important;
  width: 52px !important;
  height: 52px !important;
  flex: none !important;
  max-width: none !important;
}
.footer__msg-btn img {
  filter: brightness(0) invert(1) !important;
  width: 24px !important;
  height: 24px !important;
}

/* ===== FOOTER CONTACT FORM — phone + name in one row, textarea taller ===== */
.footer__contact-form { display: flex; flex-direction: column; gap: 10px; margin-bottom: 32px; }
.footer__contact-row { display: flex; gap: 10px; }
.footer__contact-row .footer__contact-input { flex: 1; }
.footer__contact-textarea {
  width: 100%;
  min-height: 90px;
  padding: 13px 16px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-sm);
  color: var(--text);
  font: inherit;
  font-size: 14px;
  outline: none;
  resize: none;
  transition: border-color var(--transition);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  line-height: 1.5;
}
.footer__contact-textarea::placeholder { color: var(--text-dim); font-size: 13px; }
.footer__contact-textarea:focus { border-color: var(--border-gold); }

/* ===== FLOATING 3D STAMPS ===== */
.stamps-scene {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 5;
  overflow: hidden;
}
.stamp-viewer {
  position: absolute;
  width: 140px;
  height: 140px;
  --progress-bar-height: 0px;
  --progress-bar-color: transparent;
  background: transparent;
  opacity: 0.85;
}
.stamp-left  { left: -30px; }
.stamp-right { right: -30px; }

/* Footer spacing fix */
.footer__messengers { margin-bottom: 14px !important; }
.footer__contact-form { margin-top: 0 !important; }

/* Phone input — fixed prefix style */
.footer__contact-input[id="contactPhone"] {
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.03em;
}

/* model-viewer above particles */
.hero__model { position: relative; z-index: 2; }

/* ===== SPACING FIXES ===== */
.faq { padding-top: 28px !important; padding-bottom: 28px !important; }
.cars-section { padding-top: 28px !important; }

/* Ticket — no arrow gap */
.ticket__arrow { display: none !important; }
.ticket__row { gap: 8px !important; }
.ticket__field:last-child { margin-left: 0 !important; }

/* Order phone field */
.ticket__phone-input {
  width: 100%;
  font-size: 13px !important;
  color: var(--text-muted) !important;
}

/* ===== TICKET ORDER PHONE ===== */
.ticket__order-phone { width: 100%; margin-top: 8px; }
.ticket__phone-input {
  font-size: 13px !important;
  color: var(--text) !important;
  width: 100% !important;
  padding: 8px 0 !important;
  border-bottom: 1.5px solid rgba(255,255,255,0.15) !important;
}
.ticket__phone-input::placeholder {
  color: var(--text-dim) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  -webkit-text-fill-color: var(--text-dim) !important;
}

/* Ticket rows — equal width columns, no gap for arrow */
.ticket__row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 16px !important; align-items: end !important; }

/* Footer 6 buttons — smaller to fit */
.footer__msg-btn { width: 44px !important; height: 44px !important; }
.footer__msg-btn img { width: 22px !important; height: 22px !important; }

/* ===== STAMP FADE OVERLAYS ===== */
.stamp-host::before,
.stamp-host::after { display: none; }

/* ===== STAMP FADE OVERLAYS — fixed, full page height ===== */
.stamp-fade-left,
.stamp-fade-right {
  position: fixed;
  top: 0;
  bottom: 0;
  width: calc(50% - 200px);
  pointer-events: none;
  z-index: 2;
}
.stamp-fade-left {
  left: 0;
  background: linear-gradient(
    to right,
    #0d0d0d 0%,
    #0d0d0d 15%,
    rgba(13,13,13,0.92) 40%,
    rgba(13,13,13,0.6) 65%,
    rgba(13,13,13,0.15) 85%,
    transparent 100%
  );
}
.stamp-fade-right {
  right: 0;
  background: linear-gradient(
    to left,
    #0d0d0d 0%,
    #0d0d0d 15%,
    rgba(13,13,13,0.92) 40%,
    rgba(13,13,13,0.6) 65%,
    rgba(13,13,13,0.15) 85%,
    transparent 100%
  );
}
:root.light .stamp-fade-left  { background: linear-gradient(to right,  #f5f5f0 0%, #f5f5f0 15%, rgba(245,245,240,0.92) 40%, rgba(245,245,240,0.6) 65%, rgba(245,245,240,0.15) 85%, transparent 100%); }
:root.light .stamp-fade-right { background: linear-gradient(to left,   #f5f5f0 0%, #f5f5f0 15%, rgba(245,245,240,0.92) 40%, rgba(245,245,240,0.6) 65%, rgba(245,245,240,0.15) 85%, transparent 100%); }

/* Mobile — hide stamps and fade */
@media (max-width: 768px) {
  .stamp-fade-left,
  .stamp-fade-right { display: none; }
}

/* ===== PERKS ===== */
.perks { background: var(--bg-section); }

/* ===== NEXT TRIP RATING BAR ===== */
.next-trip {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: rgba(232,197,108,0.06);
  border: 1px solid rgba(232,197,108,0.25);
  border-radius: 10px;
  padding: 14px 16px;
  margin: 8px 0 0 0;
}
.next-trip__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.next-trip__label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--gold);
  white-space: nowrap;
}
.next-trip__info {
  font-size: 13px;
  font-weight: 800;
  color: var(--gold);
  letter-spacing: 0.03em;
  white-space: nowrap;
}
.next-trip__bar-wrap {
  position: relative;
  width: 100%;
  height: 6px;
  background: rgba(255,255,255,0.08);
  border-radius: 99px;
  overflow: hidden;
}
.next-trip__bar {
  height: 100%;
  border-radius: 99px;
  background: linear-gradient(90deg, #c9a24b 0%, #f5d67b 60%, #fff8e1 100%);
  box-shadow: 0 0 8px rgba(232,197,108,0.5);
  transition: width 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  width: 0%;
}
/* Stars rating */
.next-trip__stars {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 2px;
}
.next-trip__stars-label {
  font-size: 10px;
  color: var(--text-dim);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.next-trip__stars-btns {
  display: flex;
  gap: 4px;
}
.next-trip__star {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  padding: 2px;
  opacity: 0.3;
  transition: opacity 0.15s ease, transform 0.15s ease;
  color: #e8c56c;
}
.next-trip__star:hover,
.next-trip__star.active { opacity: 1; transform: scale(1.2); }
.next-trip__star.active { transform: scale(1.1); }
.next-trip__stars-note {
  font-size: 10px;
  color: var(--text-dim);
  min-width: 60px;
  text-align: right;
  transition: color 0.2s;
}

/* ===== SERVICES ROW ===== */
.services-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 20px;
}
.services-row__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 14px 8px;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  font-size: 12px;
  font-weight: 600;
  color: var(--text-muted);
  text-align: center;
  line-height: 1.3;
}
.services-row__icon {
  font-size: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.services-row__icon img {
  width: 28px;
  height: 28px;
  filter: brightness(0) invert(1);
}
.perks__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style: none;
}
.perks__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: var(--radius-sm);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  transition: border-color var(--transition), background var(--transition);
}
.perks__item:hover { border-color: var(--border-gold); background: rgba(232,197,108,0.08); }
.perks__icon {
  font-size: 22px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border-radius: 10px;
  flex-shrink: 0;
}
.perks__icon img { filter: invert(1); }
.perks__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.perks__text strong {
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
}
.perks__text span {
  font-size: 12px;
  color: var(--text-muted);
  line-height: 1.4;
}

/* ===== GLASS SHIMMER TITLE ===== */
/* Glass shimmer title wrapper */
.title-glass {
  display: inline-block;
  color: #fff;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: 0.01em;
  padding: 10px 24px;
  border-radius: 4px;
  position: relative;
  background: rgba(255,255,255,0.04);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  overflow: hidden;
  white-space: nowrap;
}
.title-glass::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 4px;
  padding: 1.5px;
  background: linear-gradient(
    100deg,
    rgba(255,255,255,0.05) 0%,
    rgba(255,255,255,0.05) 30%,
    rgba(255,255,255,0.65) 50%,
    rgba(255,255,255,0.05) 70%,
    rgba(255,255,255,0.05) 100%
  );
  background-size: 300% 100%;
  background-position: 150% 0;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  animation: glassShimmer 3.5s linear infinite;
  pointer-events: none;
}
@keyframes glassShimmer {
  0%   { background-position: 150% 0; }
  100% { background-position: -50% 0; }
}

/* Section headings — force correct style everywhere */
#routes .section__title,
#faq .section__title,
#cars .section__title,
#calc .section__title,
#perks .section__title {
  background: linear-gradient(90deg, var(--gold-dark) 0%, var(--gold-light) 30%, #fff8e1 50%, var(--gold-light) 70%, var(--gold-dark) 100%) !important;
  background-size: 250% 100% !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  border-radius: 0 !important;
  padding: 13px 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
#routes .section__title::before,
#faq .section__title::before,
#cars .section__title::before,
#calc .section__title::before,
#perks .section__title::before { display: none !important; }

/* ===== MOBILE FIXES ===== */
@media (max-width: 600px) {
  /* Section titles — wrap on mobile, don't overflow */
  .section__title,
  .perks__heading {
    white-space: normal !important;
    font-size: 18px !important;
    padding: 11px 14px !important;
    hyphens: auto;
  }

  /* routes__more button — full width, text doesn't overflow */
  .routes__more {
    font-size: 14px;
    padding: 12px 12px;
    white-space: normal;
  }

  /* Cars carousel — smooth horizontal swipe without blocking vertical scroll */
  .cars-section { touch-action: auto; }
  .cars-carousel {
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
  }
  .car-card { touch-action: pan-x; }
}

/* ===== CARS CAROUSEL — MOBILE ===== */
@media (max-width: 480px) {
  .cars-3d-carousel {
    height: 340px;
  }

  .car-slide {
    width: 78vw;
    max-width: 280px;
    height: 230px;
  }

  .car-slide[data-position="0"] {
    transform: translateX(0) scale(1.25);
  }
  .car-slide[data-position="1"] {
    transform: translateX(60%) scale(0.78) rotate(6deg);
  }
  .car-slide[data-position="-1"] {
    transform: translateX(-60%) scale(0.78) rotate(-6deg);
  }

  /* Верхний блок */
  .car-slide__top {
    font-size: clamp(10px, 3vw, 13px);
    padding: 5px 12px;
  }

  /* Нижний блок — одна строка, адаптивный шрифт */
  .car-slide__bottom {
    font-size: clamp(9px, 2.8vw, 12px);
    padding: 5px 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 85vw;
  }
}
