/* ============================================
   Zanzibar Car Rentals - Main Stylesheet
   ============================================ */

:root {
    --primary: #1a6b4a;
    --primary-light: #2d8f65;
    --primary-dark: #124d35;
    --accent: #f0a500;
    --accent-light: #f5bc3a;
    --accent-dark: #c8880a;
    --dark: #0f1923;
    --text: #2c3e50;
    --text-light: #5a6a7a;
    --text-muted: #8fa3b1;
    --bg: #f8faf9;
    --bg-2: #eef4f1;
    --border: #d4e6dc;
    --shadow: 0 4px 24px rgba(26,107,74,0.12);
    --shadow-lg: 0 12px 48px rgba(26,107,74,0.18);
    --radius: 12px;
    --radius-lg: 20px;
    --radius-xl: 32px;
    --transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
    --font-display: 'Playfair Display', Georgia, serif;
    --font-body: 'DM Sans', -apple-system, sans-serif;
}

*,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body { font-family: var(--font-body); color: var(--text); background: var(--bg); line-height: 1.6; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }

/* TYPOGRAPHY */
h1,h2,h3 { font-family: var(--font-display); line-height: 1.2; }
h1 { font-size: clamp(2rem,5vw,3.5rem); }
h2 { font-size: clamp(1.6rem,3.5vw,2.5rem); }
h3 { font-size: clamp(1.2rem,2.5vw,1.5rem); }

.section-label {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 0.75rem; font-weight: 700; letter-spacing: 3px;
    text-transform: uppercase; color: var(--primary);
    background: rgba(26,107,74,0.1);
    padding: 6px 16px; border-radius: 100px; margin-bottom: 16px;
}
.section-title { margin-bottom: 12px; color: var(--dark); }
.section-subtitle { color: var(--text-light); font-size: 1.05rem; max-width: 560px; }
.section-header { margin-bottom: 48px; }
.section-header.centered { text-align: center; }
.section-header.centered .section-subtitle { margin: 0 auto; }

