/* Compact native consent surfaces, using FinnJobber's existing neutral/blue palette. */
[data-fj-consent-root] { --fj-consent-ink:#202938; --fj-consent-muted:#647084; --fj-consent-border:#dce2e9; --fj-consent-blue:#3865ab; color:var(--fj-consent-ink); font:400 14px/1.55 Inter,Arial,sans-serif; }
[data-fj-consent-root] *, .fj-consent-embed * { box-sizing:border-box; }
[data-fj-consent-root] [hidden], .fj-consent-embed [hidden] { display:none!important; }
[data-fj-consent-banner] { position:fixed; z-index:2147483000; inset:auto 12px 12px auto; width:min(440px,calc(100vw - 24px)); padding:14px; border:1px solid var(--fj-consent-border); border-radius:12px; background:#fff; box-shadow:0 6px 24px #15253c14; }
[data-fj-consent-root] :is(h2,h3,p) { margin:0; font-family:inherit; }
[data-fj-consent-root] h2 { color:var(--fj-consent-ink); font-size:16px; line-height:1.35; font-weight:600; letter-spacing:-.25px; }
[data-fj-consent-root] h3 { color:var(--fj-consent-ink); font-size:14px; line-height:1.45; font-weight:600; }
[data-fj-consent-root] p { color:var(--fj-consent-muted); font-size:12.5px; line-height:1.5; }
[data-fj-consent-root] .fj-consent-copy { display:grid; gap:6px; font-size:12px; }
[data-fj-consent-banner] p { margin-top:0; }
[data-fj-consent-root] a { color:#285690; text-decoration:underline; text-underline-offset:3px; }
[data-fj-consent-root] .fj-consent-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
[data-fj-consent-root] button, .fj-consent-embed button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:36px; margin:0; padding:8px 11px; border:1px solid #cbd4e0; border-radius:7px; background:#fff; color:#26374e; font:600 12px/1.35 Inter,Arial,sans-serif; text-align:center; text-decoration:none; cursor:pointer; box-shadow:none; }
[data-fj-consent-banner] .fj-consent-actions > button { flex:1 1 0; }
[data-fj-consent-root] button:hover, .fj-consent-embed button:hover { border-color:#98abc5; background:#f3f6fa; color:#26374e; }
[data-fj-consent-root] :is(button,a,input):focus-visible, .fj-consent-embed :is(button,a):focus-visible { outline:2px solid #3865ab!important; outline-offset:0!important; box-shadow:none!important; }
[data-fj-consent-root] input:focus { outline-offset:0!important; box-shadow:none!important; }
[data-fj-consent-root] [data-fj-consent-title]:focus { outline:none!important; }
[data-fj-consent-dialog] { position:fixed; inset:0; width:min(480px,calc(100vw - 32px)); max-width:none; max-height:min(660px,calc(100dvh - 48px)); margin:auto; padding:0; overflow:hidden; border:1px solid var(--fj-consent-border); border-radius:12px; background:#fff; color:var(--fj-consent-ink); box-shadow:0 20px 65px #14243a29; }
[data-fj-consent-dialog][open] { display:flex; flex-direction:column; }
[data-fj-consent-dialog]::backdrop { background:#111c35a6; }
[data-fj-consent-dialog] :is(.fj-consent-heading,.fj-consent-header) { flex:none; display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:14px; border-bottom:1px solid #e8ecf1; }
[data-fj-consent-dialog] [data-fj-consent-action="close"] { flex:none; width:30px; min-height:30px; padding:5px; border-color:transparent; font-size:20px; font-weight:400; }
[data-fj-consent-dialog] :is(.fj-consent-body,[data-fj-consent-body]) { min-height:0; padding:12px 14px; overflow:auto; overscroll-behavior:contain; }
[data-fj-consent-root] .fj-consent-category { padding:10px 0; border-bottom:1px solid #e8ecf1; }
[data-fj-consent-root] .fj-consent-category:last-child { border-bottom:0; padding-bottom:0; }
[data-fj-consent-root] .fj-consent-category:first-child { padding-top:0; }
[data-fj-consent-root] label { display:flex; align-items:flex-start; gap:8px; margin:0; color:var(--fj-consent-ink); font-size:13px; font-weight:500; cursor:pointer; }
[data-fj-consent-root] input[type="checkbox"] { flex:none; appearance:auto; width:16px; height:16px; margin:2px 0 0; padding:0; border-radius:3px; accent-color:var(--fj-consent-blue); cursor:pointer; }
[data-fj-consent-root] input[type="checkbox"]:disabled { cursor:default; }
[data-fj-consent-root] label:has(input:disabled) { cursor:default; }
[data-fj-consent-root] .fj-consent-category > p { margin-top:4px; padding-left:24px; }
[data-fj-consent-root] .fj-consent-service { margin-top:8px; padding-left:24px; }
[data-fj-consent-root] .fj-consent-service p { margin:4px 0 0 24px; }
[data-fj-consent-root] .fj-consent-badge { display:inline-block; margin-left:8px; color:var(--fj-consent-muted); font-size:11px; font-weight:400; }
[data-fj-consent-service-note] { margin-bottom:10px!important; padding:10px; border:1px solid #d7e2f3; border-radius:9px; background:#f5f8fc; color:#354d70!important; }
[data-fj-consent-dialog] :is(.fj-consent-footer,[data-fj-consent-footer]) { flex:none; padding:12px 14px; border-top:1px solid #e8ecf1; background:#fff; }
[data-fj-consent-dialog] :is(.fj-consent-footer,[data-fj-consent-footer]) .fj-consent-actions { margin-top:0; }
[data-fj-consent-dialog] .fj-consent-actions > button { flex:1 1 auto; }
[data-fj-consent-dialog] [data-fj-consent-action="allow-service"] { width:100%; margin-top:10px; }
[data-fj-consent-status]:empty { display:none; }
[data-fj-consent-status] { margin-top:10px!important; font-size:12px!important; }
.fj-consent-embed { width:100%; max-width:100%; border-radius:10px; overflow:hidden; }
.fj-consent-embed [data-fj-consent-placeholder] { display:grid; justify-items:center; gap:12px; padding:24px 20px; min-height:150px; border:1px solid #dce2e9; border-radius:10px; background:#f7f9fc; color:#526071; text-align:center; }
.fj-consent-embed [data-fj-consent-placeholder] p { max-width:440px; margin:0; font:400 13px/1.55 Inter,Arial,sans-serif; }
.fj-consent-embed iframe { display:block; max-width:100%; }
@media(max-width:600px) {
    [data-fj-consent-banner] { right:10px; bottom:calc(10px + env(safe-area-inset-bottom)); width:calc(100vw - 20px); padding:12px; border-radius:10px; }
    [data-fj-consent-root] h2 { font-size:15px; }
    [data-fj-consent-banner] .fj-consent-actions { gap:5px; margin-top:10px; }
    [data-fj-consent-banner] .fj-consent-actions > button { flex:1 1 0; padding:8px 5px; min-height:36px; font-size:11.5px; }
    [data-fj-consent-dialog] { width:calc(100vw - 24px); max-height:min(600px,calc(100dvh - 64px)); border-radius:10px; }
    [data-fj-consent-dialog] :is(.fj-consent-heading,.fj-consent-header) { padding:12px; }
    [data-fj-consent-dialog] :is(.fj-consent-body,[data-fj-consent-body]) { padding:12px; }
    [data-fj-consent-dialog] :is(.fj-consent-footer,[data-fj-consent-footer]) { padding:10px 12px calc(10px + env(safe-area-inset-bottom)); }
    [data-fj-consent-dialog] .fj-consent-actions { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
    [data-fj-consent-dialog] :is([data-fj-consent-action="reject-optional"],[data-fj-consent-action="accept-all"]) { order:1; }
    [data-fj-consent-dialog] [data-fj-consent-action="save"] { order:2; grid-column:1 / -1; }
    [data-fj-consent-dialog] [data-fj-consent-action="allow-service"] { order:3; grid-column:1 / -1; margin-top:0; }
}
@media(prefers-reduced-motion:reduce) { [data-fj-consent-root] *, .fj-consent-embed * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
[data-fj-consent-root] .fj-consent-reopen { display:flex; width:max-content; max-width:calc(100% - 32px); min-height:36px; margin:12px auto 20px; padding:6px 10px; border-color:transparent; background:transparent; color:#647084; font-size:12px; font-weight:400; text-decoration:underline; text-underline-offset:3px; }
[data-fj-consent-root] .fj-consent-category small { margin-left:6px; color:#647084; font-size:11px; font-weight:400; }
.fj-consent-policy { max-width:900px; margin:0 auto; padding:40px 24px 64px; color:#374151; font-size:15px; line-height:1.7; }
.fj-consent-policy h1 { margin:0 0 16px; font-size:clamp(24px,4vw,32px); line-height:1.25; }
.fj-consent-policy h2 { margin:32px 0 12px; font-size:20px; line-height:1.4; }
.fj-consent-policy p { margin:0 0 14px; }
.fj-consent-policy a { color:#285690; text-decoration:underline; text-underline-offset:3px; }
.fj-consent-policy [data-fj-consent-open] { min-height:42px; padding:10px 16px; border:1px solid #cbd4e0; border-radius:9px; background:#fff; color:#26374e; font:600 14px/1.4 Inter,Arial,sans-serif; cursor:pointer; }
.fj-consent-policy [data-fj-consent-open]:hover { background:#f3f6fa; }
.fj-consent-policy [data-fj-consent-open]:focus-visible { outline:2px solid #3865ab!important; outline-offset:0!important; }
.fj-consent-table { width:100%; max-width:100%; margin:18px 0 24px; overflow-x:auto; border:1px solid #dce2e9; border-radius:10px; }
.fj-consent-table table { width:100%; margin:0; border-collapse:collapse; text-align:left; font-size:13px; }
.fj-consent-table :is(th,td) { padding:12px 14px; border-bottom:1px solid #e7ebf0; vertical-align:top; overflow-wrap:anywhere; }
.fj-consent-table th { background:#f5f7fa; color:#26374e; font-weight:600; }
.fj-consent-table tr:last-child td { border-bottom:0; }
@media(max-width:600px) { .fj-consent-policy { padding:24px 16px 40px; font-size:14px; } .fj-consent-table table { min-width:560px; } }

/* Cookie information uses the same 964px content limit as the homepage. */
html body.lk-unified-chrome:has(.fj-consent-policy),
html body.lk-unified-chrome:has(.fj-consent-policy) #lk-theme-main.fj-consent-policy {background:#fff!important}
html body.lk-unified-chrome:has(.fj-consent-policy) #lk-theme-main.fj-consent-policy {padding:84px 24px 48px!important}
html body .fj-consent-policy-inner {width:100%;max-width:964px;margin:0 auto;min-width:0}
html body .fj-consent-policy-inner h1 {font-size:26px;line-height:1.3}
html body:has(.fj-consent-policy) .site-footer .lk-footer {max-width:1012px;margin-left:auto;margin-right:auto}
html body:has(.lk-footer__legal,.fj-cv-footer) [data-fj-consent-root] > .fj-consent-reopen {display:none!important}
html body .fj-consent-footer-link {display:flex;justify-content:center;gap:16px;margin:24px 0 0;padding:14px 16px;border:0;background:transparent}
html body .fj-consent-footer-link .fj-consent-reopen {display:inline-flex;align-items:center;width:auto;min-height:36px;margin:0;padding:0;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#647084!important;font:400 12px/1.5 Inter,sans-serif!important;text-decoration:none!important;opacity:1!important}
html body .fj-consent-footer-link .fj-consent-reopen:hover {color:#285690!important;text-decoration:underline!important;text-underline-offset:3px}
html body .fj-consent-footer-link .fj-consent-reopen:focus-visible {outline:1px solid #3865ab!important;outline-offset:0!important}
@media(max-width:767px) {
 html body.lk-unified-chrome:has(.fj-consent-policy) #lk-theme-main.fj-consent-policy {margin:0!important;width:100%!important;padding:24px 16px 32px!important}
 html body .fj-consent-policy-inner h1 {font-size:22px}
}
