/* ==========================================================================
   La Radio du Lotus - direction "Lotus d or" + correctifs d accessibilite
   Toutes les valeurs sont en rem : elles suivent la taille de police choisie
   par l utilisateur dans son navigateur. C est une exigence de fond ici.
   Palette relevee sur les bannieres d emission :
     ivoire #F6EAD8 . surface #FDF9F1 . parchemin #EADCC5
     encre navy #0B1D30 . corps #16293D . attenue #40566E
     ardoise #1B3E63 . or texte #7A5A0E . or vif #E0AE55
     rose lotus #A8455C . cuivre #8B4A2B . filet #7A6E56
   ========================================================================== */

/* --- Focus visible renforce ---------------------------------------------- */
:focus-visible {
  outline: 0.1875rem solid var(--global-palette1, #1B3E63);
  outline-offset: 0.125rem;
  border-radius: 0.1875rem;
}

.skip-link:focus {
  outline: 0.1875rem solid var(--global-palette1, #1B3E63);
  outline-offset: 0.125rem;
}

/* --- La barre de lecture ne masque jamais l element focalise -------------- */
/* WCAG 2.2 critere 2.4.11 Focus non masque.                                 */
html {
  scroll-padding-block-end: 7rem;
  scroll-padding-block-start: 6rem;
}

body.has-lotus-player {
  padding-block-end: 6rem;
}

/* --- H1 en Kolker Brush --------------------------------------------------- */
/* Trace fin, hampes hautes et jambages longs. A interligne serre ils se      */
/* font rogner : on reserve du bas et on ne force jamais la casse.            */
h1,
.entry-title {
  padding-block-end: 0.14em;
}

/* Kolker Brush n existe qu en une seule graisse (400). Les navigateurs        */
/* fabriquent sinon un faux gras algorithmique des qu une regle demande du     */
/* gras, ce qui epaissit et deforme le trace du pinceau. On l interdit.        */
h1,
.entry-title,
.kt-adv-heading15_hero-04 {
  font-weight: 400;
  font-synthesis-weight: none;
  font-synthesis: none;
  text-transform: none;
}

/* --- H2 a H6 en Cinzel ---------------------------------------------------- */
/* Cinzel est une capitale romaine : ses bas de casse sont des petites        */
/* capitales. Le texte y est donc toujours en capitales, ce qui ralentit la   */
/* lecture. On garde les titres courts, on ouvre l approche, et on ne         */
/* descend jamais sous 0.9375rem.                                            */
h2, h3, h4, h5, h6 {
  text-transform: none;
  word-spacing: 0.06em;
}

/* Aucun titre Cinzel sous 15px, quelle que soit la surcharge d un bloc. */
h5, h6 {
  font-size: max(0.9375rem, 1em);
}

/* --- Sur-titres et libelles d etat ---------------------------------------- */
.lotus-eyebrow {
  font-family: Cinzel, serif;
  font-weight: 600;
  font-size: 0.875rem;
  letter-spacing: 0.18em;
  color: var(--global-palette2, #7A5A0E);
}

/* --- Boutons : rayon 1.25rem maximum, cible 3rem -------------------------- */
/* WCAG 2.2 critere 2.5.8 : 1.5rem exiges, 3rem vises.                       */
.kb-button,
.wp-block-button__link,
.button,
input[type="submit"],
button:not(.lotus-inline) {
  border-radius: 1.25rem;
  min-block-size: 3rem;
}

.kb-btn-global-outline,
.kb-btn-global-inherit,
.kt-blocks-accordion-header {
  border-radius: 1.25rem;
}

.primary-menu-container > ul > li > a {
  min-block-size: 3rem;
  display: flex;
  align-items: center;
}

/* --- Restes en pixels du theme parent ------------------------------------- */
/* Kadence code en dur quelques valeurs de son entete mobile. On les repasse  */
/* en rem : ce sont des commandes interactives, elles doivent suivre la       */
/* taille de police choisie par l utilisateur.                                */
.mobile-toggle-open-container .menu-toggle-open,
.mobile-toggle-open-container .menu-toggle-open:focus {
  font-size: 0.9375rem;
  min-block-size: 3rem;
  min-inline-size: 3rem;
}

.mobile-toggle-open-container .menu-toggle-open .menu-toggle-icon {
  font-size: 1.375rem;
}

#widget-drawer.popup-drawer-layout-fullwidth .drawer-content .header-widget2,
#widget-drawer.popup-drawer-layout-sidepanel .drawer-inner {
  max-inline-size: 25rem;
}

/* --- Logo de la barre de navigation -------------------------------------- */
.site-header-item .custom-logo-link img,
.site-branding img {
  border-radius: 50%;
  background: transparent;
}

/* Le titre du site accompagne la pastille : elle seule serait illisible.    */
.site-title {
  font-family: Cinzel, serif;
  font-weight: 600;
  letter-spacing: 0.04em;
}

/* --- Bandeau dore ---------------------------------------------------------- */
/* Le geste signature des bannieres : coup de pinceau or, texte navy dessus.  */
/* Navy sur or vif = 8.4:1.                                                   */
.lotus-band {
  display: inline-block;
  background: var(--global-palette11, #E0AE55);
  color: var(--global-palette3, #0B1D30);
  padding: 0.35em 1.1em;
  border-radius: 1.25rem;
}

/* --- Mouvement ------------------------------------------------------------ */
/* Les animations Kadence sont decoratives. Elles disparaissent des que       */
/* l utilisateur a exprime une preference systeme. WCAG 2.3.3.               */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  .kadence-blocks-lottie-animation,
  .lotus-viz {
    display: none !important;
  }
}

/* --- Confort de lecture --------------------------------------------------- */
.entry-content > p,
.entry-content > ul,
.entry-content > ol,
.lotus-prose > p {
  max-inline-size: 68ch;
}

.entry-content {
  overflow-wrap: break-word;
}

/* --- Texte reserve aux lecteurs d ecran ---------------------------------- */
.lotus-sr-only {
  position: absolute !important;
  inline-size: 0.0625rem;
  block-size: 0.0625rem;
  padding: 0;
  margin: -0.0625rem;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.lotus-sr-only-focusable:focus {
  position: static !important;
  inline-size: auto;
  block-size: auto;
  margin: 0;
  overflow: visible;
  clip-path: none;
  white-space: normal;
}

/* --- Etat en direct ------------------------------------------------------- */
/* L information n est jamais portee par la couleur seule. WCAG 1.4.1.       */
.lotus-live {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: Cinzel, serif;
  font-weight: 600;
  font-size: 0.875rem;
  letter-spacing: 0.14em;
  padding: 0.4rem 0.95rem;
  border-radius: 1.25rem;
  border: 0.09375rem solid var(--global-palette6, #7A6E56);
  color: var(--global-palette13, #A8455C);
}

.lotus-live::before {
  content: "";
  inline-size: 0.5rem;
  block-size: 0.5rem;
  border-radius: 50%;
  background: var(--global-palette13, #A8455C);
}

/* --- Filets et separateurs ------------------------------------------------ */
.lotus-rule {
  block-size: 0.0625rem;
  border: 0;
  background: var(--global-palette6, #7A6E56);
  opacity: 0.5;
}

/* --- Tableau de la grille des programmes ---------------------------------- */
.lotus-grille caption {
  text-align: start;
  font-family: Cinzel, serif;
  font-weight: 600;
  padding-block-end: 0.75rem;
}

.lotus-grille th,
.lotus-grille td {
  padding: 0.75rem 1rem;
  border-block-end: 0.0625rem solid var(--global-palette6, #7A6E56);
  text-align: start;
  vertical-align: top;
}

.lotus-grille th[scope="row"] {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
