/* SVS Egypt R12.9.5 — Brand Red Completion + Visual Overflow QA
   Front-end only. No DB, routes, forms, auth, sessions, permissions or data changes. */
:root{
  --svs-brand-red:#d82731!important;
  --svs-brand-red-bright:#ef4050!important;
  --svs-brand-red-soft:#ff7a83!important;
  --svs-brand-red-deep:#a81121!important;
  --svs-r123-gold:#d82731!important;
  --r124-gold:#d82731!important;
  --r124-gold-2:#ff7a83!important;
  --hx-bronze:#d82731!important;
}

/* Complete remaining legacy gold/bronze accent conversion. */
.hx-agenda-day>header span,
.hx-agenda-day time,
.hx-agenda-day small,
.hx-speaker-card small,
.hx-speaker-placeholder-media span,
.hx-profile-facts small,
.hx-company-facts small,
.hx-package-outcomes span,
.hx-visit-grid span,
.hx-contact-route-grid span,
.hx-company-profile-copy .hx-company-facts small,
.hx-session-type,
.hx-calendar-link,
.hx-home .hx-agenda-day>header span,
.hx-home .hx-agenda-day time,
.hx-home .hx-agenda-day small,
.hx-home .hx-speaker-card small,
body[data-page="home"] .hx-speaker-placeholder-media,
body[data-page="home"] .hx-speaker-placeholder-media span,
body[data-page]:not([data-page="home"]) .speaker-photo.placeholder,
body[data-page]:not([data-page="home"]) .speaker-photo.placeholder span{
  color:var(--svs-brand-red)!important;
}
.hx-journey>div{border-inline-start-color:var(--svs-brand-red)!important}
.hx-agenda-type-panel::before{background:var(--svs-brand-red)!important}
.hx-sponsors-page .hx-sponsor-card:hover{border-color:rgba(216,39,49,.48)!important}

/* Premium placeholder treatment — no old gold SVS lettering. */
body[data-page="home"] .hx-speaker-placeholder-media,
.hx-speaker-placeholder-media{
  background:radial-gradient(circle at 50% 16%,rgba(216,39,49,.16),transparent 43%),linear-gradient(180deg,#19212c,#0d1219)!important;
}
body[data-page="home"] .hx-speaker-placeholder-media span,
.hx-speaker-placeholder-media span{
  border-color:rgba(216,39,49,.28)!important;
  color:#ef4050!important;
  text-shadow:0 0 22px rgba(216,39,49,.12)!important;
}

/* Home agenda: prevent long session titles from being clipped horizontally. */
body[data-page="home"] .hx-agenda-grid,
body[data-page="home"] .hx-agenda-day,
body[data-page="home"] .hx-agenda-day article,
body[data-page="home"] .hx-agenda-day article>div{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
body[data-page="home"] .hx-agenda-day article{
  grid-template-columns:72px minmax(0,1fr)!important;
  align-items:start!important;
}
body[data-page="home"] .hx-agenda-day h3{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  text-overflow:clip!important;
  line-height:1.38!important;
}

/* Full agenda receives the same defensive containment. */
body[data-page="agenda"] .hx-agenda-browser>.shell,
body[data-page="agenda"] .hx-agenda-list,
body[data-page="agenda"] .hx-agenda-row,
body[data-page="agenda"] .hx-agenda-content{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
body[data-page="agenda"] .hx-agenda-row{grid-template-columns:86px minmax(0,1fr)!important}
body[data-page="agenda"] .hx-agenda-row h3{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  max-width:100%!important;
}

/* Generic content safety for long CMS titles, names and links without changing layout logic. */
.hx-speaker-card,
.hx-speaker-card>div,
.hx-speaker-directory-card,
.hx-speaker-directory-copy,
.hx-sponsor-card,
.hx-sponsor-copy{
  min-width:0!important;
}
.hx-speaker-card h3,
.hx-speaker-card p,
.hx-speaker-directory-copy h2,
.hx-speaker-directory-copy p,
.hx-sponsor-copy strong,
.hx-sponsor-copy small{
  overflow-wrap:anywhere!important;
}

@media (max-width:700px){
  body[data-page="home"] .hx-agenda-day article{
    grid-template-columns:58px minmax(0,1fr)!important;
    gap:12px!important;
    padding:14px 15px!important;
  }
  body[data-page="home"] .hx-agenda-day h3{font-size:14px!important;line-height:1.45!important}
  body[data-page="agenda"] .hx-agenda-row{grid-template-columns:1fr!important}
}
