/* NAC Media House coordinated route + UI continuity V1.6
   Loaded after Flagship V4. Additive presentation hardening only. */

:root{
  --nmh-ui-border:rgba(255,255,255,.12);
  --nmh-ui-border-active:rgba(25,211,209,.52);
  --nmh-ui-card:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.022));
  --nmh-ui-card-active:linear-gradient(145deg,rgba(255,122,26,.15),rgba(25,211,209,.09));
}

/* Prevent any selection control from inheriting full-width text-field rules. */
.choice input[type="radio"],
.choice input[type="checkbox"],
[data-objective-choices] input[type="radio"],
[data-objective-choices] input[type="checkbox"]{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  margin:0!important;
  padding:0!important;
  opacity:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}

/* Objective and adaptive choices must render as complete cards, never as
   detached circles / text rows. */
[data-objective-choices],
.choice-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
}

[data-objective-choices] > *,
.choice{
  position:relative!important;
  display:block!important;
  min-width:0!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  cursor:pointer!important;
}

.choice-body,
[data-objective-choices] .choice-body{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-height:128px!important;
  width:100%!important;
  box-sizing:border-box!important;
  padding:20px 54px 20px 20px!important;
  border:1px solid var(--nmh-ui-border)!important;
  border-radius:20px!important;
  background:var(--nmh-ui-card)!important;
  box-shadow:0 18px 45px rgba(0,0,0,.12)!important;
  transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease!important;
  overflow:hidden!important;
}

.choice-body::after{
  content:""!important;
  position:absolute!important;
  top:20px!important;
  right:20px!important;
  width:20px!important;
  height:20px!important;
  border-radius:50%!important;
  border:2px solid rgba(255,255,255,.24)!important;
  background:#080d18!important;
  box-sizing:border-box!important;
}

.choice-body b{
  display:block!important;
  margin:0!important;
  font:700 18px/1.25 "Space Grotesk",system-ui,sans-serif!important;
  color:#f4f7fb!important;
}

.choice-body span{
  display:block!important;
  margin-top:8px!important;
  color:#9ca9bc!important;
  font-size:11px!important;
  line-height:1.55!important;
}

.choice:hover .choice-body,
[data-objective-choices] > *:hover .choice-body{
  transform:translateY(-2px)!important;
  border-color:rgba(255,157,78,.36)!important;
  background:linear-gradient(145deg,rgba(255,122,26,.085),rgba(25,211,209,.045))!important;
}

.choice input:checked + .choice-body,
.choice.selected .choice-body,
[data-objective-choices] .selected .choice-body{
  border-color:var(--nmh-ui-border-active)!important;
  background:var(--nmh-ui-card-active)!important;
  box-shadow:0 18px 55px rgba(0,0,0,.16),0 0 0 1px rgba(25,211,209,.05) inset!important;
}

.choice input:checked + .choice-body::after,
.choice.selected .choice-body::after{
  border:6px solid #19d3d1!important;
  background:#07111a!important;
  box-shadow:0 0 18px rgba(25,211,209,.24)!important;
}

.choice input:focus-visible + .choice-body{
  outline:3px solid rgba(25,211,209,.72)!important;
  outline-offset:3px!important;
}

/* JS compatibility wrappers that are created only if older markup lacks
   .choice-body. */
.nmh-choice-compat{
  position:relative!important;
  display:block!important;
}

/* Wizard stability. */
.wizard,
.wizard-layout,
.wizard form,
.wizard-step,
.routing-console{
  min-width:0!important;
  box-sizing:border-box!important;
}
.wizard-step.active{overflow:visible!important}
.wizard-actions{
  flex-wrap:wrap!important;
}
.wizard-actions .btn,
.hero-actions .btn,
.card-actions .btn{
  min-height:48px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  white-space:normal!important;
  text-align:center!important;
  line-height:1.2!important;
}
.card-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
}
.card-actions .btn{flex:1 1 210px!important}

/* Keep public product grids balanced and stop long labels from overflowing. */
.op-grid > *,
.ecosystem-grid > *,
.blueprint-grid > *,
.cap-grid > *,
.access-grid > *,
.principle-grid > *,
.investor-metrics > *{
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
.access-card,
.op-card,
.ecosystem-card{
  box-sizing:border-box!important;
}

/* Route/status chips and buttons should remain visually contained. */
.route-chip,
.status-pill,
.btn,
.button,
.button-primary,
.button-secondary,
.button-light,
.button-dark,
.button-ghost{
  box-sizing:border-box!important;
  max-width:100%!important;
}

/* Better intermediate viewport behavior. */
@media (max-width:1050px){
  [data-objective-choices],
  .choice-grid{grid-template-columns:1fr!important}
  .wizard-layout{grid-template-columns:1fr!important}
  .routing-console{border-left:0!important;border-top:1px solid rgba(255,255,255,.09)!important}
}
@media (max-width:700px){
  .choice-body,[data-objective-choices] .choice-body{
    min-height:112px!important;
    padding:18px 48px 18px 18px!important;
  }
  .wizard form,.routing-console{padding:20px!important}
  .wizard-actions{align-items:stretch!important}
  .wizard-actions .btn{width:100%!important}
  .card-actions{flex-direction:column!important}
  .card-actions .btn{width:100%!important;flex-basis:auto!important}
}
