/* ============================================================
   KAATTA DUGOBA RESORT — base.css
   Reset, CSS custom properties, typography
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,600;0,700;0,800;1,500&family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500&family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root{
  /* Asosiy (logodagi tog' va tun rangi) */
  --dg-night:        #101B1E;
  --dg-deep:         #16262A;
  --dg-slate:        #1E3238;
  --dg-stone:        #2B3B40;
  --dg-mist:         #7E9299;

  /* Kremli / qor rangi */
  --dg-cream:        #F6EFE1;
  --dg-snow:         #FFFFFF;

  /* Oltin quyosh */
  --dg-gold:         #F2B233;
  --dg-gold-soft:    #FFD37A;
  --dg-gold-deep:    #C4841A;

  /* Halqa gradienti ranglari */
  --dg-magenta:      #E8479B;
  --dg-orange:       #F2762E;
  --dg-yellow:       #F5C542;
  --dg-green:        #4FAE52;
  --dg-teal:         #23A6A0;

  --dg-ring: linear-gradient(90deg,var(--dg-magenta),var(--dg-orange),var(--dg-yellow),var(--dg-green),var(--dg-teal));
  --dg-gold-grad: linear-gradient(135deg,var(--dg-gold-soft),var(--dg-gold),var(--dg-gold-deep));
  --dg-glass: rgba(255,255,255,.06);

  --dg-r-sm: 10px; --dg-r-md: 18px; --dg-r-lg: 28px; --dg-r-pill: 999px;
  --dg-shadow-1: 0 4px 20px rgba(0,0,0,.25);
  --dg-shadow-2: 0 18px 50px rgba(0,0,0,.45);
  --dg-glow: 0 0 40px rgba(242,178,51,.28);
  --dg-ease: cubic-bezier(.16,.84,.44,1);

  --dg-font-display: 'Playfair Display', 'Cormorant Garamond', serif;
  --dg-font-body: 'Manrope', 'Inter', sans-serif;
  --dg-font-mono: 'Space Grotesk', monospace;

  --dg-container: 1240px;
  --dg-header-h: 92px;
  --dg-header-h-scrolled: 68px;

  color-scheme: dark;
}

body.light{
  --dg-night:        #F7F3EA;
  --dg-deep:         #FFFFFF;
  --dg-slate:        #FBF7EE;
  --dg-stone:        #E4DBC7;
  --dg-mist:         #7C6F5A;
  --dg-cream:        #201A12;
  --dg-snow:         #16130D;
  --dg-glass: rgba(16,27,30,.05);
  color-scheme: light;
}

*, *::before, *::after{ box-sizing: border-box; margin:0; padding:0; }

html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *, *::before, *::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

body{
  background:var(--dg-night);
  color:var(--dg-cream);
  font-family:var(--dg-font-body);
  font-size:16px;
  line-height:1.65;
  overflow-x:hidden;
  transition:background .4s var(--dg-ease), color .4s var(--dg-ease);
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }
button, input, select, textarea{ font:inherit; color:inherit; background:none; border:none; }
button{ cursor:pointer; }
svg{ display:block; }

h1,h2,h3,h4{
  font-family:var(--dg-font-display);
  font-weight:700;
  line-height:1.12;
  color:var(--dg-snow);
  letter-spacing:-.02em;
}
body.light h1, body.light h2, body.light h3, body.light h4{ color:var(--dg-night); }

h1{ font-size:clamp(2.2rem, 6vw, 5rem); }
h2{ font-size:clamp(1.8rem, 4.2vw, 3.1rem); }
h3{ font-size:clamp(1.3rem, 2.4vw, 1.9rem); }
h4{ font-size:clamp(1.05rem, 1.6vw, 1.3rem); }

p{ color:var(--dg-mist); }

.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--dg-font-mono);
  font-size:.72rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--dg-gold);
  font-weight:600;
}
.eyebrow::before{
  content:'';
  width:22px; height:2px;
  background:var(--dg-gold-grad);
  border-radius:2px;
}

.num{ font-family:var(--dg-font-mono); }

::selection{ background:var(--dg-gold); color:var(--dg-night); }

::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-track{ background:var(--dg-night); }
::-webkit-scrollbar-thumb{ background:var(--dg-gold-deep); border-radius:10px; border:2px solid var(--dg-night); }
::-webkit-scrollbar-thumb:hover{ background:var(--dg-gold); }
html{ scrollbar-color: var(--dg-gold-deep) var(--dg-night); scrollbar-width: thin; }

:focus-visible{
  outline:2px solid var(--dg-gold);
  outline-offset:3px;
  border-radius:4px;
}

.visually-hidden{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

.container{
  width:100%;
  max-width:var(--dg-container);
  margin:0 auto;
  padding:0 24px;
}

.section{ padding:120px 0; position:relative; }
.section--tight{ padding:80px 0; }
@media (max-width:1024px){ .section{ padding:90px 0; } }
@media (max-width:768px){ .section{ padding:64px 0; } .section--tight{ padding:48px 0; } }

.section-head{
  max-width:640px;
  margin-bottom:56px;
}
.section-head p{ margin-top:16px; font-size:1.05rem; }
.section-head .ring-rule{ margin-top:24px; }
.section-head--center{ margin-left:auto; margin-right:auto; text-align:center; }

.ring-rule{
  width:60px; height:3px;
  background:var(--dg-ring);
  border-radius:3px;
}

.divider-ring{
  height:3px;
  width:100%;
  background:var(--dg-ring);
  opacity:.55;
}
