/* Shared SPG public pages. Employer career pages keep their own branding. */
:root{--spg-ink:#102c31;--spg-deep:#143d3e;--spg-mint:#afe4c8;--spg-paper:#f7faf8;--spg-line:#dbe6e0}
body.spg-public{background:var(--spg-paper);color:var(--spg-ink)}
.spg-public [hidden]{display:none!important}
.spg-public a{color:#195f53;text-underline-offset:3px}
.spg-public .public-topbar{background:var(--spg-ink);color:white;padding:14px max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}
.spg-public .public-topbar a{color:white;text-decoration:none;font-weight:700}
.spg-public .public-topbar a:first-child{display:inline-flex;background:white;border-radius:15px;padding:8px 14px}
.spg-public .public-topbar img{width:145px;height:auto;display:block}
.spg-public .public-topbar a:last-child:not(:first-child){border:1px solid #91b6aa;border-radius:12px;padding:11px 17px}
.spg-public .public-topbar a:last-child:hover{background:#22494a}
.spg-public .public-hero{background:linear-gradient(125deg,#102c31,#1b4945);color:white;border-radius:22px;padding:clamp(28px,5vw,60px);margin:26px 0 22px}
.spg-public .public-hero h1{color:white;font-size:clamp(2rem,5vw,3.5rem);line-height:1.08;letter-spacing:-.045em;max-width:820px}
.spg-public .public-hero p{color:#d1e4df;max-width:680px;line-height:1.6;margin-bottom:0}
.spg-public .public-hero .eyebrow,.spg-public .public-hero>span{color:var(--spg-mint);font-size:.78rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.spg-public .card,.spg-public .legal-page article,.spg-public #search,.spg-public .jobs article,.spg-public .empty{border:1px solid var(--spg-line);border-radius:18px;background:white;box-shadow:0 12px 35px #102c3109}
.spg-public button.primary,.spg-public button[type=submit],.spg-public .button.primary,.spg-public .jobs a{background:var(--spg-mint);border:1px solid var(--spg-mint);color:var(--spg-ink);border-radius:12px;font-weight:800;min-height:48px}
.spg-public button.primary:hover,.spg-public button[type=submit]:hover,.spg-public .jobs a:hover{background:#c6f1da}
.spg-public input,.spg-public select,.spg-public textarea{border:1px solid #bed1c8;border-radius:11px;background:#fbfdfc;color:var(--spg-ink)}
.spg-public :is(input,select,textarea,button,a):focus-visible{outline:3px solid #5da98d;outline-offset:3px}
.spg-public .legal-page{max-width:940px;padding-top:0}
.spg-public .legal-page>a:first-child{display:none}
.spg-public .legal-page article{padding:clamp(20px,4vw,42px);line-height:1.75;overflow-wrap:anywhere}
.spg-public .legal-page>h1{margin:26px 0 8px}
.spg-public .legal-page>.eyebrow{color:#2c7766}
.spg-public .legal-page>section{background:white;border:1px solid var(--spg-line);border-radius:18px;padding:clamp(18px,3vw,32px);margin:26px 0}
.spg-public .legal-page>section details,.spg-public .legal-page>details{border-bottom:1px solid var(--spg-line);padding:16px 0}
.spg-public .legal-page summary{cursor:pointer;font-weight:700;color:var(--spg-ink)}
.spg-public .legal-footer{background:var(--spg-ink);color:#d1e4df}
.spg-public .legal-footer a{color:white}
.spg-public.registration-shell .registration-page{max-width:900px}
.spg-public.registration-shell .registration-header{display:none}
.spg-public.registration-shell .registration-intro{background:linear-gradient(125deg,#102c31,#1b4945);border-radius:20px;padding:clamp(24px,4vw,42px);margin:8px 0 18px;color:white}
.spg-public.registration-shell .registration-intro h1{color:white;font-size:clamp(2rem,4vw,3rem)}
.spg-public.registration-shell .registration-intro p{color:#d1e4df;margin-bottom:0}
.spg-public.registration-shell .registration-intro .eyebrow{color:var(--spg-mint)}
.spg-public.registration-shell .registration-trial{background:#e6f5eb;border-color:#cae4d4}
.spg-public.registration-shell .registration-progress .is-current{background:#d6f0df;color:#123e36}
.spg-public.registration-shell .registration-actions button:not(.primary){border-radius:12px}
.spg-public.access-shell .apply-page{max-width:780px;padding-top:30px}
.spg-public.access-shell .apply-page>a:first-child{display:none}
.spg-public.access-shell .apply-page>h1{font-size:clamp(2rem,4vw,3rem);line-height:1.1}
.spg-public.access-shell .apply-page>p{line-height:1.6}
.spg-public.access-shell .apply-page .card{padding:clamp(20px,4vw,34px)}
.spg-public.access-shell .apply-page .primary{width:100%}
.spg-public.nebenjobs-shell header{background:var(--spg-ink);color:white;padding:14px max(24px,calc((100vw - 1100px)/2))}
.spg-public.nebenjobs-shell header a{color:white;text-decoration:none;font-weight:700}
.spg-public.nebenjobs-shell header a:first-child{background:white;padding:8px 13px;border-radius:14px;display:inline-flex}
.spg-public.nebenjobs-shell header img{width:145px;height:auto}
.spg-public.nebenjobs-shell .hero{background:linear-gradient(125deg,#102c31,#1b4945);border-radius:22px}
.spg-public.nebenjobs-shell .hero h1{line-height:1.08;letter-spacing:-.045em}
.spg-public.nebenjobs-shell .hero p{color:#d1e4df}
.spg-public.nebenjobs-shell #search{box-shadow:0 12px 35px #102c3109}
.spg-public.nebenjobs-shell footer{background:var(--spg-ink)}
.spg-public.nebenjobs-shell footer a{color:white}
.spg-public.flow-shell .booking-page,.spg-public.flow-shell .employee-page{width:min(100%,920px);max-width:920px;margin:0 auto;padding:clamp(22px,4vw,44px) 18px 54px}
.spg-public.flow-shell .booking-page>a:first-child,.spg-public.flow-shell .booking-page>img:first-child,.spg-public.flow-shell .employee-page>a:first-child{display:none}
.spg-public.flow-shell .booking-page>.dash-panel,.spg-public.flow-shell .employee-page>.card{background:white;border:1px solid var(--spg-line);border-radius:20px;box-shadow:0 12px 35px #102c310a;padding:clamp(20px,4vw,38px)}
.spg-public.flow-shell :is(.booking-page,.employee-page) h1{color:var(--spg-ink);font-size:clamp(1.8rem,4vw,2.5rem);letter-spacing:-.035em}
.spg-public.flow-shell :is(.booking-page,.employee-page)>p,.spg-public.flow-shell .employee-page>footer{color:#60776d;font-size:.9rem;line-height:1.6;margin-top:20px}
/* Login and password recovery use the same petrol/mint language. */
.auth{background:var(--spg-ink)}
.auth .auth-intro{background:linear-gradient(130deg,#102c31,#1b4945);color:white}
.auth .auth-intro::after{display:none}
.auth .auth-intro h1{color:white;font-weight:650;letter-spacing:-.045em}
.auth .auth-intro p,.auth .auth-intro small{color:#d1e4df}
.auth .auth-main{background:#f7faf8}
.auth .auth-form{background:white;border:1px solid var(--spg-line);border-radius:20px;box-shadow:0 20px 55px #102c3112;padding:clamp(22px,4vw,42px)}
.auth .auth-form button.primary{background:var(--spg-mint);border-color:var(--spg-mint);color:var(--spg-ink);border-radius:12px;min-height:50px;font-weight:800}
.auth .auth-form button.primary:hover{background:#c6f1da}
.auth .auth-form input{border-color:#bed1c8;border-radius:11px}
@media(max-width:700px){.spg-public .public-topbar{padding:12px 16px}.spg-public .public-topbar img{width:120px}.spg-public .public-topbar a:last-child:not(:first-child){padding:10px 12px;font-size:.85rem}.spg-public .legal-page{padding:0 16px 32px}.spg-public.nebenjobs-shell header{padding:12px 16px}.spg-public.nebenjobs-shell header img{width:120px}.spg-public.nebenjobs-shell main{padding:16px 16px 40px}.spg-public.nebenjobs-shell .hero{padding:28px 22px}.auth .auth-form{padding:22px}}
