﻿:root{
  --bg:#050505;
  --bg-soft:#0b0b0b;
  --panel:#111111;
  --panel-2:#17130d;
  --gold:#d9b25f;
  --gold-light:#f3d489;
  --gold-dark:#9d7631;
  --text:#ffffff;
  --muted:#b9b9b9;
  --line:rgba(255,255,255,.11);
  --gold-line:rgba(217,178,95,.32);
  --shadow:0 24px 70px rgba(0,0,0,.45);
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:'Cairo',Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(217,178,95,.06) 1px,transparent 1px),
    linear-gradient(180deg,rgba(217,178,95,.04) 1px,transparent 1px);
  background-size:92px 92px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 70%);
  z-index:-1;
}

img,
svg{
  display:block;
  max-width:100%;
}

a{
  color:inherit;
  text-decoration:none;
}

button,
input,
textarea{
  font:inherit;
}

.navbar{
  position:fixed;
  top:0;
  right:0;
  left:0;
  z-index:20;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:28px;
  padding:18px clamp(24px,6vw,86px);
  background:rgba(5,5,5,.78);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(18px);
}

.brand{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:max-content;
}

.brand-mark{
  width:54px;
  height:40px;
  display:grid;
  place-items:center;
  color:var(--gold-light);
}

.brand-logo{
  width:54px;
  height:auto;
  overflow:visible;
  filter:drop-shadow(0 8px 14px rgba(217,178,95,.22));
}

.logo-star,
.logo-accent{
  fill:url(#brandGold);
}

.logo-cutout{
  fill:#050505;
  opacity:.95;
}

.logo-swoosh{
  fill:none;
  stroke:url(#brandGold);
  stroke-width:4.5;
  stroke-linecap:round;
}

.brand-copy{
  display:grid;
  line-height:1.2;
}

.brand-copy strong{
  font-size:24px;
  font-weight:900;
  color:var(--gold-light);
}

.brand-copy small{
  color:var(--muted);
  font-size:13px;
  font-weight:600;
}

.nav-links{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:28px;
}

.nav-links a{
  color:#e7e7e7;
  font-size:15px;
  font-weight:700;
  transition:color .2s ease;
}

.nav-links a:hover{
  color:var(--gold-light);
}

.nav-action,
.primary-btn,
.secondary-btn,
.package-card a,
.contact-form button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  border-radius:6px;
  font-weight:900;
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}

.nav-action,
.primary-btn,
.package-card a,
.contact-form button{
  color:#080808;
  background:linear-gradient(135deg,var(--gold-light),var(--gold) 48%,var(--gold-dark));
  box-shadow:0 18px 38px rgba(217,178,95,.16);
}

.nav-action{
  justify-self:end;
  min-width:112px;
  padding:0 24px;
}
.nav-social{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:10px;
  min-width:max-content;
}

.social-icon{
  width:44px;
  height:44px;
  min-height:44px;
  display:grid;
  place-items:center;
  border:1px solid var(--gold-line);
  border-radius:50%;
  background:rgba(255,255,255,.045);
  color:var(--gold-light);
  box-shadow:0 14px 28px rgba(0,0,0,.18);
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}

.social-icon:hover{
  transform:translateY(-2px);
  border-color:rgba(243,212,137,.75);
  background:rgba(217,178,95,.12);
}

.social-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.85;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.whatsapp-icon{
  color:#f4d27d;
}

.snapchat-icon{
  color:#f7dc65;
}

.nav-action:hover,
.primary-btn:hover,
.package-card a:hover,
.contact-form button:hover{
  transform:translateY(-2px);
}

.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:132px clamp(24px,7vw,96px) 64px;
}

.hero-media{
  position:absolute;
  inset:0;
  background:
    linear-gradient(270deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.74) 44%,rgba(0,0,0,.24) 100%),
    url('hero-europe-luxury-travel.png') center center/cover;
  transform:scale(1.02);
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 78% 28%,rgba(217,178,95,.22),transparent 28%),
    linear-gradient(to top,var(--bg),transparent 26%);
}

.hero-inner{
  position:relative;
  z-index:2;
  width:100%;
  display:flex;
  justify-content:flex-start;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:max-content;
  max-width:100%;
  color:var(--gold-light);
  border:1px solid var(--gold-line);
  background:rgba(217,178,95,.08);
  padding:8px 14px;
  border-radius:999px;
  font-size:14px;
  font-weight:800;
}

.eyebrow::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--gold-light);
  box-shadow:0 0 14px var(--gold-light);
}

.hero-content{
  width:min(720px,100%);
}

.hero h1{
  max-width:760px;
  margin-top:22px;
  font-size:clamp(48px,6vw,86px);
  line-height:1.08;
  font-weight:900;
  color:#fff;
}

.hero p{
  max-width:670px;
  margin-top:22px;
  color:#d8d8d8;
  font-size:21px;
  line-height:1.9;
}

.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:34px;
}

.primary-btn,
.secondary-btn{
  min-width:172px;
  padding:0 26px;
}

.secondary-btn{
  color:var(--gold-light);
  background:rgba(255,255,255,.04);
  border:1px solid var(--gold-line);
  box-shadow:none;
}

