/* =====================================================
   GetTransfer.pl — Design System v4 "Dark Luxury"
   ===================================================== */

:root {
  /* ── Base ── */
  --white:#f2f2f2; --ivory:#0e0e0e;
  --black:#080808;

  /* ── Surface layers ── */
  --s0:#080808;
  --s1:#0e0e0e;
  --s2:#141414;
  --s3:#1c1c1c;
  --s4:#242424;

  /* ── Borders ── */
  --border:#242424;
  --border2:#303030;
  --border3:#3a3a3a;

  /* ── Gray scale ── */
  --gray-50:#1c1c1c; --gray-100:#242424; --gray-200:#303030; --gray-300:#3a3a3a;
  --gray-400:#555555; --gray-500:#777777; --gray-600:#999999; --gray-700:#bbbbbb;
  --gray-800:#dddddd; --gray-900:#f0f0f0;

  /* ── Accent — Red (soft on dark) ── */
  --red:#f05252; --red-hover:#e53935; --red-deep:#c62828;
  --red-50:rgba(240,82,82,.1); --red-100:rgba(240,82,82,.18);
  --red-glow:rgba(240,82,82,.22);

  /* ── Accent — Gold (primary on dark) ── */
  --gold:#c9a84c; --gold-light:#e8d5a3; --gold-dark:#9a7e38;
  --gold-50:rgba(201,168,76,.08); --gold-100:rgba(201,168,76,.15);
  --gold-glow:rgba(201,168,76,.28);

  /* ── Status ── */
  --green:#22c55e; --green-bg:rgba(34,197,94,.12); --green-text:#4ade80;
  --blue:#3b82f6;  --blue-bg:rgba(59,130,246,.12);  --blue-text:#60a5fa;

  /* ── Gradients ── */
  --g-red:linear-gradient(135deg,#f05252,#e53935);
  --g-red-deep:linear-gradient(135deg,#c62828,#f05252);
  --g-gold:linear-gradient(135deg,#c9a84c,#e8d5a3);
  --g-dark:linear-gradient(135deg,#0e0e0e,#141414);

  /* ── Shadows ── */
  --shadow-xs:0 1px 4px rgba(0,0,0,.4);
  --shadow-sm:0 2px 10px rgba(0,0,0,.5);
  --shadow:0 4px 24px rgba(0,0,0,.55);
  --shadow-lg:0 12px 48px rgba(0,0,0,.65);
  --shadow-xl:0 24px 80px rgba(0,0,0,.75);
  --shadow-red:0 8px 28px rgba(240,82,82,.28),0 2px 8px rgba(240,82,82,.14);
  --shadow-gold:0 8px 32px rgba(201,168,76,.32),0 2px 8px rgba(201,168,76,.16);

  /* ── Radii ── */
  --r-xs:6px; --r-sm:8px; --r:12px; --r-lg:16px;
  --r-xl:20px; --r-2xl:28px; --r-full:9999px;

  /* ── Typography ── */
  --font:-apple-system,'Helvetica Neue',Arial,sans-serif;

  /* ── Layout ── */
  --container:1240px;
  --section-pad:clamp(56px,8vw,104px);

  /* ── Transitions ── */
  --t:.17s ease;
  --t-slow:.32s cubic-bezier(.4,0,.2,1);
}

/* ─────────────────────────────────────
   RESET
───────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{
  font-family:var(--font);font-size:16px;line-height:1.5;
  color:var(--white);background:var(--black);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
  min-width:320px;
}
img,svg{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color var(--t)}
button{font:inherit;cursor:pointer;border:none;background:none}
input,textarea,select{font:inherit;color-scheme:dark}

/* ─────────────────────────────────────
   LAYOUT
───────────────────────────────────── */
.container{max-width:var(--container);margin:0 auto;padding:0 24px}
.section{padding:var(--section-pad) 0}
.section-dark{background:var(--s1);color:var(--white)}
.section-ivory{background:var(--s1)}
.section-title{
  font-size:clamp(28px,4vw,44px);font-weight:800;
  letter-spacing:-1.5px;line-height:1.08;margin-bottom:14px;
}
.section-subtitle{font-size:17px;color:var(--gray-600);margin-bottom:52px;line-height:1.55}
.text-center{text-align:center}
.text-red{color:var(--red)} .text-gold{color:var(--gold)} .text-gray{color:var(--gray-600)}
.hidden{display:none !important}
.accent{color:var(--gold)}

/* ─────────────────────────────────────
   BUTTONS
───────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  gap:8px;padding:14px 28px;border-radius:var(--r);
  font-weight:700;font-size:15px;transition:all var(--t);
  white-space:nowrap;cursor:pointer;border:none;
}
.btn-primary{background:var(--g-gold);color:#000;box-shadow:var(--shadow-gold)}
.btn-primary:hover{
  background:linear-gradient(135deg,#e8d5a3,#c9a84c);
  transform:translateY(-2px);box-shadow:0 14px 36px rgba(201,168,76,.4);
}
.btn-secondary{background:var(--s3);color:var(--white);border:1px solid var(--border2)}
.btn-secondary:hover{border-color:var(--border3);transform:translateY(-1px)}
.btn-dark{background:var(--s3);color:var(--white);border:1px solid var(--border2)}
.btn-dark:hover{background:var(--s4);transform:translateY(-2px)}
.btn-gold{background:var(--g-gold);color:#000;font-weight:800;box-shadow:var(--shadow-gold)}
.btn-gold:hover{
  background:linear-gradient(135deg,#e8d5a3,#c9a84c);
  transform:translateY(-2px);box-shadow:0 14px 36px rgba(201,168,76,.45);
}
.btn-outline{background:rgba(255,255,255,.06);color:var(--white);border:1px solid var(--border2)}
.btn-outline:hover{background:rgba(255,255,255,.12);border-color:var(--border3)}
.btn-white{background:var(--white);color:#000;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.btn-white:hover{background:var(--gray-900);transform:translateY(-2px)}
.btn-lg{padding:17px 36px;font-size:16px}
.btn-sm{padding:9px 18px;font-size:13px}
.btn-xs{padding:6px 12px;font-size:12px}
.btn-block{width:100%}

/* ─────────────────────────────────────
   HEADER
───────────────────────────────────── */
.header{
  position:sticky;top:0;z-index:200;
  background:rgba(8,8,8,.88);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid var(--border);
  transition:border-color var(--t),box-shadow var(--t);
}
.header.scrolled{border-bottom-color:rgba(201,168,76,.2);box-shadow:0 4px 32px rgba(0,0,0,.6)}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 0;gap:12px;
}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:22px;letter-spacing:-.5px;flex-shrink:0}
.logo-mark{
  width:38px;height:38px;background:var(--gold);color:#000;
  border-radius:10px;display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:14px;letter-spacing:-.5px;flex-shrink:0;
}
.logo-text{display:flex;flex-direction:column;line-height:1.1}
.logo-main{font-size:18px;font-weight:800;letter-spacing:-.5px;color:var(--white)}
.logo-country{font-size:10px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.08em;margin-top:1px}
.logo span.accent{color:var(--gold)}

.nav{display:flex;align-items:center;gap:2px}
.nav-link{
  color:var(--gray-600);font-weight:500;font-size:14px;
  padding:8px 12px;border-radius:var(--r-sm);transition:all var(--t);
}
.nav-link:hover{color:var(--white);background:var(--s3)}

.lang-switch{
  display:flex;gap:2px;padding:4px;
  background:var(--s3);border-radius:var(--r-full);margin:0 8px;
}
.lang-switch button{
  padding:4px 10px;border-radius:var(--r-full);
  color:var(--gray-500);font-size:11px;font-weight:700;
  transition:all var(--t);letter-spacing:.03em;
}
.lang-switch button.active{
  background:var(--s4);color:var(--white);box-shadow:var(--shadow-xs);
}
.lang-switch button:hover:not(.active){color:var(--gray-700)}

.btn-nav-cta{
  background:var(--g-gold);color:#000;
  padding:10px 20px;border-radius:var(--r);
  font-weight:700;font-size:14px;box-shadow:var(--shadow-gold);
  transition:all var(--t);white-space:nowrap;
}
.btn-nav-cta:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(201,168,76,.4)}

/* ── Account / Login buttons in nav ── */
.nav-account-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 14px 7px 8px;border-radius:var(--r);
  border:1px solid var(--border2);background:var(--s2);
  font-size:13px;font-weight:600;color:var(--gray-700);
  transition:all var(--t);white-space:nowrap;
}
.nav-account-btn:hover{border-color:var(--gold-dark);background:var(--s3)}
.nav-account-avatar{
  width:26px;height:26px;background:var(--gold);border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:12px;color:#000;font-weight:900;flex-shrink:0;
}
.nav-account-name{max-width:120px;overflow:hidden;text-overflow:ellipsis}
.nav-login-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;border-radius:var(--r);
  border:1px solid var(--border2);
  font-size:13px;font-weight:600;color:var(--gray-600);
  transition:all var(--t);white-space:nowrap;
}
.nav-login-btn:hover{border-color:var(--border3);color:var(--white)}

