* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
  --navbar-height: 76px;
}

@font-face {
  font-family: 'ArsenalSC';
  src: url("../fonts/ArsenalSC-Regular.5b6296ee3985.ttf") format('truetype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'ArsenalSC-Fat';
  src: url("../fonts/ArsenalSC-Bold.f8cf66f0a799.ttf") format('truetype');
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'Caveat';
  src: url("../fonts/Caveat-Regular.7c66865f58af.ttf") format('truetype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Caveat-large';
  src: url("../fonts/Caveat-Medium.bc3682f138a6.ttf") format('truetype');
  font-weight: 700;
  font-style: normal;
  font-size: 2rem;
}

@font-face {
  font-family: 'Ubuntu';
  src: url("../fonts/Ubuntu-Regular.84ea7c5c9d2f.ttf") format('truetype');
  font-weight: 500;
  font-style: normal;
}

/* Django message */
.django-messages {
  width: min(680px, 94%);
  margin: 12px auto 4px;
}
.django-messages ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.django-messages li {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "ArsenalSC", sans-serif;
  font-size: 1rem;
  color: #f8ede3;
  background-color: #221c1cf2;
  border: 1px dashed #ea9ef0;
  border-left: 4px solid #ea9ef0;
  border-radius: 10px;
  box-shadow: 4px 4px 0px #ea9ef054;
  padding: 10px 16px;
  animation: django-message-in 0.35s ease;
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.django-messages li::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: #ea9ef0;
  font-size: 1.05em;
}
.django-messages .success::before { content: "\f058"; }
.django-messages .error::before { content: "\58"; }
.django-messages .warning::before { content: "\f071"; }
.django-messages .info::before { content: "\f05a"; }
.django-messages .error {
  border-left-color: #e07a7a;
}
.django-messages .error::before {
  color: #e07a7a;
}
.django-messages .warning {
  border-left-color: #e0c37a;
}
.django-messages .warning::before {
  color: #e0c37a;
}
.django-messages li.django-message-out {
  opacity: 0;
  transform: translateY(-8px);
}
.django-messages li .django-message-close {
  margin-left: auto;
  background: none;
  border: none;
  color: #ea9ef0;
  font-size: 1.1em;
  cursor: pointer;
  padding: 0 2px;
}
.django-messages li .django-message-close:hover {
  color: #f8ede3;
}
@keyframes django-message-in {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* End Django messages */

body {
  min-height: 100vh;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.75) 20%, rgba(0, 0, 0, 0) 100%), url("../../vendors/img/les_petits_meurtres_saison_2_sans_titre.a857229bdd0c.jpg");
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
  color: white;
}

body a,
body button,
body .dropdown-item {
  color: white;
}

.sticky-top {
  background-color: transparent;
}


#navbar {
  align-items: center;
  width: 100%;
  max-width: 100%;
}
.navbar .container-fluid {
  align-items: center;
  max-width: 100%;
}
#navbar-nav {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  width: 100%;
}
.navbar-collapse {
  align-items: center;
}
#navbar-nav .nav-link,
#navbar-nav .custom-dropdown {
  margin-left: 0;
}
#navbar-nav .nav-cta {  margin-left: auto;}
.navbar-cta-button {
  font-family: "ArsenalSC", sans-serif;
  color: white;
  background-color: #221c1c8c;
  border: 1px dashed #ea9ef0;
  white-space: normal;
}
.navbar-cta-button a {
  color: white;
  text-decoration: none;
}
.navbar-cta-button:hover {
  background-color: #ea9ef0;
  color: white;
}
.navbar-cta-button:hover a {
  color: white;
}
.navbar-nav {
  width: 100%;
  margin-left: 0;
  z-index: 10;
}
.navbar-nav-left {
  align-items: flex-start;
  gap: 4px 12px;
}
.navbar-nav-left .nav-link,
.navbar-nav-left .custom-dropdown {
  margin-left: 0;
}
#navbar-nav .nav-link.navbar-nav-right,
.navbar-nav .navbar-nav-right {
  margin-left: auto;
  margin-right: 8px;
}

.navbar-nav .dropdown-menu {
  background-color: rgba(34, 28, 28, 0.95);
  border: 1px dashed #ea9ef0;
  border-radius: 10px;
  box-shadow: 4px 4px 0px #ea9ef054;
  padding: 6px 0;
  z-index: 1050;
}
.navbar-nav .dropdown-menu .dropdown-header {
  font-family: "ArsenalSC-Fat", cursive;
  font-size: 0.95rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #ea9ef0;
  border-bottom: 1px dashed #ea9ef066;
  padding-bottom: 6px;
  margin-bottom: 4px;
}
.navbar-nav .dropdown-menu .dropdown-header i {
  margin-right: 4px;
}
.navbar-nav .dropdown-menu .dropdown-item {
  font-family: "ArsenalSC", sans-serif;
  font-size: 0.95rem;
  color: white;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  border-radius: 6px;
  margin: 0 4px;
  padding: 6px 10px;
}
.navbar-nav .dropdown-menu .dropdown-item i {
  color: #ea9ef0;
  width: 18px;
  text-align: center;
}
.navbar-nav .dropdown-menu .dropdown-item:hover,
.navbar-nav .dropdown-menu .dropdown-item:focus {
  background-color: #ea9ef0;
  color: #221c1c;
}
.navbar-nav .dropdown-menu .dropdown-item:hover i,
.navbar-nav .dropdown-menu .dropdown-item:focus i {
  color: #221c1c;
}
.nav-item-icon {
  color: #ea9ef0;
  margin-right: 6px;
}
.navbar-nav-right .nav-item.dropdown-toggle {
  margin-top: 0;
}
.user-dropdown .dropdown-menu {
  left: auto;
  right: 0;
  max-width: min(320px, calc(100vw - 16px));
}
.navbar-collapse {
  overflow: visible;
}
@media (min-width: 992px) {
  .navbar-nav .navbar-nav-right {
    margin-left: auto;
    margin-right: 8px;
  }
}

.navbar-custom {
  background-color: transparent;
  border: none;
}

.navbar-collapse {
  justify-content: space-between;
}
#navbar-nav .nav-cta {  margin-left: auto;  margin-right: 8px;}


.navbar-collapse {
  transition: opacity 0.3s ease;
}

.navbar-collapse.show {
  opacity: 1;
}

.navbar-collapse.collapsing {
  opacity: 0;
}

.navbar-toggler {
  color: black;
  position: absolute;
  top: 10px;
  right: 2%;
  padding: 1% 1%;
  margin-right: 6%;
  border: 1px solid white;
}

.navbar-brand {
  font-family: "Caveat-large", cursive;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 24px;
  color: white !important;
}

.nav-link {
  padding: 0;
  display: flex;
  justify-content: center;
  font-family: "ArsenalSC-Fat", sans-serif;
  text-transform: uppercase;
}

.nav-link a {
  text-decoration: none;
}

.nav-link a:hover,
.nav-link a:active{
  color: blue;
}

.dropdown-item {
  display: flex;
  flex-direction: row;
  justify-content: center;
}

.image_profile {
  width: 50px;
  height: 50px;
  border-radius: 50%;
}

.dropdown-menu {
  width: max-content;
  min-width: 230px;
  border: 1px dashed pink;
  background-color: rgba(0, 0, 0, 0.9);
  z-index: 1050;
}

.dropdown-header {
  display: flex;
  justify-content: center;
  color: pink;
}

