/* ============================================================
   EBO STAY — theme-v2.css
   Modern travel redesign layer. Loaded LAST (after style.css +
   luxe-refresh.css) so it wins the cascade without touching PHP.
   ============================================================ */

/* ── Design tokens ─────────────────────────────────────────── */
:root{
  --v2-navy:#0B1220;
  --v2-navy2:#101A30;
  --v2-ink:#0F172A;
  --v2-muted:#5B6B85;
  --v2-orange:#FF7A1A;
  --v2-orange2:#FF9D45;
  --v2-coral:#FF5D5D;
  --v2-sky:#38BDF8;
  --v2-gold:#FFC53D;
  --v2-radius:22px;
  --v2-radius-sm:14px;
  --v2-grad:linear-gradient(120deg,#FF7A1A 0%,#FF5D5D 55%,#FF9D45 100%);
  --v2-grad-soft:linear-gradient(120deg,rgba(255,122,26,.12),rgba(255,93,93,.10));
  --v2-glass:rgba(255,255,255,.72);
  --v2-glass-brd:rgba(255,255,255,.55);
  --v2-shadow:0 18px 50px rgba(11,18,32,.14);
  --v2-shadow-lg:0 30px 80px rgba(11,18,32,.22);
  --v2-ease:cubic-bezier(.22,.68,.32,1);
}

/* ── Global polish ─────────────────────────────────────────── */
html{scroll-behavior:smooth;}
body{
  font-family:'Inter','Poppins',system-ui,-apple-system,sans-serif;
  color:var(--v2-ink);
  overflow-x:hidden;
  background:#F6F8FC;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Poppins','Inter',sans-serif;letter-spacing:-.02em;}
img{max-width:100%;}
::selection{background:var(--v2-orange);color:#fff;}

/* Thin pretty scrollbar */
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:#EEF2F8;}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#FF9D45,#FF7A1A);border-radius:8px;border:2px solid #EEF2F8;}

/* ── Navbar: floating glass ────────────────────────────────── */
header.site-header, .site-header, nav.navbar, header nav, .main-nav{
  backdrop-filter:saturate(160%) blur(14px);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
}
header.scrolled{box-shadow:0 10px 40px rgba(11,18,32,.12);}

/* ── Buttons: gradient + shine sweep ───────────────────────── */
.btn,button.btn,a.btn,.btn-primary,.btn-secondary{
  position:relative;overflow:hidden;
  border-radius:14px!important;
  font-weight:700!important;letter-spacing:.01em;
  transition:transform .25s var(--v2-ease),box-shadow .25s var(--v2-ease),filter .25s;
}
.btn::after,a.btn::after,button.btn::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);
  transform:translateX(-120%);transition:transform .6s var(--v2-ease);
  pointer-events:none;
}
.btn:hover::after,a.btn:hover::after,button.btn:hover::after{transform:translateX(120%);}
.btn:hover,a.btn:hover,button.btn:hover{transform:translateY(-2px);}
.btn:active{transform:translateY(0) scale(.985);}

.btn-primary,.btn.btn-primary,a.btn.btn-primary{
  background:var(--v2-grad)!important;border:none!important;color:#fff!important;
  box-shadow:0 10px 26px rgba(255,106,26,.35)!important;
}
.btn-primary:hover{box-shadow:0 16px 36px rgba(255,106,26,.45)!important;filter:saturate(1.08);}

.btn-secondary,.btn.btn-secondary{
  background:#fff!important;color:var(--v2-ink)!important;
  border:1.5px solid #E4E9F2!important;
  box-shadow:0 6px 18px rgba(11,18,32,.07)!important;
}
.btn-secondary:hover{border-color:#FFB27A!important;box-shadow:0 12px 28px rgba(11,18,32,.1)!important;}

.btn-lg{padding:15px 34px!important;font-size:16px!important;}

/* ── Cards: lift + image zoom ──────────────────────────────── */
.card,.feature-card,.testimonial-card,.pkg-card,.hotel-card,.item-card{
  border-radius:var(--v2-radius)!important;
  border:1px solid rgba(226,232,240,.9)!important;
  background:#fff!important;
  box-shadow:0 6px 22px rgba(11,18,32,.06)!important;
  transition:transform .4s var(--v2-ease),box-shadow .4s var(--v2-ease),border-color .3s!important;
  will-change:transform;
}
.card:hover,.feature-card:hover,.testimonial-card:hover,.pkg-card:hover,.hotel-card:hover{
  transform:translateY(-4px)!important;
  box-shadow:var(--v2-shadow)!important;
  border-color:rgba(255,153,69,.45)!important;
}
.card img,.pkg-card img,.hotel-card img,.item-card img{
  transition:transform .6s var(--v2-ease),filter .4s;
  width:100%!important;height:240px!important;object-fit:cover!important;display:block!important;
}
.card:hover img,.pkg-card:hover img,.hotel-card:hover img{transform:none!important;}

/* Image wrappers clip the zoom */
.hotel-card .hotel-img,.pkg-card .pkg-img,.card-thumb,.card-img-wrap{overflow:hidden!important;border-radius:var(--v2-radius) var(--v2-radius) 0 0!important;height:240px!important;}

/* ── Headings: gradient accents ────────────────────────────── */
.section-title h2,.section-header h1,.section-header h2{
  position:relative;
}
.section-header p,.section-title p{color:var(--v2-muted)!important;}

/* Eyebrow label helper */
.v2-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--v2-orange);
  background:var(--v2-grad-soft);
  border:1px solid rgba(255,122,26,.25);
  padding:7px 16px;border-radius:999px;margin-bottom:14px;
}
.v2-eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--v2-grad);box-shadow:0 0 0 4px rgba(255,122,26,.15);}