.menu-toggle{
  display:none;width:44px;height:44px;
  align-items:center;justify-content:center;
  border-radius:var(--r);background:var(--s3);
  transition:all var(--t);flex-shrink:0;color:var(--white);
}
.menu-toggle:hover{background:var(--s4)}

/* ─────────────────────────────────────
   MOBILE DRAWER
───────────────────────────────────── */
.mobile-overlay{
  display:block;position:fixed;inset:0;
  background:rgba(0,0,0,.75);backdrop-filter:blur(6px);
  z-index:1100;opacity:0;pointer-events:none;
  transition:opacity var(--t-slow);
}
.mobile-overlay.open{opacity:1;pointer-events:auto}

.mobile-drawer{
  position:fixed;top:0;left:0;bottom:0;
  width:min(320px,88vw);background:var(--s2);
  z-index:1200;transform:translateX(-100%);
  transition:transform var(--t-slow);
  display:flex;flex-direction:column;
  box-shadow:var(--shadow-xl);overflow-y:auto;
  border-right:1px solid var(--border);
}
.mobile-drawer.open{transform:translateX(0)}

.drawer-open .leaflet-pane,
.drawer-open .leaflet-control-container,
.drawer-open .leaflet-top,
.drawer-open .leaflet-bottom{z-index:0!important}
.drawer-open #map{z-index:0;position:relative}

.drawer-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 20px 16px;border-bottom:1px solid var(--border);
  flex-shrink:0;
}
.drawer-close{
  width:40px;height:40px;background:var(--s3);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--gray-600);transition:all var(--t);flex-shrink:0;
}
.drawer-close:hover{background:var(--s4);color:var(--white)}

