/* Cross-route containment verified by the 24 September 2026 route audit. */
.v-menu:not([open]) > .v-menu-panel {
  display: none !important;
}

.editorial-contract {
  box-sizing: border-box;
  width: min(920px, calc(100% - 60px));
  max-width: 920px;
  margin-inline: auto;
}

body:has(.editorial-tabs) .edition-editorial {
  box-sizing: border-box;
  width: min(1180px, calc(100% - 3rem)) !important;
  max-width: 1180px;
  margin-inline: auto !important;
}

@media (max-width: 900px) {
  .v-nav {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}

@media (max-width: 760px) {
  .editorial-contract {
    width: calc(100% - 36px);
  }

  body:has(.editorial-tabs) .edition-editorial {
    width: calc(100% - 1.5rem) !important;
  }

  .ledger-receipts {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .ledger-receipts > *,
  .ledger-receipt,
  .ledger-receipt__head,
  .ledger-receipt__head > *,
  .ledger-receipt dl,
  .ledger-receipt dl > div,
  .ledger-receipt dt,
  .ledger-receipt dd {
    min-width: 0;
    max-width: 100%;
  }

  .ledger-receipt__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .ledger-receipt__head strong,
  .ledger-receipt__head small,
  .ledger-receipt p,
  .ledger-receipt a,
  .ledger-receipt dt,
  .ledger-receipt dd,
  .ledger-evidence-note {
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}

@media (max-width: 680px) {
  .ig,
  .ig-layout,
  .ig-layout > *,
  .ig-decision,
  .ig-decision > *,
  .ig-panel,
  .ig-network,
  .ig-list,
  .ig aside,
  .ig details {
    min-width: 0;
    max-width: 100%;
  }

  .ig-layout,
  .ig-decision {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .ig-list,
  .ig-network {
    width: 100%;
    overflow-x: auto;
  }

  .ig-network {
    contain: inline-size;
  }

  .ig {
    overflow-x: hidden;
  }
}

@media (max-width: 520px) {
  .v-chapters,
  .v-zone {
    display: none !important;
  }

  .v-brand,
  .v-brand span {
    min-width: 0;
  }

  .v-brand {
    flex: 1 1 auto;
  }

  .v-brand small {
    white-space: normal;
  }

  .v-menu {
    flex: 0 0 auto;
    margin-left: auto;
  }

  .v-menu-panel {
    right: 0;
    max-width: calc(100vw - 32px);
  }
}
/* Preserved origin-map notices are full-width rows, not side-by-side columns. */
.headlines-board-head { flex-wrap: wrap; }
.headlines-board-head > .notice { flex: 1 0 100%; min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
