/* PRO ETUDES — Ultimate SEO/GEO/UX Patch 2026 */
:root{
  --pe-navy:#0b1f33;
  --pe-blue:#0f5a8a;
  --pe-blue-2:#1677b8;
  --pe-ink:#14202b;
  --pe-muted:#5f6b76;
  --pe-surface:#f7fafc;
  --pe-border:#d9e2ea;
  --pe-radius:18px;
  --pe-shadow:0 12px 32px rgba(11,31,51,.08);
  --pe-content:1180px;
}

html{scroll-behavior:smooth}
body{color:var(--pe-ink);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
main, #main, .site-main{scroll-margin-top:110px}

.pe-skip-link{
  position:fixed;left:16px;top:12px;z-index:999999;
  transform:translateY(-150%);
  padding:12px 16px;border-radius:10px;background:#fff;color:var(--pe-navy);
  box-shadow:var(--pe-shadow);font-weight:700;text-decoration:none
}
.pe-skip-link:focus{transform:translateY(0)}

:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid #ffbf47!important;
  outline-offset:3px!important;
}

:where(.elementor-widget-text-editor,.entry-content,.site-main) p{
  line-height:1.72;
}
:where(.entry-content,.site-main) h1{
  line-height:1.08;
  letter-spacing:-.025em;
}
:where(.entry-content,.site-main) h2{
  line-height:1.15;
  letter-spacing:-.015em;
  margin-top:1.6em;
}
:where(.entry-content,.site-main) h3{line-height:1.2}

:where(.elementor-button,.wp-element-button,.button,button,input[type="submit"]){
  min-height:44px;
  border-radius:12px;
  font-weight:700;
}

:where(input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="number"],select,textarea){
  min-height:46px;
  border:1px solid var(--pe-border)!important;
  border-radius:12px!important;
  padding:11px 13px!important;
  background:#fff!important;
}
textarea{min-height:120px}

.pe-card,
:where(.formation-card,.course-card,.catalogue-card){
  border:1px solid var(--pe-border);
  border-radius:var(--pe-radius);
  box-shadow:var(--pe-shadow);
}

@media (max-width: 767px){
  :root{--pe-radius:14px}
  body{font-size:16px}
  :where(.entry-content,.site-main) h1{font-size:clamp(2rem,9vw,2.7rem)}
  :where(.entry-content,.site-main) h2{font-size:clamp(1.5rem,7vw,2rem)}
  :where(.elementor-button,.wp-element-button,.button,button,input[type="submit"]){
    min-height:48px;
  }
}

/* Calendrier : limite les débordements horizontaux sans casser Elementor */
body.page-id-calendar :where(table),
body[class*="calendrier"] :where(table){
  width:100%;
  max-width:100%;
}
@media (max-width: 767px){
  body.page-id-calendar :where(table),
  body[class*="calendrier"] :where(table){
    display:block;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
}

/* Réduction des animations si l’utilisateur le demande */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