.drawer-nav{padding:12px 10px;flex:1}
.drawer-link{
  display:flex;align-items:center;gap:14px;
  padding:14px 16px;border-radius:var(--r);
  color:var(--gray-700);font-weight:600;font-size:15px;
  transition:all var(--t);margin-bottom:2px;
}
.drawer-link:hover{background:var(--s3);color:var(--white)}
.drawer-link svg{color:var(--gray-500);flex-shrink:0}
.drawer-link:hover svg{color:var(--gold)}

.drawer-divider{height:1px;background:var(--border);margin:8px 16px}
.drawer-langs{
  display:flex;flex-wrap:wrap;gap:6px;
  padding:14px 20px;border-top:1px solid var(--border);flex-shrink:0;
}
.drawer-lang{
  padding:6px 12px;border-radius:var(--r-full);
  font-size:12px;font-weight:700;color:var(--gray-600);
  background:var(--s3);transition:all var(--t);
}
.drawer-lang.active{background:var(--gold);color:#000}
.drawer-lang:hover:not(.active){background:var(--s4);color:var(--white)}

.drawer-cta{margin:16px 20px 8px}
.drawer-phone{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 20px calc(28px + env(safe-area-inset-bottom));
  font-weight:700;font-size:15px;color:var(--gray-600);
}
.drawer-phone:hover{color:var(--white)}

body.drawer-open{overflow:hidden}

/* ─────────────────────────────────────
   HERO
───────────────────────────────────── */
.hero{
  padding:clamp(48px,7vw,88px) 0 clamp(64px,9vw,112px);
  position:relative;overflow:hidden;background:var(--black);
}
.hero-bg{
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(ellipse 70% 70% at 80% 40%,rgba(201,168,76,.07) 0%,transparent 65%),
    radial-gradient(ellipse 45% 55% at 10% 85%,rgba(201,168,76,.04) 0%,transparent 55%),
    radial-gradient(ellipse 60% 40% at 50% 0%,rgba(240,82,82,.04) 0%,transparent 70%);
}
.hero-bg::after{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(circle,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:28px 28px;
}
.hero .container{position:relative;z-index:1}

.hero-label{
  display:inline-flex;align-items:center;gap:7px;
  padding:6px 14px;background:rgba(201,168,76,.1);
  border:1px solid rgba(201,168,76,.25);border-radius:var(--r-full);
  font-size:11px;font-weight:800;color:var(--gold);
  text-transform:uppercase;letter-spacing:.07em;margin-bottom:20px;
}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.hero-left h1{
  font-size:clamp(34px,5vw,60px);font-weight:800;
  line-height:1.04;letter-spacing:-2px;margin-bottom:22px;
}
.hero-left h1 .accent{color:var(--gold)}
.hero-subtitle{
  font-size:clamp(15px,1.6vw,18px);color:var(--gray-600);
  margin-bottom:32px;max-width:500px;line-height:1.65;
}
.hero-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}
.badge{
  display:inline-flex;align-items:center;gap:7px;
  padding:7px 14px;background:var(--s2);
  border:1px solid var(--border2);border-radius:var(--r-full);
  font-size:12px;font-weight:600;color:var(--gray-700);
}
.hero-cta-group{display:flex;gap:12px;flex-wrap:wrap}

/* Hero Form Card */
.hero-form-card{
  background:var(--s2);border:1px solid var(--border);
  border-radius:var(--r-2xl);padding:32px;
  box-shadow:var(--shadow-xl);
  position:relative;
}
.hero-form-card::before{
  content:'';position:absolute;top:0;left:28px;right:28px;
  height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);
  border-radius:0 0 2px 2px;
}
.hero-form-title{font-size:21px;font-weight:800;margin-bottom:4px;letter-spacing:-.5px;color:var(--white)}
.hero-form-subtitle{font-size:13px;color:var(--gray-500);margin-bottom:22px}

