/* Keep bilingual menu labels separate, with one contained scrolling surface. */
body .quickmenu-target-panel > a:not(.quickmenu-target-close){white-space:normal;overflow-wrap:break-word;line-height:1.5}
body .quickmenu-target-panel > a > strong{display:block;line-height:1.5}
body .quickmenu-target-panel > a > :is(small,[lang="si"]){display:block;margin:.25rem 0 0;font-size:.82em;font-weight:400;line-height:1.95}
body .quickmenu-target-panel{box-sizing:border-box;position:fixed;inset:max(12px,env(safe-area-inset-top,0px)) 12px auto auto;width:min(360px,calc(100vw - 24px));min-width:0;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - max(12px,env(safe-area-inset-top,0px)) - max(12px,env(safe-area-inset-bottom,0px)));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;z-index:10001}
body .quickmenu-target-panel[data-menu-open]{display:block}
body .quickmenu-target-panel[aria-hidden="true"]{display:none!important}
body .quickmenu-target-title{position:sticky;top:-10px;z-index:1;background:#fff;padding-top:10px;padding-bottom:10px}
.ews-quick-menu-backdrop{display:none;position:fixed;inset:0;background:rgba(11,35,65,.35);z-index:10000;touch-action:none}
html.ews-quick-menu-open,html.ews-quick-menu-open body{overflow:hidden!important;overscroll-behavior:none}
html.ews-quick-menu-open .ews-quick-menu-backdrop{display:block}
@media print{body .quickmenu-target-panel,.ews-quick-menu-backdrop{display:none!important}}
/* Keep the disclosure arrow beside More in both states, like native details. */
body .ews-menu-more > summary{position:relative;padding-inline-start:38px;list-style:none}
body .ews-menu-more > summary::marker{content:""}
body .ews-menu-more > summary > span{display:none;float:none}
body .ews-menu-more > summary::before{content:"";position:absolute;inset-inline-start:16px;top:calc(13px + .5em);width:.4em;height:.4em;border-inline-end:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s;pointer-events:none}
body .ews-menu-more[open] > summary::before{transform:rotate(45deg)}
@media(prefers-reduced-motion:reduce){body .ews-menu-more > summary::before{transition:none}}
/* Purpose-based navigation. Home always remains the first destination. */
body #quickmenu-panel[data-organised-menu]{padding:0 12px 14px;border:1px solid #d3e2da;border-radius:18px;background:#fff;color:#173d32;box-shadow:0 18px 60px #102f3340;font-size:16px;text-align:left}
body #quickmenu-panel[data-organised-menu] *{box-sizing:border-box}
body #quickmenu-panel[data-organised-menu] .quickmenu-target-title{display:flex;align-items:center;justify-content:space-between;gap:12px;top:0;margin:0 -12px 10px;padding:12px 16px;background:#f2f8f4;border-bottom:1px solid #d3e2da;color:#173d32;font-size:19px;line-height:1.4}
body #quickmenu-panel[data-organised-menu] .quickmenu-target-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;margin:0;border-radius:10px;background:#fff;color:#173d32;text-decoration:none;font-size:30px;line-height:1}
body #quickmenu-panel[data-organised-menu] a:not(.quickmenu-target-close){display:block!important;width:100%;min-height:48px;margin:0;padding:11px 13px!important;border:0!important;border-radius:9px;background:transparent!important;color:#183d35!important;font-size:1em;line-height:1.45;text-decoration:none;white-space:normal;overflow-wrap:break-word}
body #quickmenu-panel[data-organised-menu] a strong{display:block;font-size:1em;line-height:1.45;font-weight:700}
body #quickmenu-panel[data-organised-menu] :is(a,summary)>:is(small,[lang=si],.si-label){display:block;margin:3px 0 0!important;font-size:.78em!important;line-height:1.85!important;font-weight:400;color:#486458!important;float:none}
body #quickmenu-panel[data-organised-menu] a.ews-menu-home{background:#e5f3e9!important;color:#075638!important;border-left:4px solid #168454!important}
body #quickmenu-panel[data-organised-menu] a.ews-menu-start{margin:5px 0 10px;background:#f3f7fa!important}
/* E-books uses a warm golden yellow beside the examination colours. */
body #quickmenu-panel[data-organised-menu] a.ews-menu-ebooks{margin:5px 0 10px;padding:13px 16px!important;background:#f6bf32!important;color:#17313e!important;border:1px solid #ca8a10!important;border-radius:10px}
body #quickmenu-panel[data-organised-menu] a.ews-menu-ebooks :is(strong,small){color:#17313e!important}
html:not(.ews-contrast) body #quickmenu-panel[data-organised-menu] a.ews-menu-ebooks:hover{background:#edb026!important}
body #quickmenu-panel[data-organised-menu] .ews-menu-group{margin:8px 0;border:1px solid #d5e2db;border-radius:10px;background:#fff;overflow:hidden}
body #quickmenu-panel[data-organised-menu] .ews-menu-group>summary{display:block;position:relative;cursor:pointer;list-style:none;min-height:62px;padding:11px 12px 11px 34px;background:#f6f9f7;color:#173d32;font-size:1em;line-height:1.45;text-align:left}
body #quickmenu-panel[data-organised-menu] .ews-menu-group>summary::-webkit-details-marker{display:none}
body #quickmenu-panel[data-organised-menu] .ews-menu-group>summary::marker{content:""}
body #quickmenu-panel[data-organised-menu] .ews-menu-group>summary::before{content:"";position:absolute;left:14px;top:18px;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg)}
body #quickmenu-panel[data-organised-menu] .ews-menu-group[open]>summary::before{transform:rotate(45deg)}
body #quickmenu-panel[data-organised-menu] .ews-menu-group:not([open])>.ews-menu-group-links{display:none}
body #quickmenu-panel[data-organised-menu] .ews-menu-group-links{padding:5px;border-top:1px solid #d5e2db}
body #quickmenu-panel[data-organised-menu] .ews-menu-group-links>a+a{border-top:1px solid #e3ebe6!important;border-radius:0}
body #quickmenu-panel[data-organised-menu] .ews-menu-papers>summary{background:#edf4ff;color:#174775}
body #quickmenu-panel[data-organised-menu] a.ews-payment-menu{margin-top:12px;background:#ffdfb4!important;border:1px solid #b96920!important;color:#633000!important}
body #quickmenu-panel[data-organised-menu] a.ews-payment-menu small{color:#633000!important}
body #quickmenu-panel[data-organised-menu] a:hover,body #quickmenu-panel[data-organised-menu] summary:hover{background:#eaf4ee!important}
body #quickmenu-panel[data-organised-menu] :is(a,summary):focus-visible{outline:3px solid #167751;outline-offset:-3px}
html.ews-contrast body #quickmenu-panel[data-organised-menu] :is(a,summary,strong,small,span){background:#000!important;color:#ffed6a!important;border-color:#fff!important}
html.ews-contrast body #quickmenu-panel[data-organised-menu] :is(a,summary):focus-visible{outline-color:#ffed6a}

/* Course categories remain compact and visually distinct from outer groups. */
body #quickmenu-panel[data-organised-menu] .ews-menu-group-links>.ews-menu-group{margin:5px 0;border-color:#dde7e1;border-radius:8px}
body #quickmenu-panel[data-organised-menu] .ews-menu-group-links>.ews-menu-group>summary{background:#fff;min-height:58px}
body #quickmenu-panel[data-organised-menu] .ews-menu-group-links>.ews-menu-group[open]>summary{background:#edf5ef}
body #quickmenu-panel[data-organised-menu] .ews-menu-group-links>.ews-menu-group>.ews-menu-group-links{border-left:3px solid #77a58b;padding:3px}

/* The same menu also mounts on pages without the homepage's inline CSS.
   Keep it closed before JavaScript initialises, and anchor every open state
   to the viewport rather than a legacy left-hand navigation container. */
body #quickmenu-panel.quickmenu-target-panel{
  display:none!important;
  position:fixed!important;
  inset:max(12px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) auto auto!important;
  width:min(360px,calc(100vw - 24px))!important;
  min-width:0!important;
  max-width:calc(100vw - 24px)!important;
  max-height:calc(100vh - 24px)!important;
  max-height:calc(100dvh - max(12px,env(safe-area-inset-top,0px)) - max(12px,env(safe-area-inset-bottom,0px)))!important;
  margin:0!important;
  transform:none!important;
  float:none!important;
  z-index:10001!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
body #quickmenu-panel.quickmenu-target-panel[data-menu-open="true"],
body #quickmenu-panel.quickmenu-target-panel:target:not([data-menu-ready]){display:block!important}
body #quickmenu-panel.quickmenu-target-panel[aria-hidden="true"]{display:none!important}
@media print{body #quickmenu-panel.quickmenu-target-panel{display:none!important}}

/* Main course families: labels and disclosure arrows identify every colour. */
body #quickmenu-panel[data-organised-menu]>.ews-menu-oxford{--course-colour:#002147;--course-tint:#eef2f8}
body #quickmenu-panel[data-organised-menu]>.ews-menu-cambridge{--course-colour:#8d2335;--course-tint:#fbf0f2}
body #quickmenu-panel[data-organised-menu]>.ews-menu-pearson{--course-colour:#00636b;--course-tint:#edf8f8}
body #quickmenu-panel[data-organised-menu]>.ews-menu-local{--course-colour:#175c3d;--course-tint:#edf7f0}
body #quickmenu-panel[data-organised-menu]>.ews-menu-group[class*="ews-menu-"]:is(.ews-menu-oxford,.ews-menu-cambridge,.ews-menu-pearson,.ews-menu-local){border:1px solid var(--course-colour)}
body #quickmenu-panel[data-organised-menu]>.ews-menu-group:is(.ews-menu-oxford,.ews-menu-cambridge,.ews-menu-pearson,.ews-menu-local)>summary{background:var(--course-colour)!important;color:#fff!important;padding-block:13px}
body #quickmenu-panel[data-organised-menu]>.ews-menu-group:is(.ews-menu-oxford,.ews-menu-cambridge,.ews-menu-pearson,.ews-menu-local)>summary :is(strong,small){color:#fff!important}
body #quickmenu-panel[data-organised-menu]>.ews-menu-group:is(.ews-menu-oxford,.ews-menu-cambridge,.ews-menu-pearson,.ews-menu-local)>summary:hover{filter:brightness(1.12)}
body #quickmenu-panel[data-organised-menu]>.ews-menu-group:is(.ews-menu-oxford,.ews-menu-cambridge,.ews-menu-pearson,.ews-menu-local) .ews-menu-group>summary{background:var(--course-tint);color:var(--course-colour)}
body #quickmenu-panel[data-organised-menu]>.ews-menu-group:is(.ews-menu-oxford,.ews-menu-cambridge,.ews-menu-pearson,.ews-menu-local) .ews-menu-group-links{border-left:3px solid var(--course-colour)}
body #quickmenu-panel[data-organised-menu]>.ews-menu-group:is(.ews-menu-oxford,.ews-menu-cambridge,.ews-menu-pearson,.ews-menu-local)>summary:focus-visible{outline:3px solid #ffdf7c;outline-offset:-5px}
html.ews-contrast body #quickmenu-panel[data-organised-menu]>.ews-menu-group:is(.ews-menu-oxford,.ews-menu-cambridge,.ews-menu-pearson,.ews-menu-local)>summary,html.ews-contrast body #quickmenu-panel[data-organised-menu]>.ews-menu-group:is(.ews-menu-oxford,.ews-menu-cambridge,.ews-menu-pearson,.ews-menu-local)>summary :is(strong,small){background:#000!important;color:#ffed6a!important}

body #quickmenu-panel[data-organised-menu] a:not(.quickmenu-target-close){font-weight:700}
/* EWS COURSE JOIN */
.ews-course-join{box-sizing:border-box;margin:20px auto;padding:18px;border:1px solid #b8d6c5;border-radius:12px;background:#eff8f2;color:#173d32;text-align:left;max-width:1100px;overflow-wrap:break-word}.ews-course-join>strong{display:block;font:700 1.2rem/1.45 Arial,sans-serif}.ews-course-join>p{margin:6px 0 12px;line-height:1.9}.ews-course-join>a,body #quickmenu-panel[data-organised-menu] .ews-course-join>a{display:inline-flex!important;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;max-width:100%;width:auto;padding:12px 18px!important;border-radius:8px;background:#08783f!important;color:#fff!important;font:700 16px/1.5 Arial,sans-serif;text-align:center;text-decoration:none;white-space:normal}.ews-course-join>a:hover{background:#065c30!important}.ews-course-join>a:focus-visible{outline:3px solid #ce9b20;outline-offset:3px}body #quickmenu-panel .ews-course-join{margin:8px 3px 3px;padding:12px}body #quickmenu-panel .ews-course-join>strong{font-size:1em}body #quickmenu-panel .ews-course-join>p{font-size:.82em;margin:4px 0 9px}.ews-contrast .ews-course-join{background:#000;color:#ffed6a;border-color:#fff}@media print{.ews-course-join{display:none}}
/* END EWS COURSE JOIN */

/* Individual destinations stay readable throughout the menu. */
body #quickmenu-panel[data-organised-menu]>a:not(.quickmenu-target-close){border-bottom:1px solid #e1e9e4!important;border-radius:4px;margin-block:3px}
body #quickmenu-panel[data-organised-menu]>a.ews-menu-publications{background:#fff5d5!important}
body #quickmenu-panel[data-organised-menu]>a.ews-menu-science-books{background:#e7f4ec!important}
body #quickmenu-panel[data-organised-menu]>a.ews-menu-maths-books{background:#edf0fc!important}