.custom-dropdown {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.user-dropdown {
  margin-top: 2%;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "ArsenalSC", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: white;
}

section {
  border-bottom: 1px dashed pink;
  background-color: #0000007d;
}

.section btn {
  background-color: #00000042;
  border: 1px solid pink;
}

section .btn:hover {
  background-color: #4f5e4ac7;
  border: 1px solid pink;
}
.btn,
.btn-primary {
  font-family: "ArsenalSC", sans-serif;
  color: white;
  background-color: #221c1cd9;
  border: 1px solid #ea9ef066;
  white-space: normal;
  border-radius: 10px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
  padding: 8px 16px;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}
.btn a,
.btn-primary a {
  color: white;
  text-decoration: none;
}
.btn:hover,
.btn-primary:hover,
.btn:hover a,
.btn-primary:hover a {
  background-color: #ea9ef0;
  color: #221c1c;
  border-color: #ea9ef0;
  box-shadow: 0 6px 18px #ea9ef047;
  transform: translateY(-2px);
}
.btn:focus-visible,
.btn-primary:focus-visible {
  outline: 2px dashed #ea9ef0;
  outline-offset: 2px;
}
.btn:active,
.btn-primary:active {
  transform: translateY(0);
}

.login-container {
  margin-bottom: 0%;
}

.login-container .btn {
  width: 100%;
  background-color: #00000042;
  border: 1px solid pink;
}

.login-container .btn:hover {
  color: white;
  width: 100%;
  background-color: #4f5e4ac7;
  border: 1px solid pink;
}





.photos-feed-items {
  display: flex;
  flex-direction: row;
  width: 100%;
  border-bottom: 1px dashed pink;
}

.posts-feed-items {
  display: flex;
  flex-direction: column;
  width: 100%;
  border-bottom: 1px dashed pink;
}

.feed-item {
  width: 20%;
  background-color: #00000054;
}

.feed-item p {
  display: flex;
  flex-direction: row;
  justify-content: center;
  color: pink;
  text-transform: uppercase;
  text-shadow: #E6CDDA 2px 0 10px;
  font-size: 1rem;
  margin: 0% 0%;
}

.feed-item btn {
  background-color: #0000;
  border: 1px solid white;
}

.feed-item btn:hover {
  background-color: #4f5e4ac7;
  border: 1px solid white;
}

.feed-item-elements {
  display: flex;
  flex-direction: column;
}


.feed-item-detail {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: 5%;
}

.feed-intro,
.feed-section-photos,
.feed-section-posts,
.feed-section-personnages,
.feed-section-a-propos,
.feed-section-audiences {
  padding: 0% 0%;
  font-size: 1.5rem;
  font-family: "ArsenalSC-Fat", cursive;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.feed-intro {
  height: calc(100vh - var(--navbar-height, 76px));
  min-height: 480px;
  justify-content: flex-start;
  overflow: hidden;
}
/* Condense d'accueil : doit tenir dans le viewport sans deborder sur la section suivante */
.feed-intro > .d-flex { flex: 0 0 auto; }
.feed-intro > .d-flex h3 { font-size: 1.05em; margin: 0; }
.feed-intro > .d-flex .fa-house { display: none; }
.feed-intro-actors { gap: 12px; margin: 8px auto 4px; }
.feed-intro-actor-card { width: min(240px, 92%); padding: 8px 10px 10px; border-radius: 10px; }
.feed-intro-actor-card img { max-height: 84px; width: auto; object-fit: cover; }
.feed-intro-actor-name { font-size: 0.8em; }
.feed-intro-actor-teaser { font-size: 0.95em; min-height: 2.2em; }
/* liens de sommaire vers les autres sections */
.feed-condense-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 8px auto 0; padding: 8px 12px; width: fit-content; max-width: 96%; background-color: #221c1c8c; border: 1px dashed #ea9ef0; border-radius: 12px; box-shadow: 4px 4px 0px #ea9ef054; }
.feed-condense-nav a { font-family: "ArsenalSC", sans-serif; text-transform: uppercase; letter-spacing: 1px; font-size: 0.78em; color: #f8ede3; background-color: #170f0faa; border: 1px dashed #ea9ef07e; border-radius: 8px; padding: 6px 12px; text-decoration: none; white-space: nowrap; transition: transform 0.15s ease, box-shadow 0.15s ease, color 0.15s ease; }
.feed-condense-nav a i { color: #ea9ef0; margin-right: 5px; }
.feed-condense-nav a:hover { color: #ea9ef0; transform: translateY(-2px); box-shadow: 3px 3px 0px #ea9ef054; }
/* bureau plus compact dans le condense */
.feed-interrogation-label { font-size: 1.1em; margin-bottom: 4px; }
.feed-evidence-slot { width: min(520px, 94%); height: 240px; border-width: 7px; }
.feed-evidence-card { width: min(190px, 56%); top: 8px; }
.feed-evidence-card img { max-height: 168px; }

.feed-intro-actors {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  gap: 18px;
  flex-wrap: wrap;
  width: min(1100px, 100%);
  margin: 14px auto 6px;
}
.feed-actors-zone {
  width: min(1100px, 100%);
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.feed-interrogation-desk {
  margin-top: auto;
}
.feed-intro > .d-flex {
  flex: 0 0 auto;
}

.feed-intro-actor-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(300px, 92%);
  padding: 12px 14px 14px;
  text-decoration: none;
  color: #f8ede3;
  background-color: #221c1c8c;
  border: 1px dashed #ea9ef0;
  border-radius: 12px;
  box-shadow: 4px 4px 0px #ea9ef054;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.feed-intro-actor-card--laurence {
  width: min(340px, 92%);
  border-radius: 18px 4px 18px 4px;
  border-style: solid;
  background-image: repeating-linear-gradient(
    45deg,
    rgba(234, 158, 240, 0.07) 0px,
    rgba(234, 158, 240, 0.07) 2px,
    transparent 2px,
    transparent 8px
  );
}
.feed-intro-actor-card--laurence::before {
  content: "\2605\00a0 DOSSIER N\00b01";
  position: absolute;
  top: 6px;
  left: 10px;
  font-family: "ArsenalSC", sans-serif;
  font-size: 0.62em;
  letter-spacing: 0.08em;
  color: #ea9ef0;
}
.feed-intro-actor-card--laurence img {
  height: 200px;
  border-radius: 14px 2px 14px 2px;
}
.feed-intro-actor-card--avril {
  width: min(280px, 92%);
  border-radius: 50px 50px 12px 12px;
  border-style: dashed;
  transform: rotate(-1.5deg);
  background-color: rgba(34, 28, 28, 0.62);
}
.feed-intro-actor-card--avril::before {
  content: "\f1ea";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  top: 8px;
  right: 12px;
  font-size: 1.1em;
  color: #ea9ef0;
}
.feed-intro-actor-card--avril img {
  height: 150px;
  border-radius: 45px;
  object-position: center 20%;
}
.feed-intro-actor-card--avril:hover {
  transform: rotate(0deg) translateY(-4px) scale(1.02);
}
.feed-intro-actor-card--marlene {
  width: min(320px, 92%);
  border-radius: 4px 26px 4px 26px;
  border-color: #ea9ef0;
  border-width: 2px;
  background-image: radial-gradient(
    circle at 15% 15%,
    rgba(234, 158, 240, 0.16) 0%,
    transparent 42%
  );
  box-shadow: 6px 6px 0px #ea9ef03d;
}
.feed-intro-actor-card--marlene::before {
  content: "\2665";
  position: absolute;
  bottom: 8px;
  right: 12px;
  font-size: 1.2em;
  color: #ea9ef0;
  opacity: 0.85;
}
.feed-intro-actor-card--marlene img {
  height: 185px;
  border-radius: 4px 24px 4px 24px;
}
.feed-intro-actor-card--marlene:hover {
  transform: translateY(-4px) rotate(1deg) scale(1.02);
}

.feed-intro-actor-card:hover,
.feed-intro-actor-card:focus {
  transform: translateY(-4px) scale(1.02);
  border-color: #f8ede3;
  box-shadow: 6px 8px 0px #ea9ef08c;
}

.feed-intro-actor-card img {
  width: 100%;
  height: 170px;
  object-fit: cover;
  object-position: top;
  border-radius: 8px;
  border: 1px solid #ea9ef066;
  margin-bottom: 10px;
  transition: transform 0.25s ease;
}

.feed-intro-actor-card:hover img,
.feed-intro-actor-card:focus img {
  transform: scale(1.04);
}

.feed-intro-actor-name {
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  font-size: 0.95em;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #ea9ef0;
  margin-bottom: 6px;
  text-align: center;
}

.feed-intro-actor-teaser {
  font-family: "Caveat-large", "Caveat", cursive;
  font-size: 0.92em;
  color: #f8ede3;
  text-align: center;
  min-height: 2.6em;
}

.feed-intro-actor-card--laurence::after,
.feed-intro-actor-card--avril::after,
.feed-intro-actor-card--marlene::after {
  content: "" !important;
  display: none;
  opacity: 0;
}
.feed-intro-actor-card::after {
  content: "\2192 Ouvrir le dossier";
  font-family: "ArsenalSC", sans-serif;
  font-size: 0.72em;
  color: #ea9ef0;
  margin-top: 8px;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.feed-intro-actor-card:hover::after,
.feed-intro-actor-card:focus::after {
  opacity: 1;
}

@media (max-width: 700px) {
  .feed-intro-actors {
    flex-direction: column;
    align-items: center;
  }
}

.feed-intro h3 {
  font-family: "Caveat-large", cursive;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: white;
}

.feed-section-photos {
  height: 100vh;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.75) 20%, rgba(0, 0, 0, 0) 100%), url("../../vendors/img/les_petits_meurtres_saison_2_feed_section_photos.1eaf76212473.jpg");
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
}

.feed-section-posts {
  height: 100vh;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.75) 20%, rgba(0, 0, 0, 0) 100%), url("../../vendors/img/les_petits_meurtres_saison_2_feed_section_posts.834d5d94a014.jpg");
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
}

.feed-section-personnages {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.75) 20%, rgba(0, 0, 0, 0) 100%), url("../../vendors/img/les_petits_meurtres_saison_2_feed_section_personnages.cf3ba937f664.jpg");
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
}

.feed-section-audiences {
  height: auto;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.75) 20%, rgba(0, 0, 0, 0) 100%), url("../../vendors/img/les_petits_meurtres_saison_2_feed_section_audiences.24e43ea489fc.jpg");
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
}


.feed-smileys {
  color: pink;
  font-size: 1.5rem;
  margin-right: 1%;
}

.feed-button-zone {
  display: flex;
  flex-direction: row;
  padding: 1% 1%;
}

.feed-button-zone a{
  text-decoration: none;
}

feed-button-zone a:hover {
  color: pink;
}

.photo_miniature {
  width: 100%;
  height: 100%;
  max-height: 130px;
  border-radius: 15px;
  padding: 1% 1%;
}

.home-elements {
  color: white;
}
.home-comedie-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.footer-contact-admin svg {
  width: 22px;
  height: 22px;
}
.home-signin-button {
  white-space: normal;
}
.footer-contact-admin {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  text-decoration: none;
}
.footer-contact-admin svg {
  width: 18px;
  height: 18px;
}

.home-elements h2 {
  font-size: 2rem;
}

.home-elements-head {
  margin-top: 1%;
  margin-left: 5%;
}

.home-elements-middle {
  position: relative;
  margin: 1% 0% 0% 5%;
  padding: 1.5% 2% 1% 2%;
  max-width: 75%;
  width: fit-content;
  background-color: #221c1c8c;
  border: 1px dashed #ea9ef0;
  border-radius: 15px;
  box-shadow: 4px 4px 0px #ea9ef054;
}
.home-elements-middle blockquote {
  margin: 0;
}
.home-elements-middle p {
  margin: 0;
  font-size: 0.95rem;
}
.home-elements-middle cite {
  display: block;
  margin-top: 0.5%;
  text-align: right;
  font-size: 0.85rem;
  color: #ea9ef0;
}
.detective-magnifier {
  position: absolute;
  top: -16px;
  left: -16px;
  color: #ea9ef0;
  background-color: #221c1c;
  border: 1px dashed #ea9ef0;
  border-radius: 50%;
  padding: 4px;
  transform: rotate(-20deg);
  line-height: 0;
}
.detective-magnifier svg {
  width: 22px;
  height: 22px;
}













/* PERSONNAGES */
.personnages .section_container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.personnages_article {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  text-align: center;
  width: 80%;
}

.personnage_container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  width: 50%;
  font-size: 0.9em;
}


.personnage_container h4 {
  color: pink;
  text-align: center;
  text-shadow: #85586F 2px 0 10px;
}

.personnage_description p {
  text-align: left;
  font-size: 0.9rem;
  font-family: "Ubuntu", sans-serif;
  text-shadow: #85586F 2px 0 10px;
}

.personnage_container img {
  width: 200px;
  height: 150px;
  transition-duration: 0.7s;
}

.personnage_container img:hover{
  width: 300px;
  height: 225px;
  transition-duration: 0.7s;
}

.personnage_container figcaption{
  font-size: 1rem;
  font-family: "Ubuntu", sans-serif;
}

.personnage_description {
  margin: 0 10px 0 10px;
  font-size: 1.3em;
  font-family: "Ubuntu", sans-serif;
}