/* ── Hero upgrades ─────────────────────────────────────────── */
.hero{position:relative;overflow:hidden;}
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(11,18,32,.05) 0%,rgba(11,18,32,.25) 60%,rgba(11,18,32,.55) 100%);
}
.hero > .container,.hero .hero-content{position:relative;z-index:2;}
.hero h1{
  text-shadow:0 4px 30px rgba(0,0,0,.35);
  animation:v2-heroIn .9s var(--v2-ease) both;
}
.hero p,.hero .hero-sub{animation:v2-heroIn 1s .12s var(--v2-ease) both;}
@keyframes v2-heroIn{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}

/* Floating blobs (decor) — injected via body::before/after to avoid markup edits */
body.v2-home::before,body.v2-home::after{
  content:"";position:fixed;z-index:0;pointer-events:none;
  width:520px;height:520px;border-radius:50%;
  filter:blur(90px);opacity:.16;
  background:radial-gradient(circle at 30% 30%,#FF9D45,#FF5D5D 60%,transparent 75%);
}
body.v2-home::before{top:-160px;right:-140px;animation:v2Float 14s ease-in-out infinite;}
body.v2-home::after{bottom:-220px;left:-180px;background:radial-gradient(circle at 60% 40%,#38BDF8,#6366F1 60%,transparent 75%);animation:v2Float 18s ease-in-out infinite reverse;}
@keyframes v2Float{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-40px,30px) scale(1.08);}}

/* ── Reveal transitions (works with main.js observer) ─────── */
.section,.feature-card,.testimonial-card,.hero-stat-item,.cta-banner{
  transition:opacity .7s var(--v2-ease),transform .7s var(--v2-ease)!important;
}
.reveal-stagger > *{transition:opacity .6s var(--v2-ease),transform .6s var(--v2-ease);}
.reveal-stagger > *:nth-child(2){transition-delay:.08s;}
.reveal-stagger > *:nth-child(3){transition-delay:.16s;}
.reveal-stagger > *:nth-child(4){transition-delay:.24s;}
.reveal-stagger > *:nth-child(5){transition-delay:.32s;}
.reveal-stagger > *:nth-child(6){transition-delay:.4s;}

/* ── Filter bars: pill inputs ─────────────────────────────── */
.filter-bar,.search-bar{
  background:rgba(255,255,255,.9)!important;
  backdrop-filter:blur(12px);
  border:1px solid rgba(226,232,240,.9)!important;
  border-radius:20px!important;
  padding:14px!important;
  box-shadow:var(--v2-shadow)!important;
}
.filter-input,.filter-select,.search-bar input,select{
  border-radius:12px!important;border:1.5px solid #E4E9F2!important;
  background:#fff!important;font-weight:500;
  transition:border-color .25s,box-shadow .25s;
  min-height:44px;
}
.filter-input:focus,.filter-select:focus,select:focus{
  border-color:var(--v2-orange)!important;
  box-shadow:0 0 0 4px rgba(255,122,26,.14)!important;outline:none!important;
}

/* ── Forms ─────────────────────────────────────────────────── */
.form-input,.form-group input,.form-group select,.form-group textarea{
  border-radius:12px!important;border:1.5px solid #E4E9F2!important;
  transition:border-color .25s,box-shadow .25s;
}
.form-input:focus,.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  border-color:var(--v2-orange)!important;box-shadow:0 0 0 4px rgba(255,122,26,.12)!important;outline:none!important;
}

