/* =============================================
   REVIVE WELLNESS - CRITICAL CSS
   Above-the-fold kritikus stílusok
   ============================================= */

/* ==================== DESIGN TOKENS (Kritikus) ==================== */
:root {
  /* Colors */
  --black: #0A0A0A;
  --gold: #b89f6a;
  --light-gold: #d4c4a0;
  --gold-text: #c9b17c;
  --gold-bright: #E4D1A1;
  --white: #FFFFFF;
  --gray-lighter: #C4C4C4;
  --gray-light: #B8B8B8;
  --gray: #A0A0A0;
  --gray-dark: #808080;
  --dark-gray: #1a1a1a;

  /* Spacing */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-8: 3rem;
  --section-gap: 6rem;
  --card-padding: 2rem;

  /* Typography */
  --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', sans-serif;
  --text-sm: clamp(0.875rem, 0.5vw + 0.75rem, 1rem);
  --text-base: clamp(1rem, 0.5vw + 0.875rem, 1.125rem);
  --text-lg: clamp(1.125rem, 1vw + 0.875rem, 1.25rem);
  --text-xl: clamp(1.25rem, 2vw + 0.5rem, 1.75rem);
  --text-2xl: clamp(1.5rem, 2.5vw + 0.75rem, 2rem);
  --text-3xl: clamp(2rem, 3vw + 1rem, 2.5rem);
  --text-4xl: clamp(2.5rem, 4vw + 1rem, 3.5rem);

  /* Borders */
  --border-radius-sm: 0.5rem;
  --border-radius-md: 0.75rem;
  --border-radius-lg: 1rem;
  --border-radius-xl: 1.25rem;
  --border-radius-full: 9999px;
  --border-width-thin: 1px;
  --border-width-default: 2px;

  /* Shadows */
  --shadow-gold: 0 10px 40px rgba(184, 159, 106, 0.2);
  --shadow-gold-lg: 0 20px 60px rgba(184, 159, 106, 0.4);

  /* Transitions */
  --transition-fast: 150ms;
  --transition-base: 300ms;
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-bounce: cubic-bezier(0.175, 0.885, 0.32, 1.275);

  /* Z-index */
  --z-fixed: 1030;

  /* Touch targets */
  --touch-target-min: 44px;
}

/* ==================== BASE STYLES ==================== */
html {
  scroll-behavior: smooth;
  margin: 0;
  padding: 0;
  height: 100%;
}

body {
  font-family: var(--font-primary);
  background-color: var(--black);
  color: var(--white);
  line-height: 1.6;
  margin: 0;
  padding: 0;
  min-height: 100vh;
}

/* ==================== BUTTONS (Critical) ==================== */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.875rem 2rem;
  border-radius: var(--border-radius-md);
  font-weight: 600;
  text-decoration: none;
  transition: all var(--transition-base) var(--ease-in-out);
  cursor: pointer;
  border: none;
  font-family: inherit;
  min-height: var(--touch-target-min);
  font-size: 1rem;
  line-height: 1.2;
  text-align: center;
}

.btn-gold {
  background-color: var(--gold);
  color: var(--black);
  font-weight: 600;
  padding: 14px 32px;
  border-radius: 8px;
  transition: all 0.3s ease;
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
  border: 2px solid var(--gold);
  min-height: 44px;
  line-height: 1.2;
  text-align: center;
}

.btn-gold:hover {
  background-color: var(--light-gold);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(184, 159, 106, 0.4);
}

.btn-gold:active {
  transform: translateY(0);
}

.btn-outline-gold {
  background-color: transparent;
  color: var(--gold);
  font-weight: 600;
  padding: 14px 32px;
  border-radius: 8px;
  transition: all 0.3s ease;
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
  border: 2px solid var(--gold);
  min-height: 44px;
  line-height: 1.2;
  text-align: center;
}

.btn-outline-gold:hover {
  background-color: var(--gold);
  color: var(--black);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(184, 159, 106, 0.4);
}

.btn-phone {
  display: inline-flex;
  align-items: center;
  color: var(--gold-text);
  font-weight: 600;
  font-size: 1.125rem;
  transition: all var(--transition-base) ease;
  text-decoration: none;
  min-height: var(--touch-target-min);
  padding: 0.75rem 1rem;
}

