/* ==========================================================================
   Passy Actu 2026, direction « Direct » : structure
   En-tête collant, navigation, recherche, bandeau des dernières, pied de page,
   fil d'Ariane, pagination, états vides, commentaires, widgets.
   ========================================================================== */

/* En-tête ---------------------------------------------------------------- */
.pa-masthead {
  position: sticky; top: 0; z-index: 50;
  background: var(--pa-masthead-bg);
  border-bottom: 1px solid var(--pa-line);
  backdrop-filter: saturate(1.4) blur(8px);
}
.admin-bar .pa-masthead { top: 32px; }
@media (max-width: 782px) { .admin-bar .pa-masthead { top: 0; } }

.pa-masthead__bar {
  display: flex; align-items: center; gap: var(--pa-space-5);
  min-height: var(--pa-header-h);
}
.pa-masthead__logo { flex: none; --pa-logo-height: 44px; }
.pa-masthead__logo .custom-logo { height: 44px; }

.pa-masthead__actions { display: flex; align-items: center; gap: var(--pa-space-2); margin-inline-start: auto; flex: none; }
.pa-masthead__phone {
  display: none; align-items: center; gap: .45em;
  padding: .45em .85em; border-radius: 6px;
  background: var(--pa-red); color: #fff;
  font-family: var(--pa-font-display); font-size: .95rem; font-weight: 600; letter-spacing: .04em; white-space: nowrap;
}
.pa-masthead__phone:hover { background: var(--pa-red-hover); color: #fff; }
.pa-masthead__phone .pm-icon { width: 1em; height: 1em; }
.pa-icon-button {
  display: inline-grid; place-items: center;
  width: 44px; height: 44px; border-radius: 8px;
  color: var(--pa-ink-1);
}
.pa-icon-button:hover { background: var(--pa-surface-2); color: var(--pa-ink); }
.pa-icon-button .pa-icon { width: 22px; height: 22px; }

/* Navigation */
.pa-nav { flex: 1 1 auto; min-width: 0; }
.pa-nav__inner { display: flex; align-items: center; gap: var(--pa-space-1); }
.pa-nav__list, .pa-nav__extra { display: flex; align-items: center; gap: var(--pa-space-1); margin: 0; }
.pa-nav a {
  position: relative; display: inline-flex; align-items: center; gap: .35em;
  padding: .55em .5em;
  font-family: var(--pa-font-display); font-size: .95rem; font-weight: 500;
  letter-spacing: .045em; text-transform: uppercase; white-space: nowrap;
  color: var(--pa-ink-2);
}
.pa-nav a:hover { color: var(--pa-ink); }
.pa-nav a[aria-current="page"], .pa-nav .current-menu-item > a, .pa-nav .current-cat > a, .pa-nav .current-menu-ancestor > a { color: var(--pa-ink); }
.pa-nav a[aria-current="page"]::after, .pa-nav .current-menu-item > a::after, .pa-nav .current-cat > a::after {
  content: ""; position: absolute; left: .6em; right: .6em; bottom: -2px; height: 3px; background: var(--pa-red);
}
.pa-nav__video .pa-icon { width: .95em; height: .95em; fill: currentColor; stroke: none; color: var(--pa-red); }
.pa-nav__phones { display: none; }

@media (min-width: 1024px) {
  .pa-nav__inner { overflow-x: auto; scrollbar-width: none; mask-image: linear-gradient(90deg, #000 92%, transparent); }
  .pa-nav__inner::-webkit-scrollbar { display: none; }
  .pa-menu-toggle { display: none !important; }
}
@media (min-width: 1520px) {
  .pa-masthead__phone { display: inline-flex; }
  .pa-nav__inner { mask-image: none; }
}
@media (max-width: 1023px) {
  .pa-masthead__bar { gap: var(--pa-space-3); }
  .pa-masthead__logo, .pa-masthead__logo .custom-logo { --pa-logo-height: 38px; height: 38px; }
  .pa-js .pa-nav {
    position: absolute; inset-inline: 0; top: 100%;
    max-height: calc(100dvh - var(--pa-header-h)); overflow-y: auto;
    background: var(--pa-bg); border-bottom: 1px solid var(--pa-line);
    box-shadow: var(--pa-shadow);
    display: none;
  }
  .pa-js .pa-nav[data-open] { display: block; }
  .pa-nav__inner { flex-direction: column; align-items: stretch; gap: 0; padding: var(--pa-space-2) var(--pa-gutter) var(--pa-space-6); }
  .pa-nav__list, .pa-nav__extra { flex-direction: column; align-items: stretch; gap: 0; }
  .pa-nav a { display: flex; padding: .85em .25em; font-size: 1.15rem; border-bottom: 1px solid var(--pa-line); color: var(--pa-ink-1); }
  .pa-nav a[aria-current="page"]::after, .pa-nav .current-menu-item > a::after, .pa-nav .current-cat > a::after { left: auto; right: 0; top: 50%; bottom: auto; width: 6px; height: 1.1em; transform: translateY(-50%); }
  .pa-nav__phones { display: grid; gap: var(--pa-space-2); margin-top: var(--pa-space-5); }
  .pa-nav__phones span { color: var(--pa-ink-3); font-size: var(--pa-text-sm); }
  .pa-nav__phones a { justify-content: center; border: 0; border-radius: 6px; background: var(--pa-red); color: #fff; font-size: 1.05rem; letter-spacing: .04em; }
  /* Sans JavaScript, la navigation reste visible et défile horizontalement. */
  html:not(.pa-js) .pa-masthead__bar { flex-wrap: wrap; }
  html:not(.pa-js) .pa-nav { order: 3; flex-basis: 100%; overflow-x: auto; }
  html:not(.pa-js) .pa-nav__inner, html:not(.pa-js) .pa-nav__list, html:not(.pa-js) .pa-nav__extra { flex-direction: row; padding: 0; }
  html:not(.pa-js) .pa-nav a { border: 0; font-size: .95rem; }
}

/* Recherche déroulante */
.pa-site-search details { padding-block: 0; }
.pa-site-search summary { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.pa-site-search details[open] { padding-block: var(--pa-space-4) var(--pa-space-5); }
.pa-site-search details[open] summary { position: static; width: auto; height: auto; clip-path: none; display: flex; align-items: center; gap: .5em; margin-bottom: var(--pa-space-3); color: var(--pa-ink-2); font-size: var(--pa-text-sm); cursor: pointer; list-style: none; }
.pa-site-search summary::-webkit-details-marker { display: none; }
html:not(.pa-js) .pa-site-search details:not([open]) summary { position: static; width: auto; height: auto; clip-path: none; padding-block: var(--pa-space-2); color: var(--pa-ink-3); font-size: var(--pa-text-sm); cursor: pointer; }

/* Bandeau des dernières publications ------------------------------------- */
.pa-ticker { background: var(--pa-surface); border-bottom: 1px solid var(--pa-line); }
.pa-ticker__inner { display: flex; align-items: stretch; width: min(100%, var(--pa-max)); margin-inline: auto; min-height: 40px; }
.pa-ticker__label {
  flex: none; display: flex; align-items: center;
  padding: 0 .9em; background: var(--pa-yellow); color: #111;
  font-family: var(--pa-font-display); font-size: .85rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
}
.pa-ticker__viewport { position: relative; display: flex; flex: 1; min-width: 0; overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 40px), transparent); }
.pa-ticker__track { display: flex; flex: none; align-items: center; gap: 2.4rem; margin: 0; padding-inline: 1.2rem 1.2rem; }
.pa-ticker__track li { display: flex; align-items: baseline; gap: .55em; white-space: nowrap; font-size: .875rem; }
.pa-ticker__track time { color: var(--pa-highlight); font-weight: 700; font-variant-numeric: tabular-nums; }
.pa-ticker__track a { color: var(--pa-ink-1); }
.pa-ticker__track a:hover { color: var(--pa-ink); text-decoration: underline; text-underline-offset: .2em; }
.pa-ticker__viewport.is-ready .pa-ticker__track { animation: pa-ticker var(--pa-ticker-duration, 60s) linear infinite; }
.pa-ticker__viewport:hover .pa-ticker__track, .pa-ticker__viewport:focus-within .pa-ticker__track { animation-play-state: paused; }
@keyframes pa-ticker { to { transform: translateX(-100%); } }
html:not(.pa-js) .pa-ticker__viewport { overflow-x: auto; }
html:not(.pa-js) [data-ticker-clone] { display: none; }
@media (prefers-reduced-motion: reduce) {
  .pa-ticker__viewport { overflow-x: auto; mask-image: none; }
  .pa-ticker__viewport .pa-ticker__track { animation: none !important; }
  [data-ticker-clone] { display: none; }
}

/* Fil d'Ariane ----------------------------------------------------------- */
.pa-breadcrumb { padding-block: var(--pa-space-4) 0; font-size: var(--pa-text-sm); color: var(--pa-ink-3); }
.pa-breadcrumb ol { display: flex; flex-wrap: wrap; gap: .3em .5em; margin: 0; padding: 0; list-style: none; }
.pa-breadcrumb li { display: inline-flex; align-items: center; gap: .5em; min-width: 0; }
.pa-breadcrumb li + li::before { content: "/"; color: var(--pa-line-strong); }
.pa-breadcrumb a { color: var(--pa-ink-2); }
.pa-breadcrumb a:hover { color: var(--pa-ink); }
.pa-breadcrumb [aria-current] { color: var(--pa-ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 40ch; }

/* Pagination ------------------------------------------------------------- */
.pa-pagination { margin-top: var(--pa-space-8); }
.pa-pagination ul, .pa-pagination .page-numbers:is(ul) { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--pa-space-2); margin: 0; padding: 0; list-style: none; }
.pa-pagination .page-numbers:not(ul) {
  display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 .9em;
  border: 1px solid var(--pa-line-strong); border-radius: 6px;
  font-family: var(--pa-font-display); font-weight: 600; letter-spacing: .04em; color: var(--pa-ink-1);
}
.pa-pagination a.page-numbers:hover { border-color: var(--pa-ink-3); color: var(--pa-ink); }
.pa-pagination .page-numbers.current { background: var(--pa-red); border-color: var(--pa-red); color: #fff; }
.pa-pagination .page-numbers.dots { border: 0; }
.pa-pagination--content { display: flex; gap: var(--pa-space-2); align-items: center; }
.pa-pagination--content span { display: inline-grid; place-items: center; min-width: 40px; height: 40px; border: 1px solid var(--pa-line-strong); border-radius: 6px; }

/* État vide -------------------------------------------------------------- */
.pa-empty { display: grid; gap: var(--pa-space-4); justify-items: start; max-width: 640px; padding: var(--pa-space-8); background: var(--pa-surface); border: 1px solid var(--pa-line); border-radius: var(--pa-radius-lg); }
.pa-empty h2 { text-transform: uppercase; }
.pa-empty p { color: var(--pa-ink-2); }

/* Pied de page ----------------------------------------------------------- */
.pa-footer { margin-top: var(--pa-space-12); background: #070708; border-top: 1px solid var(--pa-line); color: var(--pa-ink-2); font-size: var(--pa-text-sm); }
.pa-footer__contact { padding-top: var(--pa-space-10); }
.pa-footer__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr)); gap: var(--pa-space-8) var(--pa-space-10); padding-block: var(--pa-space-10); }
.pa-footer__identity { display: grid; gap: var(--pa-space-4); align-content: start; }
.pa-footer__identity .custom-logo-link { --pa-logo-height: 56px; }
.pa-footer__identity .custom-logo { height: 56px; }
.pa-footer__tagline { max-width: 42ch; line-height: 1.6; }
.pa-footer__social { display: flex; flex-wrap: wrap; gap: var(--pa-space-2); margin: 0; }
.pa-footer__social a { display: inline-flex; align-items: center; gap: .45em; padding: .5em .8em; border: 1px solid var(--pa-line-strong); border-radius: 6px; color: var(--pa-ink-1); }
.pa-footer__social a:hover { border-color: var(--pa-ink-3); color: var(--pa-ink); }
.pa-footer__heading { margin-bottom: var(--pa-space-3); font-family: var(--pa-font-display); font-size: .95rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--pa-ink); }
.pa-footer__links { display: grid; gap: .55em; margin: 0; }
.pa-footer__links a { color: var(--pa-ink-2); }
.pa-footer__links a:hover { color: var(--pa-ink); }
.pa-footer__widgets { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--pa-space-6); padding-bottom: var(--pa-space-8); }
.pa-footer__bottom { display: flex; flex-wrap: wrap; align-items: center; gap: var(--pa-space-3) var(--pa-space-6); padding-block: var(--pa-space-5) var(--pa-space-8); border-top: 1px solid var(--pa-line); color: var(--pa-ink-3); }
.pa-footer__legal { display: flex; flex-wrap: wrap; gap: .4em 1.2em; margin: 0; }
.pa-footer__legal a:hover, .pa-footer__top:hover { color: var(--pa-ink); }
.pa-footer__top { margin-inline-start: auto; color: var(--pa-ink-2); }
@media (max-width: 860px) {
  .pa-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pa-footer__identity { grid-column: 1 / -1; }
}
@media (max-width: 420px) {
  .pa-footer__grid { grid-template-columns: minmax(0, 1fr); }
}

