/* ======================================================================
   JustiX Production Build 0.6.3 — Spatial Integrity / Zero-Overlap Layer
   Purpose: preserve editorial elegance while guaranteeing separation
   between text, icons, badges, participants and controls at all widths.
   ====================================================================== */

/* Universal resilience */
*,*::before,*::after{box-sizing:border-box}
button,input,select,textarea{min-width:0}
img,svg{display:block}
.hero,.hero-visual,.court-mini,.court-mini *,.jx-footer,.jx-footer *{min-width:0}

/* Hearing preview rebuilt with explicit header and participant zones */
.court-mini{
  container-type:inline-size;
  display:grid!important;
  grid-template-rows:auto 1fr auto auto;
  gap:0;
  width:min(100%,430px)!important;
  min-width:0;
  height:310px!important;
  padding:16px 18px 15px!important;
  overflow:hidden!important;
}
.court-mini::before,.court-mini::after{content:none!important;display:none!important}
.court-mini-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:32px;position:relative;z-index:5}
.court-mini-live,.court-mini-mode{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;min-height:30px;padding:0 11px;font-size:9.5px;font-weight:800;letter-spacing:.08em;line-height:1;border:1px solid rgba(212,175,55,.22)}
.court-mini-live{color:#f7e7ae;background:rgba(212,175,55,.07)}
.court-mini-live i{width:6px;height:6px;border-radius:50%;background:#D4AF37;box-shadow:0 0 10px rgba(212,175,55,.45);margin-right:7px;flex:0 0 auto}
.court-mini-mode{color:#aebbd0;background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.09)}
.court-mini-judge{display:grid;place-items:center;align-content:center;padding:8px 0 5px;position:relative;z-index:3;text-align:center}
.court-mini .person.judge{margin:0!important;gap:4px!important;position:static!important}
.court-mini .person.judge .avatar{width:48px!important;height:48px!important;border-radius:15px!important;font-size:12px!important;margin:0 auto 4px}
.court-mini .person.judge strong{font-size:14px!important;line-height:1.2!important;margin:0!important;white-space:nowrap!important}
.court-mini .person.judge>span:last-child{font-size:11.5px!important;line-height:1.25!important;white-space:nowrap!important;color:#9cadc1!important;margin-top:2px}
.court-mini .bench{position:absolute!important;left:34%!important;right:34%!important;top:142px!important;height:4px!important;border-radius:999px!important;z-index:2!important;background:linear-gradient(90deg,rgba(212,175,55,.42),#D4AF37,rgba(212,175,55,.42))!important}
.court-mini-participants-label{font-size:9px;color:#7f91a8;letter-spacing:.12em;text-transform:uppercase;margin:2px 0 7px}
.mini-lawyers{
  position:static!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin:0!important;
  align-items:stretch!important;
}
.mini-lawyers .person{
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr)!important;
  gap:9px!important;
  align-items:center!important;
  min-width:0!important;
  padding:8px 9px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.025)!important;
  border:1px solid rgba(255,255,255,.055)!important;
}
.mini-lawyers .person .avatar{width:40px!important;height:40px!important;border-radius:12px!important;font-size:10px!important;flex:0 0 auto}
.mini-lawyers .person>div{min-width:0!important;overflow:hidden!important}
.mini-lawyers .person strong{display:block!important;font-size:11px!important;line-height:1.22!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;max-width:100%!important}
.mini-lawyers .person span:not(.avatar){display:block!important;font-size:10px!important;line-height:1.25!important;color:#8fa1b6!important;margin-top:2px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.court-mini .wave{
  position:static!important;
  width:100%!important;
  max-width:none!important;
  min-height:38px!important;
  margin-top:10px!important;
  padding:7px 10px!important;
  border-radius:13px!important;
  justify-content:flex-start!important;
}
.court-mini .wave small{font-size:10.5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

/* Container-aware compaction: adapt the card itself, not just viewport */
@container (max-width:360px){
  .court-mini{height:318px!important;padding:14px!important}
  .court-mini-head{gap:6px}
  .court-mini-live,.court-mini-mode{font-size:8.5px;padding-inline:8px;min-height:28px}
  .court-mini-live i{margin-right:5px}
  .court-mini .person.judge .avatar{width:44px!important;height:44px!important}
  .court-mini .person.judge strong{font-size:13px!important}
  .court-mini .person.judge>span:last-child{font-size:10.5px!important}
  .court-mini .bench{top:137px!important;left:32%!important;right:32%!important}
  .mini-lawyers{gap:7px!important}
  .mini-lawyers .person{grid-template-columns:34px minmax(0,1fr)!important;gap:7px!important;padding:7px!important}
  .mini-lawyers .person .avatar{width:34px!important;height:34px!important;border-radius:11px!important}
  .mini-lawyers .person strong{font-size:10px!important;line-height:1.18!important}
  .mini-lawyers .person span:not(.avatar){font-size:9.5px!important}
}
@container (max-width:300px){
  .court-mini{height:326px!important}
  .court-mini-live{font-size:0;padding:0 9px}
  .court-mini-live::after{content:'EN VIVO';font-size:8.5px;letter-spacing:.08em}
  .court-mini-mode{font-size:8px;padding-inline:7px}
  .mini-lawyers .person{grid-template-columns:1fr!important;text-align:center!important;justify-items:center!important;padding:7px 5px!important}
  .mini-lawyers .person>div{width:100%!important}
  .mini-lawyers .person strong{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
}

/* General no-collision rules for cards and icon/copy combinations */
:is(.case-main,.activity-item,.choice-card,.provider-head,.agent-head,.passport-ledger-row,.talent-table-row,.legal-result,.learning-focus-list button,.weakness-list button)>*{min-width:0}
:is(.chip,.status,.tag,.rank,.verified,.passport-tags span,.season-meta span){max-width:100%;overflow:hidden;text-overflow:ellipsis}
:is(.section-title,.page-head,.sim-footer,.meta-line,.head-actions,.court-toolbar,.talent-actions,.learning-actions){row-gap:8px}
:is(.section-title,.page-head)>div{min-width:0}
:is(.section-title h2,.page-head h1,.sim-body h3,.choice-card b,.legal-result b,.talent-card h3,.passport-card h3){overflow-wrap:normal;word-break:normal;hyphens:none}

/* Footer: legal section is deliberately wider */
.jx-footer-grid{grid-template-columns:minmax(250px,1.12fr) minmax(145px,.65fr) minmax(235px,1fr) minmax(155px,.7fr) minmax(130px,.55fr)!important}
.jx-footer-group nav button{align-items:flex-start!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;min-height:31px!important}
.jx-footer-group nav button .jx-footer-link-icon{flex:0 0 16px;width:16px;text-align:center;color:#D4AF37;margin-top:1px}

/* Detailed legal center */
.jx-legal-card{width:min(880px,100%)!important}
.jx-legal-body{display:block!important}
.jx-legal-body .legal-doc-meta{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 18px}
.jx-legal-body .legal-doc-meta span{display:inline-flex;padding:6px 9px;border-radius:999px;background:rgba(212,175,55,.06);border:1px solid rgba(212,175,55,.13);font-size:10px;color:#d9c482}
.jx-legal-body .legal-doc-intro{font-size:14px!important;line-height:1.7!important;color:#d5dce6!important;max-width:780px}
.jx-legal-body h3{font-size:17px!important;line-height:1.25;margin:22px 0 8px!important;color:#fff}
.jx-legal-body h4{font-size:13px;line-height:1.35;margin:16px 0 6px;color:#e8d796}
.jx-legal-body p,.jx-legal-body li{font-size:13px!important;line-height:1.7!important;color:#bcc8d7!important}
.jx-legal-body ul,.jx-legal-body ol{padding-left:22px;margin:8px 0 14px}
.jx-legal-body li+li{margin-top:5px}
.jx-legal-body .legal-callout{padding:12px 14px;margin:14px 0;border-radius:14px;border:1px solid rgba(212,175,55,.14);background:rgba(212,175,55,.045);font-size:12px;line-height:1.6;color:#cbd5e1}
.jx-legal-body .legal-warning{border-color:rgba(224,30,34,.18);background:rgba(224,30,34,.055)}
.jx-legal-body .legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.jx-legal-body .legal-grid>div{padding:12px;border-radius:13px;border:1px solid rgba(255,255,255,.065);background:rgba(255,255,255,.022)}
.jx-legal-body .legal-grid b{display:block;font-size:12px;color:#fff;margin-bottom:4px}.jx-legal-body .legal-grid span{font-size:11px;line-height:1.45;color:#95a6bb}

@media(max-width:1280px){
  .jx-footer-grid{grid-template-columns:1.15fr .75fr 1fr!important;row-gap:26px!important}
  .jx-footer-grid>*{border-left:0!important;padding:0 18px!important}
  .jx-footer-brand{padding-left:0!important}
  .jx-footer-group:nth-of-type(3){grid-column:2}
  .jx-footer-social{grid-column:3;padding-right:0!important}
}
@media(max-width:1024px){
  .hero{grid-template-columns:1fr!important}
  .hero-visual{justify-content:center!important}
  .court-mini{width:min(100%,500px)!important}
}
@media(max-width:920px){
  .jx-footer-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:650px){
  .jx-footer-grid{display:block!important}
  .jx-legal-card{width:100%!important;max-height:88vh!important;padding:18px!important}
  .jx-legal-body .legal-grid{grid-template-columns:1fr}
  .jx-legal-body .legal-doc-intro{font-size:13px!important}
  .jx-legal-body h3{font-size:16px!important}
}