.btn-phone svg {
  margin-right: var(--space-2);
  width: 1.25rem;
  height: 1.25rem;
}

.btn-phone:hover {
  color: var(--light-gold);
  transform: translateY(-1px);
}

/* ==================== CARDS (Critical) ==================== */
.card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(184, 159, 106, 0.2);
  border-radius: var(--border-radius-lg);
  padding: var(--card-padding);
  transition: all var(--transition-base) var(--ease-bounce);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.card:hover {
  transform: translateY(-8px);
  box-shadow: 0 16px 40px rgba(184, 159, 106, 0.3);
  border-color: var(--gold);
  background: rgba(255, 255, 255, 0.08);
}

/* Service card variant */
.service-card {
  background: rgba(255, 255, 255, 0.05);
  border: var(--border-width-thin) solid rgba(184, 159, 106, 0.2);
  border-radius: var(--border-radius-lg);
  padding: var(--space-6);
  transition: all var(--transition-base) ease;
  text-decoration: none;
  display: block;
  min-height: 180px;
  text-align: center;
}

.service-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-gold);
  border-color: var(--gold);
}

.service-card__icon {
  font-size: 3rem;
  margin-bottom: var(--space-4);
  display: flex;
  align-items: center;
  justify-content: center;
}

.service-card__icon svg {
  stroke-width: 1;
}

.service-card__title {
  font-size: var(--text-xl);
  font-weight: 600;
  color: var(--gold);
  margin-bottom: var(--space-2);
}

.service-card__description {
  font-size: var(--text-sm);
  color: var(--gray-light);
  line-height: 1.75;
}

/* ==================== HEADER STYLES ==================== */
header {
  transition: all 0.3s ease;
}

.header-scrolled {
  background-color: rgba(10, 10, 10, 0.95) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(10px);
}

/* ==================== TEXT COLORS ==================== */
.text-gold {
  color: var(--gold) !important;
}

.text-light-gold {
  color: var(--light-gold) !important;
}

h1.text-gold,
h2.text-gold,
h3.text-gold,
h4.text-gold,
h5.text-gold,
h6.text-gold {
  color: #b89f6a !important;
}

/* ==================== GLASSMORPHISM ==================== */
.glass {
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
}

/* ==================== SCROLL REVEAL (Disabled for better UX) ==================== */
/* All content is immediately visible - no animation delays */
.reveal {
  opacity: 1;
  transform: translateY(0);
}

/* ==================== ACCESSIBILITY (Critical) ==================== */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid var(--gold-bright);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px rgba(228, 209, 161, 0.2);
  border-radius: 4px;
}

/* ==================== MOBILE OPTIMIZATIONS ==================== */
@media (max-width: 768px) {
  :root {
    --section-gap: 3rem;
    --card-padding: 1rem;
  }

  body {
    font-size: 16px; /* iOS zoom fix */
  }

  .btn-gold {
    padding: 14px 28px;
    font-size: 16px;
    width: 100%;
    max-width: 400px;
  }

  .btn-phone {
    width: 100%;
    max-width: 400px;
    justify-content: center;
  }
}

/* ==================== UTILITIES ==================== */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.bg-gradient-gold {
  background: linear-gradient(135deg, var(--gold) 0%, var(--light-gold) 100%);
}

.border-gold {
  border-color: var(--gold);
}

.shadow-gold {
  box-shadow: 0 10px 40px rgba(184, 159, 106, 0.2);
}

/* ==================== SVG ICONS ==================== */
svg {
  fill: currentColor;
  stroke: currentColor;
}

svg[class*="icon-"],
svg use[href*="#icon-"] {
  transition: all var(--transition-base) var(--ease-in-out);
}

/* ==================== YOUTUBE HERO IFRAME ==================== */
.youtube-hero {
  transform: translate(-50%, -50%) scale(1.5) !important;
}

@media (max-width: 1279px) {
  .youtube-hero {
    transform: translate(-50%, -50%) scale(1.8) !important;
  }
}
