
/* V16 : même pied de page sur toutes les pages, palette conservée. */
footer.sej-footer{padding-top:32px;font-size:.9375rem;line-height:1.5}
.sej-footer .footer__grille{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:28px;padding-bottom:28px}
.sej-footer .footer__grille>*{min-width:0;grid-column:auto}
.sej-footer .footer__logo{display:inline-block}
.sej-footer .footer__logo img{width:88px;height:auto;margin-bottom:10px}
.sej-footer .footer__baseline{font-size:.9375rem;line-height:1.5;margin:0 0 10px;max-width:35ch}
.sej-footer .footer__tel{font-size:1.125rem;min-height:44px;margin:0;display:flex;align-items:center}
.sej-footer .sej-footer__email{display:flex;align-items:center;min-height:40px;overflow-wrap:anywhere}
.sej-footer h3{font-size:.8125rem;line-height:1.4;margin:0 0 8px}
.sej-footer ul,.sej-footer .footer__grille>:nth-child(4) ul{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:0;padding:0}
.sej-footer li a{font-size:.9375rem;line-height:1.4;display:flex;align-items:center;min-height:44px;padding:6px 0;overflow-wrap:break-word;hyphens:none}
.sej-footer .footer__bas{font-size:.8125rem;line-height:1.5;padding:16px 0 calc(20px + env(safe-area-inset-bottom));gap:8px}
.sej-footer .footer__bas>a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:999px){
 .sej-footer .footer__grille{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
}
@media(max-width:599px){
 footer.sej-footer{padding-top:24px}
 .sej-footer .container{padding-inline:18px}
 .sej-footer .footer__grille{column-gap:20px;row-gap:22px;padding-bottom:20px}
 .sej-footer .sej-footer__identite,.sej-footer .sej-footer__legal{grid-column:1/-1}
 .sej-footer .footer__logo img{width:72px;margin-bottom:6px}
 .sej-footer .footer__baseline{font-size:.875rem;margin-bottom:6px;max-width:none}
 .sej-footer .footer__tel{font-size:1.0625rem}
 .sej-footer .sej-footer__email,.sej-footer li a{font-size:.875rem}
 .sej-footer .sej-footer__legal ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
 .sej-footer .footer__bas{grid-template-columns:1fr;font-size:.8125rem}
}
.sej-zone-note{font-size:.9375rem;line-height:1.5;max-width:70ch;margin:16px auto 0}
.sej-tarifs{border:1px solid var(--bordure);border-radius:var(--rayon-lg);background:var(--creme);padding:24px;max-width:860px;margin-inline:auto}
.sej-tarifs h2{margin-bottom:12px}.sej-tarifs p:last-child{margin-bottom:0}

/* V17 : présentation personnelle compacte sur les pages de destination. */
.sej-interlocuteur{padding-block:18px}
.sej-interlocuteur__contenu{display:flex;align-items:center;gap:20px;max-width:860px;margin-inline:auto}
.sej-interlocuteur__contenu>img{display:block;flex:0 0 88px;width:88px;height:104px;object-fit:cover;object-position:80% 36%;border-radius:var(--rayon-md);background:var(--creme)}
.sej-interlocuteur__contenu>div{min-width:0}
.sej-interlocuteur .sej-interlocuteur__titre{font-family:var(--font-titre);font-size:1rem;font-weight:700;color:var(--bleu);margin:0 0 5px;line-height:1.4}
.sej-interlocuteur .sej-interlocuteur__texte{font-size:.9375rem;line-height:1.5;margin:0;max-width:66ch;color:var(--gris)}
@media(max-width:599px){
 .sej-interlocuteur{padding-block:16px}
 .sej-interlocuteur__contenu{gap:14px;align-items:flex-start}
 .sej-interlocuteur__contenu>img{flex-basis:72px;width:72px;height:88px}
 .sej-interlocuteur .sej-interlocuteur__titre{font-size:.9375rem}
 .sej-interlocuteur .sej-interlocuteur__texte{font-size:.875rem}
}
@media(max-width:359px){.sej-interlocuteur__contenu{gap:10px}}

/* V18 : pied de page public unifié. Les couleurs existantes sont héritées. */
footer.sej-footer--v18{padding:30px 0 0}
.sej-footer--v18 .sej-footer-v18__top{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr) minmax(0,1fr);gap:clamp(18px,3vw,46px);padding-bottom:24px}
.sej-footer--v18 .sej-footer-v18__top>*{min-width:0}
.sej-footer--v18 .footer__logo{display:inline-flex;margin:0 0 9px}
.sej-footer--v18 .footer__logo img{display:block;width:80px;height:auto;margin:0}
.sej-footer--v18 .sej-footer-v18__identity p{font-size:.875rem;line-height:1.5;margin:0 0 9px;max-width:38ch}
.sej-footer--v18 .sej-footer-v18__identity strong{font-weight:600}
.sej-footer--v18 .sej-footer-v18__phone{display:block;font-size:1.0625rem;font-weight:700;line-height:1.5;margin:0 0 3px;color:var(--orange,#ff7900)}
.sej-footer--v18 .sej-footer-v18__email{display:inline-block;font-size:.875rem;overflow-wrap:anywhere;margin-bottom:6px}
.sej-footer--v18 .sej-footer-v18__identity .sej-footer-v18__hours{font-size:.8125rem;margin:0}
.sej-footer--v18 h3{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;margin:2px 0 10px;line-height:1.3}
.sej-footer--v18 .sej-footer-v18__top ul{display:grid;grid-template-columns:minmax(0,1fr);gap:0;list-style:none;margin:0;padding:0}
.sej-footer--v18 .sej-footer-v18__top li{margin:0;padding:0;min-width:0}
.sej-footer--v18 .sej-footer-v18__top li a{display:block;padding:5px 0;font-size:.875rem;line-height:1.4;min-height:0;overflow-wrap:normal;hyphens:none}
.sej-footer--v18 .sej-footer-v18__bottom{border-top:1px solid rgba(255,255,255,.15);padding:14px 0 calc(16px + env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px}
.sej-footer--v18 .sej-footer-v18__bottom p{font-size:.75rem;margin:0;line-height:1.5}
.sej-footer--v18 .sej-footer-v18__bottom nav{display:flex;flex-wrap:wrap;gap:8px 18px}
.sej-footer--v18 .sej-footer-v18__bottom nav a{font-size:.75rem;line-height:1.5;padding:3px 0}
@media(max-width:699px){
 footer.sej-footer--v18{padding-top:24px}
 .sej-footer--v18 .container{padding-inline:20px}
 .sej-footer--v18 .sej-footer-v18__top{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 18px;padding-bottom:18px}
 .sej-footer--v18 .sej-footer-v18__identity{grid-column:1/-1}
 .sej-footer--v18 .footer__logo img{width:68px}
 .sej-footer--v18 .sej-footer-v18__identity p{max-width:none}
 .sej-footer--v18 .sej-footer-v18__top li a{font-size:.8125rem;padding:5px 0;overflow-wrap:break-word}
 .sej-footer--v18 h3{font-size:.75rem;margin-bottom:7px}
 .sej-footer--v18 .sej-footer-v18__bottom{display:block;padding-bottom:calc(100px + env(safe-area-inset-bottom))}
 .sej-footer--v18 .sej-footer-v18__bottom p{margin-bottom:9px}
 .sej-footer--v18 .sej-footer-v18__bottom nav{gap:5px 15px}
}
@media(max-width:359px){.sej-footer--v18 .container{padding-inline:14px}.sej-footer--v18 .sej-footer-v18__top{column-gap:12px}}

/* V19: remove redundant footer bottom space; keep the sticky mobile CTA accessible. */
@media (max-width:699px){
  .sej-footer--v18 .sej-footer-v18__bottom{padding-bottom:16px;}
}
@media (min-width:1000px){
  body{padding-bottom:0 !important;}
  .sej-footer--v18 .sej-footer-v18__bottom{padding-bottom:16px;}
}

/* Correctif ergonomie mobile Solocal 2026-10-27 : palette inchangée. */
@media (max-width: 767px) {
  /* Cibles tactiles : zone cliquable minimale sans modifier la palette. */
  header a, header button, nav a, nav button,
  .btn, a.btn, button, input[type="submit"], input[type="button"],
  .sej-footer--v18 a, .sej-footer--v18 button,
  .sej-coordonnees summary { min-height:48px; }
  header a, header button, nav a, nav button,
  .sej-footer--v18 a, .sej-footer--v18 button { display:inline-flex;align-items:center; }
  .sej-footer--v18 .sej-footer-v18__top li a {min-height:48px;padding:11px 0;font-size:14px;line-height:1.45;}
  .sej-footer--v18 .sej-footer-v18__bottom nav a {min-height:48px;padding:12px 0;font-size:14px;line-height:1.4;}
  .sej-footer--v18 .sej-footer-v18__bottom p {font-size:14px;line-height:1.5;}
  .sej-footer--v18 .sej-footer-v18__identity p,
  .sej-footer--v18 .sej-footer-v18__email,
  .sej-footer--v18 .sej-footer-v18__identity .sej-footer-v18__hours {font-size:14px;line-height:1.5;}
  .sej-footer--v18 h3 {font-size:14px;line-height:1.4;}
  .sej-footer--v18 .sej-footer-v18__top {row-gap:20px;}
  /* Lisibilité des formulaires sur iOS/Android, sans zoom au focus. */
  input:not([type="checkbox"]):not([type="radio"]), select, textarea {font-size:16px;}
  small, .small, figcaption {font-size:14px;line-height:1.5;}
}

/* V20 — accessibilité et confort mobile ; couleurs existantes conservées. */
@media (max-width: 767px) {
  /* Garder les éléments interactifs lisibles sans modifier leur couleur. */
  main a:not(.btn), main button, main summary, main label { line-height: 1.5; }
  main button, main .btn, main input[type="submit"], main input[type="button"] { min-height: 48px; }
  main input:not([type="checkbox"]):not([type="radio"]), main select, main textarea { max-width: 100%; }
  .sej-footer--v18 .sej-footer-v18__bottom nav { gap: 4px 16px; }
  .sej-footer--v18 .sej-footer-v18__bottom nav a { align-items: center; }
}
/* Le focus clavier doit rester visible, sans changer la palette du site. */
:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* V21 — footer mobile compact : remplace les règles tactiles globales trop hautes. */
@media(max-width:699px){
 .sej-footer--v18 .sej-footer-v18__top{row-gap:12px;column-gap:14px;padding-bottom:14px}
 .sej-footer--v18 .sej-footer-v18__top li a{display:flex;align-items:center;min-height:40px;padding:6px 0;font-size:14px;line-height:1.35}
 .sej-footer--v18 h3{font-size:14px;margin:0 0 5px}
 .sej-footer--v18 .sej-footer-v18__identity p{margin-bottom:5px}
 .sej-footer--v18 .sej-footer-v18__email{min-height:40px;display:inline-flex;align-items:center;margin-bottom:0}
 .sej-footer--v18 .sej-footer-v18__phone{min-height:40px;display:flex;align-items:center}
 .sej-footer--v18 .sej-footer-v18__bottom{padding-top:10px;padding-bottom:12px}
 .sej-footer--v18 .sej-footer-v18__bottom nav{gap:0 12px}
 .sej-footer--v18 .sej-footer-v18__bottom nav a{display:inline-flex;align-items:center;min-height:40px;padding:5px 0;font-size:14px}
}

/* V22 — corrections mobiles ciblees, sans agrandir le footer. */
@media(max-width:767px){
  /* Taille de lecture, y compris les textes secondaires. */
  main p, main li, main dd, main dt, main figcaption, main small, main .small,
  main .text-small, main .muted, main .subtitle, main .hint,
  main label, main input, main select, main textarea {font-size: max(14px, 1em);}
  /* Boutons et liens visuellement compacts, zones tactiles suffisantes. */
  main button, main .btn, main a.btn, main input[type=submit],
  header button, header .menu-toggle, header .nav-toggle {min-width:44px;min-height:48px;}
  .sej-footer--v18 .sej-footer-v18__top li a {min-height:44px;padding:10px 0;font-size:14px;}
  .sej-footer--v18 .sej-footer-v18__bottom nav a {min-height:44px;padding:10px 0;font-size:14px;}
  .sej-footer--v18 .sej-footer-v18__bottom nav {column-gap:16px;row-gap:0;}
  .sej-footer--v18 .sej-footer-v18__top {row-gap:12px;}
}

/* V23 — pied de page mobile réellement compact, palette originale inchangée. */
@media (max-width: 699px) {
 footer.sej-footer--v18 {padding-top:16px;}
 .sej-footer--v18 .container {padding-inline:16px;}
 .sej-footer--v18 .sej-footer-v18__top {
   grid-template-columns:repeat(2,minmax(0,1fr));
   gap:10px 14px; padding-bottom:12px;
 }
 .sej-footer--v18 .sej-footer-v18__identity {grid-column:1/-1;}
 .sej-footer--v18 .footer__logo {margin-bottom:2px;}
 .sej-footer--v18 .footer__logo img {width:58px;}
 .sej-footer--v18 .sej-footer-v18__identity p {margin:0 0 3px;line-height:1.35;}
 .sej-footer--v18 .sej-footer-v18__phone {margin:2px 0;line-height:1.3;}
 .sej-footer--v18 .sej-footer-v18__email {margin:0;line-height:1.3;}
 .sej-footer--v18 .sej-footer-v18__hours {margin:0;line-height:1.35;}
 .sej-footer--v18 h3 {margin:0 0 3px;font-size:12px;letter-spacing:.045em;line-height:1.3;}
 .sej-footer--v18 .sej-footer-v18__top li a {
   display:flex;align-items:center;min-height:34px;padding:3px 0;
   font-size:13px;line-height:1.25;
 }
 .sej-footer--v18 .sej-footer-v18__bottom {
   display:block;padding:9px 0 12px;
 }
 .sej-footer--v18 .sej-footer-v18__bottom p {font-size:12px;margin:0 0 5px;}
 .sej-footer--v18 .sej-footer-v18__bottom nav {gap:0 12px;}
 .sej-footer--v18 .sej-footer-v18__bottom nav a {
   display:inline-flex;align-items:center;min-height:32px;
   padding:3px 0;font-size:12px;line-height:1.3;
 }
}
