:root {
  --mos-bg: #06111d;
  --mos-bg-soft: #091a2a;
  --mos-panel: rgba(9, 26, 42, .92);
  --mos-panel-2: rgba(11, 31, 49, .9);
  --mos-border: rgba(130, 169, 197, .28);
  --mos-text: #f3f7fb;
  --mos-muted: #9fb1c0;
  --mos-red: #e3262e;
  --mos-blue: #1875a8;
  --mos-gold: #d4aa28;
  --mos-max: 1460px;
}

.mos-film-page {
  background:
    radial-gradient(circle at 60% 0%, rgba(21, 76, 111, .18), transparent 32rem),
    var(--mos-bg);
  color: var(--mos-text);
  min-height: 100vh;
}

.mos-film-shell {
  width: min(calc(100% - 40px), var(--mos-max));
  margin-inline: auto;
}

.mos-film-hero {
  position: relative;
  min-height: 620px;
  display: flex;
  align-items: end;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 68% 30%, rgba(32,105,148,.22), transparent 28rem),
    #06111d;
}

.mos-film-hero__image {
  position: absolute;
  inset: 0;
  z-index: -3;
  background-image: var(--mos-hero-image);
  background-size: cover;
  background-position: var(--mos-hero-position, center);
  transform: scale(1.015);
  filter: saturate(.92) contrast(1.04);
}

.mos-film-hero.has-backdrop::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 42%;
  z-index: -1;
  background: linear-gradient(0deg, #06111d 0%, rgba(6,17,29,.78) 42%, transparent 100%);
  pointer-events: none;
}

.mos-film-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg,
      rgba(3,11,20,.98) 0%,
      rgba(4,14,24,.90) 24%,
      rgba(4,14,24,.58) 48%,
      rgba(4,14,24,.16) 72%,
      rgba(4,14,24,.34) 100%
    ),
    linear-gradient(180deg, rgba(2,8,14,.16) 0%, rgba(2,8,14,.02) 48%, rgba(6,17,29,.66) 100%);
}

.mos-film-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 42px;
  align-items: end;
  padding-block: 70px 44px;
}

.mos-film-hero__poster {
  margin: 0;
  border: 1px solid rgba(200, 225, 244, .45);
  padding: 5px;
  background: rgba(5, 16, 27, .7);
  box-shadow: 0 24px 60px rgba(0,0,0,.35);
}

.mos-film-hero__poster img {
  display: block;
  width: 100%;
  aspect-ratio: 2/3;
  object-fit: cover;
}

.mos-film-hero__content {
  max-width: 760px;
  padding-bottom: 16px;
}

.mos-film-hero__eyebrow,
.mos-film-hero__meta,
.mos-film-hero__tagline {
  color: var(--mos-muted);
}

.mos-film-hero h1 {
  margin: 0;
  font-size: clamp(3.2rem, 7vw, 6.8rem);
  line-height: .9;
  letter-spacing: .035em;
  text-transform: uppercase;
  font-weight: 900;
  color: #fff;
}

.mos-film-hero__subtitle {
  margin: 8px 0 0;
  font-size: 1.15rem;
  color: #c5d4df;
}

.mos-film-hero__year {
  color: var(--mos-red);
  font-size: 2rem;
  font-weight: 800;
  margin: 12px 0 18px;
}

.mos-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}

.mos-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 12px;
  border: 1px solid rgba(255,255,255,.12);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .06em;
}

.mos-badge--red { background: rgba(227, 38, 46, .9); }
.mos-badge--blue { background: rgba(24, 117, 168, .75); }
.mos-badge--gold { background: rgba(212, 170, 40, .9); color: #111; }

.mos-film-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(4, 15, 25, .96);
  border-block: 1px solid var(--mos-border);
  backdrop-filter: blur(14px);
}

body.admin-bar .mos-film-nav { top: 32px; }

.mos-film-nav__inner {
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
}

.mos-film-nav__inner::-webkit-scrollbar { display: none; }

.mos-film-nav a {
  flex: 0 0 auto;
  color: var(--mos-muted);
  text-decoration: none;
  text-transform: uppercase;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .05em;
  padding: 18px 22px 16px;
  border-bottom: 3px solid transparent;
}

.mos-film-nav a:hover,
.mos-film-nav a.is-active {
  color: #fff;
  border-bottom-color: var(--mos-red);
}

.mos-film-section {
  scroll-margin-top: 95px;
  margin-block: 18px;
}

.mos-film-grid--overview {
  display: grid;
  grid-template-columns: minmax(300px, .75fr) minmax(0, 1.55fr);
  gap: 18px;
}

.mos-film-stack {
  display: grid;
  align-content: start;
  gap: 18px;
}

.mos-film-card,
.mos-stats {
  border: 1px solid var(--mos-border);
  background: linear-gradient(180deg, rgba(13, 34, 52, .88), rgba(6, 20, 33, .92));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}

.mos-film-card {
  padding: 18px;
}

.mos-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 14px;
  margin-bottom: 16px;
  border-bottom: 1px solid rgba(139, 177, 204, .16);
}

.mos-section-heading h2 {
  margin: 0;
  color: #fff;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.mos-info-list {
  margin: 0;
}

.mos-info-row {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(139, 177, 204, .1);
}

.mos-info-row:last-child { border-bottom: 0; }
.mos-info-row dt { color: var(--mos-muted); }
.mos-info-row dd { margin: 0; color: #fff; font-weight: 600; }

.mos-rating-layout {
  display: grid;
  grid-template-columns: 1fr 210px;
  gap: 24px;
  align-items: center;
}

.mos-rating-bars { display: grid; gap: 14px; }

.mos-rating-row {
  display: grid;
  grid-template-columns: 135px 1fr 48px;
  gap: 12px;
  align-items: center;
  font-size: .9rem;
  text-transform: uppercase;
}

.mos-rating-track {
  height: 12px;
  background: #152738;
  overflow: hidden;
}

.mos-rating-track i {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #b51e26, var(--mos-red));
}

.mos-score-shield {
  min-height: 190px;
  display: grid;
  place-content: center;
  text-align: center;
  background: linear-gradient(180deg, rgba(14, 62, 95, .6), rgba(5, 22, 36, .8));
  clip-path: polygon(22% 0, 78% 0, 100% 50%, 78% 100%, 22% 100%, 0 50%);
  border: 1px solid var(--mos-blue);
}

.mos-score-shield span {
  color: var(--mos-red);
  text-transform: uppercase;
  font-size: .82rem;
  font-weight: 800;
}

.mos-score-shield strong {
  font-size: 3.5rem;
  line-height: 1;
  margin-top: 10px;
}

.mos-score-shield small { font-size: 1.4rem; }

.mos-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.mos-stat {
  padding: 18px;
  text-align: center;
  border-right: 1px solid var(--mos-border);
}
.mos-stat:last-child { border-right: 0; }
.mos-stat span { display:block; color: var(--mos-muted); text-transform: uppercase; font-size: .78rem; }
.mos-stat strong { display:block; margin-top: 6px; font-size: 1.2rem; }

.mos-video {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #02070b;
  overflow: hidden;
}
.mos-video iframe,
.mos-video video {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

.mos-cast-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(120px, 1fr));
  gap: 14px;
}

.mos-cast-card {
  background: #091827;
  border: 1px solid var(--mos-border);
  text-align: center;
  overflow: hidden;
}

.mos-cast-card img {
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  display: block;
}

.mos-cast-card div { padding: 10px 8px 12px; }
.mos-cast-card h3 {
  margin: 0;
  font-size: .78rem;
  line-height: 1.25;
  text-transform: uppercase;
}
.mos-cast-card p {
  margin: 5px 0 0;
  color: var(--mos-muted);
  font-size: .76rem;
}

.mos-media-grid,
.mos-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.mos-media-card {
  border: 1px solid var(--mos-border);
  background: #081724;
}
.mos-media-card h3 { margin: 12px; }

.mos-gallery-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.mos-gallery-card {
  text-decoration: none;
  color: inherit;
  border: 1px solid var(--mos-border);
  background: #081724;
  overflow: hidden;
  transition: transform .2s ease, border-color .2s ease;
}

.mos-gallery-card:hover {
  transform: translateY(-3px);
  border-color: rgba(227, 38, 46, .7);
}

.mos-gallery-card img {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
  display:block;
}

.mos-gallery-card div { padding: 12px; }
.mos-gallery-card h3 { margin:0; font-size:.82rem; text-transform:uppercase; }
.mos-gallery-card p { margin:4px 0 0; color:var(--mos-muted); font-size:.78rem; }

.mos-timeline {
  position: relative;
  padding-left: 28px;
}

.mos-timeline::before {
  content:"";
  position:absolute;
  left:8px;
  top:5px;
  bottom:5px;
  width:1px;
  background: linear-gradient(var(--mos-red), var(--mos-blue));
}

.mos-timeline-item {
  position:relative;
  padding: 0 0 26px 14px;
}

.mos-timeline-dot {
  position:absolute;
  left:-25px;
  top:5px;
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--mos-red);
  box-shadow:0 0 0 5px rgba(227,38,46,.12);
}

.mos-timeline time {
  color:var(--mos-red);
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
}
.mos-timeline h3 { margin:5px 0 8px; }

