/* ===== Interdroit – pages intérieures (fiches, activités, protection des données) ===== */
:root {
  --rouge: #be1522;
  --encre: #111;
  --gris: #555;
}
* { box-sizing: border-box; }
body {
  margin: 0; background: #fff; color: var(--encre);
  font-family: Georgia, "Times New Roman", serif; line-height: 1.45;
}
a { color: var(--encre); text-decoration: underline; }
a:hover { color: var(--rouge); }
.cadre { max-width: 1100px; margin: 0 auto; padding: 0 24px; }

/* En-tête : grand logo, puis filet rouge */
.entete-int .cadre { padding-top: 22px; padding-bottom: 40px; }
.entete-int img { width: 300px; max-width: 70%; height: auto; display: block; }
.filet-rouge { height: 1px; background: #d9646d; width: 88%; }

/* ---------- Fiches ---------- */
.fiche-int {
  display: grid; grid-template-columns: 320px 1fr; gap: 44px;
  align-items: start; padding: 28px 0 40px;
}
.portrait { width: 100%; height: auto; display: block; filter: grayscale(100%); }
.fiche-texte h1 { font-size: 30px; font-weight: normal; margin: 6px 0 20px; }
.fiche-texte h2 {
  font-size: 23px; font-weight: normal; margin: 22px 0 14px;
  padding-bottom: 2px; border-bottom: 1px solid #333;
}
.fiche-texte p { margin: 0 0 14px; font-size: 16px; }
.fiche-texte p.serre { line-height: 1.3; }

/* ---------- Activités ---------- */
.pictos-int {
  display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 22px;
  padding: 12px 0 18px;
}
.pictos-int img { height: 64px; width: auto; display: block; }
.pictos-int a { text-decoration: none; transition: transform .15s; }
.pictos-int a:hover { transform: translateY(-3px); }
.activite-int {
  display: grid; grid-template-columns: 1fr 1fr; gap: 56px;
  align-items: start; padding: 18px 0 26px; scroll-margin-top: 16px;
}
.activite-int .photo-act { width: 100%; height: auto; display: block; }
.activite-int.inverse .photo-act { order: 2; }
.activite-int.inverse .texte-act { order: 1; }
.texte-act h2 {
  font-size: 19px; font-weight: bold; margin: 0 0 12px;
  padding-bottom: 2px; border-bottom: 1px solid #333;
}
.texte-act h3 { font-size: 15px; font-style: italic; font-weight: bold; margin: 16px 0 8px; }
.texte-act p { font-size: 14px; margin: 0 0 10px; text-align: justify; hyphens: auto; -webkit-hyphens: auto; }

/* ---------- Protection des données ---------- */
.texte-declaration { padding: 22px 0 10px; font-size: 14px; }
.texte-declaration h2 { font-size: 14px; font-weight: bold; margin: 22px 0 10px; }
.texte-declaration p { margin: 0 0 4px; }

/* ---------- Pied de page ---------- */
.pied-int { text-align: center; font-size: 12px; padding: 10px 0 30px; }
.pied-int .credit { margin: 0 0 8px; }
.pied-ligne { border-top: 1px solid #999; padding-top: 10px; }
.pied-int p { margin: 8px 0 0; }
.pied-int a.gras { font-weight: bold; }

/* ---------- Téléphone ---------- */
@media (max-width: 760px) {
  .cadre { padding: 0 16px; }
  .entete-int .cadre { padding-bottom: 24px; }
  .entete-int img { width: 220px; }
  .filet-rouge { width: 100%; }
  .fiche-int { grid-template-columns: 1fr; gap: 20px; }
  .portrait { max-width: 320px; }
  .fiche-texte h1 { font-size: 26px; }
  .fiche-texte h2 { font-size: 20px; }
  .pictos-int img { height: 54px; }
  .activite-int { grid-template-columns: 1fr; gap: 16px; }
  .activite-int.inverse .photo-act { order: 0; }
  .activite-int.inverse .texte-act { order: 0; }
  .texte-act p, .texte-declaration p { font-size: 15px; }
  .texte-declaration p { text-align: left; }
}
