:root{--navy:#0038A8;--blue:#0038A8;--pale:#F8EDCA;--ink:#333333;--muted:#647585;--line:#dce5e9;--white:#fff}*{box-sizing:border-box}body{margin:0;background:#f4f7f8;color:var(--ink);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.wrap{max-width:1120px;margin:42px auto;padding:0 22px}header{background:var(--navy);color:#fff;border-radius:18px;padding:34px 38px;box-shadow:0 12px 32px #17324d22}h1{margin:0 0 8px;font-size:2rem}header p{margin:0;color:#dcecf3}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:22px}.card{min-width:0;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 6px 20px #17324d0d}.wide{grid-column:1/-1}h2{margin:0 0 16px;color:var(--navy);font-size:1.25rem}.label{font-weight:700;color:var(--navy)}a{color:var(--blue)}table{width:100%;border-collapse:collapse;font-size:.94rem}th,td{text-align:left;vertical-align:top;padding:12px 10px;border-bottom:1px solid var(--line)}th{background:var(--pale);color:var(--navy)}.pill{display:inline-block;background:var(--pale);color:var(--navy);padding:5px 10px;border-radius:999px;font-weight:700}.dates{display:flex;gap:12px;flex-wrap:wrap}.datebox{flex:1;min-width:220px;background:var(--pale);border-radius:12px;padding:15px}.books{display:grid;grid-template-columns:1fr 1fr;gap:14px}.book{border-left:4px solid var(--blue);padding:8px 14px;background:#f9fbfc}.hours{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.hour{text-align:center;background:var(--pale);padding:16px 8px;border-radius:12px}.hour strong{display:block;font-size:1.5rem;color:var(--navy)}footer{text-align:center;color:var(--muted);font-size:.85rem;padding:24px}/* På mobil vises hver mødedag som et kort med tydelige feltoverskrifter. */
@media(max-width:760px){
  .wrap{margin:20px auto;padding:0 14px}
  .grid,.books{grid-template-columns:1fr}
  .grid{gap:16px;margin-top:16px}
  .card{padding:20px;overflow-wrap:anywhere}
  .hours{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wide{grid-column:auto}
  header{padding:24px 20px}
  h1{font-size:1.65rem;line-height:1.2;overflow-wrap:anywhere}
  .datebox{min-width:0;flex-basis:100%}
  table,tbody{display:block;width:100%}
  table{font-size:1rem}
  thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  tbody{display:grid;gap:20px}
  tr{display:block;border:1px solid var(--line);border-radius:12px;overflow:hidden}
  td{display:block;padding:12px 14px}
  td::before{content:attr(data-label);display:block;margin-bottom:4px;font-size:.85rem;font-weight:700;color:var(--navy)}
  td:first-child{background:var(--pale);font-weight:700;color:var(--navy)}
  td:first-child::before{display:inline;margin-right:8px}
  td:last-child{border-bottom:0}
  footer{padding:24px 8px}
}
@media print{body{background:white}.wrap{margin:0;max-width:none}.card,header{box-shadow:none}}
/* Fælles navigation og undervisningssider. */
h1,h2,h3{line-height:1.3}
a{ text-underline-offset:3px }
a:hover{color:#0C53ED}
a:focus-visible{outline:3px solid #0C53ED;outline-offset:5px;border-radius:3px}
nav{display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:20px}
nav a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.skip-link{position:absolute;left:16px;top:-100px;background:white;padding:12px;z-index:2}
.skip-link:focus{top:12px}
header .eyebrow{color:#F8EDCA;margin:0 0 12px;font-weight:700;letter-spacing:.06em;font-size:.85rem;text-transform:uppercase}
header .button{margin-top:24px;background:#F8EDCA;color:#0038A8}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;background:var(--blue);color:white;border-radius:8px;text-decoration:none;font-weight:700}
.button:hover{background:#0C53ED;color:white}
header .button:hover{background:white;color:#0038A8}
header a:focus-visible{outline-color:#E8D285}
.section-heading{margin:32px 0 0}
.lesson-card{display:flex;flex-direction:column;align-items:flex-start;border-top:4px solid #33ABB5}
.lesson-card .eyebrow{margin:0 0 12px;font-weight:700;color:var(--blue);font-size:.9rem}
.lesson-card h3{margin:0 0 12px;font-size:1.3rem;color:var(--navy)}
.lesson-card .when{margin:0 0 24px}
.lesson-card .button{margin-top:auto}
.details{margin:24px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.details div{background:var(--pale);padding:16px;border-radius:12px}
.details dt{font-weight:700;color:var(--navy);margin-bottom:6px}
.details dd{margin:0;overflow-wrap:anywhere}
.topics p{margin:0 0 16px}
.topics p:last-child{margin-bottom:0}
@media(max-width:760px){.details{grid-template-columns:1fr}.lesson-card h3{font-size:1.2rem}.button{max-width:100%;text-align:center}nav{gap:8px 20px}}

/* Emneoversigt og selvkontrol på undervisningssiden. */
.revision{margin-top:32px}
.revision>p{max-width:75ch}
.revision .source-note{font-size:.9rem}
.revision-index{display:block;background:var(--pale);border-radius:12px;padding:16px 24px}
.revision-index ol{margin:0;padding-left:24px}
.revision-index a{display:inline-flex;min-height:44px;align-items:center;overflow-wrap:anywhere}
.revision-topic{margin-top:20px}
.revision-topic h3{margin:0;color:var(--navy);font-size:1.2rem;scroll-margin-top:24px}
.revision-topic>p,.revision-questions{max-width:80ch}
.revision-questions{padding-left:24px}
.revision-questions>li{padding-left:4px;margin:24px 0}
.revision-questions>li::marker{font-weight:700;color:var(--navy)}
.revision-questions .question{font-weight:600}
.revision details{background:var(--pale);border-radius:8px}
.revision summary{padding:12px 14px;min-height:44px;cursor:pointer;font-weight:700;color:var(--navy)}
.revision summary:hover{color:#0C53ED}
.revision summary:focus-visible{outline:3px solid #0C53ED;outline-offset:3px;border-radius:8px}
.revision details p{margin:0;padding:0 14px 16px}
.revision .back-to-top{margin:16px 0 0;font-size:.9rem}
#repetition{scroll-margin-top:24px}
