
/* ==========================================================================
   M53 — FINAL DOSSIER + FAQ CONTRAST CORRECTION
   Self-contained component rules loaded last on every page.
   ========================================================================== */

/* --------------------------------------------------------------------------
   TECHNICAL DOSSIERS
   Enforce the actual dark surface instead of relying on an older stylesheet.
   -------------------------------------------------------------------------- */

body.nexus-m53 section.m48-dossier-section,
body.nexus-m53 section.m51-dossier-section,
body.nexus-m53 section#technical-data.m48-dossier-section{
  position:relative!important;
  isolation:isolate;
  color:#ffffff!important;
  background:
    radial-gradient(circle at 88% 7%,rgba(67,144,211,.28),transparent 29%),
    radial-gradient(circle at 12% 86%,rgba(213,50,127,.10),transparent 24%),
    linear-gradient(145deg,#061522 0%,#082844 56%,#0c365b 100%)!important;
  background-color:#061522!important;
}

body.nexus-m53 section.m48-dossier-section::before,
body.nexus-m53 section.m51-dossier-section::before{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  inset:0!important;
  pointer-events:none!important;
  opacity:.18!important;
  background-image:
    linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px)!important;
  background-size:56px 56px!important;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 88%);
  mask-image:linear-gradient(180deg,#000,transparent 88%);
}

body.nexus-m53 section.m48-dossier-section>.wrap,
body.nexus-m53 section.m51-dossier-section>.wrap{
  position:relative!important;
  z-index:1!important;
}

/* Dossier header: white on navy */
body.nexus-m53 section.m48-dossier-section .m51-dossier-header h2,
body.nexus-m53 section.m48-dossier-section .m48-dossier-intro h2,
body.nexus-m53 section.m51-dossier-section .m51-dossier-header h2{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  text-shadow:0 8px 28px rgba(0,0,0,.20)!important;
}

body.nexus-m53 section.m48-dossier-section .m51-dossier-header>div>p,
body.nexus-m53 section.m48-dossier-section .m48-dossier-intro>div>p,
body.nexus-m53 section.m51-dossier-section .m51-dossier-header>div>p{
  color:#c7dbea!important;
  -webkit-text-fill-color:#c7dbea!important;
}

body.nexus-m53 section.m48-dossier-section .m48-dossier-eyebrow,
body.nexus-m53 section.m51-dossier-section .m48-dossier-eyebrow{
  color:#9ed2ff!important;
  -webkit-text-fill-color:#9ed2ff!important;
}

/* “How to use this dossier” is a dark glass card, not a white card. */
body.nexus-m53 section.m48-dossier-section .m51-engineering-note,
body.nexus-m53 section.m51-dossier-section .m51-engineering-note,
body.nexus-m53 section.m48-dossier-section .m48-dossier-note{
  border:1px solid rgba(255,255,255,.22)!important;
  background:rgba(255,255,255,.095)!important;
  box-shadow:0 24px 60px rgba(0,0,0,.17)!important;
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
}

body.nexus-m53 section.m48-dossier-section .m51-engineering-note span,
body.nexus-m53 section.m48-dossier-section .m48-dossier-note span{
  color:#9ed2ff!important;
  -webkit-text-fill-color:#9ed2ff!important;
}

body.nexus-m53 section.m48-dossier-section .m51-engineering-note p,
body.nexus-m53 section.m48-dossier-section .m48-dossier-note p{
  color:#d4e3ee!important;
  -webkit-text-fill-color:#d4e3ee!important;
}

/* Planning metrics remain on the dark surface. */
body.nexus-m53 section.m48-dossier-section .m51-dashboard .m48-key-card,
body.nexus-m53 section.m48-dossier-section>.wrap>.m48-key-grid .m48-key-card{
  border:1px solid rgba(255,255,255,.20)!important;
  background:rgba(255,255,255,.095)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.12)!important;
}

body.nexus-m53 section.m48-dossier-section .m51-dashboard .m48-key-card span,
body.nexus-m53 section.m48-dossier-section>.wrap>.m48-key-grid .m48-key-card span{
  color:#9ed2ff!important;
  -webkit-text-fill-color:#9ed2ff!important;
}

