/* ═══════════════════════════════════════════════════════════
   Zolotoi Travels and Tourism L.L.C — Shared Stylesheet v3.0
   All pages use this file. Performance-first, CLS-safe.
═══════════════════════════════════════════════════════════ */

/* ── RESET ─────────────────────────────────────────────── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Nunito',sans-serif;color:#1a1a2e;background:#fff;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%;height:auto}
ul{list-style:none}
button{cursor:pointer;font-family:inherit;border:none;background:none}

/* ── CSS VARS ──────────────────────────────────────────── */
:root{
  --gold:#c9a84c;--gold-d:#b8922f;--gold-l:rgba(201,168,76,.13);
  --dark:#080c18;--dark2:#111827;--dark3:#1d2640;
  --text:#1a1a2e;--text2:#64748b;--white:#fff;
  --bg:#f8f7f2;--card:#fff;
  --radius:14px;--radius-sm:8px;--radius-lg:20px;
  --shadow:0 4px 24px rgba(0,0,0,.08);--shadow-lg:0 16px 48px rgba(0,0,0,.14);
  --tr:.28s cubic-bezier(.4,0,.2,1);
}

/* ── TYPE ──────────────────────────────────────────────── */
h1,h2,h3,h4{font-family:'Playfair Display',serif;line-height:1.18}
p{line-height:1.82}

/* ── LAYOUT ────────────────────────────────────────────── */
.container{max-width:1200px;margin:0 auto;padding:0 20px}
.section{padding:96px 0}
.section-sm{padding:64px 0}
.text-center{text-align:center}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}

/* ── SECTION HEADER ────────────────────────────────────── */
.sec-tag{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--gold);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:3px;margin-bottom:14px}
.sec-tag::before,.sec-tag::after{content:'';display:block;width:28px;height:1.5px;background:var(--gold)}
.sec-tag.left{justify-content:flex-start}.sec-tag.left::before{display:none}
.sec-h{font-size:clamp(28px,4vw,48px);color:var(--text);margin-bottom:14px}
.sec-h span{color:var(--gold)}
.sec-p{color:var(--text2);font-size:16px;max-width:640px;margin:0 auto;line-height:1.85}