.secondary-btn:hover{
  border-color:rgba(243,212,137,.7);
  transform:translateY(-2px);
}
.booking-panel{
  width:min(470px,100%);
  margin-top:28px;
  margin-right:0;
  background:linear-gradient(180deg,rgba(18,18,18,.72),rgba(8,8,8,.76));
  border:1px solid rgba(217,178,95,.42);
  box-shadow:0 20px 55px rgba(0,0,0,.28);
  backdrop-filter:blur(14px);
  padding:18px;
  border-radius:8px;
}

.panel-topline{
  color:var(--gold-light);
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.panel-route{
  display:grid;
  gap:9px;
  margin:14px 0 14px;
  font-size:22px;
  font-weight:900;
}

.panel-route i{
  width:100%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}

.panel-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.panel-grid div{
  min-height:74px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
  padding:12px;
  border-radius:6px;
}

.panel-grid strong,
.panel-grid span{
  display:block;
}

.panel-grid strong{
  color:var(--gold-light);
  font-size:20px;
  line-height:1.1;
}

.panel-grid span{
  color:var(--muted);
  margin-top:6px;
  font-size:12px;
  font-weight:700;
}

.section{
  padding:96px clamp(24px,7vw,96px);
}

.section-heading{
  max-width:780px;
  margin:0 auto 42px;
  text-align:center;
}

.section-heading h2,
.fleet-copy h2,
.contact-copy h2{
  margin-top:16px;
  color:#fff;
  font-size:clamp(34px,4vw,58px);
  line-height:1.18;
  font-weight:900;
}

.section-heading p,
.fleet-copy p,
.contact-copy p{
  margin-top:14px;
  color:var(--muted);
  font-size:18px;
}

.package-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}

.package-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:670px;
  padding:22px;
  border:1px solid var(--line);
  border-radius:8px;
  background:linear-gradient(180deg,#121212,#0a0a0a);
  box-shadow:0 16px 42px rgba(0,0,0,.28);
  overflow:hidden;
}

.package-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,var(--gold-dark),var(--gold-light));
  opacity:.75;
}

.featured-card{
  transform:none;
  border-color:rgba(243,212,137,.56);
  background:linear-gradient(180deg,#241b0d,#0c0c0c 72%);
  box-shadow:0 28px 80px rgba(217,178,95,.12);
}

.vip-package{
  border-color:rgba(243,212,137,.38);
  background:linear-gradient(180deg,#18120d,#090909 72%);
}

.custom-package{
  background:linear-gradient(180deg,#151515,#070707);
}

.badge{
  align-self:flex-start;
  margin-bottom:18px;
  background:var(--gold-light);
  color:#090909;
  padding:6px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
}

.package-kicker{
  color:var(--gold-light);
  font-size:13px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.package-card h3{
  margin-top:8px;
  font-size:25px;
  line-height:1.25;
}

.package-card p{
  min-height:78px;
  margin-top:14px;
  color:var(--muted);
  font-size:15px;
}

.price{
  display:grid;
  gap:8px;
  margin:18px 0 10px;
  color:#fff;
  font-size:31px;
  line-height:1;
  font-weight:900;
}

.price small{
  color:var(--gold-light);
  font-size:14px;
  font-weight:900;
}

.price span{
  color:var(--muted);
  font-size:16px;
}

.package-card ul{
  display:grid;
  gap:10px;
  list-style:none;
  color:#dedede;
  margin:16px 0 22px;
  font-size:14px;
}

.package-card li{
  position:relative;
  padding-right:22px;
}

.package-card li::before{
  content:"";
  position:absolute;
  right:0;
  top:.75em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--gold);
}

.package-card a{
  margin-top:auto;
  min-height:48px;
}

.package-card .package-quick{
  display:grid;
  gap:8px;
  margin-top:16px;
}

.package-card .package-quick b{
  width:100%;
  justify-content:flex-start;
  border-radius:8px;
}

.package-card .price-note{
  min-height:auto;
  margin-top:0;
  color:var(--gold-light);
  font-size:12px;
  line-height:1.7;
  font-weight:800;
}

.package-card .package-extra{
  display:grid;
  gap:8px;
  margin:0 0 18px;
}

.package-card .package-extra span{
  width:100%;
  min-height:30px;
  justify-content:flex-start;
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.035);
  color:var(--muted);
  border-radius:8px;
  font-size:12px;
}

.custom-price{
  font-size:28px;
}

.official-package{
  grid-column:span 2;
  padding:0;
  min-height:620px;
  background:linear-gradient(180deg,#161616,#080808);
}

.official-package::before{
  display:none;
}

.package-visual{
  min-height:210px;
  display:flex;
  align-items:flex-end;
  padding:18px;
  background:
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.72)),
    url('hero-europe-luxury-travel.png') center 45%/cover;
}

.package-visual span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  border:1px solid rgba(243,212,137,.42);
  border-radius:999px;
  padding:0 13px;
  background:rgba(0,0,0,.42);
  color:var(--gold-light);
  font-size:13px;
  font-weight:900;
  backdrop-filter:blur(10px);
}

.official-package .card-head,
.official-package .price,
.official-package > p,
.official-package > ul,
.package-quick,
.package-extra,
.package-actions{
  margin-right:26px;
  margin-left:26px;
}

.official-package .package-kicker{
  font-family:'Montserrat','Cairo',Arial,sans-serif;
  font-size:14px;
  letter-spacing:.08em;
}

