@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap');
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root,[data-theme="dark"]{--bg:#0a0a0a;--bg2:#141414;--bg3:#1e1e1e;--text:#fff;--text2:rgba(255,255,255,.7);--text3:rgba(255,255,255,.4);--border:rgba(255,255,255,.08);--card:rgba(255,255,255,.04);--card-hover:rgba(255,255,255,.08);--accent:#c0a36a;--font-h:'Playfair Display',Georgia,serif;--font-b:'Inter',system-ui,sans-serif;--tr:all .4s cubic-bezier(.25,.46,.45,.94)}
[data-theme="light"]{--bg:#fff;--bg2:#f5f5f5;--bg3:#eaeaea;--text:#111;--text2:#555;--text3:#999;--border:rgba(0,0,0,.08);--card:rgba(0,0,0,.03);--card-hover:rgba(0,0,0,.06);--accent:#8a7340}
html{scroll-behavior:smooth}
body{font-family:var(--font-b);color:var(--text);background:var(--bg);overflow-x:hidden;line-height:1.7;transition:background .5s,color .5s}
a{color:inherit;text-decoration:none}
/* NAV */
.navbar{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:1.2rem 5%;display:flex;align-items:center;justify-content:space-between;background:rgba(10,10,10,.85);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);transition:var(--tr)}
[data-theme="light"] .navbar{background:rgba(255,255,255,.9)}
.navbar.scrolled{padding:.7rem 5%;box-shadow:0 2px 30px rgba(0,0,0,.15)}
.nav-brand{font-family:var(--font-h);font-size:1.4rem;font-weight:700;letter-spacing:1px;color:var(--text);display:flex;align-items:center;gap:.6rem}
.nav-logo{height:40px;width:40px;border-radius:50%;object-fit:cover}
.foot-logo{height:50px;width:50px;border-radius:50%;object-fit:cover;margin-right:.5rem;vertical-align:middle}
.foot-brand{font-family:var(--font-h);font-size:1.3rem;margin-bottom:.8rem;display:flex;align-items:center}
.nav-center{display:flex;gap:2rem;list-style:none;align-items:center}
.nav-center a{font-size:.85rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase;color:var(--text2);transition:var(--tr);position:relative}
.nav-center a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--accent);transition:var(--tr)}
.nav-center a:hover{color:var(--text)}.nav-center a:hover::after{width:100%}
.nav-right{display:flex;align-items:center;gap:1rem}
.nav-cta{background:var(--accent);color:#000;padding:.65rem 1.4rem;border-radius:4px;font-size:.8rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;transition:var(--tr);border:none;cursor:pointer}
.nav-cta:hover{filter:brightness(1.15);transform:translateY(-2px)}
/* Lang & Theme toggles */
.lang-wrap{position:relative}
#langBtn{background:none;border:1px solid var(--border);color:var(--text2);padding:.4rem .7rem;border-radius:4px;cursor:pointer;font-size:.8rem;font-family:var(--font-b);display:flex;align-items:center;gap:.4rem;transition:var(--tr)}
#langBtn:hover{border-color:var(--accent);color:var(--text)}
.lang-dropdown{position:absolute;top:120%;right:0;background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:.5rem 0;display:none;min-width:140px;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.lang-dropdown.open{display:block}
.lang-option{display:block;padding:.5rem 1rem;font-size:.85rem;color:var(--text2);cursor:pointer;transition:var(--tr)}
.lang-option:hover,.lang-option.active{background:var(--card-hover);color:var(--accent)}
#themeToggle{background:none;border:1px solid var(--border);color:var(--text2);width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:var(--tr)}
#themeToggle:hover{border-color:var(--accent)}
.weather-widget{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text2);padding:.3rem .7rem;border:1px solid var(--border);border-radius:20px;white-space:nowrap}
.weather-widget #weatherIcon{font-size:1rem}
.weather-widget #weatherTemp{font-weight:600;color:var(--text)}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:5px;z-index:1001}
.hamburger span{width:26px;height:2px;background:var(--text);transition:var(--tr)}
.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
/* HERO */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:url('images/hero-limousine.png') center/cover;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.5));z-index:1}
.hero-content{position:relative;z-index:3;text-align:center;max-width:860px;padding:2rem;}

