:root{
  --primary:#1e90ff;
  --accent:#0f1724;
  --bg:#f6f8fb;
  --muted:#64748b;
  --card:#ffffff;
  --glass: rgba(255,255,255,0.8);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial;
  background:var(--bg);
  color:var(--accent);
  -webkit-font-smoothing:antialiased;
}

.container{width:92%; max-width:1150px; margin:0 auto}

/* Header */
.site-header{
  background:#fff;
  border-bottom:1px solid rgba(15,23,36,0.06);
  position:sticky; top:0; z-index:50;
}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:14px 0}
.brand{display:flex; align-items:center; gap:12px}
.logo{font-weight:700; font-size:1.2rem}
.logo .accent{color:var(--primary)}
.site-name{font-size:.9rem; color:var(--muted)}

.nav{display:flex; gap:18px; align-items:center}
.nav a{color:var(--accent); text-decoration:none; font-weight:600}
.btn-register{background:var(--primary); color:#fff; padding:8px 12px; border-radius:6px; text-decoration:none}

/* Hero */
.hero{padding:48px 0; background:linear-gradient(180deg, rgba(30,144,255,0.06), rgba(255,255,255,0));}
.hero-grid{display:grid; grid-template-columns:1fr 460px; gap:28px; align-items:center}
.hero-text h1{font-size:2.1rem; margin:0 0 12px}
.lead{color:var(--muted); font-size:1.05rem}
.cta-row{display:flex; gap:12px; margin-top:18px}
.btn-primary{background:var(--primary); color:#fff; padding:12px 18px; border-radius:8px; text-decoration:none; font-weight:700}
.btn-ghost{background:transparent; color:var(--primary); padding:10px 16px; border-radius:8px; border:1px solid rgba(30,144,255,0.12); text-decoration:none}

/* Cards / packages */
.section{padding:42px 0}
.grid.cards{display:grid; gap:20px; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); margin-top:18px}
.card{background:var(--card); border-radius:10px; overflow:hidden; box-shadow:0 6px 20px rgba(15,23,36,0.06); display:flex; flex-direction:column}
.card img{width:100%; height:170px; object-fit:cover; display:block}
.card-body{padding:16px; flex:1; display:flex; flex-direction:column}
.card-body h3{margin:0 0 8px; color:var(--primary); font-size:1.05rem}
.card-body p{margin:0 0 12px; color:var(--muted)}
.card-actions{margin-top:auto; display:flex; gap:8px}
.btn-sm{background:var(--primary); color:#fff; padding:8px 10px; border-radius:6px; text-decoration:none; font-weight:600}
.btn-sm.ghost{background:transparent; color:var(--primary); border:1px solid rgba(30,144,255,0.12)}

/* About / features */
.features{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:18px; margin-top:20px}
.feature{background:var(--card); padding:18px; border-radius:8px; box-shadow:0 4px 14px rgba(15,23,36,0.04)}
.feature h4{margin:0 0 6px; color:var(--primary)}

/* Contact */
.contact-grid{display:grid; grid-template-columns:1fr 320px; gap:22px; align-items:start}
.contact-form{background:var(--card); padding:18px; border-radius:8px; box-shadow:0 4px 12px rgba(15,23,36,0.04)}
.contact-form input, .contact-form textarea{width:100%; padding:10px; margin-bottom:10px; border:1px solid #e6eef9; border-radius:6px}
.contact-info{padding:18px; background:transparent; color:var(--muted)}

/* Planner styles */
.planner-controls{display:flex; gap:10px; align-items:center; margin-bottom:12px}
.planner-controls input{flex:1; padding:10px; border-radius:6px; border:1px solid #e6eef9}
.days-container{display:flex; flex-direction:column; gap:12px; margin-top:12px}
.day-card{background:var(--card); padding:12px; border-radius:8px; box-shadow:0 3px 12px rgba(15,23,36,0.04)}
.day-header{display:flex; justify-content:space-between; align-items:center; margin-bottom:8px}
.day-title{width:100%; padding:8px; margin-bottom:8px; border-radius:6px; border:1px solid #eef6ff}
.activities .activity{display:flex; gap:8px; margin-bottom:8px}
.activities .activity input{padding:8px; border-radius:6px; border:1px solid #eef6ff}
.btn-xs{padding:6px 8px; border-radius:6px; font-size:.8rem}
.btn-xs.ghost{background:transparent; border:1px solid rgba(15,23,36,0.06)}
.status{color:var(--muted); margin-top:8px}

/* footer */
.site-footer{background:#0f1724; color:#cbd5e1; padding:18px 0; margin-top:28px; text-align:center}

/* utilities */
.small{padding:8px 0}
.center{text-align:center}

/* responsive */
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .nav{gap:10px; font-size:.95rem}
}
@media (max-width:600px){
  .nav{display:flex; flex-wrap:wrap; gap:8px}
  .hero-grid{padding:8px}
}