/* ── Badges & prices ──────────────────────────────────────── */
.badge{border-radius:999px!important;font-weight:700!important;letter-spacing:.02em;}
.price,.pkg-price,.hotel-price{font-weight:800!important;background:var(--v2-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}

/* ── Footer ───────────────────────────────────────────────── */
footer{
  background:linear-gradient(180deg,var(--v2-navy2) 0%,var(--v2-navy) 100%)!important;
  border-radius:28px 28px 0 0;
  position:relative;overflow:hidden;
}
footer::before{
  content:"";position:absolute;top:-120px;right:-80px;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,122,26,.22),transparent 70%);pointer-events:none;
}
footer h4{
  font-size:15px!important;text-transform:uppercase;letter-spacing:.12em;
  background:var(--v2-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  margin-bottom:14px!important;
}
footer a{transition:color .25s,transform .25s;display:inline-block;}
footer a:hover{color:#FFB27A!important;transform:translateX(3px);}
footer .copyright{border-top:1px solid rgba(255,255,255,.08)!important;}

/* ── Back-to-top (injected by theme-v2.js) ────────────────── */
.v2-top{
  position:fixed;right:18px;bottom:86px;z-index:900;
  width:46px;height:46px;border-radius:14px;border:none;cursor:pointer;
  background:var(--v2-navy);color:#fff;font-size:18px;
  box-shadow:var(--v2-shadow);opacity:0;transform:translateY(14px);
  transition:opacity .3s,transform .3s,background .3s;
}
.v2-top.show{opacity:1;transform:none;}
.v2-top:hover{background:var(--v2-orange);}

/* ── Skeleton shimmer (used by lazy sections) ─────────────── */
.v2-skeleton{position:relative;overflow:hidden;background:#EDF1F7;border-radius:14px;}
.v2-skeleton::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);
  animation:v2Shimmer 1.4s infinite;
}
@keyframes v2Shimmer{from{transform:translateX(-100%);}to{transform:translateX(100%);}}

/* ── Marquee (destinations ticker, injected) ──────────────── */
.v2-marquee{
  overflow:hidden;white-space:nowrap;position:relative;
  background:var(--v2-navy);color:#fff;
  padding:10px 0;font-size:13px;font-weight:600;letter-spacing:.04em;
}
.v2-marquee-track{display:inline-block;animation:v2Marquee 28s linear infinite;}
.v2-marquee span{margin:0 22px;opacity:.92;}
.v2-marquee b{color:var(--v2-gold);font-weight:800;}
@keyframes v2Marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ── TESTIMONIAL / quote styling ──────────────────────────── */
.testimonial-card{position:relative;}
.testimonial-card::before{
  content:"“";position:absolute;top:6px;right:18px;
  font-size:72px;font-family:Georgia,serif;line-height:1;
  background:var(--v2-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  opacity:.35;
}

/* ── Section rhythm ───────────────────────────────────────── */
.section{padding:72px 0;}
@media(max-width:768px){.section{padding:52px 0;}}

/* ── MOBILE FIXES ─────────────────────────────────────────── */
@media(max-width:768px){
  html,body{overflow-x:clip;}
  .container,.wrap,.wrapper{width:100%!important;max-width:100%!important;padding-left:16px!important;padding-right:16px!important;}
  .hero{background-attachment:scroll!important;padding:84px 0 56px!important;}
  .hero h1{font-size:clamp(28px,7.5vw,40px)!important;line-height:1.15!important;}
  .filter-bar,.search-bar{flex-direction:column!important;align-items:stretch!important;}
  .filter-input,.filter-select,.search-bar input,.search-bar select,.search-bar button{width:100%!important;}
  .btn,button.btn,a.btn{min-height:46px;}
  .card,.feature-card,.pkg-card,.hotel-card{border-radius:18px!important;}
  .row,.grid,.cards-grid,.hotel-grid,.pkg-grid{row-gap:16px!important;}
  img{height:auto;}
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  footer{border-radius:20px 20px 0 0;}
  .v2-top{right:14px;bottom:96px;}
}
@media(max-width:480px){
  h1{font-size:clamp(26px,8vw,34px)!important;}
  h2{font-size:clamp(22px,6vw,28px)!important;}
}

/* Reduced motion respect */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s!important;transition-duration:.001s!important;}
}