/* A PROPOS */
.a_propos_article {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.a_propos_container {
  padding: 0 2% 3% 2%;
  font-family: 'Ubuntu', sans-serif;
  font-size: 0.9rem;
  text-align: left;
}

.a_propos_container h4 {
  font-size: 1.3rem;
  font-family: "ArsenalSC-Fat", sans-serif;
  text-shadow: #85586F 2px 0 10px;
  text-transform: uppercase;
}

.a_propos_container p {
  font-family: 'Ubuntu', sans-serif;
  font-size: 1rem;
  text-align: left;
  padding: 0 0;
  margin: 0 0;
}

/* AUDIENCES */
.table {
  color: pink;
  margin-bottom: 5%;
  font-size: 1rem;
}

.audiences .table th,
.audiences .table tr,
.audiences .table td {
  color: #F8EDE3;
}

.audiences .table .topblog_tr:hover,
.audiences .table .topblog_tr:focus {
  background-color: #85586F;
}

footer {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  color: white;
  background-color: black;
  z-index: 1030;
}
body {
  padding-bottom: 90px;
}


footer .d-flex {
    flex: 1;
}

footer p {
  font-family: "ArsenalSC-Fat", sans-serif;
  font-size: 1rem;
  margin: 0;
}
.footer-row {
  flex-direction: column;
  gap: 6px;
  flex-wrap: wrap;
  padding: 10px 0 14px;
}
.footer-socials {
  gap: 10px;
  align-items: center;
}

footer a {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0;
}

.footer-container {
  display: flex;
  flex-direction: column;
}


.social-icons img {
    width: 20px;
    height: 20px;
    object-fit: contain; /* Ensures the image is scaled to fit within the specified dimensions */
}
footer .social-icons,
footer .footer-contact-admin {
    padding-bottom: 10px;
}


@media (max-width: 991.98px) {
  .user-dropdown {
    border-top: 1px solid pink;
    padding-top: 8px;
  }
  #navbar-nav {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 8px 0;
  }
  .navbar-nav-left {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px 0;
  }
  .navbar-nav-left .nav-link,
  .navbar-nav-left .custom-dropdown {
    width: 100%;
  }
  .navbar-nav .navbar-nav-right {
    margin-left: 0;
    margin-top: 8px;
  }
  .navbar-nav-right .nav-item.dropdown-toggle {
    margin-top: 0;
  }
  #navbar-nav .nav-link,
  #navbar-nav .custom-dropdown {
    width: 100%;
  }
  #navbar-nav .nav-cta {    margin-left: 0;  }
  .navbar-cta-button {
    width: 100%;
  }
}


@media (max-width: 576px) {



  .feed-item {
    width: 100%;
    background-color: #00000054;
  }

  .feed-item-elements {
    display: flex;
    flex-direction: column;
  }

  .photo_miniature {
    width: 100%;
    height: 100%;
    border-radius: 15px;
    padding: 1% 1%;
    max-height: 260px;
  }



  .personnages_article {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: baseline;
    flex-wrap: nowrap;
  }

  .personnage_container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: baseline;
    width: 100%;
    font-size: 0.9em;
  }

  .personnage_container h4 {
    text-align: center;
  }

  .personnage_container img{
    width: 200px;
    height: auto;
    border-radius: 15px;
  }

  .personnage_container img:hover {
    width: 300px;
    transition-duration: 0.7s;
  }

  /* AUDIENCES */
  .table {
    color: pink;
    margin-bottom: 5%;
    font-size: 17px
  }
  .audiences {
    background-image: linear-gradient(rgba(0,0,0,0.8), rgba(0, 0, 0, 0.8)), url("../../vendors/img/audiences.65bc7659e362.jpg");
    padding-bottom: 3%;
  }

  .audiences .table th,
  .audiences .table tr,
  .audiences .table td {
    color: #F8EDE3;
    font-size: 0.9em;
    padding: 0;
  }
}
.feed-interrogation-table {  overflow: hidden;  width: 100%;  margin: 0;}
/* Effet "policier qui jette les photos une a une sur la table" */
.feed-interrogation-desk {  margin-top: auto;  display: flex;  flex-direction: column;  align-items: center;}
/* Le bureau suit immediatement le condense : pas d'espace mort, on soude nav et bureau */
.feed-interrogation-desk { margin-top: 10px; }
.feed-interrogation-label {  display: flex;  align-items: center;  gap: 10px;  font-family: "Caveat-large", "Caveat", cursive;  font-size: 1.35em;  color: #ea9ef0;  margin-bottom: 8px;}
.feed-interrogation-label .fa-hand-point-down {  animation: interrogation-tap 1.6s ease-in-out infinite;  display: inline-block;}
@keyframes interrogation-tap {  0%, 100% { transform: translateY(0); }  50% { transform: translateY(6px); } }
.feed-evidence-slot {  position: relative;  width: min(680px, 96%);  height: 380px;  margin: 0 auto;  background: linear-gradient(180deg, #2a3d33 0%, #22332a 60%, #1c2a22 100%);  border: 10px solid #5b3a24;  border-radius: 6px;  box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.55), 0 14px 30px rgba(0, 0, 0, 0.6);  overflow: hidden;}
/* effet bois du bureau : veines discretes */
.feed-evidence-slot::after {  content: "";  position: absolute;  inset: 0;  background: repeating-linear-gradient(95deg, transparent 0 46px, rgba(0,0,0,0.06) 46px 48px), repeating-linear-gradient(0deg, transparent 0 120px, rgba(255,255,255,0.02) 120px 122px);  pointer-events: none;  z-index: 0;}
.feed-desk-stamp {  position: absolute;  bottom: 14px;  right: 18px;  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;  font-size: 0.8em;  letter-spacing: 2px;  text-transform: uppercase;  color: #c0392b;  border: 2px solid #c0392b;  border-radius: 4px;  padding: 4px 10px;  transform: rotate(-6deg);  opacity: 0.75;  z-index: 1;  pointer-events: none;}

.feed-evidence-pile {  position: absolute;  inset: 0;  pointer-events: none;  z-index: 4;}
.feed-evidence-pile .feed-evidence-card {  pointer-events: auto;}
.feed-evidence-deck .feed-evidence-card {  display: none;}
/* sans JS : premiere photo affichee en statique */
/* BUGFIX : le fallback statique doit rester SOUS la pile (z-index 1)
   sinon la 1ere photo masque toutes les photos jetees par la suite. */
.feed-evidence-deck .feed-evidence-card:first-child {  display: block;  position: absolute;  top: 12px;  left: 50%;  transform: translate(-50%, 0) rotate(-6deg);  z-index: 1;}
/* bureau de Marlene : papier journal, machine a ecrire, bonbonne Treets */
.feed-evidence-card {  position: absolute;  top: 12px;  left: 50%;  width: min(240px, 60%);  z-index: 5;}
.feed-evidence-card img {  width: 100%;  height: auto;  max-height: 240px;  object-fit: cover;  border-radius: 6px;  border: 1px dashed #ea9ef0;  box-shadow: 6px 8px 18px rgba(0, 0, 0, 0.6);  background-color: #170f0f;}
/* etat "jetee sur la table" */
.feed-evidence-card.evidence-toss {  animation: evidence-toss 0.85s cubic-bezier(0.3, 0.7, 0.4, 1.15) forwards;}
@keyframes evidence-toss {
  0% {    opacity: 0;    transform: translate(-50%, -190px) rotate(calc(var(--toss-spin, -14deg) * -1.4)) scale(0.9);  }
  55% {    opacity: 1;  }
  70% {    transform: translate(-50%, 6px) rotate(var(--toss-spin, -14deg));  }
  85% {    transform: translate(-50%, -4px) rotate(calc(var(--toss-spin, -14deg) * 0.7));  }
  100% {    transform: translate(calc(-50% + var(--toss-x, 0px)), 0) rotate(var(--toss-spin, -14deg));  }
}
.feed-evidence-card.evidence-rest {  transform: translate(calc(-50% + var(--toss-x, 0px)), 0) rotate(var(--toss-spin, -14deg));}
@media (prefers-reduced-motion: reduce) {  .feed-evidence-card.evidence-toss {    animation: none;  } }
.feed-highlight {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 2% auto;
  width: 100%;
}
.feed-encadre {
  margin: 1% 0% 1% 0%;
  max-width: 75%;
}
.feed-encadre-photos-group {
  justify-content: center;
  gap: 12px;
  margin-top: 1%;
}
.feed-encadre-photo-item img {
  height: 80px;
  width: auto;
  border-radius: 8px;
  border: 1px dashed #ea9ef0;
  transform: rotate(-2deg);
  box-shadow: 4px 4px 0px #ea9ef054;
}
.feed-encadre-photo-item:nth-child(2) img { transform: rotate(2deg); }
.feed-encadre-photo-item:nth-child(3) img { transform: rotate(-1deg); }
.feed-encadre-posts-group {
  justify-content: center;
  gap: 16px;
  margin-top: 1.5%;
  flex-wrap: wrap;
}
.feed-case-file {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 220px;
  text-decoration: none;
  color: #f4e9d8;
  background-color: #d9c39a;
  background-image: repeating-linear-gradient(
    0deg,
    rgba(93, 66, 38, 0.05) 0px,
    rgba(93, 66, 38, 0.05) 1px,
    transparent 1px,
    transparent 6px
  );
  border: 1px solid #6d4226;
  border-radius: 2px 2px 6px 6px;
  box-shadow: 4px 4px 0px rgba(34, 28, 28, 0.55);
  overflow: hidden;
  font-family: "Courier New", "ArsenalSC", monospace;
  transform: rotate(-1deg);
  transition: transform 0.2s ease;
}
.feed-case-file:nth-child(2) { transform: rotate(1deg); }
.feed-case-file:nth-child(3) { transform: rotate(-2deg); }
.feed-case-file:hover {
  transform: rotate(0deg) scale(1.05);
  z-index: 2;
}
.feed-case-file::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 10px;
  background: repeating-linear-gradient(
    90deg,
    #6d4226 0px,
    #6d4226 14px,
    transparent 14px,
    transparent 18px
  );
  border-bottom: 1px solid #6d4226;
}
.feed-case-file-tab {
  position: absolute;
  top: 10px;
  right: 0;
  background-color: #6d4226;
  color: #f4e9d8;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-left: 1px solid #6d4226;
  border-bottom: 1px solid #6d4226;
  box-shadow: -2px 2px 0px rgba(34, 28, 28, 0.4);
}
.feed-case-file-body {
  display: flex;
  flex-direction: column;
  padding: 22px 10px 10px 10px;
  gap: 6px;
}
.feed-case-file-body img {
  height: 80px;
  width: 100%;
  object-fit: cover;
  border-radius: 2px;
  border: 1px solid #6d4226;
  filter: sepia(0.45) contrast(0.95);
}
.feed-case-file-text {
  display: flex;
  flex-direction: column;
  font-size: 0.8rem;
  line-height: 1.25;
  color: #3d2c1a;
}
.feed-case-file-text em {
  color: #6d4226;
}
.feed-case-file-text strong {
  border-bottom: 1px dashed #6d4226;
}
.user-dropdown-profile {
  display: flex;
  justify-content: center;
  padding: 8px 0 4px 0;
}
.navbar-profile-in-menu {
  width: 50px;
  height: 50px;
  border-radius: 50%;
}
.navbar-default-profile-badge {
  width: 50px;
  height: 50px;
  display: block;
  margin: 0 auto;
}

.feed-actors-spotlight {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
  gap: 28px;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1100px;
  margin: 2.5% auto;
}

.feed-actor-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 340px;
  max-width: 480px;
  padding: 10px 14px;
  background-color: #221c1c8c;
  border: 1px dashed #ea9ef0;
  border-radius: 12px;
  box-shadow: 4px 4px 0px #ea9ef054;
}

.feed-actor-card::before,
.feed-actor-card::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  border: 2px solid #ea9ef0;
}

.feed-actor-card::before {
  top: -1px;
  left: -1px;
  border-right: none;
  border-bottom: none;
  border-top-left-radius: 12px;
}

.feed-actor-card::after {
  bottom: -1px;
  right: -1px;
  border-left: none;
  border-top: none;
  border-bottom-right-radius: 12px;
}

.feed-actor-card-header {
  display: flex;
  align-items: center;
  gap: 10px;
}

.feed-actor-card-header .fa-solid {
  color: #ea9ef0;
  font-size: 1em;
}

.feed-actor-card-header h4 {
  margin: 0;
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  color: #ea9ef0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 0.9em;
}

.feed-actor-card-news {
  margin: 0;
  color: #f8ede3;
  font-family: "ArsenalSC", sans-serif;
  font-size: 0.78em;
  line-height: 1.3;
}

.feed-actor-card-role {
  margin: 0;
  color: #f8ede3;
  font-family: "ArsenalSC", sans-serif;
  font-size: 0.74em;
  font-style: italic;
  line-height: 1.25;
  border-top: 1px dashed #ea9ef06e;
  padding-top: 5px;
}

.feed-audiences-row-glow {
  background-color: #ea9ef033 !important;
  box-shadow: inset 0 0 18px #ea9ef05c, 4px 4px 0px #ea9ef054;
  animation: feed-audiences-row-glow 1.6s ease-in-out;
}
.feed-audiences-row-glow td {
  color: #ea9ef0;
  text-shadow: 0 0 8px #ea9ef066;
}

@keyframes feed-audiences-row-glow {
  0% { background-color: transparent; box-shadow: none; }
  40% { background-color: #ea9ef033; box-shadow: inset 0 0 18px #ea9ef05c; }
  100% { background-color: transparent; box-shadow: none; }
}

.feed-audiences-row-scan {
  background-color: #ea9ef01f;
  box-shadow: inset 0 0 12px #ea9ef042;
}

.feed-audiences-topcallout {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.92);
  z-index: 1080;
  width: fit-content;
  max-width: min(640px, 92vw);
  padding: 16px 24px;
  background-color: #221c1cf7;
  border: 1px dashed #ea9ef0;
  border-radius: 14px;
  box-shadow: 4px 4px 0px #ea9ef054, 0 0 30px #ea9ef044;
  color: #f8ede3;
  font-family: "ArsenalSC", sans-serif;
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.25, 0.8, 0.35, 1.15);
}
.feed-audiences-topcallout::before {
  content: "DOSSIER D'AUDIENCE";
  position: absolute;
  top: -13px;
  left: 22px;
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  font-size: 0.68em;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #221c1c;
  background-color: #ea9ef0;
  border-radius: 5px;
  padding: 3px 10px;
  transform: rotate(-2deg);
  box-shadow: 2px 2px 0px #ea9ef054;
}
.feed-audiences-topcallout.visible {
  opacity: 1;
}

.feed-audiences-topcallout strong {
  color: #ea9ef0;
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  text-transform: uppercase;
}

.site-scroll-nav {
  position: fixed;
  right: 14px;
  bottom: 24px;
  z-index: 1070;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.scroll-nav-btn {
  width: 42px;
  height: 42px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #221c1c8c;
  border: 1px dashed #ea9ef0;
  border-radius: 10px;
  box-shadow: 3px 3px 0px #ea9ef054;
  cursor: pointer;
  transition: transform 0.15s ease, background-color 0.2s ease;
}

.scroll-nav-btn:hover {
  background-color: #221c1cf2;
  transform: translateY(-2px);
}

.scroll-nav-btn:active {
  transform: translateY(0);
}

.scroll-nav-btn svg {
  width: 24px;
  height: 24px;
}

@media (max-width: 820px) {
  .site-scroll-nav {
    right: 8px;
    bottom: 16px;
    gap: 6px;
  }

  .scroll-nav-btn {
    width: 36px;
    height: 36px;
  }

  .scroll-nav-btn svg {
    width: 20px;
    height: 20px;
  }
}

/* ===== POST DETAIL ===== */
.post-detail-section {
  padding-bottom: 2%;
}

.post-detail-header h2 {
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  color: #ea9ef0;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 1.4em;
  margin-top: 4px;
}

.post-detail-card {
  margin: 1% auto;
  padding: 18px 24px;
  width: min(1000px, 94%);
  background-color: #221c1c8c;
  border: 1px dashed #ea9ef0;
  border-radius: 14px;
  box-shadow: 4px 4px 0px #ea9ef054;
}

.post-detail-title {
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  color: #ea9ef0;
  font-size: 1.5em;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.post-detail-meta {
  border-bottom: 1px dashed #ea9ef06e;
  padding-bottom: 10px;
  gap: 8px 16px;
}

.post-detail-meta-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-family: "ArsenalSC", sans-serif;
  font-size: 0.85em;
  color: #f8ede3;
}

.post-detail-meta-info i {
  color: #ea9ef0;
  margin-right: 5px;
}

.post-detail-body {
  gap: 20px;
  margin-top: 12px;
  align-items: flex-start;
}

.post-detail-text {
  flex: 1 1 320px;
  font-family: "ArsenalSC", sans-serif;
  font-size: 0.95em;
  line-height: 1.45;
  color: #f8ede3;
}

.post-detail-figure {
  flex: 0 1 340px;
  margin: 0;
  text-align: center;
}

.post-detail-figure img {
  width: 100%;
  max-height: 260px;
  object-fit: cover;
  border-radius: 10px;
  border: 1px dashed #ea9ef0;
}

.post-detail-figure figcaption {
  font-family: "ArsenalSC", sans-serif;
  font-size: 0.75em;
  font-style: italic;
  color: #f8ede3;
  margin-top: 6px;
}

.post-detail-quote {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 14px 0 6px;
  padding: 10px 14px;
  background-color: #ea9ef00f;
  border-left: 3px solid #ea9ef0;
  border-radius: 0 10px 10px 0;
}

.post-detail-quote .detective-magnifier {
  color: #ea9ef0;
  font-size: 1.3em;
}

.post-detail-quote blockquote {
  margin: 0;
}

.post-detail-quote-text {
  font-family: "Caveat-large", "Caveat", cursive;
  font-size: 1.05em;
  color: #f8ede3;
  margin: 0;
}

.post-detail-quote-author {
  font-family: "ArsenalSC", sans-serif;
  font-size: 0.78em;
  color: #ea9ef0;
  margin: 2px 0 0;
}

.post-detail-actions {
  margin-top: 10px;
}

/* ===== PHOTOS GRID ===== */
.photos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 22px;
  width: min(1400px, 100%);
  margin: 1% auto;
  align-items: stretch;
}

.photos-grid-card {
  display: flex;
  flex-direction: column;
  background-color: #221c1cf2;
  border: 1px solid #ea9ef055;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
  padding: 12px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.photos-grid-card:hover {
  transform: translateY(-6px);
  border-color: #ea9ef0;
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.5), 0 0 0 1px #ea9ef066;
}

.photos-grid-figure {
  margin: 0 0 10px;
  position: relative;
  overflow: hidden;
  border-radius: 10px;
}

.photos-grid-figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(34, 28, 28, 0.55) 100%);
  pointer-events: none;
}

