/* =========================================================
   Lets Vacation — New Theme
   Dark navy + gold accent, glass surfaces, soft motion
   ========================================================= */

:root{
  --bg-0:#0b0f1a;
  --bg-1:#10162a;
  --bg-2:#161d34;
  --card:#141b30;
  --card-border:rgba(255,255,255,0.08);
  --gold:#e8b04b;
  --gold-2:#f7d488;
  --text:#eef1f8;
  --muted:#9aa3bd;
  --muted-2:#6b7394;
  --danger:#ef5a6f;
  --success:#3ecf8e;
  --radius:16px;
  --radius-sm:10px;
  --shadow:0 10px 30px rgba(0,0,0,0.35);
  --container:1200px;
  --ease:cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:radial-gradient(1200px 600px at 10% -10%, #1a2340 0%, transparent 60%),
             radial-gradient(1000px 500px at 110% 10%, #241a3a 0%, transparent 55%),
             var(--bg-0);
  color:var(--text);
  font-family:'Poppins','Segoe UI',sans-serif;
  margin:0;
  overflow-x:hidden;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.lv-container{max-width:var(--container); margin:0 auto; padding:0 20px;}

::selection{background:var(--gold); color:#1a1200;}

/* ---------- Scrollbar ---------- */
::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-track{background:var(--bg-1);}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--gold),#a97a1f); border-radius:10px;}

/* ---------- Buttons ---------- */
.lv-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:13px 28px; border-radius:999px; border:none; cursor:pointer;
  font-weight:600; font-size:15px; letter-spacing:.2px;
  background:linear-gradient(135deg,var(--gold-2),var(--gold));
  color:#231704; transition:transform .3s var(--ease), box-shadow .3s var(--ease), filter .3s;
  box-shadow:0 8px 20px rgba(232,176,75,.25);
}
.lv-btn:hover{transform:translateY(-3px); box-shadow:0 14px 30px rgba(232,176,75,.4); filter:brightness(1.05);}
.lv-btn:active{transform:translateY(0);}
.lv-btn.outline{
  background:transparent; color:var(--gold); box-shadow:none;
  border:1.5px solid var(--gold);
}
.lv-btn.outline:hover{background:rgba(232,176,75,.1);}
.lv-btn.ghost{background:rgba(255,255,255,.06); color:var(--text); box-shadow:none; border:1px solid var(--card-border);}
.lv-btn.block{width:100%;}
.lv-btn:disabled{opacity:.5; cursor:not-allowed; transform:none;}

/* ---------- Header / Nav ---------- */
.lv-header{
  position:sticky; top:0; z-index:1000;
  background:rgba(11,15,26,.75);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--card-border);
  transition:background .3s;
}
.lv-nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0;
  max-width: 1350px !important;
}
.lv-logo{font-size:24px; font-weight:800; color:var(--text); display:flex; align-items:center; gap:8px;}
.lv-logo span{color:var(--gold);}
.lv-menu{display:flex; align-items:center; gap:4px; list-style:none; margin:0; padding:0;}
.lv-menu>li{position:relative;}
.lv-menu>li>a{
  display:flex; align-items:center; gap:6px;
  padding:10px 16px; border-radius:999px; font-weight:500; color:var(--muted);
  transition:color .25s, background .25s;
}
.lv-menu>li>a:hover, .lv-menu>li.active>a{color:var(--text); background:rgba(255,255,255,.06);}
.lv-menu>li>a i{font-size:11px; transition:transform .3s var(--ease);}
.lv-menu>li:hover>a i{transform:rotate(180deg);}