.hero-badge{display:inline-block;padding:.5rem 1.5rem;border:1px solid rgba(255,255,255,.25);border-radius:30px;color:#fff;font-size:.75rem;letter-spacing:3px;text-transform:uppercase;margin-bottom:1.5rem;backdrop-filter:blur(4px)}
.hero h1{font-family:var(--font-h);font-size:clamp(2.8rem,5.5vw,5rem);color:#fff;font-weight:700;line-height:1.1;margin-bottom:1rem}
.hero p{color:rgba(255,255,255,.75);font-size:1.1rem;max-width:580px;margin:0 auto 2.5rem;font-weight:300}
/* Hero Booking Widget */
.hero-booking{background:rgba(255,255,255,.08);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:1.5rem 2rem;margin-top:1rem;max-width:700px;width:100%}
.hero-booking h3{color:#fff;font-size:.85rem;letter-spacing:2px;text-transform:uppercase;margin-bottom:1rem;text-align:center}
.hb-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.8rem;align-items:end}
.hb-field label{display:block;color:rgba(255,255,255,.5);font-size:.7rem;letter-spacing:1px;text-transform:uppercase;margin-bottom:.3rem}
.hb-field input, .hb-field select{width:100%;padding:.7rem .8rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;font-family:var(--font-b);font-size:.9rem;transition:var(--tr)}
.hb-field input:focus, .hb-field select:focus{outline:none;border-color:var(--accent)}
.hb-field input::placeholder{color:rgba(255,255,255,.35)}
.hb-field select option{background:var(--bg2);color:#fff}
.hb-submit{background:var(--accent);color:#000;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;font-size:.85rem;cursor:pointer;letter-spacing:1px;text-transform:uppercase;transition:var(--tr);white-space:nowrap;grid-column:1/-1}
.hb-submit:hover{filter:brightness(1.15);transform:translateY(-2px)}
/* Fare Calculator UI */
.fare-calc-container{margin-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem}
.fare-loader{text-align:center;color:rgba(255,255,255,.7);font-size:.9rem;padding:1rem 0}
.spinner{width:30px;height:30px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}
@keyframes spin{to{transform:rotate(360deg)}}
.fare-error{color:#ff4d4d;text-align:center;font-size:.9rem;padding:1rem;background:rgba(255,77,77,.1);border-radius:8px}
.fare-trip-info{text-align:center;color:rgba(255,255,255,.7);font-size:.85rem;margin-bottom:1rem;letter-spacing:1px;text-transform:uppercase}
.fare-cards{display:flex;flex-direction:column;gap:10px}
.fare-card{display:flex;align-items:center;padding:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:var(--tr)}
.fare-card:hover{border-color:var(--accent);background:rgba(255,255,255,.1)}
.fare-card.selected{border-color:var(--accent);background:rgba(255,255,255,.15);box-shadow:0 0 0 1px var(--accent)}
.fare-card img{width:60px;height:40px;object-fit:cover;border-radius:6px;margin-right:1rem}
.fare-info{flex:1;text-align:left}
.fare-info h4{margin:0;font-size:.95rem;color:#fff;display:flex;align-items:center;gap:8px}
.fare-info h4 span{font-size:.7rem;color:rgba(255,255,255,.5);font-weight:400;display:flex;align-items:center}
.fare-info p{margin:0;font-size:.75rem;color:rgba(255,255,255,.5)}
.fare-price{font-weight:600;font-size:1.1rem;color:#fff}
/* Scroll indicator */
.scroll-ind{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:.4rem}
.scroll-ind span{color:rgba(255,255,255,.5);font-size:.65rem;letter-spacing:2px;text-transform:uppercase}
.scroll-line{width:1px;height:35px;background:rgba(255,255,255,.2);position:relative;overflow:hidden}
.scroll-line::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:#fff;animation:sd 2s ease-in-out infinite}
@keyframes sd{0%{top:-100%}50%{top:100%}100%{top:100%}}
/* SECTIONS */
.section{padding:6rem 5%}.section-alt{background:var(--bg2)}
.sec-head{text-align:center;max-width:600px;margin:0 auto 3.5rem}
.sec-head .label{font-size:.75rem;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:.8rem;display:block}
.sec-head h2{font-family:var(--font-h);font-size:clamp(2rem,3.5vw,3rem);font-weight:600;line-height:1.2;margin-bottom:.8rem}
.sec-head p{color:var(--text2);font-size:1rem;font-weight:300}
/* Services */
.srv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto}
.srv-card{position:relative;border-radius:12px;overflow:hidden;height:380px;cursor:pointer}
.srv-card img, .srv-card video{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.srv-card:hover img, .srv-card:hover video{transform:scale(1.08)}
.srv-card-ov{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.85) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;transition:var(--tr)}
.srv-card-ov h3{font-family:var(--font-h);font-size:1.3rem;color:#fff;margin-bottom:.4rem}
.srv-card-ov p{color:rgba(255,255,255,.65);font-size:.85rem;font-weight:300;opacity:0;transform:translateY(8px);transition:var(--tr)}
.srv-card:hover .srv-card-ov p{opacity:1;transform:translateY(0)}
/* Destinations */
.dest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto}
.dest-group{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.5rem 2rem;transition:var(--tr)}
.dest-group:hover{border-color:var(--accent);background:var(--card-hover)}
.dest-group h3{font-family:var(--font-h);font-size:1.1rem;margin-bottom:1rem;color:var(--text)}
.dest-list{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem}
.dest-list li{background:var(--bg);border:1px solid var(--border);padding:.35rem .8rem;border-radius:20px;font-size:.8rem;color:var(--text2);transition:var(--tr);cursor:pointer}
.dest-list li:hover{border-color:var(--accent);color:var(--accent);background:var(--card-hover);transform:translateY(-2px)}
/* Stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);max-width:900px;margin:0 auto;gap:2rem;text-align:center;padding:4rem 0}
.stat h3,.stat-number{font-family:var(--font-h);font-size:2.8rem;font-weight:700;color:var(--accent)}
.stat p{color:var(--text3);font-size:.75rem;letter-spacing:2px;text-transform:uppercase;margin-top:.3rem}
/* Fleet */
.fleet-scroll{display:flex;gap:1.5rem;overflow-x:auto;max-width:1200px;margin:0 auto;padding-bottom:1rem;cursor:grab;scrollbar-width:none;-ms-overflow-style:none}
.fleet-scroll::-webkit-scrollbar{display:none}
.fleet-card{min-width:350px;background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:var(--tr);flex-shrink:0}
.fleet-card:hover{transform:translateY(-6px);border-color:var(--accent);box-shadow:0 15px 40px rgba(0,0,0,.2)}
.fleet-img{height:220px;overflow:hidden}
.fleet-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.fleet-card:hover .fleet-img img{transform:scale(1.05)}
.fleet-body{padding:1.5rem}
.fleet-cat{font-size:.7rem;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:.3rem}
.fleet-body h3{font-family:var(--font-h);font-size:1.2rem;margin-bottom:.8rem}
.fleet-specs{display:flex;gap:1rem;margin-bottom:.8rem}
.fleet-spec{display:flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--text3)}
.fleet-features{list-style:none;padding:0;margin:0 0 1rem 0;display:flex;flex-direction:column;gap:.4rem}
.fleet-features li{font-size:.8rem;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:.5rem}
.fleet-features li::before{content:'✓';color:var(--accent);font-size:.9rem}
.fleet-price{font-family:var(--font-h);font-size:1.3rem;font-weight:600;color:var(--text)}
.fleet-price span{font-size:.8rem;color:var(--text3);font-family:var(--font-b);font-weight:400}
/* About */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;max-width:1100px;margin:0 auto;align-items:center}
.about-img{border-radius:12px;overflow:hidden;position:relative}
.about-img img{width:100%;height:100%;object-fit:cover;min-height:400px}
.about-img-badge{position:absolute;bottom:2rem;right:2rem;background:var(--bg);padding:1.2rem 1.5rem;border-radius:8px;box-shadow:0 8px 30px rgba(0,0,0,.3);text-align:center}
.about-img-badge h3{font-family:var(--font-h);font-size:1.8rem;color:var(--accent)}
.about-img-badge p{font-size:.7rem;color:var(--text3);text-transform:uppercase;letter-spacing:1px}
.about-text .label{font-size:.75rem;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:.8rem;display:block}
.about-text h2{font-family:var(--font-h);font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:1.2rem;line-height:1.2}
.about-text p{color:var(--text2);margin-bottom:1rem;font-weight:300}
.floating-actions{position:fixed;bottom:2rem;left:2rem;display:flex;flex-direction:column;gap:1rem;z-index:999;align-items:flex-start}
.floating-actions a{cursor:grab}
.floating-actions a:active{cursor:grabbing}
.about-list{list-style:none;margin-top:1.5rem;display:flex;flex-direction:column;gap:.8rem}
.about-list li{display:flex;align-items:center;gap:.7rem;font-weight:500;font-size:.95rem}
.about-list .ic{width:32px;height:32px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#000;font-size:.8rem;flex-shrink:0}
/* Flight */
.flight-demo{background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:2rem;max-width:800px;margin:3rem auto 0}
.flight-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;gap:1rem;text-align:center}
.flight-row.head{border-bottom:1px solid var(--border);padding-bottom:1rem;margin-bottom:1rem}
.flight-row.head span{font-size:.7rem;letter-spacing:1px;text-transform:uppercase;color:var(--text3)}
.flight-row span{font-size:.95rem;font-weight:500}
.fl-status{color:#4caf50;font-weight:600!important}
/* Reviews */
.rev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}
.rev-card{background:var(--bg3);border:1px solid var(--border);padding:2rem;border-radius:12px;position:relative}
.rev-stars{color:var(--accent);margin-bottom:1rem;letter-spacing:2px}
.rev-card blockquote{font-style:italic;color:var(--text2);margin-bottom:1.5rem;line-height:1.6}
.rev-author{display:flex;align-items:center;gap:1rem;border-top:1px solid var(--border);padding-top:1rem}
.rev-avatar{width:48px;height:48px;border-radius:50%;background:var(--card);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.2rem;overflow:hidden}
.rev-avatar img{width:100%;height:100%;object-fit:cover}
.rev-info h4{margin:0;font-size:1rem;font-weight:600}
.rev-info span{color:var(--text3);font-size:.8rem}
/* CTA */
.cta-section{padding:6rem 5%;text-align:center;background:var(--bg)}
.cta-section h2{font-family:var(--font-h);font-size:clamp(2rem,4vw,3rem);margin-bottom:.8rem}
.cta-section p{color:var(--text2);max-width:450px;margin:0 auto 2rem;font-weight:300;font-size:1.05rem}
.btn-accent{background:var(--accent);color:#000;padding:1rem 2.5rem;border:none;border-radius:4px;font-size:.85rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:var(--tr);display:inline-flex;align-items:center;gap:.5rem}
.btn-accent:hover{filter:brightness(1.15);transform:translateY(-3px);box-shadow:0 10px 30px rgba(192,163,106,.3)}
/* Booking Form */
.book-form{max-width:650px;margin:0 auto;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:2.5rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:1.2rem}
.form-g{display:flex;flex-direction:column}
.form-g.full{grid-column:1/-1}
.form-g label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text2);margin-bottom:.4rem}
.form-g input,.form-g select,.form-g textarea{padding:.8rem 1rem;border:1px solid var(--border);border-radius:6px;font-family:var(--font-b);font-size:.9rem;color:var(--text);background:var(--bg);transition:var(--tr)}
.form-g input:focus,.form-g select:focus,.form-g textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(192,163,106,.15)}
.form-g textarea{resize:vertical;min-height:80px}
.book-form .btn-accent{width:100%;justify-content:center;margin-top:.5rem}
/* Chat */
#chatToggle{position:fixed;bottom:2rem;right:2rem;width:60px;height:60px;border-radius:50%;background:var(--accent);color:#000;border:none;font-size:1.5rem;cursor:pointer;z-index:999;box-shadow:0 4px 20px rgba(192,163,106,.4);transition:var(--tr);display:flex;align-items:center;justify-content:center}
#chatToggle:hover{transform:scale(1.1)}
#chatToggle.hidden{transform:scale(0);opacity:0}
#chatPanel{position:fixed;bottom:2rem;right:2rem;width:380px;max-height:500px;background:var(--bg2);border:1px solid var(--border);border-radius:16px;z-index:1000;display:none;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.4)}
#chatPanel.open{display:flex}
.chat-head{padding:1rem 1.2rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.chat-head h4{font-size:.9rem;display:flex;align-items:center;gap:.5rem}
.chat-head h4::before{content:'';width:8px;height:8px;border-radius:50%;background:#4caf50}
#chatClose{background:none;border:none;color:var(--text3);font-size:1.2rem;cursor:pointer}
.chat-body{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.8rem;max-height:340px}
.chat-msg{max-width:80%;padding:.7rem 1rem;border-radius:12px;font-size:.85rem;line-height:1.5}
.chat-msg.bot{background:var(--card);color:var(--text);align-self:flex-start;border-bottom-left-radius:4px}
.chat-msg.user{background:var(--accent);color:#000;align-self:flex-end;border-bottom-right-radius:4px}
.chat-input{display:flex;gap:.5rem;padding:1rem;border-top:1px solid var(--border)}
.chat-input input{flex:1;padding:.6rem .8rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-family:var(--font-b);font-size:.85rem}
.chat-input input:focus{outline:none;border-color:var(--accent)}
.chat-input button{background:var(--accent);color:#000;border:none;padding:.6rem 1rem;border-radius:8px;font-weight:600;cursor:pointer;font-size:.85rem}
/* WhatsApp Float */
.wa-btn{position:fixed;bottom:5.5rem;left:2rem;background:#25d366;color:#fff;border:none;width:56px;height:56px;border-radius:50%;font-size:1.6rem;cursor:pointer;z-index:999;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,.4);transition:var(--tr);text-decoration:none;animation:waPulse 3s ease-in-out infinite}
.wa-btn:hover{transform:translateY(-3px) scale(1.1);box-shadow:0 8px 30px rgba(37,211,102,.5)}
@keyframes waPulse{0%,100%{box-shadow:0 4px 20px rgba(37,211,102,.4)}50%{box-shadow:0 4px 30px rgba(37,211,102,.7)}}
/* Email Float */
.email-btn{position:fixed;bottom:2rem;left:2rem;background:var(--bg2);color:var(--text);border:1px solid var(--border);padding:.7rem 1.2rem;border-radius:30px;font-size:.85rem;font-weight:600;cursor:pointer;z-index:999;display:flex;align-items:center;gap:.4rem;box-shadow:0 4px 15px rgba(0,0,0,.2);transition:var(--tr);text-decoration:none}
.email-btn:hover{transform:translateY(-3px);border-color:var(--accent);color:var(--accent)}
/* Form booking actions */
.form-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:.5rem}
.form-actions .btn-accent{flex:1;min-width:180px;justify-content:center}
.btn-wa{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:#25d366;color:#fff;padding:.9rem 1.5rem;border-radius:4px;font-size:.85rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;transition:var(--tr);text-decoration:none;flex:1;min-width:180px}
.btn-wa:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 8px 25px rgba(37,211,102,.3)}
.btn-email{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:transparent;color:var(--text);border:1px solid var(--border);padding:.9rem 1.5rem;border-radius:4px;font-size:.85rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;transition:var(--tr);text-decoration:none;flex:1;min-width:180px}
.btn-email:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}
/* Footer */
.footer{background:var(--bg2);border-top:1px solid var(--border);padding:4rem 5% 2rem}
.foot-map{width:100%;max-width:1200px;margin:0 auto 3rem;border-radius:12px;overflow:hidden;border:1px solid var(--border)}
[data-theme="light"] .foot-map iframe{filter:grayscale(0.15) contrast(1.05)}
[data-theme="dark"] .foot-map iframe{filter:grayscale(0.4) invert(0.92) contrast(1.1)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem;max-width:1200px;margin:0 auto 2.5rem}
.foot-brand{font-family:var(--font-h);font-size:1.3rem;margin-bottom:.8rem}.foot-brand span{color:var(--accent)}
.footer p{font-size:.85rem;color:var(--text2);line-height:1.7}
.footer h4{font-size:.75rem;letter-spacing:2px;text-transform:uppercase;margin-bottom:1.2rem;color:var(--text)}
.footer ul{list-style:none}.footer ul li{margin-bottom:.6rem}
.footer ul a{color:var(--text2);font-size:.85rem;transition:var(--tr)}
.footer ul a:hover{color:var(--accent)}
.foot-social{display:flex;gap:.8rem;margin-top:1.5rem}
.foot-social .social-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--border);color:var(--text2);transition:var(--tr);background:var(--card)}
.foot-social .social-icon svg{width:18px;height:18px;transition:var(--tr)}
.foot-social .social-icon:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-3px);box-shadow:0 4px 12px rgba(212,175,55,.25)}
.foot-social .social-icon:hover svg{fill:var(--accent)}
.foot-bottom {
  border-top: 1px solid var(--border);
  padding-top: 2rem;
  text-align: center;
  font-size: .8rem;
  color: var(--text3);
  max-width: 1200px;
  margin: 0 auto;
}
.payment-icons {
  display: flex;
  justify-content: center;
  gap: 1.2rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}
.pay-card {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  background: var(--bg3);
  border: 1px solid var(--border);
  padding: 0.6rem 1.2rem;
  border-radius: 8px;
  color: var(--text2);
  font-size: 0.85rem;
  font-weight: 500;
  transition: var(--tr);
  cursor: pointer;
}
.pay-card svg {
  color: var(--text3);
  fill: currentColor;
  transition: var(--tr);
}
/* Specifically for outline SVGs like cash and girocard, override fill so they stay beautiful outlines */
.pay-card svg[fill="none"] {
  fill: none;
}
.pay-card:hover {
  border-color: var(--accent);
  color: var(--text);
  transform: translateY(-3px);
  box-shadow: 0 5px 15px rgba(212, 175, 55, 0.15);
}
.pay-card:hover svg {
  color: var(--accent);
}
/* Animations */
.reveal{opacity:0;transform:translateY(25px);transition:all .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}

/* ── UBER CLIPS / VIDEO SHOWCASE ── */
.uber-clips-section{background:var(--bg);overflow:hidden}
.clips-theater{max-width:1000px;margin:0 auto;border-radius:16px;overflow:hidden;position:relative;border:1px solid var(--border);box-shadow:0 20px 60px rgba(0,0,0,.35)}
.clips-viewport{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#000}
.clip-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s cubic-bezier(.4,0,.2,1);z-index:1;pointer-events:none}
.clip-slide.active{opacity:1;z-index:2;pointer-events:auto}
.clip-slide img, .clip-slide video{width:100%;height:100%;object-fit:cover;animation:clipZoom 6s ease-in-out forwards}
.clip-slide.active img, .clip-slide.active video{animation:clipZoom 6s ease-in-out forwards}
@keyframes clipZoom{0%{transform:scale(1)}100%{transform:scale(1.08)}}
.clip-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.85) 0%,rgba(0,0,0,.2) 40%,transparent 70%);display:flex;flex-direction:column;justify-content:flex-end;padding:2.5rem;z-index:3}
.clip-badge{display:inline-block;width:fit-content;padding:.3rem .8rem;border:1px solid rgba(255,255,255,.25);border-radius:20px;color:rgba(255,255,255,.7);font-size:.65rem;letter-spacing:3px;text-transform:uppercase;margin-bottom:.8rem;backdrop-filter:blur(4px)}
.clip-overlay h3{font-family:var(--font-h);font-size:clamp(1.4rem,3vw,2rem);color:#fff;margin-bottom:.5rem;transform:translateY(15px);opacity:0;animation:clipTextIn .6s .3s forwards}
.clip-overlay p{color:rgba(255,255,255,.6);font-size:.9rem;font-weight:300;max-width:480px;transform:translateY(15px);opacity:0;animation:clipTextIn .6s .5s forwards}
@keyframes clipTextIn{to{transform:translateY(0);opacity:1}}
/* Re-trigger text animation on slide change */
.clip-slide:not(.active) .clip-overlay h3,
.clip-slide:not(.active) .clip-overlay p{animation:none;opacity:0;transform:translateY(15px)}

/* Controls */
.clips-controls{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem 1.5rem;background:var(--bg2);border-top:1px solid var(--border)}
.clip-nav-btn{background:none;border:1px solid var(--border);color:var(--text2);width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:var(--tr)}
.clip-nav-btn:hover{border-color:var(--accent);color:var(--accent);transform:scale(1.1)}
.clips-progress{display:flex;gap:.5rem;align-items:center}
.clip-dot{width:40px;height:4px;background:rgba(255,255,255,.12);border-radius:4px;cursor:pointer;position:relative;overflow:hidden;transition:var(--tr)}
[data-theme="light"] .clip-dot{background:rgba(0,0,0,.1)}
.clip-dot.active{width:60px}
.clip-dot-fill{position:absolute;inset:0;background:var(--accent);border-radius:4px;width:0;transition:none}
.clip-dot.active .clip-dot-fill{animation:clipDotFill 5s linear forwards}
@keyframes clipDotFill{0%{width:0}100%{width:100%}}
.clip-play-btn{background:none;border:1px solid var(--border);color:var(--text2);width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:var(--tr);margin-left:.5rem}
.clip-play-btn:hover{border-color:var(--accent);color:var(--accent)}
.clip-counter{text-align:center;padding:.6rem;font-size:.75rem;letter-spacing:3px;color:var(--text3);background:var(--bg2);border-top:1px solid var(--border);font-family:var(--font-b)}
.clip-counter span:first-child{color:var(--accent);font-weight:700}

/* ── DISABLED FEATURES ── */
/* Disabled inputs & selects */
.form-g input:disabled,
.form-g select:disabled,
.form-g textarea:disabled,
.hb-field input:disabled,
.hb-field select:disabled{opacity:.45;cursor:not-allowed;background:var(--bg3);border-color:var(--border);pointer-events:none;filter:grayscale(.3)}
.form-g input:disabled::placeholder{color:var(--text3)}

/* Disabled buttons */
button:disabled,
.btn-accent:disabled,
.hb-submit:disabled,
.btn-wa:disabled,
.btn-email:disabled{opacity:.4;cursor:not-allowed;pointer-events:none;filter:grayscale(.5);box-shadow:none;transform:none !important}

/* Disabled fleet card */
.fleet-card.disabled{opacity:.4;pointer-events:none;filter:grayscale(.6);position:relative}
.fleet-card.disabled::after{content:'UNAVAILABLE';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.75);color:rgba(255,255,255,.7);padding:.5rem 1.5rem;border-radius:6px;font-size:.7rem;letter-spacing:3px;text-transform:uppercase;font-weight:600;z-index:10;backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.1)}