/* ── BUTTONS ───────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:9px;padding:14px 32px;border-radius:50px;font-weight:700;font-size:15px;transition:var(--tr);white-space:nowrap;cursor:pointer}
.btn-gold{background:var(--gold);color:#fff;box-shadow:0 6px 24px rgba(201,168,76,.32)}
.btn-gold:hover{background:var(--gold-d);transform:translateY(-2px);box-shadow:0 10px 32px rgba(201,168,76,.42)}
.btn-dark{background:var(--dark2);color:#fff}
.btn-dark:hover{background:var(--gold);transform:translateY(-2px)}
.btn-outline{color:var(--text);border:2px solid #e2e8f0;background:#fff}
.btn-outline:hover{border-color:var(--gold);color:var(--gold)}
.btn-outline-white{color:#fff;border:2px solid rgba(255,255,255,.45)}
.btn-outline-white:hover{border-color:var(--gold);color:var(--gold)}
.btn-sm{padding:9px 20px;font-size:13px;border-radius:30px}

/* ════════════════════════════════════════════
   TOP BAR
════════════════════════════════════════════ */
.topbar{background:var(--dark2);color:#bbb;font-size:12.5px;padding:8px 0}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.topbar-left{display:flex;gap:20px;flex-wrap:wrap}
.topbar-left span{display:flex;align-items:center;gap:6px}
.topbar-left i{color:var(--gold);font-size:12px}
.topbar-right a{color:#bbb;font-size:14px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;transition:var(--tr)}
.topbar-right{display:flex;gap:8px}
.topbar-right a:hover{background:var(--gold);color:#fff}

/* ════════════════════════════════════════════
   HEADER
════════════════════════════════════════════ */
header{background:#fff;box-shadow:0 1px 12px rgba(0,0,0,.06);position:sticky;top:0;z-index:1000;will-change:transform}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:13px 0;gap:16px}
.logo img{height:52px;width:150px;object-fit:contain}
.logo-text{font:700 20px/1 'Playfair Display',serif;color:var(--text)}
.logo-text span{color:var(--gold)}
nav{display:flex;align-items:center}
.nav-list{display:flex;gap:2px;align-items:center}
.nav-list>li{position:relative}
.nav-list>li>a{padding:9px 14px;font-size:13px;font-weight:700;color:var(--text);border-radius:6px;transition:color var(--tr);display:block;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}
.nav-list>li>a:hover,.nav-list>li.active>a{color:var(--gold)}
/* mega drop */
.mega-drop{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-8px);background:#fff;min-width:720px;box-shadow:0 24px 64px rgba(0,0,0,.14);border-radius:16px;padding:28px 30px;opacity:0;visibility:hidden;transition:opacity var(--tr),transform var(--tr);display:grid;grid-template-columns:repeat(3,1fr);gap:26px;border-top:3px solid var(--gold);pointer-events:none}
.nav-list>li:hover .mega-drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:all}
.drop-col h5{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--gold);font-family:'Nunito',sans-serif;font-weight:800;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}
.drop-col ul li a{font-size:13px;color:var(--text2);transition:color var(--tr),padding var(--tr);display:flex;align-items:center;gap:6px;padding:5px 0;font-weight:600}
.drop-col ul li a:hover{color:var(--gold);padding-left:4px}
.drop-col ul li a::before{content:'›';color:var(--gold);font-size:14px}
.drop-badge{background:var(--gold);color:#fff;font-size:9px;padding:2px 6px;border-radius:10px;font-weight:800;text-transform:uppercase;margin-left:4px}
.drop-badge.new{background:#e74c3c}
/* book btn */
.btn-book{background:var(--gold);color:#fff;padding:10px 22px;border-radius:30px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;transition:var(--tr);white-space:nowrap;box-shadow:0 4px 14px rgba(201,168,76,.32)}
.btn-book:hover{background:var(--gold-d);transform:translateY(-2px)}
/* hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;padding:6px;border-radius:8px;transition:var(--tr)}
.hamburger span{width:22px;height:2px;background:var(--text);border-radius:2px;display:block;transition:var(--tr)}
.hamburger:hover{background:#f5f5f5}
/* mobile nav */
.mobile-nav{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:1999;overflow-y:auto}
.mobile-nav.open{display:block}
.mobile-nav-inner{background:#fff;min-height:100%;padding:24px 24px 60px;max-width:380px}
.mobile-nav-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid #eee}
.mobile-nav-close{font-size:22px;color:var(--text);cursor:pointer;padding:4px}
.mobile-nav-list{display:flex;flex-direction:column;gap:4px}
.mobile-nav-list a{display:block;padding:12px 16px;font-size:15px;font-weight:600;color:var(--text);border-radius:8px;transition:var(--tr)}
.mobile-nav-list a:hover{background:var(--gold-l);color:var(--gold)}
.mob-section{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--gold);font-weight:800;padding:14px 16px 6px;margin-top:8px}

/* ════════════════════════════════════════════
   PAGE HERO (inner pages)
════════════════════════════════════════════ */
.page-hero{padding:90px 0 70px;background:linear-gradient(135deg,var(--dark) 0%,var(--dark3) 100%);position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1512453979798-5ea266f8880c?w=1200&q=60&auto=format') center/cover;opacity:.18}
.page-hero-content{position:relative;z-index:2;text-align:center}
.page-hero h1{font-size:clamp(32px,5vw,60px);color:#fff;margin-bottom:14px}
.page-hero h1 span{color:var(--gold)}
.page-hero p{color:rgba(255,255,255,.75);font-size:16px;max-width:580px;margin:0 auto 24px}
.breadcrumb{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;color:rgba(255,255,255,.6)}
.breadcrumb a{color:var(--gold)}
.breadcrumb span{color:rgba(255,255,255,.4)}

/* ════════════════════════════════════════════
   TOUR CARDS (shared)
════════════════════════════════════════════ */
.tour-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:var(--tr);display:flex;flex-direction:column}
.tour-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.tc-img{position:relative;height:215px;overflow:hidden;background:#e8e8e8}
.tc-img img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease;display:block}
.tour-card:hover .tc-img img{transform:scale(1.07)}
.tc-badge{position:absolute;top:14px;left:14px;font-size:11px;font-weight:800;padding:4px 12px;border-radius:20px;text-transform:uppercase;letter-spacing:.4px;color:#fff;z-index:2}
.tc-body{padding:18px 20px;flex:1;display:flex;flex-direction:column}
.tc-meta{display:flex;gap:12px;margin-bottom:9px;flex-wrap:wrap}
.tc-meta span{font-size:12px;color:var(--text2);display:flex;align-items:center;gap:4px;font-weight:600}
.tc-meta i{color:var(--gold);font-size:12px}
.tc-body h3{font-family:'Playfair Display',serif;font-size:18px;margin-bottom:8px;color:var(--text);line-height:1.3}
.tc-body p{font-size:13.5px;color:var(--text2);line-height:1.72;margin-bottom:auto}
.tc-inclusions{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}
.tc-incl{font-size:11.5px;background:var(--gold-l);color:#7a5c1a;padding:3px 9px;border-radius:20px;font-weight:700}
.tc-foot{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-top:1px solid #f0f0f0;margin-top:14px}
.tc-price .from{font-size:10.5px;color:var(--text2);text-transform:uppercase;display:block;letter-spacing:.5px}
.tc-price strong{font-family:'Playfair Display',serif;font-size:22px;color:var(--gold);display:block;line-height:1.1}

/* ════════════════════════════════════════════
   FORM (shared)
════════════════════════════════════════════ */
.contact-form{background:#fff;border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow-lg)}
.contact-form h3{font-size:22px;margin-bottom:22px;color:var(--text)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-group{display:flex;flex-direction:column;gap:5px;margin-bottom:16px}
.form-group label{font-size:13px;font-weight:700;color:var(--text)}
.form-group input,.form-group select,.form-group textarea{padding:11px 14px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:14px;font-family:'Nunito',sans-serif;color:var(--text);transition:border-color var(--tr);outline:none}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold)}
.form-group textarea{min-height:100px;resize:vertical}
.form-submit{width:100%;background:var(--gold);color:#fff;padding:14px;border-radius:30px;font-size:15px;font-weight:700;font-family:'Nunito',sans-serif;cursor:pointer;transition:var(--tr);border:none}
.form-submit:hover{background:var(--gold-d);transform:translateY(-2px)}
.form-response{display:none;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}
.form-response.ok{background:#d4edda;color:#155724;border:1px solid #c3e6cb}
.form-response.err{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}

/* ════════════════════════════════════════════
   STATS BAR
════════════════════════════════════════════ */
.stats-bar{background:var(--gold);padding:56px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat-item{text-align:center;padding:16px;border-right:1px solid rgba(255,255,255,.3)}
.stat-item:last-child{border:none}
.stat-n{font-family:'Playfair Display',serif;font-size:44px;font-weight:700;color:#fff;line-height:1;display:inline-block}
.stat-s{font-size:30px;font-weight:700;color:#fff}
.stat-l{font-size:13px;color:rgba(255,255,255,.82);text-transform:uppercase;letter-spacing:1px;margin-top:5px;display:block}

/* ════════════════════════════════════════════
   WHY CHOOSE
════════════════════════════════════════════ */
.why-feat{display:flex;gap:18px;align-items:flex-start;padding:18px;background:var(--bg);border-radius:12px;border:1.5px solid transparent;transition:var(--tr)}
.why-feat:hover{border-color:var(--gold);background:#fff;box-shadow:var(--shadow)}
.wf-icon{min-width:50px;height:50px;background:linear-gradient(135deg,var(--gold),#e8c96d);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;flex-shrink:0}
.wf-text h4{font-size:15px;font-weight:700;margin-bottom:5px;font-family:'Nunito',sans-serif}
.wf-text p{font-size:13.5px;color:var(--text2);line-height:1.7}

/* ════════════════════════════════════════════
   REVIEWS
════════════════════════════════════════════ */
.review-card{background:var(--bg);border-radius:var(--radius);padding:26px;border:1.5px solid transparent;transition:var(--tr);position:relative;overflow:hidden}
.review-card::before{content:'❝';position:absolute;top:12px;right:18px;font-size:52px;color:var(--gold);opacity:.12;font-family:'Playfair Display',serif;line-height:1;pointer-events:none}
.review-card:hover{border-color:var(--gold);background:#fff;box-shadow:var(--shadow)}
.rev-stars{color:var(--gold);letter-spacing:2px;margin-bottom:12px;font-size:14px}
.rev-text{font-size:14px;color:var(--text2);line-height:1.8;margin-bottom:18px;font-style:italic}
.rev-author{display:flex;align-items:center;gap:12px}
.rev-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--gold),#e8c96d);display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:14px;flex-shrink:0}
.rev-info strong{display:block;font-size:14px;font-weight:700}
.rev-info span{font-size:12px;color:var(--text2)}

/* ════════════════════════════════════════════
   PARTNERS MARQUEE
════════════════════════════════════════════ */
.partners{background:var(--dark2);padding:56px 0;overflow:hidden}
.partners h3{text-align:center;color:#fff;font-family:'Playfair Display',serif;font-size:22px;margin-bottom:34px;opacity:.88}
.marquee-wrap{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);mask:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}
.marquee-track{display:flex;gap:54px;align-items:center;width:max-content;animation:marquee 22s linear infinite}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee-track:hover{animation-play-state:paused}
.p-logo{color:rgba(255,255,255,.5);font-size:14px;font-weight:700;letter-spacing:.5px;white-space:nowrap;display:flex;align-items:center;gap:8px;transition:color var(--tr)}
.p-logo:hover,.p-logo i{color:var(--gold)}
.p-logo i{font-size:20px;color:rgba(255,255,255,.4);transition:color var(--tr)}

/* ════════════════════════════════════════════
   NEWSLETTER
════════════════════════════════════════════ */
.newsletter{background:var(--dark);padding:80px 0;text-align:center;color:#fff}
.newsletter h2{font-size:clamp(24px,4vw,40px);margin-bottom:12px}
.newsletter h2 span{color:var(--gold)}
.newsletter p{color:rgba(255,255,255,.68);font-size:16px;margin-bottom:32px}
.nl-form{display:flex;max-width:480px;margin:0 auto;gap:10px}
.nl-form input{flex:1;padding:14px 20px;border-radius:30px;border:none;font-size:14px;font-family:'Nunito',sans-serif;outline:none}
.nl-form button{padding:14px 26px;background:var(--gold);color:#fff;border:none;border-radius:30px;font-weight:700;font-size:14px;cursor:pointer;transition:var(--tr);font-family:'Nunito',sans-serif;white-space:nowrap}
.nl-form button:hover{background:var(--gold-d)}

/* ════════════════════════════════════════════
   FOOTER
════════════════════════════════════════════ */
footer{background:#05080f;color:rgba(255,255,255,.68);padding:80px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.6fr;gap:48px;margin-bottom:60px}
.footer-logo img{height:46px;margin-bottom:18px;object-fit:contain}
.footer-brand p{font-size:14px;line-height:1.9;opacity:.8;margin-bottom:20px}
.social-row{display:flex;gap:10px}
.social-row a{width:36px;height:36px;background:rgba(255,255,255,.07);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);font-size:14px;transition:var(--tr)}
.social-row a:hover{background:var(--gold);color:#fff}
.footer-col h4{font-size:14px;font-weight:700;color:#fff;margin-bottom:18px;padding-bottom:9px;border-bottom:2px solid var(--gold);display:inline-block}
.footer-col ul li{margin-bottom:9px}
.footer-col ul li a{font-size:13.5px;transition:color var(--tr);display:flex;align-items:center;gap:6px}
.footer-col ul li a::before{content:'›';color:var(--gold)}
.footer-col ul li a:hover{color:var(--gold)}
.footer-contact-item{display:flex;gap:12px;margin-bottom:14px;align-items:flex-start}
.footer-contact-item i{color:var(--gold);font-size:15px;margin-top:2px;min-width:15px}
.footer-contact-item span{font-size:13.5px;line-height:1.6}
.footer-contact-item a{color:rgba(255,255,255,.75)}
.footer-contact-item a:hover{color:var(--gold)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding:22px 0}
.footer-bottom .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.footer-bottom p{font-size:12.5px;opacity:.6}
.footer-bottom a{color:var(--gold)}

/* ════════════════════════════════════════════
   FLOATING BUTTONS
════════════════════════════════════════════ */
.wa-float{position:fixed;bottom:88px;right:26px;width:50px;height:50px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;box-shadow:0 4px 18px rgba(37,211,102,.45);z-index:999;animation:bob 2.5s ease-in-out infinite;transition:var(--tr)}
.wa-float:hover{transform:scale(1.1);background:#1db954}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.back-top{position:fixed;bottom:26px;right:26px;width:44px;height:44px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;box-shadow:0 4px 16px rgba(201,168,76,.4);cursor:pointer;z-index:999;opacity:0;transform:translateY(16px);transition:var(--tr);border:none}
.back-top.show{opacity:1;transform:translateY(0)}
.back-top:hover{background:var(--gold-d)}

/* ════════════════════════════════════════════
   TOUR DETAIL PAGE
════════════════════════════════════════════ */
.tour-detail-layout{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:start}
.tour-detail-sticky{position:sticky;top:90px}
.booking-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}
.booking-card-header{background:var(--dark2);padding:24px;color:#fff;text-align:center}
.booking-card-header .price-big{font-family:'Playfair Display',serif;font-size:46px;color:var(--gold);font-weight:700;line-height:1;display:block}
.booking-card-header .price-sub{font-size:13px;color:rgba(255,255,255,.65)}
.booking-card-body{padding:24px}
.tour-info-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.tour-info-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f0f0f0;font-size:14px}
.tour-info-item:last-child{border:none}
.tour-info-item .label{color:var(--text2);font-weight:600;display:flex;align-items:center;gap:8px}
.tour-info-item .label i{color:var(--gold);width:16px}
.tour-info-item .val{font-weight:700;color:var(--text)}
.inclusions-list{display:flex;flex-direction:column;gap:8px;margin:16px 0}
.incl-item{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text2)}
.incl-item i{color:var(--gold);font-size:13px;flex-shrink:0}
/* gallery */
.tour-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:32px}
.tour-gallery img{border-radius:12px;object-fit:cover;width:100%;height:220px}
.tour-gallery img:first-child{grid-column:span 2;height:380px}
/* tabs */
.tabs{display:flex;gap:4px;border-bottom:2px solid #f0f0f0;margin-bottom:28px}
.tab-btn{padding:12px 22px;font-size:14px;font-weight:700;color:var(--text2);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color var(--tr),border-color var(--tr);background:none;border-top:none;border-left:none;border-right:none;font-family:'Nunito',sans-serif}
.tab-btn.active{color:var(--gold);border-bottom-color:var(--gold)}
.tab-pane{display:none}
.tab-pane.active{display:block}
.tab-pane h4{font-size:17px;margin-bottom:14px;color:var(--text)}
.tab-pane p{font-size:14.5px;color:var(--text2);line-height:1.85;margin-bottom:16px}
.check-list{display:flex;flex-direction:column;gap:8px}
.check-list li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text2)}
.check-list li i{color:var(--gold);flex-shrink:0}
.cross-list li i{color:#e74c3c}

/* ════════════════════════════════════════════
   FILTERS (tours page)
════════════════════════════════════════════ */
.tours-filter-bar{background:#fff;border-radius:var(--radius);padding:20px 24px;box-shadow:var(--shadow);margin-bottom:36px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tours-filter-bar .lbl{font-size:13px;font-weight:700;color:var(--text);margin-right:4px}
.f-btn{padding:9px 20px;border:2px solid #e2e8f0;border-radius:30px;font-size:13.5px;font-weight:700;cursor:pointer;transition:var(--tr);color:var(--text2);background:#fff}
.f-btn.active,.f-btn:hover{border-color:var(--gold);background:var(--gold);color:#fff}

/* ════════════════════════════════════════════
   ABOUT PAGE SPECIFICS
════════════════════════════════════════════ */
.team-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);text-align:center;transition:var(--tr)}
.team-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.team-img{height:260px;overflow:hidden;background:#e8e8e8}
.team-img img{width:100%;height:100%;object-fit:cover;object-position:top}
.team-body{padding:20px}
.team-body h3{font-size:18px;margin-bottom:4px;color:var(--text)}
.team-body .role{font-size:13px;color:var(--gold);font-weight:700;margin-bottom:10px;display:block}
.team-social{display:flex;justify-content:center;gap:8px}
.team-social a{width:32px;height:32px;background:var(--bg);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text2);font-size:13px;transition:var(--tr)}
.team-social a:hover{background:var(--gold);color:#fff}
.timeline{position:relative;padding-left:36px}
.timeline::before{content:'';position:absolute;left:14px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--gold),transparent)}
.tl-item{position:relative;margin-bottom:32px}
.tl-dot{position:absolute;left:-30px;top:4px;width:16px;height:16px;border-radius:50%;background:var(--gold);border:3px solid #fff;box-shadow:0 0 0 2px var(--gold)}
.tl-year{font-size:12px;font-weight:800;color:var(--gold);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}
.tl-title{font-size:16px;font-weight:700;margin-bottom:6px;font-family:'Nunito',sans-serif}
.tl-text{font-size:14px;color:var(--text2);line-height:1.75}
.value-card{background:var(--bg);border-radius:var(--radius);padding:28px;border-left:4px solid var(--gold);transition:var(--tr)}
.value-card:hover{background:#fff;box-shadow:var(--shadow)}
.value-card i{font-size:28px;color:var(--gold);margin-bottom:14px;display:block}
.value-card h4{font-size:17px;margin-bottom:8px;font-family:'Nunito',sans-serif;font-weight:700}
.value-card p{font-size:14px;color:var(--text2);line-height:1.75}

/* ════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════ */
@media(max-width:1024px){
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .tour-detail-layout{grid-template-columns:1fr}
  .tour-detail-sticky{position:static}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  nav{display:none}
  .hamburger{display:flex}
  .grid-2{grid-template-columns:1fr}
  .grid-4{grid-template-columns:1fr 1fr}
  .stats-grid{grid-template-columns:1fr 1fr}
  .grid-3{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .topbar-left .addr{display:none}
  .nl-form{flex-direction:column}
  .tour-gallery img:first-child{height:240px}
  .tour-gallery img{height:160px}
  .tabs{overflow-x:auto}
}
@media(max-width:480px){
  .grid-4{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr 1fr}
}

/* perf: offscreen sections */
.section,.partners,.newsletter{content-visibility:auto;contain-intrinsic-size:0 500px}

/* ═══ LOGO LOCKUP ══════════════════════════════════════════ */
.zt-logo-lockup {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}
.zt-logo-icon {
  width: 52px;
  height: 52px;
  object-fit: contain;
  flex-shrink: 0;
  /* Black bg shows gold icon perfectly */
  border-radius: 6px;
}
.zt-logo-wordmark {
  height: 46px;
  width: auto;
  max-width: 220px;
  object-fit: contain;
  /* Black bg shows gold text perfectly */
  border-radius: 4px;
}

/* Slightly smaller on mobile */
@media (max-width: 768px) {
  .zt-logo-icon     { width: 40px; height: 40px; }
  .zt-logo-wordmark { height: 36px; max-width: 160px; }
}
@media (max-width: 380px) {
  .zt-logo-wordmark { display: none; }
  .zt-logo-icon     { width: 44px; height: 44px; }
}

/* Footer brand logo */
.footer-logo .zt-logo-lockup { gap: 8px; }
.footer-logo .zt-logo-icon   { width: 40px; height: 40px; }
.footer-logo .zt-logo-wordmark { height: 38px; }

/* Mobile nav header logo */
.zt-mob-header .zt-logo-lockup { gap: 8px; }
.zt-mob-header .zt-logo-icon   { width: 36px; height: 36px; }
.zt-mob-header .zt-logo-wordmark { height: 32px; }

/* ═══ MISSING CLASSES & FIXES ════════════════════════════ */

/* Mobile nav Book Now button */
.mob-book-btn {
  margin-top: 20px !important;
  background: var(--gold) !important;
  color: #fff !important;
  text-align: center;
  border-radius: 50px;
  padding: 12px !important;
  font-weight: 700;
  display: block;
}
.mob-book-btn:hover { background: var(--gold-d) !important; }

/* Entry content (blog/page) */
.entry-content { line-height: 1.85; }
.entry-content h2,.entry-content h3,.entry-content h4 {
  font-family: var(--font-h, 'Playfair Display', serif);
  margin: 28px 0 12px;
  color: var(--text, #1a1a2e);
}
.entry-content p   { margin-bottom: 16px; color: var(--text2, #555d6e); }
.entry-content ul, .entry-content ol { padding-left: 24px; margin-bottom: 16px; color: var(--text2, #555d6e); }
.entry-content li  { margin-bottom: 6px; }
.entry-content a   { color: var(--gold); text-decoration: underline; }
.entry-content img { border-radius: var(--radius, 12px); margin: 16px 0; }
.entry-content blockquote {
  border-left: 4px solid var(--gold);
  padding: 16px 20px;
  background: var(--bg, #f8f9fc);
  border-radius: 0 var(--radius, 12px) var(--radius, 12px) 0;
  margin: 20px 0;
  font-style: italic;
  color: var(--text2, #555d6e);
}

/* Tour cards: tc-inclusions */
.tc-inclusions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}
.tc-incl {
  font-size: 12px;
  color: var(--text2, #555d6e);
  background: var(--bg, #f8f9fc);
  padding: 3px 8px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* Inclusions list (tour detail) */
.inclusions-list { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; }
.incl-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: var(--text2, #555d6e);
  line-height: 1.6;
}
.incl-item i { flex-shrink: 0; margin-top: 2px; }

/* Booking card */
.booking-card {
  background: #fff;
  border-radius: var(--radius-lg, 16px);
  overflow: hidden;
  box-shadow: var(--shadow-lg, 0 12px 40px rgba(0,0,0,.14));
}
.booking-card-header {
  background: linear-gradient(135deg, var(--dark, #0d1b2a), var(--dark2, #1a2e42));
  padding: 26px 24px;
  text-align: center;
  color: #fff;
}
.price-big {
  font-family: var(--font-h, 'Playfair Display', serif);
  font-size: 38px;
  font-weight: 700;
  color: var(--gold, #c9a84c);
  display: block;
  line-height: 1;
  margin-bottom: 4px;
}
.price-sub {
  font-size: 12px;
  color: rgba(255,255,255,.5);
  display: block;
  margin-top: 4px;
}
.booking-card-body { padding: 24px; }
.form-group { margin-bottom: 14px; }
.form-group label {
  display: block;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--text, #1a1a2e);
  margin-bottom: 5px;
}
.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 10px 14px;
  border: 2px solid var(--border, #e8ecf0);
  border-radius: 8px;
  font-size: 14px;
  font-family: inherit;
  color: var(--text, #1a1a2e);
  background: #fff;
  outline: none;
  transition: border-color .25s ease;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { border-color: var(--gold, #c9a84c); }
.form-group textarea { min-height: 80px; resize: vertical; }
.form-submit {
  width: 100%;
  background: var(--gold, #c9a84c);
  color: #fff;
  border: none;
  border-radius: 50px;
  padding: 13px;
  font-size: 15px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  transition: background .25s ease;
}
.form-submit:hover { background: var(--gold-d, #a8883a); }
.form-response {
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 14px;
  margin-bottom: 14px;
  display: none;
}
.form-response.ok  { background: #d1fae5; color: #065f46; display: block; }
.form-response.err { background: #fee2e2; color: #991b1b; display: block; }

/* Tour tabs */
.tabs {
  display: flex;
  gap: 4px;
  border-bottom: 2px solid var(--border, #e8ecf0);
  margin-bottom: 24px;
  flex-wrap: wrap;
  overflow-x: auto;
}
.tab-btn {
  padding: 11px 20px;
  font-size: 14px;
  font-weight: 600;
  color: var(--text2, #555d6e);
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  background: none;
  cursor: pointer;
  font-family: inherit;
  white-space: nowrap;
  transition: color .25s, border-color .25s;
}
.tab-btn:hover { color: var(--gold, #c9a84c); }
.tab-btn.active { color: var(--gold, #c9a84c); border-bottom-color: var(--gold, #c9a84c); }
.tab-pane { display: none; }
.tab-pane.active { display: block; }
.tab-pane h4 {
  font-family: var(--font-h, 'Playfair Display', serif);
  font-size: 20px;
  margin-bottom: 12px;
  color: var(--text, #1a1a2e);
}

/* Value cards (about page) */
.value-card {
  background: #fff;
  border-radius: var(--radius, 12px);
  padding: 28px 24px;
  box-shadow: var(--shadow, 0 4px 24px rgba(0,0,0,.08));
  border-top: 4px solid var(--gold, #c9a84c);
  transition: transform .25s, box-shadow .25s;
}
.value-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg, 0 12px 40px rgba(0,0,0,.14)); }
.value-card i { font-size: 28px; color: var(--gold, #c9a84c); display: block; margin-bottom: 14px; }
.value-card h4 { font-size: 16px; font-weight: 700; margin-bottom: 8px; font-family: inherit; }
.value-card p { font-size: 14px; color: var(--text2, #555d6e); line-height: 1.75; }

/* Timeline (about page) */
.timeline { position: relative; padding-left: 32px; }
.timeline::before {
  content: '';
  position: absolute;
  left: 8px; top: 8px; bottom: 0;
  width: 2px;
  background: linear-gradient(to bottom, var(--gold, #c9a84c), transparent);
}
.tl-item { position: relative; margin-bottom: 32px; }
.tl-dot {
  position: absolute;
  left: -28px;
  top: 5px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--gold, #c9a84c);
  border: 3px solid #fff;
  box-shadow: 0 0 0 2px var(--gold, #c9a84c);
}
.tl-year { font-size: 11px; font-weight: 800; color: var(--gold, #c9a84c); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 4px; }
.tl-title { font-size: 16px; font-weight: 700; margin-bottom: 6px; color: var(--text, #1a1a2e); }
.tl-text { font-size: 14px; color: var(--text2, #555d6e); line-height: 1.75; }

/* Services page */
.svc-card {
  background: #fff;
  border-radius: var(--radius, 12px);
  padding: 28px 24px;
  box-shadow: var(--shadow, 0 4px 24px rgba(0,0,0,.08));
  border-top: 4px solid var(--gold, #c9a84c);
  transition: transform .25s, box-shadow .25s;
  display: flex;
  flex-direction: column;
}
.svc-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg, 0 12px 40px rgba(0,0,0,.14)); }
.svc-icon {
  width: 52px; height: 52px;
  background: linear-gradient(135deg, var(--gold, #c9a84c), #e8c96d);
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; color: #fff;
  margin-bottom: 16px;
}
.svc-card h3 { font-size: 18px; font-weight: 700; margin-bottom: 10px; color: var(--text, #1a1a2e); }
.svc-card > p { font-size: 14px; color: var(--text2, #555d6e); line-height: 1.75; margin-bottom: 16px; }
.svc-card ul { list-style: none; padding: 0; margin: 0 0 20px; display: flex; flex-direction: column; gap: 7px; flex: 1; }
.svc-card ul li { font-size: 13.5px; color: var(--text2, #555d6e); display: flex; align-items: flex-start; gap: 8px; }
.svc-card ul li i { color: var(--gold, #c9a84c); flex-shrink: 0; margin-top: 2px; }

/* Fleet cards (services page) */
.fleet-card {
  background: #fff;
  border-radius: var(--radius, 12px);
  padding: 24px;
  box-shadow: var(--shadow, 0 4px 24px rgba(0,0,0,.08));
  text-align: center;
  transition: transform .25s;
}
.fleet-card:hover { transform: translateY(-4px); }
.fleet-emoji { font-size: 44px; display: block; margin-bottom: 12px; }
.fleet-card h3 { font-size: 17px; font-weight: 700; margin-bottom: 6px; color: var(--text, #1a1a2e); }
.fleet-card .cap {
  font-size: 12px;
  background: rgba(201,168,76,.12);
  color: var(--gold-d, #a8883a);
  padding: 3px 10px;
  border-radius: 20px;
  font-weight: 700;
  display: inline-block;
  margin-bottom: 10px;
}
.fleet-card p { font-size: 13.5px; color: var(--text2, #555d6e); line-height: 1.7; }

/* Process steps (services page) */
.step-num {
  min-width: 46px; height: 46px;
  background: var(--gold, #c9a84c);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-h, 'Playfair Display', serif);
  font-size: 20px; font-weight: 700;
  color: #fff; flex-shrink: 0;
}
.step-text h4 { font-size: 16px; font-weight: 700; margin-bottom: 6px; }
.step-text p { font-size: 14px; color: var(--text2, #555d6e); line-height: 1.75; }

/* Contact page */
.contact-info-card {
  background: #fff;
  border-radius: var(--radius, 12px);
  padding: 22px 18px;
  box-shadow: var(--shadow, 0 4px 24px rgba(0,0,0,.08));
  display: flex;
  gap: 16px;
  align-items: flex-start;
  border-left: 4px solid var(--gold, #c9a84c);
  transition: transform .25s, box-shadow .25s;
}
.contact-info-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg, 0 12px 40px rgba(0,0,0,.14)); }
.ci-icon {
  min-width: 46px; height: 46px;
  background: linear-gradient(135deg, var(--gold, #c9a84c), #e8c96d);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; color: #fff; flex-shrink: 0;
}
.ci-text h4 { font-size: 14px; font-weight: 700; margin-bottom: 6px; }
.ci-text p, .ci-text a { font-size: 14px; color: var(--text2, #555d6e); line-height: 1.7; }
.ci-text a:hover { color: var(--gold, #c9a84c); }

/* Trust badge (contact page) */
.trust-badge {
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: var(--shadow, 0 4px 24px rgba(0,0,0,.08));
  text-align: center;
}
.trust-badge i { font-size: 24px; color: var(--gold, #c9a84c); display: block; margin-bottom: 10px; }
.trust-badge h4 { font-size: 14px; font-weight: 700; margin-bottom: 6px; }
.trust-badge p { font-size: 12.5px; color: var(--text2, #555d6e); line-height: 1.65; }

/* Map embed */
.map-embed { border-radius: var(--radius-lg, 16px); overflow: hidden; box-shadow: var(--shadow-lg, 0 12px 40px rgba(0,0,0,.14)); }
.map-embed iframe { display: block; }

/* Contact form wrapper */
.contact-form {
  background: #fff;
  border-radius: var(--radius, 12px);
  padding: 36px;
  box-shadow: var(--shadow-lg, 0 12px 40px rgba(0,0,0,.14));
}
.contact-form h3 {
  font-family: var(--font-h, 'Playfair Display', serif);
  font-size: 24px;
  margin-bottom: 24px;
}
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 600px) {
  .form-row { grid-template-columns: 1fr; }
}

/* Grid layouts */
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }

@media (max-width: 1024px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .grid-2 { grid-template-columns: 1fr; gap: 36px; }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .grid-3 { grid-template-columns: 1fr; }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .grid-4 { grid-template-columns: 1fr; }
}

/* Why feats section */
.why-feat {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  padding: 18px;
  background: var(--bg, #f8f9fc);
  border-radius: 12px;
  border: 1.5px solid transparent;
  transition: all .25s;
}
.why-feat:hover {
  border-color: var(--gold, #c9a84c);
  background: #fff;
  box-shadow: var(--shadow, 0 4px 24px rgba(0,0,0,.08));
}
.wf-icon {
  min-width: 50px; height: 50px;
  background: linear-gradient(135deg, var(--gold, #c9a84c), #e8c96d);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; color: #fff; flex-shrink: 0;
}
.wf-text h4 { font-size: 15px; font-weight: 700; margin-bottom: 6px; }
.wf-text p { font-size: 14px; color: var(--text2, #555d6e); line-height: 1.75; margin: 0; }

/* Review cards */
.review-card {
  background: var(--bg, #f8f9fc);
  border-radius: var(--radius, 12px);
  padding: 26px;
  border: 1.5px solid var(--border, #e8ecf0);
  transition: all .25s;
  position: relative;
}
.review-card:hover { border-color: var(--gold, #c9a84c); background: #fff; box-shadow: var(--shadow, 0 4px 24px rgba(0,0,0,.08)); }
.rev-stars { color: #f0a500; font-size: 15px; margin-bottom: 12px; letter-spacing: 2px; }
.rev-text { font-size: 14px; color: var(--text2, #555d6e); line-height: 1.8; margin-bottom: 18px; font-style: italic; }
.rev-author { display: flex; align-items: center; gap: 12px; }
.rev-avatar {
  width: 44px; height: 44px; border-radius: 50%;
  background: linear-gradient(135deg, var(--gold, #c9a84c), #e8c96d);
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; color: #fff; font-size: 15px; flex-shrink: 0;
}
.rev-info strong { display: block; font-size: 14px; font-weight: 700; }
.rev-info span { font-size: 12px; color: var(--text2, #555d6e); }

/* btn-outline-white for hero */
.btn-outline-white {
  background: transparent;
  color: #fff;
  border: 2px solid rgba(255,255,255,.5);
}
.btn-outline-white:hover {
  border-color: var(--gold, #c9a84c);
  color: var(--gold, #c9a84c);
}

/* About page highlights */
.zt-about-highlight {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 600;
}
.zt-about-highlight__icon { color: var(--gold, #c9a84c); font-size: 16px; }

/* Misc */
.sec-tag.left { display: inline-block; }
