
:root {
    --primary: #01323b;
    --secondary: #FFFFFF;
    --accent: #ffdf46;
    --light-gold: #F5F2E8;
    --dark-gold: #B8941F;
    --gray: #0f3940;
    --light-gray: #e6f4f4;
    --whatsapp: #25D366;
    --call: #1E88E5;
    --blue: #1E88E5;
    --green-alt: #2E7D32;
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Tajawal', sans-serif;
}
html { scroll-behavior: smooth; }
body {
    background-color: var(--secondary);
    color: var(--primary);
    line-height: 1.6;
    overflow-x: hidden;
}
h1, h2, h3, h4 { font-weight: 700; margin-bottom: 1rem; }
h1 { font-size: 3rem; }
h2 {
    font-size: 2.5rem;
    text-align: center;
    margin-bottom: 3rem;
    position: relative;
    color: var(--primary);
}
h2:after {
    content: '';
    position: absolute;
    bottom: -15px;
    right: 50%;
    transform: translateX(50%);
    width: 100px;
    height: 4px;
    background: var(--accent);
    border-radius: 2px;
}
p { margin-bottom: 1rem; font-size: 1.1rem; }
.container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}
section { padding: 100px 0; }
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 32px;
    border-radius: 50px;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    margin: 5px;
    font-size: 1.05rem;
    position: relative;
    overflow: hidden;
    z-index: 1;
    border: none;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
    min-width: 170px;
    text-align: center;
}
.btn:before {
    content: '';
    position: absolute;
    top: 0; right: 0;
    width: 0%; height: 100%;
    background: rgba(255, 255, 255, 0.2);
    transition: all 0.3s ease;
    z-index: -1;
}
.btn:hover:before { width: 100%; }
.btn:hover {
    transform: translateY(-6px) scale(1.03);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3);
}
.btn-book { background: var(--accent); color: var(--primary); }
.btn-call { background: var(--call); color: var(--secondary); }
.btn-whatsapp { background: var(--whatsapp); color: var(--secondary); }
.btn-blue { background: var(--blue); color: var(--secondary); }
.btn-green-alt { background: var(--green-alt); color: var(--secondary); }
.btn-whatsapp-dark {
    background: var(--whatsapp);
    color: var(--secondary);
    border: none;
    padding: 12px 25px;
    font-size: 1rem;
}
.btn-dark {
    background: var(--primary);
    color: var(--secondary);
    border: none;
    padding: 12px 25px;
    font-size: 1rem;
}

/* Header */
header {
    background: transparent;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 1000;
    height: 70px;
    display: flex;
    align-items: center;
    transition: all 0.3s ease;
}
header.scrolled {
    background: rgba(0, 60, 70, 0.95);
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(10px);
}
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.logo-container { display: flex; align-items: center; }
.logo {
    display: flex;
    align-items: center;
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--secondary);
    text-decoration: none;
}
.logo-icon {
    width: 48px;
    height: 48px;
    background: var(--accent);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 10px;
    position: relative;
}
.crescent-icon {
    font-size: 1.8rem;
    color: var(--primary);
}
.logo-text { display: flex; flex-direction: column; }
.logo-main { font-size: 1.2rem; line-height: 1; font-weight: 800; }
.logo-sub { font-size: 0.7rem; color: #d0f2f2; font-weight: 600; }
.nav-links {
    display: flex;
    list-style: none;
    align-items: center;
}
.nav-links li { margin-left: 25px; }
.nav-links a {
    text-decoration: none;
    color: var(--secondary);
    font-weight: 600;
    transition: color 0.3s ease;
    position: relative;
    padding: 5px 0;
    font-size: 1rem;
}
.nav-links a:after {
    content: '';
    position: absolute;
    bottom: 0; right: 0;
    width: 0; height: 2px;
    background: var(--accent);
    transition: width 0.3s ease;
}
.nav-links a:hover:after { width: 100%; }
.nav-links a:hover { color: var(--accent); }
.nav-buttons { display: flex; gap: 15px; margin-right: 20px; }
.nav-btn {
    padding: 8px 16px;
    border-radius: 30px;
    font-weight: 600;
    text-decoration: none;
    font-size: 0.8rem;
    transition: all 0.3s ease;
}
.nav-call {
    background: var(--accent);
    color: var(--primary);
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
}
.nav-whatsapp {
    background: var(--whatsapp);
    color: var(--secondary);
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.3);
}
.nav-btn:hover { transform: translateY(-3px); }
.hamburger { display: none; cursor: pointer; }


