/* Selosse Avocat - correctifs communs à tout le site (chargé dans le head, règles en !important
   car ce fichier passe avant le CSS des sections). Retours de Lucas (19/10) et d'Ethan (20/10). */

/* Contour au clic : seulement au clavier */
:where(a, button, summary, [tabindex]):focus:not(:focus-visible) { outline: none !important; box-shadow: none !important; }
.uichemy-x-faq .xf__q:focus:not(:focus-visible) { outline: none !important; }

/* Hero : jamais plus haut que l'écran, pour que le texte ne soit pas coupé */
@media (min-width: 769px) {
  .uichemy-page-hero-1 .ahero, .uichemy-accueil-hero-1 .ahero { height: auto !important; min-height: min(960px, 100svh) !important; }
  .uichemy-page-hero-1 .ahero--compact { min-height: min(560px, 100svh) !important; }
}
@media (min-width: 769px) and (max-height: 860px) {
  .uichemy-page-hero-1 .ahero__container, .uichemy-accueil-hero-1 .ahero__container { padding-top: 120px !important; padding-bottom: 64px !important; }
  .uichemy-page-hero-1 .ahero__wrap, .uichemy-accueil-hero-1 .ahero__wrap { gap: 22px !important; }
  .uichemy-page-hero-1 .ahero__title, .uichemy-accueil-hero-1 .ahero__title { font-size: min(5.6vw, 9vh) !important; line-height: 1.05 !important; }
  .uichemy-page-hero-1 .ahero__intro, .uichemy-page-hero-1 .ahero__note { max-width: 780px !important; }
  .uichemy-page-hero-1 .ahero__note { margin-top: -8px !important; }
}

/* Encarts à droite des titres (« Découvrez les piliers… », « Chaque dossier… ») : même taille, calés en bas du titre */
@media (min-width: 1025px) {
  .uichemy-accueil-piliers-2 .apil__head, .uichemy-services-4 .asrv__head { align-items: flex-end !important; }
  .uichemy-services-4 .asrv__intro { flex: 0 0 440px !important; }
  .uichemy-accueil-piliers-2 .apil__lead { flex: 0 1 440px !important; margin-left: auto !important; }
}
.uichemy-accueil-piliers-2 .apil__lead, .uichemy-services-4 .asrv__intro-text { font-size: 20px !important; line-height: 30px !important; }
@media (max-width: 768px) { .uichemy-accueil-piliers-2 .apil__lead, .uichemy-services-4 .asrv__intro-text { font-size: 18px !important; line-height: 27px !important; } }

/* Tailles de texte : un cran de plus pour les plus petits, et un seul corps de texte courant */
@media (min-width: 769px) {
  .uichemy-x-author .xa__p, .uichemy-x-pres .xp__p, .uichemy-philippe-3 .aphi__body p, .uichemy-philippe-3 .aphi__body,
  .uichemy-x-list .xl__intro, .uichemy-x-cards .xc__chapeau, .uichemy-x-formules .xo__d { font-size: 18px !important; line-height: 29px !important; }
  .uichemy-page-hero-1 .ahero__intro, .uichemy-page-hero-1 .ahero__sub, .uichemy-accueil-hero-1 .ahero__sub { font-size: 18px !important; line-height: 28px !important; }
  .uichemy-x-steps .xt__sd, .uichemy-x-cards .xc__fv { font-size: 17px !important; line-height: 27px !important; }
}
.uichemy-services-4 .asrv__desc, .uichemy-x-list .xl__d, .uichemy-avis-6 .aavis__author, .uichemy-page-hero-1 .ahero__note { font-size: 16px !important; line-height: 24px !important; }
.uichemy-cta-7 .acta__sub, .uichemy-trouver-5 .atrv__sub { font-size: 17px !important; line-height: 26px !important; }
.uichemy-page-hero-1 .ahero__crumbs, .uichemy-footer-1 .ftr__link, .uichemy-footer-1 .ftr__text { font-size: 15px !important; }
.uichemy-footer-1 .ftr__heading, .uichemy-x-cards .xc__fk, .uichemy-x-list .xl__label, .uichemy-x-sign .xg__name, .uichemy-x-formules .xo__ttc { font-size: 13px !important; line-height: 19px !important; }
.uichemy-contact-coords .ccd__k, .uichemy-services-4 .asrv__label { font-size: 14px !important; }

