/* GermanStep v34 — stable mobile AI chat + unified Apply Now CTA */
.gs-apply-now-v34{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:0 16px;border:1px solid #17191c;border-radius:11px;background:#17191c;color:#fff!important;text-decoration:none!important;font-size:14px;font-weight:850;line-height:1;white-space:nowrap;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.gs-apply-now-v34:hover{transform:translateY(-1px);background:#262a2f;box-shadow:0 10px 26px rgba(17,24,39,.12)}
.gs-apply-now-v34 svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gs-apply-now-v34.light{background:#fff;color:#17191c!important;border-color:#d5dbe0}.gs-apply-now-v34.light:hover{background:#f7f8f9}
.gs-apply-now-inline-v34{margin-top:16px}.gs-apply-now-result-v34{height:42px}.gs-apply-now-job-v34{min-width:142px}
.service .gs-apply-now-v34{margin-top:14px}.service-v27-hero .hero-actions .gs-apply-now-v34,.program-v27-hero .hero-actions .gs-apply-now-v34{min-height:42px}

/* Desktop keeps the established chat dimensions; mobile is rebuilt around visualViewport. */
.gschat-v34{will-change:auto}
@media(max-width:720px){
 html.gschat-open-v34,body.gschat-open-v34{overflow:hidden!important;overscroll-behavior:none!important}
 body.gschat-open-v34 .gs-float-stack{display:none!important}
 .gschat-v34{display:none!important;left:0!important;right:auto!important;top:var(--gschat-vv-top,0px)!important;bottom:auto!important;width:100vw!important;max-width:none!important;height:var(--gschat-vv-height,100dvh)!important;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important;transition:none!important;opacity:1!important;visibility:visible!important;background:#f4f5f7!important}
 .gschat-v34.open{display:flex!important}
 .gschat-v34::before{height:3px}
 .gschat-v34 .gschat-head{flex:0 0 auto!important;height:auto!important;min-height:58px;padding:calc(7px + env(safe-area-inset-top)) 10px 7px!important;background:#fff!important}
 .gschat-v34 .gschat-brand strong{font-size:15px}.gschat-v34 .gschat-brand small{font-size:10px}
 .gschat-v34 .gschat-close{width:38px;height:38px;border-radius:11px}
 .gschat-v34 .gschat-messages{flex:1 1 auto!important;min-height:0!important;padding:12px 10px 14px!important;overflow-y:auto!important;overflow-x:hidden!important;scroll-behavior:auto!important;scrollbar-gutter:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch;background:#f4f5f7!important}
 .gschat-v34 .gschat-msg{max-width:94%;margin-bottom:11px}.gschat-v34 .gschat-msg.user{max-width:88%}
 .gschat-v34 .gschat-bubble{font-size:15px!important;line-height:1.48;padding:10px 12px}
 .gschat-v34 .gschat-suggestions{flex:0 0 auto;padding:7px 9px;background:#f8f9fa}.gschat-v34 .gschat-suggestions button{font-size:12px;padding:8px 10px}
 .gschat-v34 .gschat-form{position:relative!important;z-index:5;flex:0 0 auto!important;margin:0!important;padding:8px 8px calc(8px + env(safe-area-inset-bottom))!important;background:#fff!important;border-top:1px solid #dce1e6!important;box-shadow:0 -8px 24px rgba(17,24,39,.045)}
 .gschat-v34 .gschat-compose{grid-template-columns:minmax(0,1fr) 46px;gap:7px;padding:3px 3px 3px 11px;border-radius:13px}
 .gschat-v34 .gschat-compose textarea{display:block!important;visibility:visible!important;opacity:1!important;min-height:44px!important;max-height:112px!important;padding:11px 0!important;font-size:16px!important;line-height:1.4!important;color:#17191c!important;-webkit-text-size-adjust:100%}
 .gschat-v34 .gschat-compose button{width:46px;height:46px;border-radius:11px}
 .gschat-v34 .gschat-note{display:none!important}
}
@media(max-width:420px){.gs-apply-now-v34{width:100%;min-height:46px}.gschat-v34 .gschat-bubble{font-size:14.5px!important}}

.job-card-v34-footer{display:flex!important;gap:8px!important;flex-wrap:wrap!important;align-items:center!important}.job-card-v34-footer .gs-apply-now-v34{margin-left:auto}
.job-detail-modal-v32-actions .gs-apply-now-v34{min-height:44px}.jobs-saved-apply-v34{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 11px;border-radius:9px;background:#17191c;color:#fff!important;text-decoration:none;font-size:12px;font-weight:800}
@media(max-width:760px){.job-card-v34-footer>*{flex:1 1 calc(50% - 4px)}.job-card-v34-footer .gs-apply-now-v34{flex-basis:100%;margin-left:0}.job-detail-modal-v32-actions{flex-wrap:wrap}.job-detail-modal-v32-actions .gs-apply-now-v34{width:100%}.jobs-saved-item-v32>div:last-child{flex-wrap:wrap}.jobs-saved-apply-v34{width:100%}}

.certificate-v34-apply{max-width:860px;margin:8px auto 12px;display:flex;justify-content:flex-end}@media(max-width:640px){.certificate-v34-apply{justify-content:stretch}.certificate-v34-apply .gs-apply-now-v34{width:100%}}