/* Packages */
.packages { background: var(--light-gray); position: relative; overflow: hidden; }
.packages-bg {
    position: absolute; top:0; right:0; width:100%; height:100%;
    background: radial-gradient(circle at 30% 70%, rgba(0,80,90,0.08) 0%, transparent 50%),
                radial-gradient(circle at 70% 20%, rgba(0,80,90,0.08) 0%, transparent 50%);
}
.packages-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 30px;
    position: relative; z-index: 1;
}
.package-card {
    background: var(--secondary);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0,0,0,0.1);
    transition: all 0.5s ease;
    position: relative;
}
.package-card:hover {
    transform: translateY(-15px);
    box-shadow: 0 25px 60px rgba(0,0,0,0.15);
}
.package-card:before {
    content:'';
    position:absolute; top:0; right:0;
    width:100%; height:5px;
    background: var(--accent);
    transform: scaleX(0);
    transform-origin:left;
    transition: transform 0.5s ease;
}
.package-card:hover:before { transform: scaleX(1); }
.package-header {
    padding:25px;
    background: var(--primary);
    color: var(--secondary);
    text-align:center;
    position:relative;
}
.package-icon { font-size:2.5rem; margin-bottom:15px; color:var(--accent); }
.package-body { padding:25px; }
.package-features {
    list-style:none;
    margin-bottom:25px;
}
.package-features li {
    padding:10px 0;
    border-bottom:1px solid var(--light-gray);
    position:relative;
    padding-right:40px;
    font-size:1rem;
}
.package-features li:before{
    content:'✓';
    position:absolute; right:0;
    color:var(--accent);
    font-weight:bold;
    width:30px; height:30px;
    background:rgba(255,223,70,0.18);
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
}
.package-btns{display:flex;gap:10px;justify-content:space-between;}
.package-btns .btn{flex:1;margin:0;}

/* Why us */
.why-us{position:relative;overflow:hidden;}
.why-us-bg{
    position:absolute;top:0;right:0;width:100%;height:100%;
    background:radial-gradient(circle at 20% 80%, rgba(0,80,90,0.06) 0%, transparent 50%),
               radial-gradient(circle at 80% 20%, rgba(0,80,90,0.06) 0%, transparent 50%);
}
.features-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px,1fr));
    gap:30px;
    position:relative;z-index:1;
}
.feature-box{
    background:var(--secondary);
    padding:40px 30px;
    border-radius:15px;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,0.05);
    transition:all 0.3s ease;
}
.feature-box:hover{
    transform:translateY(-10px);
    box-shadow:0 15px 40px rgba(0,0,0,0.1);
}
.feature-icon{
    font-size:3rem;
    color:var(--accent);
    margin-bottom:25px;
    position:relative;
    display:inline-block;
}
.feature-icon:after{
    content:'';
    position:absolute;
    top:50%; right:50%;
    transform:translate(50%, -50%);
    width:70px;height:70px;
    background:rgba(255,223,70,0.18);
    border-radius:50%;
    z-index:-1;
}

/* Hotels */
.hotels{background:var(--secondary);position:relative;overflow:hidden;}
.hotels-bg{
    position:absolute;top:0;right:0;width:100%;height:100%;
    background:radial-gradient(circle at 10% 20%, rgba(0,80,90,0.05) 0%, transparent 50%),
               radial-gradient(circle at 90% 80%, rgba(0,80,90,0.05) 0%, transparent 50%);
}
.hotels-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(350px,1fr));
    gap:30px;
    position:relative;z-index:1;
}
.hotel-card{
    background:var(--secondary);
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 15px 40px rgba(0,0,0,0.1);
    transition:all 0.5s ease;
}
.hotel-card:hover{
    transform:translateY(-15px);
    box-shadow:0 25px 60px rgba(0,0,0,0.15);
}
.hotel-image{height:250px;position:relative;overflow:hidden;}
.hotel-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease;}
.hotel-card:hover .hotel-image img{transform:scale(1.1);}
.hotel-badge{
    position:absolute;top:20px;left:20px;
    background:var(--accent);color:var(--primary);
    padding:8px 20px;border-radius:30px;font-weight:700;font-size:0.9rem;
}
.hotel-content{padding:30px;}
.hotel-header{margin-bottom:20px;}
.hotel-header h3{font-size:1.8rem;margin-bottom:10px;color:var(--primary);}
.hotel-location{display:flex;align-items:center;color:var(--gray);margin-bottom:5px;font-size:1rem;}
.hotel-location i{margin-left:8px;color:var(--accent);}
.hotel-distance{display:flex;align-items:center;color:var(--accent);font-weight:600;margin-bottom:20px;}
.hotel-distance i{margin-left:8px;}
.hotel-features{list-style:none;margin-bottom:25px;}
.hotel-features li{
    padding:10px 0;border-bottom:1px solid var(--light-gray);
    font-size:1rem;display:flex;align-items:center;
}
.hotel-features li i{margin-left:10px;color:var(--accent);width:25px;text-align:center;}
.hotel-btns{display:flex;gap:10px;}
.hotel-btns .btn{flex:1;margin:0;padding:12px 25px;font-size:1rem;}

