@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=Playfair+Display:wght@700&display=swap');

/* ═══════════════════════════════════════════════════
   RESET & BASE
═══════════════════════════════════════════════════ */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Poppins',sans-serif; color:#1a1a2e; background:#fff; overflow-x:hidden; }

/* Public pages have white background, not the admin grey */
html { scroll-behavior:smooth; scroll-padding-top: 80px; }
section[id], div[id] { scroll-margin-top: 80px; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; display:block; }

.container {
    max-width:1200px;
    margin:0 auto;
    padding:0 20px;
}

/* ═══════════════════════════════════════════════════
   NAVBAR
═══════════════════════════════════════════════════ */
.navbar {
    position:fixed;
    top:0; left:0; right:0;
    z-index:1000;
    padding:0 20px;
    height:72px;
    display:flex;
    align-items:center;
    background:transparent;
    transition:all 0.4s ease;
}
.navbar.scrolled {
    background:rgba(255,255,255,0.97);
    box-shadow:0 2px 20px rgba(0,0,0,0.08);
    height:64px;
}
.nav-container {
    max-width:1200px;
    margin:0 auto;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}
.logo { display:flex; align-items:center; }
.logo-img {
    height:52px;
    width:auto;
    object-fit:contain;
}
.logo-text {
    font-size:16px;
    font-weight:700;
    color:#fff;
    white-space:nowrap;
}
.navbar.scrolled .logo-text { color:#0c4a6e; }
.logo-accent { color:#f97316; }

.nav-links {
    list-style:none;
    display:flex;
    align-items:center;
    gap:4px;
}
.nav-links a {
    padding:8px 14px;
    font-size:14px;
    font-weight:500;
    color:rgba(255,255,255,0.85);
    border-radius:8px;
    transition:all 0.3s;
    white-space:nowrap;
}
.nav-links a:hover { color:#f97316; background:rgba(255,255,255,0.1); }
.navbar.scrolled .nav-links a { color:#475569; }
.navbar.scrolled .nav-links a:hover { color:#f97316; background:#fff7ed; }

.nav-book-btn {
    background:#f97316 !important;
    color:#fff !important;
    padding:9px 20px !important;
    border-radius:50px !important;
    font-weight:600 !important;
}
.nav-book-btn:hover {
    background:#ea580c !important;
    transform:translateY(-1px);
    box-shadow:0 6px 20px rgba(249,115,22,0.4);
}

/* Hamburger */
.hamburger {
    display:none;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
    padding:8px;
    border-radius:8px;
    transition:background 0.3s;
    -webkit-tap-highlight-color:transparent;
}
.hamburger:hover { background:rgba(255,255,255,0.1); }
.hamburger span {
    display:block;
    width:24px;
    height:2px;
    background:#0c4a6e;
    border-radius:2px;
    transition:all 0.3s;
}
.navbar.scrolled .hamburger span { background:#0c4a6e; }
/* Hamburger turns into X when open */
.hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); background:#0c4a6e; }
.hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); background:#0c4a6e; }

/* ═══════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════ */
.hero {
    min-height:100vh;
    background:linear-gradient(135deg, #0c4a6e, #075985);
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}
.hero-overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(to bottom, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.5) 100%);
}
.hero-content {
    position:relative;
    z-index:2;
    text-align:center;
    padding:100px 20px 60px;
    max-width:800px;
}
.hero-tag {
    display:inline-block;
    background:rgba(249,115,22,0.2);
    border:1px solid rgba(249,115,22,0.5);
    color:#f97316;
    padding:6px 20px;
    border-radius:50px;
    font-size:12px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:1.5px;
    margin-bottom:20px;
}
.hero-title {
    font-family:'Playfair Display',serif;
    font-size:clamp(36px, 6vw, 68px);
    color:#fff;
    line-height:1.15;
    margin-bottom:18px;
}
.hero-accent { color:#f97316; }
.hero-subtitle {
    font-size:clamp(14px, 2vw, 18px);
    color:rgba(255,255,255,0.7);
    line-height:1.7;
    margin-bottom:36px;
    max-width:580px;
    margin-left:auto;
    margin-right:auto;
}
.hero-buttons {
    display:flex;
    gap:14px;
    justify-content:center;
    flex-wrap:wrap;
    margin-bottom:48px;
}
.btn-primary {
    background:#f97316;
    color:#fff;
    padding:14px 32px;
    border-radius:50px;
    font-size:15px;
    font-weight:600;
    transition:all 0.3s;
    display:inline-block;
}
.btn-primary:hover { background:#ea580c; transform:translateY(-2px); box-shadow:0 12px 32px rgba(249,115,22,0.4); }
.btn-whatsapp {
    background:rgba(255,255,255,0.15);
    color:#fff;
    padding:14px 32px;
    border-radius:50px;
    font-size:15px;
    font-weight:600;
    border:1.5px solid rgba(255,255,255,0.4);
    transition:all 0.3s;
    display:inline-block;
    backdrop-filter:blur(4px);
}
.btn-whatsapp:hover { background:rgba(255,255,255,0.25); transform:translateY(-2px); }

.hero-stats {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:0;
    flex-wrap:wrap;
}
.stat { text-align:center; padding:0 28px; }
.stat-num {
    font-size:28px;
    font-weight:700;
    color:#f97316;
    display:block;
}
.stat-label {
    font-size:12px;
    color:rgba(255,255,255,0.6);
    margin-top:2px;
}
.stat-divider {
    width:1px;
    height:40px;
    background:rgba(255,255,255,0.2);
}
.hero-scroll-hint {
    position:absolute;
    bottom:28px;
    left:50%;
    transform:translateX(-50%);
    font-size:12px;
    color:rgba(255,255,255,0.4);
    animation:bounce 2s infinite;
    z-index:2;
}
@keyframes bounce {
    0%,100% { transform:translateX(-50%) translateY(0); }
    50% { transform:translateX(-50%) translateY(-8px); }
}

/* ═══════════════════════════════════════════════════
   SECTION SHARED
═══════════════════════════════════════════════════ */
.section-header {
    text-align:center;
    margin-bottom:48px;
}
.section-tag {
    display:inline-block;
    background:#fff7ed;
    color:#f97316;
    padding:5px 18px;
    border-radius:50px;
    font-size:12px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:1px;
    margin-bottom:12px;
}
.section-title {
    font-family:'Playfair Display',serif;
    font-size:clamp(26px, 4vw, 40px);
    color:#0c4a6e;
    line-height:1.25;
}

/* ═══════════════════════════════════════════════════
   FEATURES
═══════════════════════════════════════════════════ */
.features {
    padding:80px 0;
    background:#fff;
}
.features-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(240px,1fr));
    gap:24px;
}
.feature-card {
    background:#f8fafc;
    border-radius:16px;
    padding:28px 24px;
    border:1px solid #f1f5f9;
    transition:all 0.3s;
    text-align:center;
}
.feature-card:hover {
    transform:translateY(-4px);
    box-shadow:0 12px 32px rgba(0,0,0,0.08);
    border-color:#f97316;
}
.feature-icon {
    font-size:36px;
    margin-bottom:16px;
    display:block;
}
.feature-card h3 {
    font-size:16px;
    font-weight:600;
    color:#0c4a6e;
    margin-bottom:10px;
}
.feature-card p {
    font-size:13px;
    color:#64748b;
    line-height:1.7;
}

/* ═══════════════════════════════════════════════════
   TOURS
═══════════════════════════════════════════════════ */
.tours-layout {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 28px;
    align-items: start;
}
.tours-sidebar {
    position: sticky;
    top: 90px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.tours {
    padding:80px 0;
    background:#f8fafc;
}
.tours-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(300px,1fr));
    gap:24px;
}
.tour-card {
    background:#fff;
    border-radius:16px;
    overflow:hidden;
    border:1px solid #f1f5f9;
    transition:all 0.3s;
    box-shadow:0 2px 8px rgba(0,0,0,0.04);
}
.tour-card:hover {
    transform:translateY(-6px);
    box-shadow:0 16px 40px rgba(0,0,0,0.1);
}
.tour-img {
    height:160px;
    display:flex;
    align-items:flex-end;
    padding:16px;
    position:relative;
    overflow:hidden;
}
.tour-img-text {
    font-size:18px;
    font-weight:700;
    color:#fff;
    text-shadow:0 2px 8px rgba(0,0,0,0.4);
    z-index:1;
    position:relative;
}
.tour-badge {
    position:absolute;
    top:12px;
    right:12px;
    background:#f97316;
    color:#fff;
    font-size:10px;
    font-weight:700;
    padding:4px 10px;
    border-radius:50px;
    text-transform:uppercase;
    letter-spacing:0.5px;
}
.tour-body { padding:20px; }
.tour-body h3 {
    font-size:16px;
    font-weight:600;
    color:#0c4a6e;
    margin-bottom:8px;
}
.tour-body p {
    font-size:13px;
    color:#64748b;
    line-height:1.6;
    margin-bottom:14px;
}
.tour-details {
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:16px;
}
.tour-details span {
    background:#f0f9ff;
    color:#0369a1;
    font-size:11px;
    font-weight:500;
    padding:3px 10px;
    border-radius:50px;
    border:1px solid #bae6fd;
}
.tour-footer {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding-top:14px;
    border-top:1px solid #f1f5f9;
    gap:10px;
}
.tour-price {
    font-size:13px;
    color:#64748b;
}
.tour-btn {
    background:#0c4a6e;
    color:#fff;
    padding:9px 18px;
    border-radius:50px;
    font-size:13px;
    font-weight:600;
    transition:all 0.3s;
    white-space:nowrap;
    display:inline-block;
}
.tour-btn:hover { background:#f97316; transform:scale(1.04); }

/* ═══════════════════════════════════════════════════
   CALCULATOR
═══════════════════════════════════════════════════ */
.calculator {
    padding:80px 0;
    background:linear-gradient(135deg, #0c4a6e, #075985);
    position:relative;
    overflow:hidden;
}
.calculator::before {
    content:'';
    position:absolute;
    inset:0;
    background-image:radial-gradient(rgba(255,255,255,0.06) 1px, transparent 1px);
    background-size:28px 28px;
    pointer-events:none;
}
.calculator .section-header .section-tag {
    background:rgba(249,115,22,0.2);
    color:#f97316;
    border:1px solid rgba(249,115,22,0.3);
}
.calculator .section-title { color:#fff; }

.calc-card {
    background:rgba(255,255,255,0.07);
    border:1px solid rgba(255,255,255,0.12);
    border-radius:20px;
    padding:32px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:32px;
    backdrop-filter:blur(8px);
    position:relative;
}
.calc-form { display:flex; flex-direction:column; gap:16px; }
.calc-field { display:flex; flex-direction:column; gap:6px; }
.calc-field label {
    font-size:13px;
    font-weight:500;
    color:rgba(255,255,255,0.7);
}
.calc-field select,
.calc-field input[type="text"],
.calc-field input[type="number"] {
    width:100%;
    padding:12px 14px;
    background:rgba(255,255,255,0.1);
    border:1.5px solid rgba(255,255,255,0.2);
    border-radius:10px;
    color:#fff;
    font-size:14px;
    font-family:'Poppins',sans-serif;
    outline:none;
    transition:border 0.3s;
    -webkit-appearance:none;
}
.calc-field select:focus,
.calc-field input:focus {
    border-color:#f97316;
    background:rgba(255,255,255,0.15);
}
.calc-field select option { background:#0c4a6e; color:#fff; }
.calc-field input::placeholder { color:rgba(255,255,255,0.4); }

/* Destination toggle buttons */
.dest-toggle-btn {
    flex:1;
    padding:10px 14px;
    border-radius:8px;
    border:1.5px solid rgba(255,255,255,0.2);
    background:transparent;
    color:rgba(255,255,255,0.6);
    font-size:13px;
    font-weight:500;
    font-family:'Poppins',sans-serif;
    cursor:pointer;
    transition:all 0.3s;
    -webkit-tap-highlight-color:transparent;
}
.dest-toggle-btn:hover { border-color:rgba(255,255,255,0.5); color:#fff; }
.dest-toggle-btn.active {
    background:rgba(249,115,22,0.2);
    border-color:#f97316;
    color:#f97316;
}
.calc-distance-btn {
    width:100%;
    padding:13px;
    background:#f97316;
    color:#fff;
    border:none;
    border-radius:10px;
    font-size:14px;
    font-weight:600;
    font-family:'Poppins',sans-serif;
    cursor:pointer;
    transition:all 0.3s;
    margin-top:4px;
}
.calc-distance-btn:hover { background:#ea580c; transform:translateY(-2px); }
.calc-distance-btn:disabled { opacity:0.6; cursor:not-allowed; transform:none; }

/* Result panel */
.calc-result {
    background:rgba(0,0,0,0.2);
    border-radius:14px;
    padding:24px;
    border:1px solid rgba(255,255,255,0.08);
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:200px;
}
.result-placeholder {
    text-align:center;
    color:rgba(255,255,255,0.35);
    font-size:14px;
    line-height:1.7;
    padding:20px;
}
.result-box { width:100%; }
.result-destination {
    font-size:14px;
    color:rgba(255,255,255,0.6);
    margin-bottom:6px;
}
.result-amount {
    font-size:42px;
    font-weight:700;
    color:#f97316;
    margin-bottom:6px;
    line-height:1;
}
.result-per-person {
    font-size:13px;
    color:rgba(255,255,255,0.5);
    margin-bottom:20px;
}
.fare-breakdown {
    background:rgba(0,0,0,0.2);
    border-radius:10px;
    padding:16px;
    margin-bottom:16px;
}
.breakdown-title {
    font-size:11px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:1px;
    color:rgba(255,255,255,0.4);
    margin-bottom:10px;
}
.breakdown-row {
    display:flex;
    justify-content:space-between;
    font-size:13px;
    color:rgba(255,255,255,0.6);
    padding:5px 0;
    border-bottom:1px solid rgba(255,255,255,0.06);
}
.breakdown-row:last-child { border-bottom:none; }
.breakdown-total {
    font-weight:700;
    color:#f97316 !important;
    font-size:14px !important;
    margin-top:4px;
    padding-top:8px !important;
    border-top:1px solid rgba(255,255,255,0.15) !important;
}
.result-book-btn {
    display:block;
    text-align:center;
    background:#f97316;
    color:#fff;
    padding:12px;
    border-radius:10px;
    font-size:14px;
    font-weight:600;
    transition:all 0.3s;
}
.result-book-btn:hover { background:#ea580c; transform:translateY(-2px); }

/* ═══════════════════════════════════════════════════
   REVIEWS
═══════════════════════════════════════════════════ */
.reviews {
    padding:80px 0;
    background:#fff;
}
.reviews-summary {
    display:flex;
    align-items:center;
    gap:48px;
    background:#f8fafc;
    border-radius:20px;
    padding:32px 40px;
    margin-bottom:48px;
    flex-wrap:wrap;
}
.summary-score { text-align:center; flex-shrink:0; }
.score-number {
    font-size:56px;
    font-weight:700;
    color:#0c4a6e;
    line-height:1;
}
.score-stars { color:#f59e0b; font-size:20px; margin:6px 0; }
.score-label { font-size:13px; color:#94a3b8; }
.summary-bars { flex:1; min-width:200px; }
.bar-row {
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:8px;
    font-size:13px;
    color:#64748b;
}
.bar-row span:first-child { width:28px; text-align:right; flex-shrink:0; }
.bar-row span:last-child  { width:32px; flex-shrink:0; }
.bar-track {
    flex:1;
    height:8px;
    background:#f1f5f9;
    border-radius:4px;
    overflow:hidden;
}
.bar-fill {
    height:100%;
    background:linear-gradient(90deg, #f97316, #ea580c);
    border-radius:4px;
    transition:width 0.8s ease;
}
.reviews-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(300px,1fr));
    gap:20px;
    margin-bottom:40px;
}
.review-card {
    background:#f8fafc;
    border-radius:16px;
    padding:22px;
    border:1px solid #f1f5f9;
    transition:all 0.3s;
}
.review-card:hover {
    border-color:#f97316;
    box-shadow:0 8px 24px rgba(0,0,0,0.06);
}
.review-top {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    margin-bottom:12px;
    gap:10px;
}
.reviewer-info { display:flex; align-items:center; gap:12px; }
.reviewer-avatar {
    width:40px;
    height:40px;
    border-radius:50%;
    background:linear-gradient(135deg,#f97316,#ea580c);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:16px;
    font-weight:700;
    color:#fff;
    flex-shrink:0;
}
.reviewer-name { font-size:14px; font-weight:600; color:#0c4a6e; }
.reviewer-dest { font-size:12px; color:#94a3b8; margin-top:2px; }
.review-stars { color:#f59e0b; font-size:15px; flex-shrink:0; }
.review-text {
    font-size:13px;
    color:#475569;
    line-height:1.7;
    font-style:italic;
    margin-bottom:10px;
}
.review-date { font-size:11px; color:#cbd5e1; }
.review-loading {
    text-align:center;
    padding:40px;
    color:#94a3b8;
    font-size:14px;
    grid-column:1/-1;
}
.write-review-btn {
    background:#0c4a6e;
    color:#fff;
    padding:13px 32px;
    border-radius:50px;
    font-size:15px;
    font-weight:600;
    font-family:'Poppins',sans-serif;
    border:none;
    cursor:pointer;
    transition:all 0.3s;
    display:inline-block;
}
.write-review-btn:hover { background:#f97316; transform:translateY(-2px); }

/* ═══════════════════════════════════════════════════
   REVIEW MODAL
═══════════════════════════════════════════════════ */
.modal-overlay {
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.6);
    z-index:9999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
    backdrop-filter:blur(4px);
}
.modal-overlay.open { display:flex; }
.modal-box {
    background:#fff;
    border-radius:20px;
    padding:36px 32px;
    width:100%;
    max-width:480px;
    position:relative;
    max-height:90vh;
    overflow-y:auto;
}
.modal-close {
    position:absolute;
    top:16px;
    right:16px;
    background:#f1f5f9;
    border:none;
    width:36px;
    height:36px;
    border-radius:50%;
    cursor:pointer;
    font-size:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#64748b;
    transition:all 0.3s;
}
.modal-close:hover { background:#f97316; color:#fff; }
.modal-title {
    font-family:'Playfair Display',serif;
    font-size:22px;
    color:#0c4a6e;
    margin-bottom:6px;
}
.modal-subtitle { font-size:13px; color:#94a3b8; margin-bottom:24px; }
.modal-form-group { margin-bottom:16px; }
.modal-form-group label {
    display:block;
    font-size:13px;
    font-weight:500;
    color:#374151;
    margin-bottom:7px;
}
.modal-form-group input,
.modal-form-group select,
.modal-form-group textarea {
    width:100%;
    padding:11px 14px;
    border:1.5px solid #e2e8f0;
    border-radius:10px;
    font-size:14px;
    font-family:'Poppins',sans-serif;
    color:#0c4a6e;
    outline:none;
    transition:border 0.3s;
}
.modal-form-group input:focus,
.modal-form-group select:focus,
.modal-form-group textarea:focus { border-color:#f97316; }
.star-selector {
    display:flex;
    gap:6px;
}
.star-btn {
    font-size:28px;
    color:#e2e8f0;
    cursor:pointer;
    transition:color 0.2s, transform 0.2s;
    -webkit-tap-highlight-color:transparent;
}
.star-btn:hover,
.star-btn.selected { color:#f59e0b; transform:scale(1.15); }
.modal-submit-btn {
    width:100%;
    padding:14px;
    background:linear-gradient(135deg,#f97316,#ea580c);
    color:#fff;
    border:none;
    border-radius:10px;
    font-size:15px;
    font-weight:600;
    font-family:'Poppins',sans-serif;
    cursor:pointer;
    transition:all 0.3s;
    margin-top:8px;
}
.modal-submit-btn:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(249,115,22,0.4); }
.review-success-msg {
    background:#f0fdf4;
    border:1px solid #bbf7d0;
    color:#166534;
    padding:14px 16px;
    border-radius:10px;
    font-size:13px;
    text-align:center;
}

/* ═══════════════════════════════════════════════════
   CONTACT
═══════════════════════════════════════════════════ */
.contact {
    padding:80px 0;
    background:#f8fafc;
    scroll-margin-top: 90px;
}
.contact-grid {
    display:grid;
    grid-template-columns:1fr 1.2fr;
    gap:40px;
    align-items:start;
}
.contact-info { display:flex; flex-direction:column; gap:20px; }
.contact-item {
    display:flex;
    align-items:flex-start;
    gap:16px;
    background:#fff;
    border-radius:14px;
    padding:20px;
    border:1px solid #f1f5f9;
    transition:all 0.3s;
}
.contact-item:hover { border-color:#f97316; box-shadow:0 4px 16px rgba(0,0,0,0.06); }
.contact-icon {
    font-size:24px;
    width:48px;
    height:48px;
    background:#fff7ed;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}
.contact-item h4 { font-size:14px; font-weight:600; color:#0c4a6e; margin-bottom:4px; }
.contact-item p  { font-size:13px; color:#64748b; line-height:1.6; }
.whatsapp-contact-btn {
    display:block;
    text-align:center;
    background:#25d366;
    color:#fff;
    padding:14px;
    border-radius:12px;
    font-size:15px;
    font-weight:600;
    transition:all 0.3s;
}
.whatsapp-contact-btn:hover { background:#22c55e; transform:translateY(-2px); box-shadow:0 8px 24px rgba(37,211,102,0.3); }
.contact-map {
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 4px 20px rgba(0,0,0,0.08);
    border:1px solid #f1f5f9;
}
.contact-map iframe { display:block; }

/* ═══════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════ */
.footer {
    background:#082f49;
    color:rgba(255,255,255,0.65);
    padding:60px 0 0;
}
.footer-top {
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr 1fr 1.2fr;
    gap:30px;
    padding-bottom:40px;
    border-bottom:1px solid rgba(255,255,255,0.08);
}
.footer-brand p {
    font-size:13px;
    color:rgba(255,255,255,0.5);
    line-height:1.7;
    margin-top:16px;
    max-width:300px;
}
.footer-links h4 {
    font-size:13px;
    font-weight:700;
    color:#fff;
    text-transform:uppercase;
    letter-spacing:1px;
    margin-bottom:16px;
}
.footer-links a {
    display:block;
    font-size:13px;
    color:rgba(255,255,255,0.5);
    margin-bottom:10px;
    transition:color 0.3s;
}
.footer-links a:hover { color:#f97316; }
.footer-bottom {
    padding:20px 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:8px;
    font-size:12px;
    color:rgba(255,255,255,0.3);
}

/* ═══════════════════════════════════════════════════
   WHATSAPP FLOAT
═══════════════════════════════════════════════════ */
.whatsapp-float {
    position:fixed;
    bottom:28px;
    right:24px;
    width:56px;
    height:56px;
    background:#25d366;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:999;
    box-shadow:0 4px 20px rgba(37,211,102,0.5);
    transition:all 0.3s;
    -webkit-tap-highlight-color:transparent;
    text-decoration:none;
}
.whatsapp-float svg { display:block; }
.whatsapp-float:hover { transform:scale(1.1); box-shadow:0 8px 28px rgba(37,211,102,0.6); }

/* ═══════════════════════════════════════════════════
   RESPONSIVE — TABLET 1024px
═══════════════════════════════════════════════════ */
@media (max-width:1024px) {
    .calc-card { grid-template-columns:1fr; }
    .contact-grid { grid-template-columns:1fr; }
    .footer-top { grid-template-columns:1fr 1fr 1fr; }
    .footer-brand { grid-column:1/-1; }
    .footer-top > .footer-links:last-child {
        grid-column: auto;
        max-width: 100%;
    }
    .footer-top > .footer-links:last-child img {
        width: 100%;
        max-width: 300px;
        height: 150px;
        object-fit: cover;
    }
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE — MOBILE 768px
═══════════════════════════════════════════════════ */
@media (max-width:768px) {

    /* ── MOBILE NAV ─────────────────────────────────────── */
    .nav-links {
        display:none !important;
        list-style:none;
    }
    .nav-links.open {
        display:flex !important;
        flex-direction:column;
        position:fixed;
        top:0; left:0; right:0; bottom:0;
        background:#ffffff;
        z-index:9999;
        padding:72px 24px 40px;
        gap:4px;
        overflow-y:auto;
        align-items:stretch;
        list-style:none;
    }
    .nav-links.open li { width:100%; list-style:none; }
    .nav-links.open a {
        display:block !important;
        padding:15px 20px;
        color:#0c4a6e !important;
        background:transparent;
        border-radius:10px;
        font-size:15px;
        font-weight:500;
        border-bottom:1px solid rgba(0,0,0,0.08);
        white-space:normal;
        text-decoration:none;
    }
    .navbar.scrolled .nav-links.open a { color:#0c4a6e !important; }
    .nav-links.open a:hover,
    .nav-links.open a:active {
        background:#fff7ed !important;
        color:#f97316 !important;
    }
    .nav-links.open .nav-book-btn {
        background:#f97316 !important;
        color:#fff !important;
        text-align:center;
        margin-top:8px;
        border-radius:50px !important;
        border-bottom:none !important;
        font-weight:700 !important;
        padding:14px 20px !important;
    }
    .hamburger {
        display:flex !important;
        z-index:99999; /* highest so always tappable */
    }

    /* Hero */
    .hero-content { padding:90px 16px 48px; }
    .hero-buttons { gap:10px; }
    .btn-primary, .btn-whatsapp { padding:12px 24px; font-size:14px; }
    .stat { padding:0 16px; }
    .stat-num { font-size:22px; }
    .stat-label { font-size:11px; }

    /* Sections */
    .features { padding:56px 0; }
    .tours    { padding:56px 0; }
    .reviews  { padding:56px 0; }
    .contact  { padding:56px 0; }
    .footer   { padding:48px 0 0; }
    .section-header { margin-bottom:32px; }
    .calculator { padding:56px 0; }

    /* Features grid */
    .features-grid { grid-template-columns:1fr 1fr; gap:16px; }
    .feature-card { padding:20px 16px; }
    .feature-icon { font-size:28px; }
    .feature-card h3 { font-size:14px; }

    /* Tours grid */
    .tours-grid { grid-template-columns:1fr; gap:16px; }
    .tours-sidebar { display:none !important; }
    .tours-layout { grid-template-columns:1fr !important; }

    /* Calculator */
    .calc-card { padding:20px 16px; gap:20px; }
    .calc-field select,
    .calc-field input[type="text"],
    .calc-field input[type="number"] { font-size:16px; /* prevent zoom on iOS */ }

    /* Reviews */
    .reviews-summary { padding:20px; gap:20px; flex-direction:column; align-items:flex-start; }
    .score-number { font-size:44px; }
    .reviews-grid { grid-template-columns:1fr; gap:14px; }

    /* Modal */
    .modal-box { padding:28px 20px; border-radius:16px; }
    .modal-title { font-size:18px; }

    /* Contact */
    .contact-grid { grid-template-columns:1fr; gap:24px; }
    .contact-map iframe { height:240px !important; }

    /* Footer */
    .footer-top { grid-template-columns:1fr; gap:28px; }
    .footer-brand { grid-column:auto; }
    .footer-top > .footer-links:last-child img {
        width: 100%;
        height: 160px;
        object-fit: cover;
    }
    .footer-bottom { flex-direction:column; text-align:center; }

    /* WhatsApp float */
    .whatsapp-float { bottom:20px; right:16px; width:50px; height:50px; }
    .whatsapp-float svg { width:24px; height:24px; }

    /* Logo */
    .logo-img { height:44px; }
    .logo-text { font-size:14px; }
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE — SMALL MOBILE 480px
═══════════════════════════════════════════════════ */
@media (max-width:480px) {
    .features-grid { grid-template-columns:1fr; }
    .hero-stats { gap:0; }
    .stat { padding:0 12px; }
    .stat-divider { height:30px; }
    .reviews-summary { padding:16px; }
    .contact-item { padding:14px; gap:12px; }
    .contact-icon { width:40px; height:40px; font-size:20px; }
    .footer-top { gap:20px; }
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE — VERY SMALL 360px
═══════════════════════════════════════════════════ */
@media (max-width:360px) {
    .container { padding:0 14px; }
    .btn-primary, .btn-whatsapp { padding:11px 18px; font-size:13px; }
    .hero-title { font-size:30px; }
    .stat-num { font-size:20px; }
    .calc-card { padding:16px 12px; }
}

/* ═══════════════════════════════════════════════════
   SOCIAL SIDEBAR
═══════════════════════════════════════════════════ */
.social-sidebar {
    position: fixed !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 9999 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 0 8px 8px 0;
    box-shadow: 2px 2px 16px rgba(0,0,0,0.2);
}
.social-sidebar a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    transition: width 0.3s ease, background 0.3s;
    overflow: hidden;
    white-space: nowrap;
    text-decoration: none;
}
.social-sidebar a:hover {
    width: 130px;
    justify-content: flex-start;
    padding-left: 12px;
    gap: 10px;
}
.social-sidebar a span.ss-label {
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    display: none;
    opacity: 0;
    transition: opacity 0.2s;
}
.social-sidebar a:hover span.ss-label {
    display: inline;
    opacity: 1;
}
.social-sidebar a svg { flex-shrink: 0; }
.ss-facebook  { background: #1877f2; }
.ss-facebook:hover  { background: #1565d8; }
.ss-linkedin  { background: #0a66c2; }
.ss-linkedin:hover  { background: #084f99; }
.ss-whatsapp  { background: #25d366; }
.ss-whatsapp:hover  { background: #1db954; }
.ss-instagram { background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); }
.ss-instagram:hover { background: linear-gradient(45deg, #d4822c, #c95835, #c0203a, #b01d58, #a01575); }
.ss-youtube   { background: #ff0000; }
.ss-youtube:hover   { background: #cc0000; }

@media (max-width: 768px) {
    .social-sidebar {
        top: auto !important;
        bottom: 80px !important;
        left: 0 !important;
        transform: none !important;
        flex-direction: column !important;
        height: auto !important;
        width: 38px !important;
    }
    .social-sidebar a { width: 38px; height: 38px; }
    .social-sidebar a:hover { width: 38px; padding-left: 0; justify-content: center; }
    .social-sidebar a:hover span.ss-label { display: none; }
}