.wl-platform-legal,
.wl-legal,
.wl-school-data-notice {
    min-width: 0;
    font-size: 0.875rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}
.wl-legal summary { cursor: pointer; text-decoration: underline; }
.wl-platform-legal { padding-block: 1rem; }
.wl-platform-legal p,
.wl-school-data-notice p { margin: 0 0 0.5rem; }
.wl-platform-legal__links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.25rem;
}
.wl-platform-legal a,
.wl-school-data-notice a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}
.wl-platform-legal a:focus-visible,
.wl-school-data-notice a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}
.wl-cookie[hidden], .wl-cookie__settings[hidden], .wl-cookie__error[hidden] { display: none; }
.wl-cookie { position: fixed; z-index: 10000; inset: auto 1rem 1rem; display: flex; justify-content: flex-end; font: inherit; pointer-events: none; }
.wl-cookie__dialog { pointer-events: auto; }
.wl-cookie__dialog { box-sizing: border-box; width: min(540px, 100%); max-height: calc(100dvh - 2rem); overflow: auto; padding: 18px; color: var(--wl2-text, #172018); background: var(--wl2-surface, #fff); border: 1px solid var(--wl2-border, #ccd5ce); border-radius: 16px; box-shadow: 0 12px 36px rgba(0,0,0,.22); font-size: 14px; line-height: 1.5; }
.wl-cookie .wl-cookie__dialog h2 { margin: 0 0 6px; font: inherit; font-size: 16px; font-weight: 700; }
.wl-cookie .wl-cookie__dialog p { margin: 0; font: inherit; }
.wl-cookie__dialog a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.wl-cookie__dialog summary { cursor: pointer; text-decoration: underline; }
.wl-cookie__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.wl-cookie .wl-cookie__actions button { margin: 0; min-height: 40px; padding: 8px 12px; font: inherit; font-weight: 600; line-height: 1.3; border: 1px solid var(--wl2-border, #ccd5ce); color: inherit; background: transparent; border-radius: 10px; cursor: pointer; }
.wl-cookie .wl-cookie__actions [data-wl-cookie-accept] { background: var(--wl-button-color, #007a56); color: var(--wl-button-foreground, #fff); border-color: var(--wl-button-color, #007a56); }
.wl-cookie .wl-cookie__actions button:disabled { opacity: .6; cursor: wait; }
.wl-cookie__actions button, .wl-cookie__settings button, .wl-cookie-manage { padding: .65rem 1rem; border: 1px solid currentColor; border-radius: 10px; cursor: pointer; font: inherit; }
.wl-cookie__settings { display: grid; gap: .65rem; padding: .75rem 0; }
.wl-cookie__error { color: #a11919; }
.wl-cookie-manage, .wl2-footer .wl-cookie-manage { display: inline; margin: 0; padding: 0; min-height: 0; border: 0; border-radius: 0; box-shadow: none; color: inherit; background: transparent; font: inherit; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.wl2-footer { padding-block: 20px; font-size: 13px; line-height: 1.5; color: var(--wl2-muted); }
.wl2-footer .wl2-container { gap: 12px 24px; }
.wl2-footer .wl2-footer__links { align-items: center; gap: 8px 18px; font-size: 13px; }
.wl2-footer .wl2-footer__links a { color: inherit; text-underline-offset: .2em; }
.wl2-footer__navigation { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; min-width: 0; }
.wl2-footer .wl2-footer__policies { font-size: 12px; }
@media (max-width: 760px) { .wl2-footer__navigation { align-items: flex-start; } }
.wl2-footer .wl-platform-legal { width: 100%; padding: 10px 0 0; border-top: 1px solid var(--wl2-border); font-size: 12px; line-height: 1.5; }
.wl2-footer .wl-platform-legal p { margin: 0 0 3px; font-size: inherit; }
.wl2-footer .wl-platform-legal__links { gap: 4px 16px; margin-block: 5px; }
.wl2-footer > .wl2-container > p { font-size: 12px; }
.wl2-footer .wl2-brand__mark { width: 32px; height: 32px; font-size: 14px; }
@media (max-width: 560px) { .wl-cookie { inset: auto .5rem .5rem; } .wl-cookie__dialog { width: 100%; padding: 14px; } .wl-cookie .wl-cookie__actions button { flex: 1 1 130px; } }
.wl-legal-page { width: min(960px, calc(100% - 2rem)); margin: 2rem auto; padding: 1.5rem; color: #172018; background: #fff; border-radius: 16px; }
.wl-legal-page table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
.wl-legal-page th, .wl-legal-page td { padding: .7rem; border: 1px solid #ccd5ce; text-align: left; vertical-align: top; }
.wl-legal-page a { color: inherit; text-decoration: underline; }
.wl-privacy-page { color: var(--wl2-text, #172018); font-size: 15px; line-height: 1.65; overflow-wrap: anywhere; }
.wl-privacy-page .wl-landing__container { box-sizing: border-box; width: min(900px, calc(100% - 40px)); margin-inline: auto; }
.wl-privacy-page .wl-landing__skip { position: absolute; left: -10000px; }
.wl-privacy-page .wl-landing__skip:focus { position: fixed; left: 16px; top: 16px; z-index: 10001; padding: 8px 12px; background: var(--wl2-surface, #fff); }
.wl-privacy-page a { color: inherit; text-underline-offset: 3px; }
.wl-privacy-page .wl-landing__header { padding-block: 20px; border-bottom: 1px solid var(--wl2-border, #ccd5ce); }
.wl-privacy-page .wl-landing__header-inner, .wl-privacy-page .wl-landing__header-actions, .wl-privacy-page .wl-landing__footer-inner { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 20px; }
.wl-privacy-page .wl-landing__header-inner { justify-content: space-between; }
.wl-privacy-page .wl-landing__brand { display: flex; align-items: center; gap: 10px; font-weight: 600; text-decoration: none; }
.wl-privacy-page .wl-landing__logo { width: auto; max-width: 120px; height: 36px; object-fit: contain; }
.wl-privacy-page .wl-landing__header-actions { font-size: 13px; }
.wl-privacy-page .wl-landing__legal { padding-block: 32px; }
.wl-privacy-page h1 { margin: 0 0 24px; font-size: clamp(26px, 4vw, 36px); line-height: 1.2; }
.wl-privacy-page h2 { margin: 28px 0 12px; font-size: 20px; line-height: 1.35; }
.wl-privacy-page .wl-landing__legal p { margin: 0 0 16px; white-space: pre-line; }
.wl-privacy-page dl { display: grid; grid-template-columns: minmax(140px, 1fr) 2fr; gap: 8px 20px; margin: 0 0 28px; padding-bottom: 24px; border-bottom: 1px solid var(--wl2-border, #ccd5ce); font-size: 13px; }
.wl-privacy-page dt { color: var(--wl2-muted, #56635a); }
.wl-privacy-page dd { margin: 0; }
.wl-privacy-page .wl-landing__legal-text { white-space: normal; }
.wl-privacy-page .wl-landing__footer { padding-block: 20px; border-top: 1px solid var(--wl2-border, #ccd5ce); font-size: 12px; }
.wl-privacy-page .wl-platform-legal { font-size: 12px; }
@media (max-width: 560px) { .wl-privacy-page dl { grid-template-columns: 1fr; gap: 2px; } .wl-privacy-page dd { margin-bottom: 10px; } }
