/* SAVOY.FR — Navigation des quatre piliers et respiration des panneaux.
   12 octobre 2026. Complément de la coque commune, sans reconstruction HTML.
   Le lecteur biblique et ses fonctions de chapitre sont hors périmètre. */

/* Correctif mesuré : la section pédagogique n'avait aucun espace intérieur. */
main.pillar-introduction > section.intro-portal-native {
 box-sizing:border-box !important;
 padding:clamp(20px,2.2vw,30px) !important;
}
@media(max-width:599px) {
 main.pillar-introduction > section.intro-portal-native {
  padding:18px !important;
 }
}

/* Navigation sobre : liens principaux toujours accessibles d'un clic. */
.refonte-header .refonte-nav {
 gap:clamp(8px,1.45vw,22px);
}
.refonte-header .savoy-nav-group {
 display:flex;
 position:relative;
 align-items:center;
 gap:2px;
 flex:0 0 auto;
 min-width:0;
}
.refonte-header .savoy-nav-group > .savoy-nav-link {
 display:inline-flex;
 align-items:center;
 min-height:44px;
 padding:0;
 border-bottom:2px solid transparent;
 font-weight:600;
 font-size:.91rem;
}
.refonte-header .savoy-nav-group > .savoy-nav-link[aria-current=page] {
 color:var(--rf-ink,#193f58);
 border-bottom-color:var(--rf-gold,#d5a44b);
}
.refonte-header .savoy-nav-caret {
 display:inline-flex;
 flex:0 0 auto;
 align-items:center;
 justify-content:center;
 width:26px;
 height:42px;
 padding:0;
 border:0;
 border-radius:9px;
 background:transparent;
 color:#536864;
 cursor:pointer;
}
.refonte-header .savoy-nav-caret::after {
 content:"";
 display:block;
 width:7px;height:7px;
 transform:translateY(-2px) rotate(45deg);
 border-right:1.8px solid currentColor;
 border-bottom:1.8px solid currentColor;
 transition:transform .12s ease;
}
.refonte-header .savoy-nav-group[data-expanded=true] > .savoy-nav-caret {
 background:#f4efe7;
 color:#264b51;
}
.refonte-header .savoy-nav-group[data-expanded=true] > .savoy-nav-caret::after {
 transform:translateY(2px) rotate(225deg);
}
.refonte-header :is(.savoy-nav-caret,.savoy-nav-panel a):focus-visible {
 outline:3px solid #386d77 !important;
 outline-offset:2px !important;
}
.refonte-header .savoy-nav-panel[hidden] {
 display:none !important;
}
.refonte-header .savoy-nav-panel:not([hidden]) {
 display:grid;
 gap:2px;
 position:absolute;
 z-index:70;
 top:calc(100% - 5px);
 left:-18px;
 width:max-content;
 min-width:240px;
 max-width:min(310px,calc(100vw - 38px));
 padding:13px;
 border:1px solid #e0cab1;
 border-radius:16px;
 background:linear-gradient(150deg,#fffefa,#fcf8ef);
 box-shadow:0 16px 40px rgba(35,52,48,.17);
 color:#284c54;
}
.refonte-header .savoy-nav-panel .savoy-nav-panel-title {
 margin:2px 8px 7px;
 color:#8a633d;
 font:750 11px/1.4 system-ui,sans-serif;
 letter-spacing:.095em;
 text-transform:uppercase;
}
.refonte-header .savoy-nav-panel a {
 box-sizing:border-box;
 display:flex;
 align-items:center;
 width:100%;
 min-height:44px;
 margin:0;
 padding:10px 11px;
 border:0;
 border-radius:9px;
 font:600 .88rem/1.32 system-ui,sans-serif;
 color:#284854;
 white-space:normal;
 text-decoration:none;
}
.refonte-header .savoy-nav-panel a:hover,
.refonte-header .savoy-nav-panel a:focus-visible {
 background:#f3ecdf;
 color:#193f58;
}
.refonte-header .savoy-nav-panel .savoy-nav-discover {
 color:#8a5138;
 font-weight:700;
 border-bottom:1px solid #ede0cd;
 border-radius:0;
 margin-bottom:3px;
}
/* Grand ordinateur : quatre piliers et l'accueil en une ligne. */
@media(min-width:1341px) {
 .refonte-header .refonte-nav {gap:clamp(8px,1vw,17px);}
 .refonte-header .refonte-nav .savoy-nav-group > .savoy-nav-link {font-size:.88rem;}
 .refonte-header .savoy-nav-group:last-of-type .savoy-nav-panel {left:auto;right:-18px;}
}
/* À largeur intermédiaire, ne jamais tasser les rubriques du menu. */
@media(max-width:1340px) {
 .refonte-header .refonte-header-inner {gap:10px;}
 .refonte-header .refonte-menu-toggle {
  display:inline-flex !important;align-items:center;gap:9px;
  min-height:44px;padding:0 12px;
  background:#f2eee5;border:1px solid #e2d8c9;border-radius:10px;
  color:#31514c;font:650 .82rem/1.3 system-ui,sans-serif;
 }
 .refonte-header .refonte-search {display:none;}
 .refonte-header .refonte-nav {
  display:grid;position:absolute;left:0;right:0;top:100%;
  max-height:calc(100dvh - 69px);overflow-y:auto;
  padding:13px 20px 20px;background:#fffdfa;
  border-bottom:1px solid #e6dfd2;
  box-shadow:0 17px 26px rgba(33,55,51,.10);
  grid-template-columns:minmax(0,1fr);
  gap:0;align-items:stretch;justify-items:stretch;justify-content:stretch;
 }
 .refonte-header.refonte-interactive .refonte-nav {display:none;}
 .refonte-header.refonte-menu-open .refonte-nav {display:grid;}
 .refonte-header .refonte-nav > a {min-height:49px;}
 .refonte-header .savoy-nav-group {
  display:grid;grid-template-columns:minmax(0,1fr) 46px;
  gap:0;width:100%;
  border-bottom:1px solid #f0eae1;
 }
 .refonte-header .savoy-nav-group > .savoy-nav-link {
  padding:10px 8px;min-height:49px;
  font-size:1rem;white-space:normal;
  border-bottom:0;
 }
 .refonte-header .savoy-nav-group > .savoy-nav-link[aria-current=page] {
  border-left:3px solid var(--rf-gold,#d5a44b);
  padding-left:12px;
 }
 .refonte-header .savoy-nav-group > .savoy-nav-caret {
  width:44px;min-height:44px;height:100%;
 }
 .refonte-header .savoy-nav-panel:not([hidden]) {
  position:static;
  grid-column:1 / -1;
  width:100%;min-width:0;max-width:none;
  padding:8px 10px 11px;
  margin:0 0 9px;
  box-shadow:none;
  border:1px solid #eadac4;
  border-radius:12px;
  background:#fbf8f1;
 }
 .refonte-header .savoy-nav-panel a {min-height:44px;}
 .refonte-header .refonte-mobile-search {display:flex !important;}
 .refonte-header .refonte-mobile-utilities {
  display:grid;gap:3px;margin-top:11px;padding:10px 0 0;
  border-top:1px solid #e7e0d5;
 }
}
@media(max-width:599px){
 .refonte-header .refonte-nav {padding:9px 14px 16px;}
 .refonte-header .savoy-nav-panel a {font-size:.92rem;}
}
@media(prefers-reduced-motion:reduce){
 .refonte-header .savoy-nav-caret::after {transition:none;}
}


/* Retour de Grand confort dans les réglages Aa, sans modifier les préférences lecteur. */
#appearanceDialog .appearance-grand-confort {
 display:grid;
 gap:4px;
 box-sizing:border-box;
 width:100%;
 margin-top:17px;
 padding:15px 18px;
 border:1px solid #d6b584;
 border-radius:13px;
 background:linear-gradient(120deg,#fff7e7,#f5f7f1);
 text-decoration:none;
 color:#193f58;
 cursor:pointer;
}
#appearanceDialog .appearance-grand-confort strong {
 font:700 1.03rem/1.35 system-ui,sans-serif;
 color:#193f58;
}
#appearanceDialog .appearance-grand-confort small {
 font:500 .82rem/1.5 system-ui,sans-serif;
 color:#536864;
}
#appearanceDialog .appearance-grand-confort:hover {
 border-color:#ab783b;
 background:#fff0d3;
}
#appearanceDialog .appearance-grand-confort:focus-visible {
 outline:3px solid #386d77;
 outline-offset:3px;
}
body[data-theme="dark"] #appearanceDialog .appearance-grand-confort {
 background:#283b41;
 border-color:#9c8b72;
 color:#f5eacc;
}
body[data-theme="dark"] #appearanceDialog .appearance-grand-confort :is(strong,small) {
 color:#f5eacc;
}