/* BUTTONS — NO overflow:hidden */
.btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 14px 28px; border-radius: 100px;
    font-weight: 600; font-size: 0.95rem;
    transition: var(--transition);
    cursor: pointer;
    position: relative;
    text-decoration: none;
}
.btn-primary { background: var(--primary); color: white; box-shadow: 0 4px 16px rgba(26,107,74,0.35); }
.btn-primary:hover { background: var(--primary-dark); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(26,107,74,0.4); }
.btn-accent { background: var(--accent); color: white; box-shadow: 0 4px 16px rgba(240,165,0,0.35); }
.btn-accent:hover { background: var(--accent-dark); transform: translateY(-2px); }
.btn-outline { border: 2px solid var(--primary); color: var(--primary); background: transparent; }
.btn-outline:hover { background: var(--primary); color: white; }
.btn-white { background: white; color: var(--primary); box-shadow: 0 4px 16px rgba(0,0,0,0.12); }
.btn-white:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.18); }
.btn-whatsapp { background: #25D366; color: white; box-shadow: 0 4px 16px rgba(37,211,102,0.35); }
.btn-whatsapp:hover { background: #1da853; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(37,211,102,0.5); }
.btn-lg { padding: 18px 36px; font-size: 1.05rem; }
.btn-sm { padding: 10px 20px; font-size: 0.85rem; }

/* NAVBAR */
.navbar {
    position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
    padding: 16px 0; transition: var(--transition); background: transparent;
}
.navbar.scrolled {
    background: rgba(15,25,35,0.95); backdrop-filter: blur(20px);
    padding: 10px 0; box-shadow: 0 4px 24px rgba(0,0,0,0.2);
}
.nav-container {
    max-width: 1280px; margin: 0 auto; padding: 0 24px;
    display: flex; align-items: center; justify-content: space-between;
}
.nav-logo { display: flex; align-items: center; gap: 12px; color: white; }
.logo-icon { width: 44px; height: 44px; background: var(--primary); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 1.3rem; }
.logo-text { display: flex; flex-direction: column; line-height: 1.1; }
.logo-main { font-family: var(--font-display); font-size: 1.1rem; font-weight: 700; }
.logo-sub { font-size: 0.65rem; letter-spacing: 2px; text-transform: uppercase; opacity: 0.7; }
.nav-menu { display: flex; align-items: center; gap: 8px; }
.nav-link { color: rgba(255,255,255,0.85); font-weight: 500; padding: 8px 14px; border-radius: 8px; transition: var(--transition); font-size: 0.9rem; }
.nav-link:hover, .nav-link.active { color: white; background: rgba(255,255,255,0.1); }
.btn-whatsapp-nav {
    display: flex; align-items: center; gap: 6px;
    background: #25D366; color: white; padding: 10px 20px;
    border-radius: 100px; font-size: 0.85rem; font-weight: 600;
    transition: var(--transition); border: none; cursor: pointer;
}
.btn-whatsapp-nav:hover { background: #1da853; transform: translateY(-1px); }
.nav-toggle { display: none; flex-direction: column; gap: 5px; width: 32px; padding: 4px; }
.nav-toggle span { height: 2px; background: white; border-radius: 2px; transition: var(--transition); display: block; }

/* NAV WA DROPDOWN */
.nav-wa-wrap { position: relative; }
.nav-wa-dropdown {
    display: none; position: absolute; top: calc(100% + 8px); right: 0;
    background: white; border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.15);
    overflow: hidden; min-width: 180px; z-index: 200;
}
.nav-wa-dropdown.open { display: block; animation: fadeInDown 0.2s ease; }
.nav-wa-dropdown a { display: flex; align-items: center; gap: 10px; padding: 12px 18px; color: var(--text); font-size: 0.88rem; font-weight: 500; transition: background 0.15s; }
.nav-wa-dropdown a:hover { background: #f0fdf4; color: #25D366; }
.nav-wa-dropdown a i { color: #25D366; font-size: 1.1rem; }
@keyframes fadeInDown { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

/* HERO */
.hero { min-height: 100vh; background: linear-gradient(135deg,#0f1923 0%,#1c3a2a 50%,#0f1923 100%); position: relative; overflow: hidden; display: flex; align-items: center; }
.hero::before { content:''; position:absolute; inset:0; background: radial-gradient(ellipse at 20% 50%,rgba(26,107,74,0.3) 0%,transparent 60%), radial-gradient(ellipse at 80% 20%,rgba(240,165,0,0.15) 0%,transparent 50%); }
.hero-pattern { position:absolute; inset:0; opacity:0.04; background-image:repeating-linear-gradient(45deg,white 0,white 1px,transparent 0,transparent 50%); background-size:20px 20px; }
.hero-content { position:relative; z-index:2; max-width:1280px; margin:0 auto; padding:120px 24px 80px; display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.hero-text { color:white; }
.hero-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(240,165,0,0.15); border:1px solid rgba(240,165,0,0.3); color:var(--accent-light); font-size:0.8rem; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; padding:8px 18px; border-radius:100px; margin-bottom:24px; }
.hero-title { font-size:clamp(2.2rem,5vw,4rem); font-weight:900; line-height:1.1; margin-bottom:20px; }
.hero-title span { color:var(--accent-light); }
.hero-desc { font-size:1.1rem; color:rgba(255,255,255,0.75); margin-bottom:36px; max-width:480px; line-height:1.7; }
.hero-actions { display:flex; gap:16px; flex-wrap:wrap; margin-bottom:40px; }
.hero-stats { display:flex; gap:32px; padding-top:32px; border-top:1px solid rgba(255,255,255,0.1); }
.stat-item { text-align:center; }
.stat-number { font-family:var(--font-display); font-size:2rem; font-weight:900; color:var(--accent-light); display:block; }
.stat-label { font-size:0.75rem; color:rgba(255,255,255,0.6); text-transform:uppercase; letter-spacing:1px; }

/* BOOKING WIDGET */
.booking-widget { background:white; border-radius:var(--radius-xl); padding:32px; box-shadow:0 24px 80px rgba(0,0,0,0.3); position:relative; }
.booking-widget::before { content:''; position:absolute; top:0; left:32px; right:32px; height:3px; background:linear-gradient(90deg,var(--primary),var(--accent)); border-radius:0 0 4px 4px; }
.booking-title { font-size:1.3rem; font-weight:700; margin-bottom:4px; color:var(--dark); }
.booking-subtitle { font-size:0.85rem; color:var(--text-muted); margin-bottom:24px; }

/* FORMS */
.form-group { margin-bottom: 16px; position: relative; }
.form-label { display:block; font-size:0.78rem; font-weight:600; text-transform:uppercase; letter-spacing:1px; color:var(--text-light); margin-bottom:6px; }
.form-control {
    width:100%; padding:12px 14px 12px 42px;
    border:2px solid var(--border); border-radius:var(--radius);
    font-family:var(--font-body); font-size:0.95rem;
    color:#2c3e50 !important; -webkit-text-fill-color:#2c3e50 !important;
    transition:var(--transition); background:#fff !important;
}
.form-control:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 4px rgba(26,107,74,0.1); }
.form-icon { position:absolute; left:14px; bottom:13px; color:var(--primary); font-size:1.1rem; pointer-events:none; z-index:1; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }

/* Date inputs */
input[type="date"] {
    padding:12px 14px 12px 42px;
    color:#2c3e50 !important;
    -webkit-text-fill-color:#2c3e50 !important;
    background:#fff !important;
    border:2px solid var(--border);
    border-radius:var(--radius);
    font-family:var(--font-body);
    font-size:0.95rem;
    width:100%;
    cursor:pointer;
    -webkit-appearance:auto;
    appearance:auto;
}
input[type="date"]:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 4px rgba(26,107,74,0.1); }
input[type="date"]::-webkit-calendar-picker-indicator { cursor:pointer; opacity:0.7; padding:4px; }

/* All inputs placeholder */
input::placeholder, textarea::placeholder { color:#8fa3b1 !important; opacity:1 !important; }
input:-webkit-autofill { -webkit-text-fill-color:#2c3e50 !important; -webkit-box-shadow:0 0 0 1000px #fff inset !important; }

.total-display { background:var(--bg-2); border-radius:var(--radius); padding:14px 16px; margin:16px 0; display:flex; justify-content:space-between; align-items:center; }
.total-display .label { font-size:0.85rem; color:var(--text-light); }
.total-display .amount { font-size:1.4rem; font-weight:700; color:var(--primary); font-family:var(--font-display); }
.booking-widget > form > .btn,
.booking-widget form > button[type="submit"] { 
    width:100%; 
    justify-content:center; 
}

/* TRUST BAR */
.trust-bar { background:var(--primary-dark); padding:16px 0; }
.trust-inner { max-width:1280px; margin:0 auto; padding:0 24px; display:flex; justify-content:center; gap:40px; flex-wrap:wrap; }
.trust-item { display:flex; align-items:center; gap:8px; color:rgba(255,255,255,0.9); font-size:0.85rem; font-weight:500; }
.trust-item i { color:var(--accent-light); font-size:1.1rem; }

/* SECTIONS */
.section { padding:80px 0; }
.section-alt { background:var(--bg-2); }
.container { max-width:1280px; margin:0 auto; padding:0 24px; }

/* CAR CARDS */
.cars-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:28px; }
.car-card { background:white; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow); transition:var(--transition); position:relative; }
.car-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.car-image-wrap { position:relative; overflow:hidden; height:200px; background:var(--bg-2); }
.car-image-wrap img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform 0.5s ease; }
.car-card:hover .car-image-wrap img { transform:scale(1.05); }
.car-type-badge { position:absolute; top:12px; left:12px; background:rgba(15,25,35,0.75); backdrop-filter:blur(8px); color:white; font-size:0.7rem; font-weight:600; text-transform:uppercase; letter-spacing:1px; padding:4px 12px; border-radius:100px; }
.car-featured-badge { position:absolute; top:12px; right:12px; background:var(--accent); color:white; font-size:0.7rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; padding:4px 12px; border-radius:100px; }
.car-body { padding:20px; }
.car-name { font-size:1.1rem; font-weight:700; color:var(--dark); margin-bottom:12px; font-family:var(--font-display); }
.car-specs { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:16px; }
.spec-item { display:flex; align-items:center; gap:5px; font-size:0.78rem; color:var(--text-light); font-weight:500; }
.spec-item i { color:var(--primary); font-size:0.9rem; }
.car-footer { display:flex; align-items:center; justify-content:space-between; padding-top:16px; border-top:1px solid var(--border); }
.car-price .per-day { font-size:0.7rem; color:var(--text-muted); }
.car-price .amount { font-size:1.5rem; font-weight:700; color:var(--primary); font-family:var(--font-display); }
.car-price .currency { font-size:0.85rem; vertical-align:top; margin-top:4px; display:inline-block; }

/* FILTER BAR */
.filter-bar { background:white; border-radius:var(--radius-lg); padding:24px; margin-bottom:32px; box-shadow:var(--shadow); display:flex; gap:16px; flex-wrap:wrap; align-items:flex-end; }
.filter-group { flex:1; min-width:150px; }
.filter-label { font-size:0.75rem; font-weight:600; text-transform:uppercase; letter-spacing:1px; color:var(--text-light); margin-bottom:6px; display:block; }
.filter-select { width:100%; padding:10px 14px; border:2px solid var(--border); border-radius:var(--radius); font-family:var(--font-body); font-size:0.9rem; color:#2c3e50; background:#fff; cursor:pointer; }
.filter-select:focus { outline:none; border-color:var(--primary); }

/* REVIEWS */
.reviews-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:24px; }
.review-card { background:white; border-radius:var(--radius-lg); padding:28px; box-shadow:var(--shadow); position:relative; transition:var(--transition); }
.review-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.review-card::before { content:'"'; position:absolute; top:16px; right:24px; font-size:5rem; font-family:var(--font-display); font-weight:900; color:var(--primary); opacity:0.08; line-height:1; }
.review-stars { display:flex; gap:3px; margin-bottom:14px; }
.review-stars i { color:var(--accent); font-size:1rem; }
.review-text { color:var(--text-light); font-size:0.92rem; line-height:1.7; margin-bottom:20px; font-style:italic; }
.reviewer { display:flex; align-items:center; gap:12px; }
.reviewer-avatar { width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,var(--primary),var(--accent)); display:flex; align-items:center; justify-content:center; color:white; font-weight:700; font-size:1.1rem; flex-shrink:0; }
.reviewer-name { font-weight:600; font-size:0.9rem; color:var(--dark); }
.reviewer-country { font-size:0.78rem; color:var(--text-muted); }

/* HOW IT WORKS */
.steps-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:32px; position:relative; }
.steps-grid::before { content:''; position:absolute; top:36px; left:12%; right:12%; height:2px; background:linear-gradient(90deg,var(--primary),var(--accent)); z-index:0; }
.step-card { text-align:center; position:relative; z-index:1; }
.step-icon { width:72px; height:72px; border-radius:20px; background:white; box-shadow:var(--shadow); display:flex; align-items:center; justify-content:center; font-size:1.8rem; color:var(--primary); margin:0 auto 20px; transition:var(--transition); }
.step-card:hover .step-icon { background:var(--primary); color:white; transform:scale(1.05); }
.step-number { position:absolute; top:-8px; right:calc(50% - 44px); background:var(--accent); color:white; width:24px; height:24px; border-radius:50%; font-size:0.75rem; font-weight:700; display:flex; align-items:center; justify-content:center; }
.step-title { font-weight:700; margin-bottom:8px; color:var(--dark); }
.step-desc { font-size:0.85rem; color:var(--text-light); }

/* CTA */
.cta-section { background:linear-gradient(135deg,var(--primary-dark) 0%,var(--dark) 100%); padding:80px 0; text-align:center; position:relative; overflow:hidden; }
.cta-section::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 0%,rgba(240,165,0,0.15) 0%,transparent 60%); }
.cta-section .container { position:relative; z-index:1; }
.cta-section h2 { color:white; margin-bottom:16px; }
.cta-section p { color:rgba(255,255,255,0.75); margin-bottom:36px; font-size:1.05rem; }
.cta-actions { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* CONTACT */
.contact-grid { display:grid; grid-template-columns:1fr 1.5fr; gap:48px; align-items:start; }
.contact-info-card { background:var(--primary-dark); border-radius:var(--radius-xl); padding:40px; color:white; }
.contact-info-title { font-size:1.5rem; margin-bottom:8px; color:white; }
.contact-info-sub { color:rgba(255,255,255,0.7); margin-bottom:36px; }
.contact-info-item { display:flex; align-items:flex-start; gap:16px; margin-bottom:28px; }
.contact-info-icon { width:48px; height:48px; border-radius:12px; background:rgba(255,255,255,0.1); display:flex; align-items:center; justify-content:center; font-size:1.3rem; flex-shrink:0; color:var(--accent-light); }
.contact-info-label { font-size:0.75rem; text-transform:uppercase; letter-spacing:1px; opacity:0.6; margin-bottom:4px; }
.contact-info-value { font-weight:500; }
.contact-info-value a { color:white; }
.contact-form-card { background:white; border-radius:var(--radius-xl); padding:40px; box-shadow:var(--shadow); }
.contact-form-card .form-control { padding:14px 16px; border-radius:var(--radius); }
.contact-form-card textarea.form-control { height:140px; resize:vertical; padding-left:16px; }

/* CAR DETAIL */
.car-gallery { display:grid; grid-template-columns:2fr 1fr; gap:12px; margin-bottom:32px; }
.gallery-main img { height:400px; object-fit:cover; border-radius:var(--radius-lg); width:100%; }
.gallery-thumbs { display:grid; gap:12px; }
.gallery-thumbs img { height:127px; object-fit:cover; border-radius:var(--radius); width:100%; cursor:pointer; transition:opacity 0.2s,transform 0.2s; }
.gallery-thumbs img:hover { opacity:0.8; transform:scale(1.02); }
.car-detail-grid { display:grid; grid-template-columns:1.6fr 1fr; gap:48px; align-items:start; }
.car-features-list { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0; }
.feature-chip { display:flex; align-items:center; gap:6px; background:var(--bg-2); border-radius:100px; padding:6px 16px; font-size:0.82rem; font-weight:500; color:var(--text); }
.feature-chip i { color:var(--primary); }

/* BOOKING SIDEBAR */
.booking-sidebar {
    background:white; border-radius:var(--radius-xl);
    padding:28px; box-shadow:var(--shadow-lg);
    position:sticky; top:100px;
    overflow:visible;
}
.booking-sidebar input,
.booking-sidebar select,
.booking-sidebar textarea {
    color:#2c3e50 !important;
    background:#fff !important;
    -webkit-text-fill-color:#2c3e50 !important;
}
.booking-sidebar button,
.booking-sidebar a.btn {
    position:relative;
    z-index:5;
    pointer-events:auto !important;
    cursor:pointer;
}
.booking-sidebar button[type="submit"]:hover {
    background:var(--primary-dark) !important;
    transform:translateY(-2px) !important;
}
.booking-sidebar a.btn-whatsapp:hover {
    background:#1da853 !important;
    transform:translateY(-2px) !important;
}

/* ADMIN */
.admin-layout { display:flex; min-height:100vh; }
.admin-sidebar { width:260px; background:var(--dark); color:white; position:fixed; top:0; left:0; height:100vh; overflow-y:auto; z-index:100; transition:var(--transition); display:flex; flex-direction:column; }
.admin-logo { padding:28px 24px; border-bottom:1px solid rgba(255,255,255,0.08); display:flex; align-items:center; gap:12px; }
.admin-logo .icon { font-size:1.5rem; color:var(--accent-light); }
.admin-logo .text { font-family:var(--font-display); font-size:1.1rem; font-weight:700; }
.admin-nav { padding:16px 0; flex:1; }
.admin-nav-label { padding:12px 24px 4px; font-size:0.65rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,0.3); }
.admin-nav-link { display:flex; align-items:center; gap:12px; padding:12px 24px; color:rgba(255,255,255,0.7); font-size:0.9rem; font-weight:500; transition:var(--transition); border-left:3px solid transparent; }
.admin-nav-link:hover,.admin-nav-link.active { color:white; background:rgba(255,255,255,0.06); border-left-color:var(--accent); }
.admin-nav-link i { font-size:1.1rem; width:20px; }
.admin-content { margin-left:260px; flex:1; display:flex; flex-direction:column; }
.admin-topbar { background:white; padding:16px 32px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:50; box-shadow:0 2px 8px rgba(0,0,0,0.06); }
.admin-page { padding:32px; background:var(--bg); min-height:calc(100vh - 70px); }
.page-title { font-size:1.5rem; font-weight:700; color:var(--dark); margin-bottom:4px; }
.page-subtitle { color:var(--text-muted); font-size:0.9rem; }

