/* Zones tactiles >= 44 px sur mobile et tablette (audit responsive 2026-09-30).
   Principe : un ::after transparent, centré sur l'élément, agrandit la zone
   cliquable sans changer l'aspect. Chargé par toutes les pages (avant </head>).
   Si un de ces éléments reçoit un jour son propre ::after, le retirer d'ici. */
@media (max-width:1024px){
  .brand .logo,header .logo,.cta-nav,.nav-phone-link,.reviews-google-note,
  .social-row a,.breadcrumb a,.model-body a.price,.btn-sm,.hero-quicklinks a,
  .sticky-quicklinks-inner a,.simple-card p a,.split-text a,.formule-btn,
  .activity-link,.link-list a,.contact-line a,.listing-cta,.contact-form button,
  .footer-legal a,.footer-ouverture a,.form-privacy a,.brand .lang-switch a,.lieu-credit a,.credit-txt a{
    position:relative;
  }
  .brand .logo::after,header .logo::after,.cta-nav::after,.nav-phone-link::after,
  .reviews-google-note::after,.social-row a::after,.breadcrumb a::after,
  .model-body a.price::after,.btn-sm::after,.hero-quicklinks a::after,
  .sticky-quicklinks-inner a::after,.simple-card p a::after,.split-text a::after,
  .formule-btn::after,.activity-link::after,.link-list a::after,
  .contact-line a::after,.listing-cta::after,.contact-form button::after,
  .footer-legal a::after,.form-privacy a::after,.brand .lang-switch a::after,
  .lieu-credit a::after,.credit-txt a::after,
  .skip-btn::after,.burger::after{
    content:"";position:absolute;left:50%;top:50%;
    width:max(100%,44px);height:max(100%,44px);
    transform:translate(-50%,-50%);
  }
  header .logo{display:inline-block;}
  /* Champs de formulaire (pas de ::after possible) : 41-42 px -> 44 px */
  input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select{min-height:44px;}
}

/* Images : width/height sont déclarés dans le HTML (réserve la place pendant le
   chargement, évite que la page « saute »). Priorité nulle (:where) : toute règle
   des pages qui fixe une hauteur l'emporte ; sinon la hauteur suit la largeur. */
:where(img[width][height]){height:auto;}
