/* Shared national / regional subject module inside the channel-section template. */
.channel-subjects { background:#f4f7fb; color:#344c67; }
.channel-subjects .pc-layout__body { gap:14px; padding-top:12px; padding-bottom:28px; }
.subject-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:13px 20px; border:1px solid #dee8f5; border-radius:10px; background:linear-gradient(110deg,#edf5ff,#f7fbff 72%,#e8f6f7); }
.subject-heading p { margin:0 0 3px; color:#5783ad; font-size:12px; }
.subject-heading h1 { margin:0; font-size:28px; line-height:1.4; font-weight:700; color:#244666; }
.subject-heading__intro { margin-top:7px; font-size:13px; color:#6a819b; }
.subject-heading__year { flex:none; padding:0 12px; color:#3c82bc; font-size:30px; font-weight:700; letter-spacing:1px; }
.subject-heading__year small { display:block; font-size:11px; color:#8199af; letter-spacing:2px; font-weight:400; text-align:center; }
.channel-subjects .subject-frame { align-items:start; }
.subject-frame .pc-frame__main { display:flex; flex-direction:column; gap:14px; }
.subject-card { min-width:0; padding:18px; background:#fff; border:1px solid #dfe8f2; border-radius:10px; }
.subject-card__heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 14px; }
.subject-card__heading h2 { margin:0; padding-left:11px; border-left:3px solid #21b8a5; color:#294864; font-size:19px; line-height:1.3; font-weight:700; }
.subject-card__heading>span,.subject-card__heading>a { color:#7a8fa6; font-size:12px; text-decoration:none; }
.subject-card__heading>a:hover { color:#0b53c6; }
.subject-levels { display:flex; gap:9px; margin-bottom:15px; }
.subject-levels a { flex:1; display:flex; align-items:center; gap:12px; padding:12px 14px; border:1px solid #e0e8f3; border-radius:7px; text-decoration:none; background:#fafcff; color:#496785; }
.subject-levels strong { font-size:17px; font-weight:700; white-space:nowrap; }
.subject-levels small { font-size:11px; color:#8296aa; }
.subject-levels a[aria-current],.subject-levels a:hover { background:#edf4ff; border-color:#8db5f3; color:#0b53c6; }
.subject-levels a[aria-current] { box-shadow:inset 0 -2px #0d5ad4; }
.subject-common { display:flex; align-items:center; gap:22px; padding:13px 15px; background:#eef6fd; border-radius:7px 7px 0 0; }
.subject-common>span { flex:none; color:#4c7092; font-size:13px; font-weight:600; }
.subject-common>span small { display:block; margin-top:3px; color:#8a9cb0; font-size:11px; font-weight:400; }
.subject-common>div { display:flex; flex-wrap:wrap; gap:10px; }
.subject-common strong { padding:6px 17px; border:1px solid #d8e7f7; border-radius:5px; background:#fff; color:#1653a1; font-size:16px; font-weight:600; }
.subject-common strong small,.subject-names small { margin-left:5px; color:#9e6e26; font-size:10px; }
.subject-table-wrap { border:1px solid #e2eaf4; border-radius:0 0 7px 7px; overflow:hidden; }
.subject-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:14px; line-height:1.65; }
.subject-table th { padding:10px 14px; background:#f7f9fc; color:#7c8fa3; font-size:12px; text-align:left; font-weight:500; }
.subject-table th:first-child { width:34%; }.subject-table th:last-child:not(:nth-child(2)) { width:18%; }
.subject-table td { padding:9px 14px; border-top:1px solid #ebf0f6; vertical-align:top; }
.subject-table tr:nth-child(even) { background:#fcfdff; }.subject-table tr:hover { background:#f6faff; }
.subject-table td>strong { color:#405d7b; font-weight:500; }
.subject-exam-cell { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:0 8px; }
.subject-names { display:flex; flex-wrap:wrap; gap:5px 8px; }
.subject-names>span { padding:1px 7px; border:1px solid #e2eaf4; border-radius:4px; background:#fff; color:#294f7b; }
.subject-names>.subject-no-extra { border:0; padding-left:0; background:none; color:#879aaf; font-size:12px; }
.subject-scope { color:#7b90a6; font-size:12px; }
.subject-category summary { cursor:pointer; color:#456787; font-size:13px; }
.subject-category summary span { display:inline-block; color:#0b53c6; font-size:11px; }.subject-category p { margin:8px 0 0; font-size:12px; color:#6f8499; }
.subject-evidence { margin-top:4px; font-size:11px; line-height:1.5; }.subject-evidence summary { color:#8a9aad; cursor:pointer; width:fit-content; white-space:nowrap; }.subject-evidence[open] { grid-column:1/-1; }.subject-evidence[open] summary { color:#0b53c6; }
.subject-evidence>div { margin-top:8px; padding-top:7px; border-top:1px dashed #dee6ef; color:#71859b; }.subject-evidence b { font-weight:500; }.subject-evidence p { margin:4px 0; }.subject-evidence a { display:block; margin-top:4px; color:#2666ad; text-decoration:none; }
.subject-table-note { margin:10px 0 0; color:#8192a5; font-size:11px; line-height:1.7; }
.subject-card .pc-pager { margin:12px 0 0; gap:6px; }.subject-card .pc-pager>a,.subject-card .pc-pager>span { min-width:34px; min-height:34px; padding:6px 10px; font-size:13px; }
.subject-aside { display:flex; flex-direction:column; gap:14px; position:static; }
.subject-side-card { padding:16px; border:1px solid #dfe8f2; border-radius:10px; background:#fff; }
.subject-side-card h2 { margin:-16px -16px 14px; padding:12px 16px; background:#eef4fc; border-radius:10px 10px 0 0; color:#466783; font-size:15px; line-height:1.4; font-weight:600; }
.subject-side-card h3 { margin:14px 0 8px; font-size:12px; font-weight:500; color:#8b9baf; }.subject-side-card h3:first-of-type { margin-top:0; }
.subject-year-links { display:flex; flex-wrap:wrap; gap:7px; }.subject-year-links a { padding:5px 14px; border:1px solid #e1e9f3; border-radius:5px; font-size:12px; }
.subject-region-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; }.subject-region-links a { padding:6px 0; text-align:center; border-radius:4px; font-size:12px; }
.subject-year-links a,.subject-region-links a { color:#658099; text-decoration:none; }.subject-year-links a[aria-current],.subject-region-links a[aria-current],.subject-year-links a:hover,.subject-region-links a:hover { color:#0b53c6; background:#edf4ff; border-color:#9fbfea; }
.subject-source-links a { display:block; padding:10px 0; border-bottom:1px solid #edf1f7; text-decoration:none; color:#516d8a; font-size:13px; }.subject-source-links a:first-child { padding-top:0; }.subject-source-links a:last-child { border:0; padding-bottom:0; }.subject-source-links small { display:flex; justify-content:space-between; margin-top:5px; color:#92a2b4; font-size:11px; }.subject-source-links b { color:#3973b8; font-weight:400; }
.subject-source-links details { margin-top:12px; }.subject-source-links summary { cursor:pointer; color:#6d87a3; font-size:12px; }
.subject-next a { display:block; padding:11px 0; border-bottom:1px solid #edf1f7; text-decoration:none; }.subject-next a:last-child { border:0; padding-bottom:0; }.subject-next a:first-of-type { padding-top:0; }.subject-next strong { display:block; font-size:13px; color:#386895; font-weight:500; }.subject-next span { display:block; font-size:11px; color:#8b9caf; margin-top:4px; }
.subject-reading { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }.subject-reading a { display:flex; flex-direction:column; gap:5px; padding:11px 0; border-top:1px solid #edf1f7; text-decoration:none; color:#436483; font-size:13px; }.subject-reading small { color:#95a2b2; font-size:11px; }
.subject-empty { padding:24px 0; }.subject-empty h3 { margin:0; font-size:18px; color:#526b87; }.subject-empty p { margin:10px 0; font-size:13px; color:#8b9aab; }.subject-empty a { color:#0b53c6; font-size:13px; }
.channel-subjects a:focus-visible,.channel-subjects summary:focus-visible { outline:2px solid #0b53c6; outline-offset:3px; }
@media (max-width:1280px) {.subject-levels a { gap:8px; padding:11px 12px; }.subject-levels small { font-size:10px; } }
.subject-dates .subject-date-row { padding:10px 0; border-bottom:1px solid #e8eef5; }.subject-dates .subject-date-row:last-child { border:0; padding-bottom:0; }.subject-date-row strong { display:block; color:#467398; font-size:13px; font-weight:500; }.subject-date-row>span { display:block; margin-top:6px; color:#91a3b5; font-size:11px; line-height:1.8; }