/* ─────────────────────────────────────
   FORM ELEMENTS
───────────────────────────────────── */
.form-group{margin-bottom:14px}
.form-label{
  display:block;font-size:11px;font-weight:700;
  color:var(--gray-500);margin-bottom:7px;
  letter-spacing:.06em;text-transform:uppercase;
}
.form-input,.form-select,.form-textarea{
  width:100%;background:var(--s3);border:1px solid var(--border);
  border-radius:var(--r);padding:13px 16px;font-size:14px;
  color:var(--white);outline:none;transition:all var(--t);font-family:inherit;
}
.form-input::placeholder{color:var(--gray-400)}
.form-input:focus,.form-select:focus,.form-textarea:focus{
  border-color:var(--gold);background:var(--s3);
  box-shadow:0 0 0 3px rgba(201,168,76,.12);
}
.form-input-icon{position:relative}
.form-input-icon .form-input{padding-left:44px}
.form-input-icon .icon{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  color:var(--gray-500);font-size:16px;pointer-events:none;
}
.form-input-with-btn{position:relative}
.form-input-with-btn .form-input{padding-right:48px}
.form-input-with-btn .input-btn{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  width:34px;height:34px;border-radius:var(--r-sm);
  background:var(--s4);color:var(--gray-500);
  display:flex;align-items:center;justify-content:center;
  transition:all var(--t);cursor:pointer;
}
.form-input-with-btn .input-btn:hover{background:var(--gold);color:#000}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}

.check-row{
  display:flex;align-items:center;gap:12px;
  padding:13px 16px;border-radius:var(--r);
  background:var(--s3);border:1px solid var(--border);
  cursor:pointer;transition:all var(--t);margin-bottom:8px;
}
.check-row:hover{border-color:var(--border2)}
.check-row input{width:18px;height:18px;accent-color:var(--gold)}
.check-row-text{font-size:14px;font-weight:500;flex:1;color:var(--gray-800)}
.check-row-price{font-size:13px;font-weight:700;color:var(--green-text)}

.swap-row{display:flex;align-items:center;justify-content:center;margin:-4px 0}
.swap-btn{
  width:36px;height:36px;border-radius:50%;
  background:var(--s3);border:1px solid var(--border2);
  display:flex;align-items:center;justify-content:center;
  transition:all var(--t);color:var(--gray-500);
}
.swap-btn:hover{border-color:var(--gold);color:var(--gold);transform:rotate(180deg)}
.add-stop-btn{
  width:100%;padding:11px;border:1px dashed var(--border2);
  border-radius:var(--r);color:var(--gray-500);font-size:13px;
  font-weight:600;transition:all var(--t);cursor:pointer;background:transparent;
}
.add-stop-btn:hover{border-color:var(--gold);color:var(--gold);background:var(--gold-50)}

/* ─────────────────────────────────────
   STATS BAR
───────────────────────────────────── */
.stats-bar{
  background:var(--s1);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat-item{padding:24px 16px;text-align:center;position:relative}
.stat-item:not(:last-child)::after{
  content:'';position:absolute;right:0;top:22%;height:56%;
  width:1px;background:var(--border);
}
.stat-value{
  font-size:clamp(26px,3vw,34px);font-weight:800;
  letter-spacing:-1.5px;color:var(--white);line-height:1;margin-bottom:6px;
}
.stat-value .accent{color:var(--gold)}
.stat-label{font-size:12px;color:var(--gray-500);font-weight:500}

/* ─────────────────────────────────────
   ROUTE CARDS
───────────────────────────────────── */
.routes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.route-card{
  background:var(--s2);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:20px;
  transition:all var(--t);cursor:pointer;position:relative;overflow:hidden;
  text-decoration:none;display:block;color:inherit;
}
.route-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:0;transition:opacity var(--t);
}
.route-card:hover{transform:translateY(-4px);border-color:var(--border2);box-shadow:var(--shadow-lg)}
.route-card:hover::before{opacity:1}
.route-meta{display:flex;align-items:center;gap:6px;margin-bottom:12px}
.route-meta-badge{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 9px;background:var(--s3);border-radius:var(--r-full);
  font-size:11px;font-weight:600;color:var(--gray-500);
}
.route-from-to{
  font-size:15px;font-weight:700;margin-bottom:6px;
  letter-spacing:-.3px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  color:var(--white);
}
.route-arrow{
  display:inline-flex;align-items:center;justify-content:center;
  width:20px;height:20px;background:var(--gold-50);
  border-radius:50%;color:var(--gold);font-size:10px;flex-shrink:0;
}
.route-info{font-size:12px;color:var(--gray-500);margin-bottom:14px}
.route-price{font-size:24px;font-weight:800;color:var(--gold);letter-spacing:-.5px}
.route-price-from{font-size:12px;color:var(--gray-500);font-weight:500}

/* ─────────────────────────────────────
   FLEET CARDS (Vehicle Classes)
───────────────────────────────────── */
.fleet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.fleet-card{
  background:var(--s2);border:1px solid var(--border);
  border-radius:var(--r-2xl);padding:36px 28px 28px;
  position:relative;transition:all .25s ease;
  display:flex;flex-direction:column;overflow:hidden;
  color:var(--white);
}
.fleet-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--border2)}
.fleet-card-popular{border-color:rgba(240,82,82,.4)}
.fleet-card-popular::before{
  content:'✦ POPULARNE';position:absolute;top:0;left:50%;transform:translateX(-50%);
  background:var(--g-red);color:var(--white);
  padding:5px 18px;border-radius:0 0 var(--r) var(--r);
  font-size:10px;font-weight:800;letter-spacing:.08em;white-space:nowrap;
}
.fleet-card-premium{
  background:linear-gradient(160deg,#141200 0%,#1a1700 100%);
  border-color:var(--gold-dark);
}
.fleet-card-premium:hover{border-color:var(--gold)}
.fleet-card-premium::before{
  content:'⭐ PREMIUM VIP';position:absolute;top:0;left:50%;transform:translateX(-50%);
  background:var(--g-gold);color:#000;
  padding:5px 18px;border-radius:0 0 var(--r) var(--r);
  font-size:10px;font-weight:800;letter-spacing:.08em;white-space:nowrap;
}
.fleet-card-premium .fleet-card-name,.fleet-card-premium .fleet-card-price{color:var(--gold-light)}
.fleet-card-premium .fleet-card-desc,.fleet-card-premium .fleet-card-price-from{color:var(--gray-500)}
.fleet-card-premium .fleet-card-car{color:var(--gold-dark)}
.fleet-card-premium .fleet-features li{color:var(--gray-700)}
.fleet-card-premium .fleet-check{background:rgba(201,168,76,.15);color:var(--gold)}

/* ── SVG Car Icon (replaces emoji) ── */
.fleet-card-icon{margin-bottom:20px;line-height:1}
.fleet-car-svg{color:var(--gold);width:100%;max-width:180px}
.fleet-card-name{font-size:24px;font-weight:800;margin-bottom:6px;letter-spacing:-.5px}
.fleet-card-desc{font-size:13px;color:var(--gray-500);margin-bottom:20px;min-height:40px;line-height:1.5}
.fleet-card-price{font-size:32px;font-weight:800;letter-spacing:-1.5px;line-height:1}
.fleet-card-price-from{font-size:12px;color:var(--gray-500);font-weight:500}
.fleet-card-car{font-size:12px;color:var(--gray-500);margin:14px 0 18px;font-style:italic}
.fleet-features{list-style:none;margin-bottom:24px;flex:1}
.fleet-features li{
  font-size:13px;padding:6px 0;color:var(--gray-700);
  display:flex;align-items:center;gap:10px;
  border-bottom:1px solid var(--border);
}
.fleet-features li:last-child{border-bottom:none}
.fleet-check{
  width:18px;height:18px;background:rgba(34,197,94,.12);color:var(--green-text);
  border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  font-size:9px;font-weight:800;flex-shrink:0;
}
.fleet-card .btn{margin-top:auto}

/* ─────────────────────────────────────
   WHY US
───────────────────────────────────── */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.why-card{
  padding:28px;background:var(--s2);
  border:1px solid var(--border);border-radius:var(--r-xl);
  transition:all var(--t);
}
.why-card:hover{border-color:var(--gold-dark);transform:translateY(-3px);box-shadow:var(--shadow)}
.why-icon{
  width:54px;height:54px;
  background:rgba(201,168,76,.08);
  border:1px solid rgba(201,168,76,.18);
  border-radius:var(--r-lg);display:flex;align-items:center;
  justify-content:center;font-size:26px;margin-bottom:18px;
  transition:background var(--t),border-color var(--t);
}
.why-card:hover .why-icon{
  background:rgba(201,168,76,.14);
  border-color:rgba(201,168,76,.35);
}
.why-title{font-size:16px;font-weight:700;margin-bottom:8px;letter-spacing:-.2px;color:var(--white)}
.why-desc{font-size:14px;color:var(--gray-500);line-height:1.55}

/* ─────────────────────────────────────
   HOW IT WORKS
───────────────────────────────────── */
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;position:relative}
.how-grid::before{
  content:'';position:absolute;
  top:50px;left:calc(100%/6 + 26px);right:calc(100%/6 + 26px);
  height:1px;background:linear-gradient(90deg,var(--gold),rgba(201,168,76,.3));
  pointer-events:none;
}
.how-step{text-align:center;padding:24px 16px;position:relative}
.how-num{
  width:56px;height:56px;background:var(--g-gold);color:#000;
  border-radius:50%;margin:0 auto 24px;
  display:flex;align-items:center;justify-content:center;
  font-size:20px;font-weight:800;box-shadow:var(--shadow-gold);
  position:relative;z-index:1;
}
.how-num::after{
  content:'';position:absolute;inset:-5px;
  border-radius:50%;border:1.5px solid rgba(201,168,76,.25);
}
.how-title{font-size:18px;font-weight:700;margin-bottom:10px;letter-spacing:-.3px;color:var(--white)}
.how-desc{font-size:14px;color:var(--gray-500);line-height:1.55}

