/* ===== FONTS =====
   Gardé : Source Sans Pro (utilisée par body)
   Supprimé : Open Sans (inutile ici) */
@import url("https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@300;400;700&display=swap");

/* ===== VARIABLES GLOBALES (hors menu) ===== */
:root{
  --blue:#2780e3; --indigo:#6610f2; --purple:#613d7c; --pink:#e83e8c;
  --red:#ff0039; --orange:#f0ad4e; --yellow:#ff7518; --green:#3fb618;
  --teal:#20c997; --cyan:#9954bb; --white:#fff; --gray:#868e96; --gray-dark:#373a3c;
  --primary:#2780e3; --secondary:#373a3c; --success:#3fb618; --info:#9954bb;
  --warning:#ff7518; --danger:#ff0039; --light:#f8f9fa; --dark:#373a3c;
  --radius:12px; --shadow-sm:0 1px 2px rgba(0,0,0,.06);
}

/* ===== RESET LÉGER ===== */
*,*::before,*::after{box-sizing:border-box}
html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
body{margin:0;font-family:"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:15px;line-height:1.5;color:#373a3c;background:#ece9e9}
img{max-width:100%;height:auto;display:block}
a{color:#2780e3;text-decoration:none}
a:hover{text-decoration:underline}

/* ===== WATERMARK (inchangé) ===== */
#watermark{color:#d0d0d0;font-size:200pt;transform:rotate(-45deg);position:absolute;width:100%;height:100%;margin:0;z-index:-1;left:-100px;top:-200px}

/* ===== TITRES ===== */
h1,h2,h3,h4,h5,h6{margin:.0 0 .5rem;font-weight:300;line-height:1.2}
h1{display:none;font-size:2.35rem;background:#fff;border:.5px solid #aab4be}
h2{font-size:1.875rem}
h3{font-size:1rem;color:#7a7d80;border-bottom:1px solid #aab4be}

/* ===== BLOCS CONTENU ===== */
.level2{background:#bb455f;color:#fff;border:.5px solid #aab4be;padding:3px;margin:3px;border-radius:var(--radius)}
.level3{background:#fff;color:#000;border:.5px solid #aab4be;padding:3px;margin:3px;border-radius:var(--radius)}
.intro{background:#fff;text-align:center;border:.5px solid #aab4be;padding:3px;margin:3px;box-shadow:var(--shadow-sm)}
.logo1{display:block;margin:0 auto 5%;width:100%;text-align:center;background:#fff}
.logo{display:block;width:50%;margin:15% auto 0}

/* ===== TABLE ===== */
table{border:3px solid #fff;border-collapse:collapse;width:90%;margin:auto;background:#fff}
thead,tfoot{background:#D0E3FA;border:1px solid #bb455f}
tbody{border:1px solid #bb455f}
th,td{border:1px solid #bb455f;padding:5px;text-align:left}
th{background:#EFF6FF;width:25%}
td{font-size:80%}
tr:active{background:#bb455f;color:#fff}
@media(hover:hover) and (pointer:fine){tr:hover{background:#20c997}}

/* ===== BOUTONS (hors menu) ===== */
.button{
  display:inline-flex;align-items:center;justify-content:center;height:40px;
  padding:0 20px;border-radius:999px;border:1px solid #d4d4d4;
  background:#f7f7f7;font-weight:400;font-size:16px;color:#555;text-shadow:none;
  box-shadow:var(--shadow-sm);transition:transform .08s ease,box-shadow .2s ease
}
.button:active{transform:translateY(1px)}
.button-flat{border:none;box-shadow:none;background:#eee;transition:background .3s}
.button-flat-primary{border:none;background:#00A1CB;color:#fff}
.button-pill{border-radius:999px}
.buttonaccueil{display:block;margin:15% auto 0;text-align:center}

/* ===== EN-TÊTE DÉCORATIF ===== */
.sample-header{position:fixed;left:0;top:0;width:100%;background-image:url(images/Logo.png);background-position:center;background-size:100%;background-repeat:no-repeat}
.sample-header-section{position:relative;padding:15% 0 10%;max-width:640px;margin:0 auto;color:#fff;text-shadow:1px 1px 4px rgba(0,0,0,.5)}
.sample-section-wrap{position:relative;background:#fff}
.sample-section{position:relative;max-width:640px;margin:0 auto;padding:40px}

/* ===== LIENS RÉINITIALISÉS (inchangé car utile globalement) ===== */
a:not([href]):not([class]){color:inherit;text-decoration:none}
a:not([href]):not([class]):hover{color:inherit;text-decoration:none}

/* =================================================================
   🛑 MENU — BLOCS CONSERVÉS À L’IDENTIQUE (NE PAS MODIFIER)
   ================================================================= */

/* Reset bouton */
.r-button{
  --uirButtonBackgroundColor:var(--rButtonBackgroundColor,transparent);
  --uirButtonPadding:var(--rButtonPadding,var(--rButtonPaddingTop,0) var(--rButtonPaddingRight,0) var(--rButtonPaddingBottom,0) var(--rButtonPaddingLeft,0));
  --uirButtonBorderWidth:var(--rButtonBorderWidth,0);
  --uirButtonBorderStyle:var(--rButtonBorderStyle,solid);
  --uirButtonBorderColor:var(--rButtonBorderColor,currentColor);
  --uirButtonFontFamily:var(--rButtonFontFamily,inherit);
  --uirButtonFontSize:var(--rButtonFontSize,inherit);
  --uirButtonColor:var(--rButtonColor);
  background-color:var(--uirButtonBackgroundColor);
  padding:var(--uirButtonPadding);
  border-width:var(--uirButtonBorderWidth);
  border-style:var(--uirButtonBorderStyle);
  border-color:var(--uirButtonBorderColor);
  cursor:pointer;font-family:var(--uirButtonFontFamily);font-size:var(--uirButtonFontSize)
}
.r-button::-moz-focus-inner,
.r-button[type="button"]::-moz-focus-inner,
.r-button[type="reset"]::-moz-focus-inner,
.r-button[type="submit"]::-moz-focus-inner{border-style:none;padding:0}

/* Links reset */
.r-link{--uirLinkDisplay:var(--rLinkDisplay,inline-flex);--uirLinkTextColor:var(--rLinkTextColor);--uirLinkTextDecoration:var(--rLinkTextDecoration,none);
  display:var(--uirLinkDisplay)!important;color:var(--uirLinkTextColor)!important;text-decoration:var(--uirLinkTextDecoration)!important}

/* Lists reset */
.r-list{--uirListPaddingLeft:var(--rListPaddingLeft,0);--uirListMarginTop:var(--rListMarginTop,0);--uirListMarginBottom:var(--rListMarginBottom,0);--uirListListStyle:var(--rListListStyle,none);
  padding-left:var(--uirListPaddingLeft)!important;margin-top:var(--uirListMarginTop)!important;margin-bottom:var(--uirListMarginBottom)!important;list-style:var(--uirListListStyle)!important}

/* Hamburger */
.m-hamburger{--uiHamburgerThickness:var(--hamburgerThickness,4px);display:var(--hamburgerDisplay,inline-flex);width:var(--hamburgerWidth,28px);height:var(--hamburgerHeight,20px);position:relative}
.m-hamburger::before,.m-hamburger::after,.m-hamburger__label{width:100%;height:var(--uiHamburgerThickness);border-radius:var(--hamburgerBorderRadius,5px);background-color:var(--hamburgerBackgroundColor,currentColor);position:absolute;left:0}
.m-hamburger::before,.m-hamburger::after{content:""}
.m-hamburger::before{top:0}.m-hamburger::after{bottom:0}
.m-hamburger__label{top:calc(50% - calc(var(--uiHamburgerThickness)/2))}
.screen-reader{width:1px!important;height:1px!important;padding:0!important;border:none!important;position:absolute!important;clip:rect(1px,1px,1px,1px)!important;overflow:hidden!important}

/* Menu styles */
.menu{
  --uiMenuCircleSize:var(--menuCircleSize,6.25rem);
  --uiMenuCircleOffset:var(--menuCircleOffset,1rem);
  --uiMenuCircleHeight:calc(var(--uiMenuCircleSize)/2);
  --uiMenuCircleBackgroundColor:var(--menuCircleBackgroundColor,currentColor);
  --uiMenuHamburgerWidth:var(--menuHamburgerWidth,1.75rem);
  --uiMenuHamburgerHeight:var(--menuHamburgerHeight,1.25rem);
  --rButtonPaddingTop:calc(var(--uiMenuCircleHeight) - var(--uiMenuHamburgerHeight) - var(--uiMenuCircleOffset));
  --hamburgerWidth:var(--uiMenuHamburgerWidth);
  --hamburgerHeight:var(--uiMenuHamburgerHeight);
  --hamburgerBackgroundColor:var(--menuHamburgerBackgroundColor,#fff);
  width:100%;display:flex;flex-direction:column;align-items:center;position:fixed;bottom:0;left:0;z-index:var(--menuZindex,9998)
}
.menu__nav{box-sizing:border-box;width:100%;height:0;transition:opacity .2s ease-out;opacity:0;display:flex;align-items:flex-end;z-index:2}
.menu__list{width:100%;max-height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}
.menu__toggle{box-sizing:border-box;width:var(--uiMenuCircleSize);height:var(--uiMenuCircleHeight);flex:none;position:relative;z-index:0}
.menu__toggle::before{content:"";width:1em;height:1em;font-size:var(--uiMenuCircleSize);background-color:var(--uiMenuCircleBackgroundColor);border-radius:50%;position:absolute;bottom:-.5em;left:calc(50% - .5em);z-index:-1;will-change:width,height;transition:transform .25s cubic-bezier(0.04,-0.1,0.29,0.98),width .25s cubic-bezier(0.04,-0.1,0.29,0.98),height .25s cubic-bezier(0.04,-0.1,0.29,0.98)}
.m-hamburger::before,.m-hamburger::after,.m-hamburger__label{transition-timing-function:ease;transition-duration:.15s}
.m-hamburger::before,.m-hamburger::after{transition-property:transform}
.m-hamburger__label{transition-property:transform,opacity}

/* Menu states */
.menu__toggle:focus{outline:var(--menuHaburgerOutlineOWidth,2px) solid var(--menuHaburgerOutlineColor);outline-offset:var(--menuHaburgerOutlineOffset,5px)}
.menu_activated{height:100%}
.menu_activated .menu__nav{flex-grow:1;opacity:1;will-change:opacity;transition-duration:.2s;transition-delay:.3s}
.menu_activated .menu__toggle::before{width:100vmax;height:100vmax;transform:translate3d(-50vh,-50vh,0) scale(5);transition-duration:1s}
.menu:not(.menu_activated) .menu__list{display:none}
.menu_activated .m-hamburger::before{top:50%;transform:translate3d(0,-50%,0) rotate(45deg)}
.menu_activated .m-hamburger::after{transform:translate3d(0,-50%,0) rotate(135deg);top:50%}
.menu_activated .m-hamburger__label{transform:rotate(-45deg) translate3d(-.285em,-.3em,0);opacity:0}

/* Menu settings */
:root{--colorWhite:#fff;--colorMain:#bb455f;--menuCircleBackgroundColor:var(--colorMain);--menuHamburgerBackgroundColor:var(--colorWhite);--menuHaburgerOutlineColor:var(--colorMain)}
.menu_activated{--menuHaburgerOutlineColor:var(--colorWhite)}

/* ===== PATCH : Amélioration lisibilité menu ouvert ===== */
.menu_activated .menu__group a {
  font-size: 1.25rem;
  font-weight: 600;
  color: #fff !important;
  padding: 0.75rem 1rem;
}

.menu_activated .menu__group a:hover,
.menu_activated .menu__group a:focus {
  background-color: rgba(255, 255, 255, 0.15);
  text-decoration: none;
}

/* Bouton hamburger semi-transparent */
.menu__toggle::before {
  background-color: rgba(187, 69, 95, 0.9); /* même couleur que #bb455f avec opacité */
}

.m-hamburger::before,
.m-hamburger::after,
.m-hamburger__label {
  background-color: rgba(255, 255, 255, 0.8); /* traits blancs translucides */
}

html, body { height: 100%; margin: 0; background:#bb455f; }
body {
  background: #bb455f;            /* même couleur que theme_color */
  padding-top: env(safe-area-inset-top);
  padding-right: env(safe-area-inset-right);
  padding-bottom: env(safe-area-inset-bottom);
  padding-left: env(safe-area-inset-left);
}