.mos-richtext { color:#d7e1e9; line-height:1.75; }
.mos-richtext a { color:#69b6e2; }
.mos-richtext img { max-width:100%; height:auto; }

.mos-button {
  display:inline-flex;
  padding:12px 18px;
  background:var(--mos-red);
  color:white;
  text-decoration:none;
  font-weight:800;
  text-transform:uppercase;
}

@media (max-width: 1200px) {
  .mos-cast-grid { grid-template-columns: repeat(4, minmax(120px, 1fr)); }
  .mos-gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .mos-film-hero { min-height: auto; }
  .mos-film-hero__inner {
    grid-template-columns: 150px 1fr;
    gap: 22px;
    padding-block: 55px 30px;
  }

  .mos-film-grid--overview { grid-template-columns: 1fr; }
  .mos-rating-layout { grid-template-columns: 1fr; }
  .mos-score-shield { min-height: 150px; }
  .mos-media-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  .mos-film-shell { width: min(calc(100% - 24px), var(--mos-max)); }

  .mos-film-hero__inner {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .mos-film-hero__poster {
    width: 145px;
  }

  .mos-film-hero h1 { font-size: clamp(2.8rem, 15vw, 4.5rem); }

  .mos-rating-row {
    grid-template-columns: 95px 1fr 42px;
    font-size: .72rem;
  }

  .mos-stats { grid-template-columns: 1fr; }
  .mos-stat { border-right:0; border-bottom:1px solid var(--mos-border); }
  .mos-stat:last-child { border-bottom:0; }

  .mos-cast-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mos-media-grid,
  .mos-gallery-grid { grid-template-columns: 1fr 1fr; }
}


.mos-term-cloud {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.mos-term-cloud + .mos-term-cloud {
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(139,177,204,.12);
}
.mos-term-cloud a {
  display:inline-flex;
  padding:7px 10px;
  border:1px solid rgba(24,117,168,.45);
  background:rgba(24,117,168,.10);
  color:#cfe9f8;
  text-decoration:none;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.mos-term-cloud a:hover {
  border-color:var(--mos-red);
  color:#fff;
}
.mos-term-cloud--secondary a {
  border-color:rgba(212,170,40,.38);
  background:rgba(212,170,40,.08);
}


/* V0.4 : ancien contenu rendu dans les nouveaux composants */
.mos-migration-badge {
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 9px;
  border:1px solid rgba(212,170,40,.38);
  background:rgba(212,170,40,.08);
  color:#e4c55b;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.045em;
  text-transform:uppercase;
}

.mos-legacy-content > :first-child { margin-top:0; }
.mos-legacy-content > :last-child { margin-bottom:0; }

.mos-legacy-content iframe {
  max-width:100%;
}

.mos-legacy-content .wp-block-embed,
.mos-legacy-content .wp-video,
.mos-legacy-content figure {
  max-width:100%;
}

.mos-legacy-content img {
  border:1px solid rgba(130,169,197,.22);
}

.mos-legacy-bridge h2,
.mos-legacy-bridge h3 {
  color:#fff;
}

.mos-legacy-bridge h2 {
  margin-top:1.8em;
  padding-bottom:.45em;
  border-bottom:1px solid rgba(130,169,197,.16);
}

.mos-legacy-bridge h3 {
  margin-top:1.4em;
}

@media (max-width:640px) {
  .mos-migration-badge {
    display:none;
  }
}


/* V0.5 — casting premium */
.mos-section-kicker {
  color: var(--mos-muted);
  font-size: .74rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.mos-casting-block {
  overflow: hidden;
}

.mos-cast-grid {
  grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
  gap: 16px;
}

.mos-cast-card {
  display: block;
  min-width: 0;
  color: inherit;
  text-decoration: none;
  background:
    linear-gradient(180deg, rgba(13,34,52,.96), rgba(6,18,30,.98));
  border: 1px solid rgba(130,169,197,.24);
  overflow: hidden;
  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

a.mos-cast-card:hover {
  transform: translateY(-5px);
  border-color: rgba(227,38,46,.72);
  box-shadow: 0 18px 34px rgba(0,0,0,.28);
}

.mos-cast-card__visual {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 25%, rgba(24,117,168,.32), transparent 42%),
    #0b1d2d;
}

.mos-cast-card__visual::after {
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:36%;
  background:linear-gradient(0deg, rgba(6,17,29,.78), transparent);
  pointer-events:none;
}

.mos-cast-card__visual img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
  transition:transform .28s ease;
}

a.mos-cast-card:hover .mos-cast-card__visual img {
  transform:scale(1.035);
}

.mos-cast-card__placeholder {
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  background:
    linear-gradient(145deg, rgba(24,117,168,.28), rgba(227,38,46,.11)),
    #0a1b2b;
}

.mos-cast-card__placeholder span {
  display:grid;
  place-items:center;
  width:76px;
  aspect-ratio:1;
  border:1px solid rgba(255,255,255,.24);
  clip-path:polygon(22% 0,78% 0,100% 50%,78% 100%,22% 100%,0 50%);
  font-size:2rem;
  font-weight:900;
  color:#dbeaf4;
}

.mos-cast-card__body {
  min-height:76px;
  padding:12px 11px 14px;
  text-align:left;
  border-top:1px solid rgba(130,169,197,.14);
}

.mos-cast-card__body h3 {
  margin:0;
  color:#fff;
  font-size:.82rem;
  line-height:1.25;
  text-transform:uppercase;
}

.mos-cast-card__body p {
  margin:5px 0 0;
  color:#8eb6ce;
  font-size:.76rem;
  line-height:1.35;
}

/* Hero : affiche légèrement détachée comme une pièce de collection */
.mos-film-hero__poster {
  transform: translateY(14px);
  border-color: rgba(218,232,242,.42);
  box-shadow:
    0 28px 70px rgba(0,0,0,.42),
    0 0 0 1px rgba(255,255,255,.03);
}

@media (max-width: 900px) {
  .mos-film-hero {
    min-height: 540px;
  }

  .mos-film-hero__image {
    background-position: center top;
  }

  .mos-film-hero__overlay {
    background:
      linear-gradient(90deg, rgba(3,11,20,.96) 0%, rgba(4,14,24,.72) 55%, rgba(4,14,24,.34) 100%),
      linear-gradient(0deg, #06111d 0%, transparent 60%);
  }
}

@media (max-width: 640px) {
  .mos-film-hero {
    min-height: 660px;
    align-items:end;
  }

  .mos-film-hero__image {
    inset:0 0 34%;
    background-position:center top;
    opacity:.92;
  }

  .mos-film-hero__overlay {
    background:
      linear-gradient(0deg, #06111d 8%, rgba(6,17,29,.92) 32%, rgba(6,17,29,.22) 78%, rgba(6,17,29,.2) 100%);
  }

  .mos-film-hero__poster {
    width:125px;
    transform:none;
  }

  .mos-cast-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:10px;
  }
}


/* V0.6 — Médias premium */
.mos-video-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px;
}

.mos-video-card {
  min-width:0;
  border:1px solid var(--mos-border);
  background:#081724;
  overflow:hidden;
}

.mos-video-card__media {
  position:relative;
  aspect-ratio:16/9;
  background:#02070b;
}

.mos-video-card__media iframe,
.mos-video-card__media video {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

.mos-video-card__media > a {
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  color:#fff;
  text-decoration:none;
  font-weight:800;
  text-transform:uppercase;
}

.mos-video-card__body {
  padding:12px 14px 14px;
}

.mos-video-card__body span {
  display:inline-block;
  margin-bottom:5px;
  color:var(--mos-red);
  font-size:.7rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.mos-video-card__body h3 {
  margin:0;
  font-size:.9rem;
  line-height:1.35;
}

/* V0.6 — Galeries premium */
.mos-gallery-grid {
  grid-template-columns:repeat(auto-fit, minmax(210px, 1fr));
  gap:16px;
}

.mos-gallery-card {
  display:block;
  min-width:0;
  color:inherit;
  text-decoration:none;
  background:#081724;
  border:1px solid var(--mos-border);
  overflow:hidden;
}

.mos-gallery-card__visual {
  position:relative;
  aspect-ratio:16/10;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 30%, rgba(24,117,168,.25), transparent 38%),
    #0b1d2d;
}

.mos-gallery-card__visual img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .28s ease;
}

a.mos-gallery-card:hover .mos-gallery-card__visual img {
  transform:scale(1.04);
}

.mos-gallery-card__body {
  padding:12px 14px 14px;
}

.mos-gallery-card__body h3 {
  margin:0;
  font-size:.85rem;
  text-transform:uppercase;
  line-height:1.3;
}

.mos-gallery-card__body p {
  margin:5px 0 0;
  color:var(--mos-muted);
  font-size:.76rem;
}

.mos-gallery-card__placeholder {
  width:100%;
  height:100%;
  background:
    linear-gradient(145deg, rgba(24,117,168,.25), rgba(227,38,46,.10)),
    #0a1b2b;
}

/* V0.6 — Chronologie premium */
.mos-timeline {
  padding-left:36px;
}

.mos-timeline::before {
  left:11px;
  width:2px;
  background:linear-gradient(var(--mos-red), rgba(24,117,168,.9), rgba(24,117,168,.2));
}

.mos-timeline-item {
  padding:0 0 34px 18px;
}

.mos-timeline-item:last-child {
  padding-bottom:0;
}

.mos-timeline-dot {
  left:-31px;
  width:13px;
  height:13px;
  border:2px solid #06111d;
  box-shadow:
    0 0 0 4px rgba(227,38,46,.12),
    0 0 18px rgba(227,38,46,.22);
}

.mos-timeline-content {
  padding:2px 0 0;
}

.mos-timeline time {
  display:inline-block;
  margin-bottom:4px;
  color:#f16970;
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.05em;
}

.mos-timeline h3 {
  margin:0 0 10px;
  font-size:1rem;
  line-height:1.35;
}

@media (max-width: 780px) {
  .mos-video-grid {
    grid-template-columns:1fr;
  }

  .mos-gallery-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 520px) {
  .mos-gallery-grid {
    grid-template-columns:1fr;
  }
}


/* V0.7 — Fiche technique premium */
.mos-tech-groups {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.mos-tech-group {
  border:1px solid rgba(130,169,197,.14);
  background:rgba(255,255,255,.015);
  padding:14px;
}

.mos-tech-group h3 {
  margin:0 0 10px;
  color:#dce9f2;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.055em;
}

.mos-tech-footer {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:16px;
  border-top:1px solid rgba(130,169,197,.14);
}

.mos-tech-footer > div {
  padding:14px 12px 0;
  border-right:1px solid rgba(130,169,197,.12);
}

.mos-tech-footer > div:last-child {
  border-right:0;
}

.mos-tech-footer span {
  display:block;
  color:var(--mos-muted);
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.mos-tech-footer strong {
  display:block;
  margin-top:5px;
  color:#fff;
  font-size:.95rem;
}

/* V0.7 — taxonomies */
.mos-tax-block + .mos-tax-block {
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid rgba(130,169,197,.12);
}

.mos-tax-label {
  display:block;
  margin-bottom:9px;
  color:var(--mos-muted);
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.mos-term-cloud span {
  display:inline-flex;
  padding:7px 10px;
  border:1px solid rgba(24,117,168,.35);
  background:rgba(24,117,168,.08);
  color:#cfe9f8;
  font-size:.78rem;
  text-transform:uppercase;
}

/* V0.7 — À découvrir aussi */
.mos-related-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
}

.mos-related-card {
  display:block;
  min-width:0;
  color:inherit;
  text-decoration:none;
  border:1px solid var(--mos-border);
  background:#081724;
  overflow:hidden;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.mos-related-card:hover {
  transform:translateY(-4px);
  border-color:rgba(227,38,46,.66);
  box-shadow:0 18px 32px rgba(0,0,0,.25);
}

.mos-related-card__visual {
  position:relative;
  aspect-ratio:2/3;
  overflow:hidden;
  background:#0b1d2d;
}

.mos-related-card__visual img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .28s ease;
}

.mos-related-card:hover .mos-related-card__visual img {
  transform:scale(1.035);
}

.mos-related-card__type {
  position:absolute;
  left:8px;
  bottom:8px;
  padding:4px 7px;
  background:rgba(6,17,29,.88);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  font-size:.64rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.mos-related-card__body {
  padding:10px;
}

.mos-related-card__body h3 {
  margin:0;
  color:#fff;
  font-size:.76rem;
  line-height:1.25;
  text-transform:uppercase;
}

.mos-related-card__body p {
  margin:5px 0 0;
  color:var(--mos-red);
  font-size:.72rem;
  font-weight:800;
}

.mos-related-card__placeholder {
  width:100%;
  height:100%;
  background:
    radial-gradient(circle at 50% 30%, rgba(24,117,168,.25), transparent 40%),
    linear-gradient(145deg, rgba(24,117,168,.2), rgba(227,38,46,.08)),
    #0a1b2b;
}

@media (max-width:1200px) {
  .mos-related-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:780px) {
  .mos-tech-groups {
    grid-template-columns:1fr;
  }

  .mos-tech-footer {
    grid-template-columns:1fr;
  }

  .mos-tech-footer > div {
    border-right:0;
    border-bottom:1px solid rgba(130,169,197,.12);
    padding:12px 0;
  }

  .mos-tech-footer > div:last-child {
    border-bottom:0;
  }
}

@media (max-width:560px) {
  .mos-related-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* V0.8 — Archives Films / Séries / Animation */
.mos-archive-page {
  min-height:70vh;
  background:
    radial-gradient(circle at 76% 5%, rgba(24,117,168,.16), transparent 28rem),
    radial-gradient(circle at 15% 20%, rgba(227,38,46,.07), transparent 24rem),
    var(--mos-bg);
  color:var(--mos-text);
}

.mos-archive-hero {
  position:relative;
  padding:68px 0 36px;
  border-bottom:1px solid rgba(130,169,197,.14);
  background:
    linear-gradient(180deg, rgba(8,27,44,.72), rgba(6,17,29,.96));
  overflow:hidden;
}

.mos-archive-hero::after {
  content:"S";
  position:absolute;
  right:5vw;
  top:-74px;
  font-size:20rem;
  line-height:1;
  font-weight:1000;
  font-style:italic;
  color:rgba(255,255,255,.018);
  transform:rotate(-8deg);
  pointer-events:none;
}

.mos-archive-hero__eyebrow {
  margin:0 0 8px;
  color:#ef5a62;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.11em;
}

.mos-archive-hero h1 {
  margin:0;
  color:#fff;
  font-size:clamp(2.5rem,7vw,5.6rem);
  line-height:.92;
  text-transform:uppercase;
  letter-spacing:-.045em;
}

.mos-archive-hero__intro {
  max-width:700px;
  margin:18px 0 0;
  color:#a8c0d0;
  font-size:1rem;
  line-height:1.65;
}

.mos-archive-switcher {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:28px;
}

.mos-archive-switcher a {
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 13px;
  border:1px solid rgba(130,169,197,.24);
  color:#bad0dd;
  text-decoration:none;
  font-size:.74rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.045em;
  background:rgba(255,255,255,.02);
}

.mos-archive-switcher a:hover,
.mos-archive-switcher a.is-active {
  color:#fff;
  border-color:rgba(227,38,46,.7);
  background:rgba(227,38,46,.12);
}

.mos-archive-content {
  padding-top:34px;
  padding-bottom:70px;
}

.mos-archive-toolbar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:18px;
}

.mos-archive-count {
  color:var(--mos-muted);
  font-size:.74rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.mos-work-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.mos-work-card {
  min-width:0;
}

.mos-work-card__link {
  display:block;
  height:100%;
  color:inherit;
  text-decoration:none;
  border:1px solid rgba(130,169,197,.20);
  background:
    linear-gradient(180deg, rgba(13,34,52,.98), rgba(6,18,30,.99));
  overflow:hidden;
  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.mos-work-card__link:hover {
  transform:translateY(-5px);
  border-color:rgba(227,38,46,.64);
  box-shadow:0 20px 38px rgba(0,0,0,.27);
}

.mos-work-card__visual {
  position:relative;
  aspect-ratio:2/3;
  overflow:hidden;
  background:#0a1b2b;
}

.mos-work-card__visual::after {
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:42%;
  background:linear-gradient(0deg, rgba(5,15,25,.8), transparent);
  pointer-events:none;
}

.mos-work-card__visual img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .3s ease;
}

.mos-work-card__link:hover img {
  transform:scale(1.035);
}

.mos-work-card__placeholder {
  width:100%;
  height:100%;
  background:
    radial-gradient(circle at 50% 25%, rgba(24,117,168,.28), transparent 35%),
    linear-gradient(145deg, rgba(24,117,168,.18), rgba(227,38,46,.08)),
    #0a1b2b;
}

.mos-work-card__type,
.mos-work-card__year {
  position:absolute;
  bottom:10px;
  z-index:2;
  padding:4px 7px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(5,15,25,.86);
  color:#fff;
  font-size:.64rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.045em;
}

.mos-work-card__type { left:10px; }
.mos-work-card__year { right:10px; color:#f16c73; }

.mos-work-card__body {
  padding:14px 13px 15px;
}

.mos-work-card__body h2 {
  margin:0;
  color:#fff;
  font-size:.92rem;
  line-height:1.3;
  text-transform:uppercase;
}

.mos-work-card__themes {
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:9px;
}

.mos-work-card__themes span {
  padding:3px 6px;
  border:1px solid rgba(24,117,168,.3);
  color:#8fb8d0;
  font-size:.61rem;
  text-transform:uppercase;
}

.mos-work-card__cta {
  display:block;
  margin-top:14px;
  padding-top:10px;
  border-top:1px solid rgba(130,169,197,.12);
  color:#dbe8f0;
  font-size:.7rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.mos-work-card__cta b {
  color:var(--mos-red);
  font-size:1rem;
  margin-left:4px;
}

.mos-pagination {
  margin-top:34px;
}

.mos-pagination .page-numbers {
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:7px;
  padding:0;
  margin:0;
}

.mos-pagination .page-numbers a,
.mos-pagination .page-numbers span {
  display:grid;
  place-items:center;
  min-width:38px;
  min-height:38px;
  padding:0 10px;
  border:1px solid rgba(130,169,197,.22);
  color:#bdd1dd;
  text-decoration:none;
  background:#081724;
}

.mos-pagination .page-numbers .current,
.mos-pagination .page-numbers a:hover {
  color:#fff;
  border-color:var(--mos-red);
  background:rgba(227,38,46,.12);
}

@media (max-width:1050px) {
  .mos-work-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:720px) {
  .mos-archive-hero {
    padding:46px 0 28px;
  }

  .mos-work-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:11px;
  }

  .mos-work-card__body {
    padding:11px 10px 12px;
  }

  .mos-work-card__body h2 {
    font-size:.78rem;
  }

  .mos-work-card__themes {
    display:none;
  }
}


/* V0.9 — Graphe éditorial / tout relier */
.mos-inline-link {
  color:#8fd0f0;
  text-decoration:none;
  border-bottom:1px solid rgba(143,208,240,.28);
  transition:color .18s ease,border-color .18s ease;
}

.mos-inline-link:hover {
  color:#fff;
  border-bottom-color:var(--mos-red);
}

.mos-connections-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.mos-connection-group {
  min-width:0;
  padding:14px;
  border:1px solid rgba(130,169,197,.14);
  background:rgba(255,255,255,.015);
}

.mos-connection-group h3 {
  margin:0 0 10px;
  color:#dbe7ef;
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.055em;
}

.mos-connection-links {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.mos-connection-links a,
.mos-connection-links .is-static {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:32px;
  padding:6px 9px;
  border:1px solid rgba(24,117,168,.34);
  background:rgba(24,117,168,.08);
  color:#cfe8f7;
  text-decoration:none;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.025em;
}

.mos-connection-links a:hover {
  border-color:rgba(227,38,46,.7);
  color:#fff;
}

.mos-connection-links b {
  color:var(--mos-red);
}

@media (max-width:900px) {
  .mos-connections-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:560px) {
  .mos-connections-grid {
    grid-template-columns:1fr;
  }
}


/* V0.10 — pages de taxonomie premium */
.mos-tax-hero h1 {
  max-width:950px;
}

.mos-tax-back {
  display:inline-flex;
  margin-top:24px;
  color:#9fc2d7;
  text-decoration:none;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.045em;
}

.mos-tax-back:hover {
  color:#fff;
}

.mos-tax-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:24px;
  padding-top:34px;
  padding-bottom:70px;
}

.mos-tax-results {
  min-width:0;
}

.mos-work-grid--taxonomy {
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.mos-tax-related {
  min-width:0;
}

.mos-tax-related .mos-film-card {
  position:sticky;
  top:86px;
}

.mos-tax-related__links {
  display:flex;
  flex-direction:column;
  gap:7px;
}

.mos-tax-related__links a {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:10px;
  border:1px solid rgba(130,169,197,.14);
  background:rgba(255,255,255,.015);
  color:inherit;
  text-decoration:none;
}

.mos-tax-related__links a:hover {
  border-color:rgba(227,38,46,.58);
  background:rgba(227,38,46,.055);
}

.mos-tax-related__links span {
  min-width:0;
}

.mos-tax-related__links small {
  display:block;
  margin-bottom:2px;
  color:#779db5;
  font-size:.59rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.045em;
}

.mos-tax-related__links strong {
  display:block;
  overflow:hidden;
  color:#e7f0f5;
  font-size:.75rem;
  line-height:1.25;
  text-overflow:ellipsis;
}

.mos-tax-related__links b {
  display:grid;
  place-items:center;
  min-width:26px;
  height:26px;
  border:1px solid rgba(24,117,168,.3);
  color:#ef6a71;
  font-size:.68rem;
}

@media (max-width:1000px) {
  .mos-tax-layout {
    grid-template-columns:1fr;
  }

  .mos-tax-related .mos-film-card {
    position:static;
  }

  .mos-tax-related__links {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:720px) {
  .mos-work-grid--taxonomy {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:520px) {
  .mos-tax-related__links {
    grid-template-columns:1fr;
  }
}


/* V0.11 — ajustements de composition */
.mos-film-subsection {
  scroll-margin-top:95px;
}

.mos-film-subsection > .mos-film-card {
  margin:0;
}

/* La galerie dans la colonne de droite doit rester compacte en haut de fiche */
.mos-film-overview .mos-gallery-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
}

@media (max-width:1100px) {
  .mos-film-overview .mos-gallery-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:640px) {
  .mos-film-overview .mos-gallery-grid {
    grid-template-columns:1fr 1fr;
  }
}


/* V0.12 — Séries & Animation */
.post-type-archive-television .mos-archive-hero,
.post-type-archive-os_television .mos-archive-hero {
  background:
    radial-gradient(circle at 76% 12%, rgba(24,117,168,.18), transparent 24rem),
    linear-gradient(180deg, rgba(8,27,44,.72), rgba(6,17,29,.96));
}

.post-type-archive-animation .mos-archive-hero,
.post-type-archive-os_animation .mos-archive-hero {
  background:
    radial-gradient(circle at 76% 12%, rgba(212,170,40,.10), transparent 24rem),
    linear-gradient(180deg, rgba(8,27,44,.72), rgba(6,17,29,.96));
}

/* Sur les séries, certaines valeurs sont plus naturellement longues */
.single-television .mos-info-row dd,
.single-os_television .mos-info-row dd {
  line-height:1.45;
}

/* En animation, les cartes de casting peuvent représenter des comédiens voix */
.single-animation .mos-cast-card__body p,
.single-os_animation .mos-cast-card__body p {
  color:#c7b46c;
}


/* V0.13 — Portail / page d'accueil */
.mos-home {
  background:#06111d;
  color:#eaf2f7;
}

.mos-home-hero {
  position:relative;
  min-height:620px;
  display:flex;
  align-items:flex-end;
  background:
    linear-gradient(90deg, rgba(4,13,23,.96) 0%, rgba(4,13,23,.76) 42%, rgba(4,13,23,.2) 76%),
    linear-gradient(0deg, #06111d 0%, transparent 42%),
    var(--mos-home-backdrop, linear-gradient(135deg,#0d2d45,#06111d));
  background-size:cover;
  background-position:center;
  overflow:hidden;
}

.mos-home-hero__shade {
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 70% 35%, transparent 0 15%, rgba(6,17,29,.08) 48%, rgba(6,17,29,.55) 100%);
}

.mos-home-hero__inner {
  position:relative;
  z-index:2;
  padding-top:110px;
  padding-bottom:70px;
}

.mos-home-kicker {
  margin:0 0 10px;
  color:#ef5c64;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.mos-home-hero h1 {
  max-width:760px;
  margin:0;
  color:#fff;
  font-size:clamp(3rem,7vw,6.6rem);
  line-height:.88;
  letter-spacing:-.055em;
  text-transform:uppercase;
}

.mos-home-hero h1 em {
  color:#e3262e;
  font-style:normal;
}

.mos-home-hero__lead {
  max-width:650px;
  margin:22px 0 0;
  color:#b7cad7;
  font-size:1.02rem;
  line-height:1.7;
}

.mos-home-hero__actions {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:28px;
}

.mos-home-hero__actions a,
.mos-home-explore__inner > a {
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 15px;
  text-decoration:none;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em;
}

.mos-home-primary {
  color:#fff;
  background:#d9232d;
  border:1px solid #ed4b53;
}

.mos-home-secondary {
  color:#d7e6ef;
  background:rgba(7,22,35,.72);
  border:1px solid rgba(160,194,214,.28);
}

.mos-home-hero__featured {
  display:flex;
  flex-direction:column;
  width:max-content;
  max-width:100%;
  margin-top:42px;
  padding-left:13px;
  border-left:3px solid #d9232d;
}

.mos-home-hero__featured span,
.mos-home-hero__featured small {
  color:#8eabba;
  font-size:.65rem;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.mos-home-hero__featured strong {
  margin:2px 0;
  color:#fff;
  font-size:.92rem;
}

.mos-home-categories {
  border-top:1px solid rgba(130,169,197,.12);
  border-bottom:1px solid rgba(130,169,197,.12);
  background:#071522;
}

.mos-home-categories__grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.mos-home-categories a {
  position:relative;
  display:grid;
  grid-template-columns:42px 1fr;
  grid-template-rows:auto auto;
  gap:0 10px;
  padding:22px 20px;
  color:inherit;
  text-decoration:none;
  border-right:1px solid rgba(130,169,197,.12);
}

.mos-home-categories a:last-child { border-right:0; }

.mos-home-categories a:hover {
  background:rgba(24,117,168,.08);
}

.mos-home-categories span {
  grid-row:1 / 3;
  align-self:center;
  color:#e3262e;
  font-size:.7rem;
  font-weight:900;
}

.mos-home-categories strong {
  color:#fff;
  font-size:.9rem;
  text-transform:uppercase;
}

.mos-home-categories small {
  margin-top:3px;
  color:#7698ac;
  font-size:.7rem;
}

.mos-home-section {
  padding:58px 0;
  border-bottom:1px solid rgba(130,169,197,.09);
}

.mos-home-section__header {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  margin-bottom:20px;
}

.mos-home-section__header h2,
.mos-home-explore h2 {
  margin:0;
  color:#fff;
  font-size:clamp(1.8rem,4vw,3.2rem);
  line-height:1;
  text-transform:uppercase;
  letter-spacing:-.035em;
}

.mos-home-section__header > a {
  color:#9dc1d6;
  text-decoration:none;
  font-size:.72rem;
  font-weight:850;
  text-transform:uppercase;
}

.mos-portal-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:17px;
}

.mos-portal-card {
  min-width:0;
}

.mos-portal-card > a {
  display:block;
  height:100%;
  color:inherit;
  text-decoration:none;
  border:1px solid rgba(130,169,197,.16);
  background:#081724;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}

.mos-portal-card > a:hover {
  transform:translateY(-5px);
  border-color:rgba(227,38,46,.6);
  box-shadow:0 20px 38px rgba(0,0,0,.28);
}

.mos-portal-card__visual {
  position:relative;
  aspect-ratio:2/3;
  overflow:hidden;
  background:#0a1b2b;
}

.mos-portal-card__visual::after {
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:36%;
  background:linear-gradient(0deg,rgba(4,13,23,.84),transparent);
}

.mos-portal-card__visual img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .28s ease;
}

.mos-portal-card > a:hover img { transform:scale(1.035); }

.mos-portal-card__meta {
  position:absolute;
  z-index:2;
  left:9px;
  right:9px;
  bottom:9px;
  display:flex;
  justify-content:space-between;
  gap:8px;
}

.mos-portal-card__meta span,
.mos-portal-card__meta b {
  padding:4px 6px;
  background:rgba(5,15,25,.88);
  border:1px solid rgba(255,255,255,.13);
  color:#fff;
  font-size:.61rem;
  text-transform:uppercase;
}

.mos-portal-card__meta b { color:#ef676f; }

.mos-portal-card__body {
  padding:13px;
}

.mos-portal-card__body h3 {
  margin:0;
  color:#fff;
  font-size:.86rem;
  line-height:1.28;
  text-transform:uppercase;
}

.mos-portal-card__body p {
  margin:9px 0 0;
  color:#7898aa;
  font-size:.72rem;
  line-height:1.5;
}

.mos-portal-card__body strong {
  display:block;
  margin-top:13px;
  padding-top:10px;
  border-top:1px solid rgba(130,169,197,.1);
  color:#b8d1df;
  font-size:.65rem;
  text-transform:uppercase;
}

.mos-home-explore {
  padding:70px 0;
  background:
    radial-gradient(circle at 78% 50%,rgba(24,117,168,.14),transparent 24rem),
    #071522;
}

.mos-home-explore__inner {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
}

.mos-home-explore__inner > div {
  max-width:760px;
}

.mos-home-explore p:not(.mos-home-kicker) {
  max-width:650px;
  margin:16px 0 0;
  color:#91acbb;
  line-height:1.65;
}

.mos-home-explore__inner > a {
  flex:none;
  color:#fff;
  border:1px solid rgba(227,38,46,.65);
  background:rgba(227,38,46,.1);
}

@media (max-width:1000px) {
  .mos-portal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:720px) {
  .mos-home-hero { min-height:560px; }
  .mos-home-hero__inner { padding-top:80px; padding-bottom:48px; }

  .mos-home-categories__grid { grid-template-columns:1fr; }
  .mos-home-categories a {
    border-right:0;
    border-bottom:1px solid rgba(130,169,197,.12);
  }

  .mos-home-section { padding:42px 0; }
  .mos-home-explore__inner { display:block; }
  .mos-home-explore__inner > a { margin-top:24px; }
}

@media (max-width:520px) {
  .mos-portal-grid { gap:10px; }
  .mos-portal-card__body p { display:none; }
  .mos-home-section__header { align-items:flex-start; }
}


/* V0.14 — Header Mag Of Steel */
.mos-site-header {
  position:sticky;
  top:0;
  z-index:999;
  color:#eaf2f7;
}

.admin-bar .mos-site-header {
  top:32px;
}

.mos-site-header__bar {
  background:rgba(5,15,25,.94);
  border-bottom:1px solid rgba(130,169,197,.14);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  transition:background .2s ease,box-shadow .2s ease;
}

.mos-site-header.is-scrolled .mos-site-header__bar {
  background:rgba(4,13,22,.985);
  box-shadow:0 10px 30px rgba(0,0,0,.28);
}

.mos-header-shell {
  width:min(1380px,calc(100% - 40px));
  margin:0 auto;
}

.mos-site-header__bar .mos-header-shell {
  min-height:72px;
  display:flex;
  align-items:center;
  gap:28px;
}

.mos-brand {
  flex:none;
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  text-decoration:none;
}

.mos-brand__logo {
  display:flex;
  align-items:center;
}

.mos-brand__logo .custom-logo-link {
  display:flex;
}

.mos-brand__logo img {
  width:auto;
  max-width:54px;
  max-height:52px;
  object-fit:contain;
}

.mos-brand__shield {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  color:#fff;
  background:#d9232d;
  clip-path:polygon(50% 0,95% 22%,82% 75%,50% 100%,18% 75%,5% 22%);
  font-size:1.35rem;
  font-weight:1000;
  font-style:italic;
}

.mos-brand__text {
  display:flex;
  flex-direction:column;
  line-height:1;
}

.mos-brand__text strong {
  color:#fff;
  font-size:1rem;
  font-weight:950;
  letter-spacing:-.035em;
}

.mos-brand__text strong i {
  color:#e3262e;
  font-style:normal;
  font-size:.7em;
}

.mos-brand__text small {
  margin-top:4px;
  color:#668ba2;
  font-size:.57rem;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.mos-main-nav {
  display:flex;
  align-items:stretch;
  align-self:stretch;
  gap:2px;
  margin-left:auto;
}

.mos-main-nav > a,
.mos-main-nav > li > a {
  position:relative;
  display:flex;
  align-items:center;
  padding:0 12px;
  color:#a9c0ce;
  text-decoration:none;
  font-size:.7rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.045em;
  white-space:nowrap;
}

.mos-main-nav > li {
  display:flex;
  margin:0;
  list-style:none;
}

.mos-main-nav > a::after,
.mos-main-nav > li > a::after {
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:0;
  height:2px;
  background:#e3262e;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .18s ease;
}

.mos-main-nav > a:hover,
.mos-main-nav > li > a:hover,
.mos-main-nav > a.is-active {
  color:#fff;
}

.mos-main-nav > a:hover::after,
.mos-main-nav > li > a:hover::after,
.mos-main-nav > a.is-active::after {
  transform:scaleX(1);
}

.mos-header-actions {
  flex:none;
  display:flex;
  align-items:center;
  gap:7px;
}

.mos-search-toggle,
.mos-menu-toggle {
  appearance:none;
  border:0;
  background:transparent;
  color:#bdd0dc;
  cursor:pointer;
}

.mos-search-toggle {
  display:flex;
  align-items:center;
  gap:7px;
  padding:9px 7px;
}

.mos-search-toggle > span {
  position:relative;
  width:15px;
  height:15px;
  border:2px solid currentColor;
  border-radius:50%;
}

.mos-search-toggle > span::after {
  content:"";
  position:absolute;
  width:6px;
  height:2px;
  right:-5px;
  bottom:-2px;
  background:currentColor;
  transform:rotate(45deg);
}

.mos-search-toggle b {
  font-size:.65rem;
  text-transform:uppercase;
}

.mos-menu-toggle {
  display:none;
  width:40px;
  height:40px;
  padding:10px;
}

.mos-menu-toggle > span {
  display:block;
  width:100%;
  height:2px;
  margin:4px 0;
  background:currentColor;
}

.mos-header-search {
  background:#071522;
  border-bottom:1px solid rgba(130,169,197,.16);
  box-shadow:0 14px 30px rgba(0,0,0,.2);
}

.mos-header-search[hidden] {
  display:none;
}

.mos-header-search form {
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  padding:14px 0;
}

.mos-header-search input {
  min-width:0;
  height:42px;
  padding:0 13px;
  border:1px solid rgba(130,169,197,.22);
  outline:0;
  background:#06111d;
  color:#fff;
}

.mos-header-search input:focus {
  border-color:rgba(227,38,46,.7);
}

.mos-header-search button {
  min-height:42px;
  padding:0 15px;
  border:1px solid #e44951;
  background:#d9232d;
  color:#fff;
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  cursor:pointer;
}

@media (max-width:1050px) {
  .mos-main-nav {
    position:absolute;
    left:0;
    right:0;
    top:100%;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:8px 20px 18px;
    background:#06111d;
    border-bottom:1px solid rgba(130,169,197,.16);
    box-shadow:0 18px 30px rgba(0,0,0,.3);
  }

  .mos-main-nav.is-open {
    display:flex;
  }

  .mos-main-nav > a,
  .mos-main-nav > li,
  .mos-main-nav > li > a {
    width:100%;
  }

  .mos-main-nav > a,
  .mos-main-nav > li > a {
    min-height:43px;
    padding:0 5px;
    border-bottom:1px solid rgba(130,169,197,.08);
  }

  .mos-main-nav > a::after,
  .mos-main-nav > li > a::after {
    left:0;
    right:auto;
    width:3px;
    top:10px;
    bottom:10px;
    height:auto;
    transform:scaleY(0);
  }

  .mos-main-nav > a:hover::after,
  .mos-main-nav > li > a:hover::after,
  .mos-main-nav > a.is-active::after {
    transform:scaleY(1);
  }

  .mos-menu-toggle {
    display:block;
  }
}

@media (max-width:782px) {
  .admin-bar .mos-site-header {
    top:46px;
  }
}

@media (max-width:620px) {
  .mos-header-shell {
    width:min(100% - 24px,1380px);
  }

  .mos-site-header__bar .mos-header-shell {
    min-height:62px;
    gap:10px;
  }

  .mos-brand__logo img {
    max-width:43px;
    max-height:42px;
  }

  .mos-brand__shield {
    width:36px;
    height:36px;
  }

  .mos-brand__text strong {
    font-size:.86rem;
  }

  .mos-brand__text small,
  .mos-search-toggle b {
    display:none;
  }

  .mos-header-search form {
    grid-template-columns:1fr;
  }
}

.mos-featured-strip{background:#030b12;border-bottom:1px solid rgba(130,169,197,.10)}.mos-featured-strip__inner{min-height:34px;display:flex;align-items:center;gap:16px}.mos-featured-strip__label{flex:none;color:#e85a62;font-size:.70rem;font-weight:900;text-transform:uppercase;letter-spacing:.075em}.mos-featured-strip nav{display:flex;align-items:center;gap:18px;min-width:0;overflow-x:auto;scrollbar-width:none}.mos-featured-strip nav::-webkit-scrollbar{display:none}.mos-featured-strip nav a{flex:none;color:#b9cbd6;text-decoration:none;font-size:.76rem;font-weight:750}.mos-featured-strip nav a:hover{color:#fff}.mos-brand--typographic .mos-brand__text strong{font-size:1.18rem}.mos-brand--typographic .mos-brand__text small{font-size:.64rem}.mos-main-nav>a,.mos-main-nav>li>a{font-size:.80rem;padding-inline:14px}.mos-search-toggle b{font-size:.73rem}.mos-film-page,.mos-archive-page,.mos-home{font-size:16px}.mos-section-heading h2{font-size:1.08rem}.mos-info-row{font-size:.96rem}.mos-tech-group h3,.mos-tax-label,.mos-section-kicker{font-size:.78rem}.mos-cast-card__body h3,.mos-gallery-card__body h3,.mos-related-card__body h3{font-size:.88rem}.mos-cast-card__body p,.mos-gallery-card__body p{font-size:.82rem}.mos-home-hero__subtitle{max-width:720px;margin:10px 0 0;color:#b8ccd8;font-size:clamp(1.2rem,2.2vw,1.8rem);font-weight:600}.mos-home-hero__lead{font-size:1.08rem}.mos-db-explorer{padding:62px 0;border-bottom:1px solid rgba(130,169,197,.10);background:radial-gradient(circle at 86% 18%,rgba(24,117,168,.15),transparent 25rem),#071522}.mos-db-explorer__header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px}.mos-db-explorer__header h2{margin:0;color:#fff;font-size:clamp(2rem,4.5vw,3.7rem);line-height:.95;text-transform:uppercase;letter-spacing:-.045em}.mos-db-explorer__header p:not(.mos-home-kicker){max-width:700px;margin:12px 0 0;color:#91aebe;font-size:1rem}.mos-db-index{flex:none;color:rgba(147,183,205,.28);font-size:.72rem;font-weight:900;letter-spacing:.12em}.mos-db-panel{padding:20px;border:1px solid rgba(130,169,197,.20);background:linear-gradient(180deg,rgba(11,31,49,.88),rgba(6,20,33,.95))}.mos-db-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mos-db-field{min-width:0}.mos-db-field>span,.mos-db-search>label,.mos-db-genres>span{display:block;margin-bottom:7px;color:#8eabbc;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.055em}.mos-db-field select,.mos-db-search input{width:100%;min-width:0;height:46px;padding:0 12px;border:1px solid rgba(130,169,197,.23);border-radius:0;outline:0;background:#06111d;color:#e9f2f7;font-size:.92rem}.mos-db-field select:focus,.mos-db-search input:focus{border-color:rgba(227,38,46,.70)}.mos-db-genres{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(130,169,197,.12)}.mos-db-genres>span{margin:0 5px 0 0}.mos-db-genres a{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid rgba(24,117,168,.35);background:rgba(24,117,168,.08);color:#cce4f1;text-decoration:none;font-size:.80rem;font-weight:850;text-transform:uppercase}.mos-db-genres a:hover{border-color:rgba(227,38,46,.65);color:#fff}.mos-db-search{margin-top:16px}.mos-db-search>div{display:grid;grid-template-columns:1fr auto;gap:8px}.mos-db-search button{min-height:46px;padding:0 18px;border:1px solid #ea4c54;background:#d9232d;color:#fff;font-size:.78rem;font-weight:900;text-transform:uppercase}.mos-portal-card__meta span,.mos-portal-card__meta b{padding:6px 9px;font-size:.75rem;font-weight:900}.mos-portal-card__body h3{font-size:.96rem}.mos-portal-card__body strong{font-size:.72rem}.mos-work-grid,.mos-work-grid--taxonomy{grid-template-columns:repeat(4,minmax(0,1fr))}.mos-work-card__type,.mos-work-card__year{padding:6px 8px;font-size:.73rem}.mos-work-card__body h2{font-size:.98rem}.mos-work-card__themes span{font-size:.68rem}.mos-work-card__cta{font-size:.76rem}@media(max-width:1100px){.mos-db-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.mos-work-grid,.mos-work-grid--taxonomy{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.mos-featured-strip__label{display:none}.mos-featured-strip__inner{min-height:32px}.mos-featured-strip nav{gap:14px}.mos-featured-strip nav a{font-size:.70rem}.mos-db-explorer__header{display:block}.mos-db-index{margin-top:12px}.mos-db-fields{grid-template-columns:1fr}.mos-work-grid,.mos-work-grid--taxonomy{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* V0.16 — tailles fortement augmentées */
.mos-brand--typographic .mos-brand__text strong {
  font-size: 2rem;
}
.mos-brand--typographic .mos-brand__text small {
  font-size: .95rem;
}
.mos-main-nav > a,
.mos-main-nav > li > a {
  font-size: 1rem;
  padding-inline: 16px;
  line-height: 1.15;
}
.mos-main-nav > a span {
  display:block;
  margin-left:5px;
  color:#6f93a8;
  font-size:.72em;
  font-weight:750;
}
.mos-featured-strip nav a {
  font-size: 1rem;
}
.mos-featured-strip__label {
  font-size: .9rem;
}
.mos-search-toggle b {
  font-size: .9rem;
}

.mos-home-kicker,
.mos-archive-hero__eyebrow,
.mos-section-kicker,
.mos-tax-label {
  font-size: .9rem;
}

.mos-home-section__header > a,
.mos-work-card__cta,
.mos-portal-card__body strong {
  font-size: .9rem;
}

.mos-portal-card__body h3,
.mos-work-card__body h2,
.mos-cast-card__body h3,
.mos-gallery-card__body h3 {
  font-size: 1.1rem;
}

.mos-info-row,
.mos-richtext,
.mos-tech-group,
.mos-taxonomy-card {
  font-size: 1.02rem;
}

/* Hero accueil : plus horizontal, lumineux, coloré */
.mos-home-hero {
  min-height: 430px;
  align-items:center;
  background:
    linear-gradient(90deg,
      rgba(4,13,23,.86) 0%,
      rgba(4,13,23,.62) 32%,
      rgba(4,13,23,.16) 62%,
      rgba(4,13,23,.04) 100%
    ),
    linear-gradient(0deg, rgba(6,17,29,.86) 0%, transparent 34%),
    var(--mos-home-backdrop, linear-gradient(135deg,#184b71,#0a1a27));
  background-size:cover;
  background-position:center 28%;
}

.mos-home-hero__shade {
  background:
    radial-gradient(circle at 72% 42%, rgba(49,139,198,.18), transparent 28%),
    radial-gradient(circle at 64% 36%, rgba(227,38,46,.08), transparent 18%);
}

.mos-home-hero__inner {
  padding-top:62px;
  padding-bottom:62px;
}

.mos-home-hero h1 {
  max-width:820px;
  font-size:clamp(3.2rem,6vw,5.6rem);
  text-shadow:0 2px 14px rgba(0,0,0,.22);
}

.mos-home-hero__lead {
  max-width:700px;
  color:#d0dee7;
  font-size:1.15rem;
  text-shadow:0 1px 6px rgba(0,0,0,.22);
}

/* Miniatures : privilégier un rendu plus horizontal quand possible */
.mos-portal-card__visual {
  aspect-ratio: 16 / 10;
}

.mos-portal-card__visual img {
  object-fit: cover;
  object-position: center 25%;
}

.mos-portal-card__meta span,
.mos-portal-card__meta b {
  font-size:.9rem;
  padding:7px 10px;
}

/* Archives restent en affiches, 4 par ligne */
.mos-work-card__visual {
  aspect-ratio: 2 / 3;
}

/* Footer */
.mos-site-footer {
  padding:34px 0 24px;
  border-top:1px solid rgba(130,169,197,.16);
  background:#030b12;
  color:#d5e2ea;
}

.mos-footer-links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
}

.mos-footer-links a {
  color:#c6d9e5;
  text-decoration:none;
  font-size:1rem;
  font-weight:850;
  letter-spacing:.025em;
}

.mos-footer-links a:hover {
  color:#fff;
}

.mos-footer-links span {
  color:#e3262e;
}

.mos-footer-bottom {
  display:flex;
  justify-content:center;
  align-items:baseline;
  gap:10px;
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid rgba(130,169,197,.09);
}

.mos-footer-bottom strong {
  font-size:1.35rem;
  color:#fff;
}

.mos-footer-bottom strong i {
  color:#e3262e;
  font-style:normal;
}

.mos-footer-bottom > span {
  color:#7697aa;
  font-size:.9rem;
}

@media(max-width:1050px) {
  .mos-main-nav > a,
  .mos-main-nav > li > a {
    font-size:1rem;
  }

  .mos-main-nav > a span {
    display:inline;
  }
}

@media(max-width:700px) {
  .mos-brand--typographic .mos-brand__text strong {
    font-size:1.5rem;
  }

  .mos-brand--typographic .mos-brand__text small {
    font-size:.8rem;
  }

  .mos-home-hero {
    min-height:390px;
    background-position:center top;
  }

  .mos-portal-card__visual {
    aspect-ratio:4/3;
  }

  .mos-footer-links {
    flex-direction:column;
  }

  .mos-footer-links span {
    display:none;
  }
}


/* V0.17 — Homepage calée sur la maquette validée */
.mos-home--database {
  background:#030b12;
}

.mos-home-featured {
  padding:18px 0;
  border-bottom:2px solid #c81f28;
  background:#020810;
}

.mos-home-featured__layout {
  display:grid;
  grid-template-columns:150px 1fr 135px;
  gap:16px;
  align-items:stretch;
}

.mos-home-featured__label {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-left:10px;
  border-left:3px solid #e3262e;
  text-transform:uppercase;
}
.mos-home-featured__label span {
  color:#fff;
  font-size:1.05rem;
  font-weight:900;
}
.mos-home-featured__label strong {
  color:#58a9dc;
  font-size:1rem;
  line-height:1.1;
}

.mos-home-featured__cards {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.mos-home-featured-card {
  position:relative;
  min-width:0;
  aspect-ratio:2.15/1;
  overflow:hidden;
  border:1px solid rgba(130,169,197,.16);
  background:#071522;
  color:#fff;
  text-decoration:none;
}

.mos-home-featured-card__image,
.mos-home-featured-card__image img {
  width:100%;
  height:100%;
}
.mos-home-featured-card__image img {
  display:block;
  object-fit:cover;
  object-position:center;
}

.mos-home-featured-card__overlay {
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:12px;
  background:linear-gradient(0deg,rgba(3,11,18,.92),rgba(3,11,18,.08) 70%);
}

.mos-home-featured-card__overlay h2 {
  margin:0 0 6px;
  color:#fff;
  font-size:1.12rem;
  line-height:1.1;
  text-transform:uppercase;
}
.mos-home-featured-card__overlay div {
  display:flex;
  align-items:center;
  gap:8px;
}
.mos-home-featured-card__overlay span,
.mos-home-featured-card__overlay b {
  padding:4px 7px;
  font-size:.75rem;
  font-weight:900;
  text-transform:uppercase;
}
.mos-home-featured-card__overlay span {
  background:#d9232d;
  color:#fff;
}
.mos-home-featured-card__overlay b {
  color:#dce8ef;
}

.mos-home-featured__all {
  display:flex;
  align-items:center;
  justify-content:center;
  color:#7fc6ef;
  text-decoration:none;
  font-size:.86rem;
  font-weight:900;
  text-transform:uppercase;
  line-height:1.25;
}

.mos-home-brand {
  padding:28px 0 24px;
  background:
    radial-gradient(circle at 86% 45%,rgba(24,117,168,.20),transparent 28rem),
    linear-gradient(180deg,#071421,#04101a);
  border-bottom:1px solid rgba(130,169,197,.16);
}

.mos-home-brand__inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}

.mos-home-brand__identity {
  display:flex;
  align-items:center;
  gap:22px;
}

.mos-home-brand__mark {
  display:grid;
  place-items:center;
  width:130px;
  aspect-ratio:1.35/1;
  border:2px solid rgba(183,210,226,.55);
  clip-path:polygon(18% 0,82% 0,100% 45%,72% 100%,28% 100%,0 45%);
  color:#fff;
  font-size:2.35rem;
  font-weight:1000;
  letter-spacing:-.08em;
}

.mos-home-brand__identity h1 {
  margin:0;
  color:#f6f8fa;
  font-size:clamp(2.8rem,6vw,5.6rem);
  line-height:.9;
  letter-spacing:-.06em;
}
.mos-home-brand__identity h1 em {
  color:#df2a33;
  font-style:normal;
}
.mos-home-brand__identity p {
  margin:8px 0 0;
  color:#a9c0cf;
  font-size:1.15rem;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.mos-home-brand__tools {
  width:min(360px,35vw);
}
.mos-home-brand__tools form {
  display:grid;
  grid-template-columns:1fr 46px;
}
.mos-home-brand__tools input {
  min-width:0;
  height:46px;
  padding:0 13px;
  border:1px solid rgba(130,169,197,.25);
  background:#071522;
  color:#fff;
  font-size:.95rem;
}
.mos-home-brand__tools button {
  border:1px solid rgba(130,169,197,.25);
  background:#0a2033;
  color:#fff;
  font-size:1.25rem;
}
.mos-home-socials {
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:12px;
}
.mos-home-socials a {
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border:1px solid rgba(130,169,197,.25);
  border-radius:50%;
  color:#dbe7ef;
  text-decoration:none;
  font-size:.72rem;
  font-weight:900;
}

.mos-db-explorer--inline {
  padding:12px 0;
  background:#030b12;
}

.mos-db-panel--mockup {
  display:grid;
  grid-template-columns:190px 1fr 225px;
  gap:16px;
  align-items:end;
}

.mos-db-title strong,
.mos-db-title span,
.mos-db-title small {
  display:block;
}
.mos-db-title strong {
  color:#fff;
  font-size:1.05rem;
  text-transform:uppercase;
}
.mos-db-title span {
  color:#58a9dc;
  font-size:1.55rem;
  font-weight:900;
  text-transform:uppercase;
}
.mos-db-title small {
  margin-top:8px;
  color:#92aaba;
  font-size:.78rem;
  line-height:1.35;
  text-transform:uppercase;
}

.mos-db-panel--mockup .mos-db-fields {
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}

.mos-db-search--compact {
  margin:0;
}
.mos-db-search--compact > div {
  grid-template-columns:1fr 46px;
}

.mos-home-latest {
  padding-top:24px;
}
.mos-home-latest .mos-home-section__header {
  margin-bottom:14px;
}
.mos-home-latest .mos-home-section__header h2 {
  font-size:1.45rem;
  letter-spacing:-.025em;
}

.mos-home-latest__grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}

.mos-home-latest-card a {
  display:block;
  color:inherit;
  text-decoration:none;
}

.mos-home-latest-card__visual {
  position:relative;
  aspect-ratio:1.55/1;
  overflow:hidden;
  border:1px solid rgba(130,169,197,.18);
  background:#071522;
}
.mos-home-latest-card__visual img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.mos-home-latest-card__labels {
  position:absolute;
  left:8px;
  right:8px;
  top:8px;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:8px;
}
.mos-home-latest-card__labels span,
.mos-home-latest-card__labels b {
  padding:6px 9px;
  font-size:.86rem;
  font-weight:950;
  text-transform:uppercase;
  box-shadow:0 2px 8px rgba(0,0,0,.25);
}
.mos-home-latest-card__labels span {
  background:#d9232d;
  color:#fff;
}
.mos-home-latest-card__labels b {
  background:#17679a;
  color:#fff;
}

.mos-home-latest-card__body h3 {
  margin:8px 0 0;
  color:#fff;
  font-size:.96rem;
  line-height:1.25;
  text-transform:uppercase;
}

@media(max-width:1200px) {
  .mos-home-featured__layout {
    grid-template-columns:1fr;
  }
  .mos-home-featured__label,
  .mos-home-featured__all {
    display:none;
  }
  .mos-db-panel--mockup {
    grid-template-columns:1fr;
  }
  .mos-db-panel--mockup .mos-db-fields {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .mos-home-latest__grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:780px) {
  .mos-home-featured__cards {
    grid-template-columns:1fr;
  }
  .mos-home-brand__inner,
  .mos-home-brand__identity {
    display:block;
  }
  .mos-home-brand__mark {
    width:90px;
    margin-bottom:18px;
  }
  .mos-home-brand__tools {
    width:100%;
    margin-top:22px;
  }
  .mos-db-panel--mockup .mos-db-fields {
    grid-template-columns:1fr;
  }
  .mos-home-latest__grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* V0.18 — ordre maquette : shortcuts > brand > menu > database */
.mos-header-featured {
  padding:18px 0;
  border-bottom:2px solid #c81f28;
  background:#020810;
}

.mos-header-featured__layout {
  display:grid;
  grid-template-columns:150px 1fr 135px;
  gap:16px;
  align-items:stretch;
}

.mos-header-featured__label {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-left:10px;
  border-left:3px solid #e3262e;
  text-transform:uppercase;
}
.mos-header-featured__label span {
  color:#fff;
  font-size:1.05rem;
  font-weight:900;
}
.mos-header-featured__label strong {
  color:#58a9dc;
  font-size:1rem;
  line-height:1.1;
}

.mos-header-featured__cards {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.mos-header-featured-card {
  position:relative;
  min-width:0;
  aspect-ratio:2.15/1;
  overflow:hidden;
  border:1px solid rgba(130,169,197,.16);
  background:#071522;
  color:#fff;
  text-decoration:none;
}
.mos-header-featured-card img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.mos-header-featured-card__overlay {
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:12px;
  background:linear-gradient(0deg,rgba(3,11,18,.92),rgba(3,11,18,.08) 72%);
}
.mos-header-featured-card__overlay h2 {
  margin:0 0 6px;
  color:#fff;
  font-size:1.12rem;
  line-height:1.1;
  text-transform:uppercase;
}
.mos-header-featured-card__overlay div {
  display:flex;
  gap:8px;
  align-items:center;
}
.mos-header-featured-card__overlay span,
.mos-header-featured-card__overlay b {
  padding:4px 7px;
  font-size:.75rem;
  font-weight:900;
  text-transform:uppercase;
}
.mos-header-featured-card__overlay span {
  background:#d9232d;
  color:#fff;
}
.mos-header-featured-card__overlay b {
  color:#dce8ef;
}

.mos-header-featured__all {
  display:flex;
  align-items:center;
  justify-content:center;
  color:#7fc6ef;
  text-decoration:none;
  font-size:.86rem;
  font-weight:900;
  text-transform:uppercase;
  line-height:1.25;
}

.mos-header-brandbar {
  background:
    radial-gradient(circle at 86% 55%,rgba(24,117,168,.18),transparent 25rem),
    linear-gradient(180deg,#071421,#04101a);
  border-bottom:1px solid rgba(130,169,197,.16);
}

.mos-header-brandbar__inner {
  min-height:130px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
}

.mos-header-brandbar .mos-brand__text strong {
  font-size:3.2rem;
  letter-spacing:-.055em;
}
.mos-header-brandbar .mos-brand__text small {
  font-size:1rem;
  letter-spacing:.16em;
}

.mos-header-brandbar__tools {
  display:flex;
  align-items:center;
  gap:12px;
}
.mos-header-brandbar__tools form {
  display:grid;
  grid-template-columns:minmax(250px,330px) 48px;
}
.mos-header-brandbar__tools input {
  min-width:0;
  height:46px;
  padding:0 13px;
  border:1px solid rgba(130,169,197,.25);
  background:#071522;
  color:#fff;
  font-size:.95rem;
}
.mos-header-brandbar__tools button[type="submit"] {
  border:1px solid rgba(130,169,197,.25);
  background:#0a2033;
  color:#fff;
  font-size:1.25rem;
}

.mos-site-header__bar {
  background:#06111d;
  border-bottom:1px solid rgba(130,169,197,.18);
}

.mos-site-header__bar .mos-header-shell {
  min-height:76px;
}

.mos-main-nav {
  width:100%;
  justify-content:center;
  margin:0;
}

.mos-main-nav > li {
  position:relative;
}

.mos-main-nav > li > a {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:76px;
  padding:0 18px;
  color:#d5e3ec;
  font-size:.94rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.02em;
}

.mos-menu-icon {
  display:inline-grid;
  place-items:center;
  min-width:26px;
  color:#4a9fd1;
  font-size:1.35rem;
  font-weight:900;
}

.mos-menu-chevron {
  color:#e5b54c;
  font-size:.95rem;
}

.mos-sub-menu {
  position:absolute;
  left:0;
  top:100%;
  z-index:200;
  display:none;
  min-width:260px;
  margin:0;
  padding:8px;
  list-style:none;
  border:1px solid rgba(130,169,197,.18);
  background:#071522;
  box-shadow:0 18px 34px rgba(0,0,0,.32);
}

.mos-main-nav > li:hover > .mos-sub-menu,
.mos-main-nav > li:focus-within > .mos-sub-menu {
  display:block;
}

.mos-sub-menu li {
  list-style:none;
}

.mos-sub-menu a {
  display:block;
  padding:11px 12px;
  color:#bfd1dc;
  text-decoration:none;
  font-size:.86rem;
  font-weight:700;
  text-transform:none;
  border-bottom:1px solid rgba(130,169,197,.08);
}

.mos-sub-menu a:hover {
  color:#fff;
  background:rgba(24,117,168,.08);
}

/* Database filter — genre = three buttons */
.mos-db-panel--mockup {
  grid-template-columns:190px 1fr 225px;
}

.mos-db-field--genre {
  min-width:230px;
}

.mos-db-genre-buttons {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:5px;
}

.mos-db-genre-buttons a {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 8px;
  border:1px solid rgba(24,117,168,.35);
  background:#06111d;
  color:#cfe5f2;
  text-decoration:none;
  font-size:.75rem;
  font-weight:900;
  text-transform:uppercase;
}

.mos-db-genre-buttons a:hover {
  color:#fff;
  border-color:#e3262e;
  background:rgba(227,38,46,.08);
}

@media(max-width:1200px) {
  .mos-header-featured__layout {
    grid-template-columns:1fr;
  }
  .mos-header-featured__label,
  .mos-header-featured__all {
    display:none;
  }
  .mos-header-brandbar__inner {
    min-height:100px;
  }
  .mos-header-brandbar .mos-brand__text strong {
    font-size:2.3rem;
  }
}

@media(max-width:1050px) {
  .mos-main-nav {
    justify-content:flex-start;
  }

  .mos-main-nav > li > a {
    min-height:48px;
  }

  .mos-main-nav .mos-sub-menu {
    position:static;
    display:none;
    min-width:0;
    border:0;
    box-shadow:none;
    background:#081724;
  }

  .mos-main-nav .menu-item-has-children.is-submenu-open > .mos-sub-menu {
    display:block;
  }
}

@media(max-width:780px) {
  .mos-header-featured__cards {
    grid-template-columns:1fr;
  }

  .mos-header-brandbar__inner {
    display:block;
    padding:18px 0;
  }

  .mos-header-brandbar__tools {
    margin-top:15px;
  }

  .mos-header-brandbar__tools form {
    width:100%;
    grid-template-columns:1fr 46px;
  }

  .mos-db-genre-buttons {
    grid-template-columns:1fr;
  }
}


/* V0.19 — ajustement fin selon la maquette */

/* 1) Trois raccourcis miniatures comme la maquette */
.mos-header-featured {
  padding:20px 0 18px;
  background:#020810;
  border-bottom:3px solid #cb2029;
}

.mos-header-featured__layout {
  display:grid;
  grid-template-columns:150px minmax(0,1fr) 140px;
  align-items:center;
  gap:18px;
}

.mos-header-featured__cards {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.mos-header-featured-card {
  position:relative;
  min-width:0;
  height:168px;
  overflow:hidden;
  border:1px solid rgba(130,169,197,.14);
  border-radius:6px;
  background:#071522;
  color:#fff;
  text-decoration:none;
}

.mos-header-featured-card__visual,
.mos-header-featured-card__visual img {
  width:100%;
  height:100%;
}

.mos-header-featured-card__visual img {
  display:block;
  object-fit:cover;
  object-position:center 30%;
  filter:saturate(1.06) contrast(1.02);
}

.mos-header-featured-card__overlay {
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:14px;
  background:
    linear-gradient(90deg,rgba(2,8,16,.75),rgba(2,8,16,.08) 65%),
    linear-gradient(0deg,rgba(2,8,16,.92),transparent 65%);
}

.mos-header-featured-card__overlay h2 {
  margin:0 0 8px;
  color:#fff;
  font-size:1.28rem;
  font-weight:950;
  line-height:1.05;
  text-transform:uppercase;
  text-shadow:0 2px 6px rgba(0,0,0,.32);
}

.mos-header-featured-card__tags {
  display:flex;
  gap:7px;
  align-items:center;
}

.mos-header-featured-card__tags span,
.mos-header-featured-card__tags b {
  padding:5px 8px;
  font-size:.82rem;
  font-weight:950;
  text-transform:uppercase;
}

.mos-header-featured-card__tags span {
  color:#fff;
  background:#d9242d;
}

.mos-header-featured-card__tags b {
  color:#e8f2f8;
  background:rgba(7,29,48,.76);
  border:1px solid rgba(130,169,197,.18);
}

.mos-header-featured__label {
  padding-left:12px;
}

.mos-header-featured__label span {
  font-size:1.18rem;
}

.mos-header-featured__label strong {
  font-size:1.12rem;
}

.mos-header-featured__all {
  font-size:1rem;
}

/* 2) Menu = même présence visuelle, icônes bleues, police de taille maquette */
.mos-site-header__bar .mos-header-shell {
  min-height:82px;
}

.mos-main-nav {
  justify-content:center;
  gap:0;
}

.mos-main-nav > li > a {
  min-height:82px;
  padding:0 20px;
  gap:11px;
  color:#f1f5f8;
  font-size:1.05rem;
  font-weight:900;
  letter-spacing:.015em;
  border-right:1px solid rgba(130,169,197,.11);
}

.mos-main-nav > li:first-child > a {
  border-left:1px solid rgba(130,169,197,.11);
}

.mos-menu-icon {
  min-width:32px;
  font-size:1.7rem;
  color:#3f9dd6;
  text-shadow:0 0 10px rgba(63,157,214,.16);
}

.mos-menu-chevron {
  margin-left:2px;
  color:#efb948;
  font-size:1rem;
}

.mos-sub-menu {
  min-width:280px;
}

.mos-sub-menu a {
  font-size:.96rem;
  padding:13px 14px;
}

/* 3) Filtres = même gabarit que maquette, mais sans icônes */
.mos-db-explorer--inline {
  padding:14px 0 18px;
}

.mos-db-panel--mockup {
  display:grid;
  grid-template-columns:190px minmax(0,1fr) 240px;
  gap:14px;
  align-items:end;
  padding:18px 20px;
}

.mos-db-title strong {
  font-size:1.08rem;
}
.mos-db-title span {
  font-size:1.65rem;
}
.mos-db-title small {
  font-size:.82rem;
}

.mos-db-panel--mockup .mos-db-fields {
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}

.mos-db-field > span,
.mos-db-search > label {
  margin-bottom:7px;
  color:#d3e2eb;
  font-size:.9rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.025em;
}

.mos-db-field select,
.mos-db-search input {
  height:46px;
  font-size:.95rem;
}

.mos-db-genre-buttons {
  height:46px;
}

.mos-db-genre-buttons a {
  min-height:46px;
  font-size:.84rem;
}

.mos-db-search--compact > div {
  grid-template-columns:1fr 46px;
}

@media(max-width:1200px){
  .mos-header-featured__layout {
    grid-template-columns:1fr;
  }

  .mos-header-featured__label,
  .mos-header-featured__all {
    display:none;
  }

  .mos-header-featured-card {
    height:150px;
  }

  .mos-db-panel--mockup {
    grid-template-columns:1fr;
  }

  .mos-db-panel--mockup .mos-db-fields {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:1050px){
  .mos-main-nav > li > a {
    min-height:50px;
    font-size:1rem;
    border-right:0;
  }

  .mos-main-nav > li:first-child > a {
    border-left:0;
  }
}

@media(max-width:780px){
  .mos-header-featured__cards {
    grid-template-columns:1fr;
  }

  .mos-header-featured-card {
    height:170px;
  }

  .mos-db-panel--mockup .mos-db-fields {
    grid-template-columns:1fr;
  }
}


/* V0.19.1 — correction réelle des 3 fiches mises en avant */
.mos-header-featured {
  display:block !important;
  visibility:visible !important;
  padding:20px 0 18px !important;
  background:#020810 !important;
  border-bottom:3px solid #d5242e !important;
}

.mos-header-featured__layout {
  display:grid !important;
  grid-template-columns:150px minmax(0,1fr) 140px !important;
  gap:18px !important;
  align-items:center !important;
}

.mos-header-featured__cards {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
}

.mos-header-featured-card {
  position:relative !important;
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  height:170px !important;
  overflow:hidden !important;
  border:1px solid rgba(130,169,197,.18) !important;
  border-radius:7px !important;
  background:#081724 !important;
  color:#fff !important;
  text-decoration:none !important;
}

.mos-header-featured-card__visual {
  position:absolute !important;
  inset:0 !important;
}

.mos-header-featured-card__visual img {
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 28% !important;
  display:block !important;
}

.mos-header-featured-card__fallback {
  width:100%;
  height:100%;
  background:
    radial-gradient(circle at 65% 30%,rgba(55,140,198,.24),transparent 30%),
    linear-gradient(135deg,#102b40,#071522 60%,#0b1a26);
}

.mos-header-featured-card__overlay {
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  padding:14px !important;
  background:
    linear-gradient(90deg,rgba(1,8,14,.72) 0%,rgba(1,8,14,.22) 58%,transparent 100%),
    linear-gradient(0deg,rgba(1,8,14,.94) 0%,rgba(1,8,14,.24) 62%,transparent 100%) !important;
}

.mos-header-featured-card__overlay h2 {
  margin:0 0 8px !important;
  max-width:88% !important;
  color:#fff !important;
  font-size:1.38rem !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  text-shadow:0 2px 8px rgba(0,0,0,.45) !important;
}

.mos-header-featured-card__tags {
  display:flex !important;
  gap:7px !important;
  align-items:center !important;
}

.mos-header-featured-card__tags span,
.mos-header-featured-card__tags b {
  display:inline-flex !important;
  align-items:center !important;
  min-height:27px !important;
  padding:4px 8px !important;
  font-size:.82rem !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
}

.mos-header-featured-card__tags span {
  background:#dc2530 !important;
  color:#fff !important;
}

.mos-header-featured-card__tags b {
  background:#17699c !important;
  color:#fff !important;
}

@media(max-width:1200px){
  .mos-header-featured__layout {
    grid-template-columns:1fr !important;
  }

  .mos-header-featured__label,
  .mos-header-featured__all {
    display:none !important;
  }
}

@media(max-width:780px){
  .mos-header-featured__cards {
    grid-template-columns:1fr !important;
  }

  .mos-header-featured-card {
    height:180px !important;
  }
}


/* V0.19.2 — raccourcis haut : image à gauche, informations à droite */
.mos-header-featured-card {
  display:grid !important;
  grid-template-columns:56% 44% !important;
  height:168px !important;
  background:#071522 !important;
  border:1px solid rgba(130,169,197,.22) !important;
  border-radius:7px !important;
  overflow:hidden !important;
}

.mos-header-featured-card__visual {
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:100% !important;
  overflow:hidden !important;
}

.mos-header-featured-card__visual::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent 54%,rgba(7,21,34,.92) 100%);
  pointer-events:none;
}

.mos-header-featured-card__visual img {
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 28% !important;
  filter:saturate(1.08) contrast(1.02) !important;
}

.mos-header-featured-card__content {
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:14px 14px 14px 4px;
  background:
    radial-gradient(circle at 0 50%,rgba(27,80,113,.18),transparent 55%),
    #071522;
}

.mos-header-featured-card__content h2 {
  margin:0 0 13px !important;
  color:#fff !important;
  font-size:1.28rem !important;
  line-height:1.04 !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  overflow-wrap:anywhere;
}

.mos-header-featured-card__tags {
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}

.mos-header-featured-card__tags span,
.mos-header-featured-card__tags b {
  min-height:28px !important;
  display:inline-flex !important;
  align-items:center !important;
  padding:4px 9px !important;
  font-size:.84rem !important;
  line-height:1 !important;
  font-weight:950 !important;
}

.mos-header-featured-card__tags span {
  background:#d9232d !important;
  color:#fff !important;
}

.mos-header-featured-card__tags b {
  background:transparent !important;
  border:0 !important;
  color:#e6eef3 !important;
  padding-inline:2px !important;
}

/* Ancien overlay neutralisé : la V0.19.2 utilise une colonne texte séparée */
.mos-header-featured-card__overlay {
  display:none !important;
}

/* Menu toujours immédiatement sous l'identité / logo */
.mos-header-brandbar + .mos-site-header__bar {
  display:block !important;
  position:relative !important;
  z-index:120 !important;
}

.mos-header-brandbar + .mos-site-header__bar .mos-main-nav {
  display:flex !important;
}

@media(max-width:1200px){
  .mos-header-featured-card {
    height:160px !important;
  }
}

@media(max-width:780px){
  .mos-header-featured-card {
    grid-template-columns:52% 48% !important;
    height:150px !important;
  }
  .mos-header-featured-card__content h2 {
    font-size:1.05rem !important;
  }
  .mos-header-featured-card__tags span,
  .mos-header-featured-card__tags b {
    font-size:.74rem !important;
  }
}


/* V0.19.3 — menu toujours visible + cartes réellement image/texte */

/* MENU : ne dépend plus d'un emplacement WordPress */
.mos-site-header__bar {
  display:block !important;
  min-height:82px !important;
}

.mos-site-header__bar .mos-header-shell {
  display:flex !important;
  align-items:stretch !important;
  min-height:82px !important;
}

.mos-main-nav {
  display:flex !important;
  width:100% !important;
  min-height:82px !important;
  align-items:stretch !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
}

.mos-main-nav > li {
  position:relative !important;
  display:flex !important;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

.mos-main-nav > li > a {
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  min-height:82px !important;
  padding:0 17px !important;
  color:#f2f6f8 !important;
  text-decoration:none !important;
  font-size:1rem !important;
  font-weight:900 !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
}

.mos-main-nav .mos-menu-label {
  display:flex !important;
  flex-direction:column !important;
  gap:3px !important;
}

.mos-main-nav .mos-menu-label small {
  color:#7899ad !important;
  font-size:.66rem !important;
  font-weight:800 !important;
}

.mos-menu-icon {
  color:#459fd5 !important;
  font-size:1.65rem !important;
}

.mos-menu-chevron {
  color:#f0bb4d !important;
}

.mos-main-nav > li:hover > .mos-sub-menu,
.mos-main-nav > li:focus-within > .mos-sub-menu {
  display:block !important;
}

/* 3 FICHES : image horizontale à gauche, texte clairement séparé à droite */
.mos-header-featured__cards {
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

.mos-header-featured-card {
  display:grid !important;
  grid-template-columns:minmax(0,58%) minmax(0,42%) !important;
  height:166px !important;
  padding:0 !important;
  background:#071522 !important;
}

.mos-header-featured-card__visual {
  position:relative !important;
  width:100% !important;
  height:166px !important;
  overflow:hidden !important;
}

.mos-header-featured-card__visual::after {
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(90deg,transparent 72%,rgba(7,21,34,.88) 100%) !important;
}

.mos-header-featured-card__visual img {
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}

.mos-header-featured-card__content {
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  padding:14px 15px !important;
  background:#071522 !important;
}

.mos-header-featured-card__content h2 {
  margin:0 0 14px !important;
  color:#fff !important;
  font-size:1.22rem !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  text-align:left !important;
  text-transform:uppercase !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.mos-header-featured-card__tags {
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

.mos-header-featured-card__tags span {
  display:inline-flex !important;
  align-items:center !important;
  min-height:29px !important;
  padding:5px 10px !important;
  color:#fff !important;
  background:#d9232d !important;
  font-size:.82rem !important;
  font-weight:950 !important;
}

.mos-header-featured-card__tags b {
  display:inline-flex !important;
  align-items:center !important;
  min-height:29px !important;
  padding:5px 4px !important;
  color:#fff !important;
  background:transparent !important;
  font-size:.82rem !important;
  font-weight:950 !important;
}

@media(max-width:1200px) {
  .mos-main-nav {
    justify-content:flex-start !important;
  }

  .mos-main-nav > li > a {
    padding-inline:12px !important;
    font-size:.9rem !important;
  }
}

@media(max-width:1050px) {
  .mos-main-nav {
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    right:0 !important;
    min-height:0 !important;
    display:none !important;
    flex-direction:column !important;
    background:#06111d !important;
  }

  .mos-main-nav.is-open {
    display:flex !important;
  }

  .mos-main-nav > li {
    width:100% !important;
    display:block !important;
  }

  .mos-main-nav > li > a {
    min-height:52px !important;
    width:100% !important;
  }
}

@media(max-width:780px) {
  .mos-header-featured-card {
    grid-template-columns:55% 45% !important;
    height:155px !important;
  }

  .mos-header-featured-card__visual {
    height:155px !important;
  }

  .mos-header-featured-card__content h2 {
    font-size:1rem !important;
  }
}


/* V0.19.4 — Labels image façon maquette jointe
   Police condensée, grasse, cartouches compacts. */
.mos-home-latest-card__labels span,
.mos-home-latest-card__labels b,
.mos-portal-card__meta span,
.mos-portal-card__meta b,
.mos-work-card__type,
.mos-work-card__year,
.mos-header-featured-card__tags span,
.mos-header-featured-card__tags b {
  font-family:
    "Arial Narrow",
    "Roboto Condensed",
    "Helvetica Neue Condensed",
    "Liberation Sans Narrow",
    Impact,
    sans-serif !important;
  font-stretch: condensed !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .015em !important;
  text-transform: uppercase !important;
  min-height: 30px !important;
  padding: 6px 10px 5px !important;
  border-radius: 3px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow:
    0 2px 7px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}

/* Genre : rouge soutenu comme la référence */
.mos-home-latest-card__labels span,
.mos-work-card__type,
.mos-header-featured-card__tags span {
  color: #fff !important;
  background:
    linear-gradient(180deg, #e62d38 0%, #c91824 100%) !important;
}

/* Année : bleu Superman */
.mos-home-latest-card__labels b,
.mos-work-card__year,
.mos-header-featured-card__tags b {
  color: #fff !important;
  background:
    linear-gradient(180deg, #2d86c1 0%, #155b8f 100%) !important;
}

/* Petites cartes d'accueil : position plus proche des coins du modèle */
.mos-home-latest-card__labels {
  left: 10px !important;
  right: 10px !important;
  top: 10px !important;
}

/* Archives : année et genre bien lisibles dans les coins */
.mos-work-card__type,
.mos-work-card__year {
  bottom: 10px !important;
}

/* Le label animation peut rester jaune/orange pour le distinguer visuellement. */
.mos-home-latest-card .mos-home-latest-card__labels span {
  white-space: nowrap !important;
}

@media (max-width: 640px) {
  .mos-home-latest-card__labels span,
  .mos-home-latest-card__labels b,
  .mos-portal-card__meta span,
  .mos-portal-card__meta b,
  .mos-work-card__type,
  .mos-work-card__year,
  .mos-header-featured-card__tags span,
  .mos-header-featured-card__tags b {
    font-size: .88rem !important;
    min-height: 27px !important;
    padding: 5px 8px 4px !important;
  }
}


/* V0.19.4.2 — aucun sticky + labels conformes à la référence */
.mos-site-header,
.mos-header-brandbar,
.mos-site-header__bar,
.mos-film-nav {
  position: relative !important;
  top: auto !important;
}

.admin-bar .mos-site-header,
.admin-bar .mos-header-brandbar,
.admin-bar .mos-site-header__bar {
  top: auto !important;
}

.mos-home-latest-card__labels span,
.mos-home-latest-card__labels b,
.mos-portal-card__meta span,
.mos-portal-card__meta b,
.mos-work-card__type,
.mos-work-card__year {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:29px !important;
  padding:5px 9px 4px !important;
  font-family:"Arial Narrow","Liberation Sans Narrow","Helvetica Neue Condensed","Roboto Condensed",Arial,sans-serif !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:700 !important;
  font-stretch:condensed !important;
  letter-spacing:-.015em !important;
  text-transform:uppercase !important;
  color:#fff !important;
  border-radius:3px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  text-shadow:0 1px 1px rgba(0,0,0,.22) !important;
  box-shadow:0 2px 5px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.mos-home-latest-card__labels span,
.mos-portal-card__meta span,
.mos-work-card__type {
  background:linear-gradient(180deg,#e42e38 0%,#ca1d28 100%) !important;
}

.mos-home-latest-card__labels b,
.mos-portal-card__meta b,
.mos-work-card__year {
  background:linear-gradient(180deg,#2d7fb7 0%,#1b5f92 100%) !important;
}

.mos-home-latest-card__labels {
  top:10px !important;
  left:10px !important;
  right:10px !important;
}

.mos-home-latest-card__labels b {
  margin-left:auto !important;
}

@media(max-width:640px) {
  .mos-home-latest-card__labels span,
  .mos-home-latest-card__labels b,
  .mos-portal-card__meta span,
  .mos-portal-card__meta b,
  .mos-work-card__type,
  .mos-work-card__year {
    min-height:25px !important;
    padding:4px 7px 3px !important;
    font-size:15px !important;
  }
}


/* V0.19.4.3
   Les labels des 3 fiches du haut héritent exactement du même traitement
   que les miniatures "Derniers ajouts". */
.mos-header-featured-card__tags span,
.mos-header-featured-card__tags b {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  min-height:29px !important;
  padding:5px 9px 4px !important;

  font-family:
    "Arial Narrow",
    "Liberation Sans Narrow",
    "Helvetica Neue Condensed",
    "Roboto Condensed",
    Arial,
    sans-serif !important;

  font-size:18px !important;
  line-height:1 !important;
  font-weight:700 !important;
  font-stretch:condensed !important;
  letter-spacing:-.015em !important;
  text-transform:uppercase !important;

  color:#fff !important;
  border-radius:3px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  text-shadow:0 1px 1px rgba(0,0,0,.22) !important;
  box-shadow:
    0 2px 5px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.mos-header-featured-card__tags span {
  background:linear-gradient(180deg,#e42e38 0%,#ca1d28 100%) !important;
}

.mos-header-featured-card__tags b {
  background:linear-gradient(180deg,#2d7fb7 0%,#1b5f92 100%) !important;
}

/* Sous-menus réels : jusqu'à plusieurs niveaux si le menu WordPress en contient. */
.mos-sub-menu .menu-item-has-children {
  position:relative !important;
}

.mos-sub-menu .mos-sub-menu {
  left:100% !important;
  top:0 !important;
}

.mos-sub-menu li:hover > .mos-sub-menu,
.mos-sub-menu li:focus-within > .mos-sub-menu {
  display:block !important;
}

@media(max-width:1050px) {
  .mos-sub-menu .mos-sub-menu {
    position:static !important;
    left:auto !important;
    top:auto !important;
    box-shadow:none !important;
    margin-left:14px !important;
  }
}

@media(max-width:640px) {
  .mos-header-featured-card__tags span,
  .mos-header-featured-card__tags b {
    min-height:25px !important;
    padding:4px 7px 3px !important;
    font-size:15px !important;
  }
}


/* ==========================================================
   V0.19.4.4 — harmonisation globale
   ========================================================== */

/* Header featured : uniquement les 3 cartes, sans textes latéraux */
.mos-header-featured__layout {
  display:block !important;
}

.mos-header-featured__cards {
  width:100% !important;
}

/* Labels des 3 fiches DANS l'image */
.mos-header-featured-card__visual {
  position:relative !important;
}

.mos-header-featured-card__tags {
  position:absolute !important;
  left:9px !important;
  right:9px !important;
  top:9px !important;
  z-index:4 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  pointer-events:none !important;
}

/* Style de label UNIQUE sur tout le site */
.mos-header-featured-card__tags span,
.mos-header-featured-card__tags b,
.mos-home-latest-card__labels span,
.mos-home-latest-card__labels b,
.mos-portal-card__meta span,
.mos-portal-card__meta b,
.mos-work-card__type,
.mos-work-card__year,
.mos-related-card__type {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:29px !important;
  padding:5px 9px 4px !important;

  font-family:
    "Arial Narrow",
    "Liberation Sans Narrow",
    "Helvetica Neue Condensed",
    "Roboto Condensed",
    Arial,
    sans-serif !important;

  font-size:18px !important;
  line-height:1 !important;
  font-weight:700 !important;
  font-stretch:condensed !important;
  letter-spacing:-.015em !important;
  text-transform:uppercase !important;

  color:#fff !important;
  border-radius:3px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  text-shadow:0 1px 1px rgba(0,0,0,.22) !important;
  box-shadow:0 2px 5px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* Genre */
.mos-header-featured-card__tags span,
.mos-home-latest-card__labels span,
.mos-portal-card__meta span,
.mos-work-card__type,
.mos-related-card__type {
  background:linear-gradient(180deg,#e42e38 0%,#ca1d28 100%) !important;
}

/* Année */
.mos-header-featured-card__tags b,
.mos-home-latest-card__labels b,
.mos-portal-card__meta b,
.mos-work-card__year {
  background:linear-gradient(180deg,#2d7fb7 0%,#1b5f92 100%) !important;
}

/* Fiche technique : une seule colonne pour Film / Série / Animation */
.mos-tech-card--single .mos-info-list--single {
  display:block !important;
  width:100% !important;
}

.mos-tech-card--single .mos-info-row {
  display:grid !important;
  grid-template-columns:minmax(150px,34%) minmax(0,1fr) !important;
  gap:18px !important;
  align-items:start !important;
  padding:11px 0 !important;
  border-bottom:1px solid rgba(130,169,197,.11) !important;
}

.mos-tech-card--single .mos-info-row:last-child {
  border-bottom:0 !important;
}

/* Réalisateurs multiples : déroulant compact et cliquable */
.mos-inline-dropdown {
  position:relative !important;
}

.mos-inline-dropdown summary {
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  cursor:pointer !important;
  color:#8fd0f0 !important;
  list-style:none !important;
  font-weight:750 !important;
}

.mos-inline-dropdown summary::-webkit-details-marker {
  display:none !important;
}

.mos-inline-dropdown summary::after {
  content:"⌄";
  color:#efb84a;
}

.mos-inline-dropdown summary span {
  color:#7899ad !important;
  font-size:.78em !important;
}

.mos-inline-dropdown__menu {
  margin-top:8px !important;
  padding:7px !important;
  border:1px solid rgba(130,169,197,.18) !important;
  background:#071522 !important;
}

.mos-inline-dropdown__menu > div + div {
  margin-top:6px !important;
}

/* Plus de barre de recherche sous les filtres */
.mos-db-search--compact {
  display:none !important;
}

/* Le panneau DB n'a plus besoin de sa troisième colonne recherche */
.mos-db-panel--mockup {
  grid-template-columns:190px minmax(0,1fr) !important;
}

/* Années longues toujours sur une seule ligne dans les badges */
.mos-header-featured-card__tags b,
.mos-home-latest-card__labels b,
.mos-work-card__year {
  white-space:nowrap !important;
}

@media(max-width:900px) {
  .mos-tech-card--single .mos-info-row {
    grid-template-columns:1fr !important;
    gap:4px !important;
  }

  .mos-db-panel--mockup {
    grid-template-columns:1fr !important;
  }
}

@media(max-width:640px) {
  .mos-header-featured-card__tags span,
  .mos-header-featured-card__tags b,
  .mos-home-latest-card__labels span,
  .mos-home-latest-card__labels b,
  .mos-portal-card__meta span,
  .mos-portal-card__meta b,
  .mos-work-card__type,
  .mos-work-card__year,
  .mos-related-card__type {
    min-height:25px !important;
    padding:4px 7px 3px !important;
    font-size:15px !important;
  }
}


/* ==========================================================
   MoS 19.4.4 FINAL — 3 cartes mises en avant
   Référence : image pleine carte, titre à droite dans l'image,
   genre et année juste en dessous.
   ========================================================== */

.mos-header-featured__cards {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
  width:100% !important;
}

.mos-header-featured-card {
  position:relative !important;
  display:block !important;
  min-width:0 !important;
  height:190px !important;
  overflow:hidden !important;
  border:1px solid rgba(130,169,197,.20) !important;
  border-radius:7px !important;
  background:#071522 !important;
  color:#fff !important;
  text-decoration:none !important;
}

.mos-header-featured-card__visual {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  overflow:hidden !important;
  background:#071522 !important;
}

.mos-header-featured-card__visual img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  filter:saturate(1.08) contrast(1.03) !important;
  transition:transform .25s ease !important;
}

.mos-header-featured-card:hover .mos-header-featured-card__visual img {
  transform:scale(1.02) !important;
}

.mos-header-featured-card__overlay {
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  display:flex !important;
  justify-content:flex-end !important;
  align-items:stretch !important;
  background:
    linear-gradient(
      90deg,
      rgba(3,10,17,0) 0%,
      rgba(3,10,17,.05) 38%,
      rgba(3,10,17,.76) 63%,
      rgba(3,10,17,.96) 100%
    ) !important;
}

.mos-header-featured-card__copy {
  width:46% !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  padding:16px 15px 14px 12px !important;
}

.mos-header-featured-card__copy h2 {
  margin:0 0 13px !important;
  max-width:100% !important;
  color:#fff !important;
  font-family:
    "Arial Narrow",
    "Liberation Sans Narrow",
    "Helvetica Neue Condensed",
    "Roboto Condensed",
    Arial,
    sans-serif !important;
  font-size:1.42rem !important;
  line-height:1.02 !important;
  font-weight:800 !important;
  font-stretch:condensed !important;
  letter-spacing:-.025em !important;
  text-align:left !important;
  text-transform:uppercase !important;
  text-shadow:0 2px 7px rgba(0,0,0,.52) !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}

.mos-header-featured-card__tags {
  position:static !important;
  inset:auto !important;
  z-index:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
  pointer-events:none !important;
}

/* Le label type garde le cartouche coloré. */
.mos-header-featured-card__tags span {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:29px !important;
  padding:5px 10px 4px !important;
  font-family:
    "Arial Narrow",
    "Liberation Sans Narrow",
    "Helvetica Neue Condensed",
    "Roboto Condensed",
    Arial,
    sans-serif !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:700 !important;
  font-stretch:condensed !important;
  letter-spacing:-.015em !important;
  text-transform:uppercase !important;
  color:#fff !important;
  border-radius:3px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:linear-gradient(180deg,#e42e38 0%,#ca1d28 100%) !important;
  text-shadow:0 1px 1px rgba(0,0,0,.22) !important;
  box-shadow:0 2px 5px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* L'année suit la référence : texte blanc sans cartouche bleu sur les 3 cartes du haut. */
.mos-header-featured-card__tags b {
  display:inline-flex !important;
  align-items:center !important;
  min-height:29px !important;
  padding:0 !important;
  color:#fff !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-family:
    "Arial Narrow",
    "Liberation Sans Narrow",
    "Helvetica Neue Condensed",
    "Roboto Condensed",
    Arial,
    sans-serif !important;
  font-size:17px !important;
  line-height:1 !important;
  font-weight:700 !important;
  font-stretch:condensed !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  text-shadow:0 1px 2px rgba(0,0,0,.6) !important;
}

.mos-header-featured-card__tags b i {
  margin-right:5px !important;
  color:#d8e3ea !important;
  font-style:normal !important;
  font-size:.9em !important;
}

@media(max-width:1100px) {
  .mos-header-featured-card {
    height:175px !important;
  }

  .mos-header-featured-card__copy {
    width:50% !important;
  }

  .mos-header-featured-card__copy h2 {
    font-size:1.2rem !important;
  }
}

@media(max-width:780px) {
  .mos-header-featured__cards {
    grid-template-columns:1fr !important;
  }

  .mos-header-featured-card {
    height:190px !important;
  }

  .mos-header-featured-card__copy {
    width:48% !important;
  }
}


/* ==========================================================
   MoS 19.4.5 — correction finale des 3 cartes header
   ========================================================== */

/* La zone texte est verrouillée à DROITE de la carte. */
.mos-header-featured-card__overlay {
  position:absolute !important;
  inset:0 !important;
  z-index:3 !important;
  display:block !important;
  background:
    linear-gradient(
      90deg,
      rgba(3,10,17,0) 0%,
      rgba(3,10,17,.02) 38%,
      rgba(3,10,17,.60) 58%,
      rgba(3,10,17,.96) 100%
    ) !important;
}

.mos-header-featured-card__copy {
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:auto !important;

  width:47% !important;
  max-width:47% !important;

  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;

  margin:0 !important;
  padding:16px 15px !important;
  text-align:left !important;
}

.mos-header-featured-card__copy h2 {
  width:100% !important;
  margin:0 0 13px !important;
  text-align:left !important;
}

/* Les deux informations deviennent de vrais cartouches. */
.mos-header-featured-card__tags {
  position:static !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:7px !important;
}

/* Genre = rouge */
.mos-header-featured-card__tags span {
  min-height:29px !important;
  padding:5px 10px 4px !important;
  color:#fff !important;
  background:linear-gradient(180deg,#e42e38 0%,#ca1d28 100%) !important;
}

/* Année = cartouche rouge également, conformément à la demande. */
.mos-header-featured-card__tags b {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:29px !important;
  padding:5px 10px 4px !important;

  color:#fff !important;
  background:linear-gradient(180deg,#e42e38 0%,#ca1d28 100%) !important;

  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:3px !important;

  box-shadow:
    0 2px 5px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.08) !important;

  font-family:
    "Arial Narrow",
    "Liberation Sans Narrow",
    "Helvetica Neue Condensed",
    "Roboto Condensed",
    Arial,
    sans-serif !important;

  font-size:18px !important;
  line-height:1 !important;
  font-weight:700 !important;
  font-stretch:condensed !important;
  letter-spacing:-.015em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

/* Le petit point n'est plus utile dans un vrai bouton année. */
.mos-header-featured-card__tags b i {
  display:none !important;
}

@media(max-width:780px) {
  .mos-header-featured-card__copy {
    width:50% !important;
    max-width:50% !important;
  }

  .mos-header-featured-card__tags span,
  .mos-header-featured-card__tags b {
    min-height:25px !important;
    padding:4px 7px 3px !important;
    font-size:15px !important;
  }
}


/* ==========================================================
   MoS 19.4.6 — fiche individuelle harmonisée
   ========================================================== */

/* Labels Genre + Année identiques aux miniatures */
.mos-hero-labels {
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  margin:15px 0 10px !important;
}

.mos-hero-labels .mos-label {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:29px !important;
  padding:5px 9px 4px !important;
  font-family:"Arial Narrow","Liberation Sans Narrow","Helvetica Neue Condensed","Roboto Condensed",Arial,sans-serif !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:700 !important;
  font-stretch:condensed !important;
  letter-spacing:-.015em !important;
  text-transform:uppercase !important;
  color:#fff !important;
  border-radius:3px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  text-shadow:0 1px 1px rgba(0,0,0,.22) !important;
  box-shadow:0 2px 5px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.mos-hero-labels .mos-label--type {
  background:linear-gradient(180deg,#e42e38 0%,#ca1d28 100%) !important;
}

.mos-hero-labels .mos-label--year {
  background:linear-gradient(180deg,#2d7fb7 0%,#1b5f92 100%) !important;
}

/* Les 3 cadres Informations / Synopsis / Thématiques sont alignés */
.mos-primary-info-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}

.mos-primary-info-grid > .mos-film-card {
  height:100% !important;
  margin:0 !important;
}

.mos-primary-info-grid .mos-tech-card,
.mos-primary-info-grid .mos-taxonomy-card,
.mos-primary-info-grid > .mos-film-card {
  display:flex !important;
  flex-direction:column !important;
}

/* Fiche technique compacte dans sa colonne */
.mos-primary-info-grid .mos-info-row {
  grid-template-columns:1fr !important;
  gap:4px !important;
  padding:8px 0 !important;
}

.mos-primary-info-grid .mos-info-row dt {
  color:#7899ad !important;
  font-size:.72rem !important;
  text-transform:uppercase !important;
}

.mos-primary-info-grid .mos-info-row dd {
  margin:0 !important;
}

/* Le contenu WordPress vient directement après les trois cadres */
.mos-film-editorial {
  margin-top:0 !important;
}

/* Fond de fiche : utilise réellement le backdrop horizontal dédié */
.mos-film-hero__image {
  background-size:cover !important;
  background-position:var(--mos-hero-position,center) !important;
}

/* Visibilité du champ : l'image de fond doit être pensée paysage */
.mos-film-hero {
  min-height:420px !important;
}

@media(max-width:1100px) {
  .mos-primary-info-grid {
    grid-template-columns:1fr 1fr !important;
  }

  .mos-primary-info-grid > :first-child {
    grid-column:1 / -1 !important;
  }
}

@media(max-width:700px) {
  .mos-primary-info-grid {
    grid-template-columns:1fr !important;
  }

  .mos-primary-info-grid > :first-child {
    grid-column:auto !important;
  }

  .mos-hero-labels .mos-label {
    min-height:25px !important;
    padding:4px 7px 3px !important;
    font-size:15px !important;
  }
}


/* ==========================================================
   MoS 19.4.7 — synopsis + trailer + palette moins noire
   ========================================================== */

/* Palette générale : conserve le bleu nuit, mais relève les fonds */
:root {
  --mos-bg: #091827;
  --mos-panel: #0d2234;
  --mos-panel-soft: #10283b;
}

/* Fond global un peu plus clair */
body,
.mos-home,
.mos-film-page,
.mos-archive-page {
  background:#081724 !important;
}

/* Cartes plus bleutées, moins noires */
.mos-film-card,
.mos-tech-card,
.mos-taxonomy-card,
.mos-trailer-card,
.mos-archive-card,
.mos-db-panel,
.mos-work-card > a {
  background:
    linear-gradient(180deg,rgba(16,42,62,.96),rgba(11,31,48,.98)) !important;
  border-color:rgba(120,171,203,.24) !important;
}

/* Header / menus : un cran plus clair aussi */
.mos-header-brandbar,
.mos-site-header__bar,
.mos-main-nav,
.mos-header-search {
  background:#081928 !important;
}

/* Les trois colonnes restent alignées */
.mos-primary-info-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}

.mos-primary-info-col {
  display:flex !important;
  flex-direction:column !important;
  gap:18px !important;
  min-width:0 !important;
}

.mos-primary-info-col > .mos-film-card {
  margin:0 !important;
}

/* La fiche technique et les thématiques peuvent s'étirer */
.mos-primary-info-col:first-child > .mos-film-card,
.mos-primary-info-col:last-child > .mos-film-card {
  height:100% !important;
}

/* Synopsis ne monopolise plus toute la colonne */
.mos-primary-info-col--center > .mos-film-card:first-child {
  flex:0 0 auto !important;
}

/* Bande-annonce sous synopsis */
.mos-trailer-card--compact {
  flex:1 1 auto !important;
  min-height:0 !important;
}

.mos-trailer-card--compact .mos-video-frame {
  position:relative !important;
  overflow:hidden !important;
  width:100% !important;
  aspect-ratio:16/9 !important;
  background:#06111d !important;
  border:1px solid rgba(120,171,203,.18) !important;
}

.mos-trailer-card--compact iframe,
.mos-trailer-card--compact video {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  border:0 !important;
}

/* WP oEmbed wrappers */
.mos-trailer-card--compact .mos-video-frame > div,
.mos-trailer-card--compact .wp-video,
.mos-trailer-card--compact .wp-block-embed,
.mos-trailer-card--compact .wp-block-embed__wrapper {
  width:100% !important;
  height:100% !important;
  margin:0 !important;
}

.mos-trailer-fallback {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:100% !important;
  min-height:180px !important;
  color:#9dd7f5 !important;
  text-decoration:none !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
}

/* Texte légèrement plus lumineux */
.mos-richtext,
.mos-info-row dd,
.mos-taxonomy-card,
.mos-film-editorial {
  color:#d7e5ee !important;
}

@media(max-width:1100px) {
  .mos-primary-info-grid {
    grid-template-columns:1fr 1fr !important;
  }

  .mos-primary-info-col:first-child {
    grid-column:1 / -1 !important;
  }
}

@media(max-width:700px) {
  .mos-primary-info-grid {
    grid-template-columns:1fr !important;
  }

  .mos-primary-info-col:first-child {
    grid-column:auto !important;
  }
}


/* ==========================================================
   MoS 19.4.8 — admin allégé / menu compact / H1 réduit
   ========================================================== */

/* Menu : réduire franchement l'espace icône ↔ libellé et la largeur totale */
.mos-main-nav > li > a {
  gap:6px !important;
  padding-left:12px !important;
  padding-right:12px !important;
}

.mos-menu-icon {
  min-width:22px !important;
  width:22px !important;
  margin:0 !important;
  font-size:1.5rem !important;
  line-height:1 !important;
}

.mos-menu-label {
  margin:0 !important;
}

.mos-menu-chevron {
  margin-left:2px !important;
}

/* Hero : titre nettement plus raisonnable, max 2 lignes dans la plupart des cas */
.mos-film-hero__content h1 {
  max-width:980px !important;
  margin-top:0 !important;
  margin-bottom:10px !important;
  font-size:clamp(2.5rem,4vw,4.6rem) !important;
  line-height:.94 !important;
  letter-spacing:-.045em !important;
  text-wrap:balance !important;
}

/* Sur très grands titres, garder une largeur contrôlée */
.mos-film-hero__content {
  min-width:0 !important;
  max-width:min(100%, 1050px) !important;
}

/* Trailer : iframe bien cadrée */
.mos-trailer-card--compact .mos-video-frame {
  aspect-ratio:16/9 !important;
}

.mos-trailer-card--compact iframe {
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:260px !important;
}

@media(max-width:1100px) {
  .mos-main-nav > li > a {
    gap:5px !important;
    padding-left:10px !important;
    padding-right:10px !important;
  }

  .mos-menu-icon {
    width:20px !important;
    min-width:20px !important;
    font-size:1.35rem !important;
  }

  .mos-film-hero__content h1 {
    font-size:clamp(2.3rem,5vw,4rem) !important;
  }
}

@media(max-width:700px) {
  .mos-film-hero__content h1 {
    font-size:clamp(2rem,9vw,3.2rem) !important;
    line-height:.98 !important;
  }
}


/* ==========================================================
   MoS 19.4.9 — mini-rubriques automatiques depuis les H2
   ========================================================== */

/* La navigation accepte beaucoup de rubriques sans casser la largeur */
.mos-film-nav__inner {
  display:flex !important;
  align-items:stretch !important;
  gap:0 !important;
  overflow-x:auto !important;
  scrollbar-width:thin !important;
  scroll-behavior:smooth !important;
}

.mos-film-nav__inner > a {
  flex:0 0 auto !important;
  white-space:nowrap !important;
}

/* Chaque H2 du dossier devient visuellement le début d'une mini-rubrique */
.mos-film-editorial .mos-richtext > h2,
.mos-film-editorial .mos-richtext h2[id^="rubrique-"] {
  scroll-margin-top:24px !important;
  margin:42px 0 18px !important;
  padding:14px 0 12px !important;
  border-top:1px solid rgba(120,171,203,.22) !important;
  border-bottom:1px solid rgba(120,171,203,.12) !important;
  color:#fff !important;
  font-size:1.55rem !important;
  line-height:1.1 !important;
  text-transform:uppercase !important;
  letter-spacing:-.025em !important;
}

.mos-film-editorial .mos-richtext > h2:first-child {
  margin-top:0 !important;
}

/* Note MOS simple : la carte reste élégante même sans sous-notes détaillées */
.mos-rating-card .mos-score-shield {
  margin-inline:auto !important;
}


/* ==========================================================
   MoS 19.5.0 — navigation H1/H2 fiable, contenu unique
   ========================================================== */

.mos-film-editorial .mos-richtext h1[id^="rubrique-"],
.mos-film-editorial .mos-richtext h2[id^="rubrique-"],
.mos-film-editorial .mos-richtext h1[id],
.mos-film-editorial .mos-richtext h2[id] {
  scroll-margin-top:24px !important;
}

/* Un H1 saisi dans l'article est une rubrique, pas un second hero géant */
.mos-film-editorial .mos-richtext h1 {
  margin:46px 0 18px !important;
  padding:14px 0 12px !important;
  border-top:1px solid rgba(120,171,203,.24) !important;
  border-bottom:1px solid rgba(120,171,203,.12) !important;
  color:#fff !important;
  font-size:1.75rem !important;
  line-height:1.1 !important;
  text-transform:uppercase !important;
  letter-spacing:-.025em !important;
}

.mos-film-editorial .mos-richtext h2 {
  scroll-margin-top:24px !important;
}

/* Premier heading : pas de gros blanc inutile */
.mos-film-editorial .mos-richtext > h1:first-child,
.mos-film-editorial .mos-richtext > h2:first-child {
  margin-top:0 !important;
}