/* STAT CARDS */
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-bottom:32px; }
.stat-card { background:white; border-radius:var(--radius-lg); padding:24px; box-shadow:var(--shadow); display:flex; align-items:flex-start; gap:16px; transition:var(--transition); }
.stat-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg); }
.stat-icon { width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:1.4rem; flex-shrink:0; }
.stat-icon.green { background:rgba(26,107,74,0.1); color:var(--primary); }
.stat-icon.amber { background:rgba(240,165,0,0.1); color:var(--accent); }
.stat-icon.blue { background:rgba(59,130,246,0.1); color:#3b82f6; }
.stat-icon.red { background:rgba(239,68,68,0.1); color:#ef4444; }
.stat-value { font-size:1.8rem; font-weight:700; color:var(--dark); font-family:var(--font-display); }
.stat-label { font-size:0.82rem; color:var(--text-muted); margin-top:2px; }

/* TABLES */
.data-table-wrap { background:white; border-radius:var(--radius-lg); box-shadow:var(--shadow); overflow:hidden; }
.table-header { padding:20px 24px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; }
.table-title { font-weight:700; color:var(--dark); }
.data-table { width:100%; border-collapse:collapse; }
.data-table th { padding:12px 16px; text-align:left; font-size:0.75rem; font-weight:600; text-transform:uppercase; letter-spacing:1px; color:var(--text-muted); background:var(--bg); }
.data-table td { padding:14px 16px; font-size:0.9rem; border-top:1px solid var(--border); }
.data-table tr:hover td { background:var(--bg); }

/* STATUS BADGES */
.status-badge { display:inline-flex; align-items:center; gap:5px; padding:4px 12px; border-radius:100px; font-size:0.73rem; font-weight:600; text-transform:uppercase; letter-spacing:0.5px; }
.status-pending { background:rgba(245,158,11,0.1); color:#d97706; }
.status-confirmed { background:rgba(16,185,129,0.1); color:#059669; }
.status-active { background:rgba(59,130,246,0.1); color:#2563eb; }
.status-completed { background:rgba(107,114,128,0.1); color:#4b5563; }
.status-cancelled { background:rgba(239,68,68,0.1); color:#dc2626; }

/* CARDS & FORMS */
.card { background:white; border-radius:var(--radius-lg); padding:28px; box-shadow:var(--shadow); margin-bottom:24px; }
.card-title { font-size:1.1rem; font-weight:700; color:var(--dark); margin-bottom:20px; }
.admin-form .form-group { margin-bottom:20px; }
.admin-form .form-label { display:block; font-size:0.82rem; font-weight:600; color:var(--text-light); margin-bottom:6px; }
.admin-form .form-control { padding:11px 14px; font-size:0.92rem; border-radius:var(--radius); border:2px solid var(--border); }
.admin-form .form-control:focus { outline:none; border-color:var(--primary); }
.form-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-grid-3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; }

/* ALERTS */
.alert { padding:14px 18px; border-radius:var(--radius); margin-bottom:20px; display:flex; align-items:center; gap:10px; font-size:0.9rem; }
.alert-success { background:rgba(16,185,129,0.1); color:#065f46; border-left:4px solid #10b981; }
.alert-error { background:rgba(239,68,68,0.1); color:#991b1b; border-left:4px solid #ef4444; }
.alert-warning { background:rgba(245,158,11,0.1); color:#92400e; border-left:4px solid #f59e0b; }
.alert-info { background:rgba(59,130,246,0.1); color:#1e40af; border-left:4px solid #3b82f6; }

/* FOOTER */
.footer { background:var(--dark); color:rgba(255,255,255,0.8); }
.footer-top { padding:64px 0; }
.footer-grid { max-width:1280px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:1.5fr 1fr 1fr 1.3fr; gap:48px; }
.footer-logo { display:flex; align-items:center; gap:10px; font-size:1.1rem; font-weight:700; color:white; margin-bottom:16px; }
.footer-logo i { color:var(--accent-light); font-size:1.3rem; }
.footer-brand p { font-size:0.88rem; line-height:1.7; margin-bottom:20px; color:rgba(255,255,255,0.6); }
.footer-badges { display:flex; gap:8px; flex-wrap:wrap; }
.badge { display:inline-flex; align-items:center; gap:5px; background:rgba(255,255,255,0.08); border-radius:100px; padding:5px 12px; font-size:0.75rem; font-weight:600; color:rgba(255,255,255,0.8); }
.badge i { color:var(--accent-light); }
.footer-links h4 { color:white; font-size:0.9rem; font-weight:700; margin-bottom:20px; font-family:var(--font-body); }
.footer-links li { margin-bottom:10px; }
.footer-links a { color:rgba(255,255,255,0.6); font-size:0.87rem; transition:color 0.2s; }
.footer-links a:hover { color:var(--accent-light); }
.contact-item { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.contact-item i { color:var(--accent-light); font-size:1rem; width:18px; }
.contact-item a,.contact-item span { font-size:0.85rem; color:rgba(255,255,255,0.75); }
.footer-social { display:flex; gap:10px; margin-top:20px; }
.footer-social a { width:38px; height:38px; border-radius:10px; background:rgba(255,255,255,0.08); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.7); font-size:1rem; transition:var(--transition); }
.footer-social a:hover { background:var(--primary); color:white; }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.08); max-width:1280px; margin:0 auto; padding:20px 24px; display:flex; justify-content:space-between; align-items:center; font-size:0.82rem; color:rgba(255,255,255,0.4); }

/* FLOATING WHATSAPP */
@keyframes pulse-green { 0%,100% { box-shadow:0 6px 24px rgba(37,211,102,0.45); } 50% { box-shadow:0 6px 32px rgba(37,211,102,0.7); } }

.whatsapp-float-wrap { position:fixed; bottom:24px; right:24px; z-index:999; display:flex; flex-direction:column; align-items:flex-end; gap:10px; }
.whatsapp-toggle-btn { width:58px; height:58px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; font-size:1.6rem; color:white; box-shadow:0 6px 24px rgba(37,211,102,0.45); transition:var(--transition); animation:pulse-green 2s infinite; cursor:pointer; border:none; order:3; }
.whatsapp-toggle-btn:hover { transform:scale(1.1); background:#1da853; }
.whatsapp-option { display:flex; align-items:center; gap:10px; background:#25D366; color:white; padding:10px 18px 10px 14px; border-radius:100px; font-size:0.88rem; font-weight:600; box-shadow:0 4px 16px rgba(37,211,102,0.4); text-decoration:none; white-space:nowrap; transition:var(--transition); opacity:0; transform:translateY(10px) scale(0.9); pointer-events:none; }
.whatsapp-option:hover { background:#1da853; transform:translateY(-2px) scale(1.02) !important; }
.wa-label { font-size:0.82rem; }
#waOpt1 { order:1; }
#waOpt2 { order:2; }
.whatsapp-float-wrap.open .whatsapp-option { opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }
.whatsapp-float-wrap.open #waOpt1 { transition:var(--transition); transition-delay:0.05s; }
.whatsapp-float-wrap.open #waOpt2 { transition:var(--transition); transition-delay:0.1s; }
.whatsapp-float-wrap.open .whatsapp-toggle-btn { background:#e74c3c; animation:none; }
.whatsapp-toggle-btn .whatsapp-tooltip { position:absolute; right:68px; background:var(--dark); color:white; padding:8px 14px; border-radius:8px; font-size:0.8rem; font-weight:500; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity 0.2s; }
.whatsapp-toggle-btn:hover .whatsapp-tooltip { opacity:1; }

/* BACK TO TOP */
.back-to-top { position:fixed; bottom:96px; right:24px; z-index:998; width:44px; height:44px; border-radius:50%; background:white; color:var(--primary); box-shadow:var(--shadow); display:flex; align-items:center; justify-content:center; font-size:1.1rem; opacity:0; pointer-events:none; transition:var(--transition); }
.back-to-top.visible { opacity:1; pointer-events:auto; }
.back-to-top:hover { background:var(--primary); color:white; transform:translateY(-3px); }

/* MAP */
.map-embed { border-radius:var(--radius-lg); overflow:hidden; height:320px; }
.map-embed iframe { width:100%; height:100%; border:none; }

/* PAGE HERO */
.page-hero { background:linear-gradient(135deg,var(--primary-dark) 0%,var(--dark) 100%); padding:140px 0 60px; text-align:center; color:white; position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 0%,rgba(240,165,0,0.1) 0%,transparent 60%); }
.page-hero h1 { color:white; position:relative; }
.page-hero p { color:rgba(255,255,255,0.7); position:relative; max-width:500px; margin:12px auto 0; }

/* BREADCRUMB */
.breadcrumb { display:flex; align-items:center; gap:8px; font-size:0.82rem; color:rgba(255,255,255,0.6); justify-content:center; position:relative; margin-top:16px; }
.breadcrumb a { color:rgba(255,255,255,0.6); }
.breadcrumb a:hover { color:white; }
.breadcrumb span { color:var(--accent-light); }

/* PAGINATION */
.pagination { display:flex; gap:8px; justify-content:center; margin-top:40px; }
.page-btn { width:40px; height:40px; border-radius:10px; border:2px solid var(--border); background:white; display:flex; align-items:center; justify-content:center; font-size:0.9rem; color:var(--text); transition:var(--transition); cursor:pointer; }
.page-btn:hover,.page-btn.active { background:var(--primary); color:white; border-color:var(--primary); }

/* ADMIN LOGIN */
.login-page { min-height:100vh; background:var(--dark); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.login-page::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 30% 50%,rgba(26,107,74,0.2) 0%,transparent 60%); }
.login-card { background:white; border-radius:var(--radius-xl); padding:48px; width:100%; max-width:420px; position:relative; z-index:1; box-shadow:0 32px 80px rgba(0,0,0,0.5); }
.login-logo { text-align:center; margin-bottom:32px; }
.login-logo .icon-wrap { width:70px; height:70px; border-radius:20px; background:linear-gradient(135deg,var(--primary),var(--primary-light)); display:flex; align-items:center; justify-content:center; font-size:2rem; color:white; margin:0 auto 16px; }
.login-logo h2 { font-size:1.4rem; color:var(--dark); }
.login-logo p { color:var(--text-muted); font-size:0.85rem; }

/* IMAGE PLACEHOLDER */
.img-placeholder { background:linear-gradient(135deg,var(--bg-2) 0%,#dce8e1 100%); display:flex; align-items:center; justify-content:center; color:var(--primary); font-size:3rem; opacity:0.5; }

/* TRANSFER CARDS */
.transfer-card { position:relative; overflow:visible; }
.transfer-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.transfer-tab { transition:var(--transition); font-family:var(--font-body); }
.transfer-tab.active { background:var(--primary) !important; color:white !important; }

/* TOUR CARDS */
.tour-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); }

/* SMART WHATSAPP CHAT WIDGET */
.wa-chat-widget { position:fixed; bottom:100px; right:24px; z-index:998; width:320px; font-family:var(--font-body); }
.wa-chat-box { background:white; border-radius:20px; box-shadow:0 8px 40px rgba(0,0,0,0.18); overflow:hidden; transform:translateY(30px); opacity:0; pointer-events:none; transition:opacity 0.5s ease,transform 0.5s ease; }
.wa-chat-box.open { transform:translateY(0); opacity:1; pointer-events:auto; }
.wa-chat-header { background:#1a6b4a; padding:16px 18px; display:flex; align-items:center; gap:12px; }
.wa-avatar { width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,#25D366,#128C7E); display:flex; align-items:center; justify-content:center; font-size:1.3rem; color:white; flex-shrink:0; position:relative; }
.wa-avatar::after { content:''; position:absolute; bottom:2px; right:2px; width:10px; height:10px; background:#25D366; border-radius:50%; border:2px solid white; }
.wa-header-info { flex:1; }
.wa-header-name { color:white; font-weight:700; font-size:0.95rem; }
.wa-header-status { color:rgba(255,255,255,0.75); font-size:0.72rem; display:flex; align-items:center; gap:4px; }
.wa-header-status::before { content:''; width:6px; height:6px; background:#25D366; border-radius:50%; display:inline-block; animation:blink 1.5s infinite; }
@keyframes blink { 0%,100% { opacity:1; } 50% { opacity:0.3; } }
.wa-close-btn { background:rgba(255,255,255,0.15); border:none; color:white; width:28px; height:28px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:1rem; transition:background 0.2s; }
.wa-close-btn:hover { background:rgba(255,255,255,0.25); }
.wa-chat-body { background:#ECE5DD; padding:16px; min-height:160px; }
.wa-msg { margin-bottom:10px; display:flex; flex-direction:column; align-items:flex-start; }
.wa-msg-bubble { background:white; border-radius:0 12px 12px 12px; padding:10px 14px; font-size:0.85rem; line-height:1.5; color:#303030; max-width:85%; box-shadow:0 1px 2px rgba(0,0,0,0.1); }
.wa-msg-time { font-size:0.65rem; color:#999; margin-top:3px; margin-left:4px; }
.wa-typing { display:flex; align-items:center; gap:5px; padding:10px 14px; background:white; border-radius:0 12px 12px 12px; width:fit-content; box-shadow:0 1px 2px rgba(0,0,0,0.1); }
.wa-typing span { width:7px; height:7px; background:#999; border-radius:50%; animation:typing-bounce 1.2s infinite; }
.wa-typing span:nth-child(2) { animation-delay:0.2s; }
.wa-typing span:nth-child(3) { animation-delay:0.4s; }
@keyframes typing-bounce { 0%,60%,100% { transform:translateY(0); } 30% { transform:translateY(-6px); } }
.wa-chat-footer { background:#F0F0F0; padding:12px 14px; display:flex; flex-direction:column; gap:8px; }
.wa-quick-btns { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:4px; }
.wa-quick-btn { background:white; border:1.5px solid #25D366; color:#128C7E; border-radius:100px; padding:5px 12px; font-size:0.75rem; font-weight:600; cursor:pointer; transition:all 0.2s; font-family:var(--font-body); }
.wa-quick-btn:hover { background:#25D366; color:white; }
.wa-send-btn { background:#25D366; color:white; border:none; border-radius:12px; padding:12px; width:100%; font-size:0.9rem; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:8px; transition:background 0.2s; font-family:var(--font-body); }
.wa-send-btn:hover { background:#1da853; }
.wa-notif-badge { position:absolute; top:-4px; right:-4px; background:#ef4444; color:white; width:18px; height:18px; border-radius:50%; font-size:0.65rem; font-weight:700; display:flex; align-items:center; justify-content:center; border:2px solid white; }
@keyframes pop-in { from { transform:scale(0); } to { transform:scale(1); } }

/* IMAGE OPTIMIZATION */
.img-loading { position:relative; overflow:hidden; background:var(--bg-2); }
.img-loading::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0.6) 50%,transparent 100%); background-size:200% 100%; animation:shimmer 1.5s infinite; }
@keyframes shimmer { 0% { background-position:-200% 0; } 100% { background-position:200% 0; } }
.car-image-wrap img,.gallery-main img,.gallery-thumbs img { opacity:0; transition:opacity 0.4s ease; }
.car-image-wrap img.img-loaded,.gallery-main img.img-loaded,.gallery-thumbs img.img-loaded { opacity:1; }
.car-image-wrap img.img-cached,.gallery-main img.img-cached,.gallery-thumbs img.img-cached { opacity:1; transition:none; }

/* PWA */
@keyframes slideUp { from { transform:translateY(100px); opacity:0; } to { transform:translateY(0); opacity:1; } }

/* RESPONSIVE */
@media (max-width:1024px) {
    .hero-content { grid-template-columns:1fr; gap:40px; }
    .booking-widget { max-width:100%; }
    .steps-grid { grid-template-columns:repeat(2,1fr); }
    .steps-grid::before { display:none; }
    .stats-grid { grid-template-columns:repeat(2,1fr); }
    .footer-grid { grid-template-columns:1fr 1fr; gap:32px; }
    .contact-grid { grid-template-columns:1fr; }
    .car-detail-grid { grid-template-columns:1fr; }
    .car-gallery { grid-template-columns:1fr; }
    .gallery-main img { height:280px; }
}

@media (max-width:768px) {
    .nav-menu { position:fixed; top:0; right:-100%; height:100vh; width:280px; background:var(--dark); flex-direction:column; align-items:flex-start; gap:0; padding:80px 0 32px; transition:right 0.3s ease; box-shadow:-8px 0 32px rgba(0,0,0,0.3); }
    .nav-menu.open { right:0; }
    .nav-link { padding:14px 24px; width:100%; border-radius:0; font-size:1rem; }
    .btn-whatsapp-nav { margin:12px 24px; }
    .nav-toggle { display:flex; }
    .hero-content { padding:100px 24px 60px; }
    .hero-stats { gap:20px; }
    .trust-inner { gap:20px; }
    .steps-grid { grid-template-columns:1fr; }
    .stats-grid { grid-template-columns:repeat(2,1fr); }
    .footer-grid { grid-template-columns:1fr; gap:24px; }
    .footer-bottom { flex-direction:column; gap:8px; text-align:center; }
    .form-row { grid-template-columns:1fr; }
    .form-grid-2,.form-grid-3 { grid-template-columns:1fr; }
    .admin-sidebar { transform:translateX(-100%); }
    .admin-sidebar.open { transform:translateX(0); }
    .admin-content { margin-left:0; }
    .filter-bar { flex-direction:column; }
    .wa-chat-widget { right:12px; left:12px; width:auto; bottom:90px; }
    .transfer-card,.tour-card { margin-bottom:0; }
}

@media (max-width:480px) {
    .cars-grid { grid-template-columns:1fr; }
    .reviews-grid { grid-template-columns:1fr; }
    .hero-actions { flex-direction:column; }
    .cta-actions { flex-direction:column; align-items:center; }
    .stats-grid { grid-template-columns:1fr 1fr; }
}

/* ============================================
   SECTION HERO — Transfers & Tours
   Same style as page-hero on other pages
   ============================================ */

.section-hero {
    background: linear-gradient(135deg, var(--primary-dark) 0%, var(--dark) 100%);
    padding: 80px 0 60px;
    text-align: center;
    color: white;
    position: relative;
    overflow: hidden;
}

.section-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 0%, rgba(240, 165, 0, 0.1) 0%, transparent 60%);
    pointer-events: none;
}

.section-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    opacity: 0.03;
    background-image: repeating-linear-gradient(45deg, white 0, white 1px, transparent 0, transparent 50%);
    background-size: 20px 20px;
    pointer-events: none;
}

.section-hero-inner {
    position: relative;
    z-index: 2;
    max-width: 700px;
    margin: 0 auto;
    padding: 0 24px;
}

.section-hero-title {
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    font-weight: 900;
    color: white;
    margin-bottom: 12px;
    line-height: 1.2;
}

.section-hero-sub {
    color: rgba(255,255,255,0.75);
    font-size: 1rem;
    max-width: 520px;
    margin: 0 auto 20px;
    line-height: 1.7;
}

.section-hero-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 0.82rem;
    color: rgba(255,255,255,0.6);
    margin-top: 16px;
}

.section-hero-breadcrumb a {
    color: rgba(255,255,255,0.6);
    transition: color 0.2s;
}

.section-hero-breadcrumb a:hover {
    color: var(--accent-light);
}

.section-hero-breadcrumb span {
    color: var(--accent-light);
    font-weight: 600;
}

.section-hero-breadcrumb i {
    font-size: 1rem;
    opacity: 0.6;
}

/* ============================================
   LIGHTBOX — Image Zoom
   ============================================ */
.lightbox-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.92);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}
.lightbox-overlay.open {
    opacity: 1;
    pointer-events: auto;
}
.lightbox-img {
    max-width: 90vw;
    max-height: 85vh;
    object-fit: contain;
    border-radius: var(--radius-lg);
    box-shadow: 0 24px 80px rgba(0,0,0,0.5);
    transform: scale(0.9);
    transition: transform 0.3s ease;
}
.lightbox-overlay.open .lightbox-img {
    transform: scale(1);
}
.lightbox-close {
    position: absolute;
    top: 20px;
    right: 24px;
    background: rgba(255,255,255,0.15);
    border: none;
    color: white;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    font-size: 1.3rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}
.lightbox-close:hover { background: rgba(255,255,255,0.3); }
.lightbox-prev,
.lightbox-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255,255,255,0.15);
    border: none;
    color: white;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-size: 1.5rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}
.lightbox-prev { left: 20px; }
.lightbox-next { right: 20px; }
.lightbox-prev:hover,
.lightbox-next:hover { background: rgba(255,255,255,0.3); }
.lightbox-caption {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(255,255,255,0.7);
    font-size: 0.85rem;
    background: rgba(0,0,0,0.5);
    padding: 6px 16px;
    border-radius: 100px;
    white-space: nowrap;
}

/* Gallery images — show zoom cursor */
.gallery-main img,
.gallery-thumbs img,
.car-image-wrap img {
    cursor: zoom-in;
}

/* ============================================
   COOKIE CONSENT BANNER
   ============================================ */
.cookie-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--dark);
    color: rgba(255,255,255,0.9);
    padding: 16px 24px;
    z-index: 9998;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    box-shadow: 0 -4px 24px rgba(0,0,0,0.2);
    transform: translateY(100%);
    transition: transform 0.4s ease;
}
.cookie-banner.show {
    transform: translateY(0);
}
.cookie-banner p {
    font-size: 0.85rem;
    line-height: 1.6;
    flex: 1;
    min-width: 200px;
}
.cookie-banner a { color: var(--accent-light); text-decoration: underline; }
.cookie-buttons { display: flex; gap: 10px; flex-shrink: 0; }
.cookie-accept {
    background: var(--primary);
    color: white;
    border: none;
    padding: 10px 24px;
    border-radius: 100px;
    font-weight: 700;
    cursor: pointer;
    font-size: 0.85rem;
    transition: background 0.2s;
}
.cookie-accept:hover { background: var(--primary-light); }
.cookie-decline {
    background: transparent;
    color: rgba(255,255,255,0.6);
    border: 1px solid rgba(255,255,255,0.2);
    padding: 10px 20px;
    border-radius: 100px;
    font-weight: 500;
    cursor: pointer;
    font-size: 0.85rem;
}

/* ============================================
   FINAL FIXES — Back to top, Chat, PWA
   ============================================ */

/* Back to top — always on top na clickable */
.back-to-top {
    z-index: 9000 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}
.back-to-top.visible {
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* Chat widget buttons — always clickable */
.wa-chat-widget {
    pointer-events: none !important;
    z-index: 998 !important;
}
.wa-chat-box,
.wa-chat-box.open,
#waChatClose,
#waOpenChat,
.wa-quick-btn,
.wa-send-btn,
.wa-chat-header,
.wa-chat-footer {
    pointer-events: auto !important;
}
.wa-send-btn {
    cursor: pointer !important;
    z-index: 10 !important;
    position: relative !important;
}
.wa-quick-btn {
    cursor: pointer !important;
    z-index: 10 !important;
    position: relative !important;
}

/* WhatsApp float wrap */
.whatsapp-float-wrap {
    z-index: 9001 !important;
}
.whatsapp-toggle-btn {
    z-index: 9001 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}
.whatsapp-option {
    z-index: 9001 !important;
}
/* FAQ Sidebar — isionekane chini ya chat widget */
.faq-sidebar {
    position: relative;
    z-index: 999 !important;
}

.faq-sidebar a {
    position: relative;
    z-index: 1000 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}
/* ============================================
   CAR CARDS — Zuia chat widget kufunika
   ============================================ */
.cars-grid {
    position: relative;
    z-index: 999 !important;
}

.car-card {
    position: relative;
    z-index: 999 !important;
}

.car-card a,
.car-card button {
    position: relative;
    z-index: 1000 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}

.car-card .btn {
    position: relative;
    z-index: 1000 !important;
    pointer-events: auto !important;
}
/* Car listing page — buttons zifanye kazi */
.car-footer {
    position: relative;
    z-index: 999 !important;
}
.car-footer a {
    position: relative;
    z-index: 1000 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}
.car-body {
    position: relative;
    z-index: 2;
}
/* Homepage booking widget — date inputs fix */
.booking-widget input[type="date"] {
    padding-left: 42px !important;
    color: #2c3e50 !important;
    background: #fff !important;
    cursor: pointer !important;
    -webkit-appearance: auto !important;
    appearance: auto !important;
    pointer-events: auto !important;
    position: relative !important;
    z-index: 5 !important;
}

.booking-widget .form-icon {
    z-index: 4 !important;
    pointer-events: none !important;
}
/* ============================================
   BOOKING WIDGET — Complete Fix
   ============================================ */
.booking-widget {
    position: relative;
    z-index: 2;
}

.booking-widget .form-group {
    position: relative;
    margin-bottom: 14px;
}

/* Inputs zenye icon — padding ya kushoto */
.booking-widget .form-control {
    padding: 12px 14px 12px 42px !important;
    color: #2c3e50 !important;
    background: #fff !important;
    pointer-events: auto !important;
    position: relative !important;
    z-index: 5 !important;
    cursor: pointer !important;
}

/* Select bila icon — toa padding ya ziada */
.booking-widget select.form-control:not([id="home_location"]):not([id="home_type"]) {
    padding-left: 14px !important;
}

/* Car Type select haina icon */
.booking-widget select[name="type"] {
    padding-left: 42px !important;
}

/* Icons */
.booking-widget .form-icon {
    position: absolute;
    left: 14px;
    bottom: 13px;
    z-index: 6 !important;
    pointer-events: none !important;
    color: var(--primary);
    font-size: 1.1rem;
}

/* Submit button */
.booking-widget button[type="submit"] {
    width: 100% !important;
    justify-content: center !important;
    margin-top: 8px !important;
    position: relative !important;
    z-index: 10 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}
/* Date inputs — hakikisha zinabonyezeka bila interrupt */
#home_pickup,
#home_return {
    position: relative !important;
    z-index: 9999 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}

#home_pickup::-webkit-calendar-picker-indicator,
#home_return::-webkit-calendar-picker-indicator {
    position: relative !important;
    z-index: 9999 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}
/* Tours CTA box — ruhusu button kusogea bila kukatwa */
.cta-section,
section .container > div[style*="linear-gradient"] {
    overflow: visible !important;
}
/* ============================================
   MOBILE IMPROVEMENTS — Additions
   ============================================ */

/* Tours grid — 1 column mobile */
@media (max-width: 768px) {
    /* Tour cards */
    div[style*="minmax(300px,1fr)"] {
        grid-template-columns: 1fr !important;
    }
    div[style*="minmax(320px,1fr)"] {
        grid-template-columns: 1fr !important;
    }

    /* Transfer cards */
    div[style*="minmax(280px,1fr)"] {
        grid-template-columns: 1fr !important;
    }

    /* Why choose us — 2 columns */
    div[style*="minmax(240px,1fr)"],
    div[style*="minmax(220px,1fr)"] {
        grid-template-columns: repeat(2,1fr) !important;
    }

    /* Transfer type explained — 1 column */
    div[style*="grid-template-columns:repeat(3,1fr)"] {
        grid-template-columns: 1fr !important;
    }

    /* Custom tour CTA box */
    div[style*="background:linear-gradient(135deg,var(--primary-dark)"] {
        flex-direction: column !important;
        padding: 28px 20px !important;
        text-align: center !important;
    }

    /* Booking widget dates — stack */
    .booking-widget div[style*="grid-template-columns:1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }

    /* Transfer tabs — smaller */
    .transfer-tab {
        padding: 8px 14px !important;
        font-size: 0.82rem !important;
    }
    .group-btn {
        padding: 6px 12px !important;
        font-size: 0.78rem !important;
    }

    /* Hero actions — full width */
    .hero-actions {
        flex-direction: column !important;
    }
    .hero-actions .btn {
        width: 100% !important;
        justify-content: center !important;
    }

    /* CTA actions */
    .cta-actions {
        flex-direction: column !important;
        align-items: center !important;
    }
    .cta-actions .btn {
        width: 100% !important;
        max-width: 320px !important;
        justify-content: center !important;
    }

    /* Page hero */
    .page-hero {
        padding: 100px 16px 40px !important;
    }
    .page-hero h1 {
        font-size: 1.8rem !important;
    }

    /* Footer */
    .footer-grid {
        grid-template-columns: 1fr !important;
        text-align: center !important;
    }
    .footer-social {
        justify-content: center !important;
    }
    .contact-item {
        justify-content: center !important;
    }
}

/* Small mobile */
@media (max-width: 480px) {
    /* Why choose us — 1 column */
    div[style*="minmax(240px,1fr)"],
    div[style*="minmax(220px,1fr)"] {
        grid-template-columns: 1fr !important;
    }

    /* Transfer tabs wrap better */
    .transfer-tab {
        padding: 7px 10px !important;
        font-size: 0.76rem !important;
    }

    /* Tour image smaller */
    div[style*="height:220px"] {
        height: 170px !important;
    }
    div[style*="height:200px"] {
        height: 160px !important;
    }
}

/* Touch devices */
@media (hover: none) {
    .car-card:hover,
    .tour-card:hover,
    .transfer-card:hover,
    .review-card:hover {
        transform: none !important;
        box-shadow: var(--shadow) !important;
    }
    .btn {
        min-height: 44px !important;
    }
    .transfer-tab,
    .group-btn {
        min-height: 40px !important;
    }
}
/* ============================================
   TRANSFER SECTION — Mobile Fix
   ============================================ */

/* Tabs — always clickable */
.transfer-tab {
    position: relative !important;
    z-index: 100 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: rgba(26,107,74,0.2) !important;
    touch-action: manipulation !important;
}

/* Group buttons */
.group-btn {
    position: relative !important;
    z-index: 100 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: rgba(26,107,74,0.2) !important;
    touch-action: manipulation !important;
}

/* Transfer cards — no overflow hidden */
.transfer-card,
div[style*="border-radius:var(--radius-lg);padding:24px"],
div[style*="border-radius:var(--radius-lg);padding:20px"] {
    overflow: visible !important;
    position: relative !important;
    z-index: 10 !important;
}

/* Book This Transfer button — ALWAYS on top */
.transfer-card a[href*="wa.me"],
div[style*="border-radius:var(--radius-lg)"] a[href*="wa.me"] {
    position: relative !important;
    z-index: 9999 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    display: flex !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: rgba(37,211,102,0.3) !important;
}

/* Destinations grid container */
div[style*="minmax(280px,1fr)"],
div[style*="minmax(300px,1fr)"] {
    position: relative !important;
    z-index: 10 !important;
}

/* Transfer section container */
#transfers,
#transfers .container {
    position: relative !important;
    z-index: 10 !important;
    overflow: visible !important;
}

/* Hidden price span — no interference */
span[data-id] {
    display: none !important;
    pointer-events: none !important;
    z-index: -1 !important;
}

/* Mobile specific */
@media (max-width: 768px) {
    /* Tabs wrap nicely */
    div[style*="display:flex;justify-content:center;gap:8px;margin-bottom:28px"] {
        gap: 6px !important;
        padding: 0 8px !important;
    }

    .transfer-tab {
        flex: 1 !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 10px 8px !important;
        font-size: 0.78rem !important;
        min-height: 44px !important;
    }

    /* Group buttons */
    #groupSizeWrap {
        gap: 6px !important;
        padding: 0 8px !important;
    }

    .group-btn {
        flex: 1 !important;
        text-align: center !important;
        justify-content: center !important;
        padding: 8px 4px !important;
        font-size: 0.72rem !important;
        min-height: 40px !important;
        white-space: nowrap !important;
    }

    /* Book button — full tap area */
    .transfer-card a[href*="wa.me"],
    div[style*="border-radius:var(--radius-lg)"] a[href*="wa.me"] {
        min-height: 48px !important;
        font-size: 0.88rem !important;
        padding: 12px 16px !important;
    }
}

/* Touch screens — fix tap */
@media (hover: none) and (pointer: coarse) {
    .transfer-tab:active {
        opacity: 0.85 !important;
        transform: scale(0.97) !important;
    }
    .group-btn:active {
        opacity: 0.85 !important;
        transform: scale(0.97) !important;
    }
    .transfer-card a[href*="wa.me"]:active {
        opacity: 0.85 !important;
        transform: scale(0.97) !important;
    }
}
/* Book button hover — desktop only */
@media (hover: hover) {
    a[id^="bookBtn"]:hover {
        background: #1da853 !important;
        transform: translateY(-2px) !important;
    }
}
/* ============================================
   PAGE HERO — Force dark green background
   ============================================ */
.page-hero {
    background: linear-gradient(135deg, var(--primary-dark) 0%, var(--dark) 100%) !important;
    padding: 140px 0 60px !important;
    text-align: center !important;
    color: white !important;
    position: relative !important;
    overflow: hidden !important;
}

.page-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 0%, rgba(240,165,0,0.1) 0%, transparent 60%);
    pointer-events: none;
}

.page-hero h1 {
    color: white !important;
    position: relative;
    z-index: 1;
}

.page-hero p {
    color: rgba(255,255,255,0.75) !important;
    position: relative;
    z-index: 1;
    max-width: 560px;
    margin: 12px auto 0;
}

.page-hero .container {
    position: relative;
    z-index: 1;
}

.page-hero .section-label {
    position: relative;
    z-index: 1;
}

.page-hero .breadcrumb {
    position: relative;
    z-index: 1;
}
/* ============================================
   PAGE HERO FIX — Green background zote
   ============================================ */
.page-hero {
    background: linear-gradient(135deg, var(--primary-dark) 0%, var(--dark) 100%) !important;
    padding: 140px 0 60px !important;
    text-align: center !important;
    color: white !important;
    position: relative !important;
    overflow: hidden !important;
}
.page-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 0%, rgba(240,165,0,0.1) 0%, transparent 60%);
    pointer-events: none;
}
.page-hero h1,
.page-hero p,
.page-hero .container,
.page-hero .section-label,
.page-hero .breadcrumb {
    position: relative;
    z-index: 1;
}
.page-hero h1 { color: white !important; }
.page-hero p { 
    color: rgba(255,255,255,0.75) !important;
    max-width: 560px;
    margin: 12px auto 0;
}

/* ============================================
   FAQ SIDEBAR — Mobile fix
   ============================================ */
@media (max-width: 768px) {
    .faq-sidebar {
        display: none !important;
    }
    /* FAQ grid — 1 column */
    div[style*="grid-template-columns:1fr 320px"] {
        grid-template-columns: 1fr !important;
    }
}

/* FAQ sidebar z-index — isifunika menu */
.faq-sidebar {
    z-index: 10 !important;
}
/* ============================================
   ADMIN FILE INPUT — Fix
   ============================================ */
.admin-form input[type="file"].form-control,
.admin-form input[type="file"] {
    padding: 8px 12px !important;
    padding-left: 12px !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 999 !important;
    pointer-events: auto !important;
    background: white !important;
    color: var(--text) !important;
    -webkit-text-fill-color: var(--text) !important;
    height: auto !important;
}

/* Zuia form-control padding kuathiri file input */
.admin-form .card input[type="file"] {
    padding-left: 12px !important;
}