/* ==========================================================================
   Accueil « Direct » : une, carrousel vidéo, dernières publications, rubriques,
   espace citoyen.
   ========================================================================== */

/* Une -------------------------------------------------------------------- */
.pa-une { background: var(--pa-bg-deep); border-bottom: 1px solid var(--pa-line); }
.pa-une__side {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--pa-space-4);
  padding-block: var(--pa-space-5) var(--pa-space-6);
}
.pa-une__side .pa-card--feature .pa-card__visual { --ratio: 16 / 9; }
@media (max-width: 899px) {
  .pa-une__side {
    width: 100%; padding-inline: var(--pa-gutter);
    grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(250px, 78%);
    overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--pa-gutter); scrollbar-width: none;
  }
  .pa-une__side::-webkit-scrollbar { display: none; }
  .pa-une__side > * { scroll-snap-align: start; }
}

/* Carrousel vidéo -------------------------------------------------------- */
.pa-media { background: linear-gradient(180deg, #0b0b0c, #111114 40%, #0b0b0c); }
.pa-media .pa-section-head { margin-bottom: var(--pa-space-4); }
.pa-rail__controls { display: flex; gap: var(--pa-space-2); margin-inline-start: auto; }
.pa-rail__controls[hidden] { display: none; }
.pa-rail__controls + .pa-section-head__more { margin-inline-start: var(--pa-space-2); }
.pa-rail__btn { display: inline-grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--pa-line-strong); border-radius: 50%; color: #fff; }
.pa-rail__btn:hover:not(:disabled) { background: var(--pa-surface-2); border-color: var(--pa-ink-3); }
.pa-rail__btn:disabled { opacity: .35; cursor: default; }
.pa-rail__btn[data-rail-prev] .pa-icon { transform: scaleX(-1); }
.pa-rail {
  --pa-rail-pad: max(var(--pa-gutter), calc((100% - var(--pa-max)) / 2));
  overflow-x: auto; overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory; scroll-padding-inline: var(--pa-rail-pad);
  scrollbar-width: thin; scrollbar-color: var(--pa-line-strong) transparent;
  padding-bottom: var(--pa-space-3);
}
.pa-rail__track { display: flex; gap: var(--pa-space-4); width: max-content; margin: 0; padding-inline: var(--pa-rail-pad); }
.pa-rail__item {
  position: relative; scroll-snap-align: start; flex: none;
  display: flex; flex-direction: column;
  background: var(--pa-surface); border: 1px solid var(--pa-line); border-radius: var(--pa-radius);
  overflow: hidden;
}
.pa-rail__item--youtube { width: clamp(280px, 30vw, 360px); }
.pa-rail__item--tiktok { width: clamp(200px, 19vw, 230px); }
.pa-rail__item--follow { width: clamp(200px, 19vw, 230px); background: transparent; border: 0; }
.pa-rail__item .pm-video { display: flex; flex-direction: column; flex: 1; }
.pa-rail__item .pm-video__facade { border-radius: 0; max-width: none; }
.pa-rail__item .pm-video__frame { border-radius: 0; max-width: none; }
.pa-rail__item .pm-video__caption { flex: 1; flex-direction: column; justify-content: space-between; gap: .5rem; margin: 0; padding: .75rem .85rem .85rem; }
.pa-rail__item .pm-video__caption > span { color: #fff; font-weight: 600; font-size: .92rem; line-height: 1.35; }
.pa-rail__item .pm-video__caption a { color: var(--pa-ink-3); font-size: .78rem; }
.pa-rail__article { display: inline-flex; align-items: center; gap: .3em; padding: 0 .85rem .85rem; color: var(--pa-yellow); font-size: .82rem; font-weight: 600; }
.pa-rail__article:hover { color: #fff; }
.pa-rail__article .pa-icon { width: 1em; height: 1em; }

/* Tuiles « Suivre » */
.pa-follow {
  position: relative; display: flex; flex-direction: column; gap: .6rem; height: 100%; min-height: 260px;
  padding: 1.2rem; border-radius: var(--pa-radius);
  color: #fff;
}
.pa-follow--tiktok { background: linear-gradient(160deg, #1b1b1f 0%, #000 100%); border: 1px solid var(--pa-line-strong); box-shadow: inset 3px 3px 0 rgb(105 201 208 / .35), inset -3px -3px 0 rgb(238 29 82 / .35); }
.pa-follow--youtube { background: linear-gradient(160deg, #d40000 0%, #7a0000 100%); }
.pa-follow:hover { color: #fff; filter: brightness(1.08); }
.pa-follow__icon .pm-icon, .pa-follow__icon .pa-icon { width: 40px; height: 40px; }
.pa-follow__title { font-family: var(--pa-font-display); font-size: 1.45rem; font-weight: 600; line-height: 1.1; }
.pa-follow__text { color: rgb(255 255 255 / .82); font-size: .9rem; line-height: 1.45; }
.pa-follow__cta {
  margin-top: auto; align-self: flex-start;
  padding: .5em .9em; border-radius: 6px; background: #fff; color: #000;
  font-family: var(--pa-font-display); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; font-size: .85rem;
}

/* Rubriques -------------------------------------------------------------- */
.pa-topics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--pa-space-12) var(--pa-space-10); border-top: 1px solid var(--pa-line); }
.pa-topic { min-width: 0; }
.pa-topic .pa-section-head__title::before { background: var(--pa-cat, var(--pa-red)); }
.pa-topic__head .pa-card--feature .pa-card__visual { --ratio: 16 / 9; }
.pa-topic__head .pa-card--feature .pa-badge { display: none; }
.pa-topic__list { margin-top: var(--pa-space-2); }
@media (max-width: 899px) {
  .pa-topics { grid-template-columns: minmax(0, 1fr); gap: var(--pa-space-10); }
}

/* Espace citoyen (accueil et page dédiée) -------------------------------- */
.pa-citizen-home { border-top: 1px solid var(--pa-line); }
.pa-tiles { display: grid; gap: var(--pa-space-3); grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); }
.pa-tile {
  display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto auto; column-gap: .85rem; row-gap: .15rem;
  align-items: center;
  padding: 1rem; background: var(--pa-surface); border: 1px solid var(--pa-line); border-radius: var(--pa-radius);
  transition: border-color var(--pa-dur) var(--pa-ease), background var(--pa-dur) var(--pa-ease);
}
.pa-tile:hover { border-color: var(--pa-red); background: var(--pa-surface-2); color: inherit; }
.pa-tile__icon { grid-row: 1 / 3; display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 10px; background: var(--pa-accent-soft); color: var(--pa-red-ink); }
.pa-tile__icon .pa-icon { width: 22px; height: 22px; }
.pa-tile__title { font-family: var(--pa-font-display); font-size: 1.1rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; color: var(--pa-ink); }
.pa-tile__desc { color: var(--pa-ink-3); font-size: .82rem; line-height: 1.4; }
.pa-tile[data-service="alertes"] .pa-tile__icon { background: rgb(255 199 44 / .14); color: var(--pa-highlight); }

/* Contact commercial de l'accueil */
.pa-home__commercial { padding-top: var(--pa-space-4); }
@media (max-width: 599px) {
  .pa-rail__controls { display: none !important; }
}
