/* Public-site additions only; authenticated app styles remain untouched. */
.marketing-top-brand:has(.website-language-bar) { width: 100%; margin: 0 0 22px; }
.marketing-top-brand .marketing-top-logo { flex: 0 1 420px; min-width: 0; }
.website-language-bar { display: flex; align-items: center; justify-content: flex-end; margin-left: auto; position: relative; z-index: 20; flex-shrink: 0; }
.website-language-menu { position: relative; font: 600 18px/1.4 var(--app-font, system-ui); color: #343a40; }
.website-language-menu summary { list-style: none; display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: #fff; border: 1px solid #cbd9ec; border-radius: 10px; cursor: pointer; }
.website-language-menu summary::-webkit-details-marker { display: none; }
.website-language-menu summary::after { content: '⌄'; color: #0766d1; }
.website-language-menu img { width: 26px; height: 18px; object-fit: cover; border: 1px solid #d9e0ec; border-radius: 2px; flex-shrink: 0; }
.website-language-menu nav { position: absolute; right: 0; top: calc(100% + 6px); width: 210px; max-height: 65vh; overflow: auto; padding: 6px; border: 1px solid #cbd9ec; border-radius: 12px; background: #fff; box-shadow: 0 8px 24px #1720331a; }
.website-language-menu nav a { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 40px; padding: 8px 10px; color: #343a40; border-radius: 6px; text-decoration: none; }
.website-language-menu nav a:hover, .website-language-menu nav a[aria-current='page'] { background: #eaf3ff; color: #0766d1; }
.website-language-menu :is(summary,a):focus-visible { outline: 3px solid #0766d1; outline-offset: 2px; }
body.public-website { background: #fff; }
body.public-website .auth-panel { width: min(1220px, calc(100% - 36px)); margin: auto; padding: 24px 0; }
.public-website .marketing-login-experience { grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; }
.public-website .website-signup-photo { grid-column: 2; grid-row: 1; margin: 0; min-width: 0; display: flex; justify-content: center; }
.public-website .website-signup-photo img { display: block; width: 100%; max-width: 100%; height: auto; border-radius: 18px; }
@media(max-width:900px) {
  .public-website .marketing-login-experience { grid-template-columns: minmax(0,1fr); }
  .public-website .website-signup-photo { grid-column: 1; grid-row: 2; }
}
.website-login-link { align-self: center; margin-right: 18px; color: #0766d1; font: 600 14px/1.4 var(--app-font,system-ui); text-decoration: none; }
.website-login-link:hover { text-decoration: underline; }
:is(html[lang="nl"] .public-website, body:not(.public-website)) .marketing-story-experience { align-items: end; }
:is(html[lang="nl"] .public-website, body:not(.public-website)) .marketing-story-experience .marketing-section-heading { align-self: end; margin-bottom: 0; }
:is(html[lang="nl"] .public-website, body:not(.public-website)) .marketing-story-experience .marketing-section-heading > :last-child { margin-bottom: 0; }
:is(html[lang="nl"] .public-website, body:not(.public-website)) .marketing-story-experience .marketing-login-portrait { align-self: end; height: fit-content; }
:is(html[lang="nl"] .public-website, body:not(.public-website)) .marketing-story-experience .marketing-login-portrait img { width: 100%; height: auto; max-height: none; }
@media(max-width:1100px) { .website-language-bar { flex-direction: column-reverse; align-items: flex-end; gap: 8px; } .website-login-link { margin-right: 0; } }
@media(max-width:600px) {
  .marketing-top-brand:has(.website-language-bar) { flex-wrap: wrap; }
  .marketing-top-brand .marketing-top-logo { flex-basis: calc(100% - 82px); }
  .website-language-bar { width: 100%; flex-direction: row; justify-content: flex-end; }
  .website-language-menu { font-size: 16px; }
  .website-language-menu summary { padding: 8px 12px; }
}