.official-package h3{
  max-width:620px;
  font-size:31px;
}

.package-quick{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.package-quick b,
.package-extra span,
.payment-methods b{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  border:1px solid var(--gold-line);
  border-radius:999px;
  padding:0 12px;
  background:rgba(217,178,95,.07);
  color:#e8e8e8;
  font-size:13px;
  font-weight:900;
}

.price-note{
  min-height:auto !important;
  margin-top:-10px !important;
  color:var(--gold-light) !important;
  font-size:13px;
  font-weight:800;
}

.official-package > ul{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 16px;
}

.package-extra{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:18px;
}

.package-extra span{
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.035);
  color:var(--muted);
}

.package-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:auto;
  margin-bottom:26px;
}

.package-actions a{
  margin:0;
}

.package-actions .ghost-link{
  color:var(--gold-light);
  background:rgba(255,255,255,.04);
  border:1px solid var(--gold-line);
  box-shadow:none;
}

.package-note{
  max-width:980px;
  margin:28px auto 0;
  border:1px solid var(--gold-line);
  border-radius:8px;
  padding:22px;
  background:
    linear-gradient(90deg,rgba(217,178,95,.1),transparent 50%),
    rgba(255,255,255,.035);
  text-align:center;
}

.package-note strong,
.package-note span{
  display:block;
}

.package-note strong{
  color:#fff;
  font-size:22px;
  font-weight:900;
}

.package-note span{
  margin-top:6px;
  color:var(--muted);
  font-weight:700;
}

.payment-methods{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin-top:16px;
  direction:ltr;
}

.payment-methods .pay-logo{
  min-width:112px;
  min-height:46px;
  justify-content:center;
  border-color:rgba(255,255,255,.16);
  background:#f7f7f7;
  color:#111;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}

.apple-pay{
  font-family:-apple-system,BlinkMacSystemFont,'Montserrat','Cairo',Arial,sans-serif;
  font-size:17px !important;
  letter-spacing:0;
}

.mastercard-pay{
  gap:0;
  position:relative;
}

.mastercard-pay i{
  width:24px;
  height:24px;
  border-radius:50%;
  display:block;
}

.mastercard-pay i:first-child{
  background:#eb001b;
  margin-right:-7px;
}

.mastercard-pay i:nth-child(2){
  background:#f79e1b;
}

.mastercard-pay span{
  margin-left:9px;
  color:#222;
  font-size:11px;
  font-weight:900;
}

.visa-pay{
  color:#1f3c91 !important;
  font-family:'Montserrat','Cairo',Arial,sans-serif;
  font-size:22px !important;
  font-style:italic;
  letter-spacing:.04em;
}

.mada-pay{
  gap:9px;
  color:#25282d !important;
}

.mada-pay > span{
  width:32px;
  height:24px;
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:4px;
}

.mada-pay > span::before,
.mada-pay > span::after{
  content:"";
  display:block;
}

.mada-pay > span::before{
  background:#2da1d3;
}

.mada-pay > span::after{
  background:#8abd3d;
}

.mada-pay strong{
  font-family:'Montserrat','Cairo',Arial,sans-serif;
  font-size:22px;
  font-weight:900;
  letter-spacing:0;
}

.cash-pay{
  gap:9px;
  background:#f5f3ea !important;
  color:#1f2a21 !important;
}

.cash-pay i{
  width:32px;
  height:22px;
  display:block;
  border-radius:5px;
  background:
    radial-gradient(circle at 50% 50%,#79b444 0 25%,transparent 27%),
    linear-gradient(90deg,#396b2d,#79b444);
  border:2px solid #6aa53e;
}

.cash-pay span{
  font-size:15px;
  font-weight:900;
}

.fleet{
  display:grid;
  grid-template-columns:360px minmax(0,1fr);
  gap:42px;
  align-items:start;
  padding:96px clamp(24px,7vw,96px);
  background:#080808;
  border-block:1px solid var(--line);
}

.fleet-copy{
  position:sticky;
  top:118px;
}

.fleet-grid{
  display:grid;
  gap:18px;
}

.vehicle-card{
  display:grid;
  grid-template-columns:280px 1fr;
  min-height:230px;
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
  background:linear-gradient(180deg,#151515,#0c0c0c);
}

.vehicle-image{
  min-height:230px;
  background-size:cover;
  background-position:center;
}

.sedan .vehicle-image{
  background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.34)),url('fleet-executive-sedan.png');
  background-position:center 56%;
}

.suv .vehicle-image{
  background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.34)),url('fleet-vclass-family.png');
  background-position:center 54%;
}

.premium .vehicle-image{
  background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.34)),url('fleet-premium-sclass.png');
  background-position:center 56%;
}

.vehicle-info{
  padding:28px;
}

.vehicle-info span{
  color:var(--gold-light);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
}

.vehicle-info h3{
  margin-top:8px;
  font-size:34px;
  line-height:1.15;
}

.vehicle-info p{
  max-width:560px;
  margin-top:12px;
  color:var(--muted);
}

.vehicle-specs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}

.vehicle-specs b{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  border:1px solid var(--gold-line);
  border-radius:999px;
  padding:0 12px;
  color:#e7e7e7;
  background:rgba(217,178,95,.07);
  font-size:13px;
}