.lv-mega{
  position:absolute; top:calc(68% + 14px); left:50%; transform:translateX(-50%) translateY(10px);
  width:min(900px,90vw);
  background:linear-gradient(180deg,var(--bg-2),var(--bg-1));
  border:1px solid var(--card-border); border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:26px; display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:22px;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .3s var(--ease), transform .3s var(--ease), visibility .3s;
  max-height:70vh; overflow-y:auto;
}
.lv-menu>li:hover .lv-mega{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); pointer-events:auto;}
.lv-mega-col h4{
  color:var(--gold); font-size:12px; letter-spacing:1.5px; text-transform:uppercase;
  margin:0 0 12px; padding-bottom:8px; border-bottom:1px solid var(--card-border);
}
.lv-mega-col a{display:block; padding:6px 0; color:var(--muted); font-size:14.5px; transition:color .2s, transform .2s;}
.lv-mega-col a:hover{color:var(--gold-2); transform:translateX(4px);}
.lv-mega-empty{color:var(--muted-2); font-size:13px; grid-column:1/-1;}

.lv-nav-actions{display:flex; align-items:center; gap:10px;}
.lv-icon-btn{
  width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.06); color:var(--text); border:1px solid var(--card-border);
  transition:background .25s, transform .25s;
}
.lv-icon-btn:hover{background:rgba(232,176,75,.15); transform:translateY(-2px);}
.lv-burger{display:none; background:none; border:none; color:var(--text); font-size:24px; cursor:pointer;}

@media(max-width:960px){
  .lv-menu{display:none;}
  .lv-burger{display:block;}
}

/* ---------- Hero / Breadcrumb banner ---------- */
.lv-hero{
  position:relative; padding:90px 0 70px; text-align:center; overflow:hidden;
  background:linear-gradient(180deg,var(--bg-1),var(--bg-0));
}
.lv-hero::before{
  content:''; position:absolute; inset:0;
  background:radial-gradient(500px 260px at 20% 20%, rgba(232,176,75,.12), transparent),
             radial-gradient(500px 260px at 80% 60%, rgba(120,90,220,.15), transparent);
}
.lv-hero h1{font-size:clamp(30px,5vw,52px); margin:0 0 12px; font-weight:800;}
.lv-hero p{color:var(--muted); max-width:600px; margin:0 auto; font-size:16px;}
.lv-crumbs{margin-top:18px; color:var(--muted-2); font-size:14px;}
.lv-crumbs a{color:var(--gold-2);}

/* ---------- Section titles ---------- */
.lv-section{padding:70px 0;}
.lv-section-title{text-align:center; max-width:640px; margin:0 auto 46px;}
.lv-eyebrow{color:var(--gold); text-transform:uppercase; letter-spacing:2px; font-size:12.5px; font-weight:700;}
.lv-section-title h2{font-size:clamp(26px,4vw,38px); margin:10px 0 0; font-weight:800;}

/* ---------- Grids & Cards ---------- */
.lv-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:28px;}
.lv-card{
  background:var(--card); border:1px solid var(--card-border); border-radius:var(--radius);
  overflow:hidden; position:relative; transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s;
}
.lv-card:hover{transform:translateY(-8px); box-shadow:var(--shadow); border-color:rgba(232,176,75,.35);}
.lv-card-img{position:relative; height:210px; overflow:hidden;}
.lv-card-img img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease);}
.lv-card:hover .lv-card-img img{transform:scale(1.09);}
.lv-card-badge{
  position:absolute; top:14px; left:14px; background:rgba(11,15,26,.75); backdrop-filter:blur(6px);
  color:var(--gold-2); padding:6px 14px; border-radius:999px; font-size:12.5px; font-weight:600;
  border:1px solid rgba(232,176,75,.4);
}
.lv-card-body{padding:20px;}
.lv-card-body h3{margin:0 0 6px; font-size:19px;}
.lv-card-meta{display:flex; align-items:center; justify-content:space-between; margin-top:14px; padding-top:14px; border-top:1px solid var(--card-border);}
.lv-price{color:var(--gold-2); font-weight:700; font-size:17px;}
.lv-price small{color:var(--muted-2); font-weight:400; text-decoration:line-through; margin-left:6px; font-size:13px;}
.lv-tag{display:inline-flex; align-items:center; gap:6px; color:var(--muted); font-size:13px;}