.photos-grid-figure img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 10px;
  transition: transform 0.4s ease;
}

.photos-grid-card:hover .photos-grid-figure img {
  transform: scale(1.05);
}

.photos-grid-title {
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  color: #ea9ef0;
  text-transform: uppercase;
  font-size: 0.95em;
  margin-bottom: 4px;
}

.photos-grid-meta {
  font-family: "ArsenalSC", sans-serif;
  font-size: 0.8em;
  color: #f8ede3;
  margin-bottom: 2px;
}

.photos-grid-quote {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 10px 0;
  padding: 8px 12px;
  background-color: #ea9ef00f;
  border-left: 3px solid #ea9ef0;
  border-radius: 0 10px 10px 0;
}

.photos-grid-quote .detective-magnifier {
  color: #ea9ef0;
  font-size: 1.1em;
}

.photos-grid-quote blockquote {
  margin: 0;
}

.photos-grid-quote-text {
  font-family: "Caveat-large", "Caveat", cursive;
  font-size: 0.95em;
  color: #f8ede3;
  margin: 0;
}

.photos-grid-quote-author {
  font-family: "ArsenalSC", sans-serif;
  font-size: 0.72em;
  color: #ea9ef0;
  margin: 2px 0 0;
}

.photos-grid-btn {
  margin-top: auto;
}

.posts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 22px;
  width: min(1400px, 100%);
  margin: 1% auto;
  align-items: stretch;
}

.posts-grid-card {
  display: flex;
  flex-direction: column;
  background-color: #221c1cf2;
  border: 1px solid #ea9ef055;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
  padding: 12px;
  position: relative;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.posts-grid-card::before {
  content: "\f15c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  top: 18px;
  right: 16px;
  font-size: 1.2em;
  color: #ea9ef0;
  background-color: #221c1cf2;
  border: 1px dashed #ea9ef0;
  border-radius: 8px;
  padding: 6px 8px;
  z-index: 2;
}

.posts-grid-card:hover {
  transform: translateY(-6px);
  border-color: #ea9ef0;
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.5), 0 0 0 1px #ea9ef066;
}

.posts-grid-figure {
  margin: 0 0 10px;
  position: relative;
  overflow: hidden;
  border-radius: 10px;
}

.posts-grid-figure img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 10px;
  transition: transform 0.4s ease;
}

.posts-grid-card:hover .posts-grid-figure img {
  transform: scale(1.05);
}

.posts-grid-figure figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 18px 12px 8px;
  font-family: "ArsenalSC", sans-serif;
  font-size: 0.75em;
  font-style: italic;
  color: #f8ede3;
  background: linear-gradient(180deg, transparent, rgba(34, 28, 28, 0.85));
}