.compact{
  margin-bottom:34px;
}

.service-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.service-item{
  min-height:260px;
  padding:28px;
  border:1px solid var(--line);
  border-radius:8px;
  background:
    linear-gradient(180deg,rgba(217,178,95,.075),transparent 48%),
    rgba(255,255,255,.035);
  box-shadow:0 16px 44px rgba(0,0,0,.22);
}

.service-item span{
  color:var(--gold-light);
  font-weight:900;
  font-family:'Montserrat','Cairo',Arial,sans-serif;
  letter-spacing:.08em;
}

.service-item h3{
  margin-top:48px;
  font-size:25px;
  line-height:1.22;
}

.service-item p{
  margin-top:10px;
  color:var(--muted);
  font-weight:700;
}

.destinations{
  padding-top:86px;
  background:
    radial-gradient(circle at 50% 0,rgba(217,178,95,.12),transparent 36%),
    linear-gradient(180deg,#070707,#030303);
}

.luxury-map{
  width:min(1240px,100%);
  min-height:620px;
  margin:0 auto;
  display:grid;
  grid-template-columns:330px minmax(0,1fr);
  gap:28px;
  align-items:stretch;
  border:1px solid rgba(217,178,95,.42);
  border-radius:10px;
  padding:28px;
  background:
    linear-gradient(135deg,rgba(217,178,95,.12),transparent 34%),
    linear-gradient(180deg,#111,#050505);
  box-shadow:0 30px 90px rgba(0,0,0,.48);
  overflow:hidden;
  position:relative;
}

.luxury-map::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(217,178,95,.05) 1px,transparent 1px),
    linear-gradient(180deg,rgba(217,178,95,.04) 1px,transparent 1px);
  background-size:54px 54px;
  opacity:.55;
  pointer-events:none;
}

.map-copy,
.route-map,
.map-stats{
  position:relative;
  z-index:1;
}

.map-copy{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border-left:1px solid var(--line);
  padding-left:28px;
}

.map-copy span{
  color:var(--gold-light);
  font-family:'Montserrat','Cairo',Arial,sans-serif;
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.map-copy h3{
  margin-top:14px;
  color:#fff;
  font-size:42px;
  line-height:1.12;
  font-weight:900;
}

.map-copy p{
  margin-top:14px;
  color:var(--muted);
  font-size:17px;
  font-weight:700;
  line-height:1.9;
}

.route-map{
  width:100%;
  min-height:520px;
  direction:ltr;
}

.map-land{
  fill:rgba(255,255,255,.055);
  stroke:rgba(217,178,95,.22);
  stroke-width:2;
  transition:fill .25s ease,stroke .25s ease,filter .25s ease;
}

.map-route{
  fill:none;
  stroke:url(#routeGold);
  stroke-width:4;
  stroke-linecap:round;
  stroke-dasharray:1;
  stroke-dashoffset:.18;
  opacity:.72;
  filter:drop-shadow(0 0 10px rgba(217,178,95,.22));
  transition:opacity .25s ease,stroke-width .25s ease;
}

.map-point circle{
  fill:#050505;
  stroke:var(--gold-light);
  stroke-width:4;
  filter:drop-shadow(0 0 12px rgba(217,178,95,.4));
  transition:fill .25s ease,stroke .25s ease,transform .25s ease;
}

.map-point text{
  fill:#f2f2f2;
  font-family:'Montserrat','Cairo',Arial,sans-serif;
  font-size:19px;
  font-weight:900;
  paint-order:stroke;
  stroke:#050505;
  stroke-width:5;
  stroke-linejoin:round;
  transition:opacity .25s ease,fill .25s ease;
}

.map-stats{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:-10px;
}

.map-stats div{
  min-height:78px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:8px;
  background:rgba(255,255,255,.035);
}

.map-stats strong,
.map-stats span{
  display:block;
  text-align:center;
}

.map-stats strong{
  color:var(--gold-light);
  font-size:24px;
  line-height:1;
}

.map-stats span{
  color:var(--muted);
  margin-top:7px;
  font-size:13px;
  font-weight:800;
}

.destination-pills{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}

.destination-pills button{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  border:1px solid var(--gold-line);
  border-radius:999px;
  padding:0 16px;
  background:rgba(217,178,95,.08);
  color:#ececec;
  font-size:14px;
  font-weight:900;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}

.destination-pills button:hover,
.destination-pills button.is-active{
  transform:translateY(-1px);
  border-color:rgba(243,212,137,.76);
  background:linear-gradient(135deg,var(--gold-light),var(--gold-dark));
  color:#050505;
}

html[data-map-filter="switzerland"] .map-land:not(.land-switzerland),
html[data-map-filter="austria"] .map-land:not(.land-austria),
html[data-map-filter="germany"] .map-land:not(.land-germany),
html[data-map-filter="france"] .map-land:not(.land-france),
html[data-map-filter="italy"] .map-land:not(.land-italy){
  fill:rgba(255,255,255,.025);
  stroke:rgba(255,255,255,.08);
}

html[data-map-filter="switzerland"] .land-switzerland,
html[data-map-filter="austria"] .land-austria,
html[data-map-filter="germany"] .land-germany,
html[data-map-filter="france"] .land-france,
html[data-map-filter="italy"] .land-italy{
  fill:rgba(217,178,95,.18);
  stroke:rgba(243,212,137,.72);
  filter:drop-shadow(0 0 18px rgba(217,178,95,.2));
}

html[data-map-filter="switzerland"] .map-route:not(.route-switzerland),
html[data-map-filter="austria"] .map-route:not(.route-austria),
html[data-map-filter="germany"] .map-route:not(.route-germany),
html[data-map-filter="france"] .map-route:not(.route-france),
html[data-map-filter="italy"] .map-route:not(.route-italy){
  opacity:.12;
  stroke-width:2;
}

html[data-map-filter="switzerland"] .map-point:not(.point-switzerland),
html[data-map-filter="austria"] .map-point:not(.point-austria),
html[data-map-filter="germany"] .map-point:not(.point-germany),
html[data-map-filter="france"] .map-point:not(.point-france),
html[data-map-filter="italy"] .map-point:not(.point-italy){
  opacity:.22;
}

html[data-map-filter="switzerland"] .point-switzerland circle,
html[data-map-filter="austria"] .point-austria circle,
html[data-map-filter="germany"] .point-germany circle,
html[data-map-filter="france"] .point-france circle,
html[data-map-filter="italy"] .point-italy circle{
  fill:var(--gold-light);
  stroke:#fff3c4;
}
.contact{
  display:grid;
  grid-template-columns:minmax(0,430px) minmax(0,640px);
  justify-content:space-between;
  gap:56px;
  padding:96px clamp(24px,7vw,96px);
  background:
    linear-gradient(90deg,rgba(217,178,95,.08),transparent 42%),
    #050505;
}

.contact-form{
  display:grid;
  gap:16px;
  padding:28px;
  border:1px solid var(--gold-line);
  border-radius:8px;
  background:linear-gradient(180deg,rgba(18,18,18,.96),rgba(10,10,10,.96));
  box-shadow:var(--shadow);
}

.contact-form label{
  display:grid;
  gap:8px;
  color:#e7e7e7;
  font-weight:800;
}

.contact-form input,
.contact-form textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:6px;
  background:#070707;
  color:#fff;
  padding:15px 16px;
  outline:none;
  transition:border-color .2s ease,box-shadow .2s ease;
}

.contact-form textarea{
  min-height:138px;
  resize:vertical;
}

.contact-form input:focus,
.contact-form textarea:focus{
  border-color:rgba(243,212,137,.72);
  box-shadow:0 0 0 4px rgba(217,178,95,.1);
}

.contact-form button{
  border:0;
  min-height:52px;
  cursor:pointer;
}

.footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:28px clamp(24px,7vw,96px);
  border-top:1px solid var(--line);
  color:var(--muted);
  background:#050505;
}

