/* ProSoftStore shared System Requirements component.
   Product MINI UI contract: semantic requirements columns + responsive desktop fit.
   Deploy at: https://prosoftstore.com/system-requirements.css
   Load after baseline styles.css and product.css. */

.main-content { min-width: 0; }

.main-content .requirements-accordion-toggle {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    min-height: 3.25rem;
    padding: 0.8rem 3rem 0.8rem 1rem;
    border: 1px solid #dfe3e8;
    border-left: 4px solid #667eea;
    border-radius: 6px;
    background: #f5f7fa;
    color: #1a2d44;
    font-family: inherit;
    font-size: 1.9em;
    font-weight: normal;
    font-style: normal;
    line-height: normal;
    text-align: left;
    cursor: pointer;
    box-sizing: border-box;
    transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.main-content h2 > .requirements-accordion-toggle { font-size: inherit; }

.main-content .requirements-accordion-toggle:hover {
    border-color: #c8ced8;
    border-left-color: #667eea;
    background: #eef1f6;
}

.main-content .requirements-accordion-toggle::after {
    content: "▸";
    position: absolute;
    top: 50%;
    right: 1rem;
    color: #667eea;
    font-size: 1.25em;
    line-height: 1;
    transform: translateY(-50%);
    transform-origin: center;
    transition: transform 160ms ease;
}

.main-content .requirements-accordion-toggle[aria-expanded="true"] {
    border-color: #667eea;
    background: #eef0ff;
    box-shadow: 0 2px 6px rgba(26, 45, 68, 0.12);
}

.main-content .requirements-accordion-toggle[aria-expanded="true"]::after {
    transform: translateY(-50%) rotate(90deg);
}

.main-content .requirements-accordion-toggle:focus-visible {
    outline: 3px solid #667eea;
    outline-offset: 3px;
    box-shadow: 0 0 0 2px #fff;
}

.main-content .requirements-accordion-panel { max-width: 100%; }

.main-content .system-requirements-table {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
    scrollbar-gutter: stable;
}

.main-content .system-requirements-table table {
    width: 100%;
    min-width: 1000px;
    margin: 0;
    table-layout: auto;
    border-collapse: collapse;
    font-family: Arial, sans-serif;
    font-size: 14px;
    line-height: 1.45;
}

.main-content .system-requirements-table th,
.main-content .system-requirements-table td,
.main-content .system-requirements-table th:first-child,
.main-content .system-requirements-table th:last-child,
.main-content .system-requirements-table td:first-child,
.main-content .system-requirements-table td:last-child {
    width: auto;
    padding: 9px 10px;
    border: 1px solid #d5dbe1;
    background: #fff;
    color: #1f2933;
    text-align: left;
    vertical-align: top;
    white-space: normal;
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: none;
    box-sizing: border-box;
}

.main-content .system-requirements-table th {
    background: #34495e;
    color: #fff;
    font-weight: 600;
    vertical-align: middle;
}

.main-content .system-requirements-table tbody tr:nth-child(even) td { background: #f8f9fa; }

.main-content .system-requirements-table table.requirements-semantic-columns {
    width: 100%;
    min-width: 1000px;
    table-layout: fixed;
}

/* Semantic role widths. The common 8-column layout totals ~97% before
   browser distribution, so Notes remains readable around a 1280px viewport. */
.main-content .system-requirements-table col.req-col-release          { width: 10%; }
.main-content .system-requirements-table col.req-col-os               { width: 13%; }
.main-content .system-requirements-table col.req-col-architecture     { width: 9%;  }
.main-content .system-requirements-table col.req-col-processor        { width: 12%; }
.main-content .system-requirements-table col.req-col-ram              { width: 8%;  }
.main-content .system-requirements-table col.req-col-graphics         { width: 12%; }
.main-content .system-requirements-table col.req-col-storage          { width: 14%; }
.main-content .system-requirements-table col.req-col-display          { width: 12%; }
.main-content .system-requirements-table col.req-col-notes            { width: 16%; }
.main-content .system-requirements-table col.req-col-hard-constraints { width: 16%; }
.main-content .system-requirements-table col.req-col-applicability    { width: 14%; }
.main-content .system-requirements-table col.req-col-host-product     { width: 13%; }

/* Legacy fallback for already-deployed tables without semantic colgroup. */
.main-content .system-requirements-table table:not(.requirements-semantic-columns) th:nth-child(1),
.main-content .system-requirements-table table:not(.requirements-semantic-columns) td:nth-child(1) { min-width: 115px; }
.main-content .system-requirements-table table:not(.requirements-semantic-columns) th:nth-child(2),
.main-content .system-requirements-table table:not(.requirements-semantic-columns) td:nth-child(2) { min-width: 145px; }
.main-content .system-requirements-table table:not(.requirements-semantic-columns) th:nth-child(3),
.main-content .system-requirements-table table:not(.requirements-semantic-columns) td:nth-child(3) { min-width: 130px; }
.main-content .system-requirements-table table:not(.requirements-semantic-columns) th:nth-child(4),
.main-content .system-requirements-table table:not(.requirements-semantic-columns) td:nth-child(4) { min-width: 80px; }
.main-content .system-requirements-table table:not(.requirements-semantic-columns) th:nth-child(5),
.main-content .system-requirements-table table:not(.requirements-semantic-columns) td:nth-child(5) { min-width: 125px; }
.main-content .system-requirements-table table:not(.requirements-semantic-columns) th:nth-child(6),
.main-content .system-requirements-table table:not(.requirements-semantic-columns) td:nth-child(6) { min-width: 155px; }

.main-content .system-requirements-table table:not(.requirements-semantic-columns):not(:has(thead th:nth-child(8))) th:nth-child(7),
.main-content .system-requirements-table table:not(.requirements-semantic-columns):not(:has(thead th:nth-child(8))) td:nth-child(7) { min-width: 190px; }

.main-content .system-requirements-table table:not(.requirements-semantic-columns):has(thead th:nth-child(8)) th:nth-child(7),
.main-content .system-requirements-table table:not(.requirements-semantic-columns):has(thead th:nth-child(8)) td:nth-child(7) { min-width: 145px; }

.main-content .system-requirements-table table:not(.requirements-semantic-columns):has(thead th:nth-child(8)) th:nth-child(8),
.main-content .system-requirements-table table:not(.requirements-semantic-columns):has(thead th:nth-child(8)) td:nth-child(8) { min-width: 175px; }

@media screen and (max-width: 1280px) {
    .main-content .system-requirements-table table { font-size: 13.5px; }

    .main-content .system-requirements-table th,
    .main-content .system-requirements-table td,
    .main-content .system-requirements-table th:first-child,
    .main-content .system-requirements-table th:last-child,
    .main-content .system-requirements-table td:first-child,
    .main-content .system-requirements-table td:last-child {
        padding: 8px 9px;
    }
}

@media screen and (max-width: 1100px) {
    .main-content .system-requirements-table table,
    .main-content .system-requirements-table table.requirements-semantic-columns {
        min-width: 1000px;
        font-size: 13px;
    }
}

@media screen and (max-width: 768px) {
    .main-content .requirements-accordion-toggle { font-size: 1.4em; }
    .main-content h2 > .requirements-accordion-toggle { font-size: inherit; }

    .main-content .system-requirements-table table,
    .main-content .system-requirements-table table.requirements-semantic-columns {
        min-width: 960px;
        font-size: 13px;
    }

    .main-content .system-requirements-table th,
    .main-content .system-requirements-table td,
    .main-content .system-requirements-table th:first-child,
    .main-content .system-requirements-table th:last-child,
    .main-content .system-requirements-table td:first-child,
    .main-content .system-requirements-table td:last-child {
        padding: 8px;
    }
}
