/* ── Holidays House – shared stylesheet ── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

html { scroll-behavior: smooth; font-family: 'Inter', system-ui, sans-serif; }

/* ── Gradients ── */
.hero-bg    { background: linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 30%,#eff6ff 65%,#f8fafc 100%); }
.sect-sky   { background: linear-gradient(180deg,#f0f9ff 0%,#e8f4fd 50%,#f8fbff 100%); }
.sect-white { background: #ffffff; }
.page-hero  { background: linear-gradient(135deg,#eff6ff 0%,#e0f2fe 50%,#f0fffe 100%); }

/* ── Cards ── */
.card      { background: linear-gradient(145deg,#ffffff 0%,#f8fbff 100%); border: 1px solid #e0eefe; transition: transform .3s, box-shadow .3s; }
.card:hover{ transform: translateY(-5px); box-shadow: 0 16px 40px rgba(37,99,235,.1); }
.info-card { background: linear-gradient(145deg,#ffffff 0%,#eff6ff 100%); border: 1px solid #dbeafe; transition: transform .3s, box-shadow .3s; }
.info-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(37,99,235,.12); }

/* ── Progress bar ── */
.prog-track { height: 4px; background: #dbeafe; border-radius: 99px; overflow: hidden; }
.prog-fill  { height: 100%; background: linear-gradient(90deg,#60a5fa,#2563eb); border-radius: 99px; }

/* ── Nav underline ── */
.nav-a { position: relative; }
.nav-a::after { content:''; position:absolute; bottom:-2px; left:0; width:0; height:2px; background:#2563eb; border-radius:2px; transition:width .25s; }
.nav-a:hover::after { width: 100%; }
.nav-active { color: #2563eb !important; }
.nav-active::after { width: 100% !important; }

/* ── Gradient text ── */
.grad-text { background: linear-gradient(135deg,#1d4ed8,#0ea5e9); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }

/* ── Blob ── */
.blob { position: absolute; border-radius: 50%; filter: blur(60px); pointer-events: none; }

/* ── Gallery hover ── */
.gal-img { transition: transform .4s, filter .4s; }
.gal-img:hover { transform: scale(1.06); filter: brightness(1.08); }

/* ── Animations ── */
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
.float-anim { animation: float 3.5s ease-in-out infinite; }

@keyframes fadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
.fade-up { animation: fadeUp .6s ease both; }
.d1 { animation-delay:.1s; }
.d2 { animation-delay:.2s; }
.d3 { animation-delay:.3s; }

/* ── Scroll-top ── */
#toTop { opacity:0; transform:translateY(8px); transition:opacity .3s,transform .3s; }
#toTop.show { opacity:1; transform:translateY(0); }

/* ── Package inclusions ── */
.incl-yes { color:#2563eb; background:#eff6ff; }
.incl-no  { color:#94a3b8; background:#f8fafc; }

/* ── Page inner hero ── */
.page-hero-inner { padding-top: 120px; padding-bottom: 64px; }
@media (max-width: 639px) { .page-hero-inner { padding-top: 96px; padding-bottom: 40px; } }

/* ── Mobile base ── */
html, body { overflow-x: hidden; }
* { -webkit-tap-highlight-color: transparent; }

/* ── Responsive slider ── */
.dest-slider { height: 340px; }
@media (min-width: 640px)  { .dest-slider { height: 440px; } }
@media (min-width: 1024px) { .dest-slider { height: 520px; } }

/* ── Disable hover card lift on touch devices ── */
@media (hover: none) {
  .card:hover, .info-card:hover { transform: none; box-shadow: none; }
}