.footer div{
  display:grid;
  line-height:1.25;
}

.footer strong{
  color:var(--gold-light);
  font-size:20px;
}
.footer-contact{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  direction:ltr;
}

.footer-contact a{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  border:1px solid var(--gold-line);
  border-radius:999px;
  padding:0 12px;
  color:#e8e8e8;
  background:rgba(255,255,255,.035);
  font-size:12px;
  font-weight:800;
}


@media (max-width:1180px){
  .package-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .package-card{
    min-height:500px;
  }

  .official-package{
    grid-column:auto;
  }
}
@media (max-width:1120px){
  .navbar{
    grid-template-columns:auto auto;
  }

  .nav-links{
    grid-column:1 / -1;
    grid-row:2;
    justify-content:space-between;
    gap:14px;
  }

  .fleet,
  .contact{
    grid-template-columns:1fr;
  }

  .fleet-copy{
    position:relative;
    top:auto;
  }

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

  .featured-card{
    transform:none;
  }
}

@media (max-width:760px){
  body::before{
    background-size:58px 58px;
  }

  .navbar{
    position:absolute;
    grid-template-columns:1fr;
    padding:14px 16px;
    gap:12px;
  }

  .brand{
    justify-content:flex-end;
  }

  .brand-mark{
    width:48px;
    height:36px;
  }

  .brand-logo{
    width:48px;
  }

  .brand-copy strong{
    font-size:20px;
  }

  .nav-action{
    padding:0 16px;
  }

  .nav-social{
    justify-self:start;
    grid-row:2;
    gap:8px;
  }

  .social-icon{
    width:40px;
    height:40px;
    min-height:40px;
  }

  .nav-links{
    grid-row:3;
    overflow-x:auto;
    justify-content:flex-start;
    width:100%;
    padding-bottom:4px;
  }

  .nav-links a{
    min-width:max-content;
    font-size:14px;
  }

  .hero{
    min-height:auto;
    padding:238px 18px 54px;
  }

  .hero-content{
    width:100%;
  }

  .hero h1{
    font-size:43px;
  }

  .hero p{
    font-size:17px;
  }

  .hero-actions,
  .primary-btn,
  .secondary-btn{
    width:100%;
  }

  .booking-panel{
    width:100%;
  }

  .panel-grid,
  .package-grid,
  .service-grid{
    grid-template-columns:1fr;
  }

  .booking-panel{
    margin-top:24px;
    padding:16px;
  }

  .panel-route{
    font-size:20px;
  }

  .package-grid{
    gap:18px;
  }

  .package-card{
    min-height:auto;
    padding:22px;
  }

  .official-package{
    padding:0;
  }

  .package-visual{
    min-height:180px;
    padding:14px;
  }

  .official-package .card-head,
  .official-package .price,
  .official-package > p,
  .official-package > ul,
  .package-quick,
  .package-extra,
  .package-actions{
    margin-right:22px;
    margin-left:22px;
  }

  .official-package h3{
    font-size:25px;
  }

  .official-package > ul{
    grid-template-columns:1fr;
  }

  .package-actions{
    grid-template-columns:1fr;
    margin-bottom:22px;
  }

  .package-note{
    text-align:right;
    padding:18px;
  }

  .package-note strong{
    font-size:19px;
  }

  .payment-methods{
    justify-content:flex-start;
  }

  .payment-methods .pay-logo{
    min-width:calc(50% - 5px);
  }

  .package-card p{
    min-height:auto;
    font-size:15px;
  }

  .package-card h3{
    font-size:25px;
  }

  .price{
    margin:18px 0;
    font-size:30px;
  }

  .package-card ul{
    gap:10px;
    margin-bottom:22px;
    font-size:15px;
  }

  .section,
  .fleet,
  .contact{
    padding:64px 18px;
  }

  .destinations{
    padding:64px 18px;
  }

  .luxury-map{
    min-height:auto;
    grid-template-columns:1fr;
    gap:18px;
    padding:18px;
  }

  .map-copy{
    border-left:0;
    border-bottom:1px solid var(--line);
    padding-left:0;
    padding-bottom:18px;
  }

  .map-copy h3{
    font-size:30px;
  }

  .route-map{
    min-height:360px;
  }

  .map-point text{
    font-size:16px;
  }

  .map-stats{
    grid-template-columns:1fr;
    margin-top:0;
  }

  .section-heading{
    text-align:right;
  }

  .vehicle-card{
    grid-template-columns:1fr;
  }

  .vehicle-image{
    min-height:210px;
  }

  .vehicle-info{
    padding:22px;
  }

  .vehicle-info h3{
    font-size:28px;
  }

  .contact-form{
    padding:20px;
  }

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

.currency-modal{
  position:fixed;
  inset:0;
  z-index:80;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(0,0,0,.74);
  backdrop-filter:blur(18px);
}

.currency-modal.is-open{
  display:flex;
}

.currency-dialog{
  width:min(680px,100%);
  border:1px solid rgba(217,178,95,.44);
  border-radius:10px;
  background:
    linear-gradient(135deg,rgba(217,178,95,.12),transparent 38%),
    linear-gradient(180deg,#171717,#080808);
  box-shadow:0 30px 90px rgba(0,0,0,.58);
  padding:34px;
  text-align:right;
}

.currency-dialog h2{
  margin-top:18px;
  color:#fff;
  font-size:clamp(30px,4vw,48px);
  line-height:1.15;
  font-weight:900;
}

.currency-dialog p{
  max-width:580px;
  margin-top:14px;
  color:#d0d0d0;
  font-size:17px;
  line-height:1.9;
}

.currency-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:28px;
}

.currency-options button,
.currency-fab{
  cursor:pointer;
  font:inherit;
}

.currency-options button{
  min-height:78px;
  border:1px solid var(--gold-line);
  border-radius:8px;
  background:rgba(255,255,255,.045);
  color:#fff;
  font-weight:900;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}

.currency-options button > span{
  display:block;
  margin-bottom:5px;
  font-size:24px;
  line-height:1;
}

.currency-options button:hover{
  transform:translateY(-2px);
  border-color:rgba(243,212,137,.78);
  background:rgba(217,178,95,.13);
}

.currency-options small{
  display:block;
  margin-top:4px;
  color:var(--gold-light);
  font-size:12px;
  letter-spacing:.08em;
}

.currency-fab{
  position:fixed;
  left:24px;
  bottom:24px;
  z-index:60;
  min-width:74px;
  padding:0 12px;
  height:58px;
  border:1px solid rgba(217,178,95,.58);
  border-radius:999px;
  background:linear-gradient(135deg,var(--gold-light),var(--gold-dark));
  color:#050505;
  box-shadow:0 18px 40px rgba(0,0,0,.34);
  font-size:13px;
  font-weight:900;
}

.price strong{
  font:inherit;
  color:inherit;
}

@media (max-width:760px){
  .currency-dialog{
    padding:24px;
  }

  .currency-options{
    grid-template-columns:1fr 1fr;
  }

  .currency-options button{
    min-height:68px;
  }

  .currency-fab{
    left:16px;
    bottom:16px;
    min-width:68px;
    height:52px;
  }
}

body.modal-open{
  overflow:hidden;
}

.preview-grid{
  align-items:stretch;
}

.preview-card{
  min-height:520px;
  padding:0;
}

.preview-card::before{
  display:none;
}

.preview-image{
  min-height:178px;
  display:flex;
  align-items:flex-end;
  padding:16px;
  background-size:cover;
  background-position:center;
  position:relative;
}

.preview-image::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.76));
}

