.flytjer-beregner{position:relative;max-width:760px;max-height:90vh;margin:16px auto;padding:12px;background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.05);overflow-y:auto;overflow-x:hidden}
.flytjer-beregner h3.flytjer-step-title{margin:0 0 4px;font-size:20px;font-weight:700;min-height:28px;transition:opacity .3s ease,transform .3s ease}
.flytjer-step-title.fade-out{opacity:0;transform:translateY(-5px)}
.flytjer-step-title.fade-in{opacity:1;transform:translateY(0)}
.flytjer-beregner > p{margin:0 0 8px;font-size:13px;color:#666}
.flytjer-form fieldset{border:0;margin:0;padding:0}
.flytjer-form legend{display:none}
.flytjer-form input[type="text"],.flytjer-form input[type="tel"],.flytjer-form input[type="email"],.flytjer-form input[type="number"],.flytjer-form input[type="date"],.flytjer-form select,.flytjer-form textarea{display:block;width:100%;margin:2px 0 6px;padding:8px 10px;border:2px solid #d0d7de;border-radius:6px;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}
.flytjer-form input:focus,.flytjer-form select:focus,.flytjer-form textarea:focus{outline:0;border-color:#111;box-shadow:0 0 0 3px rgba(0,0,0,.1)}
.flytjer-form label{display:block;margin:4px 0 2px;font-weight:500;font-size:13px;color:#333}
.flytjer-form label.checkbox{display:flex;align-items:center;gap:6px;margin:4px 0;font-weight:400;cursor:pointer}
.flytjer-form label.checkbox input[type="checkbox"]{width:auto;margin:0;cursor:pointer}
.flytjer-form .step-question{margin:0 0 12px;font-size:15px;font-weight:600;text-align:center;color:#111}
.flytjer-actions{margin-top:10px;padding-top:10px;border-top:1px solid #e5e5e5;display:flex;gap:8px;align-items:center}
.flytjer-actions .btn-calc{background:#111;color:#fff;border:0;border-radius:6px;padding:10px 20px;cursor:pointer;font-weight:600;font-size:15px;transition:background .2s ease,transform .1s ease}
.flytjer-actions .btn-calc:hover{background:#2c2c2c}
.flytjer-actions .btn-calc:active{transform:scale(.98)}
.flytjer-actions .error{color:#d00;margin:0;font-size:13px;flex:1}
.flytjer-actions .result{color:#0a7a2a;margin:0;font-weight:600;flex:1}
.flytjer-success{margin:12px 0;padding:10px;background:#f0fff4;border:1px solid #c6f6d5;color:#22543d;border-radius:4px}
.flytjer-success-wrap{display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;min-height:160px}
.flytjer-success-actions{display:flex;justify-content:flex-end;width:100%}
.btn-restart{background:transparent;color:#111;text-decoration:underline;border:0;padding:0;cursor:pointer;margin-left:auto}
.btn-restart:hover{color:#2c2c2c}

/* When finished, hide title, intro and step indicators */
.flytjer-beregner.is-finished > h3,
.flytjer-beregner.is-finished > p,
.flytjer-beregner.is-finished .wizard-steps{display:none}

/* Wizard - Gamified step indicators */
.wizard-steps{display:flex;gap:4px;margin:0 0 12px;justify-content:center;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.wizard-steps::-webkit-scrollbar{height:4px}
.wizard-steps::-webkit-scrollbar-track{background:transparent}
.wizard-steps::-webkit-scrollbar-thumb{background:#d0d7de;border-radius:2px}
.wizard-steps .step-indicator{width:36px;height:36px;min-width:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e9ecef;color:#666;font-weight:700;font-size:14px;transition:all .3s ease;position:relative}
@media (max-width:480px){.wizard-steps{gap:3px}.wizard-steps .step-indicator{width:32px;height:32px;min-width:32px;font-size:12px}}
.wizard-steps .step-indicator.is-active{background:#111;color:#fff;transform:scale(1.1);box-shadow:0 2px 8px rgba(0,0,0,.2)}
.wizard-steps .step-indicator.completed{background:#28a745;color:#fff;animation:completedPulse .5s ease}
@keyframes completedPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
.wizard .step{display:none;opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}
.wizard .step.is-active{display:block;opacity:1;transform:translateY(0)}
.flytjer-actions .btn-prev,.flytjer-actions .btn-next{background:#e9ecef;color:#111;border:0;border-radius:6px;padding:10px 16px;margin:0;cursor:pointer;font-weight:500;font-size:14px;transition:background .2s ease,transform .1s ease}
.flytjer-actions .btn-prev:hover,.flytjer-actions .btn-next:hover{background:#d0d7de}
.flytjer-actions .btn-prev:active,.flytjer-actions .btn-next:active{transform:scale(.98)}

/* Choice buttons for steps 2 & 5 */
.choice-buttons{display:flex;gap:12px;margin:12px 0;flex-wrap:wrap}
.choice-btn{flex:1;min-width:200px;padding:14px 18px;background:#f8f9fa;border:3px solid #e9ecef;border-radius:8px;font-size:16px;font-weight:600;color:#333;cursor:pointer;transition:all .2s ease;text-align:center}
.choice-btn:hover{background:#fff;border-color:#111;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}
.choice-btn:active{transform:translateY(0)}
.choice-btn.selected{background:#111;border-color:#111;color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.2)}

/* Validation styles */
.flytjer-form .is-invalid{border-color:#d93025;box-shadow:0 0 0 3px rgba(217,48,37,.1)}
.flytjer-form .hint{font-size:12px;color:#6a737d;margin-top:2px}
.flytjer-form .field-error{display:none}

/* Toast notification */
.flytjer-toast-container{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:10000;pointer-events:none;max-width:calc(100% - 32px);width:100%}
.flytjer-toast{background:#fff;border:2px solid #d93025;border-radius:8px;padding:14px 18px;box-shadow:0 4px 12px rgba(0,0,0,.15);display:flex;align-items:center;gap:12px;opacity:0;transform:translateY(20px);transition:opacity .3s ease,transform .3s ease;pointer-events:auto;margin-bottom:12px}
.flytjer-toast.show{opacity:1;transform:translateY(0)}
.flytjer-toast-icon{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:#d93025;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.flytjer-toast-message{flex:1;color:#d93025;font-weight:500;font-size:14px;line-height:1.4}
.flytjer-toast-close{flex-shrink:0;background:transparent;border:0;color:#666;cursor:pointer;padding:4px;font-size:18px;line-height:1;transition:color .2s ease}
.flytjer-toast-close:hover{color:#111}

/* Loading overlay */
.flytjer-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.85);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:9999;display:none;align-items:center;justify-content:center;border-radius:8px}
.flytjer-overlay.show{display:flex}
.flytjer-overlay-content{text-align:center}
.flytjer-overlay-text{font-size:18px;font-weight:600;color:#111;margin:0}