/* Disabled service card */
.srv-card.disabled{opacity:.35;pointer-events:none;filter:grayscale(.7);position:relative}
.srv-card.disabled::after{content:'COMING SOON';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.8);color:var(--accent);padding:.6rem 1.8rem;border-radius:8px;font-size:.7rem;letter-spacing:3px;text-transform:uppercase;font-weight:600;z-index:10;backdrop-filter:blur(8px);border:1px solid var(--accent)}

/* Disabled navigation link */
.nav-center a.disabled{opacity:.35;pointer-events:none;cursor:not-allowed}
.nav-center a.disabled::after{display:none}

/* Disabled chat (maintenance mode) */
#chatPanel.disabled .chat-input{opacity:.4;pointer-events:none}
#chatPanel.disabled .chat-input::after{content:'Chat is currently offline';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg2);color:var(--text3);font-size:.8rem;letter-spacing:1px}

/* Disabled destination pills */
.dest-list li.disabled{opacity:.3;pointer-events:none;cursor:not-allowed;text-decoration:line-through;border-style:dashed}

/* Disabled tooltip on hover for parent containers */
[data-disabled-reason]{position:relative}
[data-disabled-reason]:hover::before{content:attr(data-disabled-reason);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:rgba(0,0,0,.9);color:rgba(255,255,255,.8);padding:.4rem .8rem;border-radius:6px;font-size:.72rem;white-space:nowrap;z-index:100;letter-spacing:.5px;border:1px solid var(--border);pointer-events:none;animation:tooltipIn .2s ease}
@keyframes tooltipIn{0%{opacity:0;transform:translateX(-50%) translateY(4px)}100%{opacity:1;transform:translateX(-50%) translateY(0)}}

