.grafiisk-calc {border:1px solid #e3e3e3;padding:2rem;border-radius:1rem;background:#fff;box-shadow:0 15px 45px rgba(0,0,0,0.07);font-family:inherit}
.grafiisk-calc__progress {display:flex;gap:.75rem;margin-bottom:1.5rem}
.grafiisk-calc__progress span {flex:1;height:.4rem;background:#e3e3e3;border-radius:999px;position:relative}
.grafiisk-calc__progress span.active {background:#111}
.grafiisk-calc__step {display:none;animation:fade .3s ease}
.grafiisk-calc__step.active {display:block}
.grafiisk-calc__grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1rem 0}
.grafiisk-calc__grid label {border:1px solid #d7d7d7;padding:1rem;border-radius:.75rem;cursor:pointer;background:#fafafa;transition:.2s}
.grafiisk-calc__grid label:hover {border-color:#111}
.grafiisk-calc__grid--cards label {background:#fff}
.grafiisk-calc__range {display:block;margin-top:1.5rem}
.grafiisk-calc__range input[type=range] {width:100%}
.grafiisk-calc__actions {display:flex;justify-content:space-between;margin-top:1.5rem;gap:1rem}
.grafiisk-calc__actions button {flex:1}
.grafiisk-calc button {border:none;border-radius:.6rem;padding:.9rem 1.2rem;font-weight:600;cursor:pointer;background:#111;color:#fff}
.grafiisk-calc button[data-prev] {background:#f3f3f3;color:#111}
.grafiisk-calc__price {font-size:1.8rem;font-weight:700;margin-bottom:.5rem}
.grafiisk-calc__summary {background:#f9f9f9;border-radius:.75rem;padding:1rem;margin-bottom:1.5rem}
.grafiisk-calc__summary p {margin:.3rem 0}
.grafiisk-calc label input, .grafiisk-calc textarea {width:100%;padding:.7rem;margin-top:.3rem;border-radius:.5rem;border:1px solid #c9c9c9}
.grafiisk-calc textarea {min-height:120px}
.grafiisk-calc__feedback {margin-top:1rem;font-weight:600}
@keyframes fade {from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.grafiisk-calc{padding:1.25rem}.grafiisk-calc__grid{grid-template-columns:1fr}}
