/* ===== JLDigital – Gratis vækstanalyse (multi-step) ===== */
.gf{max-width:1240px;margin:0 auto;padding:0 32px 96px}
.gf-inner{background:#fff;border:1px solid #e6e3dc;border-radius:26px;padding:44px;display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;box-shadow:0 40px 80px -66px rgba(10,10,10,.6)}
.gf-aside h2{font-family:'Playfair Display',serif;font-weight:400;font-size:clamp(26px,3vw,38px);line-height:1.12;letter-spacing:-.02em;margin-bottom:16px}
.gf-aside>p{font-size:15px;color:#5a564e;line-height:1.75;margin-bottom:24px}
.gf-bullets{list-style:none;display:flex;flex-direction:column;gap:12px}
.gf-bullets li{font-size:13.8px;color:#5a564e;line-height:1.6;display:flex;gap:11px}
.gf-bullets li::before{content:"";flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:#1a1916;margin-top:7px}
.gf-note{margin-top:26px;font-size:12.5px;color:#8a8780;line-height:1.6;border-top:1px solid #efece5;padding-top:18px}
.gf-progress{display:flex;align-items:center;gap:8px;margin-bottom:26px}
.gf-progress .st{flex:1;display:flex;flex-direction:column;gap:8px}
.gf-progress .bar{height:3px;border-radius:2px;background:#e9e5dd;overflow:hidden}
.gf-progress .bar i{display:block;height:100%;width:0;background:#0a0a0a;transition:width .35s ease}
.gf-progress .st.done .bar i,.gf-progress .st.on .bar i{width:100%}
.gf-progress .lb{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#a8a29a}
.gf-progress .st.on .lb,.gf-progress .st.done .lb{color:#1a1916}
.gf-step{display:none;animation:gfIn .4s ease}
.gf-step.on{display:block}
@keyframes gfIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.gf-step h3{font-family:'Playfair Display',serif;font-weight:400;font-size:24px;margin-bottom:6px}
.gf-step>p.hint{font-size:13.5px;color:#8a8780;margin-bottom:22px;line-height:1.6}
.gf-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gf-field{display:flex;flex-direction:column;gap:7px}
.gf-field.full{grid-column:1/-1}
.gf-field label{font-size:12.5px;font-weight:600;color:#3f3b35}
.gf-field input,.gf-field select,.gf-field textarea{font:inherit;font-size:14px;color:#1a1916;background:#fcfbf9;border:1px solid #e2ded5;border-radius:12px;padding:12px 14px;outline:none;transition:border-color .2s ease,background .2s ease;width:100%}
.gf-field textarea{min-height:104px;resize:vertical}
.gf-field input:focus,.gf-field select:focus,.gf-field textarea:focus{border-color:#1a1916;background:#fff}
.gf-field .err{font-size:12px;color:#a3705f;display:none}
.gf-field.invalid input,.gf-field.invalid select{border-color:#a3705f}
.gf-field.invalid .err{display:block}
.gf-chips{display:flex;flex-wrap:wrap;gap:10px}
.gf-chip{display:inline-flex;align-items:center;gap:9px;border:1px solid #e2ded5;background:#fff;border-radius:999px;padding:9px 16px;font:inherit;font-size:13.5px;color:#3f3b35;cursor:pointer;transition:all .22s ease}
.gf-chip img{width:16px;height:16px;object-fit:contain}
.gf-chip:hover{border-color:#c9c3b7}
.gf-chip.on{background:#0a0a0a;border-color:#0a0a0a;color:#fff}
.gf-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;border-top:1px solid #efece5;padding-top:20px}
.gf-actions .cta{padding:13px 26px;font-size:13.5px}
.gf-back{background:none;border:0;font:inherit;font-size:13.5px;color:#8a8780;cursor:pointer;padding:8px 2px}
.gf-back:hover{color:#1a1916}
.gf-back[hidden]{visibility:hidden;display:block}
.gf-done{text-align:center;padding:22px 0}
.gf-done .tick{width:56px;height:56px;border-radius:50%;background:#0a0a0a;color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.gf-done .tick svg{width:26px;height:26px}
.gf-done h3{font-family:'Playfair Display',serif;font-weight:400;font-size:28px;margin-bottom:12px}
.gf-done p{font-size:14.5px;color:#5a564e;line-height:1.75;max-width:440px;margin:0 auto 10px}
.gf-done .cta{margin-top:20px;display:inline-block}
@media(max-width:1080px){.gf-inner{grid-template-columns:1fr;gap:34px;padding:32px}}
@media(max-width:620px){
  .gf{padding:0 20px 70px}
  .gf-inner{padding:24px;border-radius:20px}
  .gf-fields{grid-template-columns:1fr}
  .gf-progress .lb{display:none}
}
.gf-chips.invalid{outline:1px dashed #a3705f;outline-offset:8px;border-radius:8px}

/* Standalone mount + refinements */
.gf{padding-top:20px}
.gf-aside .eyebrow{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#8a8780;margin-bottom:14px;font-weight:500}
.gf-field.invalid textarea{border-color:#a3705f}
.gf-chip:not(:has(img)){padding-left:18px}
.gf-chips{gap:9px}

/* Privacy / consent */
.gf-privacy{margin-top:22px;border-top:1px solid #efece5;padding-top:18px}
.gf-privacy-text{display:inline;font-size:12.8px;line-height:1.7;color:#8a8780;margin:0}
.gf-privacy-link{color:#1a1916;text-decoration:underline;text-underline-offset:3px}
.gf-consent{display:flex;gap:12px;align-items:flex-start;margin-top:14px;cursor:pointer;font-size:13.2px;line-height:1.6;color:#3f3b35;padding:6px 0;min-height:44px}
.gf-consent input{flex:0 0 20px;width:20px;height:20px;margin-top:2px;accent-color:#0a0a0a;cursor:pointer}
.gf-consent-err{display:none;font-size:12px;color:#a3705f;margin-top:8px}
.gf-privacy.invalid .gf-consent-err{display:block}
.gf-privacy.invalid .gf-consent input{outline:2px solid #a3705f;outline-offset:2px;border-radius:4px}
.gf-error{margin-top:16px;font-size:13px;color:#a3705f;line-height:1.6}
.gf-next[disabled]{opacity:.6;cursor:not-allowed}
@media(max-width:620px){
  .gf-actions{flex-direction:row;gap:10px}
  .gf-actions .cta{flex:1;text-align:center;padding:15px 18px;min-height:48px}
  .gf-back{min-height:48px}
  .gf-field input,.gf-field select,.gf-field textarea{font-size:16px;padding:13px 14px}
  .gf-chip{padding:11px 16px}
  .gf-inner,.gf-form,.gf-step{min-width:0;max-width:100%}
}
