/* Modern site-wide styles for WorldsToursTravels — mobile-first */

:root{
  --bg-0: #f8fafc;
  --bg-1: #eef2ff;
  --primary: #0b7285; /* deep teal */
  --accent: #ffb020;  /* warm amber */
  --muted: #0f1724;
  --card: #ffffff;
  --glass: rgba(255,255,255,0.6);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
  color:var(--muted);
  background:linear-gradient(180deg,var(--bg-0) 0%, var(--bg-1) 100%);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Layout utils */
.container{max-width:1100px;margin:0 auto;padding:0 20px}
header{position:fixed;inset:0 0 auto 0;height:72px;background:rgba(255,255,255,0.9);backdrop-filter:blur(6px);box-shadow:0 6px 18px rgba(12,18,22,0.06);z-index:40}
.nav{height:100%;display:flex;align-items:center;justify-content:space-between}
.brand{font-weight:700;color:var(--primary);font-size:1.05rem}
.nav-links{display:flex;gap:18px;align-items:center}
.nav-links a{color:rgba(15,23,36,0.85);text-decoration:none;font-weight:500}
.nav-cta{padding:10px 14px;border-radius:10px;background:linear-gradient(90deg,var(--accent),#ffcc60);color:#071017;font-weight:600}
.hamburger{display:none}

/* Hero */
.hero{min-height:88vh;display:flex;align-items:center;position:relative;background-size:cover;background-position:center}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(3,7,18,0.45) 10%, rgba(3,7,18,0.15) 50%, rgba(3,7,18,0.55) 100%)}
.hero-inner{position:relative;z-index:2;text-align:center;padding:60px 20px}
.hero h1{font-size:clamp(1.6rem,4vw,3rem);color:#fff;margin:0 0 12px}
.hero p{color:rgba(255,255,255,0.9);margin-bottom:18px}
.cta{display:inline-block;padding:12px 18px;border-radius:12px;font-weight:700;box-shadow:0 10px 30px rgba(16,185,129,0.06);transition:transform .22s ease}
.cta:hover{transform:translateY(-4px)}

/* Sections */
section{padding:70px 0}
.section-title{font-size:1.4rem;text-align:center;margin-bottom:18px;font-weight:700}

/* Cards */
.grid{display:grid;gap:20px}
.grid.cols-4{grid-template-columns:repeat(4,1fr)}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--card);border-radius:14px;padding:18px;box-shadow:0 8px 24px rgba(15,23,42,0.06);transition:transform .28s ease,box-shadow .28s ease}
.card:hover{transform:translateY(-8px);box-shadow:0 24px 48px rgba(15,23,42,0.12)}
.glass{background:var(--glass);backdrop-filter:blur(6px)}
.price-badge{display:inline-block;padding:6px 10px;border-radius:999px;background:linear-gradient(90deg,#06b6d4,#0ea5a4);color:white;font-weight:700}
.btn-primary{display:inline-block;padding:10px 12px;border-radius:10px;background:linear-gradient(90deg,var(--accent),#ffd27a);color:#071017;font-weight:700}

/* Reveal animation (scroll) */
.reveal{opacity:0;transform:translateY(10px);transition:opacity .6s ease, transform .6s cubic-bezier(.2,.9,.2,1)}
.reveal.in-view{opacity:1;transform:translateY(0)}

/* Modal tweaks */
.modal-inner input, .modal-inner textarea{width:100%;padding:10px;border:1px solid #e6e9ef;border-radius:10px}

/* WhatsApp float */
.whatsapp-float{position:fixed;right:18px;bottom:18px;border-radius:999px;padding:12px 16px;color:#fff;background:linear-gradient(90deg,#10b981,#06b6d4);box-shadow:0 18px 40px rgba(6,95,70,0.12);z-index:50}

/* Responsive */
@media (max-width:1024px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
  .nav-links{display:none}
  .hamburger{display:block}
  header{height:64px}
  .hero{min-height:72vh}
  .grid.cols-4,.grid.cols-3{grid-template-columns:1fr}
  .section-title{font-size:1.25rem}
}

/* Small helpers */
.text-muted{color:#6b7280}
.center{text-align:center}

/* Slider styles */
.slider-container { position: relative; overflow: hidden; width: 100%; margin: 0 auto; }
.slider { display: flex; transition: transform 0.5s ease-in-out; }
.slide { min-width: 100%; flex-shrink: 0; }
.slider-btn { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(0,0,0,0.5); color: white; border: none; padding: 10px 15px; cursor: pointer; z-index: 10; border-radius: 50%; font-size: 18px; }
.slider-btn:hover { background: rgba(0,0,0,0.7); }
.prev { left: 10px; }
.next { right: 10px; }
.package-img { width: 100%; height: 200px; object-fit: cover; border-radius: 10px; margin-bottom: 10px; }