/* ============================================================
   SKELETON V2 — User-friendly booking funnel & responsive fix
   ============================================================ */

/* Container system — no fixed px widths */
.container{max-width:1280px!important;width:100%!important;margin:0 auto!important;padding:0 20px!important;box-sizing:border-box;}
@media(max-width:768px){.container{padding:0 16px!important;}}

/* Sticky nav skeleton — prevents overlap */
.ebo-header{position:sticky!important;top:0!important;z-index:100!important;height:72px!important;display:flex!important;align-items:center!important;background:var(--nav-bg)!important;backdrop-filter:blur(14px) saturate(160%)!important;border-bottom:none!important;}
.ebo-header a{color:#fff!important;}
.ebo-header .ebo-mega-panel a{color:var(--v2-ink)!important;}
.ebo-header-inner{width:100%!important;max-width:1280px!important;margin:0 auto!important;padding:0 20px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;}
.ebo-nav-desktop{display:flex!important;align-items:center!important;gap:8px!important;}
.ebo-nav-links{display:flex!important;align-items:center!important;gap:4px!important;list-style:none!important;margin:0!important;padding:0!important;}
.ebo-nav-links a,.ebo-mega-trigger{padding:10px 14px!important;border-radius:10px!important;font-weight:600!important;font-size:14px!important;min-height:44px!important;display:inline-flex!important;align-items:center!important;}
.ebo-nav-right{display:flex!important;align-items:center!important;gap:8px!important;}
.ebo-mobile-actions{display:flex!important;align-items:center!important;gap:8px!important;}
.ebo-hamburger{width:44px!important;height:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:10px!important;}
/* Body offset for sticky nav */
body{padding-top:0!important;} /* header is sticky not fixed, no offset needed — but keep hero from hiding */
.hero{padding-top:48px!important;}

/* Hero — funnel skeleton: badge -> headline -> search -> trust */
.hero .container{max-width:1100px!important;}
.hero h1{max-width:820px!important;margin:0 auto 16px!important;text-align:center!important;line-height:1.15!important;}
.hero p{max-width:720px!important;margin:0 auto 28px!important;text-align:center!important;}
.hero-search{
  display:grid!important;
  grid-template-columns:2fr 1fr 1fr 1.2fr auto!important;
  gap:0!important;
  align-items:stretch!important;
  background:#fff!important;
  padding:8px!important;
  border-radius:18px!important;
  box-shadow:0 20px 60px rgba(11,18,32,.16)!important;
  border:1px solid #E2E8F0!important;
  max-width:980px!important;
  margin:0 auto!important;
}
.hs-field{background:#fff!important;padding:10px 14px!important;border-radius:12px!important;min-height:64px!important;display:grid!important;grid-template-columns:1fr 44px!important;grid-template-rows:auto auto!important;gap:2px 12px!important;align-items:center!important;border:1px solid #E2E8F0!important;}
.hs-field-main{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;grid-template-columns:unset!important;grid-template-rows:unset!important;padding:10px 14px!important;position:relative!important;overflow:visible!important;}
.hs-field-main .hs-icon{flex-shrink:0!important;grid-column:auto!important;grid-row:auto!important;}
.hs-field-main input{flex:1!important;grid-column:auto!important;grid-row:auto!important;border:none!important;outline:none!important;font-size:15px!important;min-width:0!important;}
.hs-field-main{border:1px solid #E2E8F0!important;}
/* Autocomplete — compact, scrollable, not full-screen cover */
.hero-search{overflow:visible!important;}
.hs-autocomplete{position:absolute!important;top:calc(100% + 8px)!important;left:0!important;right:0!important;max-height:220px!important;overflow-y:auto!important;background:#fff!important;border:1px solid #E2E8F0!important;border-radius:12px!important;box-shadow:0 20px 40px rgba(11,18,32,.16)!important;z-index:60!important;}
.hs-field .hs-label{grid-column:1/-1!important;font-size:11px!important;font-weight:600!important;color:#64748B!important;letter-spacing:.06em!important;text-transform:uppercase!important;margin:0!important;text-align:left!important;}
.hs-field .hs-date-display,.hs-field .hs-guests-display{grid-column:1!important;text-align:left!important;font-weight:700!important;font-size:15px!important;color:#0F172A!important;background:none!important;border:none!important;padding:4px 0!important;min-height:32px!important;display:flex!important;align-items:center!important;cursor:pointer!important;}
.hs-field .hs-icon-right{grid-column:2!important;grid-row:2!important;width:36px!important;height:36px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#FFF0E6!important;border-radius:10px!important;color:#F97316!important;flex-shrink:0!important;}
.hs-field .hs-icon{color:#F97316!important;}
.hs-sep{display:none!important;}
.hs-submit{align-self:center!important;height:56px!important;padding:0 28px!important;border-radius:12px!important;white-space:nowrap!important;}
.hero-trust-row{display:flex!important;justify-content:center!important;gap:24px!important;flex-wrap:wrap!important;margin-top:20px!important;}
.hero-stats-bar{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:16px!important;max-width:980px!important;margin:28px auto 0!important;background:rgba(255,255,255,.08)!important;backdrop-filter:blur(16px) saturate(140%)!important;-webkit-backdrop-filter:blur(16px) saturate(140%)!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:16px!important;padding:16px!important;box-shadow:0 10px 30px rgba(0,0,0,.18)!important;}
.hero-stats-bar .hero-stat-item{color:#fff!important;}
.hero-stats-bar .hero-stat-num{color:#fff!important;}
.hero-stats-bar .hero-stat-label{color:rgba(255,255,255,.85)!important;}

/* Card grids — consistent alignment, equal heights */
.grid,.hotel-grid,.pkg-grid,.cards-grid{
  display:grid!important;
  grid-template-columns:repeat(3, minmax(0,1fr))!important;
  gap:20px!important;
  align-items:stretch!important;
}
.grid .card,.hotel-grid .card,.pkg-grid .card,.cards-grid .card{
  display:flex!important;flex-direction:column!important;height:100%!important;
}
.card-body{flex:1!important;display:flex!important;flex-direction:column!important;gap:8px!important;padding:16px!important;}
.card-body h3{margin:0!important;line-height:1.3!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;min-height:2.6em!important;}
.card-footer-btns{margin-top:auto!important;display:flex!important;gap:8px!important;}
.card-footer-btns a{flex:1!important;justify-content:center!important;min-height:44px!important;}

/* Section rhythm — funnel progression */
.section-header{text-align:center!important;max-width:720px!important;margin:0 auto 32px!important;}
.section-header h2{font-size:clamp(24px,3vw,32px)!important;margin-bottom:8px!important;}
.section-header p{font-size:16px!important;}

/* Sticky filter bar on listing pages */
.filter-bar{position:sticky!important;top:72px!important;z-index:50!important;}

/* Mobile — true skeleton rebuild */
@media(max-width:1024px){
  .grid,.hotel-grid,.pkg-grid,.cards-grid{grid-template-columns:repeat(2, minmax(0,1fr))!important;}
  .ebo-nav-desktop{display:none!important;}
  .hero-search{grid-template-columns:1fr 1fr!important;}
  .hs-field-main{grid-column:1/-1!important;border-right:none!important;border-bottom:1px solid #EDF2F7!important;}
  .hs-submit{grid-column:1/-1!important;width:100%!important;}
  .hero-stats-bar{grid-template-columns:repeat(2,1fr)!important;}
}
@media(max-width:640px){
  .grid,.hotel-grid,.pkg-grid,.cards-grid{grid-template-columns:1fr!important;}
  .pkg-carousel-track img{height:220px!important;}
  .hotel-carousel-track img{height:240px!important;}
  .hotel-card .hotel-img,.pkg-card .pkg-img,.card-thumb,.card-img-wrap{height:180px!important;}
  .card,.pkg-card,.hotel-card{border-radius:16px!important;}
  .card-body{padding:12px!important;}
  .hero h1{font-size:26px!important;}
  .hero-search{grid-template-columns:1fr!important;padding:6px!important;gap:6px!important;}
  .hs-field{padding:10px 12px!important;min-height:56px!important;}
  .hero-stats-bar{grid-template-columns:1fr 1fr!important;gap:12px!important;padding:12px!important;}
  .hero-trust-row{gap:12px!important;}
  .ebo-header{height:64px!important;}
}
@media(max-width:375px){
  .hero h1{font-size:24px!important;}
  .container{padding:0 14px!important;}
}

/* Prevent horizontal scroll — critical */
html,body{max-width:100%!important;overflow-x:hidden!important;}
img,video{max-width:100%!important;height:auto!important;}