/* Buses / Services */
.buses{background:var(--light-gray);position:relative;overflow:hidden;}
.buses-bg{
    position:absolute;top:0;right:0;width:100%;height:100%;
    background:radial-gradient(circle at 10% 10%, rgba(0,80,90,0.1) 0%, transparent 50%),
               radial-gradient(circle at 90% 90%, rgba(0,80,90,0.1) 0%, transparent 50%);
}
.buses-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(300px,1fr));
    gap:30px;
    position:relative;z-index:1;
}
.bus-card{
    background:var(--secondary);
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 15px 40px rgba(0,0,0,0.1);
    transition:all 0.5s ease;
}
.bus-card:hover{
    transform:translateY(-15px);
    box-shadow:0 25px 60px rgba(0,0,0,0.15);
}
.bus-image-container{
    height:200px;
    position:relative;overflow:hidden;
    display:flex;align-items:center;justify-content:center;
}
.bus-badge{
    position:absolute;top:20px;left:20px;
    background:var(--accent);color:var(--primary);
    padding:8px 15px;border-radius:30px;font-weight:700;font-size:0.9rem;
    z-index:2;
}
.bus-content{padding:25px;}
.bus-content h3{font-size:1.6rem;margin-bottom:20px;position:relative;display:inline-block;color:var(--primary);}
.bus-content h3:after{
    content:'';position:absolute;bottom:-10px;right:0;
    width:50px;height:3px;background:var(--accent);border-radius:2px;
}
.bus-features{list-style:none;margin-bottom:25px;}
.bus-features li{
    padding:8px 0;border-bottom:1px solid var(--light-gray);
    position:relative;padding-right:35px;font-size:1rem;
}
.bus-features li:before{
    content:'✓';position:absolute;right:0;
    color:var(--accent);font-weight:bold;width:25px;height:25px;
    background:rgba(255,223,70,0.18);border-radius:50%;
    display:flex;align-items:center;justify-content:center;
}
.bus-btns{display:flex;flex-wrap:wrap;gap:10px;}

/* Gallery */
.gallery {
    background: var(--secondary);
    position: relative;
    overflow: hidden;
}
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-top: 30px;
}
.gallery-item {
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    aspect-ratio: 4/3;
}
.gallery-item:hover {
    transform: scale(1.03);
    box-shadow: 0 15px 35px rgba(0,0,0,0.2);
}
.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Footer */
footer{
    background:var(--primary);
    color:var(--secondary);
    padding:80px 0 30px;
    position:relative;overflow:hidden;
}
.footer-bg{
    position:absolute;top:0;right:0;width:100%;height:100%;
}
.footer-content{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(250px,1fr));
    gap:40px;
    margin-bottom:50px;
    position:relative;z-index:1;
}
.footer-about{display:flex;flex-direction:column;}
.footer-logo{display:flex;align-items:center;margin-bottom:20px;}
.footer-logo-icon{
    width:50px;height:50px;background:var(--accent);
    border-radius:50%;display:flex;align-items:center;justify-content:center;
    margin-left:10px;
}
.footer-crescent{font-size:1.8rem;color:var(--primary);}
.footer-logo-text{display:flex;flex-direction:column;}
.footer-logo-main{font-size:1.3rem;font-weight:800;line-height:1;}
.footer-logo-sub{font-size:0.7rem;color:rgba(255,255,255,0.7);font-weight:600;}
.footer-about p{margin-bottom:20px;color:rgba(255,255,255,0.8);}
.contact-info p{
    display:flex;align-items:center;margin-bottom:10px;
    color:rgba(255,255,255,0.8);
}
.contact-info i{margin-left:10px;color:var(--accent);}
.social-links{display:flex;gap:15px;}
.social-links a{
    display:inline-flex;align-items:center;justify-content:center;
    width:45px;height:45px;background:rgba(255,255,255,0.1);
    border-radius:50%;color:var(--secondary);transition:all 0.3s ease;
}
.social-links a:hover{background:var(--accent);color:var(--primary);transform:translateY(-5px);}
.footer-links h4{
    font-size:1.3rem;margin-bottom:25px;position:relative;padding-bottom:10px;
}
.footer-links h4:after{
    content:'';position:absolute;bottom:0;right:0;
    width:50px;height:3px;background:var(--accent);border-radius:2px;
}
.footer-links ul{list-style:none;}
.footer-links li{margin-bottom:12px;}
.footer-links a{
    color:rgba(255,255,255,0.7);
    text-decoration:none;transition:all 0.3s ease;
    display:flex;align-items:center;
}
.footer-links a:before{
    content:'›';margin-left:8px;color:var(--accent);
    transition:transform 0.3s ease;
}
.footer-links a:hover{color:var(--accent);transform:translateX(-5px);}
.footer-links a:hover:before{transform:translateX(-3px);}
.copyright{
    text-align:center;padding-top:30px;
    border-top:1px solid rgba(255,255,255,0.1);
    font-size:0.9rem;color:rgba(255,255,255,0.6);
}