.preview-image span{
  position:relative;
  z-index:1;
  min-height:32px;
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(243,212,137,.45);
  border-radius:999px;
  padding:0 12px;
  background:rgba(0,0,0,.42);
  color:var(--gold-light);
  font-size:12px;
  font-weight:900;
}

.alpine-preview,
.economy-preview,
.custom-preview{
  background-image:url('hero-europe-luxury-travel.png');
}

.vip-preview{
  background-image:url('fleet-premium-sclass.png');
}

.preview-card .card-head,
.preview-card .price,
.preview-card .preview-facts,
.preview-card .details-btn{
  margin-right:22px;
  margin-left:22px;
}

.preview-card .card-head{
  margin-top:20px;
}

.preview-card h3{
  font-size:24px;
}

.preview-card .price{
  margin-top:18px;
}

.preview-facts{
  display:grid;
  gap:8px;
  margin-top:12px;
  margin-bottom:22px;
}

.preview-facts b{
  min-height:34px;
  display:flex;
  align-items:center;
  border:1px solid var(--line);
  border-radius:8px;
  padding:0 10px;
  background:rgba(255,255,255,.035);
  color:#e6e6e6;
  font-size:13px;
  font-weight:900;
}

.details-btn{
  margin-top:auto;
  margin-bottom:22px;
  min-height:48px;
  border:0;
  border-radius:6px;
  color:#080808;
  background:linear-gradient(135deg,var(--gold-light),var(--gold) 48%,var(--gold-dark));
  box-shadow:0 18px 38px rgba(217,178,95,.16);
  font-weight:900;
  cursor:pointer;
  transition:transform .2s ease;
}

