/* Application form (questions, contact, GHL calendar) for pages outside /nabidka/: homepage, case studies.
   Extracted from nabidka/assets/funnel.css (form rules only) so it does not restyle the rest of the page. */
:root{--offer-blue:#316cf0;--offer-ink:#1a1c1f;--offer-muted:#64758b;--offer-line:#e3e8f0;--offer-error:#c03131}
.application{font-family:Manrope,Arial,sans-serif;text-align:left;color:var(--offer-ink)}
.application *{box-sizing:border-box}
.application .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border:0;border-radius:10px;background:var(--offer-blue);color:#fff;font:500 17px/1.4 Manrope,Arial,sans-serif;text-decoration:none;cursor:pointer;transition:background .2s}
.application .btn:hover{background:#2559d6}
.application .form-note{margin:14px 0 0;font-size:13px;line-height:1.5;color:var(--offer-muted)}
.application .form-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.application{position:relative;z-index:6;max-width:700px;margin:40px auto 0;padding:0 20px;scroll-margin-top:20px}
.application-card{background:#fff;border:1px solid #e4e9ee;border-radius:24px;box-shadow:0 24px 60px #1e3a5f14;padding:30px 36px 34px}
.application.is-booking{max-width:860px}
.application-card{display:flex;flex-direction:column}
.app-head{order:3;display:flex;align-items:center;justify-content:flex-start;margin-top:18px}
.app-head .app-back[hidden]{display:inline-block;visibility:hidden}
.app-counter{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.app-back{border:0;background:none;color:var(--offer-muted);font:500 13px/1 Manrope,sans-serif;padding:8px 10px;margin:-8px -10px;border-radius:8px;cursor:pointer}
.app-back:hover{color:var(--offer-ink);background:#f3f5f7}
.app-progress{height:3px;border-radius:9px;background:#edf1f5;margin:0 0 28px;overflow:hidden}
.app-progress span{display:block;height:100%;width:var(--progress,0%);background:var(--offer-blue);border-radius:9px;transition:width .35s cubic-bezier(.22,.8,.25,1)}
.tf-head{display:flex;gap:12px;align-items:baseline;margin-bottom:24px}
.tf-head .question{margin:0}
.tf-num{flex:none;font-size:14px;font-weight:600;color:var(--offer-blue);white-space:nowrap}
.question{font-size:clamp(21px,2.2vw,26px);line-height:1.3;font-weight:600;letter-spacing:-.015em;color:var(--offer-ink);outline:none}
.tf-choices{display:grid;gap:10px;max-width:540px}
.tf-choices-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
.tf-choice{display:flex;align-items:center;gap:12px;width:100%;min-height:50px;text-align:left;padding:11px 14px;border:1px solid #316cf066;border-radius:10px;background:#316cf00f;color:#1b3f8f;font:500 16px/1.35 Manrope,sans-serif;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
.tf-choice:hover{background:#316cf01f}
.tf-choice:focus-visible{outline:none;box-shadow:0 0 0 3px #316cf040}
.tf-key{flex:none;display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border:1px solid #316cf099;border-radius:6px;background:#fff;color:var(--offer-blue);font-size:12px;font-weight:600}
.tf-label{flex:1}
.tf-check{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--offer-blue);color:#fff;opacity:0;transform:scale(.4);transition:opacity .18s,transform .25s cubic-bezier(.34,1.56,.64,1)}
.tf-check svg{width:13px;height:13px}
.tf-choice.is-selected{border-color:var(--offer-blue);background:#316cf024;box-shadow:inset 0 0 0 1px var(--offer-blue)}
.tf-choice.is-selected .tf-key{background:var(--offer-blue);color:#fff;border-color:var(--offer-blue)}
.tf-choice.is-selected .tf-check{opacity:1;transform:scale(1)}
.tf-choice.is-blinking{animation:tf-blink .42s steps(1,end)}
@keyframes tf-blink{0%,50%{background:#e6eeff}25%,75%{background:#fff}}
.tf-leave-up{animation:tf-leave-up .22s ease-in forwards}
.tf-leave-down{animation:tf-leave-down .22s ease-in forwards}
.tf-enter-up{animation:tf-enter-up .4s cubic-bezier(.22,.8,.25,1)}
.tf-enter-down{animation:tf-enter-down .4s cubic-bezier(.22,.8,.25,1)}
@keyframes tf-leave-up{to{opacity:0;transform:translateY(-28px)}}
@keyframes tf-leave-down{to{opacity:0;transform:translateY(28px)}}
@keyframes tf-enter-up{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes tf-enter-down{from{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:none}}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}
.field-wide{grid-column:1/-1}
.field label{display:block;font-size:14px;font-weight:500;color:#4b5b6e;margin-bottom:4px}
.field input{width:100%;border:0;border-bottom:1px solid #d3dce7;border-radius:0;padding:10px 0;font:400 19px/1.4 Manrope,sans-serif;color:var(--offer-ink);background:transparent;transition:border-color .15s}
.field input::placeholder{color:#a3adba}
.field input:focus{outline:none;border-bottom:2px solid var(--offer-blue);padding-bottom:9px}
.field input[aria-invalid=true]{border-bottom:2px solid var(--offer-error);padding-bottom:9px}
.field-help{display:block;font-size:13px;color:var(--offer-muted);margin-top:6px}
.field-error{display:block;font-size:13px;color:var(--offer-error);margin-top:6px}
.field-error[hidden]{display:none}
.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.tf-submit{display:flex;align-items:center;gap:14px;margin-top:30px}
.btn-submit{border:0;cursor:pointer;font-family:inherit}
.btn-submit:disabled{opacity:.7;cursor:wait}
.contact-form .tf-submit{justify-content:space-between}
.contact-form .tf-submit .app-back{margin:0 0 0 -10px}
.phone-row{display:flex;align-items:stretch;gap:12px}
.phone-row input{flex:1;min-width:0}
.phone-code{flex:none;border:0;border-bottom:1px solid #d3dce7;border-radius:0;padding:10px 22px 10px 0;font:400 19px/1.4 Manrope,sans-serif;color:var(--offer-ink);background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23667181' stroke-width='1.5'/%3E%3C/svg%3E") right 4px center/10px no-repeat;appearance:none;-webkit-appearance:none;cursor:pointer}
.phone-code:focus{outline:none;border-bottom:2px solid var(--offer-blue);padding-bottom:9px}
.booking-note{color:var(--offer-muted);font-size:15px;margin:8px 0 22px}
.calendar-frame{border-radius:16px;overflow:hidden;border:1px solid var(--offer-line);background:#fff}
.calendar-frame iframe{display:block;width:100%;height:760px;border:0}
@media(max-width:650px){.application{margin-top:22px;padding:0 8px}.application-card{padding:22px 18px 24px;border-radius:20px}.app-progress{margin:0 0 20px}.question{font-size:20px}.tf-head{margin-bottom:16px}.tf-choices-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tf-choices-single{grid-template-columns:1fr}.tf-choice{font-size:15px;padding:10px 12px;gap:9px;min-height:48px}.field-grid{grid-template-columns:1fr}.field input{font-size:18px}.tf-submit .btn{width:100%}.contact-form .tf-submit{flex-direction:column-reverse;align-items:stretch}.contact-form .tf-submit .app-back{align-self:flex-start;margin:4px 0 0 -10px}.phone-code{font-size:18px}.application.is-booking .application-card{padding:20px 12px 22px}.calendar-frame{border:0;border-radius:0}.calendar-frame iframe{height:1200px}}
@media(hover:none){.tf-key{display:none}.tf-label{white-space:nowrap}.tf-choices-single .tf-label{white-space:normal}}

/* Contact step, same on every application form (first used on the LEJAAN offer):
   one underline under the dial code and the number, buttons lower, consent line centred near the card's bottom edge */
.contact-form .phone-row{gap:10px;box-shadow:inset 0 -1px #d3dce7;transition:box-shadow .15s}
.contact-form .phone-row:focus-within{box-shadow:inset 0 -2px var(--offer-blue)}
.contact-form .phone-row:has([aria-invalid=true]){box-shadow:inset 0 -2px var(--offer-error)}
.contact-form .phone-row .phone-code,.contact-form .phone-row input,.contact-form .phone-row .phone-code:focus,.contact-form .phone-row input:focus,.contact-form .phone-row input[aria-invalid=true]{border-bottom:0;padding-bottom:10px}
.contact-form .tf-submit{margin-top:44px}
.contact-form .form-note{margin:36px 0 -19px;text-align:center}
/* On the contact step the empty counter row under the form would add space below the consent line */
.application-card:has(.contact-form) .app-head{display:none}
@media(max-width:650px){.contact-form .form-note{margin-bottom:-9px}}