/* ---------- Animations ---------- */
.reveal{opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal.in{opacity:1; transform:translateY(0);}
.reveal-scale{opacity:0; transform:scale(.92); transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal-scale.in{opacity:1; transform:scale(1);}
@keyframes floaty{0%,100%{transform:translateY(0);} 50%{transform:translateY(-14px);}}
.float{animation:floaty 5s ease-in-out infinite;}
@keyframes spinSlow{to{transform:rotate(360deg);}}
.spin-slow{animation:spinSlow 18s linear infinite;}

/* ---------- Forms ---------- */
.lv-form-group{margin-bottom:18px;}
.lv-form-group label{display:block; margin-bottom:8px; font-size:14px; color:var(--muted); font-weight:500;}
.lv-input, .lv-select, .lv-textarea{
  width:100%; padding:13px 16px; border-radius:var(--radius-sm); border:1px solid var(--card-border);
  background:rgba(255,255,255,.04); color:var(--text); font-size:15px; font-family:inherit;
  transition:border-color .25s, box-shadow .25s, background .25s;
}
.lv-input:focus, .lv-select:focus, .lv-textarea:focus{
  outline:none; border-color:var(--gold); box-shadow:0 0 0 4px rgba(232,176,75,.15); background:rgba(255,255,255,.06);
}
.lv-textarea{resize:vertical; min-height:110px;}
.lv-row{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px;}
.lv-card-panel{
  background:var(--card); border:1px solid var(--card-border); border-radius:var(--radius);
  padding:32px; box-shadow:var(--shadow);
}
.lv-alert{padding:14px 18px; border-radius:var(--radius-sm); margin-bottom:20px; font-size:14.5px;}
.lv-alert.success{background:rgba(62,207,142,.12); color:var(--success); border:1px solid rgba(62,207,142,.35);}
.lv-alert.error{background:rgba(239,90,111,.12); color:var(--danger); border:1px solid rgba(239,90,111,.35);}

/* ---------- Gallery ---------- */
.lv-gallery{display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:14px;}
.lv-gallery a{border-radius:var(--radius-sm); overflow:hidden; height:150px; display:block; position:relative;}
.lv-gallery img{width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease), filter .5s;}
.lv-gallery a:hover img{transform:scale(1.12); filter:brightness(1.1);}

/* ---------- Tour detail ---------- */
.lv-tour-hero{position:relative; height:420px; border-radius:var(--radius); overflow:hidden; margin-bottom:36px;}
.lv-tour-hero img{width:100%; height:100%; object-fit:cover;}
.lv-tour-hero::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(11,15,26,.95));}
.lv-tour-hero-content{position:absolute; left:0; right:0; bottom:0; padding:34px;}
.lv-tour-hero-content h1{font-size:clamp(24px,4vw,38px); margin:0 0 10px;}
.lv-chip{display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,.08); border:1px solid var(--card-border); padding:6px 14px; border-radius:999px; font-size:13px; margin-right:8px;}
.lv-chip.gold{color:var(--gold-2); border-color:rgba(232,176,75,.4);}
.lv-two-col{display:grid; grid-template-columns:1.6fr 1fr; gap:36px; align-items:start;}
@media(max-width:900px){.lv-two-col{grid-template-columns:1fr;}}
.lv-tabs{display:flex; gap:6px; border-bottom:1px solid var(--card-border); margin-bottom:22px; flex-wrap:wrap;}
.lv-tab{padding:10px 18px; cursor:pointer; color:var(--muted); border-bottom:2px solid transparent; font-weight:600; font-size:14.5px;}
.lv-tab.active{color:var(--gold-2); border-color:var(--gold);}
.lv-tab-panel{display:none; line-height:1.8; color:var(--muted);}
.lv-tab-panel.active{display:block;}
.lv-sticky-box{position:sticky; top:100px;}