.details-btn:hover{
  transform:translateY(-2px);
}

.package-detail-modal{
  position:fixed;
  inset:0;
  z-index:90;
  display:none;
  padding:24px;
  background:rgba(0,0,0,.78);
  backdrop-filter:blur(18px);
  overflow:auto;
}

.package-detail-modal.is-open{
  display:block;
}

.package-detail-dialog{
  width:min(1120px,100%);
  margin:0 auto;
  border:1px solid rgba(217,178,95,.42);
  border-radius:10px;
  background:#080808;
  box-shadow:0 34px 100px rgba(0,0,0,.68);
  overflow:hidden;
  position:relative;
}

.detail-close{
  position:absolute;
  top:16px;
  left:16px;
  z-index:3;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  background:rgba(0,0,0,.52);
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}

.detail-hero{
  min-height:360px;
  display:flex;
  align-items:flex-end;
  padding:42px;
  background-size:cover;
  background-position:center;
  position:relative;
}

.detail-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.84));
}

.detail-hero > div{
  position:relative;
  z-index:1;
  max-width:760px;
}

.detail-hero span{
  color:var(--gold-light);
  font-family:'Montserrat','Cairo',Arial,sans-serif;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.detail-hero h2{
  margin-top:12px;
  color:#fff;
  font-size:clamp(34px,5vw,64px);
  line-height:1.08;
  font-weight:900;
}

.alpine-detail-hero,
.economy-detail-hero,
.custom-detail-hero{
  background-image:url('hero-europe-luxury-travel.png');
}

.vip-detail-hero{
  background-image:url('fleet-premium-sclass.png');
}

.detail-body{
  padding:34px;
}

.detail-price{
  display:inline-grid;
  gap:6px;
  min-width:230px;
  margin-bottom:24px;
  color:#fff;
  font-size:36px;
  line-height:1;
  font-weight:900;
}

.detail-price small{
  color:var(--gold-light);
  font-size:14px;
}

.detail-price span{
  color:var(--muted);
  font-size:15px;
}

.detail-info-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.detail-info-grid div,
.detail-section,
.detail-split > div{
  border:1px solid var(--line);
  border-radius:8px;
  background:rgba(255,255,255,.035);
}

.detail-info-grid div{
  min-height:82px;
  padding:16px;
}

.detail-info-grid span{
  display:block;
  color:var(--gold-light);
  font-size:12px;
  font-weight:900;
}

.detail-info-grid b{
  display:block;
  margin-top:7px;
  color:#fff;
  font-size:17px;
}

.detail-section{
  margin-top:18px;
  padding:24px;
}

.detail-section h3,
.detail-split h3{
  color:#fff;
  font-size:25px;
  line-height:1.2;
}

.detail-section ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 18px;
  margin-top:18px;
  list-style:none;
}

.detail-section li{
  position:relative;
  padding-right:22px;
  color:#e6e6e6;
  font-weight:800;
}

.detail-section li::before{
  content:"";
  position:absolute;
  right:0;
  top:.72em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--gold);
}

.itinerary{
  display:grid;
  gap:10px;
  margin-top:18px;
}

.itinerary div{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:12px;
  border-top:1px solid var(--line);
  padding-top:12px;
}

.itinerary b{
  color:var(--gold-light);
}

.itinerary span,
.detail-section p,
.detail-split p{
  color:var(--muted);
  font-weight:700;
}

.detail-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:18px;
}

.detail-split > div{
  padding:24px;
}

.detail-split p,
.detail-section p{
  margin-top:12px;
}

.detail-cta{
  margin-top:22px;
  display:grid;
  justify-items:center;
  gap:10px;
  border:1px solid var(--gold-line);
  border-radius:8px;
  padding:24px;
  background:linear-gradient(90deg,rgba(217,178,95,.12),transparent 55%);
  text-align:center;
}