/* ─────────────────────────────────────
   ARŁAMÓW VIP
───────────────────────────────────── */
.arlamow-section{
  background:var(--black);color:var(--white);
  padding:var(--section-pad) 0;position:relative;overflow:hidden;
}
.arlamow-section::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 65% 90% at 95% 50%,rgba(201,168,76,.14) 0%,transparent 60%),
    radial-gradient(ellipse 45% 60% at 5% 50%,rgba(240,82,82,.05) 0%,transparent 50%);
}
.arlamow-section .container{position:relative;z-index:1}
.arlamow-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.arlamow-tag{
  display:inline-flex;align-items:center;gap:7px;
  background:var(--g-gold);color:#000;
  padding:6px 16px;border-radius:var(--r-full);
  font-size:11px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;margin-bottom:20px;
}
.arlamow-title{
  font-size:clamp(30px,4vw,48px);font-weight:800;
  line-height:1.06;letter-spacing:-1.5px;margin-bottom:18px;
}
.arlamow-title .accent{color:var(--gold)}
.arlamow-desc{font-size:16px;color:var(--gray-500);margin-bottom:28px;line-height:1.65}
.arlamow-features{list-style:none;margin-bottom:36px}
.arlamow-features li{
  padding:9px 0;display:flex;align-items:center;gap:14px;
  color:var(--gray-700);font-size:15px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.arlamow-features li:last-child{border-bottom:none}
.arlamow-features li::before{content:'✦';color:var(--gold);font-size:14px;flex-shrink:0}
.arlamow-visual{
  aspect-ratio:4/3;border-radius:var(--r-2xl);
  border:1px solid rgba(201,168,76,.25);
  background:
    linear-gradient(145deg,rgba(201,168,76,.12) 0%,rgba(8,8,8,.95) 80%),
    repeating-linear-gradient(45deg,rgba(201,168,76,.04) 0,rgba(201,168,76,.04) 1px,transparent 1px,transparent 48px);
  display:flex;flex-direction:column;align-items:center;
  justify-content:center;font-size:80px;position:relative;overflow:hidden;
}
.arlamow-visual::after{
  content:'HOTEL ARŁAMÓW';position:absolute;bottom:24px;left:50%;transform:translateX(-50%);
  font-size:11px;font-weight:800;letter-spacing:.18em;
  color:rgba(201,168,76,.55);white-space:nowrap;
}

/* ─────────────────────────────────────
   FAQ
───────────────────────────────────── */
.faq-list{max-width:800px;margin:0 auto}
.faq-item{
  background:var(--s2);border:1px solid var(--border);
  border-radius:var(--r-lg);margin-bottom:10px;overflow:hidden;
  transition:border-color var(--t);
}
.faq-item:hover{border-color:var(--border2)}
.faq-item.open{border-color:var(--gold-dark)}
.faq-question{
  width:100%;padding:20px 24px;display:flex;
  align-items:center;justify-content:space-between;gap:16px;
  font-size:15px;font-weight:600;text-align:left;
  color:var(--white);cursor:pointer;transition:background var(--t);
}
.faq-question:hover{background:var(--s3)}
.faq-item.open .faq-question{background:var(--s3)}
.faq-toggle{
  width:30px;height:30px;background:var(--s3);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;color:var(--gray-500);transition:all var(--t);flex-shrink:0;
}
.faq-item.open .faq-toggle{transform:rotate(45deg);background:var(--gold);color:#000}
.faq-answer{
  max-height:0;overflow:hidden;
  transition:max-height .3s ease,padding .3s ease;
  font-size:14px;line-height:1.7;color:var(--gray-600);
}
.faq-item.open .faq-answer{max-height:400px;padding:0 24px 22px}

/* ─────────────────────────────────────
   CTA STRIP
───────────────────────────────────── */
.cta-strip{
  background:var(--s1);border-top:1px solid var(--border);
  color:var(--white);padding:68px 0;text-align:center;
  position:relative;overflow:hidden;
}
.cta-strip::before{
  content:'';position:absolute;top:-200px;left:50%;transform:translateX(-50%);
  width:700px;height:700px;
  background:radial-gradient(circle,rgba(201,168,76,.08) 0%,transparent 65%);
  pointer-events:none;
}
.cta-strip .container{position:relative}
.cta-strip-title{
  font-size:clamp(26px,4vw,42px);font-weight:800;
  margin-bottom:14px;letter-spacing:-1px;color:var(--white);
}
.cta-strip-subtitle{font-size:17px;color:var(--gray-600);margin-bottom:32px}
.cta-strip-buttons{display:inline-flex;gap:14px;flex-wrap:wrap;justify-content:center}

/* ─────────────────────────────────────
   FOOTER
───────────────────────────────────── */
.footer{background:var(--s1);color:var(--gray-600);padding:72px 0 40px;border-top:1px solid var(--border)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:48px;margin-bottom:56px}
.footer-brand .logo{color:var(--white);margin-bottom:18px}
.footer-about{font-size:14px;line-height:1.65;margin-bottom:24px;max-width:340px;color:var(--gray-500)}
.footer-payments{display:flex;gap:8px;flex-wrap:wrap}
.footer-payment-badge{
  padding:5px 10px;background:var(--s3);
  border:1px solid var(--border);border-radius:var(--r-sm);
  font-size:11px;font-weight:600;color:var(--gray-500);
}
.footer-title{
  color:var(--white);font-weight:700;font-size:11px;
  text-transform:uppercase;letter-spacing:.1em;margin-bottom:18px;
}
.footer-links{list-style:none}
.footer-links li{margin-bottom:11px}
.footer-links a{font-size:14px;color:var(--gray-500);transition:color var(--t)}
.footer-links a:hover{color:var(--white)}
.footer-contact-item{font-size:14px;margin-bottom:9px;color:var(--gray-500)}
.footer-contact-item a{color:var(--gray-500);transition:color var(--t)}
.footer-contact-item a:hover{color:var(--white)}
.footer-socials{display:flex;gap:10px;margin-top:18px}
.footer-social{
  width:38px;height:38px;background:var(--s3);
  border:1px solid var(--border);border-radius:var(--r-sm);
  display:flex;align-items:center;justify-content:center;
  color:var(--gray-500);transition:all var(--t);
}
.footer-social:hover{background:var(--gold);color:#000;border-color:transparent}
.footer-bottom{
  border-top:1px solid var(--border);padding-top:28px;
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:16px;font-size:13px;color:var(--gray-500);
}

/* ─────────────────────────────────────
   MOBILE BOTTOM BAR
───────────────────────────────────── */
.mobile-bottom-bar{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:100;
  background:var(--s2);border-top:1px solid var(--border);
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  gap:10px;box-shadow:0 -8px 32px rgba(0,0,0,.7);
}
.mbb-btn{
  flex:1;display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  gap:4px;padding:10px 6px;border-radius:var(--r-lg);
  font-size:11px;font-weight:700;transition:all var(--t);text-align:center;
}
.mbb-btn-primary{
  background:var(--g-gold);color:#000;
  box-shadow:var(--shadow-gold);flex:1.6;
}
.mbb-btn-primary:hover{transform:translateY(-1px)}
.mbb-btn-secondary{background:var(--s3);color:var(--gray-700)}
.mbb-btn-secondary:hover{background:var(--s4)}
.mbb-icon{font-size:22px;line-height:1}

/* ─────────────────────────────────────
   BOOKING PAGE
───────────────────────────────────── */
.booking-page{background:var(--black);min-height:100vh}
.booking-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;padding:24px 0}
.booking-map-wrap{
  background:var(--s2);border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden;
  height:calc(100vh - 130px);position:sticky;top:90px;box-shadow:var(--shadow);
}
#map{width:100%;height:100%}
.booking-form-wrap{background:var(--s2);border:1px solid var(--border);border-radius:var(--r-xl);padding:28px;box-shadow:var(--shadow)}
.booking-form-title{font-size:22px;font-weight:800;margin-bottom:6px;letter-spacing:-.5px;color:var(--white)}
.booking-form-subtitle{font-size:14px;color:var(--gray-500);margin-bottom:24px}

.price-preview{
  background:rgba(34,197,94,.08);
  border:1px solid rgba(34,197,94,.25);border-radius:var(--r-lg);padding:20px;margin-top:20px;
}
.price-preview-row{display:flex;justify-content:space-between;padding:4px 0;font-size:13px;color:var(--gray-700)}
.price-preview-total{
  display:flex;justify-content:space-between;align-items:baseline;
  padding-top:12px;margin-top:8px;
  border-top:1px dashed rgba(34,197,94,.3);font-weight:800;font-size:14px;
}
.price-preview-total .amount{font-size:28px;color:var(--green-text);letter-spacing:-1px}
.price-preview-loading{color:var(--gray-500);text-align:center;padding:20px;font-size:14px}

.class-selector{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:16px 0}
.class-option{
  border:1px solid var(--border);border-radius:var(--r);
  padding:14px 10px;cursor:pointer;transition:all var(--t);
  text-align:center;background:var(--s3);position:relative;color:var(--white);
}
.class-option:hover{border-color:var(--border2);transform:translateY(-1px)}
.class-option.selected{
  border-color:var(--gold);background:rgba(201,168,76,.08);
  box-shadow:0 0 0 3px rgba(201,168,76,.12);
}
.class-option.premium.selected{
  border-color:var(--gold);background:rgba(201,168,76,.08);
  box-shadow:0 0 0 3px rgba(201,168,76,.15);
}
.class-option-icon{font-size:24px;margin-bottom:6px;display:flex;align-items:center;justify-content:center;min-height:26px;color:var(--gold)}
.class-option:not(.selected) .class-option-icon{color:var(--gray-600)}
.class-option.selected .class-option-icon{color:var(--gold)}
.class-option-name{font-size:13px;font-weight:700;margin-bottom:2px;color:var(--white)}
.class-option-price{font-size:11px;color:var(--gray-500);font-weight:500}
.class-option.unavailable{opacity:.35;cursor:not-allowed}
.class-option.unavailable::after{
  content:'Brak';position:absolute;top:4px;right:4px;
  font-size:9px;color:var(--red);font-weight:700;
}

/* ─────────────────────────────────────
   AUTOCOMPLETE
───────────────────────────────────── */
.autocomplete-wrap{position:relative}
.autocomplete-list{
  position:absolute;top:calc(100% + 5px);left:0;right:0;
  background:var(--s2);border:1px solid var(--border2);
  border-radius:var(--r-lg);max-height:280px;overflow-y:auto;
  box-shadow:var(--shadow-lg);z-index:50;
}
.autocomplete-item{
  padding:11px 16px;cursor:pointer;
  border-bottom:1px solid var(--border);font-size:13px;transition:background var(--t);
}
.autocomplete-item:last-child{border-bottom:none}
.autocomplete-item:hover{background:var(--s3)}
.autocomplete-item.priority{background:rgba(201,168,76,.05);font-weight:600}
.autocomplete-item .item-name{color:var(--white)}
.autocomplete-item .item-detail{color:var(--gray-500);font-size:12px;margin-top:2px}
.autocomplete-item .item-icon{display:inline-block;margin-right:6px}

/* ─────────────────────────────────────
   PILLS
───────────────────────────────────── */
.pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--r-full);font-size:12px;font-weight:600}
.pill-green{background:rgba(34,197,94,.12);color:var(--green-text)}
.pill-blue{background:var(--blue-bg);color:var(--blue-text)}
.pill-red{background:var(--red-50);color:var(--red)}
.pill-gray{background:var(--s3);color:var(--gray-700)}
.pill-gold{background:rgba(201,168,76,.12);color:var(--gold)}

