/* 003_public.css : styles communs aux pages publiques (index.php, pages légales).
   Base typographique, conteneur, sections, lien d'évitement, focus et pied de page (003_footer.php).
   Les variables --bpe-*, la police Inter et les boutons .bpe-btn viennent de 002_menu.php.
   Après modification, incrémenter le ?v= des balises <link> qui chargent ce fichier. */

*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%}
html{scroll-padding-top:100px}
body{font-family:Inter,sans-serif;color:var(--bpe-text);background:var(--bpe-cream);line-height:1.65}
img,svg,video,canvas{max-width:100%;height:auto}
p,h1,h2,h3,.bpe-badge,.bpe-btn,.bpe-footer a{overflow-wrap:anywhere;word-break:normal}
h1,h2,h3{font-family:Fraunces,serif;color:var(--bpe-navy);font-weight:700}
h1{font-size:clamp(2.1rem,5vw,4.65rem);line-height:1.05;letter-spacing:-.035em}
h2{font-size:clamp(1.75rem,3.8vw,3.25rem);line-height:1.12}
h3{font-size:clamp(1.14rem,1.5vw,1.28rem)}
.bpe-container{width:100%;max-width:1200px}
.bpe-section{padding:clamp(4.5rem,8vw,7.5rem) 0}
.bpe-skip-link{position:fixed;left:1rem;top:-5rem;z-index:1100;background:var(--bpe-navy);color:#fff;padding:.75rem 1rem}
.bpe-skip-link:focus{top:1rem}
.bpe-footer{background:#0e1c2e;color:#c8d3df;padding:4rem 0 2rem}
.bpe-footer-logo{height:56px;width:auto}
.bpe-footer li+li{margin-top:.4rem}
.bpe-footer a{color:#dceaf7;text-decoration:none}
.bpe-footer a:hover{color:#fff;text-decoration:underline}
.bpe-footer-title{color:#fff;font-family:Inter,sans-serif;font-size:1rem}
.bpe-btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #ffbf47!important;outline-offset:3px}

/* Boutons : style unique. Valeurs dans les variables --bpe-btn-* de 002_menu.php. bp01 et bp02 ne chargent pas ce fichier. */
a.bpe-btn.bpe-btn,button.bpe-btn.bpe-btn,.bpe-back-to-top{--bs-btn-active-bg:transparent;--bs-btn-active-color:var(--bpe-btn-texte);--bs-btn-active-border-color:transparent;background:var(--bpe-btn-fond);background-origin:border-box;border-color:transparent;color:var(--bpe-btn-texte);font-weight:var(--bpe-btn-graisse-secondaire);box-shadow:var(--bpe-btn-relief);transition:var(--bpe-btn-transition)}
a.bpe-btn.bpe-btn-primary,button.bpe-btn.bpe-btn-primary{font-weight:var(--bpe-btn-graisse-principal)}
a.bpe-btn.bpe-btn:hover,button.bpe-btn.bpe-btn:hover,.bpe-back-to-top:hover{background:var(--bpe-btn-fond-survol);background-origin:border-box;border-color:transparent;color:var(--bpe-btn-texte);box-shadow:var(--bpe-btn-relief);transform:none}
a.bpe-btn.bpe-btn:focus,button.bpe-btn.bpe-btn:focus{border-color:transparent;color:var(--bpe-btn-texte);box-shadow:var(--bpe-btn-relief);transform:none}
a.bpe-btn.bpe-btn:active,button.bpe-btn.bpe-btn:active,.bpe-back-to-top:active{border-color:transparent;color:var(--bpe-btn-texte);box-shadow:var(--bpe-btn-relief-actif);transform:translateY(3px)}
a.bpe-btn:focus-visible,button.bpe-btn:focus-visible{outline:3px solid var(--bpe-btn-focus)!important;outline-offset:3px}
button.bpe-btn.bpe-btn:disabled{opacity:var(--bpe-btn-opacite-inactif);background:var(--bpe-btn-fond-inactif);color:var(--bpe-btn-texte);box-shadow:none;cursor:not-allowed;transform:none}
@media(prefers-reduced-motion:reduce){a.bpe-btn.bpe-btn,button.bpe-btn.bpe-btn,.bpe-back-to-top{transition:none}a.bpe-btn.bpe-btn:active,button.bpe-btn.bpe-btn:active,.bpe-back-to-top:active{transform:none}}

@media(max-width:1399.98px){html{scroll-padding-top:88px}}

@media(max-width:991.98px){.bpe-container{padding-inline:24px}
.bpe-section{padding:5rem 0}
}

@media(max-width:767.98px){html{scroll-padding-top:78px}
.bpe-container{padding-inline:20px}
.bpe-section{padding:4.25rem 0}
.bpe-footer{padding:3.5rem 0 2rem}
.bpe-footer-logo{height:48px}
}

@media(max-width:575.98px){html{scroll-padding-top:72px}
.bpe-container{padding-inline:16px}
.bpe-section{padding:3.75rem 0}
.bpe-footer-logo{height:44px}
}

@media(max-width:374.98px){h1{font-size:1.95rem;line-height:1.1}
h2{font-size:1.65rem}
.bpe-container{padding-inline:16px}
}

@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