/* Widgets, barre latérale ------------------------------------------------ */
.pa-sidebar, .pa-widget { display: grid; gap: var(--pa-space-3); }
.pa-sidebar { margin-top: var(--pa-space-10); padding: var(--pa-space-6); background: var(--pa-surface); border-radius: var(--pa-radius-lg); }
.pa-widget__title, .widget-title, .widgettitle { font-family: var(--pa-font-display); font-size: 1rem; letter-spacing: .08em; text-transform: uppercase; color: var(--pa-ink); }
.pa-widget ul, .widget ul { padding-left: 1.1em; }
.pa-widget a:hover, .widget a:hover { color: var(--pa-ink); }

/* Commentaires ----------------------------------------------------------- */
.pa-comments { margin-top: var(--pa-space-12); padding-top: var(--pa-space-8); border-top: 1px solid var(--pa-line); }
.pa-comments h2 { text-transform: uppercase; }
.pa-comments__list { display: grid; gap: var(--pa-space-5); margin: var(--pa-space-5) 0; }
.pa-comments__list .children { list-style: none; margin-top: var(--pa-space-4); padding-left: var(--pa-space-6); border-left: 2px solid var(--pa-line); }
.pa-comments .comment-body { padding: var(--pa-space-4); background: var(--pa-surface); border-radius: var(--pa-radius); }
.pa-comments .comment-meta { display: flex; flex-wrap: wrap; gap: .5em 1em; align-items: center; color: var(--pa-ink-3); font-size: var(--pa-text-sm); margin-bottom: var(--pa-space-2); }
.pa-comments .comment-author { display: flex; align-items: center; gap: .6em; color: var(--pa-ink); }
.pa-comments .avatar { border-radius: 50%; }
.pa-comments .reply a { color: var(--pa-red-ink); font-size: var(--pa-text-sm); }
.comment-form { display: grid; gap: var(--pa-space-4); margin-top: var(--pa-space-5); }
.comment-form p { display: grid; gap: .35em; }
.comment-form .comment-form-cookies-consent { display: flex; gap: .5em; align-items: start; }
.comment-reply-title { font-size: var(--pa-text-h3); }

/* Bouton mode clair / sombre : soleil en mode sombre, lune en mode clair. */
.pa-theme-toggle .pa-theme-toggle__moon { display: none; }
.pa-theme-toggle > span { display: inline-grid; place-items: center; }
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) .pa-theme-toggle__sun { display: none; }
  :root:not([data-theme="dark"]) .pa-theme-toggle__moon { display: inline-grid; }
}
:root[data-theme="light"] .pa-theme-toggle__sun { display: none; }
:root[data-theme="light"] .pa-theme-toggle__moon { display: inline-grid; }
