/* =====================================================================
   Nos Réussites - page d'accueil (feuille à coller dans « CSS additionnel »)
   Apparence > Personnaliser > CSS additionnel
   (thèmes à blocs : Apparence > Éditeur > Styles > Autres > CSS additionnel)

   COULEURS : les teintes sont écrites en clair (pas de calcul de couleur, pour
   les téléphones anciens). Pour changer de palette, demandez une nouvelle feuille.
   ===================================================================== */

:is(.nr-accueil, .nr-cadre) {
  --nr-accent: #1B8A8A;   /* sarcelle */
  --nr-profond: #0F5F60;  /* sarcelle profonde */
  --nr-fond: #EEF4F3;     /* fond clair */

  --nr-encre: #22302F; --nr-gris: #8C8C8B; --nr-discret: #566665;
  --nr-plein: #197F7F;
  --nr-panneau: #EAF2F2;
  --nr-lavis: #EBF5F5;
  --nr-lavis-fort: #DBECEC;
  --nr-filet: #E0E8E7;
  --nr-sombre: #083132;
  --nr-sombre-2: #062626;
  --nr-ombre-1: 0 1px 2px rgba(15,60,58,.06);
  --nr-ombre-2: 0 1px 2px rgba(15,60,58,.05), 0 18px 36px -20px rgba(15,60,58,.32);

  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.6;
  color: var(--nr-encre);
  background: #fff;
  -webkit-font-smoothing: antialiased;
  scroll-behavior: smooth;
}

/* ---------------------------------------------------------------------
   RÉGLAGE 1 : en-tête et pied de page du thème.
   La page a sa propre barre et son propre pied. Pour garder ceux du
   thème, supprimez le bloc ci-dessous (jusqu'à « fin du réglage 1 »).
   --------------------------------------------------------------------- */
body:has(.nr-cadre) header.wp-block-template-part,
body:has(.nr-cadre) footer.wp-block-template-part,
body:has(.nr-cadre) #masthead,
body:has(.nr-cadre) #colophon,
body:has(.nr-cadre) #site-header,
body:has(.nr-cadre) #site-footer,
body:has(.nr-cadre) .site-header,
body:has(.nr-cadre) .site-footer,
body:has(.nr-cadre) .elementor-location-header,
body:has(.nr-cadre) .elementor-location-footer,
body:has(.nr-accueil) .wp-block-post-title,
body:has(.nr-accueil) .entry-header,
body:has(.nr-accueil) .page-header { display: none !important; }
body:has(.nr-accueil) .wp-site-blocks { padding-top: 0; padding-bottom: 0; }
body:has(.nr-accueil) main.wp-block-group,
body:has(.nr-accueil) main > .wp-block-group,
body:has(.nr-accueil) .entry-content,
body:has(.nr-accueil) .site-main { margin-block: 0 !important; padding-block: 0 !important; }
/* fin du réglage 1 */

html:has(.nr-accueil) { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html:has(.nr-accueil) { scroll-behavior: auto; } :is(.nr-accueil, .nr-cadre) { scroll-behavior: auto; } }

/* Pleine largeur, y compris dans les thèmes classiques (Hello Elementor). */
body:has(.nr-accueil) { overflow-x: hidden; overflow-x: clip; }
body:has(.nr-accueil) .site-main, body:has(.nr-accueil) .page-content { max-width: none !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
:is(.nr-accueil, .nr-cadre).alignfull { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw) !important; margin-right: 0 !important; }
:is(.nr-accueil, .nr-cadre) .wp-block-group.alignfull { width: auto; max-width: none; margin-inline: 0; }
:is(.nr-accueil, .nr-cadre) .is-layout-constrained > :not(.alignfull) { max-width: 1240px; margin-inline: auto; }

