/*
 * Fetes.com v5.2.0
 * Système éditorial des pages secondaires uniquement.
 * La home et les fiches premium conservent leur direction artistique.
 */

.secondary-page{
  --secondary-width:85%;
  --secondary-max:1700px;
  --reading-max:1500px;
  --secondary-black:#090909;
  --secondary-ink:#242424;
  --secondary-muted:#646464;
  --secondary-line:#d5d5d5;
  --secondary-soft:#f2f2f2;
  background:#fff;
  color:var(--secondary-ink);
  font-size:16px;
}

.secondary-page .site-header{height:68px}
.secondary-page .brand img{width:126px;height:36px}
.secondary-page .site-header nav a{font-size:.7rem;letter-spacing:.055em}
.secondary-page .breadcrumb{
  width:var(--secondary-width);
  max-width:var(--secondary-max);
  margin:0 auto;
  padding:1rem 0;
  background:#fff;
  border-bottom:1px solid var(--secondary-line);
  color:var(--secondary-muted);
  font-size:.78rem;
}
.secondary-page .breadcrumb a{color:var(--secondary-ink);font-weight:700}
.secondary-page h1,.secondary-page h2,.secondary-page h3{color:var(--secondary-ink)}
.secondary-page .eyebrow{color:#c52f27;font-size:.72rem;letter-spacing:.15em}
.secondary-page .hub-stage .eyebrow{color:#e8e8e8}
.secondary-page [id]{scroll-margin-top:138px}
.secondary-page a:focus-visible,
.secondary-page button:focus-visible,
.secondary-page input:focus-visible,
.secondary-page summary:focus-visible{outline:3px solid #d8392f;outline-offset:3px}

/* Héros communs : réponse et périmètre avant la décoration. */
.secondary-page:not(.trust-page):not(.legal-page):not(.sitemap-page) .hub-hero{
  width:100%;
  max-width:none;
  margin:0;
  padding:clamp(3.25rem,6vw,6.5rem) 7.5vw;
  background:var(--secondary-black);
  border:0;
  border-top:0;
  color:#fff;
}
.secondary-page .hub-hero:after{right:2vw;bottom:-.2em;font-size:clamp(6rem,12vw,13rem);color:#151515}
.secondary-page .hub-hero h1{
  max-width:1160px;
  margin:.12em 0 .28em;
  color:#fff;
  font-size:clamp(3rem,5.2vw,5.6rem);
  line-height:.94;
  letter-spacing:-.055em;
  text-transform:uppercase;
}
.secondary-page .hub-hero>p:not(.eyebrow):not(.notice),
.secondary-page .hub-copy>p:not(.eyebrow):not(.notice){
  max-width:820px;
  color:#e2e2e2;
  font:italic clamp(1.05rem,1.35vw,1.3rem)/1.6 Georgia,"Times New Roman",serif;
}
.secondary-page .hub-hero .notice{
  max-width:1000px;
  margin-top:1.8rem;
  padding:1rem;
  background:#151515;
  border:0;
  color:#d2d2d2;
  font-size:.95rem;
  line-height:1.7;
}
.secondary-page .hub-actions{gap:.65rem;margin-top:2rem}
.secondary-page .hub-actions .button,
.secondary-page .hub-hero .year-switch a{
  min-height:44px;
  align-items:center;
  padding:.72rem 1rem;
  border:1px solid #fff;
  background:#fff;
  color:#111;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.secondary-page .hub-actions .button.secondary,
.secondary-page .hub-hero .year-switch a{background:transparent;color:#fff}
.secondary-page .hub-hero .year-switch{gap:0;margin-top:1.8rem}
.secondary-page .hub-hero .year-switch a[aria-current]{background:#fff;color:#111}

/*
 * Rubriques illustrées : même logique que les fiches premium.
 * Le grand visuel est le fond du héros ; seules les deux vignettes restent à droite.
 */
.hub-page .breadcrumb{width:85%}
.secondary-page .hub-hero-visual{
  display:grid;
  grid-template-columns:minmax(0,1fr) 18.5vw;
  height:clamp(500px,37vw,710px);
  padding:0!important;
  border-top:0!important;
  overflow:hidden;
}
.secondary-page .hub-hero-visual:after{display:none;content:none}
.secondary-page .hub-stage{
  position:relative;
  min-width:0;
  height:100%;
  overflow:hidden;
  background:var(--secondary-black);
}
.secondary-page .hub-stage:after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(90deg,rgba(5,5,5,.96) 0%,rgba(5,5,5,.84) 30%,rgba(5,5,5,.52) 50%,rgba(5,5,5,.14) 70%,rgba(5,5,5,.02) 84%);
  pointer-events:none;
}
.secondary-page .hub-stage-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.92) contrast(1.02);
}
.secondary-page .hub-hero-visual .hub-copy{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  width:min(64%,980px);
  min-height:100%;
  padding:clamp(3rem,5vw,6rem) clamp(1.5rem,3vw,4rem) clamp(3rem,5vw,6rem) 7.5vw;
  background:transparent;
}
.secondary-page .hub-hero-visual .hub-copy h1{font-size:clamp(3.2rem,4.65vw,5.6rem)}
.secondary-page .hub-side{
  display:grid;
  grid-template-rows:1fr 1fr;
  min-width:0;
  min-height:0;
  overflow:hidden;
  background:#171717;
  border-left:1px solid #fff;
}
.secondary-page .hub-side img{
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  object-fit:cover;
  filter:saturate(.9) contrast(1.03);
}
.secondary-page .hub-side img:first-child{border-bottom:1px solid #fff}
.secondary-page .hero-context{
  width:var(--secondary-width);
  max-width:var(--reading-max);
  margin:0 auto;
  padding:1.35rem 0;
  border-bottom:1px solid var(--secondary-line);
  color:var(--secondary-muted);
  font-size:.86rem;
  line-height:1.65;
}

/* Répertoires de fiches */
.secondary-page .directory{
  width:var(--secondary-width);
  max-width:var(--secondary-max);
  margin:0 auto;
  padding:clamp(4.5rem,7vw,7rem) 0;
}
.secondary-page .directory .section-heading{
  display:grid;
  grid-template-columns:minmax(190px,.45fr) minmax(0,1.55fr);
  align-items:end;
  gap:2rem;
  max-width:none;
  margin:0 0 1.5rem;
  padding:0 0 1.5rem;
  border-bottom:5px solid #111;
}
.secondary-page .directory .section-heading .eyebrow{margin:0 0 .35rem}
.secondary-page .directory .section-heading h2{
  margin:0;
  font:700 clamp(2.2rem,3.4vw,3.8rem)/1 Georgia,"Times New Roman",serif;
  letter-spacing:-.035em;
}
.secondary-page .directory-note{
  display:grid;
  grid-template-columns:minmax(190px,.45fr) minmax(0,1.55fr);
  gap:2rem;
  margin:0 0 3rem;
  padding:1.15rem 0;
  border-bottom:1px solid #bdbdbd;
  color:#555;
  font-size:.94rem;
  line-height:1.65;
}
.secondary-page .directory-note strong{color:#222;font-size:.78rem;letter-spacing:.045em;text-transform:uppercase}
.secondary-page .listing-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:3.4rem 2rem;
  border:0;
}
.secondary-page .listing-card{border:0!important;background:#fff;overflow:visible}
.secondary-page .listing-card a{display:block;height:100%;color:#222;text-decoration:none}
.secondary-page .listing-card img{
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:16/10;
  object-fit:cover;
  filter:saturate(.9);
}
.secondary-page .listing-card div{padding:1.25rem 0 0}
.secondary-page .listing-card h2,
.secondary-page .listing-card h3,
.secondary-page .listing-card h4{
  margin:0 0 .6rem;
  font:700 clamp(1.28rem,1.55vw,1.62rem)/1.13 Georgia,"Times New Roman",serif;
  letter-spacing:-.018em;
}
.secondary-page .listing-card p{
  min-height:0;
  margin:0 0 1rem;
  color:#555;
  font-size:.94rem;
  line-height:1.58;
}
.secondary-page .listing-card span{
  display:block;
  padding-top:.8rem;
  border-top:1px solid #bdbdbd;
  color:#8f211b;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.08em;
  text-align:right;
  text-transform:uppercase;
}
.secondary-page .listing-card a:hover :is(h2,h3,h4),.secondary-page .listing-card a:focus :is(h2,h3,h4){color:#a9251e}
.secondary-page .listing-card a:hover img,.secondary-page .listing-card a:focus img{filter:saturate(1) contrast(1.04)}
.secondary-page .listing-card a:focus-visible{outline-offset:6px}

/* Répertoires organisés : repères clairs sans CTA répété sur chaque carte. */
.secondary-page .listing-card span{display:none}
.secondary-page .listing-group{margin:0 0 5rem}
.secondary-page .listing-group:last-child{margin-bottom:0}
.secondary-page .listing-group-head{
  display:grid;
  grid-template-columns:minmax(190px,.45fr) minmax(0,1.55fr);
  gap:2rem;
  align-items:end;
  margin:0 0 2rem;
  padding:0 0 1rem;
  border-bottom:1px solid #aaa;
}
.secondary-page .listing-group-head h3{
  margin:0;
  font:700 clamp(1.75rem,2.3vw,2.5rem)/1.08 Georgia,"Times New Roman",serif;
}
.secondary-page .listing-group-head p{margin:0;color:#5c5c5c;line-height:1.6}
.secondary-page .category-jump{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin:0 0 3.5rem;
  padding:0;
  list-style:none;
}
.secondary-page .category-jump a{
  display:inline-flex;
  min-height:40px;
  align-items:center;
  padding:.55rem .8rem;
  border:1px solid #999;
  color:#222;
  font-size:.76rem;
  font-weight:800;
  text-decoration:none;
}
.secondary-page .category-jump a:hover,.secondary-page .category-jump a:focus{background:#111;color:#fff;border-color:#111}

/* Cartes temporelles et blocs vraiment utiles des pages-outils. */
.secondary-page .quick-nav{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  width:var(--secondary-width);
  max-width:var(--reading-max);
  margin:2.4rem auto 0;
  border-top:1px solid #aaa;
  border-left:1px solid #aaa;
}
.secondary-page .quick-nav a{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:.8rem;
  border-right:1px solid #aaa;
  border-bottom:1px solid #aaa;
  color:#222;
  background:#fff;
  font-size:.78rem;
  font-weight:800;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
}
.secondary-page .quick-nav a:hover,.secondary-page .quick-nav a:focus{background:#111;color:#fff}
.secondary-page .date-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.2rem;
  margin-top:1.5rem;
}
.secondary-page .date-card{
  min-width:0;
  padding:1.5rem;
  border:1px solid #c8c8c8;
  background:#fff;
}
.secondary-page .date-card.is-current{background:#111;color:#fff;border-color:#111}
.secondary-page .date-card.is-current h3,.secondary-page .date-card.is-current a{color:#fff}
.secondary-page .date-card time,.secondary-page .date-card .date-label{
  display:block;
  margin-bottom:.75rem;
  color:#686868;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.secondary-page .date-card.is-current time,.secondary-page .date-card.is-current .date-label{color:#cfcfcf}
.secondary-page .date-card h3{margin:.1rem 0 .7rem;font:700 1.35rem/1.15 Georgia,"Times New Roman",serif}
.secondary-page .date-card p{margin:0;color:inherit;line-height:1.55}
.secondary-page .upcoming-list{margin:1.2rem 0 0;padding:0;list-style:none;border-top:1px solid #bbb}
.secondary-page .upcoming-list li{
  display:grid;
  grid-template-columns:minmax(180px,.5fr) minmax(0,1.5fr);
  gap:1.5rem;
  padding:1rem 0;
  border-bottom:1px solid #d6d6d6;
}
.secondary-page .upcoming-list time{font-size:.76rem;font-weight:800;text-transform:uppercase}
.secondary-page .upcoming-list strong{font:700 1.08rem Georgia,"Times New Roman",serif}
.secondary-page .feature-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.25rem;
  margin-top:1.5rem;
}
.secondary-page .feature-grid article{padding:1.5rem;border-top:4px solid #111;background:#f2f2f2}
.secondary-page .feature-grid h3{margin:0 0 .65rem;font:700 1.3rem/1.15 Georgia,"Times New Roman",serif}
.secondary-page .feature-grid p{margin:0}
.secondary-page .feature-grid a{font-weight:800}

/* La page du jour devient une rubrique de consultation, pas une page de méthode. */
.today-page .prose>section{grid-column:1/-1;background:#fff;padding:2.5rem 0;border-top:5px solid #111}
.today-page .prose>section:first-of-type{grid-column:1/-1;background:#fff;color:#222}
.today-page .prose>section:first-of-type h2,.today-page .prose>section:first-of-type a{color:#222}
.today-page .prose>section:first-of-type ul{display:block;margin:0;padding:0;list-style:none}
.today-page .prose>section:first-of-type li{padding:0;border:0;font:inherit}
.today-page .prose>section:nth-of-type(2),.today-page .prose>section:nth-of-type(3){grid-column:1/-1}
.today-page .wish-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem!important;margin:1.4rem 0 0!important}
.today-page .wish-list{padding:0!important;list-style:none!important}
.today-page .wish-list li{padding:1.25rem!important;border:1px solid #c8c8c8!important;background:#f4f4f4;list-style:none!important}

/* Jours fériés : calendrier lisible et prochaine échéance visible. */
.holiday-page .next-holidays{
  width:var(--secondary-width);
  max-width:var(--reading-max);
  margin:0 auto;
  padding:clamp(3.5rem,5vw,5rem) 0 1rem;
}
.holiday-page .next-holidays>h2{font:700 clamp(2rem,3vw,3.2rem)/1.05 Georgia,"Times New Roman",serif}
.holiday-page .holiday-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.holiday-page .holiday-card{padding:1.5rem;border-top:5px solid #111;background:#f2f2f2}
.holiday-page .holiday-card time{display:block;margin-bottom:.75rem;font-size:.72rem;font-weight:800;text-transform:uppercase}
.holiday-page .holiday-card h3{margin:0 0 .45rem;font:700 1.35rem/1.15 Georgia,"Times New Roman",serif}
.holiday-page .holiday-card p{margin:0;color:#5d5d5d;font-size:.88rem;line-height:1.55}
.holiday-page .calendar-grid table{font-size:.88rem}
.holiday-page .calendar-grid th,.holiday-page .calendar-grid td{padding:.8rem .65rem}
.secondary-page .network-resources{
  display:grid;
  grid-template-columns:minmax(190px,.45fr) minmax(0,1.55fr);
  gap:2rem;
  width:var(--secondary-width);
  max-width:var(--secondary-max);
  margin:0 auto 4rem;
  padding:1.4rem 0;
  border:0;
  border-top:5px solid #111;
  border-bottom:1px solid #bbb;
  background:#fff;
}
.secondary-page .network-resources>strong{text-transform:uppercase;font-size:.76rem;letter-spacing:.055em}
.secondary-page .network-resources ul{margin:0}
.secondary-page .hub-guidance{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:3.5rem 4.5rem;
  width:var(--secondary-width)!important;
  max-width:var(--secondary-max)!important;
  margin:0 auto!important;
  padding:3.2rem 0!important;
  border-top:1px solid #bbb;
  font-family:Arial,"Helvetica Neue",sans-serif!important;
  font-size:1rem!important;
  line-height:1.75!important;
}
.secondary-page .hub-guidance .guidance-block{
  min-width:0;
  padding-top:1.15rem;
  border-top:5px solid #111;
}
.secondary-page .hub-guidance .guidance-block:only-child{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);
  gap:4.5rem;
}
.secondary-page .hub-guidance h2{
  margin:0 0 1rem;
  font:700 clamp(1.65rem,2vw,2.25rem)/1.08 Georgia,"Times New Roman",serif;
}
.secondary-page .hub-guidance p{margin:0 0 1rem}
.hub-page main>section:not(.hub-hero):not(.directory):not(.hub-guidance):not(.faq),
.hub-page main>.faq{
  width:var(--secondary-width);
  max-width:var(--reading-max);
  margin:0 auto;
  padding:3.5rem 0;
  border-top:1px solid #bbb;
  font-size:1rem;
  line-height:1.75;
}
.hub-page main>section:not(.hub-hero):not(.directory):not(.hub-guidance):not(.faq){
  display:grid;
  grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);
  gap:0 4rem;
  border-top:5px solid #111;
}
.hub-page main>section:not(.hub-hero):not(.directory):not(.hub-guidance):not(.faq)>h2{
  grid-column:1;
  font:700 2.2rem/1.08 Georgia,"Times New Roman",serif;
}
.hub-page main>section:not(.hub-hero):not(.directory):not(.hub-guidance):not(.faq)>:not(h2){grid-column:2}

/* Navigation temporelle */
.secondary-page .month-nav{
  top:68px;
  width:100%;
  padding:.85rem 7.5vw;
  gap:0;
  overflow-x:auto;
  flex-wrap:nowrap;
  background:#fff;
  border-bottom:1px solid #bbb;
  scrollbar-width:thin;
}
.secondary-page .month-nav a{
  flex:0 0 auto;
  min-height:39px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.5rem .82rem;
  border:1px solid #aaa;
  border-right:0;
  color:#222;
  background:#fff;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
}
.secondary-page .month-nav a:last-child{border-right:1px solid #aaa}
.secondary-page .month-nav a[aria-current]{background:#111;color:#fff;border-color:#111}

/* Calendriers annuels */
.year-page .calendar-grid{
  width:var(--secondary-width);
  max-width:var(--secondary-max);
  margin:0 auto;
  padding:clamp(4rem,6vw,6rem) 0;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:3.2rem 2rem;
}
.year-page .calendar-grid>section{
  padding:0;
  border:0!important;
  border-top:5px solid #111!important;
  background:#fff;
}
.year-page .calendar-grid>section>h2{margin:0;padding:1.05rem 0 .9rem;font:700 1.7rem/1.1 Georgia,"Times New Roman",serif}
.year-page .date-list{margin:0;border-top:1px solid #c6c6c6}
.year-page .date-list li{
  grid-template-columns:112px minmax(0,1fr);
  gap:.2rem 1rem;
  padding:.86rem 0;
  border-bottom:1px solid #ddd;
}
.year-page .date-list time{font-size:.74rem;line-height:1.45;text-transform:uppercase}
.year-page .date-list a{font:700 1.02rem/1.35 Georgia,"Times New Roman",serif;text-decoration:none}
.year-page .date-list small{grid-column:2;color:#686868;font-size:.72rem;line-height:1.45}
.year-page .year-reading,.year-page main>.faq{
  width:var(--secondary-width);
  max-width:var(--reading-max);
  margin:0 auto;
  padding:3.5rem 0;
  border-top:5px solid #111;
}
.year-page .year-reading{
  display:grid;
  grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);
  gap:0 4rem;
}
.year-page .year-reading h2{grid-column:1;font:700 2.25rem/1.05 Georgia,"Times New Roman",serif}
.year-page .year-reading>p,.year-page .year-reading>ul,.year-page .year-reading>ol{grid-column:2}

/* Pages mensuelles : table principale ample, blocs explicatifs rythmés. */
.calendar-month-page .prose,.saints-month-page .prose{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:2rem;
  width:var(--secondary-width);
  max-width:var(--reading-max);
  margin:0 auto;
  padding:clamp(4rem,6vw,6rem) 0;
  font-family:Arial,"Helvetica Neue",sans-serif;
  font-size:1rem;
  line-height:1.75;
}
.calendar-month-page .prose>section,.saints-month-page .prose>section{
  grid-column:span 6;
  min-width:0;
  margin:0;
  padding:2.2rem;
  border-top:5px solid #111;
  background:#f4f4f4;
}
.calendar-month-page .prose>section:first-of-type,
.saints-month-page .prose>section:first-of-type{
  grid-column:1/-1;
  padding:0;
  background:#fff;
}
.calendar-month-page .prose>.faq,.saints-month-page .prose>.faq{grid-column:1/-1;background:#fff;padding:2.5rem 0}
.calendar-month-page .prose>.microcopy,.saints-month-page .prose>.microcopy{grid-column:1/-1}
.calendar-month-page .prose h2,.saints-month-page .prose h2{font:700 clamp(1.8rem,2.25vw,2.6rem)/1.08 Georgia,"Times New Roman",serif}
.calendar-month-page .prose>section:first-of-type>h2,
.saints-month-page .prose>section:first-of-type>h2{padding-bottom:1.15rem;border-bottom:1px solid #bbb}
.calendar-month-page .date-list li{
  grid-template-columns:220px minmax(0,1fr) 150px;
  gap:.75rem 1.3rem;
  align-items:baseline;
  padding:1rem 0;
  border-bottom:1px solid #d4d4d4;
}
.calendar-month-page .date-list time{font-size:.78rem;text-transform:uppercase}
.calendar-month-page .date-list a{font:700 1.08rem/1.35 Georgia,"Times New Roman",serif;text-decoration:none}
.calendar-month-page .date-list small{grid-column:3;color:#666;text-align:right}
.calendar-month-page table,.saints-month-page table{font-size:.95rem}
.calendar-month-page thead,.saints-month-page thead{background:#111;color:#fff}
.calendar-month-page th,.calendar-month-page td,
.saints-month-page th,.saints-month-page td{padding:.92rem 1rem;border-bottom:1px solid #d4d4d4}
.calendar-month-page tbody tr:nth-child(even),.saints-month-page tbody tr:nth-child(even){background:#f3f3f3}

/* Fête du jour : vraie page-outil, puis dossier de compréhension. */
.today-page .hub-hero:not(.hub-hero-visual){min-height:410px;display:flex;flex-direction:column;justify-content:center}
.today-page .hub-hero h1{font-size:clamp(3.4rem,6.3vw,6.3rem)}
.today-page .prose{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:2rem;
  width:var(--secondary-width);
  max-width:var(--reading-max);
  margin:0 auto;
  padding:clamp(4rem,6vw,6rem) 0;
  font-family:Arial,"Helvetica Neue",sans-serif;
  font-size:1rem;
  line-height:1.75;
}
.today-page .prose>section{
  grid-column:span 6;
  min-width:0;
  margin:0;
  padding:2.35rem;
  border-top:5px solid #111;
  background:#f3f3f3;
}
.today-page .prose>section:first-of-type{
  grid-column:span 7;
  background:#111;
  color:#fff;
  border-top-color:#111;
}
.today-page .prose>section:first-of-type h2,
.today-page .prose>section:first-of-type a{color:#fff}
.today-page .prose>section:first-of-type ul{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.5rem 0;padding:0;list-style:none}
.today-page .prose>section:first-of-type li{padding:.6rem .8rem;border:1px solid #777;font:700 1.05rem Georgia,"Times New Roman",serif}
.today-page .prose>section:nth-of-type(2){grid-column:span 5}
.today-page .prose>section:nth-of-type(3){grid-column:1/-1;background:#fff;padding-right:0;padding-left:0}
.today-page .prose>.faq{grid-column:1/-1;background:#fff;padding:2.6rem 0}
.today-page .prose>.microcopy{grid-column:1/-1;margin-top:1rem}
.today-page .prose h2{font:700 clamp(1.8rem,2.25vw,2.6rem)/1.08 Georgia,"Times New Roman",serif}
.today-page .month-directory{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  border-top:1px solid #bbb;
  border-left:1px solid #bbb;
}
.today-page .month-directory a{
  min-height:64px;
  display:flex;
  align-items:center;
  padding:.75rem 1rem;
  border:0;
  border-right:1px solid #bbb;
  border-bottom:1px solid #bbb;
  color:#222;
  background:#fff;
  font-weight:800;
}

/* Composition finale de la page du jour : priorité aux réponses et aux usages. */
body.today-page .prose>section{
  grid-column:1/-1;
  padding:2.7rem 0;
  background:#fff;
  color:#222;
}
body.today-page .prose>section:first-of-type{
  grid-column:1/-1;
  padding:2.7rem 0;
  background:#fff;
  color:#222;
}
body.today-page .prose>section:first-of-type h2,
body.today-page .prose>section:first-of-type a{color:#222}
body.today-page .prose>section:nth-of-type(2),
body.today-page .prose>section:nth-of-type(3){grid-column:1/-1}
body.today-page .prose>section:nth-of-type(3){padding-right:0;padding-left:0}
body.today-page .date-cards{margin-top:1.6rem}
body.today-page .date-card{background:#f2f2f2;color:#222}
body.today-page .date-card h3 a{color:inherit;text-decoration:none}
body.today-page .date-card h3 a:hover{text-decoration:underline}
body.today-page .date-card.is-current{background:#111;color:#fff}
body.today-page .date-card.is-current time,
body.today-page .date-card.is-current .date-label{color:#ddd}
body.today-page .prose>.faq{padding:2.7rem 0;background:#fff}

/*
 * La page quotidienne est volontairement linéaire : chaque réponse occupe toute
 * la largeur de lecture. Cette structure reste stable même quand un moteur de
 * rendu ne prend en charge qu'une partie de CSS Grid.
 */
body.today-page .prose{display:block}
body.today-page .prose>section{width:100%;margin:0;padding:2.7rem 0}
body.today-page .prose>section+section{margin-top:0}

/* Jours fériés et variantes territoriales */
.holiday-page .calendar-grid{
  width:var(--secondary-width);
  max-width:var(--secondary-max);
  margin:0 auto;
  padding:clamp(4rem,6vw,6rem) 0;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:2rem;
}
.holiday-page .calendar-grid>section{padding:0;border:0!important;border-top:5px solid #111!important}
.holiday-page .calendar-grid h2{padding:1rem 0;font:700 1.75rem Georgia,"Times New Roman",serif}
.holiday-page .calendar-grid table{font-size:.82rem}
.holiday-page .calendar-grid thead{background:#111;color:#fff}
.holiday-page .calendar-grid th,.holiday-page .calendar-grid td{padding:.75rem .65rem}
.holiday-page .source-panel,
.holiday-page main>.prose,
.holiday-page main>article.prose,
.holiday-page main>section:not(.hub-hero):not(.source-panel):not(.prose):not(.faq):not(.next-holidays),
.holiday-page main>.faq{
  width:var(--secondary-width);
  max-width:var(--reading-max);
  margin:0 auto;
  padding:3.5rem 0;
  border-top:1px solid #bbb;
  font-family:Arial,"Helvetica Neue",sans-serif;
  font-size:1rem;
  line-height:1.75;
}
.holiday-page .source-panel{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:0 4rem;border-top:5px solid #111}
.holiday-page .source-panel h2{grid-column:1;font:700 2.2rem/1.08 Georgia,"Times New Roman",serif}
.holiday-page .source-panel>:not(h2){grid-column:2}
.holiday-page main>section:not(.hub-hero):not(.source-panel):not(.prose):not(.faq):not(.next-holidays){
  display:grid;
  grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);
  gap:0 4rem;
  border-top:5px solid #111;
}
.holiday-page main>section:not(.hub-hero):not(.source-panel):not(.prose):not(.faq):not(.next-holidays)>h2{
  grid-column:1;
  font:700 2.2rem/1.08 Georgia,"Times New Roman",serif;
}
.holiday-page main>section:not(.hub-hero):not(.source-panel):not(.prose):not(.faq):not(.next-holidays)>:not(h2){grid-column:2}
.holiday-page main>article.prose{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:2rem;
}
.holiday-page main>article.prose>section{
  grid-column:span 6;
  min-width:0;
  margin:0;
  padding:2.2rem;
  border-top:5px solid #111;
  background:#f3f3f3;
}
.holiday-page main>article.prose>section:first-of-type{
  grid-column:1/-1;
  padding:0;
  background:#fff;
}
.holiday-page main>article.prose>.faq{grid-column:1/-1;padding:2.5rem 0;background:#fff}

/* Pages de méthode, source, auteur, données, plan et mentions légales. */
.reference-layout{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 0 6rem!important;
  color:var(--secondary-ink);
  font-family:Arial,"Helvetica Neue",sans-serif!important;
  font-size:1rem!important;
  line-height:1.78!important;
}
.reference-hero{width:100%;background:var(--secondary-black);border-top:0;color:#fff}
.reference-hero-inner{
  width:var(--secondary-width);
  max-width:var(--reading-max);
  margin:0 auto;
  padding:clamp(4rem,7vw,7rem) 0;
}
.reference-hero .eyebrow{color:#e44940}
.reference-hero h1{
  max-width:1180px;
  margin:.1em 0 .3em;
  color:#fff;
  font-size:clamp(3.1rem,5.5vw,6rem);
  line-height:.94;
  letter-spacing:-.055em;
  text-transform:uppercase;
}
.reference-hero .lead{
  max-width:920px;
  margin:1.4rem 0 0;
  color:#dedede!important;
  font:italic clamp(1.08rem,1.45vw,1.35rem)/1.62 Georgia,"Times New Roman",serif!important;
}
.page-index{
  width:var(--secondary-width);
  max-width:var(--reading-max);
  margin:0 auto;
  padding:2rem 0;
  border-bottom:1px solid #bdbdbd;
}
.page-index>strong{display:block;margin-bottom:.8rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.page-index ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;border-top:1px solid #bbb;border-left:1px solid #bbb}
.page-index a{display:block;height:100%;padding:.8rem 1rem;border-right:1px solid #bbb;border-bottom:1px solid #bbb;color:#222;font-size:.82rem;font-weight:700;line-height:1.35;text-decoration:none}
.page-index a:hover,.page-index a:focus{background:#111;color:#fff}
.reference-layout>section{
  display:grid;
  grid-template-columns:minmax(250px,.68fr) minmax(0,1.32fr);
  gap:0 clamp(3rem,6vw,7rem);
  width:var(--secondary-width);
  max-width:var(--reading-max);
  margin:0 auto!important;
  padding:clamp(3.2rem,4.5vw,5rem) 0;
  border-top:1px solid #bbb;
}
.reference-layout>.page-index+section{border-top:0}
.reference-layout>section>h2{
  grid-column:1;
  margin:0;
  font:700 clamp(1.75rem,2.3vw,2.6rem)/1.08 Georgia,"Times New Roman",serif;
  letter-spacing:-.025em;
}
.reference-layout>section>:not(h2){grid-column:2}
.reference-layout>section>p:first-of-type{margin-top:0}
.reference-layout h3{margin:2rem 0 .6rem;font:700 1.35rem/1.2 Georgia,"Times New Roman",serif}
.reference-layout ul,.reference-layout ol{margin-top:0;padding-left:1.25rem}
.reference-layout li{margin:.6rem 0}
.reference-layout .table-wrap{width:100%;max-width:100%;border-top:4px solid #111}
.reference-layout table{font-size:.92rem}
.reference-layout thead{background:#111;color:#fff}
.reference-layout th,.reference-layout td{padding:.9rem .8rem}
.reference-layout tbody tr:nth-child(even){background:#f3f3f3}
.reference-layout .button{display:inline-flex;margin:.25rem .35rem .5rem 0;background:#111;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
.reference-layout code{padding:.08em .3em;background:#ececec;font-size:.9em}
.reference-layout>.microcopy{width:var(--secondary-width);max-width:var(--reading-max);margin:2.5rem auto 0}

.legal-page .reference-layout>section:first-of-type{background:#f1f1f1;max-width:none;width:100%;padding-right:7.5vw;padding-left:7.5vw}
.legal-page .legal-identity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 2rem;margin:0;padding:0;list-style:none}
.legal-page .legal-identity li{padding:.65rem 0;border-bottom:1px solid #ccc}
.legal-page address{font-style:normal}

.sitemap-page .sitemap-list{columns:3;column-gap:2rem;padding:0;list-style:none}
.sitemap-page .sitemap-list li{break-inside:avoid;margin:0;border-bottom:1px solid #ddd}
.sitemap-page .sitemap-list a{display:block;padding:.55rem 0;color:#333;font-size:.78rem;text-decoration:none;overflow-wrap:anywhere}
.sitemap-page .sitemap-list a:hover{text-decoration:underline}

/* Recherche et erreur : conserver une issue utile. */
.utility-page .hub-hero{min-height:420px;display:flex;flex-direction:column;justify-content:center}
.utility-page .search{width:min(760px,100%)}
.utility-page .search label{color:#fff}
.utility-page .search input{min-height:50px;border-color:#fff;background:#fff;color:#111}
.utility-page .search button{min-height:50px;background:#d8392f}
.utility-page .listing-card.text-only{padding:1.4rem 0;border-top:1px solid #bbb!important}
.utility-page .listing-card.text-only small{display:block;margin-bottom:.5rem;color:#777;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.utility-page .listing-card.text-only h2{font-size:1.35rem}
.utility-page .search-count{margin:0 0 2rem;padding:0;font-weight:800}

/* Détails, FAQ et micro-signaux de confiance. */
.secondary-page details{padding:1.15rem 0;border-top:1px solid #c8c8c8}
.secondary-page summary{position:relative;padding-right:2rem;font-size:1rem;font-weight:800;cursor:pointer}
.secondary-page summary:after{content:"+";position:absolute;right:.25rem;top:-.25rem;font:300 1.7rem Arial;color:#a9251e}
.secondary-page details[open] summary:after{content:"−"}
.secondary-page details p{margin:1rem 2.5rem 0 0}
.secondary-page .microcopy{color:#777;font-size:.78rem!important;line-height:1.6!important}
.secondary-page .notice{background:#f3f3f3;border:1px solid #d5d5d5}
.secondary-page .site-footer{margin-top:0}
.secondary-page .footer-grid{max-width:var(--secondary-max);margin:0 auto}
.secondary-page .copyright{max-width:var(--secondary-max);margin-right:auto;margin-left:auto}
.secondary-page .hub-hero .eyebrow,
.secondary-page .reference-hero .eyebrow{color:#e8e8e8}

@media(min-width:1920px){
  .secondary-page .hub-hero-visual{grid-template-columns:minmax(0,1fr) 355px}
}

@media(max-width:1200px){
  .secondary-page{--secondary-width:90%}
  .secondary-page .hub-hero-visual{grid-template-columns:minmax(0,1fr) minmax(0,22vw);height:clamp(500px,44vw,528px)}
  .secondary-page .hub-hero-visual .hub-copy{width:min(68%,760px);padding-left:5vw}
  .secondary-page .hub-hero-visual .hub-copy h1{font-size:clamp(3.05rem,5.1vw,4.3rem)}
  .secondary-page .listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .year-page .calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .holiday-page .calendar-grid{grid-template-columns:1fr}
  .holiday-page .calendar-grid table{font-size:.92rem}
  .page-index ul{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:900px){
  .secondary-page .breadcrumb{width:90%}
  .secondary-page .hub-hero-visual{display:block;height:auto}
  .secondary-page .hub-stage{height:clamp(520px,72vw,640px)}
  .secondary-page .hub-stage:after{background:linear-gradient(90deg,rgba(5,5,5,.96) 0%,rgba(5,5,5,.84) 44%,rgba(5,5,5,.45) 72%,rgba(5,5,5,.14) 100%)}
  .secondary-page .hub-stage-image{object-position:66% center}
  .secondary-page .hub-hero-visual .hub-copy{width:82%;padding:4rem 5vw}
  .secondary-page .hub-side{grid-template-columns:1fr 1fr;grid-template-rows:1fr;border-top:1px solid #fff;border-left:0}
  .secondary-page .hub-side img{height:auto;aspect-ratio:1/1}
  .secondary-page .hub-side img:first-child{border-right:1px solid #fff;border-bottom:0}
  .secondary-page .directory .section-heading,
  .secondary-page .directory-note,
  .secondary-page .network-resources,
  .secondary-page .hub-guidance,
  .year-page .year-reading,
  .holiday-page .source-panel,
  .hub-page main>section:not(.hub-hero):not(.directory):not(.hub-guidance):not(.faq),
  .holiday-page main>section:not(.hub-hero):not(.source-panel):not(.prose):not(.faq):not(.next-holidays),
  .reference-layout>section{grid-template-columns:1fr;gap:1.2rem}
  .secondary-page .directory-note>* ,
  .secondary-page .hub-guidance>*,
  .secondary-page .hub-guidance .guidance-block:only-child,
  .year-page .year-reading>*,
  .holiday-page .source-panel>*,
  .hub-page main>section:not(.hub-hero):not(.directory):not(.hub-guidance):not(.faq)>*,
  .holiday-page main>section:not(.hub-hero):not(.source-panel):not(.prose):not(.faq):not(.next-holidays)>*,
  .reference-layout>section>*{grid-column:1!important}
  .secondary-page .hub-guidance .guidance-block:only-child{display:block}
  .calendar-month-page .prose>section,.saints-month-page .prose>section,
  .today-page .prose>section,.today-page .prose>section:first-of-type,
  .today-page .prose>section:nth-of-type(2){grid-column:1/-1}
  .today-page .month-directory{grid-template-columns:repeat(3,minmax(0,1fr))}
  .holiday-page main>article.prose>section{grid-column:1/-1}
  .page-index ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sitemap-page .sitemap-list{columns:2}
  .secondary-page .quick-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
  .secondary-page .date-cards,.secondary-page .feature-grid{grid-template-columns:1fr}
  .holiday-page .holiday-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .secondary-page .listing-group-head{grid-template-columns:1fr;gap:.75rem}
}

@media(max-width:620px){
  .secondary-page{--secondary-width:100%}
  .secondary-page .site-header{height:68px}
  .secondary-page .breadcrumb{width:100%;padding:.72rem 1.1rem}
  .secondary-page:not(.trust-page):not(.legal-page):not(.sitemap-page) .hub-hero{padding:3.4rem 1.2rem}
  .secondary-page .hub-hero h1,.secondary-page .hub-hero-visual .hub-copy h1{font-size:2.75rem}
  .secondary-page .hub-stage{height:clamp(510px,135vw,620px)}
  .secondary-page .hub-stage:after{background:linear-gradient(90deg,rgba(5,5,5,.97) 0%,rgba(5,5,5,.88) 52%,rgba(5,5,5,.5) 78%,rgba(5,5,5,.2) 100%)}
  .secondary-page .hub-hero-visual .hub-copy{width:100%;padding:3.25rem 1.2rem}
  .secondary-page .hero-context{width:100%;padding:1.3rem 1.2rem}
  .secondary-page .directory{padding:4rem 1.2rem}
  .secondary-page .listing-grid{grid-template-columns:1fr;gap:2.8rem}
  .secondary-page .listing-card img{aspect-ratio:16/10}
  .secondary-page .network-resources{padding:1.3rem 1.2rem}
  .secondary-page .hub-guidance{padding:3rem 1.2rem!important}
  .hub-page main>section:not(.hub-hero):not(.directory):not(.hub-guidance),
  .holiday-page main>article.prose{width:100%;padding:3rem 1.2rem;grid-template-columns:1fr}
  .hub-page main>section:not(.hub-hero):not(.directory):not(.hub-guidance)>*,
  .holiday-page main>article.prose>section{grid-column:1}
  .holiday-page main>article.prose>section{padding:1.5rem}
  .holiday-page main>article.prose>section:first-of-type{padding:0}
  .secondary-page .month-nav{padding-right:1rem;padding-left:1rem}
  .year-page .calendar-grid{width:100%;padding:4rem 1.2rem;grid-template-columns:1fr}
  .year-page .year-reading,.year-page main>.faq{width:100%;padding:3.2rem 1.2rem}
  .calendar-month-page .prose,.saints-month-page .prose,.today-page .prose{width:100%;padding:3.5rem 1.2rem;grid-template-columns:1fr}
  .calendar-month-page .prose>section,.saints-month-page .prose>section,.today-page .prose>section{grid-column:1;padding:1.5rem}
  .calendar-month-page .prose>section:first-of-type,.saints-month-page .prose>section:first-of-type{padding:0}
  .calendar-month-page .date-list li{grid-template-columns:1fr;gap:.25rem;padding:1rem 0}
  .calendar-month-page .date-list small{grid-column:1;text-align:left}
  .today-page .month-directory{grid-template-columns:repeat(2,minmax(0,1fr))}
  .holiday-page .calendar-grid{width:100%;padding:3.5rem 1.2rem}
  .holiday-page .source-panel,.holiday-page main>.prose,.holiday-page main>article.prose,
  .holiday-page main>section:not(.hub-hero):not(.source-panel):not(.prose):not(.faq):not(.next-holidays),.holiday-page main>.faq{width:100%;padding:3rem 1.2rem}
  .reference-hero-inner{width:100%;padding:4rem 1.2rem}
  .reference-hero h1{font-size:2.85rem}
  .page-index{width:100%;padding:1.5rem 1.2rem}
  .page-index ul{grid-template-columns:1fr}
  .reference-layout>section{width:100%;padding:3rem 1.2rem}
  .reference-layout .table-wrap{margin-right:-1.2rem;width:calc(100% + 1.2rem)}
  .legal-page .reference-layout>section:first-of-type{padding-right:1.2rem;padding-left:1.2rem}
  .legal-page .legal-identity{grid-template-columns:1fr}
  .sitemap-page .sitemap-list{columns:1}
  .secondary-page details p{margin-right:0}
  .secondary-page .quick-nav{width:calc(100% - 2.4rem);grid-template-columns:1fr 1fr}
  .secondary-page .upcoming-list li{grid-template-columns:1fr;gap:.25rem}
  .today-page .wish-list{grid-template-columns:1fr}
  .holiday-page .next-holidays{width:100%;padding:3rem 1.2rem 1rem}
  .holiday-page .holiday-card-grid{grid-template-columns:1fr}
}

/* Fête du jour v5.4 : réponse, recherche et calendrier des prénoms. */
.today-page .today-heading{display:grid;grid-template-columns:minmax(180px,.42fr) minmax(0,1.58fr);gap:2rem;align-items:end;margin-bottom:1.5rem;padding-bottom:1.2rem;border-bottom:4px solid #111}
.today-page .today-heading .eyebrow{margin:0}
.today-page .today-heading h2{margin:0}
.today-page .today-identity{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #aaa;border-left:1px solid #aaa}
.today-page .today-identity article{min-width:0;padding:1.5rem;border-right:1px solid #aaa;border-bottom:1px solid #aaa}
.today-page .today-identity article:first-child{background:#111;color:#fff}
.today-page .today-identity article:first-child :is(span,strong,p){color:#fff}
.today-page .today-identity span{display:block;margin-bottom:.7rem;color:#666;font:800 .7rem/1.3 Arial,"Helvetica Neue",sans-serif;letter-spacing:.08em;text-transform:uppercase}
.today-page .today-identity strong{display:block;margin-bottom:.8rem;font:700 clamp(1.35rem,2vw,2rem)/1.15 Georgia,"Times New Roman",serif;overflow-wrap:anywhere}
.today-page .today-identity p{margin:0;color:#555;font:400 .92rem/1.65 Arial,"Helvetica Neue",sans-serif}
.today-page .today-identity details{margin-top:1rem;padding:.8rem 0 0;border-top:1px solid #aaa}
.today-page .today-identity summary{font:700 .78rem/1.45 Arial,"Helvetica Neue",sans-serif}
.today-page .today-identity details p{margin-top:.7rem}
.today-page .name-search{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:clamp(2rem,5vw,5rem);align-items:start;padding:clamp(2rem,4vw,3.5rem);border-top:5px solid #111;background:#f1f1f1}
.today-page .name-search h2{margin-bottom:.6rem}
.today-page .name-search form{font-family:Arial,"Helvetica Neue",sans-serif}
.today-page .name-search label{display:block;margin-bottom:.45rem;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.today-page .name-search form>div{display:flex}
.today-page .name-search input{min-width:0;flex:1;min-height:50px;padding:.75rem .9rem;border:1px solid #777;background:#fff;font:inherit}
.today-page .name-search button{min-height:50px;padding:.75rem 1rem;border:1px solid #111;background:#111;color:#fff;font:800 .76rem/1 Arial,"Helvetica Neue",sans-serif;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}
.today-page .name-search output{display:block;margin-top:1rem;color:#333;font-size:.92rem;line-height:1.55}
.today-page .name-search output p{margin:0 0 .6rem;font-weight:700}
.today-page .name-search output ul{margin:0;padding:0;list-style:none;border-top:1px solid #aaa}
.today-page .name-search output li{display:grid;grid-template-columns:120px 1fr;gap:1rem;margin:0;padding:.65rem 0;border-bottom:1px solid #bbb}
.today-page .name-search output a{color:#111;font-weight:800}
.today-page .name-search output span{color:#555}
.saints-month-page .name-calendar{max-height:none}
.saints-month-page .name-calendar th{width:140px;white-space:nowrap}
.saints-month-page .name-calendar td:nth-child(2){width:42%}
.saints-month-page .name-calendar td strong{font-family:Arial,"Helvetica Neue",sans-serif;font-size:.96rem}
.saints-month-page .name-calendar details{margin:.55rem 0 0;padding:.45rem 0 0;border-top:1px solid #ddd}
.saints-month-page .name-calendar summary{color:#555;font:700 .72rem/1.4 Arial,"Helvetica Neue",sans-serif;cursor:pointer}
.saints-month-page .name-calendar details span{display:block;margin-top:.45rem;color:#555;font:400 .8rem/1.55 Arial,"Helvetica Neue",sans-serif}

@media(max-width:980px){
  .today-page .today-identity{grid-template-columns:1fr 1fr}
  .today-page .today-identity article:last-child{grid-column:1/-1}
  .today-page .name-search{grid-template-columns:1fr}
}

@media(max-width:620px){
  .today-page .today-heading{grid-template-columns:1fr;gap:.5rem}
  .today-page .today-identity{grid-template-columns:1fr}
  .today-page .today-identity article:last-child{grid-column:auto}
  .today-page .name-search{margin-right:-1.2rem;margin-left:-1.2rem;padding:2rem 1.2rem}
  .today-page .name-search form>div{display:block}
  .today-page .name-search input,.today-page .name-search button{width:100%}
  .today-page .name-search output li{grid-template-columns:1fr;gap:.15rem}
  .saints-month-page .name-calendar th{width:auto;white-space:normal}
}

@media(prefers-reduced-motion:reduce){.secondary-page *{scroll-behavior:auto}}