.posts-grid-title {
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  color: #ea9ef0;
  text-transform: uppercase;
  font-size: 1em;
  margin-bottom: 4px;
}

.posts-grid-meta {
  font-family: "ArsenalSC", sans-serif;
  font-size: 0.8em;
  color: #f8ede3;
  margin-bottom: 2px;
}

.posts-grid-meta i {
  color: #ea9ef0;
  margin-right: 4px;
}

.posts-grid-quote {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 10px 0;
  padding: 8px 12px;
  background-color: #ea9ef00f;
  border-left: 3px solid #ea9ef0;
  border-radius: 0 10px 10px 0;
}

.posts-grid-quote .detective-magnifier {
  color: #ea9ef0;
  font-size: 1.1em;
}

.posts-grid-quote blockquote {
  margin: 0;
}

.posts-grid-quote-text {
  font-family: "Caveat-large", "Caveat", cursive;
  font-size: 0.95em;
  color: #f8ede3;
  margin: 0;
}

.posts-grid-quote-author {
  font-family: "ArsenalSC", sans-serif;
  font-size: 0.72em;
  color: #ea9ef0;
  margin: 2px 0 0;
}

@media (max-width: 700px) {
  .photos-grid,
  .posts-grid {
    grid-template-columns: 1fr;
  }

  .post-detail-body {
    flex-direction: column-reverse;
  }

  .post-detail-figure {
    flex-basis: auto;
  }
}

/* ===== ACTION PAGES (forms: add/update/delete/follow/auth) ===== */
.action-page {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 1% 0 3%;
}

.action-page h2 {
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  color: #ea9ef0;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 1.35em;
  margin-top: 4px;
  text-align: center;
}

.action-card {
  margin: 1% auto;
  padding: 18px 24px;
  width: min(760px, 94%);
  background-color: #221c1c8c;
  border: 1px dashed #ea9ef0;
  border-radius: 14px;
  box-shadow: 4px 4px 0px #ea9ef054;
}

.action-card form {
  width: 100%;
}

.action-card label {
  font-family: "ArsenalSC", sans-serif;
  color: #ea9ef0;
  text-transform: uppercase;
  font-size: 0.8em;
  letter-spacing: 1px;
  margin-top: 10px;
  margin-bottom: 4px;
}

.action-card input[type="text"],
.action-card input[type="email"],
.action-card input[type="password"],
.action-card textarea,
.action-card select {
  width: 100%;
  background-color: #170f0faa;
  border: 1px dashed #ea9ef07e;
  border-radius: 8px;
  color: #f8ede3;
  font-family: "ArsenalSC", sans-serif;
  padding: 8px 10px;
  outline: none;
}

.action-card input:focus,
.action-card textarea:focus,
.action-card select:focus {
  border-color: #ea9ef0;
  box-shadow: 0 0 6px #ea9ef066;
}

.action-card input[type="file"] {
  margin-top: 10px;
  color: #f8ede3;
  font-family: "ArsenalSC", sans-serif;
}

.action-card p {
  font-family: "ArsenalSC", sans-serif;
  color: #f8ede3;
}

.action-card .button_container,

.action-card .btn + .btn,
.action-card form + form {
  margin-top: 10px;
}

.action-encart {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 auto 14px;
  padding: 10px 16px;
  width: fit-content;
  max-width: min(760px, 94%);
  background-color: #ea9ef00f;
  border-left: 3px solid #ea9ef0;
  border-radius: 0 12px 12px 0;
}

.action-encart .encart-icon {
  color: #ea9ef0;
  font-size: 1.25em;
}

.action-encart .encart-text {
  font-family: "Caveat-large", "Caveat", cursive;
  font-size: 1.1em;
  color: #f8ede3;
  margin: 0;
}