/* Base : le thème ne doit pas ajouter d'espace entre les sections. */
:is(.nr-accueil, .nr-cadre) > .wp-block-group,
:is(.nr-accueil, .nr-cadre) > .wp-block-group > .wp-block-group { margin-block: 0; }
:is(.nr-accueil, .nr-cadre) :where(h1, h2, h3, p, ul, ol, figure) { margin-block: 0; }
:is(.nr-accueil, .nr-cadre) :where(h1, h2, h3) { font-family: inherit; text-wrap: balance; color: var(--nr-encre); }
:is(.nr-accueil, .nr-cadre) a { text-underline-offset: 3px; }
:is(.nr-accueil, .nr-cadre) :focus-visible { outline: 3px solid #82BFBF; outline-offset: 3px; border-radius: 8px; }
:is(.nr-accueil, .nr-cadre) .wp-block-image img { display: block; width: 100%; height: auto; }

/* Rythme vertical des sections */
.nr-bloc { padding-block: 90px; }
@media (max-width: 760px) { .nr-bloc { padding-block: 60px; } }
:is(.nr-accueil, .nr-cadre) .nr-bloc, :is(.nr-accueil, .nr-cadre) .nr-hero, :is(.nr-accueil, .nr-cadre) .nr-bandeau, :is(.nr-accueil, .nr-cadre) .nr-haut, :is(.nr-accueil, .nr-cadre) .nr-pied { padding-inline: 24px; }
@media (max-width: 640px) { :is(.nr-accueil, .nr-cadre) .nr-bloc, :is(.nr-accueil, .nr-cadre) .nr-hero, :is(.nr-accueil, .nr-cadre) .nr-bandeau, :is(.nr-accueil, .nr-cadre) .nr-haut, :is(.nr-accueil, .nr-cadre) .nr-pied { padding-inline: 16px; } }
:is(.nr-accueil, .nr-cadre) .nr-haut, :is(.nr-accueil, .nr-cadre) .nr-hero, :is(.nr-accueil, .nr-cadre) .nr-bandeau, :is(.nr-accueil, .nr-cadre) .nr-pied { margin-inline: 0; }

/* Éléments de texte récurrents */
.nr-sur { font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--nr-profond); margin-bottom: 10px; }
.nr-sur--clair { color: #A4D0D0; }
.nr-h2 { font-size: clamp(28px, 3.4vw, 42px); line-height: 1.12; font-weight: 620; letter-spacing: -.02em; }
.nr-h3 { font-size: 22px; line-height: 1.25; font-weight: 620; letter-spacing: -.01em; }
.nr-pastille { display: inline-block; width: fit-content; border-radius: 999px; padding: 6px 14px; font-size: 13.5px; font-weight: 650; background: var(--nr-lavis-fort); color: var(--nr-profond); }
.nr-tete { margin-bottom: 36px; }
.nr-sous { margin-top: 12px; color: var(--nr-discret); max-width: 620px; margin-inline: auto; }
.nr-espaces .nr-tete, .nr-etapes .nr-tete { text-align: center; }
.nr-tete > * { margin-inline: auto; }
.nr-apps .nr-tete, .nr-actus-bloc .nr-tete { text-align: left; }

/* Boutons (blocs « Boutons » standards) */
:is(.nr-accueil, .nr-cadre) .wp-block-button__link { border-radius: 999px; padding: 12px 24px; font-weight: 650; font-size: 15.5px; line-height: 1.2; transition: background .15s, box-shadow .15s, transform .15s; border: 0; text-decoration: none; }
:is(.nr-accueil, .nr-cadre) .wp-block-button.nr-plein .wp-block-button__link,
:is(.nr-accueil, .nr-cadre) .nr-ecrire .wp-block-button__link { background: var(--nr-plein); color: #fff; }
:is(.nr-accueil, .nr-cadre) .wp-block-button.nr-plein .wp-block-button__link:hover,
:is(.nr-accueil, .nr-cadre) .nr-ecrire .wp-block-button__link:hover { background: var(--nr-profond); transform: translateY(-1px); }
:is(.nr-accueil, .nr-cadre) .wp-block-button.nr-clair .wp-block-button__link,
:is(.nr-accueil, .nr-cadre) .wp-block-button.is-style-outline .wp-block-button__link { background: #fff; color: var(--nr-profond); box-shadow: inset 0 0 0 1.5px var(--nr-filet); border: 0; }
:is(.nr-accueil, .nr-cadre) .wp-block-button.nr-clair .wp-block-button__link:hover { box-shadow: inset 0 0 0 1.5px var(--nr-accent); }
:is(.nr-accueil, .nr-cadre) .wp-block-button.nr-blanc .wp-block-button__link { background: #fff; color: var(--nr-profond); padding: 15px 28px; font-size: 16.5px; }
:is(.nr-accueil, .nr-cadre) .wp-block-button.nr-blanc .wp-block-button__link:hover { background: var(--nr-lavis); transform: translateY(-1px); }
.nr-actions { gap: 10px 14px; margin-top: 30px; }

/* ------------------------------------------------------------ barre du haut */
.nr-haut { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 50; padding-block: 14px; background: #EEF4F3; }
.nr-barre { background: #fff; border-radius: 20px; padding: 8px 12px 8px 18px; align-items: center; gap: 14px; box-shadow: var(--nr-ombre-1); }
.nr-logo { margin: 0; }
.nr-logo img { height: 58px; width: auto; max-width: none; }
.nr-menu { margin-inline: auto; }
.nr-menu .wp-block-navigation__container { gap: 2px; }
.nr-menu .wp-block-navigation-item__content { padding: 9px 15px; border-radius: 999px; font-size: 14.5px; font-weight: 600; color: var(--nr-encre); text-decoration: none; white-space: nowrap; }
.nr-menu .wp-block-navigation-item__content:hover { background: var(--nr-lavis); color: var(--nr-profond); }
.nr-menu .wp-block-navigation__responsive-container-open { border: 1px solid var(--nr-filet); border-radius: 999px; padding: 9px 12px; background: #fff; color: var(--nr-profond); }
.nr-ecrire { margin: 0; flex: 0 0 auto; }
@media (max-width: 760px) { .nr-ecrire { display: none; } .nr-logo img { height: 50px; } .nr-barre { padding: 6px 8px 6px 12px; } }

/* --------------------------------------------------------------------- hero */
.nr-hero { background: var(--nr-fond); padding-block: 30px 90px; overflow: hidden; }
.nr-hero__grille { gap: 40px; align-items: center; margin: 0; }
.nr-h1 { font-size: clamp(38px, 5.2vw, 66px); line-height: 1.06; font-weight: 640; letter-spacing: -.025em; margin: 18px 0 20px; }
.nr-h1 em { font-style: normal; color: var(--nr-accent); }
.nr-chapo { font-size: 18px; color: var(--nr-discret); max-width: 560px; }
.nr-collage { position: relative; aspect-ratio: 1 / .96; max-width: 600px; margin-left: auto; width: 100%; }
.nr-carte { background: #fff; border-radius: 28px; box-shadow: var(--nr-ombre-2); padding: 10px; border: 6px solid #fff; overflow: hidden; }
.nr-collage .nr-carte { position: absolute; margin: 0; }
.nr-carte--grande { right: 0; top: 0; width: 64%; aspect-ratio: 1 / 1.04; }
.nr-carte--haute { left: 0; top: 10%; width: 34%; aspect-ratio: 1; }
.nr-carte--basse { left: 14%; bottom: 0; width: 42%; aspect-ratio: 1; }
.nr-badge { position: absolute; right: 2%; bottom: 8%; background: #fff; border-radius: 22px; padding: 14px 20px 14px 16px; box-shadow: var(--nr-ombre-2); gap: 12px; align-items: center; z-index: 2; width: auto; }
.nr-badge__chiffre { font-size: 40px; line-height: 1; font-weight: 700; color: var(--nr-accent); letter-spacing: -.03em; margin: 0; }
.nr-badge__texte { font-size: 13.5px; line-height: 1.3; color: var(--nr-discret); font-weight: 550; }
@media (max-width: 781px) { .nr-hero { padding-bottom: 60px; } .nr-collage { margin: 0 auto; max-width: 480px; } }

/* ----------------------------------------------------------------- à propos */
.nr-apropos__grille { gap: 64px; align-items: center; margin: 0; }
.nr-collage-4 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 540px; width: 100%; align-items: start; }
.nr-collage-4 .nr-carte { aspect-ratio: 1; margin: 0; display: grid; align-content: center; }
.nr-collage-4 .nr-carte:nth-child(even) { margin-top: 44px; }
.nr-apropos__texte > p:not(.nr-sur) { margin-top: 18px; color: var(--nr-discret); }
.nr-coches { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 22px; margin: 28px 0 !important; padding: 0 !important; list-style: none; }
.nr-coches li, .nr-points li { display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 15.5px; line-height: 1.35; padding: 0 !important; }
.nr-coches li::before, .nr-points li::before { content: ""; flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%; background: var(--nr-lavis-fort) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F5F60' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center / 14px no-repeat; }
.nr-contact-ligne { padding-top: 24px; border-top: 1px solid var(--nr-filet); }
.nr-contact-ligne__intro { font-size: 13px; color: var(--nr-discret); line-height: 1.3; margin: 0 !important; }
.nr-contact-ligne__mail { margin: 0 !important; }
.nr-contact-ligne__mail a { font-weight: 700; color: var(--nr-profond); overflow-wrap: anywhere; }
@media (max-width: 781px) { .nr-apropos__grille { gap: 40px; } .nr-collage-4 { margin: 0 auto; max-width: 440px; } }
@media (max-width: 520px) { .nr-coches { grid-template-columns: 1fr; } }

/* ------------------------------------------------------------ applications */
.nr-apps { background: var(--nr-fond); }
.nr-apps .wp-block-tab-list { gap: 8px; overflow-x: auto; padding: 4px 2px 12px; flex-wrap: nowrap; scrollbar-width: thin; }
.nr-apps .wp-block-tab-list button { background: #fff; border-radius: 999px; padding: 12px 20px; font-weight: 650; font-size: 15.5px; box-shadow: var(--nr-ombre-1); color: var(--nr-encre); flex: 0 0 auto; white-space: nowrap; transition: background .15s, color .15s; }
.nr-apps .wp-block-tab-list button:hover { background: var(--nr-lavis); color: var(--nr-profond); }
.nr-apps .wp-block-tab-list button[aria-selected="true"] { background: var(--nr-profond); color: #fff; }
.nr-apps .wp-block-tab-list button[aria-selected="true"]::before { display: none; }
.nr-apps .wp-block-tab-panel { margin-top: 12px; background: #fff; border-radius: 28px; padding: 44px; box-shadow: var(--nr-ombre-2); }
.nr-panneau__grille { gap: 48px; align-items: center; margin: 0; }
.nr-panneau__grille .nr-h3 { font-size: clamp(25px, 2.8vw, 34px); line-height: 1.15; font-weight: 620; letter-spacing: -.015em; margin: 16px 0 14px; }
.nr-panneau__grille p:not(.nr-pastille) { color: var(--nr-discret); }
.nr-points { display: grid; gap: 12px; margin: 24px 0 0 !important; padding: 0 !important; list-style: none; }
.nr-points li { font-weight: 580; font-size: 16px; }
.nr-points li::before { width: 24px; height: 24px; background-size: 13px; }
.nr-carte--panneau { background: var(--nr-panneau); box-shadow: none; border: 0; padding: 12px; max-width: 440px; margin-left: auto; }
@media (max-width: 781px) {
  .nr-apps .wp-block-tab-panel { padding: 24px; }
  .nr-panneau__grille { flex-direction: column-reverse; gap: 28px; }
  .nr-carte--panneau { max-width: 300px; margin: 0 auto; }
}

/* ------------------------------------------------------------------ espaces */
.nr-espaces__grille { gap: 22px; margin: 0; }
.nr-role { background: var(--nr-panneau); border-radius: 28px; padding: 26px; height: 100%; box-shadow: inset 0 0 0 1px rgba(15,60,58,.04); display: flex; flex-direction: column; gap: 0; }
.nr-role__dessin { background: #fff; border-radius: 20px; padding: 10px; margin: 0 0 22px; box-shadow: var(--nr-ombre-1); }
.nr-role__dessin img { max-width: 230px; margin: 0 auto; }
.nr-role .nr-h3 { margin: 0; }
.nr-role__texte { color: var(--nr-discret); margin: 6px 0 18px !important; font-size: 15.5px; }
.nr-role__liens { gap: 10px; margin: 0; flex-direction: column; align-items: stretch; }
.nr-role__liens .wp-block-button { width: 100%; }
.nr-role__liens .wp-block-button__link { width: 100%; text-align: left; background: #fff; color: var(--nr-encre); border-radius: 20px; padding: 13px 18px; font-weight: 620; font-size: 15px; box-shadow: var(--nr-ombre-1); display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.nr-role__liens .wp-block-button__link::after { content: ""; flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%; background: var(--nr-lavis) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F5F60' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 16px no-repeat; }
.nr-role__liens .wp-block-button__link:hover { box-shadow: var(--nr-ombre-2); color: var(--nr-profond); transform: translateY(-1px); }
@media (max-width: 781px) { .nr-espaces__grille { max-width: 560px; margin-inline: auto; } }

/* ----------------------------------------------------------------- bandeau */
.nr-bandeau { background: linear-gradient(120deg, var(--nr-accent) 0%, var(--nr-profond) 100%); color: #fff; padding-block: 56px; position: relative; overflow: hidden; }
.nr-bandeau::before { content: ""; position: absolute; right: -80px; top: -120px; width: 380px; height: 380px; border-radius: 50%; background: rgba(255,255,255,.07); pointer-events: none; }
.nr-bandeau__grille { margin: 0; align-items: center; position: relative; }
.nr-bandeau .nr-h2 { color: #fff; font-size: clamp(24px, 3vw, 36px); font-weight: 600; line-height: 1.2; max-width: 720px; }
.nr-bandeau .nr-actions { margin-top: 0; }
@media (max-width: 781px) { .nr-bandeau .nr-actions { justify-content: flex-start; margin-top: 18px; } }

/* ------------------------------------------------------------------ étapes */
.nr-etapes__grille { gap: 20px; margin: 0; }
.nr-etape { position: relative; background: #fff; border-radius: 28px; padding: 22px; box-shadow: var(--nr-ombre-2); border: 1px solid var(--nr-filet); height: 100%; }
.nr-etape__dessin { background: var(--nr-panneau); border-radius: 20px; padding: 8px; margin: 0 0 18px; }
.nr-etape__dessin img { max-width: 170px; margin: 0 auto; }
.nr-etape__num { position: absolute; top: 16px; left: 16px; width: 36px; height: 36px; border-radius: 50%; background: var(--nr-plein); color: #fff; font-weight: 700; font-size: 15px; display: grid; place-items: center; margin: 0 !important; line-height: 1; }
.nr-etape .nr-h3 { font-size: 19px; font-weight: 640; margin-bottom: 6px; }
.nr-etape__texte { font-size: 15px; color: var(--nr-discret); line-height: 1.55; }
@media (max-width: 781px) { .nr-etapes__grille { gap: 16px; } }

/* ----------------------------------------------------------------- contact */
.nr-contact { background: var(--nr-fond); }
.nr-contact__grille { gap: 0; align-items: stretch; margin: 0; }
.nr-contact__sombre { background: linear-gradient(150deg, #156F70 0%, var(--nr-sombre) 60%, var(--nr-sombre-2) 100%); color: #fff; border-radius: 28px; padding: 48px 84px 48px 44px; margin-right: -40px; height: 100%; display: flex; flex-direction: column; justify-content: center; }
.nr-contact__sombre .nr-h2 { color: #fff; }
.nr-contact__sombre > p:not(.nr-sur) { margin-top: 16px; color: rgba(255,255,255,.82); max-width: 460px; }
.nr-boite { margin-top: 30px; background: rgba(255,255,255,.1); border-radius: 20px; padding: 16px 18px; max-width: 420px; }
.nr-boite__legende { font-size: 13px; color: rgba(255,255,255,.7) !important; line-height: 1.3; margin: 0 !important; max-width: none !important; }
.nr-boite__mail { margin: 0 !important; max-width: none !important; }
.nr-boite__mail a { color: #fff; font-weight: 700; overflow-wrap: anywhere; }
.nr-contact__carte { background: #fff; border-radius: 28px; padding: 36px; box-shadow: var(--nr-ombre-2); position: relative; z-index: 1; margin: 28px 0; }
.nr-contact__carte > p { color: var(--nr-discret); margin: 6px 0 20px; }
.nr-sujets { gap: 10px; margin: 0; }
@media (max-width: 781px) {
  .nr-contact__sombre { margin-right: 0; padding: 32px 26px 70px; }
  .nr-contact__carte { margin: -40px 12px 0; padding: 26px 22px; }
}

/* ------------------------------------------------------------- nouveautés */
.nr-actus { gap: 22px !important; padding: 0 !important; margin: 0 !important; }
.nr-actus li { background: #fff; border-radius: 28px; border: 1px solid var(--nr-filet); box-shadow: var(--nr-ombre-1); padding: 24px 26px 28px !important; margin: 0 !important; display: flex; flex-direction: column; gap: 10px; }
.nr-actus .wp-block-latest-posts__post-title { font-size: 20px; line-height: 1.25; font-weight: 630; color: var(--nr-encre); text-decoration: none; order: 1; }
.nr-actus .wp-block-latest-posts__post-title:hover { color: var(--nr-profond); }
.nr-actus .wp-block-latest-posts__post-date { order: 0; align-self: flex-start; background: var(--nr-lavis-fort); color: var(--nr-profond); border-radius: 999px; padding: 4px 12px; font-size: 13px; font-weight: 650; }
.nr-actus .wp-block-latest-posts__post-excerpt { order: 2; color: var(--nr-discret); font-size: 15.5px; margin: 0 !important; }

/* -------------------------------------------------------------------- pied */
.nr-pied { background: var(--nr-sombre-2); color: rgba(255,255,255,.78); padding-inline: 0 !important; }
.nr-pied__haut { padding: 64px 24px 48px; }
.nr-pied__grille { gap: 48px; margin: 0; }
.nr-pied .nr-logo img { height: 74px; }
.nr-logo--blanc img { filter: brightness(0) invert(1); opacity: .96; }
.nr-pied__grille p { margin-top: 16px; max-width: 420px; font-size: 15.5px; }
.nr-pied__titre { color: #fff !important; font-size: 18px !important; font-weight: 640 !important; margin-bottom: 16px !important; }
.nr-pied__liens { list-style: none; padding: 0 !important; margin: 0 !important; }
.nr-pied__liens li + li { margin-top: 10px; }
.nr-pied a { color: rgba(255,255,255,.78); text-decoration: none; font-size: 15.5px; }
.nr-pied a:hover { color: #fff; text-decoration: underline; }
.nr-pied__bas { border-top: 1px solid rgba(255,255,255,.12); padding: 18px 24px; font-size: 14px; }
.nr-pied__bas-interieur { align-items: center; gap: 12px; flex-wrap: wrap; }
.nr-pied__bas p { margin: 0 !important; font-size: 14px !important; }
@media (max-width: 781px) { .nr-pied__haut, .nr-pied__bas { padding-inline: 16px; } }

/* Pages des applications */
.nr-sans-cadre .nr-hero { padding-block: 60px; }
.nr-sans-cadre .nr-role__liens .wp-block-button.nr-plein .wp-block-button__link { background: var(--nr-plein); color: #fff; }
.nr-retour { text-align: center; margin-top: 36px !important; }
.nr-retour a { color: var(--nr-profond); font-weight: 650; }

/* Formulaire de demande de compte (page Tester mon niveau) */
.nr-demande-carte { max-width: 820px; margin: 0 auto !important; padding: 40px; }
@media (max-width: 781px) { .nr-demande-carte { margin: 0 !important; padding: 24px 18px; } }

/* Menu sur téléphone : le panneau ouvert couvre tout l'écran.
   (Pas de backdrop-filter sur la barre : il enfermerait ce panneau dans sa hauteur.) */
.nr-menu .wp-block-navigation__responsive-container.is-menu-open { background: #fff !important; color: #22302F !important; padding: 20px 22px 32px; }
.nr-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 56px; align-items: stretch; }
.nr-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 6px; align-items: stretch; width: 100%; }
.nr-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; }
.nr-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { display: block; width: 100%; font-size: 19px; padding: 14px 18px; border-radius: 14px; background: #EBF5F5; color: #0F5F60; }
.nr-menu .wp-block-navigation__responsive-container-close { top: 18px; right: 18px; width: 44px; height: 44px; border-radius: 50%; background: #EBF5F5; color: #0F5F60; display: grid; place-items: center; }
@media (max-width: 599px) { .nr-menu .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; padding: 0; display: grid; place-items: center; } }
.nr-haut { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }

/* Onglets des applications sur téléphone : tous visibles, deux par ligne. */
@media (max-width: 781px) {
  .nr-apps .wp-block-tab-list { flex-wrap: wrap !important; overflow: visible; padding-bottom: 4px; }
  .nr-apps .wp-block-tab-list button { flex: 1 1 calc(50% - 8px) !important; white-space: normal; text-align: center; padding: 11px 10px; font-size: 14.5px; line-height: 1.25; }
}

/* Le thème Hello Elementor colore tous les boutons en rose (#c36) : on l'annule ici. */
:is(.nr-accueil, .nr-cadre) button, .nr-cadre button { border: 0 !important; box-shadow: none; }
.nr-apps .wp-block-tab-list button { box-shadow: 0 1px 2px rgba(15,60,58,.06); }
.nr-apps .wp-block-tab-list button:hover, .nr-apps .wp-block-tab-list button:focus { background: #EBF5F5; color: #0F5F60; }
.nr-apps .wp-block-tab-list button[aria-selected="true"], .nr-apps .wp-block-tab-list button[aria-selected="true"]:hover, .nr-apps .wp-block-tab-list button[aria-selected="true"]:focus { background: #0F5F60; color: #fff; }
.nr-menu .wp-block-navigation__responsive-container-open, .nr-menu .wp-block-navigation__responsive-container-open:hover, .nr-menu .wp-block-navigation__responsive-container-open:focus { background: #fff; color: #0F5F60; box-shadow: inset 0 0 0 1px #E0E8E7; }
.nr-menu .wp-block-navigation__responsive-container-close:hover, .nr-menu .wp-block-navigation__responsive-container-close:focus { background: #DBECEC; color: #0F5F60; }

/* Hello Elementor met overflow: hidden sur tous les blocs pleine largeur, ce qui
   empêche la barre de rester collée en haut : on le retire pour le conteneur et la barre. */
:is(.nr-accueil, .nr-cadre).alignfull, .nr-haut, .nr-haut.alignfull, .nr-cadre .alignfull.nr-haut { overflow: visible !important; }

/* Cadre du site : la barre reste en haut, le pied en bas, sur toutes les pages. */
.nr-cadre .nr-haut { margin: 0; }
.nr-cadre .alignfull { width: 100%; max-width: none; margin-inline: 0; }
.nr-cadre .nr-pied { margin-top: 0; }