body.nexus-m53 section.m48-dossier-section .m51-dashboard .m48-key-card strong,
body.nexus-m53 section.m48-dossier-section>.wrap>.m48-key-grid .m48-key-card strong{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

/* The chapter shell is intentionally light. Everything inside it is dark. */
body.nexus-m53 section.m48-dossier-section .m51-dossier-shell{
  color:#061d36!important;
  background:#f4f8fb!important;
  border-color:rgba(255,255,255,.24)!important;
}

body.nexus-m53 section.m48-dossier-section .m51-tabs{
  background:rgba(247,250,252,.98)!important;
  border-bottom-color:#d4e2ec!important;
}

body.nexus-m53 section.m48-dossier-section .m51-tab{
  color:#49667f!important;
  -webkit-text-fill-color:#49667f!important;
  background:transparent!important;
}

body.nexus-m53 section.m48-dossier-section .m51-tab:hover{
  color:#082b4b!important;
  -webkit-text-fill-color:#082b4b!important;
  background:#e8f2f8!important;
}

body.nexus-m53 section.m48-dossier-section .m51-tab[aria-selected="true"]{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-color:#155fa6!important;
  background:linear-gradient(135deg,#082b4b,#1767aa)!important;
}

body.nexus-m53 section.m48-dossier-section .m51-panel,
body.nexus-m53 section.m48-dossier-section .m51-panel-intro,
body.nexus-m53 section.m48-dossier-section .m51-brief-card,
body.nexus-m53 section.m48-dossier-section .m51-spec-card,
body.nexus-m53 section.m48-dossier-section .m51-data-drawer{
  color:#061d36!important;
}

body.nexus-m53 section.m48-dossier-section .m51-panel h2,
body.nexus-m53 section.m48-dossier-section .m51-panel h3,
body.nexus-m53 section.m48-dossier-section .m51-panel h4,
body.nexus-m53 section.m48-dossier-section .m51-panel strong,
body.nexus-m53 section.m48-dossier-section .m51-panel b{
  color:#061d36!important;
  -webkit-text-fill-color:#061d36!important;
  text-shadow:none!important;
}

body.nexus-m53 section.m48-dossier-section .m51-panel p,
body.nexus-m53 section.m48-dossier-section .m51-panel li,
body.nexus-m53 section.m48-dossier-section .m51-panel dt,
body.nexus-m53 section.m48-dossier-section .m51-panel dd{
  color:#45627b!important;
  -webkit-text-fill-color:#45627b!important;
  text-shadow:none!important;
}

body.nexus-m53 section.m48-dossier-section .m51-panel-intro>div:first-child>span,
body.nexus-m53 section.m48-dossier-section .m49-data-category,
body.nexus-m53 section.m48-dossier-section .m51-spec-row dt{
  color:#155fa6!important;
  -webkit-text-fill-color:#155fa6!important;
}

/* --------------------------------------------------------------------------
   FAQ CONTROLS
   The + was navy because -webkit-text-fill-color was inherited by ::after.
   -------------------------------------------------------------------------- */

body.nexus-m53 .faq-premium-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  max-width:1040px!important;
  border:0!important;
}

body.nexus-m53 .premium-faq-item,
body.nexus-m53 .premium-faq-item:nth-child(odd),
body.nexus-m53 .premium-faq-item:nth-child(even){
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #cbdde9!important;
  border-radius:16px!important;
  background:#ffffff!important;
  box-shadow:0 12px 30px rgba(6,29,54,.065)!important;
}

body.nexus-m53 .premium-faq-item>summary,
body.nexus-m53 .premium-faq-item:nth-child(even)>summary{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto 38px!important;
  align-items:center!important;
  gap:20px!important;
  min-height:80px!important;
  padding:18px 20px 18px 22px!important;
  list-style:none!important;
  color:#061d36!important;
  -webkit-text-fill-color:#061d36!important;
  background:#ffffff!important;
}

body.nexus-m53 .premium-faq-item>summary>span{
  min-width:0!important;
  color:#061d36!important;
  -webkit-text-fill-color:#061d36!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1.42!important;
}

body.nexus-m53 .premium-faq-item>summary>small{
  color:#294964!important;
  -webkit-text-fill-color:#294964!important;
  font-size:9px!important;
  font-weight:850!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}

body.nexus-m53 .premium-faq-item>summary::after{
  content:"+"!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
  margin:0!important;
  border:1px solid #0a3157!important;
  border-radius:50%!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  background:#082b4b!important;
  font-family:Arial,sans-serif!important;
  font-size:22px!important;
  font-weight:400!important;
  line-height:1!important;
  text-shadow:none!important;
}

body.nexus-m53 .premium-faq-item[open]>summary::after{
  content:"−"!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

body.nexus-m53 .premium-faq-item>summary::-webkit-details-marker{
  display:none!important;
}

body.nexus-m53 .premium-faq-item>p,
body.nexus-m53 .premium-faq-item:nth-child(even)>p{
  margin:0!important;
  padding:0 80px 22px 22px!important;
  color:#45627b!important;
  -webkit-text-fill-color:#45627b!important;
  background:#ffffff!important;
  font-size:14px!important;
  line-height:1.72!important;
}

body.nexus-m53 .premium-faq-item[open]>summary{
  border-bottom:1px solid #dfE9f0!important;
  background:#f7fbfd!important;
}

@media(max-width:720px){
  body.nexus-m53 section.m48-dossier-section .m51-dossier-header{
    grid-template-columns:1fr!important;
  }

  body.nexus-m53 .premium-faq-item>summary,
  body.nexus-m53 .premium-faq-item:nth-child(even)>summary{
    grid-template-columns:minmax(0,1fr) 36px!important;
    gap:14px!important;
    min-height:72px!important;
    padding:16px 16px 16px 18px!important;
  }

  body.nexus-m53 .premium-faq-item>summary>small{
    display:none!important;
  }

  body.nexus-m53 .premium-faq-item>summary::after{
    width:36px!important;
    height:36px!important;
  }

  body.nexus-m53 .premium-faq-item>p,
  body.nexus-m53 .premium-faq-item:nth-child(even)>p{
    padding:0 18px 20px!important;
  }
}