/* Floating Buttons */
.floating-btns{
    position:fixed;
    bottom:30px;left:30px;
    z-index:1000;
    display:flex;flex-direction:column;gap:15px;
}
.floating-btn{
    width:60px;height:60px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    color:var(--secondary);font-size:1.5rem;
    box-shadow:0 5px 20px rgba(0,0,0,0.2);
    transition:all 0.3s ease;
    text-decoration:none;
}
.floating-btn:hover{transform:scale(1.1);}
.call-btn{background:var(--call);}
.whatsapp-btn{background:var(--whatsapp);}

/* Mobile menu */
.mobile-menu{
    position:fixed;top:70px;right:-100%;
    width:80%;height:calc(100vh - 70px);
    background:rgba(0,60,70,0.96);
    transition:right 0.5s ease;
    box-shadow:-5px 0 15px rgba(0,0,0,0.3);
    z-index:999;
    display:flex;flex-direction:column;
    padding:30px;overflow-y:auto;
}
.mobile-menu.active{right:0;}
.mobile-nav-links{list-style:none;margin-bottom:30px;}
.mobile-nav-links li{margin-bottom:20px;}
.mobile-nav-links a{
    text-decoration:none;color:#eaf6f6;
    font-weight:600;font-size:1.2rem;
    display:block;padding:10px 0;
    border-bottom:1px solid rgba(255,255,255,0.12);
}
.mobile-nav-buttons{display:flex;flex-direction:column;gap:15px;}

/* Responsive */
@media (max-width: 992px) {
    .nav-links, .nav-buttons { display:none; }
    .hamburger { display:block; }
}
@media (max-width: 768px) {
    .navbar { padding:0; }
    .hamburger{
        display:flex;flex-direction:column;
        width:30px;height:25px;
        justify-content:space-between;
    }
    .hamburger span{
        display:block;width:100%;height:3px;
        background:var(--secondary);
        border-radius:3px;transition:all 0.3s ease;
    }
    .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(7px,-6px);
    }
    .hero{
        padding:170px 0 100px;
        background-position:center;
    }
    .hero-main-title{font-size:2.1rem;}
    .hero-subline{font-size:1rem;}
    .hero-bullet-line{font-size:0.95rem;}
    .hero-buttons-grid .btn{
        min-width:140px;
        padding:10px 20px;
        font-size:0.9rem;
    }
    .floating-btns{left:20px;bottom:20px;}
    .floating-btn{width:55px;height:55px;font-size:1.3rem;}
}
@media (max-width: 576px) {
    .hero{
        padding:150px 0 80px;
    }
    .hero-main-title{font-size:1.9rem;}
    .hero-logo-circle{width:95px;height:95px;}
    section{padding:70px 0;}
    .packages-grid,
    .hotels-grid,
    .buses-grid{grid-template-columns:1fr;}
    .package-btns,.hotel-btns{flex-direction:column;}
    .gallery-grid {
        grid-template-columns: 1fr 1fr;
    }
}
    .nav-links a.active,
