@font-face { font-family: "SiddurHebrew"; src: url("NotoSerifHebrew-Regular.ttf") format("truetype"); font-display: swap; }
body { font-family: Georgia, serif; margin: 0 3%; line-height: 1.45; color: #000; }
h1 { font-size: 1.4em; text-align: center; margin: 1em 0; }
h2 { font-size: 1.2em; border-bottom: 1px solid #000; padding-bottom: .3em; }
h3 { font-size: 1.08em; text-align: center; margin: 1.2em 0 .6em; }
h4 { font: bold .87em sans-serif; margin: 1em 0 .45em; }
h1,h2,h3,h4 { page-break-after: avoid; break-after: avoid; }
.he { text-align: right; font-family: "SiddurHebrew", "Noto Serif Hebrew", "DejaVu Sans", serif;
      font-size: 1.22em; line-height: 1.65; margin: .45em 0 .15em; }
.ph { text-align: left; font-size: 1em; line-height: 1.5; margin: .2em 0 .65em; }
.ph .nom { font-variant: small-caps; }  /* noms divins de la phonétique */
.pair { margin-bottom: .8em; }
.he.kavana { font-size: .9em; color: #555; margin-top: 0; }
.rubrique { text-align: left; font-style: italic; font-size: .86em; line-height: 1.4;
            color: #444; margin: .9em 0 .1em; page-break-inside: avoid; break-inside: avoid; }
.rubrique.before { page-break-after: avoid; break-after: avoid; }
.rubrique.after { margin: .05em 0 .8em; page-break-before: avoid; break-before: avoid; }
.variante { font-size: .92em; }
.variante-label { font-style: italic; font-size: .85em; color: #444; }
.repetition { font-style: italic; font-size: .8em; color: #444; white-space: nowrap; }
.addition,.choice,.role { border-left: 3px solid #999; background: #f5f5f5;
                         padding: .3em .7em; margin: .9em 0; }
.addition .addition,.addition .choice,.role .addition { border: 0; background: none; padding: 0; margin: .45em 0; }
.insertion { border-left: 2px solid #bbb; padding-left: .5em; margin: .45em 0; }
.insertion .he,.insertion .ph { margin-top: .1em; }
.role-label { font: bold .83em sans-serif; margin: .8em 0 .15em; page-break-after: avoid; break-after: avoid; }
.optional-word { font-weight: normal; }
.join-label { font: .8em sans-serif; margin: .15em 0; page-break-after: avoid; break-after: avoid; }
.card-head { font: bold .8em/1.35 sans-serif; color: #333; margin: .1em 0 .35em; page-break-after: avoid; break-after: avoid; }
.card-rule,.resume { font: .8em/1.4 sans-serif; text-align: left; margin: .35em 0; }
.card-rule { page-break-after: avoid; break-after: avoid; }
.resume { border-top: 1px dotted #888; padding-top: .3em; page-break-before: avoid; break-before: avoid; }
.alternative { margin: .55em 0; }
.alternative-label { font: bold .83em sans-serif; margin: .2em 0; page-break-after: avoid; break-after: avoid; }
.reference { font: .74em sans-serif; }
.note-ref { font: .7em sans-serif; vertical-align: super; line-height: 0; text-decoration: none; padding: 0 .1em; }
.note-markers { white-space: nowrap; }
.notes { border-top: 1px solid #999; margin-top: 1.5em; font-size: .83em; line-height: 1.45; }
.notes h3 { font-size: 1em; text-align: left; }
.notes p { margin: .5em 0; }
.credits { font-size: .88em; }
a { color: #000; }

/* Introduction */
.intro { text-indent: 1.2em; text-align: justify; line-height: 1.5; margin: 0 0 .7em; }
.intro.fin { text-indent: 0; text-align: center; font-style: italic; margin-top: 1.4em; }

/* Sommaire sur deux colonnes (une seule colonne si la liseuse ne gère pas column-count). */
.sommaire { column-count: 2; column-gap: 1.6em; column-rule: 1px solid #ccc;
            -webkit-column-count: 2; -webkit-column-gap: 1.6em; -webkit-column-rule: 1px solid #ccc;
            font-size: .9em; line-height: 1.3; }
.sommaire a { text-decoration: none; color: inherit; }
.sommaire-bloc { break-inside: avoid; page-break-inside: avoid; -webkit-column-break-inside: avoid;
                 margin: 0 0 .8em; }
.sommaire-chap { font-weight: bold; margin: 0; text-indent: 0; }
.sommaire-num { display: inline-block; min-width: 1.4em; color: #8a6d1f; }
.sommaire-he { display: block; font-weight: normal; font-family: "SiddurHebrew", serif;
               color: #666; font-size: .95em; margin-left: 1.4em; text-align: left; }
.sommaire-sections { list-style: none; margin: .15em 0 0 1.4em; padding: 0; font-size: .92em; }
.sommaire-sections li { margin: .1em 0; }

/* Couverture */
.couverture { margin: 0; padding: 0; text-align: center; }
.couverture img { max-width: 100%; max-height: 100vh; height: auto; }

/* Repère d'édition en bas de l'introduction */
.colophon { margin-top: 2.5em; padding-top: .6em; border-top: 1px solid #ccc; text-align: center;
            font: .8em/1.4 sans-serif; color: #555; }
.colophon p { margin: .1em 0; text-indent: 0; }
/* Fond bleu sous la page : en application sur iPhone, la barre d'état transparente prend la couleur
   du fond du document ; crème, elle voilait le haut du bandeau. La page garde son fond crème. */
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 3.5em; background: #15284a; }
html:has(.site-head.colle) { scroll-padding-top: 6em; }
body { margin: 0; background: #fbf9f4; color: #1d1d1d; font-size: 1.12em; min-height: 100vh; min-height: 100dvh; }
/* Bande bleue fixe sous la barre d'état (heure, batterie) : le texte défile dessous sans s'y mêler. */
body::before { content: ""; position: fixed; top: 0; left: 0; right: 0; z-index: 9; height: env(safe-area-inset-top);
               background: #0c2644; pointer-events: none; }
/* --taille : réglage « Affichage » du lecteur (1 = taille normale). */
main { max-width: 40em; margin: 0 auto; padding: 1rem 1.2rem 3rem; background: #fff;
       font-size: calc(var(--taille, 1) * 1em); }
a { color: #1f3a68; }
/* Bandeau du site : logo doré de la couverture et nom, bouton « Affichage », puis les onglets. */
.site-head { background: #15284a linear-gradient(180deg, #0c2644, #15284a) no-repeat 0 env(safe-area-inset-top); color: #f1e4bf;
             font: .95em/1.4 system-ui, -apple-system, "Segoe UI", sans-serif; border-bottom: 1px solid #a8873a;
             padding: env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left); }
.site-head .inner { max-width: 44em; margin: 0 auto; padding: .6em 1.2em 0; display: grid;
                    grid-template-columns: minmax(0, 1fr) auto; gap: 0 1em; align-items: center; }
.site-head a { color: #f1e4bf; text-decoration: none; }
.site-head .marque { display: flex; align-items: center; gap: .75em; justify-self: start; min-width: 0; max-width: 100%; }
.site-head .marque img { display: block; height: 2.2em; width: auto; filter: drop-shadow(0 1px 1px rgba(0,0,0,.45)); }
.site-head .nom { font: 600 1.08em/1.15 Georgia, "Times New Roman", serif; letter-spacing: .02em; min-width: 0;
                  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.site-head .nom small { display: block; margin-top: .15em; font: .66em/1.2 system-ui, -apple-system, "Segoe UI", sans-serif;
                        letter-spacing: .12em; text-transform: uppercase; color: #d9b45a; }
.site-head .menu { grid-column: 1 / -1; display: flex; gap: .3em; margin: .5em 0 0; }
.site-head .menu a { padding: .4em .75em .45em; border-bottom: 3px solid transparent; color: rgba(241,228,191,.8); }
.site-head .menu a:hover { color: #fff; }
.site-head .menu a.actif { color: #fff; font-weight: 600; border-bottom-color: #d9b45a; }
/* Onglet « Aujourd'hui » : un petit calendrier, avant les livres. */
.site-head .menu .jour { flex: 0 0 auto; display: flex; align-items: center; }
.site-head .menu .jour svg { display: block; width: 1.25em; height: 1.25em; }
/* Bandeau qui reste en haut de l'écran : sur les pages de lecture, la barre des sections
   (précédente, aller à…, suivante) ; ailleurs, le bandeau du site lui-même.
   La barre se colle juste sous la barre d'état de l'iPhone : pas de bande vide sous le bandeau du site. */
.site-head.colle, .barre { position: -webkit-sticky; position: sticky; top: 0; z-index: 5; }
.barre { top: env(safe-area-inset-top); background: #15284a; color: #f1e4bf; font: .95em/1.4 sans-serif;
         border-top: 1px solid #2c4470; box-shadow: 0 1px 6px rgba(0,0,0,.25);
         padding: 0 env(safe-area-inset-right) 0 env(safe-area-inset-left); }
.barre .inner { max-width: 44em; margin: 0 auto; padding: .35em 1.2em; display: flex; gap: .5em;
                align-items: center; position: relative; }
.barre a, .barre .vide { color: #f1e4bf; text-decoration: none; font-size: 1.5em; line-height: 1; padding: 0 .25em; }
.barre .vide { opacity: .3; }
.barre select { flex: 1; min-width: 0; font: inherit; font-size: .9em; color: #15284a; background: #f1e4bf;
                border: 0; border-radius: 3px; padding: .3em .4em; text-overflow: ellipsis; }
.site-head .inner { position: relative; }
/* Bouton « Affichage » : discret mais lisible, et son panneau de réglages. */
.aa { font: bold .95em/1.2 sans-serif; color: #f1e4bf; background: none; border: 1px solid rgba(241,228,191,.55);
      border-radius: 1em; padding: .2em .75em; cursor: pointer; white-space: nowrap; }
.aa span { font-weight: normal; }
.aa[aria-expanded="true"] { background: #f1e4bf; color: #15284a; }
.reglages { position: absolute; right: .6em; top: calc(100% + .3em); z-index: 6; width: 19em;
            max-width: calc(100vw - 1.2em); box-sizing: border-box; padding: .8em 1em; border-radius: 6px;
            background: #fffdf7; color: #222; border: 1px solid #d8cfb8; box-shadow: 0 4px 18px rgba(0,0,0,.25);
            font: .9em/1.3 sans-serif; text-align: left; }
.reglages[hidden] { display: none; }
.reglages .ligne { display: flex; align-items: center; justify-content: space-between; gap: .6em; margin: .55em 0; }
.reglages .ligne > span { color: #555; }
.reglages .choix { display: flex; gap: .3em; align-items: center; }
.reglages button { font: inherit; color: #15284a; background: #fff; border: 1px solid #c9bfa6; border-radius: 4px;
                   min-width: 2.3em; height: 2.1em; padding: 0 .45em; cursor: pointer; }
.reglages button[aria-pressed="true"] { border-color: #15284a; box-shadow: inset 0 0 0 1px #15284a; background: #eef1f7; }
.reglages button svg { width: 1.15em; height: 1.15em; vertical-align: middle; }
.reglages output { min-width: 3.2em; text-align: center; }
.reglages .fond { width: 2.1em; padding: 0; }
.reglages .fond[data-v="blanc"] { background: #fff; }
.reglages .fond[data-v="ivoire"] { background: #fcf5df; }
.reglages .fond[data-v="papier"] { background: #ecdcb4 url("papier.jpg"); }
.reglages .remise { display: block; margin: .8em 0 0 auto; height: auto; padding: .25em .6em; font-size: .9em; color: #555; }
/* Alignements choisis par le lecteur (par défaut : hébreu à droite, phonétique justifiée). */
html[data-he="justify"] main .he { text-align: justify; text-align-last: auto; }
html[data-he="center"] main .he { text-align: center; text-align-last: center; }
html[data-he="left"] main .he { text-align: left; text-align-last: left; }
html[data-ph="left"] main .ph { text-align: left; text-align-last: left; }
html[data-ph="center"] main .ph { text-align: center; text-align-last: center; }
html[data-ph="right"] main .ph { text-align: right; text-align-last: right; }
/* Fonds : ivoire (jaune pâle) et papier ancien vergé ; blanc par défaut. */
html[data-fond="ivoire"] body { background: #efe6cb; }
html[data-fond="ivoire"] main { background: #fcf5df; }
html[data-fond="papier"] body { background: #d8c79f; }
html[data-fond="papier"] main { background: #f1e5c6 url("papier.jpg"); color: #2a2116;
                                 box-shadow: inset 0 0 4em rgba(110,75,25,.2); }
html[data-fond="ivoire"] .site-foot, html[data-fond="papier"] .site-foot { color: #5a5040; }
html[data-fond="ivoire"] main .addition, html[data-fond="ivoire"] main .choice, html[data-fond="ivoire"] main .role,
html[data-fond="papier"] main .addition, html[data-fond="papier"] main .choice, html[data-fond="papier"] main .role {
  background: rgba(120,90,30,.07); border-color: rgba(120,90,30,.4); }
.fil { font: .85em sans-serif; color: #666; margin: .6em 0 0; }
/* Pages de section : le chapitre garde l'aspect d'un grand titre, la section (titre de niveau 1 de la page)
   celui d'un titre de niveau 2 du livre. Sommaire : « Sommaire » garde l'aspect d'un grand titre. */
main .titre-chapitre, main h2.sommaire-titre { font-size: 1.4em; font-weight: bold; text-align: center; margin: 1em 0;
                                              border: 0; padding: 0; }
main h1.titre-section { font-size: 1.2em; text-align: inherit; margin: .83em 0; border-bottom: 1px solid #000;
                        padding-bottom: .3em; }
.fil a { color: #666; }
.pager { display: flex; justify-content: space-between; gap: 1em; margin: 2.5em 0 0; padding-top: 1em;
         border-top: 1px solid #ddd; font: .92em/1.4 sans-serif; }
.pager a { text-decoration: none; max-width: 48%; }
.pager .suiv { margin-left: auto; text-align: right; }
.site-foot { max-width: 40em; margin: 0 auto; padding: 1.2em 1.2em calc(1.2em + env(safe-area-inset-bottom)); font: .8em/1.5 sans-serif; color: #666;
             text-align: center; }
.editions { display: grid; grid-template-columns: repeat(auto-fit, minmax(11em, 1fr)); gap: 1.4em; margin: 1.5em 0; }
.edition-carte { text-align: center; font-family: sans-serif; }
.edition-carte img { width: 100%; height: auto; border-radius: 4px; box-shadow: 0 2px 10px rgba(0,0,0,.25); }
.edition-carte h2 { border: 0; font-size: 1.02em; margin: .6em 0 .2em; }
.edition-carte p { margin: .25em 0; font-size: .9em; }
.bouton { display: inline-block; padding: .35em .9em; border-radius: 3px; background: #15284a; color: #f1e4bf;
          text-decoration: none; }
.bouton.second { background: none; color: #15284a; border: 1px solid #15284a; }
.accroche { text-align: center; font-style: italic; color: #444; }
.autre-rite { text-align: center; font: .9em/1.5 sans-serif; color: #555; margin: .5em 0; }
button.bouton { font: inherit; cursor: pointer; }
.hors-ligne { text-align: center; font-size: .95em; color: #555; }
.installer-ios { margin: 1em 0; padding: .7em 1em; border: 1px solid #d8cfb8; border-radius: 4px; background: #f6f0e1;
                 font: .9em/1.5 sans-serif; text-align: center; }
.hors-ligne span { display: block; margin-top: .3em; font: .85em/1.4 sans-serif; }
.annonce { position: fixed; left: 50%; bottom: calc(1.2em + env(safe-area-inset-bottom)); transform: translateX(-50%); z-index: 10;
           max-width: calc(100% - 2.4em); padding: .7em 1.1em; border-radius: 4px; background: #15284a;
           color: #f1e4bf; font: .9em/1.4 sans-serif; box-shadow: 0 2px 12px rgba(0,0,0,.3); }
/* Lecture à l'écran : phonétique justifiée comme dans un livre, dernière ligne à gauche. */
.ph { text-align: justify; text-align-last: left; -webkit-hyphens: auto; hyphens: auto; }
@media (max-width: 34em) { .sommaire { column-count: 1; -webkit-column-count: 1; } body { font-size: 1.05em; }
                           .aa span { display: none; } .site-head .inner { padding: .55em .9em 0; }
                           .site-head .menu { gap: 0; margin-top: .35em; }
                           .site-head .menu a { flex: 1 1 auto; text-align: center; padding: .4em .1em .45em; }
                           .site-head .marque { gap: .55em; } .site-head .marque img { height: 1.9em; }
                           .barre .inner { padding: .35em .8em; } }
@media (max-width: 22em) { .site-head .nom small { letter-spacing: .06em; } }

/* Page « Aujourd'hui » */
.jour { font-family: system-ui, -apple-system, "Segoe UI", sans-serif; line-height: 1.4; }
.jour h1 { margin: .2em 0 .1em; font: bold 1.35em/1.25 system-ui, -apple-system, "Segoe UI", sans-serif; }
.jour .date-heb { margin: .1em 0; text-align: center; color: #5a4a1d; }
.jour .date-heb .he-date { font-family: "SiddurHebrew", "Noto Serif Hebrew", serif; font-size: 1.15em; margin-left: .4em; }
.jour .ce-soir { display: block; font-size: .85em; color: #6b6b6b; }
.jour .lieu { text-align: center; margin: .5em 0 .2em; font-size: .9em; color: #555; }
.jour .lien { font: inherit; color: #1f3a68; background: none; border: 0; padding: 0; text-decoration: underline;
              cursor: pointer; }
.puces { display: flex; flex-wrap: wrap; justify-content: center; gap: .35em; margin: .5em 0 0; padding: 0;
         list-style: none; }
.puces li { background: #f3ecd9; color: #5a4a1d; border-radius: 1em; padding: .15em .7em; font-size: .85em; }
.carte { border: 1px solid #e6dfcc; border-radius: 8px; padding: .7em 1em .8em; margin: 1em 0; background: #fff; }
.carte h2 { border: 0; margin: 0 0 .4em; padding: 0; font-size: 1.05em; color: #15284a; display: flex;
            justify-content: space-between; align-items: baseline; gap: .5em; }
.carte h2 small { font-weight: normal; font-size: .78em; color: #777; }
.carte ul, .carte ol { list-style: none; margin: 0; padding: 0; }
.prieres > li { display: grid; grid-template-columns: 1fr auto; gap: 0 .6em; padding: .45em .5em;
                border-radius: 6px; align-items: baseline; }
.prieres > li + li { border-top: 1px solid #f0ebdd; }
.prieres > li.maintenant { background: #eef1f7; border-top-color: transparent; }
.prieres > li.maintenant + li { border-top-color: transparent; }
.prieres .nom { font-weight: bold; font-size: 1.02em; }
.prieres a.nom { text-decoration: none; }
.prieres a.nom::after { content: " ›"; }
.prieres .quand { color: #555; font-size: .88em; white-space: nowrap; text-align: right; }
.prieres .maintenant .quand::before { content: "● "; color: #2e7d32; }
.prieres .notes { grid-column: 1 / -1; margin: .15em 0 0; font-size: .86em; color: #555; }
.prieres .notes a { white-space: nowrap; }
.raccourcis { display: flex; flex-wrap: wrap; gap: .4em; margin: .7em 0 0; }
.raccourcis a { font-size: .85em; text-decoration: none; border: 1px solid #d8cfb8; border-radius: 1em;
                padding: .2em .7em; color: #15284a; }
.zmanim li { display: grid; grid-template-columns: 3.4em 1fr; gap: 0 .6em; padding: .35em 0; }
.zmanim li + li { border-top: 1px solid #f0ebdd; }
.zmanim time { font-weight: bold; font-variant-numeric: tabular-nums; }
.zmanim .titre { font-weight: 600; }
.zmanim .com { display: block; font-size: .84em; color: #666; }
.zmanim .passe { color: #999; }
.zmanim .passe .com { color: #aaa; }
.zmanim .prochain { background: #fbf4dd; border-radius: 6px; margin: 0 -.4em; padding: .35em .4em; }
.zmanim .prochain + li { border-top-color: transparent; }
.lignes li { display: flex; justify-content: space-between; gap: .8em; padding: .3em 0; }
.lignes li + li { border-top: 1px solid #f0ebdd; }
.lignes b { font-variant-numeric: tabular-nums; white-space: nowrap; }
.chabbat-titre { font-weight: bold; margin: 0 0 .3em; }
.chabbat-titre .he-nom { font-family: "SiddurHebrew", "Noto Serif Hebrew", serif; font-weight: normal;
                         color: #5a4a1d; margin-left: .4em; }
.fetes > li { padding: .45em 0; }
.fetes > li + li { border-top: 1px solid #f0ebdd; }
.fetes .quand { color: #555; font-size: .88em; }
.fetes .heures { display: block; font-size: .85em; color: #555; }
.fetes .en-cours { color: #2e7d32; font-size: .8em; margin-left: .3em; }
.discret { font-size: .78em; color: #777; margin: .5em 0 0; }
.vers-livres { display: flex; align-items: center; gap: .8em; margin: 1.2em 0; padding: .8em 1em; border-radius: 8px;
               background: #15284a; color: #f1e4bf; text-decoration: none; }
.vers-livres img { width: 2.6em; height: auto; border-radius: 2px; box-shadow: 0 1px 4px rgba(0,0,0,.4); }
.vers-livres span { flex: 1; }
.vers-livres small { display: block; opacity: .85; }
.vers-livres::after { content: "›"; font-size: 1.6em; line-height: 1; }
/* Présentation du siddour, sous le lien vers les livres. */
.presentation p, .presentation li { font-size: .92em; color: #333; margin: .4em 0; }
.presentation li b { color: #15284a; }
/* Choix de l'édition : pastilles du panneau « Prières du jour » et de la première visite. */
.segments { display: flex; flex-wrap: wrap; gap: .35em; margin: .4em 0; }
.segments button { font: inherit; font-size: .88em; cursor: pointer; border: 1px solid #c9bfa6; border-radius: 1em;
                   background: #fff; color: #15284a; padding: .25em .75em; }
.segments button[aria-pressed="true"] { border-color: #15284a; background: #eef1f7; box-shadow: inset 0 0 0 1px #15284a; }
.choix-edition { margin: -.1em 0 .5em; padding: .5em .6em; background: #faf6ea; border-radius: 6px; font-size: .9em; }
.choix-edition[hidden] { display: none; }
.choix-edition p { margin: 0; color: #555; }
.choix-edition .segments { margin: .35em 0 0; }
.choix-edition .segments + p { margin-top: .6em; }
.premier-choix .choix-rite { justify-content: center; margin: 0 0 .4em; }
.premier-choix { box-sizing: border-box; width: calc(100% - 2em); max-width: 23em; border: 0; border-radius: 12px;
                 padding: 1.2em 1.1em 1em; background: #fff; color: #1d1d1d; box-shadow: 0 10px 40px rgba(0,0,0,.35);
                 font-family: system-ui, -apple-system, "Segoe UI", sans-serif; line-height: 1.4; }
.premier-choix[open] { position: fixed; inset: 0; margin: auto; height: fit-content; z-index: 100; }
.premier-choix::backdrop { background: rgba(21, 40, 74, .55); }
.premier-choix h2 { border: 0; margin: 0 0 .2em; padding: 0; font-size: 1.15em; color: #15284a; text-align: center; }
.premier-choix p { margin: .3em 0 .8em; text-align: center; color: #555; }
.premier-choix .options { display: grid; gap: .5em; }
.premier-choix .options button { display: flex; justify-content: space-between; align-items: baseline; gap: .8em;
                 font: inherit; text-align: left; cursor: pointer; padding: .7em .9em; border: 1px solid #c9bfa6;
                 border-radius: 8px; background: #fff; color: #15284a; }
.premier-choix .options button:hover, .premier-choix .options button:focus-visible { border-color: #15284a;
                 background: #eef1f7; }
.premier-choix .ex { color: #666; font-size: .88em; }
.premier-choix .ex[lang=he] { font-family: "SiddurHebrew", "Noto Serif Hebrew", serif; font-size: 1.2em; color: #5a4a1d; }
.premier-choix .discret { margin: .9em 0 0; }
/* Réglages de la page : ville et horaires de Chabbat. */
.reglages-jour { scroll-margin-top: 6em; }
.reglages-jour[hidden] { display: none; }
.reglages-jour label, .reglages-jour .etiquette { display: block; font-weight: 600; font-size: .9em; margin: .7em 0 .25em; }
.reglages-jour input[type=search], .reglages-jour select { box-sizing: border-box; width: 100%; font: inherit;
              padding: .45em .6em; border: 1px solid #c9bfa6; border-radius: 6px; background: #fff; color: #1d1d1d; }
.reglages-jour .resultats li button, .reglages-jour .villes button, .reglages-jour .actions button { font: inherit; font-size: .88em; cursor: pointer; border: 1px solid #c9bfa6;
              border-radius: 1em; background: #fff; color: #15284a; padding: .25em .75em; }
.reglages-jour .resultats { margin: .3em 0; }
.reglages-jour .resultats li button { display: block; width: 100%; text-align: left; border-radius: 6px; margin: .2em 0; }
.reglages-jour .villes { display: flex; flex-wrap: wrap; gap: .35em; margin: .4em 0; }
.reglages-jour .villes button[aria-pressed="true"] { border-color: #15284a; background: #eef1f7; box-shadow: inset 0 0 0 1px #15284a; }
.reglages-jour .actions { display: flex; justify-content: space-between; gap: .5em; margin-top: 1em; }
.reglages-jour .actions .ok { background: #15284a; color: #f1e4bf; border-color: #15284a; }
.reglages-jour .etat { font-size: .82em; color: #666; min-height: 1.2em; margin: .2em 0; }

/* Page des livres : 2 × 2 sur téléphone (3 éditions et l'aide), 4 colonnes sur grand écran. */
.editions { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1em; }
.edition-carte { display: flex; flex-direction: column; }
.edition-carte h2 { font-size: .98em; margin: .5em 0 .1em; }
.edition-carte .actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .3em; margin-top: auto;
                          padding-top: .4em; }
.edition-carte .actions a { font-size: .85em; padding: .3em .7em; }
.carte-aide { border: 1px solid #e6dfcc; border-radius: 6px; padding: .7em; font-size: .85em; line-height: 1.4;
              text-align: left; background: #faf6ea; }
.carte-aide h2 { text-align: center; }
.carte-aide p { margin: .4em 0; }
.rite-titre { text-align: center; margin: 1.6em 0 0; }
.rite + .rite { margin-top: 2em; padding-top: .4em; border-top: 1px solid #e6dfcc; }
@media (max-width: 40em) { .editions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8em; margin: 1em 0; }
                           .edition-carte p.texte { display: none; } }