/* ---------- Footer ---------- */
.lv-footer{background:var(--bg-1); border-top:1px solid var(--card-border); padding:60px 0 24px; margin-top:60px;}
.lv-footer-grid{display:grid; grid-template-columns:2fr repeat(3,1fr); gap:36px;}
@media(max-width:900px){.lv-footer-grid{grid-template-columns:repeat(2,1fr);}}
.lv-footer h4{color:var(--text); font-size:16px; margin:0 0 18px;}
.lv-footer a{display:block; color:var(--muted); margin-bottom:10px; font-size:14.5px; transition:color .2s;}
.lv-footer a:hover{color:var(--gold-2);}
.lv-footer-bottom{text-align:center; color:var(--muted-2); font-size:13.5px; margin-top:40px; padding-top:24px; border-top:1px solid var(--card-border);}
.lv-social{display:flex; gap:10px; margin-top:14px;}

/* ---------- Slip / print ---------- */
.lv-slip{max-width:640px; margin:60px auto; background:var(--card); border:1px solid var(--card-border); border-radius:var(--radius); padding:40px; box-shadow:var(--shadow);}
.lv-slip-head{text-align:center; margin-bottom:26px; padding-bottom:22px; border-bottom:1px dashed var(--card-border);}
.lv-slip-code{font-size:26px; font-weight:800; color:var(--gold-2); letter-spacing:1px;}
.lv-slip-row{display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.05); font-size:14.5px;}
.lv-slip-row span:first-child{color:var(--muted);}
@media print{.lv-header,.lv-footer,.no-print{display:none !important;} body{background:#fff; color:#000;}}

.lv-empty{text-align:center; padding:60px 20px; color:var(--muted);}
.lv-badge-dot{width:8px;height:8px;border-radius:50%; background:var(--success); display:inline-block; margin-right:6px;}

/* ===== Flight pages (international-flight.php / domestic-flight.php) ===== */
.lv-offer-strip{display:flex; gap:16px; overflow-x:auto; padding-bottom:10px; margin-bottom:10px;}
.lv-offer-chip{
  flex:0 0 auto; min-width:230px; background:var(--card); border:1px solid var(--card-border);
  border-radius:var(--radius-sm); padding:16px 18px; position:relative; overflow:hidden;
}
.lv-offer-chip::before{content:''; position:absolute; top:0; left:0; width:4px; height:100%; background:var(--gold);}
.lv-offer-chip .tag{display:inline-block; background:rgba(232,176,75,.15); color:var(--gold-2); font-size:11.5px; font-weight:700; padding:3px 10px; border-radius:999px; margin-bottom:8px;}
.lv-offer-chip h4{margin:0 0 4px; font-size:15px;}
.lv-offer-chip p{margin:0; color:var(--muted); font-size:13px;}

.lv-route{display:flex; align-items:center; gap:10px; font-size:13.5px; color:var(--muted); margin:8px 0;}
.lv-route i{color:var(--gold);}
.lv-route strong{color:var(--text);}

.lv-flight-card-badge{
  position:absolute; top:12px; left:12px; background:var(--gold); color:#1a1400;
  font-size:11.5px; font-weight:800; padding:4px 12px; border-radius:999px; z-index:2;
}

.lv-enquiry-panel{
  background:var(--card); border:1px solid var(--card-border); border-radius:var(--radius);
  padding:32px; box-shadow:var(--shadow);
}
.lv-enquiry-panel h3{margin:0 0 4px;}
.lv-enquiry-panel .sub{color:var(--muted); font-size:14px; margin:0 0 22px;}

.lv-radio-row{display:flex; gap:22px; margin-bottom:18px;}
.lv-radio-row label{display:flex; align-items:center; gap:7px; font-size:14px; color:var(--muted); font-weight:500; cursor:pointer;}
.lv-radio-row input{width:auto; margin:0;}

.lv-why-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:22px; margin-top:36px;}
.lv-why-card{background:var(--card); border:1px solid var(--card-border); border-radius:var(--radius-sm); padding:24px; text-align:center;}
.lv-why-card i{font-size:26px; color:var(--gold); margin-bottom:12px;}
.lv-why-card h4{margin:0 0 8px; font-size:15.5px;}
.lv-why-card p{margin:0; color:var(--muted); font-size:13.5px; line-height:1.6;}