.mobile-nav-links a.active { color: var(--accent); }
.page-hero {
    position: relative;
    padding: 150px 0 80px;
    color: var(--secondary);
    background-image: linear-gradient(rgba(0, 70, 80, 0.9), rgba(0, 60, 70, 0.92)), url('https://images.unsplash.com/photo-1591604129939-f1efa4d9f7fa?auto=format&fit=crop&w=1800&q=80');
    background-size: cover;
    background-position: center;
    text-align: center;
}
.page-hero h1 { color: var(--accent); font-size: 2.8rem; margin-bottom: 12px; }
.page-hero p { max-width: 760px; margin: 0 auto; color: #eaf6f6; }
.content-band { padding: 80px 0; }
.content-band.alt { background: var(--light-gray); }
.intro-grid, .stats-grid, .faq-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px;
}
.info-panel, .faq-item, .stat-item {
    background: var(--secondary);
    border-radius: 14px;
    padding: 28px;
    box-shadow: 0 12px 32px rgba(0,0,0,0.08);
}
.info-panel i, .stat-item i { color: var(--accent); font-size: 2rem; margin-bottom: 14px; }
.stat-item { text-align: center; }
.stat-number { display: block; font-size: 2rem; font-weight: 800; color: var(--primary); }
.faq-item h3 { display: flex; gap: 10px; align-items: center; color: var(--primary); }
.faq-item h3 i { color: var(--accent); }
.cta-band { background: var(--primary); color: var(--secondary); text-align: center; padding: 70px 0; }
.cta-band h2 { color: var(--secondary); }
.cta-band p { color: #eaf6f6; max-width: 720px; margin: 0 auto 24px; }
    
/* ================= رحلات العمرة من الرياض ================= */
.skip-link{position:absolute;top:-60px;right:16px;background:var(--accent);color:var(--primary);padding:10px 18px;border-radius:0 0 12px 12px;font-weight:800;z-index:3000;text-decoration:none;transition:top .2s}
.skip-link:focus{top:0}
.btn i{margin-left:8px}
.nav-btn i{margin-left:4px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
img{max-width:100%}
.muted{color:#5b7378}
.section-alt{background:var(--light-gray)}

/* Header */
.nav-links li{margin-left:22px}
.nav-links a.active{color:var(--accent)}
.hamburger{display:none;background:none;border:0;padding:0;cursor:pointer;width:30px;height:24px;flex-direction:column;justify-content:space-between}
.hamburger span{display:block;width:100%;height:3px;background:var(--secondary);border-radius:3px;transition:all .3s ease}
.hamburger.active span:nth-child(1){transform:translateY(10.5px) rotate(45deg)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:translateY(-10.5px) rotate(-45deg)}
.mobile-nav-buttons .btn{margin:0}
.mobile-menu{z-index:1001}

/* Hero */
.hero{position:relative;min-height:100vh;padding:130px 0 80px;display:flex;align-items:center;color:var(--secondary);
  background-image:linear-gradient(270deg,rgba(1,50,59,.97) 0%,rgba(1,50,59,.88) 50%,rgba(1,50,59,.62) 100%),url('https://images.unsplash.com/photo-1627728734379-a5f8c099763e?auto=format&fit=crop&w=2000&q=75');
  background-size:cover;background-position:center}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:48px;align-items:center;position:relative;z-index:2}
.hero-kicker{display:inline-flex;align-items:center;gap:8px;background:rgba(255,223,70,.14);border:1px solid rgba(255,223,70,.45);color:var(--accent);padding:7px 16px;border-radius:999px;font-weight:700;font-size:.95rem;margin-bottom:20px}
.hero-title{font-size:3.4rem;line-height:1.3;font-weight:800;color:var(--secondary);margin-bottom:18px}
.hero-title .hl{color:var(--accent)}
.hero-lead{font-size:1.15rem;color:#dcefef;max-width:600px;margin-bottom:28px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:34px}
.hero-actions .btn{margin:0;min-width:0;padding:14px 26px;font-size:1rem}
.btn-outline{background:rgba(255,255,255,.06);color:var(--secondary);border:2px solid rgba(255,255,255,.45);box-shadow:none}
.btn-outline:hover{border-color:var(--accent);color:var(--accent)}
.hero-stats{display:flex;flex-wrap:wrap;gap:14px}
.hero-stat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:12px 18px;min-width:130px}
.hero-stat strong{display:block;font-size:1.7rem;line-height:1.2;color:var(--accent);font-weight:800}
.hero-stat span{font-size:.88rem;color:#cfe7e7}
.hero-card{background:var(--secondary);color:var(--primary);border-radius:22px;padding:26px;box-shadow:0 30px 70px rgba(0,0,0,.35)}
.hero-card-badge{display:flex;align-items:center;gap:8px;background:var(--light-gold);border:1px dashed var(--dark-gold);color:var(--primary);font-weight:700;padding:9px 14px;border-radius:12px;font-size:.9rem;margin-bottom:18px}
.hero-card-badge i{color:var(--dark-gold)}
.hero-card h2{font-size:1.45rem;text-align:right;margin-bottom:2px}
.hero-card h2:after{display:none}
.hero-card .muted{font-size:.95rem;margin-bottom:16px}
.pick-list{list-style:none;display:grid;gap:10px;margin-bottom:16px}
.pick-list a{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid #d6e9e9;border-radius:14px;text-decoration:none;color:var(--primary);transition:all .25s ease}
.pick-list a:hover{border-color:var(--accent);background:#fffbe3;transform:translateX(-4px)}
.pick-icon{flex:0 0 44px;height:44px;border-radius:12px;background:var(--light-gray);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--primary)}
.pick-list a.vip .pick-icon{background:var(--primary);color:var(--accent)}
.pick-text{flex:1;min-width:0}
.pick-text strong{display:block;font-size:1.02rem}
.pick-text small{color:#5b7378;font-size:.85rem}
.pick-arrow{color:var(--dark-gold)}
.hero-card .btn{width:100%;margin:0}
.card-note{font-size:.85rem;color:#5b7378;text-align:center;margin:12px 0 0}
.card-note i{color:var(--green-alt);margin-left:4px}

/* Trust strip */
.trust-strip{background:#022a31;padding:18px 0}
.trust-strip ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 30px;color:#eaf6f6;font-weight:600;font-size:.98rem}
.trust-strip i{color:var(--accent);margin-left:8px}

/* Section heads */
.section-head{text-align:center;max-width:740px;margin:0 auto 50px}
.eyebrow{display:inline-block;color:var(--dark-gold);font-weight:800;font-size:1rem;margin-bottom:6px}
.section-head h2{margin-bottom:2.2rem}
.section-head p{color:#3d5c63;margin:0}
.section-link{text-align:center;margin-top:36px}

/* Packages */
.pkg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:28px}
.pkg-card{background:var(--secondary);border-radius:22px;overflow:hidden;box-shadow:0 15px 40px rgba(0,0,0,.08);display:flex;flex-direction:column;position:relative;border:2px solid transparent;transition:transform .4s ease,box-shadow .4s ease}
.pkg-card:hover{transform:translateY(-10px);box-shadow:0 25px 55px rgba(0,0,0,.14)}
.pkg-card.featured{border-color:var(--accent)}
.pkg-ribbon{position:absolute;top:16px;right:16px;z-index:2;background:var(--accent);color:var(--primary);font-weight:800;font-size:.85rem;padding:6px 14px;border-radius:999px;box-shadow:0 6px 16px rgba(0,0,0,.2)}
.pkg-ribbon.vip{background:linear-gradient(135deg,#e6c25a,#b8941f);color:#fff}
.pkg-ribbon.alt{background:var(--secondary);color:var(--primary)}
.pkg-media{height:200px;overflow:hidden;background:var(--primary)}
.pkg-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.pkg-card:hover .pkg-media img{transform:scale(1.07)}
.pkg-body{padding:24px;display:flex;flex-direction:column;flex:1}
.pkg-body h3{font-size:1.5rem;margin-bottom:14px}
.pkg-meta{list-style:none;display:grid;gap:9px;margin-bottom:14px}
.pkg-meta li{display:flex;align-items:center;gap:10px;font-size:1rem;color:#2c4a51}
.pkg-meta i{width:22px;text-align:center;color:var(--dark-gold)}
.pkg-desc{color:#4b666c;font-size:1rem;flex:1}
.pkg-actions{display:flex;gap:10px;margin-top:6px}
.pkg-actions .btn{flex:1;margin:0;min-width:0;padding:12px 14px;font-size:.95rem}
.policy-line{text-align:center;margin:30px 0 0;color:#2c4a51;font-weight:600}
.policy-line i{color:var(--green-alt);margin-left:4px}

/* Fleet */
.fleet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:30px}
.fleet-card{background:var(--secondary);border-radius:22px;overflow:hidden;box-shadow:0 15px 40px rgba(0,0,0,.08);display:flex;flex-direction:column}
.fleet-media{height:300px;position:relative;overflow:hidden;background:var(--primary)}
.fleet-media img{width:100%;height:100%;object-fit:cover}
.fleet-tag{position:absolute;top:16px;right:16px;z-index:1;background:var(--primary);color:var(--accent);font-weight:800;font-size:.9rem;padding:7px 14px;border-radius:999px}
.fleet-body{padding:26px;display:flex;flex-direction:column;flex:1}
.fleet-body h3{font-size:1.5rem;margin-bottom:12px}
.fleet-body p{color:#4b666c}
.fleet-body .btn{align-self:flex-start;margin:auto 0 0}
.spec-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;list-style:none}
.spec-chips li{background:var(--light-gray);color:var(--primary);border-radius:999px;padding:6px 14px;font-size:.9rem;font-weight:600}
.spec-chips i{color:var(--dark-gold);margin-left:6px}

/* Hotels */
.hotels-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.hotel-tier{position:absolute;top:20px;right:20px;background:var(--primary);color:var(--secondary);padding:7px 16px;border-radius:30px;font-weight:700;font-size:.85rem}
.hotel-tier.vip{background:linear-gradient(135deg,#e6c25a,#b8941f)}
.hotel-badge{z-index:1}.hotel-tier{z-index:1}
.img-note{text-align:center;color:#5b7378;font-size:.95rem;margin:24px 0 0}

/* Split (about) */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.split-media img{width:100%;border-radius:22px;box-shadow:0 25px 60px rgba(0,0,0,.18);display:block}
.split-text h2{text-align:right;margin-bottom:2rem}
.split-text h2:after{right:0;transform:none}
.split-text p{color:#3d5c63}
.check-list{list-style:none;display:grid;gap:12px;margin:20px 0 28px}
.check-list li{display:flex;gap:12px;align-items:flex-start;font-size:1.05rem}
.check-list i{color:var(--green-alt);margin-top:6px}

/* Steps */
.steps-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:24px}
.step{background:var(--secondary);border-radius:18px;padding:32px 24px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.06)}
.step-num{width:58px;height:58px;border-radius:50%;background:var(--primary);color:var(--accent);font-weight:800;font-size:1.5rem;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;border:3px solid var(--accent)}
.step h3{font-size:1.25rem;margin-bottom:8px}
.step p{color:#4b666c;font-size:1rem;margin:0}

/* Stats band */
.stats-band{padding:70px 0;color:var(--secondary);background-image:linear-gradient(rgba(1,50,59,.93),rgba(1,50,59,.93)),url('https://images.unsplash.com/photo-1693590614566-1d3ea9ef32f7?auto=format&fit=crop&w=1800&q=70');background-size:cover;background-position:center}
.stats-band-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.stats-band strong{display:block;font-size:2.8rem;font-weight:800;color:var(--accent);line-height:1.1;margin-bottom:6px}
.stats-band span{color:#d6ecec;font-size:1rem}

/* Gallery */
.gallery-item{margin:0;position:relative;background:var(--primary)}
.gallery-item a{display:block;width:100%;height:100%;cursor:zoom-in}
.gallery-item figcaption{position:absolute;bottom:0;right:0;left:0;padding:26px 14px 10px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;font-weight:600;font-size:.95rem;pointer-events:none}
.lightbox{position:fixed;inset:0;background:rgba(0,15,18,.92);display:none;align-items:center;justify-content:center;flex-direction:column;gap:14px;z-index:3000;padding:20px}
.lightbox.open{display:flex}
.lightbox img{max-width:min(1100px,100%);max-height:80vh;border-radius:14px;object-fit:contain}
.lightbox-caption{color:#fff;font-weight:600;margin:0}
.lightbox-close{position:absolute;top:18px;left:18px;width:48px;height:48px;border-radius:50%;border:0;background:var(--accent);color:var(--primary);font-size:1.3rem;cursor:pointer}

/* Page hero */
.page-hero{padding:150px 0 70px;background-image:linear-gradient(rgba(1,50,59,.9),rgba(1,50,59,.93)),url('https://images.unsplash.com/photo-1580418827493-f2b22c0a76cb?auto=format&fit=crop&w=1800&q=70')}
.page-hero p{margin-bottom:0}
.breadcrumb{display:flex;justify-content:center;gap:8px;list-style:none;margin-top:18px;color:#cfe7e7;font-size:.95rem}
.breadcrumb a{color:var(--accent);text-decoration:none}

/* Tables */
.table-wrap{overflow-x:auto;background:var(--secondary);border-radius:18px;box-shadow:0 15px 40px rgba(0,0,0,.08)}
.compare-table{width:100%;border-collapse:collapse;min-width:680px}
.compare-table th,.compare-table td{padding:16px 18px;text-align:right;border-bottom:1px solid var(--light-gray);font-size:1rem;vertical-align:middle}
.compare-table thead th{background:var(--primary);color:var(--secondary);font-weight:800;font-size:1.05rem}
.compare-table tbody th{color:var(--primary);font-weight:700;background:#f6fbfb;white-space:nowrap}
.compare-table tbody tr:last-child th,.compare-table tbody tr:last-child td{border-bottom:0}
.compare-table .yes{color:var(--green-alt);font-size:1.15rem}
.compare-table .btn{min-width:0;margin:0;padding:10px 18px;font-size:.9rem}
.table-note{text-align:center;color:#3d5c63;margin:22px auto 0;max-width:780px}
.table-note a{color:var(--green-alt);font-weight:700}
.scroll-hint{display:none;text-align:center;color:#5b7378;font-size:.9rem;margin-bottom:10px}
.scroll-hint i{margin-left:6px}

/* Route */
.route{list-style:none;display:grid;grid-template-columns:repeat(4,1fr)}
.route-stop{text-align:center;padding:0 14px;position:relative}
.route-dot{width:72px;height:72px;border-radius:50%;background:var(--secondary);border:3px solid var(--accent);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:1.6rem;color:var(--primary);box-shadow:0 10px 25px rgba(0,0,0,.08);position:relative;z-index:1}
.route-stop:not(:last-child)::after{content:'';position:absolute;top:36px;right:calc(50% + 40px);width:calc(100% - 80px);border-top:3px dashed var(--dark-gold)}
.route-stop h3{font-size:1.2rem;margin-bottom:6px}
.route-stop p{font-size:.98rem;color:#4b666c}

/* FAQ */
.faq-list{max-width:880px;margin:0 auto;display:grid;gap:14px}
.faq-list details{background:var(--secondary);border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.06);border:1px solid #e3efef}
.faq-list summary{list-style:none;cursor:pointer;padding:20px 24px;font-weight:800;font-size:1.1rem;display:flex;align-items:center;gap:12px;color:var(--primary)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary i{color:var(--dark-gold);width:24px;text-align:center}
.faq-list summary::after{content:'+';margin-right:auto;font-size:1.6rem;line-height:1;color:var(--dark-gold);transition:transform .2s}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list .answer{padding:0 60px 8px 24px;color:#3d5c63}
.faq-list .answer a{color:var(--green-alt);font-weight:700}

/* Booking */
.booking-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:30px;align-items:start}
.form-card,.side-card{background:var(--secondary);border-radius:22px;padding:30px;box-shadow:0 15px 40px rgba(0,0,0,.08)}
.form-card h2,.side-card h2{font-size:1.45rem;text-align:right;margin-bottom:6px}
.form-card h2:after,.side-card h2:after{display:none}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin-top:18px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.field.full{grid-column:1/-1}
.field label{font-weight:700;font-size:.95rem}
.req{color:#c62828}
.field input,.field select,.field textarea{font-family:inherit;font-size:1rem;padding:12px 14px;border:1.5px solid #cfe2e2;border-radius:12px;background:#fbfefe;color:var(--primary);width:100%;transition:border-color .2s,box-shadow .2s}
.field textarea{min-height:100px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(255,223,70,.55)}
.field input[type=tel]{direction:ltr;text-align:right}
.form-card .btn{width:100%;margin:6px 0 0}
.form-error{color:#c62828;font-weight:700;margin:0 0 10px}
.form-hint{font-size:.9rem;color:#5b7378;margin:12px 0 0;text-align:center}
.side-stack{display:grid;gap:22px}
.contact-line{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--light-gray);text-decoration:none;color:var(--primary)}
.contact-line:last-child{border-bottom:0}
.ci{flex:0 0 50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.3rem}
.ci.call{background:var(--call)}.ci.wa{background:var(--whatsapp)}.ci.loc{background:var(--primary);color:var(--accent)}
.contact-line strong{display:block;font-size:1.05rem}
.contact-line small{color:#5b7378;font-size:.92rem}
.tips{list-style:none;display:grid;gap:10px;margin-top:14px}
.tips li{display:flex;gap:10px;align-items:flex-start;font-size:1rem}
.tips i{color:var(--green-alt);margin-top:5px}
.offer-card{background:linear-gradient(135deg,var(--primary),#0d4f5a);color:var(--secondary);border-radius:22px;padding:28px;box-shadow:0 15px 40px rgba(0,0,0,.15)}
.offer-card h3{color:var(--accent);font-size:1.4rem}
.offer-card h3 i{margin-left:8px}
.offer-card p{color:#dcefef}
.offer-card .btn{margin:0}

.buses{background:var(--secondary)}
.buses-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}

/* CTA + footer */
.cta-band .btn{margin:6px}
.contact-info a{color:inherit;text-decoration:none}
.contact-info a:hover{color:var(--accent)}

/* 404 */
.not-found{min-height:100vh;display:flex;align-items:center;text-align:center;color:var(--secondary);padding:140px 0 80px;background-image:linear-gradient(rgba(1,50,59,.94),rgba(1,50,59,.96)),url('https://images.unsplash.com/photo-1627728734379-a5f8c099763e?auto=format&fit=crop&w=1800&q=60');background-size:cover;background-position:center}
.nf-icon{width:110px;height:110px;border-radius:50%;border:3px solid var(--accent);background:rgba(0,40,50,.9);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:3rem;color:var(--accent)}
.not-found h1{font-size:6rem;line-height:1;color:var(--accent);margin-bottom:10px}
.not-found h2{color:var(--secondary);margin-bottom:2.4rem}
.not-found p{color:#dcefef;max-width:560px;margin:0 auto 26px}
.nf-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.nf-actions .btn{margin:0;min-width:150px}

/* Responsive */
@media (max-width:1100px){
  .nav-links,.nav-buttons{display:none}
  .hamburger{display:flex}
}
@media (min-width:1101px){.mobile-menu{display:none}}
@media (max-width:992px){
  .hero{padding:110px 0 60px;min-height:auto}
  .hero-grid{grid-template-columns:1fr;gap:34px}
  .hero-title{font-size:2.6rem}
  .split{grid-template-columns:1fr;gap:34px}
  .booking-grid{grid-template-columns:1fr}
  .stats-band-grid{grid-template-columns:repeat(2,1fr);gap:30px 20px}
}
@media (max-width:768px){
  .route{grid-template-columns:1fr;gap:26px}
  .route-stop:not(:last-child)::after{display:none}
  .scroll-hint{display:block}
  .hero{padding:110px 0 60px}
}
@media (max-width:576px){
  .container{width:100%;padding:0 16px}
  h2{font-size:1.9rem}
  .hero-title{font-size:2.1rem}
  .hero-lead{font-size:1.02rem}
  .hero-actions .btn{flex:1 1 100%}
  .hero-stat{flex:1 1 calc(50% - 14px);min-width:0}
  .hero-card{padding:20px}
  .pkg-actions{flex-direction:column}
  .form-grid{grid-template-columns:1fr}
  .form-card,.side-card{padding:22px}
  .stats-band strong{font-size:2.2rem}
  .page-hero{padding:120px 0 50px}
  .page-hero h1{font-size:2.1rem}
  .fleet-media{height:240px}
  .not-found h1{font-size:4.5rem}
  .faq-list .answer{padding:0 24px 8px}
}
