/* ========================================
   🎓 KHRUA SIAM - PAGE ÉCOLE
   Cours de cuisine, Ateliers
   ======================================== */

.section.services {
    padding-top: calc(var(--page-top-gap) + 2rem);
}

/* Grille 2x2 esthétique pour les vignettes */
.services .services-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem 2.5rem;
    max-width: 900px;
    margin: 4rem auto 0;
}

.services .service-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 2.5rem 2rem;
    text-align: center;
    box-shadow: 0 8px 30px rgba(30, 66, 53, 0.12);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.services .service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(30, 66, 53, 0.18);
}

.services .service-card .service-icon {
    font-size: 3rem;
    margin-bottom: 1.5rem;
    display: block;
}

.services .service-card h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.6rem;
    color: var(--forest-green);
    margin-bottom: 1rem;
    font-weight: 500;
}

.services .service-card p {
    color: var(--text-secondary);
    line-height: 1.6;
    font-size: 1rem;
}

/* ========================================
   BOUTON CTA (Style identique à la page index)
   ======================================== */
.hero-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    background: rgba(248, 246, 240, 0.95);
    color: #1e4235;
    padding: 1rem 1.5rem;
    width: 200px;
    text-decoration: none;
    border: none;
    border-radius: 16px;
    font-weight: 500;
    font-size: 1rem;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(30, 66, 53, 0.1);
    text-align: center;
}

.hero-cta:hover {
    background: #1e4235;
    color: #f8f6f0;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(30, 66, 53, 0.15);
}

/* ========================================
   RESPONSIVE - Media Queries Officiels (9 breakpoints)
   ======================================== */

/* Écrans 4K/5K (2560px et plus) */
@media (min-width: 2560px) {
  /* Styles spécifiques aux écrans 4K/5K si nécessaire */
}

/* Écrans 2K/QHD (1920px à 2559px) */
@media (min-width: 1920px) and (max-width: 2559px) {
  /* Styles spécifiques aux écrans 2K/QHD si nécessaire */
}

/* Écrans très larges (1440px à 1919px) */
@media (min-width: 1440px) and (max-width: 1919px) {
  /* Styles spécifiques aux très grands écrans si nécessaire */
}

/* Écrans larges (1025px à 1439px) */
@media (min-width: 1025px) and (max-width: 1439px) {
  /* Styles spécifiques aux écrans larges si nécessaire */
}

/* Écrans desktop standard (900px à 1024px) */
@media (min-width: 900px) and (max-width: 1024px) {
  /* Styles spécifiques au desktop standard si nécessaire */
}

/* Tablettes (715px à 899px) */
@media (min-width: 715px) and (max-width: 899px) {
  .section.services {
    padding-top: calc(var(--page-top-gap) + 2.5rem);
  }
  
  /* Passage en 1 colonne sur tablette */
  .services .services-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
    max-width: 500px;
  }
  
  .services .service-card {
    padding: 2rem 1.5rem;
  }
}

/* Tablettes (641px à 714px) */
@media (min-width: 641px) and (max-width: 714px) {
  .section.services {
    padding-top: calc(var(--page-top-gap) + 3rem);
  }
  
  .services .services-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
    max-width: 500px;
  }
  
  .services .service-card {
    padding: 2rem 1.5rem;
  }
}

/* Mobile large (481px à 640px) */
@media (min-width: 481px) and (max-width: 640px) {
  .section.services {
    padding-top: calc(var(--page-top-gap) + 3.5rem);
  }
  
  .services .services-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
    max-width: 500px;
  }
  
  .services .service-card {
    padding: 2rem 1.5rem;
  }
}

/* Mobile petit (480px et moins) */
@media (max-width: 480px) {
  .section.services {
    padding-top: calc(var(--page-top-gap) + 4rem);
  }
  
  .services .services-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
    max-width: 500px;
  }
  
  .services .service-card {
    padding: 1.5rem 1rem;
  }
}
