/* ==========================================================================
   SERVICES CSS — Alignement des prestations et affichage des tarifs
   ========================================================================== */

/* Section d'introduction */
.services-intro {
  padding: var(--space-xl) 0 var(--space-md);
  text-align: center;
}

.services-intro h1 {
  font-style: italic;
  font-size: clamp(2.2rem, 5vw, 3rem);
  color: var(--color-terracotta);
}

.services-intro p {
  max-width: 56ch;
  margin: var(--space-sm) auto 0;
  color: var(--color-text);
}

/* Groupes de services */
.services-group {
  padding: var(--space-lg) 0 var(--space-xl);
}

.services-group--secondary {
  background: linear-gradient(to bottom, var(--color-cream) 0, var(--color-beige) 180px, var(--color-beige) 100%);
}

.services-group-heading {
  margin-bottom: var(--space-lg);
}

.services-group-heading p {
  font-family: var(--font-sans);
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-terracotta);
}

.services-group-heading h2 {
  font-style: italic;
  font-size: clamp(1.8rem, 3.5vw, 2.4rem);
  color: var(--color-brown-deep);
}

/* Structure de chaque carte de service */
.service-detail {
  position: relative;
  display: flex;
  gap: var(--space-md);
  background: var(--color-cream-soft);
  border-radius: 16px;
  padding: var(--space-md);
  margin-bottom: var(--space-md);
  box-shadow: 0 4px 20px rgba(56, 39, 27, 0.05);
}

.service-detail-badge {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--color-green-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.3rem;
  color: var(--color-brown-deep);
}

/* Contenu interne de la prestation */
.service-detail-content {
  flex: 1;
}

/* En-tête avec titre à gauche et tarif à droite */
.service-detail-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--space-sm);
  margin-bottom: var(--space-xs);
}

.service-detail-header h3 {
  font-size: 1.35rem;
  color: var(--color-brown-deep);
}

/* Style des prix */
.service-detail-price {
  font-family: var(--font-serif);
  font-size: 1.35rem;
  font-weight: 500;
  color: var(--color-terracotta);
  white-space: nowrap;
}

.service-detail-price small {
  font-family: var(--font-sans);
  font-size: 0.85rem;
  font-weight: 300;
  color: var(--color-text-muted);
}

/* Mention TVA sous les tarifs particuliers */
.services-tax-note {
  margin-top: var(--space-md);
  text-align: right;
  font-family: var(--font-sans);
  font-size: 0.78rem;
  font-weight: 300;
  font-style: italic;
  color: var(--color-text-muted);
}

/* Texte et détails */
.service-detail-text {
  color: var(--color-text);
  margin-bottom: var(--space-sm);
}

.service-detail-list {
  margin-bottom: var(--space-md);
  padding-left: 1.2rem;
  list-style-type: disc;
}

.service-detail-list li {
  font-size: 0.95rem;
  color: var(--color-text);
  margin-bottom: 0.3rem;
}

/* Responsive / Adaptations tablettes et mobiles */
@media (max-width: 768px) {
  .service-detail {
    flex-direction: column;
    gap: var(--space-sm);
  }

  .service-detail-badge {
    width: 40px;
    height: 40px;
    font-size: 1.1rem;
  }
}

@media (max-width: 640px) {
  .service-detail-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }

  .service-detail-price {
    font-size: 1.15rem;
  }
}