/* ─────────────────────────────────────
   COMPETITOR ICONS (SVG geometric)
───────────────────────────────────── */
.comp-icon{display:inline-flex;align-items:center;gap:8px;font-weight:700}
.comp-icon svg{flex-shrink:0}
.comp-taxi{color:#fde047}
.comp-uber{color:#ffffff}
.comp-bolt{color:#34d058}

/* ─────────────────────────────────────
   ANIMATIONS
───────────────────────────────────── */
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.animate-in{animation:fadeInUp .4s ease-out}
@keyframes spin{to{transform:rotate(360deg)}}
.spinner{
  width:18px;height:18px;
  border:2px solid rgba(255,255,255,.15);border-top-color:var(--gold);
  border-radius:50%;display:inline-block;animation:spin .6s linear infinite;
}

/* ─────────────────────────────────────
   ALERT BOXES (admin flash)
───────────────────────────────────── */
.abox{padding:12px 18px;border-radius:var(--r);margin-bottom:16px;font-size:14px;font-weight:500}
.a-ok{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.25);color:#4ade80}
.a-err{background:rgba(240,82,82,.1);border:1px solid rgba(240,82,82,.25);color:#f87171}
.a-warn{background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.25);color:var(--gold)}

/* ─────────────────────────────────────
   RESPONSIVE
───────────────────────────────────── */

/* ── Tablet ────────────────────────── */
@media (max-width:1024px){
  .routes-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
  .booking-layout{grid-template-columns:1fr}
  .booking-map-wrap{height:320px;position:relative;top:0;order:-1;border-radius:var(--r-xl) var(--r-xl) 0 0}
  .booking-form-wrap{border-radius:0 0 var(--r-xl) var(--r-xl)}
  /* Transfer — mapa trasy */
  #routeMap{height:280px}
}

/* ── Mobile ────────────────────────── */
@media (max-width:768px){
  .nav{display:none}
  .menu-toggle{display:flex}
  .hero-grid{grid-template-columns:1fr;gap:36px}
  .fleet-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto}
  .why-grid{grid-template-columns:1fr 1fr}
  .how-grid{grid-template-columns:1fr;gap:16px}
  .how-grid::before{display:none}
  .arlamow-grid{grid-template-columns:1fr;gap:36px}
  .form-row,.form-row-3{grid-template-columns:1fr}
  .mobile-bottom-bar{display:flex}
  body{padding-bottom:90px}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .stat-item:nth-child(2)::after{display:none}
  /* Booking mapa */
  .booking-map-wrap{height:260px}
  /* Konto — statystyki */
  .account-stats{grid-template-columns:repeat(3,1fr)!important}
  /* Track mapa */
  #trackMapWrap{height:220px!important}
  /* Transfer price boxes → 1 kolumna */
  .price-boxes-grid{grid-template-columns:1fr!important}
  /* Transfer why-grid */
  .why-grid{grid-template-columns:1fr 1fr}
  /* Class selector */
  .class-selector{gap:8px}
  .class-option{padding:10px 6px}
  .class-option-icon{min-height:22px}
  /* Competitor grid */
  .comp-grid-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* ── Mobile S ──────────────────────── */
@media (max-width:480px){
  .container{padding:0 14px}
  .why-grid{grid-template-columns:1fr}
  .routes-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .hero-cta-group{flex-direction:column}
  .cta-strip-buttons{flex-direction:column;align-items:center}
  .hero-form-card{padding:20px 16px}
  .fleet-grid{max-width:100%}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  /* Booking mapa */
  .booking-map-wrap{height:220px}
  /* Class selector — 3 kolumny zostają ale mniejsze */
  .class-option-name{font-size:11px}
  .class-option-price{font-size:10px}
  /* Transfer hero */
  .transfer-price-boxes{grid-template-columns:1fr!important}
  /* Track */
  #trackMapWrap{height:200px!important}
  /* Konto stats */
  .account-stats{grid-template-columns:1fr 1fr 1fr!important}
}

/* ── Mobile XS ─────────────────────── */
@media (max-width:360px){
  .routes-grid{grid-template-columns:1fr}
  .container{padding:0 12px}
  .class-selector{grid-template-columns:1fr!important}
  .account-stats{grid-template-columns:1fr!important}
  .form-row{grid-template-columns:1fr}
  .booking-form-wrap{padding:18px 14px}
}

/* ═══════════════════════════════════════════════════════════════════
   TRYB JASNY — [data-theme="light"]
   ═══════════════════════════════════════════════════════════════════ */
[data-theme="light"] {
  --white:    #0d0d0d;
  --ivory:    #f8f8f8;
  --black:    #f8f8f8;

  --s0: #ffffff;
  --s1: #f8f8f8;
  --s2: #f0f0f0;
  --s3: #e8e8e8;
  --s4: #e0e0e0;

  --border:  #e0e0e0;
  --border2: #d0d0d0;
  --border3: #c0c0c0;

  --gray-50:  #f5f5f5;
  --gray-100: #eeeeee;
  --gray-200: #e0e0e0;
  --gray-300: #d0d0d0;
  --gray-400: #9a9a9a;
  --gray-500: #777777;
  --gray-600: #555555;
  --gray-700: #363636;
  --gray-800: #1a1a1a;
  --gray-900: #080808;

  --red-50:  rgba(220,38,38,.08);
  --red-100: rgba(220,38,38,.14);
  --gold-50: rgba(201,168,76,.07);
  --gold-100:rgba(201,168,76,.13);

  --shadow-xs: 0 1px 4px rgba(0,0,0,.07);
  --shadow-sm: 0 2px 10px rgba(0,0,0,.1);
  --shadow:    0 4px 24px rgba(0,0,0,.12);
  --shadow-lg: 0 12px 48px rgba(0,0,0,.14);
  --shadow-xl: 0 24px 80px rgba(0,0,0,.18);
  --shadow-gold: 0 8px 32px rgba(201,168,76,.2),0 2px 8px rgba(201,168,76,.1);
  --g-dark: linear-gradient(135deg,#f0f0f0,#e8e8e8);
}
[data-theme="light"] body { color-scheme: light; }
[data-theme="light"] input,
[data-theme="light"] textarea,
[data-theme="light"] select { color-scheme: light; color: var(--white); }
[data-theme="light"] .section-dark  { background: var(--s1); }
[data-theme="light"] .section-ivory { background: var(--s2); }
[data-theme="light"] .btn-secondary { background: var(--s3); color: var(--white); border-color: var(--border2); }
[data-theme="light"] .btn-dark      { background: var(--s3); color: var(--white); }
[data-theme="light"] .btn-outline   { background: rgba(0,0,0,.04); color: var(--white); border-color: var(--border2); }
[data-theme="light"] .nav-link      { color: var(--gray-700); }
[data-theme="light"] .nav-link:hover{ color: var(--white); }
/* Pływający przycisk motywu — dostosuj kolor w jasnym trybie */
[data-theme="light"] #gt-theme-float {
  background: var(--s3) !important;
  color: var(--white) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.12) !important;
}
