:root{--green:#1f654d;--green-dark:#124735;--green-deep:#0e3d2e;--green-soft:#edf7f1;--green-pale:#f7fbf8;--red:#b63333;--red-soft:#fff0f0;--ink:#17231e;--muted:#66756d;--line:#d9e4de;--white:#fff;--shadow:0 12px 34px rgba(25,56,44,.09);--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:#f5f8f6;line-height:1.62}button{font:inherit}a{color:var(--green)}.app-shell{min-height:100vh}.topbar{background:#fff;border-bottom:1px solid var(--line);min-height:100px;display:grid;grid-template-columns:minmax(270px,1fr) auto minmax(390px,1fr);align-items:center;gap:22px;padding:12px clamp(18px,4vw,56px);position:sticky;top:0;z-index:50}.brand{text-decoration:none;color:inherit;display:flex;align-items:center;gap:15px;min-width:0}.maps-logo{width:72px;height:58px;object-fit:contain}.brand h1{margin:1px 0 0;font-size:clamp(1.22rem,2vw,1.7rem);line-height:1.15}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;color:var(--green);font-weight:900}.eu-brand{display:flex;justify-content:center}.eu-logo{width:238px;height:74px;object-fit:contain}.partner-logos{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.partner-logos img{height:43px;max-width:76px;object-fit:contain;display:block}.logo-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:4px;border-radius:8px;transition:transform .18s ease,background .18s ease;cursor:pointer}.logo-tip:hover{transform:translateY(-2px);background:#f0f6f2}.logo-tip.nonclick{cursor:default}.logo-tip::after{content:attr(data-tip);position:absolute;left:50%;top:calc(100% + 10px);transform:translateX(-50%);background:#fff;color:#26332e;border:1px solid #cddbd4;border-radius:7px;padding:7px 9px;font-size:.72rem;font-weight:750;line-height:1.25;white-space:nowrap;box-shadow:0 8px 20px rgba(30,60,48,.12);opacity:0;visibility:hidden;pointer-events:none;transition:.16s ease;z-index:100}.logo-tip:hover::after,.logo-tip:focus::after{opacity:1;visibility:visible}.menu-btn{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 12px;font-weight:800;color:var(--green-dark)}.course-progress-wrap{padding:9px clamp(18px,4vw,56px) 11px;background:#fff;border-bottom:1px solid var(--line)}.course-progress-meta{display:flex;justify-content:space-between;gap:12px;font-size:.78rem;color:var(--muted);margin-bottom:6px}.progress-track{height:7px;background:#e8efeb;border-radius:999px;overflow:hidden}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--green),#4f9679);transition:width .3s ease}.layout{display:grid;grid-template-columns:310px minmax(0,1fr);max-width:1540px;margin:0 auto;min-height:calc(100vh - 190px)}.sidebar{padding:24px 16px 36px;border-right:1px solid var(--line);background:#fbfdfc;overflow:auto}.nav-home,.lesson-link,.topic-link{width:100%;display:flex;gap:10px;align-items:center;text-align:left;border:0;background:transparent;color:#26332e;padding:10px 11px;border-radius:10px;cursor:pointer;margin-bottom:3px}.nav-home:hover,.lesson-link:hover,.topic-link:hover{background:#edf5f0}.nav-home.active,.lesson-link.active{background:var(--green);color:#fff}.nav-icon{width:22px;text-align:center}.lesson-no{min-width:27px;height:27px;border-radius:50%;border:1px solid #b9cbc2;display:grid;place-items:center;font-size:.73rem;font-weight:900}.lesson-link.active .lesson-no{border-color:rgba(255,255,255,.5)}.lesson-title{font-size:.84rem;line-height:1.28}.topic-list{display:none;margin:4px 0 10px 16px;padding-left:10px;border-left:2px solid #d9e8e0}.topic-list.open{display:block}.topic-link{padding:7px 8px;font-size:.77rem;line-height:1.25;color:#5e6c65}.topic-link.active{color:var(--green-dark);font-weight:800;background:#edf6f1}.nav-heading{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#819088;font-weight:900;margin:22px 10px 9px}.main{padding:clamp(24px,4vw,54px);min-width:0}.view{display:none}.view.active{display:block}.hero{background:linear-gradient(135deg,#154735,#2f745b);color:#fff;border-radius:24px;padding:clamp(30px,5vw,58px);box-shadow:var(--shadow);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-90px;bottom:-130px;width:350px;height:350px;border:55px solid rgba(255,255,255,.07);border-radius:50%}.hero-project{font-family:Georgia,'Times New Roman',serif;font-size:clamp(.96rem,1.5vw,1.16rem);line-height:1.25;font-weight:700;max-width:640px;margin-bottom:4px}.hero-module{font-size:.88rem;font-weight:700;opacity:.9;margin-bottom:13px}.hero h2{font-size:clamp(2rem,4vw,3.35rem);line-height:1.06;margin:8px 0 14px;max-width:930px}.hero p{font-size:clamp(1rem,1.5vw,1.14rem);max-width:830px;color:#e5f1eb}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.btn{border:1px solid var(--line);border-radius:11px;padding:11px 17px;font-weight:850;cursor:pointer;background:#fff;color:var(--green-dark)}.btn-primary{background:var(--green);color:#fff;border-color:var(--green)}.hero .btn-primary{background:#fff;color:var(--green-dark)}.hero .btn-secondary{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.35)}.section-title{font-size:1.45rem;margin:36px 0 14px}.lesson-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lesson-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 4px 16px rgba(25,56,44,.04);display:flex;gap:14px;align-items:flex-start;cursor:pointer}.lesson-card:hover{border-color:#a9c9b8;transform:translateY(-1px)}.lesson-card .badge{width:39px;height:39px;border-radius:11px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-weight:900;flex:0 0 auto}.lesson-card h3{font-size:1rem;margin:0 0 5px;line-height:1.3}.lesson-card p{font-size:.82rem;color:var(--muted);margin:0}.about-card{margin-top:28px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.about-card h3{margin:0 0 7px}.about-card p{margin:3px 0;color:var(--muted);font-size:.88rem}.topic-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}.breadcrumb{font-size:.78rem;font-weight:900;color:var(--green);text-transform:uppercase;letter-spacing:.08em}.topic-header h2{font-size:clamp(1.9rem,3.8vw,2.9rem);line-height:1.08;margin:8px 0 0;max-width:930px}.topic-counter{white-space:nowrap;background:#fff;border:1px solid var(--line);padding:8px 11px;border-radius:10px;color:var(--muted);font-size:.8rem;font-weight:750}.lesson-progress{margin:0 0 24px}.content-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,4vw,42px);box-shadow:var(--shadow)}.content-card h3{font-size:1.13rem;color:var(--green-dark);margin:1.35em 0 .55em}.content-paragraph{font-size:1.01rem;margin:0 0 1.02em}.source-note{font-size:.82rem;color:var(--muted)}.content-list{padding-left:1.3rem;margin:.6rem 0 1.1rem}.content-list li{margin:.42rem 0}.course-figure{margin:8px 0 24px;text-align:center}.course-figure img{max-width:100%;max-height:560px;object-fit:contain;border-radius:12px;background:#f8fbf9;border:1px solid #e1ebe6}.key-messages{margin-top:30px;display:grid;gap:10px}.key-message{border-left:5px solid var(--green);background:var(--green-soft);border-radius:12px;padding:17px 19px}.key-message .label{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:var(--green);font-weight:900;margin-bottom:5px}.key-message p{font-size:1rem;font-weight:750;color:var(--green-dark);margin:0}.table-wrap{overflow-x:auto;margin:18px 0 24px}.data-table{width:100%;border-collapse:collapse;font-size:.88rem}.data-table th,.data-table td{border:1px solid #d7e2dc;padding:10px 11px;vertical-align:top}.data-table th{background:#eef6f2;color:var(--green-dark);text-align:left}.topic-nav{display:flex;justify-content:space-between;gap:12px;margin-top:19px}.topic-nav button{border:1px solid var(--line);background:#fff;color:var(--green-dark);border-radius:11px;padding:11px 15px;font-weight:850;cursor:pointer}.topic-nav button.next{background:var(--green);color:#fff;border-color:var(--green)}.topic-nav button:disabled{opacity:.35;cursor:default}.quiz-intro,.quiz-card,.result-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(22px,4vw,36px);box-shadow:var(--shadow)}.quiz-intro h2,.result-card h2{margin-top:0}.quiz-meta{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.pill{background:var(--green-soft);color:var(--green-dark);padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:800}.quiz-question{font-size:1.23rem;font-weight:850;margin-bottom:18px}.quiz-option{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);padding:12px 14px;border-radius:11px;margin:9px 0;cursor:pointer;background:#fff;transition:.15s}.quiz-option:hover{background:#f7faf8;border-color:#bbd0c5}.quiz-option input{margin-top:4px}.quiz-controls{display:flex;justify-content:space-between;gap:10px;margin-top:18px}.quiz-status{font-size:.8rem;color:var(--muted);margin-top:12px}.result-layout{display:grid;grid-template-columns:minmax(430px,620px) 1fr;gap:32px;align-items:start}.ring-wrap{position:relative;width:min(100%,620px);aspect-ratio:1;margin:auto}.result-ring{width:100%;height:100%;display:block}.ring-center{position:absolute;inset:28%;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center;padding:18px;box-shadow:0 3px 18px rgba(0,0,0,.06)}.ring-center .pct{font-size:clamp(2.4rem,6vw,4.8rem);font-weight:950;color:var(--green-dark);line-height:1}.ring-center .counts{font-size:.9rem;margin-top:9px}.ring-center .correct-count{color:var(--green);font-weight:850}.ring-center .wrong-count{color:var(--red);font-weight:850}.segment{stroke:#fff;stroke-width:1.2;cursor:pointer;transition:opacity .15s,filter .15s}.segment.correct{fill:#1d624a}.segment.wrong{fill:#bd3b3b}.segment:hover,.segment:focus{filter:brightness(1.12)}.segment-number{font-size:8px;font-weight:800;fill:#fff;text-anchor:middle;dominant-baseline:central;pointer-events:none}.ring-tooltip{position:fixed;z-index:200;max-width:330px;background:#fff;border:1px solid #cfdcd5;border-radius:9px;padding:10px 12px;box-shadow:0 10px 28px rgba(0,0,0,.14);font-size:.78rem;line-height:1.4;opacity:0;visibility:hidden;pointer-events:none}.ring-tooltip.show{opacity:1;visibility:visible}.ring-tooltip strong{display:block;margin-bottom:3px}.ring-tooltip .ok{color:var(--green);font-weight:850}.ring-tooltip .bad{color:var(--red);font-weight:850}.result-summary h3{margin-top:0}.result-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.answer-review{margin-top:28px}.review-item{border:1px solid var(--line);border-radius:12px;padding:15px;margin:10px 0;background:#fff}.review-item.correct{border-left:5px solid var(--green)}.review-item.wrong{border-left:5px solid var(--red)}.review-q{font-weight:800;margin-bottom:7px}.review-answer{font-size:.86rem;color:var(--muted);margin:3px 0}.review-answer.good{color:var(--green)}.review-answer.bad{color:var(--red)}footer{border-top:1px solid var(--line);background:#fff;padding:24px clamp(18px,4vw,56px);text-align:center;color:#53625b;font-size:.78rem}footer p{max-width:1100px;margin:5px auto}.footer-logos{display:flex;justify-content:center;align-items:center;gap:24px;margin-bottom:10px}.footer-maps-logo{height:44px;object-fit:contain}.footer-eu-logo{height:62px;object-fit:contain}.disclaimer{font-size:.72rem;line-height:1.45}@media(max-width:1220px){.topbar{grid-template-columns:minmax(250px,1fr) auto}.partner-logos{grid-column:1/-1;justify-content:center;margin-top:-4px}.layout{grid-template-columns:270px minmax(0,1fr)}}@media(max-width:900px){.topbar{grid-template-columns:1fr auto}.partner-logos{display:none}.eu-logo{width:205px;height:66px}.layout{grid-template-columns:240px minmax(0,1fr)}.lesson-cards{grid-template-columns:1fr}.main{padding:30px}.result-layout{grid-template-columns:1fr}.about-card{grid-template-columns:1fr}}@media(max-width:760px){.topbar{position:sticky;min-height:72px;padding:10px 14px;display:flex;flex-wrap:wrap;gap:9px}.maps-logo{width:58px;height:44px}.brand h1{font-size:1.04rem}.eyebrow{font-size:.61rem}.eu-logo{width:155px;height:50px}.menu-btn{display:block;order:3;width:100%}.course-progress-wrap{padding:8px 14px 10px}.layout{display:block}.sidebar{display:none;position:fixed;z-index:40;top:132px;left:0;right:0;bottom:0;overflow:auto;border-right:0;border-top:1px solid var(--line);box-shadow:0 18px 30px rgba(0,0,0,.14)}.sidebar.open{display:block}.main{padding:22px 14px 35px}.hero{border-radius:18px;padding:27px 22px}.hero h2{font-size:1.92rem}.hero-project{font-size:.94rem}.topic-header{display:block}.topic-counter{display:inline-block;margin-top:14px}.content-card{padding:22px 18px}.topic-nav button{flex:1}.ring-wrap{max-width:430px}.segment-number{font-size:7px}.ring-center{inset:29%;padding:10px}.ring-center .pct{font-size:2.5rem}}@media(max-width:470px){.brand{width:100%}.eu-brand{margin:auto}.eu-logo{width:190px;height:58px}.sidebar{top:184px}.result-card{padding:16px}.segment-number{font-size:6px}.ring-center .counts{font-size:.72rem}.quiz-controls{flex-direction:column}.quiz-controls .btn{width:100%}}
.quiz-how{
  margin:22px 0 26px;
  padding:18px 20px;
  background:#f6faf7;
  border:1px solid var(--line);
  border-radius:14px;
}
.quiz-how h3{
  margin:0 0 10px;
  font-size:1rem;
  color:var(--green-dark);
}
.quiz-how ul{
  margin:0;
  padding-left:1.25rem;
}
.quiz-how li{
  margin:.5rem 0;
  color:#3e4c46;
}
.quiz-counter{
  font-weight:900;
  color:var(--green-dark);
}
.quiz-question-progress{
  margin:-8px 0 20px;
}


.topic-media figure,
figure.topic-media{
  margin:0;
}
.topic-media figcaption,
figure.topic-media figcaption{
  margin-top:7px;
  color:var(--muted);
  font-size:.72rem;
  line-height:1.35;
  text-align:left;
}
.topic-media.grid figure{
  margin:0;
  min-width:0;
}


.course-figure{
  margin:1.2rem 0 1.45rem;
}
.course-figure figcaption{
  margin-top:7px;
  color:var(--muted);
  font-size:.72rem;
  line-height:1.35;
  text-align:left;
}

/* v1.5 layout and quiz/certificate refinements */
.nav-chevron{margin-left:auto;font-size:.78rem;opacity:.72;flex:0 0 auto}.quiz-nav-link{margin-top:7px}.quiz-letter{font-size:.7rem}.lesson-nav-block{position:relative}.topic-list.open{max-height:43vh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:4px}.topic-list.open::-webkit-scrollbar{width:6px}.topic-list.open::-webkit-scrollbar-thumb{background:#cbdad2;border-radius:999px}
.course-figure img{max-width:min(100%,760px);max-height:410px;width:auto;height:auto}.course-figure{margin:12px auto 24px}.course-figure figcaption{max-width:760px;margin:7px auto 0;text-align:left}
.quiz-wish{font-weight:750;color:var(--green-dark);margin:20px 0}.quiz-how.compact{margin-bottom:18px}.access-card{margin-top:24px;padding:22px;border:1px solid var(--line);border-radius:15px;background:#f9fcfa}.access-card h3{margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid label{font-size:.8rem;font-weight:850;color:var(--green-dark)}.form-grid label.full{grid-column:1/-1}.form-grid input{width:100%;margin-top:6px;border:1px solid #cbd9d2;border-radius:9px;padding:11px 12px;background:#fff;color:var(--ink);font:inherit}.form-grid input:focus{outline:2px solid #a8cab9;outline-offset:1px}.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.form-message{background:var(--red-soft);border:1px solid #edc7c7;color:#8f2929;border-radius:9px;padding:9px 11px;margin-bottom:12px;font-size:.83rem}.local-preview-note{margin:16px 0 0;font-size:.72rem;color:var(--muted);line-height:1.45}.signed-in-line{font-size:.84rem;color:var(--muted);margin-bottom:14px}.participant-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.participant-card>div{border:1px solid var(--line);background:#f9fcfa;border-radius:12px;padding:13px}.participant-card span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:850;margin-bottom:3px}.participant-card strong{font-size:.9rem;color:var(--green-dark)}
.result-status{display:flex;flex-direction:column;gap:3px;border-radius:12px;padding:14px 16px;margin:0 0 22px;border:1px solid var(--line)}.result-status strong{font-size:1rem}.result-status span{font-size:.86rem}.result-status.success{background:var(--green-soft);border-color:#bdd8ca;color:var(--green-dark)}.result-status.fail{background:var(--red-soft);border-color:#efcaca;color:#8d2c2c}.result-status.practice{background:#f4f7f5;color:#43544b}.ring-center .fraction{font-size:1.35rem;font-weight:950;margin-top:8px}.ring-center.pass .pct,.ring-center.pass .fraction{color:var(--green)}.ring-center.fail .pct,.ring-center.fail .fraction{color:var(--red)}.ring-center.practice .pct,.ring-center.practice .fraction{color:var(--green-dark)}.center-caption{font-size:.72rem;color:var(--muted);font-weight:750;margin-top:4px}.segment-number.dense{font-size:7px}.balanced-note{font-size:.8rem;color:var(--muted)}
.certificate-screen{max-width:1150px;margin:0 auto}.certificate-actions{display:flex;justify-content:flex-end;gap:10px;margin-bottom:16px}.certificate-sheet{aspect-ratio:1.414/1;background:linear-gradient(135deg,#fff 0%,#fbfdfc 70%,#edf6f1 100%);border:9px double #1f654d;box-shadow:var(--shadow);padding:34px 48px;text-align:center;position:relative;overflow:hidden}.certificate-sheet:before,.certificate-sheet:after{content:"";position:absolute;width:240px;height:240px;border:34px solid rgba(31,101,77,.06);border-radius:50%}.certificate-sheet:before{left:-115px;bottom:-120px}.certificate-sheet:after{right:-105px;top:-115px}.certificate-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.certificate-top img{height:68px;max-width:170px;object-fit:contain}.certificate-top .certificate-eu{height:82px;max-width:260px}.certificate-project{font-family:Georgia,'Times New Roman',serif;font-weight:700;color:var(--green-dark);font-size:1rem;margin-top:8px}.certificate-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:900;color:var(--green);margin-top:14px}.certificate-sheet h2{font-family:Georgia,'Times New Roman',serif;color:var(--green-dark);font-size:clamp(2rem,4vw,3.4rem);margin:5px 0 16px}.certificate-lead{margin:0;color:var(--muted)}.certificate-name{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.8rem,3.4vw,3rem);font-weight:800;color:#13281f;margin:6px 0 0}.certificate-org{font-size:1.05rem;color:var(--green);font-weight:800;margin-bottom:14px}.certificate-sheet h3{font-size:1.2rem;color:var(--green-dark);max-width:820px;margin:8px auto 12px}.certificate-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px auto 18px;max-width:850px}.certificate-meta>div{border-top:1px solid #b9cec3;padding-top:9px}.certificate-meta span{display:block;font-size:.67rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800}.certificate-meta strong{font-size:.84rem;color:var(--green-dark)}.certificate-partners{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:15px}.certificate-partners img{height:35px;max-width:70px;object-fit:contain}.certificate-note{font-size:.64rem!important;color:var(--muted);max-width:850px;margin:12px auto 0!important;line-height:1.35}
@media(min-width:761px){html,body{height:100%;overflow:hidden}.app-shell{height:100vh;display:flex;flex-direction:column;overflow:hidden}.topbar{position:relative;top:auto;flex:0 0 auto}.course-progress-wrap{flex:0 0 auto}.layout{flex:1 1 auto;min-height:0;width:100%;overflow:hidden}.sidebar{height:100%;overflow:hidden;flex:0 0 auto}.main{height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.main footer{margin:42px calc(-1 * clamp(24px,4vw,54px)) calc(-1 * clamp(24px,4vw,54px));padding-left:clamp(18px,4vw,56px);padding-right:clamp(18px,4vw,56px)}}
@media(max-width:900px){.participant-card{grid-template-columns:1fr}.certificate-sheet{padding:28px 26px}.certificate-meta{grid-template-columns:1fr 1fr}.certificate-partners{flex-wrap:wrap}}
@media(max-width:760px){html,body{height:auto;overflow:auto}.course-figure img{max-width:100%;max-height:360px}.topic-list.open{max-height:55vh}.form-grid,.form-grid.two{grid-template-columns:1fr}.participant-card{grid-template-columns:1fr}.certificate-sheet{aspect-ratio:auto;padding:24px 18px}.certificate-top img{height:48px}.certificate-top .certificate-eu{height:58px}.certificate-meta{grid-template-columns:1fr}.certificate-actions{flex-direction:column}.certificate-actions .btn{width:100%}}
@media print{@page{size:A4 landscape;margin:8mm}body{background:#fff!important}.topbar,.course-progress-wrap,.sidebar,.certificate-actions,footer,.ring-tooltip{display:none!important}.layout,.main,.view,.certificate-screen{display:block!important;overflow:visible!important;height:auto!important;max-width:none!important;padding:0!important;margin:0!important}.main>*:not(#quizView){display:none!important}#quizView>*:not(.certificate-screen){display:none!important}.certificate-sheet{display:block!important;box-shadow:none!important;width:100%!important;height:auto!important;min-height:180mm!important;border:8px double #1f654d!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}}


/* v1.6: independent sidebar scroll + selective image layout */
@media (min-width:761px){
  .sidebar{
    height:100%;
    min-height:0;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    scrollbar-width:thin;
  }
  .sidebar::-webkit-scrollbar{width:7px}
  .sidebar::-webkit-scrollbar-thumb{
    background:#c7d7cf;
    border-radius:999px;
  }

  /* One scrollbar for the complete left navigation, not another one inside a lesson. */
  .topic-list.open{
    max-height:none !important;
    overflow:visible !important;
    padding-right:0 !important;
  }

  /* Photo-like figures can use free space beside the lesson text. */
  .course-figure.figure-wrap-right{
    float:right;
    width:min(34%,360px);
    max-width:360px;
    margin:4px 0 18px 28px;
    text-align:center;
  }
  .course-figure.figure-wrap-right img{
    width:100%;
    height:auto;
    max-width:100%;
    max-height:330px;
    object-fit:contain;
  }
  .course-figure.figure-wrap-right figcaption{
    width:100%;
    max-width:none;
    margin-top:6px;
  }

  /* Clear floating photos before the next topic navigation / key layout ends. */
  .content-card::after{
    content:"";
    display:block;
    clear:both;
  }

  /* The text-heavy 'Medicinal Herbs in Your Kitchen' image must stay readable. */
  .course-figure.figure-readable-large{
    float:none;
    width:auto;
    max-width:100%;
    margin:12px auto 24px;
    text-align:center;
  }
  .course-figure.figure-readable-large img{
    width:493px;
    max-width:100%;
    height:auto;
    max-height:615px !important;
    object-fit:contain;
  }
  .course-figure.figure-readable-large figcaption{
    width:min(493px,100%);
    max-width:493px;
    margin:7px auto 0;
  }
}

/* On narrower screens all figures return to the normal stacked layout. */
@media (max-width:1050px) and (min-width:761px){
  .course-figure.figure-wrap-right{
    width:min(39%,320px);
    max-width:320px;
    margin-left:22px;
  }
  .course-figure.figure-wrap-right img{max-height:300px}
}

@media (max-width:760px){
  .course-figure.figure-wrap-right,
  .course-figure.figure-readable-large{
    float:none;
    width:auto;
    max-width:100%;
    margin:12px auto 22px;
    text-align:center;
  }
  .course-figure.figure-wrap-right img{
    width:auto;
    max-width:100%;
    max-height:340px;
  }
  .course-figure.figure-readable-large img{
    width:493px;
    max-width:100%;
    height:auto;
    max-height:none !important;
  }
}


/* v1.7: side-by-side quiz landing cards */
.quiz-hub{
  width:100%;
}
.quiz-hub > h2{
  margin:.35rem 0 .45rem;
}
.quiz-hub-lead{
  margin:0 0 1.35rem;
  color:var(--muted);
  max-width:900px;
}
.quiz-choice-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:22px;
  align-items:stretch;
}
.quiz-choice-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:24px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(30,76,56,.07);
}
.quiz-choice-card h3{
  margin:.35rem 0 .65rem;
  font-size:1.35rem;
  color:var(--text);
}
.quiz-choice-tag{
  align-self:flex-start;
  padding:5px 9px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  background:#edf5f1;
  color:var(--green-dark);
}
.certificate-choice{
  border:2px solid rgba(21,101,73,.34);
  background:linear-gradient(180deg,#ffffff 0%,#f6fbf8 100%);
}
.certificate-choice .quiz-choice-tag{
  background:var(--green-dark);
  color:#fff;
}
.quiz-choice-intro{
  min-height:3.2em;
  margin:0 0 .85rem;
}
.quiz-choice-card ul{
  margin:.2rem 0 1rem;
  padding-left:1.2rem;
}
.quiz-choice-card li{
  margin:.45rem 0;
}
.quiz-choice-card .quiz-wish{
  margin-top:auto;
  margin-bottom:1rem;
  color:var(--muted);
}
.full-btn{
  width:100%;
  justify-content:center;
}
.quiz-login-panel{
  margin-top:auto;
  padding:16px;
  border:1px solid #d8e5df;
  border-radius:14px;
  background:#fff;
}
.quiz-login-panel h4{
  margin:0 0 .7rem;
  color:var(--green-dark);
}
.quiz-login-panel label{
  display:block;
  margin:.65rem 0;
  font-size:.8rem;
  font-weight:800;
  color:#405049;
}
.quiz-login-panel input{
  display:block;
  width:100%;
  box-sizing:border-box;
  margin-top:5px;
  padding:10px 11px;
  border:1px solid #cfdcd6;
  border-radius:9px;
  background:#fff;
  font:inherit;
  font-weight:500;
}
.login-help,
.small-copy{
  margin:.65rem 0 0;
  color:var(--muted);
  font-size:.8rem;
}
.participant-compact{
  display:grid;
  gap:8px;
  margin:.7rem 0 1rem;
}
.participant-compact div{
  padding:9px 10px;
  border-radius:9px;
  background:#f4f8f6;
}
.participant-compact span{
  display:block;
  margin-bottom:2px;
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--muted);
}
.compact-actions{
  margin-top:8px;
}
.btn-small{
  padding:7px 10px !important;
  font-size:.78rem !important;
}
.form-actions.stacked-mobile{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
@media (max-width:900px){
  .quiz-choice-grid{
    grid-template-columns:1fr;
  }
  .quiz-choice-intro{
    min-height:0;
  }
}
@media (max-width:520px){
  .form-actions.stacked-mobile{
    display:grid;
    grid-template-columns:1fr;
  }
}


/* v1.8: participant identity cleanup + refined certificate */
.certificate-sheet{
  position:relative;
  overflow:hidden;
  border:3px solid #1f654d !important;
  border-radius:24px !important;
  box-shadow:
    inset 0 0 0 7px #ffffff,
    inset 0 0 0 9px #1f654d,
    0 18px 46px rgba(25,71,51,.12) !important;
  padding:34px 42px 42px !important;
  box-sizing:border-box;
}

.certificate-sheet::before{
  content:"";
  position:absolute;
  inset:13px;
  border:1px solid rgba(31,101,77,.35);
  border-radius:15px;
  pointer-events:none;
}

.certificate-top,
.certificate-project,
.certificate-kicker,
.certificate-sheet h2,
.certificate-lead,
.certificate-name,
.certificate-org,
.certificate-sheet > p,
.certificate-sheet h3,
.certificate-meta,
.certificate-partners,
.certificate-note{
  position:relative;
  z-index:2;
}

.certificate-top{
  padding:2px 8px 0;
  margin-bottom:2px;
}
.certificate-top img{
  height:62px;
  max-width:160px;
}
.certificate-top .certificate-eu{
  height:76px;
  max-width:245px;
}

.certificate-name{
  margin-top:7px !important;
}
.certificate-org{
  margin-top:2px;
  margin-bottom:12px !important;
}

.certificate-meta{
  margin:20px auto 14px !important;
}

.certificate-partners{
  margin:14px auto 6px !important;
  min-height:48px;
  padding:4px 0 2px;
  gap:20px !important;
  flex-wrap:nowrap;
}
.certificate-partners img{
  display:block;
  height:34px !important;
  width:auto;
  max-width:78px !important;
  object-fit:contain;
  object-position:center;
}

.certificate-note{
  margin:8px auto 0 !important;
  padding-bottom:2px;
}

@media (max-width:900px){
  .certificate-sheet{
    padding:30px 28px 36px !important;
    border-radius:20px !important;
  }
  .certificate-partners{
    flex-wrap:wrap;
    row-gap:10px;
  }
}

@media (max-width:760px){
  .certificate-sheet{
    padding:26px 20px 32px !important;
    border-radius:18px !important;
  }
  .certificate-sheet::before{
    inset:9px;
    border-radius:12px;
  }
}

/* Print/PDF: preserve rounded frame and keep partner logos fully inside it. */
@media print{
  .certificate-sheet{
    width:100% !important;
    min-height:180mm !important;
    padding:14mm 15mm 15mm !important;
    border:2.4mm solid #1f654d !important;
    border-radius:7mm !important;
    box-shadow:inset 0 0 0 2.2mm #fff, inset 0 0 0 2.8mm #1f654d !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
    print-color-adjust:exact;
    -webkit-print-color-adjust:exact;
  }
  .certificate-sheet::before{
    inset:4mm !important;
    border-radius:4mm !important;
  }
  .certificate-partners{
    margin-top:4mm !important;
    margin-bottom:1.5mm !important;
    min-height:10mm !important;
  }
  .certificate-partners img{
    height:8mm !important;
    max-width:18mm !important;
  }
  .certificate-note{
    margin-top:1.5mm !important;
  }
}

/* v1.9: final PDF print fit - explicit A4 landscape and safe margins */
@media print{
  @page{
    size:297mm 210mm;
    margin:10mm;
  }

  html,body{
    width:297mm !important;
    height:210mm !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    overflow:visible !important;
  }

  .topbar,
  .course-progress-wrap,
  .sidebar,
  .certificate-actions,
  footer,
  .ring-tooltip{
    display:none !important;
  }

  .app-shell,
  .layout,
  .main,
  .view,
  #quizView,
  .certificate-screen{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:none !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    background:#fff !important;
  }

  .main>*:not(#quizView),
  #quizView>*:not(.certificate-screen){
    display:none !important;
  }

  .certificate-screen{
    width:277mm !important;
    margin:0 auto !important;
  }

  .certificate-sheet{
    display:block !important;
    width:277mm !important;
    height:188mm !important;
    min-height:0 !important;
    max-height:188mm !important;
    margin:1mm auto !important;
    padding:9mm 13mm 10mm !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    border:1.8mm solid #1f654d !important;
    border-radius:6mm !important;
    box-shadow:inset 0 0 0 1.8mm #fff, inset 0 0 0 2.3mm #1f654d !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
    print-color-adjust:exact !important;
    -webkit-print-color-adjust:exact !important;
  }

  .certificate-sheet::before{
    inset:3.4mm !important;
    border-radius:3.5mm !important;
  }

  .certificate-sheet::after{
    width:55mm !important;
    height:55mm !important;
    border-width:8mm !important;
    right:-24mm !important;
    top:-24mm !important;
  }

  .certificate-top{
    padding:0 2mm !important;
    margin:0 0 1mm !important;
  }
  .certificate-top img{
    height:12mm !important;
    max-width:33mm !important;
  }
  .certificate-top .certificate-eu{
    height:15mm !important;
    max-width:48mm !important;
  }

  .certificate-project{
    font-size:9pt !important;
    margin-top:0 !important;
  }
  .certificate-kicker{
    font-size:7pt !important;
    margin-top:2mm !important;
  }
  .certificate-sheet h2{
    font-size:25pt !important;
    line-height:1.05 !important;
    margin:1mm 0 2mm !important;
  }
  .certificate-lead{
    font-size:9pt !important;
    margin:0 !important;
  }
  .certificate-name{
    font-size:23pt !important;
    line-height:1.05 !important;
    margin:1mm 0 0 !important;
  }
  .certificate-org{
    font-size:10pt !important;
    line-height:1.1 !important;
    margin:1mm 0 2mm !important;
  }
  .certificate-sheet>p{
    font-size:9pt !important;
    line-height:1.25 !important;
    margin:1.2mm auto !important;
  }
  .certificate-sheet h3{
    max-width:215mm !important;
    font-size:11.5pt !important;
    line-height:1.2 !important;
    margin:1.5mm auto 2mm !important;
  }

  .certificate-meta{
    max-width:218mm !important;
    gap:5mm !important;
    margin:4mm auto 2.5mm !important;
  }
  .certificate-meta>div{
    padding-top:1.5mm !important;
  }
  .certificate-meta span{
    font-size:6.5pt !important;
  }
  .certificate-meta strong{
    font-size:8.5pt !important;
  }

  .certificate-partners{
    min-height:9mm !important;
    margin:2.5mm auto 1mm !important;
    padding:0 !important;
    gap:5mm !important;
    flex-wrap:nowrap !important;
  }
  .certificate-partners img{
    display:block !important;
    height:7mm !important;
    width:auto !important;
    max-width:16mm !important;
    object-fit:contain !important;
    object-position:center !important;
  }
  .certificate-note{
    font-size:6.2pt !important;
    line-height:1.15 !important;
    margin:1mm auto 0 !important;
    padding:0 !important;
  }
}


/* v2.0: quiz progress hidden + certificate top logos + assessment review */
.course-progress-wrap.hidden-during-quiz{
  display:none !important;
}

.certificate-partners-top{
  margin:2px auto 8px !important;
  min-height:38px !important;
  padding:0 !important;
  gap:16px !important;
  position:relative;
  z-index:3;
}
.certificate-partners-top img{
  height:30px !important;
  max-width:64px !important;
}
.certificate-partners-top img:last-child{
  border-radius:50%;
}

@media print{
  .certificate-partners-top{
    margin:1mm auto 2mm !important;
    min-height:7mm !important;
    gap:4mm !important;
  }
  .certificate-partners-top img{
    height:6.5mm !important;
    max-width:15mm !important;
  }
}


/* v2.1: richer quiz-result interpretation */
.personal-result-text{
  font-size:1.02rem;
  line-height:1.55;
  margin-bottom:.8rem;
}
.archive-note{
  margin:1rem 0;
  padding:11px 13px;
  border-left:4px solid var(--green);
  border-radius:8px;
  background:#f2f8f5;
  color:#43534c;
}
.section-performance{
  margin:1.15rem 0 1.25rem;
}
.section-performance h4{
  margin:0 0 .3rem;
  color:var(--green-dark);
  font-size:1rem;
}
.section-performance-intro{
  margin:.15rem 0 .7rem;
  color:var(--muted);
  font-size:.88rem;
}
.section-performance-row{
  padding:10px 12px;
  margin:7px 0;
  border:1px solid #d9e4df;
  border-radius:10px;
  background:#fff;
}
.section-performance-row.needs-review{
  border-left:5px solid #b42318;
  background:#fffafa;
}
.section-performance-row.all-correct{
  border-left:5px solid #1f7855;
  background:#f7fbf9;
}
.section-performance-main{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:baseline;
}
.section-performance-main strong{
  color:#21352c;
}
.section-performance-main span{
  color:#5f6f68;
  font-size:.82rem;
  white-space:nowrap;
}
.section-performance-review{
  margin-top:5px;
  color:#5a6761;
  font-size:.82rem;
  line-height:1.4;
}
.no-errors{
  color:#17633f;
  font-weight:800;
}
@media(max-width:700px){
  .section-performance-main{
    display:block;
  }
  .section-performance-main span{
    display:block;
    margin-top:3px;
    white-space:normal;
  }
}


/* v2.2: privacy notice for Certificate Quiz */
.privacy-note{
  margin:.85rem 0 0;
  padding:10px 12px;
  border:1px solid #d7e5de;
  border-radius:10px;
  background:#f6faf8;
  color:#53635c;
  font-size:.76rem;
  line-height:1.45;
}
.privacy-note strong{
  color:var(--green-dark);
}


/* v2.3: centred motivational line in Mini Practice Quiz */
.practice-motivation{
  width:100%;
  max-width:430px;
  margin:1.15rem auto 1.2rem !important;
  padding:10px 14px;
  text-align:center;
  font-weight:800;
  line-height:1.45;
  color:var(--green-dark) !important;
  background:#f2f8f5;
  border-radius:12px;
}
