/* OC Festival-Kalkulator (scoped) */
.oc-festival-calc{
  --p1:#5540d3; --p4:#c64db9; --p5:#f0775c;
  --bg:#ffffff; --bg-soft:#f6f6ff;
  --dark:#0f1020; --text:#1b1b2a; --muted:#5f647a;
  --border:rgba(20,20,40,.12);
  --radius:18px;
  --shadow:0 18px 44px rgba(12,12,30,.10);
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif;
}

.oc-festival-calc *{box-sizing:border-box;}

.oc-festival-calc .ocfk-card{
  border-radius:22px;
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(85,64,211,.06), rgba(255,255,255,1));
  box-shadow:0 18px 46px rgba(12,12,30,.06);
  padding:18px;
}

.oc-festival-calc .ocfk-top{
  display:flex;gap:14px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;
}
.oc-festival-calc .ocfk-kicker{
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--p1);font-weight:950;margin:0;
}
.oc-festival-calc .ocfk-top-right{min-width:240px;flex:1;}
.oc-festival-calc .ocfk-title{margin:4px 0 0;font-size:16px;font-weight:1000;color:var(--dark);}
.oc-festival-calc .ocfk-sub{margin:6px 0 0;font-size:13px;color:var(--muted);}

.oc-festival-calc .ocfk-progress{
  margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.oc-festival-calc .ocfk-bar{
  flex:1;height:10px;border-radius:999px;background:rgba(85,64,211,.10);
  border:1px solid rgba(85,64,211,.14);overflow:hidden;
}
.oc-festival-calc .ocfk-bar span{
  display:block;height:100%;width:0%;
  background:linear-gradient(135deg,var(--p1),var(--p4));
  border-radius:999px;transition:width .25s ease;
}
.oc-festival-calc .ocfk-step{font-size:12px;color:var(--muted);font-weight:750;white-space:nowrap;}

.oc-festival-calc .ocfk-q{font-size:15px;font-weight:950;color:var(--dark);margin:16px 0 10px;}

.oc-festival-calc .ocfk-field{display:grid;gap:6px;margin-top:10px;}
.oc-festival-calc .ocfk-field label{font-size:12px;font-weight:900;color:rgba(40,40,70,.82);}
.oc-festival-calc input, .oc-festival-calc select{
  width:100%;
  border:1px solid var(--border);
  border-radius:14px;
  padding:10px 12px;
  font:inherit;
  background:#fff;
  outline:none;
  box-shadow:0 10px 24px rgba(12,12,30,.04);
}
.oc-festival-calc input:focus, .oc-festival-calc select:focus{
  border-color:rgba(85,64,211,.45);
  box-shadow:0 0 0 4px rgba(85,64,211,.12);
}

.oc-festival-calc .ocfk-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.oc-festival-calc .ocfk-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
@media (max-width:880px){
  .oc-festival-calc .ocfk-grid2,
  .oc-festival-calc .ocfk-grid3{grid-template-columns:1fr;}
}

.oc-festival-calc .ocfk-hint{font-size:12px;color:var(--muted);margin:0;}

.oc-festival-calc .ocfk-sumrow{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 12px;border-radius:14px;border:1px dashed rgba(85,64,211,.24);
  background:linear-gradient(180deg, rgba(85,64,211,.06), rgba(255,255,255,.6));
  margin-top:10px;
}
.oc-festival-calc .ocfk-sumrow b{font-weight:1100;color:var(--dark);}
.oc-festival-calc .ocfk-sumrow span{color:var(--muted);font-size:12px;}

.oc-festival-calc .ocfk-actions{
  margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
}
.oc-festival-calc .ocfk-actions-right{display:flex;gap:10px;flex-wrap:wrap;}

.oc-festival-calc .ocfk-btn{
  border-radius:999px;border:1px solid transparent;
  padding:9px 16px;font-size:14px;font-weight:800;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  text-decoration:none;white-space:nowrap;
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
  user-select:none;
}
.oc-festival-calc .ocfk-btn-primary{
  background:linear-gradient(135deg,var(--p1),var(--p4));
  color:#fff;box-shadow:0 14px 32px rgba(85,64,211,.28);
}
.oc-festival-calc .ocfk-btn-primary:hover{transform:translateY(-1px);box-shadow:0 18px 44px rgba(85,64,211,.34);}
.oc-festival-calc .ocfk-btn-ghost{
  background:rgba(255,255,255,.72);
  color:var(--dark);
  border-color:var(--border);
}
.oc-festival-calc .ocfk-btn-ghost:hover{border-color:rgba(85,64,211,.35);color:var(--p1);transform:translateY(-1px);}
.oc-festival-calc .ocfk-btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none;}

.oc-festival-calc .ocfk-result-head{margin-top:6px;}
.oc-festival-calc .ocfk-badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:4px 10px;border-radius:999px;
  background:linear-gradient(135deg, rgba(85,64,211,.22), rgba(198,77,185,.18));
  color:#fff;font-weight:950;text-transform:uppercase;letter-spacing:.12em;
  border:1px solid rgba(255,255,255,.18);font-size:11px;
}
.oc-festival-calc .ocfk-result-h3{margin:10px 0 6px;font-size:18px;font-weight:1000;color:var(--dark);}
.oc-festival-calc .ocfk-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px;}
@media (max-width:1000px){ .oc-festival-calc .ocfk-kpi{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .oc-festival-calc .ocfk-kpi{grid-template-columns:1fr;} }

.oc-festival-calc .ocfk-k{
  border:1px solid rgba(20,20,40,.10);
  background:rgba(246,246,255,.55);
  border-radius:16px;
  padding:12px;
}
.oc-festival-calc .ocfk-kt{font-size:11px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;color:rgba(40,40,70,.70);}
.oc-festival-calc .ocfk-kv{margin-top:6px;font-size:18px;font-weight:1100;color:var(--dark);}
.oc-festival-calc .ocfk-ks{margin-top:4px;font-size:12px;color:var(--muted);}

.oc-festival-calc .ocfk-box{
  border:1px solid rgba(20,20,40,.10);
  border-radius:16px;
  padding:12px;
  background:rgba(246,246,255,.55);
}
.oc-festival-calc .ocfk-mini{font-size:11px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;color:rgba(40,40,70,.72);}
.oc-festival-calc .ocfk-narrative{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.6;}
