/* ===================== UzTrip — global styles ===================== */
:root{
  --accent:#2563EB;
  --accent2:#3B82F6;
  --primary:#1E3A8A;
  --primary-dark:#0F2557;
  --text:#0F172A;
  --muted:#64748B;
  --bg:#ffffff;
  --bg-soft:#F5F7FA;
  --border:#EDF1F7;
  --success:#16A34A;
  --maxw:1240px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',system-ui,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Poppins',sans-serif;margin:0}
a{color:inherit;text-decoration:none}
input,button,textarea,select{font-family:inherit}
img{max-width:100%;display:block}

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}

/* ---- keyframes ---- */
@keyframes uzUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes uzFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes uzFloat2{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}
@keyframes uzPulse{0%,100%{box-shadow:0 0 0 0 rgba(59,130,246,.5)}70%{box-shadow:0 0 0 12px rgba(59,130,246,0)}}
@keyframes uzShine{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@keyframes uzSpin{to{transform:rotate(360deg)}}

/* ---- layout helpers ---- */
.uz-container{max-width:var(--maxw);margin:0 auto;padding-left:22px;padding-right:22px}
.uz-eyebrow{display:inline-block;font-size:13px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:10px}
.uz-h2{font-size:clamp(30px,4.4vw,44px);font-weight:700;letter-spacing:-1px}
.uz-lead{color:var(--muted);font-size:16px;margin-top:12px}

/* ---- reveal on scroll ---- */
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s,transform .7s}
[data-reveal].is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1!important;transform:none!important}
  *{animation:none!important}
}

/* ---- buttons ---- */
.uz-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:700;font-size:15px;padding:14px 24px;border:none;border-radius:12px;cursor:pointer;box-shadow:0 10px 24px rgba(37,99,235,.32);transition:transform .2s,box-shadow .2s}
.uz-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(37,99,235,.4)}
.uz-btn-ghost{background:#EFF6FF;color:var(--accent);border:1px solid #dbeafe;box-shadow:none}
.uz-btn-ghost:hover{box-shadow:0 8px 18px rgba(37,99,235,.15)}

/* ---- cards ---- */
.uz-card{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 4px 20px rgba(15,37,87,.05);transition:transform .3s,box-shadow .3s}
.uz-card:hover{transform:translateY(-6px);box-shadow:0 18px 44px rgba(15,37,87,.14)}
.tourcard:hover img{transform:scale(1.07)}

/* ---- section pad ---- */
.uz-section{padding:clamp(56px,7vw,84px) 0}
.uz-soft{background:var(--bg-soft)}

/* ---- header / nav ---- */
#uz-header .nav-desktop{display:flex;gap:26px;align-items:center;margin-left:26px}
#uz-header .hamburger{display:none}
#uz-header .mobile-drawer{display:none}
@media (max-width:900px){
  #uz-header .nav-desktop{display:none}
  #uz-header .hamburger{display:grid}
  #uz-header .mobile-drawer.open{display:block}
  #uz-topbar .tb-follow{display:none}
}
#uz-header .nav-desktop a{position:relative}
#uz-header .nav-desktop a::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:2px;background:var(--accent);border-radius:2px;transition:right .25s}
#uz-header .nav-desktop a:hover::after,#uz-header .nav-desktop a.active::after{right:0}

/* page hero (inner pages) */
.uz-page-hero{background:linear-gradient(135deg,#0F2557 0%,#1E40AF 100%);color:#fff;position:relative;overflow:hidden}
.uz-page-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 20%,rgba(59,130,246,.35),transparent 45%),radial-gradient(circle at 85% 75%,rgba(125,211,252,.18),transparent 40%);pointer-events:none}
.uz-page-hero .inner{position:relative;max-width:var(--maxw);margin:0 auto;padding:clamp(46px,6vw,80px) 22px}
