/*
 * Pages « Offrir un atelier » (/offrir/) et « Votre cadeau » (/cadeau/).
 * Reprend les champs et boutons de la carte de réservation (reservation.css).
 */

.union-cadeau {
  max-width: 1500px;
  margin: 0 auto;
  padding: clamp(2.5rem, 6vw, 5rem) var(--union-marge-bloc, 1.25rem) clamp(3rem, 7vw, 6rem);
}

.union-cadeau__tete { margin-bottom: clamp(2rem, 4vw, 3rem); }

.union-cadeau__titre {
  font-family: var(--union-titre);
  font-weight: 400;
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  line-height: 1.05;
  letter-spacing: -0.01em;
  margin: 0 0 1rem;
}

.union-cadeau__lede { font-size: 1.1rem; line-height: 1.7; max-width: 46ch; margin: 0 0 1.25rem; opacity: 0.85; }

.union-cadeau__colonnes {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 30rem);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
}

.union-cadeau__unique { max-width: 34rem; }

.union-cadeau__carte { position: static; }

.union-cadeau__etapes {
  list-style: none;
  counter-reset: etape;
  margin: 0 0 2rem;
  padding: 0;
  display: grid;
  gap: 1.4rem;
}

.union-cadeau__etapes li {
  counter-increment: etape;
  position: relative;
  padding: 0.35rem 0 0.35rem 4rem;
  line-height: 1.6;
  min-height: 2.75rem;
}

.union-cadeau__etapes li::before {
  content: counter(etape);
  position: absolute;
  left: 0;
  top: 0;
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 999px;
  background: var(--union-sable);
  color: var(--union-terracotta);
  font-family: var(--union-titre);
}

.union-cadeau__etapes strong { font-weight: 400; color: var(--union-terracotta); }

.union-cadeau select,
.union-cadeau .union-resa-champ select {
  width: 100%;
  padding: 0.65rem 0.85rem;
  border: 1px solid rgba(34, 28, 24, 0.16);
  border-radius: 12px;
  background: var(--union-blanc);
  font: inherit;
  font-size: 0.9375rem;
}

.union-cadeau .union-resa-personnes select { width: auto; border-radius: 999px; }

.union-cadeau__form fieldset.union-resa-etape--coordonnees { margin-top: 1.25rem !important; }

.union-cadeau__direct { margin: 0.25rem 0 1rem; }

.union-cadeau__recap { margin-bottom: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid rgba(34, 28, 24, 0.12); }
.union-cadeau__atelier { font-family: var(--union-titre); font-weight: 400; font-size: 1.6rem; line-height: 1.2; margin: 0.25rem 0 0.5rem; }
.union-cadeau__mot { margin: 1rem 0; padding: 0.9rem 1.1rem; border-left: 3px solid var(--union-terracotta); background: var(--union-sable); border-radius: 0 12px 12px 0; font-family: var(--union-titre); }

@media (max-width: 900px) {
  .union-cadeau__colonnes { grid-template-columns: 1fr; }
}
