/*
   NOVERA.Software v2.0 - breakpoints
   Layout only. Nothing in this file sets a colour.
   */

/* small desktop */
@media (max-width: 1180px) {
    .sf-grid { grid-template-columns: 1fr 1fr 1fr; }
    .sf-brand { grid-column: 1 / -1; }
    .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rules { grid-template-columns: repeat(3, 1fr); }
    .arch { grid-template-columns: 1fr; }
    .sides { grid-template-columns: repeat(3, 1fr); }
    .flow { flex-wrap: wrap; row-gap: 12px; }
    .flow .box { flex: 1 1 calc(33% - 62px); }
}

/* tablet: the navigator folds into the contents sheet */
@media (max-width: 960px) {
    .nav { display: none; }
    .mast-tools { margin-left: auto; }
    .contact, .legal-split { grid-template-columns: 1fr; }
    .legal-panel { position: static; }
    body[class*="bg-"] { background-attachment: scroll; }
    .contents-list { grid-template-columns: 1fr; }
    .cards { grid-template-columns: 1fr 1fr; }
    .cards.tall .card { min-height: 0; }
    .split { grid-template-columns: 1fr; gap: 32px; }
    .items { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; }
    .items + .next-step { margin-left: 0; }
    .sides { grid-template-columns: 1fr; }
    .layer { grid-template-columns: 1fr; gap: 12px; min-height: 0; }
    .flow { flex-direction: column; }
    .flow .box { flex: none; }
    .flow .arrow { flex: 0 0 34px; }
    .flow .arrow svg { transform: rotate(90deg); width: 24px; }
    .flow-note { align-items: flex-start; }
    .flow-note::before { margin: 0 0 6px 22px; }
    .status thead { display: none; }
    .status, .status tbody, .status tr, .status td { display: block; width: auto !important; }
    .status tr { padding: 16px 0; border-bottom-width: 1px; }
    .status td { border-bottom: 0; padding: 3px 0; }
}

/* phone */
@media (max-width: 640px) {
    .mast-in { min-height: 60px; }
    .contents-top { min-height: 60px; }
    .contents-btn span { display: none; }
    .cover { min-height: calc(100vh - 60px); }
    .cover-meta i { margin: 0 .35em; }
    .cards { grid-template-columns: 1fr; }
    .field-row { grid-template-columns: 1fr; }
    .facts div { grid-template-columns: 1fr; gap: 2px; }
    .sf-grid { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
    .legal-text { padding-left: 0; }
    .legal-table thead { display: none; }
    .legal-table, .legal-table tbody, .legal-table tr, .legal-table td { display: block; }
    .legal-table td { border-bottom: 0; padding: 3px 0; white-space: normal; }
    .legal-table tr { padding: 10px 0; border-bottom-width: 1px; }
    .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .tile { padding: 20px 16px; min-height: 0; }
    .rules { grid-template-columns: 1fr; }
    .page-mark span { letter-spacing: .12em; }
    .pager { flex-direction: column; }
    .pager .next { text-align: left; margin-left: 0; }
}