/* Tablette et téléphone (audit du 19/10) */
@media (max-width: 1024px) {
  .uichemy-x-cards .xc__title, .uichemy-x-cards .xc__aside { flex: none !important; }
}
@media (max-width: 768px) {
  .uichemy-valeurs-2 .cval__text, .uichemy-valeurs-2 .cval__photo { flex: none !important; }
  .uichemy-x-steps .xt__step { grid-template-columns: auto minmax(0, 1fr) !important; column-gap: 24px !important; }
  .uichemy-x-steps .xt__num { min-width: 52px !important; font-size: 40px !important; line-height: 1 !important; padding-top: 4px !important; }
  .uichemy-x-steps .xt__txt { padding: 0 0 24px !important; }
  .uichemy-x-steps .xt__list { gap: 24px !important; }
  .uichemy-x-steps .xt__list:last-child { margin-bottom: 0 !important; }
  .uichemy-x-steps .xt__step:last-child .xt__txt { padding-bottom: 0 !important; }
  .uichemy-x-cards .xc, .uichemy-x-list .xl, .uichemy-x-author .xa, .uichemy-x-faq .xf { padding-bottom: 64px !important; }
  .uichemy-x-legal .xq { padding-bottom: 64px !important; }
  .uichemy-x-legal .xq__sec:last-child { padding-bottom: 0 !important; }
  .uichemy-page-hero-1 .ahero--compact { min-height: 380px !important; }
}

/* Audit du 21/10 : une seule règle d'espacement pour toutes les sections de contenu
   (même marge en haut et en bas : 120 px ordinateur, 96 px tablette, 64 px téléphone)
   et le même bord gauche/droit pour le bloc Contact que pour les autres sections. */
.uichemy-x-steps .xt__list:last-child { margin-bottom: 0 !important; }
.uichemy-x-legal .xq__sec:last-child { padding-bottom: 0 !important; }
:is(.uichemy-x-pres .xp, .uichemy-x-list .xl, .uichemy-x-cards .xc, .uichemy-x-cases .xs, .uichemy-x-case .xk,
    .uichemy-x-steps .xt, .uichemy-x-author .xa, .uichemy-x-faq .xf, .uichemy-x-formules .xo, .uichemy-x-legal .xq,
    .uichemy-accueil-piliers-2 .apil__container, .uichemy-philippe-3 .aphi__container, .uichemy-trouver-5 .atrv__container,
    .uichemy-valeurs-2 .cval__container, .uichemy-parcours-3 .cpar__container,
    .uichemy-services-4 .asrv:not(.asrv--dom) .asrv__container, .uichemy-blog-grid .bgr__container, .sel-contact-row > .e-con-inner)
  { padding-top: 120px !important; padding-bottom: 120px !important; }
@media (max-width: 1024px) {
  :is(.uichemy-x-pres .xp, .uichemy-x-list .xl, .uichemy-x-cards .xc, .uichemy-x-cases .xs, .uichemy-x-case .xk,
      .uichemy-x-steps .xt, .uichemy-x-author .xa, .uichemy-x-faq .xf, .uichemy-x-formules .xo, .uichemy-x-legal .xq,
      .uichemy-accueil-piliers-2 .apil__container, .uichemy-philippe-3 .aphi__container, .uichemy-trouver-5 .atrv__container,
      .uichemy-valeurs-2 .cval__container, .uichemy-parcours-3 .cpar__container,
      .uichemy-services-4 .asrv:not(.asrv--dom) .asrv__container, .uichemy-blog-grid .bgr__container, .sel-contact-row > .e-con-inner)
    { padding-top: 96px !important; padding-bottom: 96px !important; }
}
@media (max-width: 768px) {
  :is(.uichemy-x-pres .xp, .uichemy-x-list .xl, .uichemy-x-cards .xc, .uichemy-x-cases .xs, .uichemy-x-case .xk,
      .uichemy-x-steps .xt, .uichemy-x-author .xa, .uichemy-x-faq .xf, .uichemy-x-formules .xo, .uichemy-x-legal .xq,
      .uichemy-accueil-piliers-2 .apil__container, .uichemy-philippe-3 .aphi__container, .uichemy-trouver-5 .atrv__container,
      .uichemy-valeurs-2 .cval__container, .uichemy-parcours-3 .cpar__container,
      .uichemy-services-4 .asrv:not(.asrv--dom) .asrv__container, .uichemy-blog-grid .bgr__container, .sel-contact-row > .e-con-inner)
    { padding-top: 64px !important; padding-bottom: 64px !important; }
}
/* Bloc Contact : même gouttière que les sections pr-boxed */
@media (min-width: 1025px) and (max-width: 1440px) { .sel-contact-row > .e-con-inner { padding-inline: clamp(16px, 5vw, 80px) !important; } }
@media (max-width: 768px) { .sel-contact-row { padding-inline: 0 !important; } .sel-contact-row > .e-con-inner { width: 100% !important; max-width: var(--content-width, 100%) !important; margin-inline: auto !important; padding-inline: 20px !important; } }
@media (max-width: 480px) { .sel-contact-row > .e-con-inner { padding-inline: 16px !important; } }
/* Blocs « cas » : le premier texte démarre au même niveau que dans les autres sections */
.uichemy-x-cases .xs__case:not(.xs__case--box) { padding-top: 0 !important; }
