/* Shared public chrome; scoped to coexist with the original Covoizin components. */
.jm-public-mobile summary::-webkit-details-marker{display:none}
.jm-public-header,.jm-public-footer{font-family:system-ui,sans-serif;color:#103c68;background:#fff;box-sizing:border-box}
.jm-public-header *,.jm-public-footer *{box-sizing:border-box}
.jm-public-header{border-bottom:1px solid #d7dfe8;position:relative;z-index:30;width:100%}
.jm-public-header-inner{width:min(1220px,calc(100% - 48px));margin:auto;min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.jm-public-logo{display:block;flex:0 0 auto}.jm-public-logo img{display:block;width:172px;height:84px;object-fit:contain}
.jm-public-desktop{display:flex;align-items:center;gap:8px}.jm-public-header nav a{color:#103c68;text-decoration:none;display:flex;align-items:center;min-height:46px;padding:12px 16px;font-size:14px;font-weight:650;line-height:1.4;border-radius:8px}
.jm-public-header nav a:first-child{background:#fff0e5}.jm-public-header nav a:hover,.jm-public-header nav a[aria-current=page]{background:#eaf1f9;text-decoration:underline;text-underline-offset:5px}
.jm-public-header :focus-visible,.jm-public-footer :focus-visible{outline:3px solid #a53e00;outline-offset:3px}
.jm-public-mobile{display:none}
.jm-public-header~header.bar{display:none}
.didac-auth-shell.didac-auth-shell--entry{--didac-auth-green:#103c68;--didac-auth-green-dark:#0d3257;--didac-auth-orange:#f86608}
.jm-public-header-inner{width:min(1440px,calc(100% - 48px));min-height:86px;gap:24px}
.jm-public-logo img{width:145px;height:72px}
.jm-public-desktop{margin-left:auto;gap:2px}
.jm-public-header nav a{padding:10px 11px;font-size:13px;white-space:nowrap}
.jm-public-header nav a:first-child{background:transparent}
.jm-public-header nav a.jm-nav-register{background:#103c68;color:#fff;border-radius:999px;padding:11px 17px;min-height:42px}
.jm-public-header nav a.jm-nav-register:hover,.jm-public-header nav a.jm-nav-register[aria-current=page]{background:#0b2e50;color:#fff}
.jm-public-language{position:relative;font-size:13px;font-weight:750;flex:0 0 auto}
.jm-public-language summary{list-style:none;cursor:pointer;min-height:44px;padding:11px 12px;color:#103c68;border-radius:8px}
.jm-public-language summary::-webkit-details-marker{display:none}
.jm-public-language summary:after{content:'⌄';padding-left:7px;color:#f86608}
.jm-public-language[open]>div{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:128px;border:1px solid #d7dfe8;border-radius:10px;padding:6px;background:#fff;box-shadow:0 12px 30px #103c6824}
.jm-public-language a{display:block;min-height:42px;padding:10px 12px;color:#103c68;text-decoration:none;border-radius:6px}
.jm-public-language a:hover,.jm-public-language a[aria-current=true]{background:#eaf1f9}
.jm-public-account-menu{position:relative;flex:0 0 auto}
.jm-public-account-menu>summary{display:flex;align-items:center;gap:7px;min-width:59px;min-height:48px;padding:4px;list-style:none;cursor:pointer;border-radius:999px}
.jm-public-account-menu>summary::-webkit-details-marker{display:none}
.jm-public-account-menu>summary:hover,.jm-public-account-menu[open]>summary{background:#eaf1f9}
.jm-public-account-menu>summary img{display:block;width:38px;height:38px;flex:none;border-radius:50%;background:#eaf1f9;object-fit:cover}
.jm-public-account-chevron{width:8px;height:8px;margin-right:5px;border-right:1.5px solid #54708a;border-bottom:1.5px solid #54708a;transform:translateY(-2px) rotate(45deg)}
.jm-public-account-menu[open] .jm-public-account-chevron{transform:translateY(2px) rotate(225deg)}
.jm-public-account-menu>nav{position:absolute;right:0;top:calc(100% + 8px);z-index:42;width:264px;padding:8px;background:#fff;border:1px solid #d7dfe8;border-radius:12px;box-shadow:0 14px 32px #103c6829}
.jm-public-header .jm-public-account-menu nav a{display:flex;align-items:center;min-height:42px;padding:9px 12px;border-radius:7px;color:#103c68;font-size:13px;line-height:1.35;text-decoration:none;white-space:normal}
.jm-public-header .jm-public-account-menu nav a:first-child{background:transparent}
.jm-public-header .jm-public-account-menu nav a:hover,.jm-public-header .jm-public-account-menu nav a:focus-visible{background:#eaf1f9}
.jm-public-header .jm-public-account-menu nav a.jm-public-account-logout{margin-top:6px;border-top:1px solid #e3eaf0;border-radius:0 0 7px 7px}
@media(max-width:900px){.jm-public-header-inner{width:calc(100% - 32px);min-height:80px;gap:16px}.jm-public-logo img{width:142px;height:69px}.jm-public-desktop{display:none}.jm-public-mobile{display:block;position:relative}.jm-public-mobile summary{cursor:pointer;list-style:none;display:flex;gap:10px;align-items:center;padding:12px 16px;min-height:46px;border:1px solid #c8d4e0;border-radius:8px;font-weight:650}.jm-public-mobile summary:after{content:'☰';font-size:18px}.jm-public-mobile[open] summary:after{content:'×'}.jm-public-mobile nav{position:absolute;right:0;top:calc(100% + 10px);width:min(290px,calc(100vw - 32px));background:#fff;border:1px solid #d7dfe8;border-radius:12px;padding:10px;box-shadow:0 12px 30px #103c6824;display:grid;gap:4px}.jm-public-header nav a{min-height:48px}}
@media(max-width:1100px){.jm-public-header-inner{gap:14px}.jm-public-desktop{gap:0}.jm-public-header nav a{font-size:12px;padding:9px 8px}}
@media(max-width:900px){.jm-public-header-inner>.jm-public-language{display:none}.jm-public-mobile{margin-left:auto}.jm-public-mobile nav a{white-space:normal}.jm-public-mobile nav .jm-public-language{border-top:1px solid #d7dfe8}.jm-public-mobile nav .jm-public-language summary{border:0;justify-content:space-between;padding:10px 12px}.jm-public-mobile nav .jm-public-language summary:after{content:'⌄'}.jm-public-mobile nav .jm-public-language[open] summary:after{content:'⌃'}.jm-public-mobile nav .jm-public-language>div{position:static;box-shadow:none;border:0;padding:0 8px 8px}.jm-public-mobile nav .jm-nav-register{justify-content:center}.jm-public-header nav a.jm-nav-register{border-radius:9px}}
@media(max-width:900px){.jm-public-account-menu{margin-left:auto}.jm-public-account-menu+.jm-public-mobile{margin-left:0}.jm-public-account-menu>nav{right:-72px;width:min(264px,calc(100vw - 32px))}}
@media(max-width:430px){.jm-public-header-inner{gap:8px}.jm-public-logo img{width:118px;height:62px}.jm-public-account-menu>summary{min-width:52px}.jm-public-account-menu>summary img{width:34px;height:34px}.jm-public-mobile>summary{padding:10px;gap:6px}}

/* Public footer: Covoizin's generous columns in JeMimba's navy and orange palette. */
.jm-public-footer{margin-top:48px;padding:0;width:100%;background:#103c68;color:#fff;border-top:4px solid #f86608;font-size:15px;line-height:1.55}
.jm-public-footer-inner{width:min(1200px,calc(100% - 48px));margin:0 auto;padding:64px 0 24px}
.jm-public-footer-top{display:grid;grid-template-columns:minmax(220px,1.15fr) minmax(0,3.75fr);gap:clamp(36px,5vw,76px);padding-bottom:82px}
.jm-public-footer-brand{max-width:270px}
.jm-public-footer-logo{display:block;width:260px;max-width:100%;text-decoration:none}
.jm-public-footer-logo img{display:block;width:100%;height:auto}
.jm-public-footer-brand p{font-size:14px;line-height:1.7;color:#d3e2f0;margin:6px 0 0}
.jm-public-footer-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.6vw,36px)}
.jm-public-footer nav{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.jm-public-footer h2{color:#fff;font-size:14px;font-weight:750;line-height:1.35;margin:3px 0 14px}
.jm-public-footer nav a{display:inline-flex;align-items:center;min-height:44px;padding:7px 0;color:#dce8f3;font-size:14px;line-height:1.45;text-decoration:none;text-underline-offset:5px}
.jm-public-footer nav a:hover{color:#fff;text-decoration:underline}
.jm-public-footer :focus-visible{outline-color:#ffb27b}
.jm-public-footer-bottom{border-top:1px solid #ffffff45;padding-top:23px}
.jm-public-footer-bottom small{display:block;color:#d3e2f0;font-size:13px;line-height:1.5}
@media(max-width:1100px){.jm-public-footer-top{grid-template-columns:1fr;gap:36px;padding-bottom:58px}.jm-public-footer-brand{max-width:520px}.jm-public-footer-columns{gap:24px}}
@media(max-width:760px){.jm-public-footer{margin-top:32px}.jm-public-footer-inner{width:calc(100% - 40px);padding:44px 0 24px}.jm-public-footer-top{gap:36px;padding-bottom:48px}.jm-public-footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:28px}.jm-public-footer h2{margin-bottom:8px}}
@media(max-width:360px){.jm-public-footer-inner{width:calc(100% - 32px)}.jm-public-footer-columns{column-gap:16px}.jm-public-footer nav a{font-size:13px}}
