/* ==========================================================================
   contact.css
   Page Contact séparée. Classes préfixées ct2- pour ne pas collisionner
   avec le bloc "contact" déjà présent ailleurs (ct-*).
   ========================================================================== */

.ct2-section {
  padding-block: clamp(3rem, 7vw, 5rem);
}

.ct2-grille {
  display: grid;
  gap: clamp(2.5rem, 6vw, 4rem);
  grid-template-columns: 1fr;
}
@media (min-width: 56rem) {
  .ct2-grille { grid-template-columns: 1.2fr 1fr; }
}

.ct2-etiquette {
  font-family: var(--chiffre, ui-monospace, monospace);
  font-size: .75rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--feria, #C1272D);
  display: block;
  margin-bottom: .8rem;
}

.ct2-titre {
  font-family: var(--display, "Bricolage Grotesque", Georgia, serif);
  font-weight: 800;
  font-size: clamp(1.8rem, 1.4rem + 1.6vw, 2.6rem);
  letter-spacing: -.02em;
  margin: 0 0 1.75rem;
}

.ct2-liste {
  list-style: none;
  margin: 0 0 1.75rem;
  padding: 0;
}
.ct2-liste li {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding-block: .7rem;
  border-bottom: 1px solid var(--sable, #D3C7AB);
  font-size: 1rem;
}
.ct2-liste li:first-child { border-top: 1px solid var(--sable, #D3C7AB); }
.ct2-liste svg { flex-shrink: 0; color: var(--feria, #C1272D); }
.ct2-liste a { color: inherit; text-decoration: none; font-weight: 600; }
.ct2-liste a:hover { color: var(--feria, #C1272D); }

.ct2-reseaux {
  display: flex;
  gap: .9rem;
  flex-wrap: wrap;
  margin-bottom: 1.75rem;
}
.ct2-reseau {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: .7rem 1.2rem;
  border: 1px solid var(--sable, #D3C7AB);
  border-radius: 4px;
  text-decoration: none;
  color: var(--encre, #16241D);
  font-weight: 600;
  font-size: .92rem;
}
.ct2-reseau:hover { border-color: var(--feria, #C1272D); color: var(--feria, #C1272D); }

.ct2-bouton {
  display: inline-block;
  background: var(--bouton-fond, var(--feria, #C1272D));
  color: var(--bouton-texte, #fff);
  text-decoration: none;
  font-weight: 600;
  padding: 1rem 1.8rem;
  border-radius: 4px;
}
.ct2-bouton:hover {
  background: var(--bouton-fond-hover, var(--feria-sombre, #A31F24));
  color: var(--bouton-texte-hover, var(--bouton-texte, #fff));
}

.ct2-horaires {
  width: 100%;
  border-collapse: collapse;
  background: var(--papier-vif, #fff);
  border: 1px solid var(--sable, #D3C7AB);
  padding: 1.5rem;
}
.ct2-horaires tbody { display: table-row-group; }
.ct2-horaires__ligne th,
.ct2-horaires__ligne td {
  padding: .7rem 1.25rem;
  border-bottom: 1px solid var(--sable, #eee);
  font-size: .92rem;
  text-align: left;
  font-weight: 400;
}
.ct2-horaires__ligne th { font-weight: 600; white-space: nowrap; }
.ct2-horaires__ligne:last-child th,
.ct2-horaires__ligne:last-child td { border-bottom: none; }
.ct2-horaires__ligne--ferme td {
  color: var(--encre-doux, #999);
  font-style: italic;
}