.action-actions {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.action-card h3 {
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  color: #ea9ef0;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-size: 1em;
  margin-top: 14px;
  margin-bottom: 4px;
}

.action-card-item-title {
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  color: #ea9ef0;
  font-size: 1.1em;
  letter-spacing: 1px;
  text-align: center;
}

.photo-delete-preview {
  max-width: 40%;
  border-radius: 10px;
  border: 1px dashed #ea9ef0;
  box-shadow: 4px 4px 0px #ea9ef054;
  margin-bottom: 12px;
}

footer .social-icons,
footer .footer-mistral,
footer .footer-contact-admin {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Bouton d'action du contenu de la page /home/ (indépendant de la navbar) */
.home-content-cta {
  font-family: "ArsenalSC", sans-serif;
  color: white;
  background-color: #221c1c8c;
  border: 1px dashed #ea9ef0;
  white-space: normal;
}
.home-content-cta a {
  color: white;
  text-decoration: none;
}
.home-content-cta:hover {
  background-color: #ea9ef0;
}
.home-content-cta:hover a {
  color: white;
}
.home-comedie-row {
  justify-content: space-between;
  margin-top: 10px;
}
.home-comedie-row .home-comedie-cta-zone {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
}

/* Portraits cerclés joints aux encarts de citation */
.quote-portrait {
  flex: none;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px dashed #ea9ef0;
  box-shadow: 2px 2px 0px #ea9ef054;
}
.action-encart .quote-portrait {
  width: 40px;
  height: 40px;
}
.quote-source {
  font-family: "ArsenalSC", sans-serif;
  font-size: 0.72em;
  color: #ea9ef0;
  margin: 2px 0 0;
}

/* Info-bulle audiences : image de l'épisode + source */
.feed-audiences-callout-flex {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 14px;
  text-align: left;
}
.feed-audiences-callout-img {
  flex: none;
  width: 150px;
  height: 100px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px dashed #ea9ef0;
  box-shadow: 3px 3px 0px #ea9ef054;
}
.feed-audiences-callout-body {
  flex: 1 1 auto;
  min-width: 0;
}
.feed-audiences-callout-source {
  font-size: 0.72em;
  color: #ea9ef0;
  font-family: "ArsenalSC", sans-serif;
}

/* Footer : boutons sociaux #ea9ef0 par défaut, blanc au survol */
footer .social-icons img,
footer .footer-mistral svg,
footer .footer-contact-admin svg {
  filter: invert(79%) sepia(36%) saturate(1378%) hue-rotate(216deg) brightness(96%) contrast(97%);
  transition: filter 0.25s ease;
}
footer .social-icons:hover img,
footer .footer-mistral:hover svg,
footer .footer-contact-admin:hover svg {
  filter: invert(100%) sepia(0%) saturate(0%) brightness(100%) contrast(100%);
}

.photo-detail-card {
  margin: 1% auto;
  padding: 18px 24px;
  width: min(880px, 94%);
  background-color: #221c1c8c;
  border: 1px dashed #ea9ef0;
  border-radius: 14px;
  box-shadow: 4px 4px 0px #ea9ef054;
}

.photo-detail-figure {
  margin: 0 0 14px;
  text-align: center;
}

.photo-detail-figure img {
  width: 100%;
  max-height: 420px;
  object-fit: contain;
  border-radius: 10px;
  border: 1px dashed #ea9ef0;
}

.photo-detail-figure figcaption {
  font-family: "ArsenalSC", sans-serif;
  font-size: 0.8em;
  font-style: italic;
  color: #f8ede3;
  margin-top: 8px;
}

.photo-detail-meta {
  gap: 8px 16px;
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px dashed #ea9ef06e;
}

.photo-detail-title {
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  font-size: 1.2em;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #ea9ef0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.photo-detail-title i {
  color: #ea9ef0;
}

.photo-detail-actions {
  margin-top: 12px;
  gap: 8px;
}

/* ===== PHOTOS : PIECES A CONVICTION ===== */
.evidence-card {
  border: 1px solid #ea9ef055;
}
.evidence-stamp {
  position: absolute;
  top: 10px;
  left: -8px;
  z-index: 3;
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  font-size: 0.72em;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #ea9ef0;
  background-color: #221c1cf2;
  border: 1px dashed #ea9ef0;
  border-radius: 6px;
  padding: 5px 10px;
  transform: rotate(-8deg);
  box-shadow: 3px 3px 0px #ea9ef054;
}
.evidence-card:hover {
  transform: translateY(-6px) rotate(0.6deg);
}

/* ===== CITATIONS : TAILLES PLUS GENEREUSES (lisibilite) ===== */
.post-detail-quote-text {
  font-size: 1.3em;
}
.post-detail-quote-author {
  font-size: 0.9em;
}
.photos-grid-quote-text {
  font-size: 1.25em;
}
.posts-grid-quote-text {
  font-size: 1.25em;
}
.photos-grid-quote-author,
.posts-grid-quote-author {
  font-size: 0.85em;
}
.action-encart .encart-text {
  font-size: 1.3em;
}
.feed-intro-actor-teaser {
  font-size: 1.15em;
}

/* ===== PHOTOS GRID : APPARITION "PROJETEE" UNE PAR UNE ===== */
.photos-grid .evidence-card {
  opacity: 0;
  animation: evidence-land 0.7s cubic-bezier(0.25, 0.8, 0.35, 1.1) forwards;
  animation-delay: calc(var(--card-index, 0) * 0.45s);
}
.photos-grid .evidence-card:nth-child(1) { --card-index: 0; }
.photos-grid .evidence-card:nth-child(2) { --card-index: 1; }
.photos-grid .evidence-card:nth-child(3) { --card-index: 2; }
.photos-grid .evidence-card:nth-child(4) { --card-index: 3; }
.photos-grid .evidence-card:nth-child(5) { --card-index: 4; }
.photos-grid .evidence-card:nth-child(6) { --card-index: 5; }
.photos-grid .evidence-card:nth-child(7) { --card-index: 6; }
.photos-grid .evidence-card:nth-child(8) { --card-index: 7; }
.photos-grid .evidence-card:nth-child(n+9) { --card-index: 8; }
@keyframes evidence-land {
  0% {
    opacity: 0;
    transform: translateY(-120px) rotate(calc(var(--land-spin, -6deg) * 2)) scale(0.92);
  }
  60% { opacity: 1; }
  75% { transform: translateY(8px) rotate(var(--land-spin, -6deg)) scale(1.01); }
  100% {
    opacity: 1;
    transform: translateY(0) rotate(0deg) scale(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .photos-grid .evidence-card { animation: none; opacity: 1; }
}

/* ===== PAGINATION STYLE DOSSIER D'ENQUETE ===== */
.pagination-dossier {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin: 26px auto 8px;
  padding: 14px 22px;
  width: fit-content;
  background-color: #221c1c8c;
  border: 1px dashed #ea9ef0;
  border-radius: 12px;
  box-shadow: 4px 4px 0px #ea9ef054;
}
.pagination-dossier-status {
  font-family: "ArsenalSC", sans-serif;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #ea9ef0;
  font-size: 0.9em;
}
.pagination-dossier-status strong {
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  color: #f8ede3;
}
.pagination-dossier-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
.pagination-dossier-links a {
  font-family: "ArsenalSC", sans-serif;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 0.82em;
  color: #f8ede3;
  background-color: #170f0faa;
  border: 1px dashed #ea9ef07e;
  border-radius: 8px;
  padding: 7px 14px;
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease, color 0.15s ease;
}
.pagination-dossier-links a:hover {
  color: #ea9ef0;
  transform: translateY(-2px);
  box-shadow: 3px 3px 0px #ea9ef054;
}
.pagination-dossier-links a.disabled-link {
  opacity: 0.35;
  pointer-events: none;
}

/* ===== POSTS : "CASE INVESTIGATION FILES" ===== */
/* Remplace le rendu journal : chemise de dossier kraft, languette, agrafe,
   image entierement visible (pas de crop). */
.case-file-card {
  background-color: #d9c7a7;
  border: none;
  border-radius: 4px 4px 10px 4px;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.5);
  padding: 34px 16px 14px;
  position: relative;
  overflow: visible;
}
.case-file-card::before {
  content: none;
}
/* languette de chemise en haut */
.case-file-tab {
  position: absolute;
  top: 0;
  left: 14px;
  right: 40%;
  height: 26px;
  background-color: #c4b090;
  border: 1px solid #8a7a5c;
  border-bottom: none;
  border-radius: 8px 8px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
.case-file-tab-label {
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  font-size: 0.72em;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #4a3f28;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* trombone en haut a droite */
.case-file-card::after {
  content: "\f0c6";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  top: 8px;
  right: 14px;
  font-size: 1.5em;
  color: #6d6d6d;
  transform: rotate(18deg);
  z-index: 2;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.35);
}
.case-file-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border-bottom: 2px dashed #8a7a5c;
  padding: 4px 2px 8px;
  margin-bottom: 10px;
}
.case-file-bureau {
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  font-size: 0.68em;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #4a3f28;
}
.case-file-bureau i { color: #a4243b; margin-right: 3px; }
.case-file-confidential {
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  font-size: 0.6em;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #a4243b;
  border: 1.5px solid #a4243b;
  border-radius: 4px;
  padding: 2px 6px;
  transform: rotate(-4deg);
  white-space: nowrap;
}
/* image entierement visible : hauteur auto, pas de crop */
.case-file-figure {
  margin: 0 0 10px;
  position: relative;
  overflow: hidden;
  border-radius: 6px;
  border: 1px solid #8a7a5c;
  background-color: #221c1c;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}
.case-file-figure img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  display: block;
}
.case-file-figure figcaption {
  position: static;
  margin: 0;
  padding: 8px 10px;
  font-family: "Caveat-large", "Caveat", cursive;
  font-size: 1.15em;
  color: #4a3f28;
  background-color: #c4b090;
  text-align: center;
  border-top: 1px dashed #8a7a5c;
}
.case-file-headline {
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif !important;
  color: #221c1c !important;
  text-transform: uppercase !important;
  font-size: 1.2em !important;
  text-align: center;
  letter-spacing: 0.5px;
  margin: 10px 0 6px;
  line-height: 1.2;
}
.case-file-meta {
  color: #4a3f28 !important;
  font-size: 0.75em !important;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}
.case-file-meta i { color: #a4243b !important; }
.case-file-card .posts-grid-quote {
  background-color: #221c1c10;
  border-left: 3px solid #a4243b;
}
.case-file-card .posts-grid-quote-text { color: #221c1c !important; }
.case-file-card .posts-grid-quote-author { color: #a4243b !important; }
.case-file-btn {
  background-color: #221c1c;
  border: 1px dashed #a4243b;
  color: #d9c7a7;
}
.case-file-card:hover {
  transform: translateY(-6px) rotate(-0.5deg);
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.55);
}
.case-file-card .options_container .btn {
  background-color: #221c1c;
  border: 1px dashed #a4243b;
  color: #d9c7a7;
}
/* apparition "posage de dossier" une par une */
.posts-grid .case-file-card {
  opacity: 0;
  animation: case-file-drop 0.65s cubic-bezier(0.25, 0.8, 0.35, 1.05) forwards;
  animation-delay: calc(var(--card-index, 0) * 0.4s);
}
.posts-grid .case-file-card:nth-child(1) { --card-index: 0; }
.posts-grid .case-file-card:nth-child(2) { --card-index: 1; }
.posts-grid .case-file-card:nth-child(3) { --card-index: 2; }
.posts-grid .case-file-card:nth-child(4) { --card-index: 3; }
.posts-grid .case-file-card:nth-child(5) { --card-index: 4; }
.posts-grid .case-file-card:nth-child(6) { --card-index: 5; }
.posts-grid .case-file-card:nth-child(7) { --card-index: 6; }
.posts-grid .case-file-card:nth-child(8) { --card-index: 7; }
.posts-grid .case-file-card:nth-child(n+9) { --card-index: 8; }
@keyframes case-file-drop {
  0% { opacity: 0; transform: translateY(-90px) rotate(-4deg); }
  60% { opacity: 1; }
  80% { transform: translateY(4px) rotate(0.5deg); }
  100% { opacity: 1; transform: translateY(0) rotate(0deg); }
}
@media (prefers-reduced-motion: reduce) {
  .posts-grid .case-file-card { animation: none; opacity: 1; }
}

/* ===== SECTION PERSONNAGES : FICHES SUSPECTS ===== */
.suspects-board {
  width: min(1200px, 100%);
  margin: 0 auto;
}
.suspects-header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 16px;
  margin-bottom: 16px;
  background-color: #221c1c8c;
  border: 1px dashed #ea9ef0;
  border-radius: 12px;
  box-shadow: 4px 4px 0px #ea9ef054;
}
.suspects-header-title {
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #ea9ef0;
  font-size: 0.95em;
}
.suspects-header-title i { margin-right: 8px; }
.suspects-header-note {
  font-family: "Caveat-large", "Caveat", cursive;
  font-size: 1.2em;
  color: #f8ede3;
}
.suspects-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 20px;
}
.suspect-card {
  display: flex;
  gap: 14px;
  background-color: #d9c7a7;
  border-radius: 4px 4px 10px 4px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.45);
  padding: 14px;
  position: relative;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.suspect-card::after {
  content: "\f0c6";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  top: 6px;
  right: 10px;
  font-size: 1.2em;
  color: #6d6d6d;
  transform: rotate(16deg);
  z-index: 2;
}
.suspect-card:hover {
  transform: translateY(-5px) rotate(-0.5deg);
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.55);
}
.suspect-photo {
  flex: 0 0 110px;
  margin: 0;
  text-align: center;
}
.suspect-photo img {
  width: 110px;
  height: 130px;
  object-fit: cover;
  object-position: top;
  border-radius: 6px;
  border: 3px solid #f8ede3;
  box-shadow: 3px 4px 10px rgba(0, 0, 0, 0.4);
  transform: rotate(-2deg);
  transition: transform 0.2s ease;
}
.suspect-card:hover .suspect-photo img {
  transform: rotate(0deg) scale(1.03);
}
.suspect-photo figcaption {
  font-family: "Caveat-large", "Caveat", cursive;
  font-size: 0.95em;
  color: #4a3f28;
  margin-top: 6px;
  transform: rotate(-1deg);
}
.suspect-body { flex: 1 1 auto; min-width: 0; }
.suspect-name {
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #221c1c;
  font-size: 1em;
  border-bottom: 2px dashed #8a7a5c;
  padding-bottom: 4px;
  margin-bottom: 8px;
}
.suspect-file {
  font-family: "Caveat-large", "Caveat", cursive;
  font-size: 1.15em;
  line-height: 1.3;
  color: #221c1cd9;
  margin: 0;
}

/* ===== SECTION A PROPOS : DOSSIER DE PRODUCTION (archives condensees) ===== */
.archives-board {
  width: min(1000px, 100%);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.archives-header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 16px;
  background-color: #221c1c8c;
  border: 1px dashed #ea9ef0;
  border-radius: 12px;
  box-shadow: 4px 4px 0px #ea9ef054;
}
.archives-header-title {
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #ea9ef0;
  font-size: 0.95em;
}
.archives-header-title i { margin-right: 8px; }
.archives-header-note {
  font-family: "Caveat-large", "Caveat", cursive;
  font-size: 1.2em;
  color: #f8ede3;
}
.archives-section-title {
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #ea9ef0;
  font-size: 0.85em;
  border-bottom: 2px dashed #ea9ef07e;
  padding-bottom: 6px;
  margin-bottom: 12px;
}
.archives-section-title i { margin-right: 6px; }
/* frise de tournage */
.archives-timeline {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px;
}
.timeline-item {
  background-color: #d9c7a7;
  border-radius: 6px;
  padding: 12px 14px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
  border-left: 4px solid #a4243b;
}
.timeline-date {
  display: inline-block;
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  color: #a4243b;
  font-size: 0.9em;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.timeline-item p {
  font-family: "Caveat-large", "Caveat", cursive;
  font-size: 1.1em;
  line-height: 1.25;
  color: #221c1cd9;
  margin: 0;
}
/* fiche technique */
.archives-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 10px;
}
.fact-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  background-color: #221c1c8c;
  border: 1px dashed #ea9ef07e;
  border-radius: 10px;
  padding: 10px 14px;
}
.fact-label {
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #ea9ef0;
  font-size: 0.72em;
}
.fact-value {
  font-family: "ArsenalSC", sans-serif;
  color: #f8ede3;
  font-size: 0.85em;
  line-height: 1.3;
}
/* diffusion mondiale */
.archives-world {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.world-chip {
  font-family: "ArsenalSC", sans-serif;
  font-size: 0.8em;
  letter-spacing: 0.5px;
  color: #f8ede3;
  background-color: #170f0faa;
  border: 1px dashed #ea9ef07e;
  border-radius: 20px;
  padding: 6px 14px;
  transition: transform 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
.world-chip:hover {
  color: #ea9ef0;
  transform: translateY(-2px);
  box-shadow: 3px 3px 0px #ea9ef054;
}
/* recompenses */
.archives-awards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 10px;
}
.award-item {
  display: flex;
  align-items: center;
  gap: 10px;
  background-color: #d9c7a7;
  border-radius: 6px;
  padding: 10px 14px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
  font-family: "ArsenalSC", sans-serif;
  color: #221c1cd9;
  font-size: 0.85em;
}
.award-item i { color: #a4243b; font-size: 1.3em; }

/* ===== BUREAU 1950s (feed, 1ere section) ===== */
/* Recentrage vertical des photos deposees : elles atterrissent au milieu du bureau */
.feed-evidence-card { top: 50%; transform: translate(-50%, -50%); }
.feed-evidence-card.evidence-rest { transform: translate(calc(-50% + var(--toss-x, 0px)), -50%) rotate(var(--toss-spin, -14deg)); }
@keyframes evidence-toss-1950 {  0% {    opacity: 0;    transform: translate(-50%, -260%) rotate(calc(var(--toss-spin, -14deg) * -1.4)) scale(0.9);  }  55% { opacity: 1; }  70% {    transform: translate(-50%, -46%) rotate(var(--toss-spin, -14deg));  }  85% {    transform: translate(-50%, -54%) rotate(calc(var(--toss-spin, -14deg) * 0.7));  }  100% {    transform: translate(calc(-50% + var(--toss-x, 0px)), -50%) rotate(var(--toss-spin, -14deg));  }}
.feed-evidence-card.evidence-toss { animation: evidence-toss-1950 0.85s cubic-bezier(0.3, 0.7, 0.4, 1.15) forwards; }
.feed-evidence-deck .feed-evidence-card:first-child { top: 50%; transform: translate(-50%, -50%) rotate(-6deg); }
/* limite de pile : les photos restent dans le cadre du bureau */
.feed-evidence-pile .feed-evidence-card img { max-height: 200px; }
/* Fallback statique compact */
.feed-evidence-slot { width: min(640px, 96%); height: 340px; }
/* Accessoires 1950s : telephone a cadran du standard, cafe, lampe */
/* Bureau d'ecriture central de Marlene, style secretaire 1950s */
.feed-desk-stamp { z-index: 6; }

/* ===== DOSSIERS D'ENQUETE (feed, section billets) ===== */
.feed-encadre-posts-group { align-items: flex-start; }
.feed-case-file {  background-color: #e8d5ae;  background-image: repeating-linear-gradient(0deg, rgba(93, 66, 38, 0.05) 0px, rgba(93, 66, 38, 0.05) 1px, transparent 1px, transparent 6px);  box-shadow: 4px 4px 0px rgba(34, 28, 28, 0.55), 2px 2px 8px rgba(0, 0, 0, 0.35);}
/* onglet lateral de classeur, comme un vrai dossier cartonne */
.feed-case-file-tab {  top: 0;  right: 14px;  background-color: #8a2b2b;  color: #f4e9d8;  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;  font-size: 0.68rem;  letter-spacing: 0.1em;  padding: 4px 12px;  border-radius: 0 0 6px 6px;  border: 1px solid #5e1d1d;  border-top: none;  box-shadow: -2px 2px 0px rgba(34, 28, 28, 0.4);  z-index: 3;}
/* cordelette + bouton pression du dossier */
.feed-case-file::after {  content: "AFFAIRE EN COURS";  position: absolute;  bottom: 8px;  left: 10px;  font-family: "ArsenalSC", sans-serif;  font-size: 0.6rem;  letter-spacing: 0.12em;  color: #8a2b2b;  border: 1px solid #8a2b2b;  border-radius: 3px;  padding: 2px 6px;  transform: rotate(-1.5deg);  opacity: 0.8;  z-index: 2;  pointer-events: none;}
.feed-case-file-body { padding: 26px 10px 22px 10px; }
.feed-case-file-body img { filter: sepia(0.5) contrast(0.95) brightness(0.98); }

/* ===== INFO-BULLE AUDIENCES : TOUJOURS AU CENTRE EXACT ===== */
.feed-audiences-topcallout {  transform: translate(-50%, -50%) scale(0.92) !important;  max-height: 86vh;  overflow: auto;}
.feed-audiences-topcallout.visible {  transform: translate(-50%, -50%) scale(1) !important;}

/* ===== NETTOYAGE BUREAU : uniquement les photos + tampon ===== */
/* Les accessoires (machine a ecrire, Treets, courrier du coeur, telephone, cafe, lampe) ont ete retires du template. */
.feed-evidence-slot { width: min(680px, 94%); height: 360px; }
.feed-evidence-pile .feed-evidence-card img { max-height: 240px; }

/* ===== SECTION PHOTOS : 3 GRANDES PHOTOS OCCUPANT L'ECRAN SANS DEBORDER ===== */
.feed-encadre-photos-group { gap: 24px; }
.feed-encadre-photo-item img { height: auto; width: min(360px, 28vw); max-height: 48vh; object-fit: cover; }

/* ===== RESPONSIVE : AUCUN ELEMENT NE DOIT SE SUPERPOSER ===== */
/* Le bureau et son label restent au-dessus de la section suivante sur petits ecrans */
.feed-intro { height: auto; min-height: 0; overflow: visible; }
/* Photos de la section photos : passage en colonne sous 900px, taille contrainte au viewport */
@media (max-width: 900px) {
  .feed-encadre-photos-group { flex-direction: column; align-items: center; }
  .feed-encadre-photo-item img { width: min(420px, 88vw); max-height: 40vh; }
}
/* Bureau : sur petits ecrans le plateau se resserre, photos plus petites */
@media (max-width: 700px) {
  .feed-evidence-slot { width: 94%; height: 300px; }
  .feed-evidence-card { width: min(190px, 62%); }
  .feed-evidence-pile .feed-evidence-card img { max-height: 190px; }
  .feed-evidence-deck .feed-evidence-card:first-child img { max-height: 190px; }
}
/* Info-bulle audiences : jamais plus haute que l'ecran, contenu scrollable, jamais sous les boutons de nav */
.feed-audiences-topcallout { max-height: 80vh; }
/* Dossiers de la section billets : passage en colonne, pas de chevauchement des rotations */
@media (max-width: 760px) {
  .feed-encadre-posts-group { flex-direction: column; align-items: center; }
  .feed-case-file { width: min(320px, 92vw); transform: none; }
  .feed-case-file:nth-child(2) { transform: none; }
  .feed-case-file:nth-child(3) { transform: none; }
}
/* Boutons de navigation fixe : remontes au-dessus du footer, jamais sur le contenu sur mobile */
@media (max-width: 700px) {
  .site-scroll-nav { bottom: 88px; right: 8px; }
  .scroll-nav-btn { width: 38px; height: 38px; }
}

/* Sections a hauteur flexible : le contenu ne peut plus deborder sur la section suivante */
.feed-section-photos, .feed-section-posts { height: auto; min-height: 100vh; }
/* background-attachment: fixed casse le scroll sur mobile : on le neutralise sous 900px */
@media (max-width: 900px) {
  .feed-section-photos, .feed-section-posts, .feed-section-personnages, .feed-section-a-propos {
    background-attachment: scroll;
  }
}

/* ===== FEED INTRO : 100vh SI L'ECRAN LE PERMET ===== */
/* Grand ecran : la 1ere section occupe tout l'ecran. Le contenu depasse seulement
   si le viewport est trop petit ; dans ce cas la section s'allonge (hauteur auto
   heritee de la regle responsive precedente) et rien ne se superpose. */
@media (min-height: 700px) and (min-width: 768px) {
  .feed-intro { height: calc(100vh - var(--navbar-height, 76px)); min-height: 480px; overflow: hidden; }
}

/* ===== INFO-BULLE AUDIENCES : VISIBLE EN INTEGRALITE, ADAPTEE A L'ECRAN ===== */
/* Plus de coupe : l'encadre entier tient dans le viewport grace a une taille fluide. */
.feed-audiences-topcallout { max-height: none; overflow: visible; }
.feed-audiences-callout-img { width: clamp(90px, 18vw, 150px); height: clamp(60px, 12vw, 100px); }
.feed-audiences-callout-flex { flex-wrap: wrap; justify-content: center; }
/* Travailler la largeur pour que tout le contenu soit visible meme sur grand texte */
.feed-audiences-topcallout { width: min(92vw, 620px); max-width: 92vw; }
.feed-audiences-callout-body { font-size: clamp(0.8em, 2.2vw, 1em); }
/* Sur tres petit ecran, l'image passe au-dessus du texte, l'encadre reste entier */
@media (max-width: 560px) {
  .feed-audiences-callout-flex { flex-direction: column; align-items: center; text-align: center; }
  .feed-audiences-callout-img { width: min(160px, 60vw); height: auto; }
  .feed-audiences-topcallout { padding: 18px 16px; }
}

/* ===== CHARGEMENT DES IMAGES : APPARITION THEMATIQUE UNE FOIS TELECHARGEES ===== */
/* JS pose .img-reveal-pending sur toute image du feed ; l'image n'apparait qu'une
   fois entierement telechargee, avec un developpement "pellicule photo" theme dossier. */
.img-reveal-pending {  opacity: 0;}
.img-reveal-pending ~ * {  /* rien : les autres elements restent intacts */}
img.img-reveal-in {  animation: img-reveal-develop 0.7s cubic-bezier(0.2, 0.7, 0.3, 1) forwards;}
@keyframes img-reveal-develop {
  0% { opacity: 0; filter: sepia(1) contrast(1.4) brightness(0.7); transform: scale(1.04); }
  60% { opacity: 1; }
  100% { opacity: 1; filter: none; transform: scale(1); }
}
/* vignette "piece a conviction" pendant le telechargement */
.img-reveal-pending {  background: repeating-linear-gradient(45deg, #170f0f 0 12px, #1d1414 12px 24px);  min-height: 60px;}
@media (prefers-reduced-motion: reduce) {
  img.img-reveal-in { animation: none; opacity: 1; filter: none; transform: none; }
}

/* ===== ESPACEMENT RESPONSIVE ENTRE SECTIONS ===== */
/* Petit ecran : espace net entre la fin d'une section et la suivante */
@media (max-width: 900px) {
  .feed-intro { padding-bottom: 28px; }
  .feed-section-photos, .feed-section-posts, .feed-section-personnages, .feed-section-a-propos, .feed-section-audiences { padding-bottom: 28px; margin-bottom: 0; }
}
/* Ecran moyen et + : espace leger */
@media (min-width: 901px) {
  .feed-intro { padding-bottom: 12px; }
  .feed-section-photos, .feed-section-posts, .feed-section-personnages, .feed-section-audiences { padding-bottom: 12px; }
}

/* ===== ENCADRES feed-section-posts (photos / billets) : ALIGNEMENT SUR LE THEME DOSSIER ===== */
.feed-encadre {  background-color: #221c1c8c;  border: 1px dashed #ea9ef0;  border-radius: 14px;  box-shadow: 4px 4px 0px #ea9ef054;}
.feed-encadre blockquote { margin: 0; }
.feed-encadre-photos, .feed-encadre-posts { padding: 10px 18px; }

/* ===== A PROPOS : TRONCATURE AVEC BOUTON "LIRE LA SUITE" ===== */
.a_propos_truncated {  position: relative;  max-height: 6.5em;  overflow: hidden;  transition: max-height 0.45s ease;}
.a_propos_truncated::after {  content: "";  position: absolute;  bottom: 0;  left: 0;  right: 0;  height: 2.6em;  background: linear-gradient(180deg, transparent, #221c1c 85%);  pointer-events: none;}
.a_propos_truncated.a_propos_open::after { display: none; }
.a_propos_more-btn {  font-family: "ArsenalSC", sans-serif;  text-transform: uppercase;  letter-spacing: 1px;  font-size: 0.75em;  color: #ea9ef0;  background-color: #170f0faa;  border: 1px dashed #ea9ef07e;  border-radius: 8px;  padding: 4px 12px;  cursor: pointer;  margin-top: 4px;}
.a_propos_more-btn:hover { color: #f8ede3; box-shadow: 3px 3px 0px #ea9ef054; }

/* ===== FOOTER : footer_date centre sur petit ecran + suppression espace avant footer ===== */
@media (max-width: 900px) {
  .footer-row { align-items: center; }
  #footer_date { text-align: center; width: 100%; margin: 0; }
  footer.footer-container { margin-top: 0; }
  .feed-section-audiences { margin-bottom: 0; padding-bottom: 0; }
}

/* ===== BUREAU : ANNOTATIONS A LA CRAIE (theme tableau d'enqueteur) ===== */
.feed-chalk-arrow, .feed-chalk-cross, .feed-chalk-circle, .feed-chalk-link, .feed-chalk-note {  position: absolute;  pointer-events: none;  z-index: 1;  color: #e8e3d8;  opacity: 0.55;  filter: drop-shadow(0 0 1px rgba(0,0,0,0.4));}
/* fleche courbee tracee a la craie : tige + pointe */
.feed-chalk-arrow {  width: 72px;  height: 48px;  background: radial-gradient(circle 1.6px at 60% 78%, #e8e3d8 98%, transparent), radial-gradient(circle 1.6px at 66% 70%, #e8e3d8 98%, transparent), radial-gradient(circle 1.6px at 71% 62%, #e8e3d8 98%, transparent), radial-gradient(circle 1.6px at 62% 86%, #e8e3d8 98%, transparent), radial-gradient(circle 1.6px at 68% 82%, #e8e3d8 98%, transparent), radial-gradient(circle 1.6px at 74% 74%, #e8e3d8 98%, transparent), radial-gradient(circle 1.6px at 55% 88%, #e8e3d8 98%, transparent);  border: none;}
.feed-chalk-arrow-1 { bottom: 22%; left: 6%; transform: rotate(-18deg) scaleX(-1); }
.feed-chalk-arrow-2 { top: 14%; right: 8%; transform: rotate(24deg); width: 58px; height: 40px; }
/* point d'interrogation manuscrit */
.feed-chalk-question {  position: absolute;  pointer-events: none;  z-index: 1;  font-family: "Caveat-large", "Caveat", cursive;  font-size: 2em;  color: #e8e3d8;  opacity: 0.5;}
.feed-chalk-question-1 { bottom: 12%; right: 12%; transform: rotate(12deg); }
.feed-chalk-question-2 { top: 10%; left: 10%; transform: rotate(-8deg); font-size: 1.6em; }
/* croix d'enqueteur (exclu) : deux traits de craie */
.feed-chalk-cross {  width: 26px;  height: 26px;}
.feed-chalk-cross-1 { bottom: 18%; right: 26%; transform: rotate(8deg); background: linear-gradient(45deg, transparent 46%, #e8e3d8 46%, #e8e3d8 54%, transparent 54%), linear-gradient(-45deg, transparent 46%, #e8e3d8 46%, #e8e3d8 54%, transparent 54%); }
.feed-chalk-cross-2 { top: 20%; left: 22%; transform: rotate(-14deg) scale(0.8); background: linear-gradient(45deg, transparent 46%, #e8e3d8 46%, #e8e3d8 54%, transparent 54%), linear-gradient(-45deg, transparent 46%, #e8e3d8 46%, #e8e3d8 54%, transparent 54%); }
/* cercle entourant un indice */
.feed-chalk-circle {  width: 64px;  height: 40px;  border: 2px dashed #e8e3d8;  border-radius: 50%;  opacity: 0.35;}
.feed-chalk-circle-1 { top: 42%; left: 4%; transform: rotate(-10deg); }
/* trait de liaison entre deux indices */
.feed-chalk-link {  width: 90px;  height: 2px;  background: repeating-linear-gradient(90deg, #e8e3d8 0 7px, transparent 7px 11px);  opacity: 0.4;}
.feed-chalk-link-1 { top: 58%; right: 4%; transform: rotate(-32deg); }
/* mots griffonnes a la craie */
.feed-chalk-note {  font-family: "Caveat-large", "Caveat", cursive;  font-size: 1.15em;  letter-spacing: 1px;  bottom: 6%; left: 30%; transform: rotate(-4deg); }
.feed-chalk-note-2 { top: 6%; right: 28%; transform: rotate(3deg); }
/* sur petit ecran, on allège le tableau */
@media (max-width: 700px) {
  .feed-chalk-arrow, .feed-chalk-cross-2, .feed-chalk-link-1, .feed-chalk-note-2 { display: none; }
  .feed-chalk-note { left: 8%; }
  .feed-chalk-circle-1 { display: none; }
}

/* ===== FOND HTML : JAMAIS DE BLANC ENTRE DERNIERE SECTION ET FOOTER ===== */
html {  background-color: #170f0f;}
body {  background-color: #170f0f;}
footer.footer-container {  margin-top: 0; }

/* ===== FOOTER : footer_date centre aussi sur ecran moyen ===== */
@media (min-width: 901px) and (max-width: 1199px) {
  .footer-row { align-items: center; }
  #footer_date { text-align: center; width: 100%; margin: 0; }
}

/* ===== TRONCATURE A PROPOS : NOUVEAUX SEUILS ===== */
/* Les blocs p/li de plus de 150 caracteres sont tronques (moyen ecran : 75, petit : 25).
   Les seuils sont appliques en JS ; ici on ajoute la variante "3 lignes" du paragraphe Tournage. */
.a_propos_truncated--3lines { max-height: 5.2em; }

/* ===== CITATIONS INVENTEES : MENTION OBLIGATOIRE ===== */
.quote-fictional-note {  display: block;  font-family: "ArsenalSC", sans-serif;  font-size: 0.62em;  letter-spacing: 1px;  text-transform: uppercase;  color: #ea9ef0;  opacity: 0.85;  margin-top: 2px;}
.feed-encadre .quote-fictional-note,
.home-elements-middle .quote-fictional-note,
.post-detail-quote .quote-fictional-note,
.photos-grid-quote .quote-fictional-note,
.posts-grid-quote .quote-fictional-note { margin-top: 4px; }
/* ===== 1ERE DIVISION FEED : TABLEAU D'ENQUETE AGRANDI, SUSPECTS N&B LIES A LA CRAIE ===== */
/* Tableau plus grand sans redimensionner la section feed-intro : on elargit le slot
   et on reduit les marges verticales internes. */
.feed-evidence-slot { width: min(880px, 96%); height: 400px; }
.feed-evidence-slot::after { z-index: 1; }
.feed-evidence-pile { z-index: 3; }
.feed-evidence-pile .feed-evidence-card img { max-height: 250px; }
.feed-evidence-deck .feed-evidence-card:first-child img { max-height: 230px; }
@media (max-width: 900px) {
  .feed-evidence-slot { width: 96%; height: 360px; }
  .feed-evidence-pile .feed-evidence-card img { max-height: 210px; }
}
@media (max-width: 700px) {
  .feed-evidence-slot { width: 94%; height: 320px; }
  .feed-evidence-pile .feed-evidence-card img { max-height: 175px; }
}
/* Mur de suspects : portraits noir et blanc punaises au tableau, au-dessus du plateau */
.feed-suspects-wall {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 10px 12px 0;
  gap: 4px;
}
.feed-suspect {
  margin: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 17%;
  min-width: 0;
}
.feed-suspect img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  filter: grayscale(1) contrast(1.15) brightness(0.92) sepia(0.12);
  border: 4px solid #f4efea;
  border-radius: 2px;
  box-shadow: 2px 4px 10px rgba(0, 0, 0, 0.55);
  background-color: #101410;
}
/* punaise rouge du tableau d'enquete */
.feed-suspect::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 50%;
  transform: translateX(-50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #ff9d9d, #a4243b 60%, #6d1425);
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.6);
  z-index: 3;
}
.feed-suspect figcaption {
  font-family: "ArsenalSC-Fat", "ArsenalSC", sans-serif;
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  color: #e8e3d8;
  margin-top: 2px;
  opacity: 0.85;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.feed-suspect--laurence { transform: rotate(-3deg); margin-top: 6px; }
.feed-suspect--marlene { transform: rotate(2deg); }
.feed-suspect--avril { transform: rotate(-2deg); margin-top: 10px; }
.feed-suspect--tricard { transform: rotate(3deg); margin-top: 4px; }
.feed-suspect--glissant { transform: rotate(-4deg); margin-top: 12px; }
/* Liaisons logiques tracees a la craie entre les portraits (SVG au-dessus du mur) */
.feed-chalk-links-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 62%;
  pointer-events: none;
  z-index: 2;
}
.chalk-link-path {
  fill: none;
  stroke: #e8e3d8;
  stroke-width: 0.55;
  stroke-linecap: round;
  stroke-dasharray: 2.4 1.8;
  opacity: 0.6;
}
.chalk-link-label {
  font-family: "Caveat-large", "Caveat", cursive;
  font-size: 3.2px;
  fill: #e8e3d8;
  opacity: 0.7;
}
@media (max-width: 700px) {
  .feed-suspect figcaption { font-size: 0.5rem; }
  .feed-suspect img { border-width: 3px; }
  .chalk-link-label { display: none; }
  .chalk-link-path { opacity: 0.45; }
}

/* ===== FOOTER : "Blog c LesPetitsMeurtres 2023-2026" centre sur toutes les pages, toutes tailles ===== */
.footer-row { align-items: center; }
#footer_date { text-align: center; width: 100%; margin: 0; }