.detail-cta a{
  min-height:54px;
  min-width:min(320px,100%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:6px;
  color:#080808;
  background:linear-gradient(135deg,var(--gold-light),var(--gold) 48%,var(--gold-dark));
  font-weight:900;
}

.detail-cta span{
  color:var(--muted);
  font-weight:800;
}

@media (max-width:760px){
  .preview-card{
    min-height:auto;
  }

  .preview-card .card-head,
  .preview-card .price,
  .preview-card .preview-facts,
  .preview-card .details-btn{
    margin-right:18px;
    margin-left:18px;
  }

  .package-detail-modal{
    padding:12px;
  }

  .detail-hero{
    min-height:280px;
    padding:28px 20px;
  }

  .detail-body{
    padding:20px;
  }

  .detail-info-grid,
  .detail-section ul,
  .detail-split{
    grid-template-columns:1fr;
  }

  .itinerary div{
    grid-template-columns:1fr;
    gap:4px;
  }
}

.details-btn{
  width:calc(100% - 44px);
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.detail-car-image{
  min-height:150px;
  margin:-6px -6px 18px;
  border-radius:7px;
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.36)),url('fleet-vclass-family.png') center/cover;
}

#package-vip .detail-car-image{
  background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.36)),url('fleet-premium-sclass.png');
}

#package-custom .detail-car-image{
  background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.36)),url('fleet-executive-sedan.png');
}

.couple-package{
  border-color:rgba(243,212,137,.32);
  background:linear-gradient(180deg,#15110b,#080808 76%);
}

#package-couple .detail-car-image{
  background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.36)),url('fleet-executive-sedan.png');
}

@media (min-width:1181px){
  .preview-card h3{
    font-size:21px;
  }

  .preview-card .price{
    font-size:27px;
  }

  .preview-facts b{
    font-size:12px;
    padding:0 8px;
  }

  .preview-image{
    min-height:154px;
  }
}


/* Premium Route Map refinement */
.destinations{
  background:#050505;
}

.luxury-map{
  border-radius:18px;
  border-color:rgba(212,175,55,.38);
  background:
    linear-gradient(135deg,rgba(212,175,55,.12),transparent 32%),
    linear-gradient(180deg,#101010,#050505);
  box-shadow:0 24px 70px rgba(0,0,0,.42);
  direction:ltr;
}

.route-map{
  grid-column:1;
  grid-row:1;
}

.map-copy{
  grid-column:2;
  grid-row:1;
  direction:rtl;
  justify-content:center;
  border-left:0;
  border-right:1px solid rgba(255,255,255,.1);
  padding-left:0;
  padding-right:28px;
}

.map-stats{
  direction:rtl;
}

.map-copy h3,
.detail-hero h2{
  color:#fff;
}

.map-copy p,
.map-stats span{
  color:#a7a7a7;
}

.map-point text{
  display:none;
}

.map-land{
  fill:rgba(255,255,255,.045);
  stroke:rgba(212,175,55,.24);
}

.map-route{
  stroke:url(#routeGold);
  opacity:.82;
}

.map-point circle{
  stroke:#d4af37;
}

.map-city-list{
  display:grid;
  gap:10px;
  margin-top:22px;
}

.city-group{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  border:1px solid rgba(212,175,55,.2);
  border-radius:18px;
  padding:12px;
  background:rgba(255,255,255,.035);
  transition:opacity .2s ease,border-color .2s ease,background .2s ease;
}

.city-group b{
  min-width:95px;
  color:#d4af37;
  font-family:'Montserrat','Cairo',Arial,sans-serif;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

.city-group span{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;
  padding:0 10px;
  color:#fff;
  background:rgba(0,0,0,.2);
  font-size:12px;
  font-weight:800;
}

html[data-map-filter="switzerland"] .city-group:not(.city-switzerland),
html[data-map-filter="austria"] .city-group:not(.city-austria),
html[data-map-filter="germany"] .city-group:not(.city-germany),
html[data-map-filter="france"] .city-group:not(.city-france),
html[data-map-filter="italy"] .city-group:not(.city-italy){
  display:none;
}

html[data-map-filter="switzerland"] .city-switzerland,
html[data-map-filter="austria"] .city-austria,
html[data-map-filter="germany"] .city-germany,
html[data-map-filter="france"] .city-france,
html[data-map-filter="italy"] .city-italy{
  border-color:rgba(212,175,55,.62);
  background:rgba(212,175,55,.09);
}

.destination-pills button{
  border-color:rgba(212,175,55,.35);
  border-radius:999px;
  background:rgba(212,175,55,.08);
}

.destination-pills button:hover,
.destination-pills button.is-active{
  background:linear-gradient(135deg,#f2d878,#d4af37 55%,#9d7631);
}

@media (max-width:760px){
  .luxury-map{
    direction:rtl;
  }

  .route-map{
    grid-column:auto;
    grid-row:1;
    order:1;
  }

  .map-copy{
    grid-column:auto;
    grid-row:2;
    order:2;
    border-right:0;
    border-bottom:0;
    border-top:1px solid rgba(255,255,255,.1);
    padding-right:0;
    padding-top:18px;
  }

  .map-city-list{
    gap:8px;
  }

  .city-group{
    border-radius:14px;
  }

  .city-group b{
    width:100%;
  }
}