/* Disabled date input (past dates styling) */
input[type="date"].past-date{border-color:#ff4d4d;color:#ff4d4d}
input[type="date"].past-date::after{content:'⚠';position:absolute;right:.5rem;color:#ff4d4d}

/* Responsive */
@media(max-width:968px){
.nav-center{display:none;position:fixed;top:0;right:-100%;width:75%;height:100vh;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:2rem;transition:right .5s;box-shadow:-10px 0 30px rgba(0,0,0,.2)}
.nav-center.open{display:flex;right:0}.hamburger{display:flex}
.hb-grid{grid-template-columns:1fr 1fr}.about-grid{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr 1fr}
.stats{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr}
#chatPanel{width:calc(100% - 2rem);right:1rem;bottom:1rem}
.clips-theater{border-radius:10px}
.clip-overlay{padding:1.5rem}
}
@media(max-width:600px){
.section{padding:3.5rem 5%}.foot-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr;gap:1.5rem}
.hero h1{font-size:2.2rem}.hb-grid{grid-template-columns:1fr}
.srv-grid,.rev-grid{grid-template-columns:1fr}.fleet-card{min-width:280px}
.clip-dot{width:28px}
.clip-dot.active{width:40px}
.clip-overlay h3{font-size:1.2rem}
.clip-overlay p{font-size:.8rem}
}
