/* =========================================================================
   FOTOWOLTAIKA SERWIS — Kalkulatory energii
   ========================================================================= */
.fv-calc-hero{
  background:
    radial-gradient(900px 480px at 82% -10%, rgba(245,163,0,.20), transparent 60%),
    linear-gradient(180deg,#0A0E17,#0C1220);
  color:#fff; padding: 64px 0 56px; text-align:center;
}
.fv-calc-hero .fv-eyebrow{ color: var(--fv-solar); justify-content:center; }
.fv-calc-hero h1{ color:#fff; font-size: clamp(30px,4vw,50px); margin:14px 0 14px; }
.fv-calc-hero p{ color:#b9c2d0; font-size:18px; max-width: 720px; margin:0 auto; }

.fv-calc{ background:#fff; border:1px solid var(--fv-border); border-radius: var(--fv-r-xl); box-shadow: var(--fv-shadow); overflow:hidden; }

/* Tabs — agresywny, pełny kolor na aktywnej */
.fv-calc__tabs{ display:flex; gap:10px; padding:10px; background: var(--fv-bg-soft); border-bottom:1px solid var(--fv-border); }
.fv-calc__tab{
  flex:1; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  background:#fff; border:2px solid var(--fv-border); border-radius: 14px; cursor:pointer; padding: 16px 18px;
  font-family: var(--fv-font-display); font-weight:800; font-size: clamp(15px,1.7vw,18px); color: var(--fv-ink);
  transition: all .18s ease;
}
.fv-calc__tab svg{ width:20px; height:20px; color: var(--fv-muted); }
.fv-calc__tab:hover{ border-color: var(--fv-primary); color: var(--fv-primary-700); }
.fv-calc__tab.is-active{
  background: var(--fv-primary); border-color: var(--fv-primary);
  color: var(--fv-on-primary); box-shadow: var(--fv-shadow-primary); transform: translateY(-1px);
}
.fv-calc__tab.is-active svg{ color: var(--fv-on-primary); }

/* Panels */
.fv-calc__panel{ display:none; padding: 34px; }
.fv-calc__panel.is-active{ display:block; }
.fv-calc__grid{ display:grid; grid-template-columns: 1.15fr .85fr; gap: 30px; align-items:start; }

.fv-calc__form h3{ font-size:20px; margin:0 0 6px; }
.fv-calc__hint{ color: var(--fv-muted); font-size:14px; margin:0 0 18px; }

/* Fields */
.fv-field{ display:block; margin-bottom: 18px; }
.fv-field > span{ display:block; font-weight:600; font-size:14px; color: var(--fv-text-2); margin-bottom:7px; }
.fv-field input, .fv-field select{
  width:100%; border:1px solid var(--fv-border-2); border-radius: 12px; padding: 13px 14px; min-height:50px;
  font-size:15px; color: var(--fv-ink); background:#fff; transition: border-color .18s, box-shadow .18s;
}
.fv-field input:focus, .fv-field select:focus{ outline:none; border-color: var(--fv-primary); box-shadow:0 0 0 3px var(--fv-primary-050); }
.fv-field small{ display:block; color: var(--fv-muted); font-size:12.5px; margin-top:6px; }
.fv-field-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }

/* Groups (12V / 230V) */
.fv-calc__group{ margin-bottom: 20px; }
.fv-calc__group-h{ display:flex; align-items:center; gap:8px; font-family:var(--fv-font-display); font-weight:800; font-size:15px; color:var(--fv-primary-700); margin:0 0 12px; padding-bottom:9px; border-bottom:2px solid var(--fv-primary-050); }
.fv-calc__group-h svg{ width:18px; height:18px; color:var(--fv-primary); flex:0 0 auto; }
.fv-calc__group-h em{ font-style:normal; font-weight:500; color:var(--fv-muted); font-size:12.5px; }

/* Manual entry */
.fv-calc__manual{ background: var(--fv-solar-050); border:1px dashed var(--fv-border-2); border-radius:12px; padding:14px 16px; margin-bottom:20px; }
.fv-calc__manual > span{ color:var(--fv-ink); }

/* Appliances */
.fv-calc__appliances{ display:flex; flex-direction:column; gap:8px; margin-bottom:6px; }
.fv-appl__wh{ flex:0 0 auto; min-width:76px; text-align:right; font-weight:800; font-size:13.5px; color:var(--fv-primary-700); font-family:var(--fv-font-display); }
.fv-appl{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border:1px solid var(--fv-border); border-radius:12px; background: var(--fv-bg-soft); }
.fv-appl__check{ display:flex; align-items:center; gap:10px; font-size:14.5px; font-weight:600; color: var(--fv-text); cursor:pointer; flex:1; }
.fv-appl__check input{ width:18px; height:18px; accent-color: var(--fv-primary); flex:0 0 auto; }
.fv-appl__check em{ color: var(--fv-muted); font-style:normal; font-weight:500; font-size:13px; }
.fv-appl__hours{ display:flex; align-items:center; gap:6px; flex:0 0 auto; }
.fv-appl__hours input{ width:66px; border:1px solid var(--fv-border-2); border-radius:9px; padding:8px; text-align:center; font-weight:700; font-size:14px; }
.fv-appl__hours span{ font-size:12px; color: var(--fv-muted); }

/* Result card */
.fv-calc__result{ background: var(--fv-ink); color:#fff; border-radius: var(--fv-r-lg); padding: 28px; position:sticky; top: 130px; }
.fv-calc__result-head{ font-size:13px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color: var(--fv-solar); margin-bottom:10px; }
.fv-calc__big{ display:flex; align-items:baseline; gap:8px; font-family: var(--fv-font-display); }
.fv-calc__big span{ font-size: clamp(44px,7vw,68px); font-weight:800; line-height:1; color:#fff; }
.fv-calc__big em{ font-style:normal; font-size:22px; font-weight:700; color:#aab3c0; }
.fv-calc__big-sub{ color:#9aa4b2; font-size:14px; margin:4px 0 22px; }
.fv-calc__stats{ list-style:none; margin:0 0 24px; padding:0; display:flex; flex-direction:column; gap:0; }
.fv-calc__stats li{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 0; border-top:1px solid #1e2634; font-size:14.5px; }
.fv-calc__stats li span{ color:#9aa4b2; }
.fv-calc__stats li b{ color:#fff; font-family: var(--fv-font-display); font-size:17px; }
.fv-calc__result .fv-btn{ width:100%; }

.fv-calc__note{ color: var(--fv-muted); font-size:13.5px; margin: 22px 0 0; text-align:center; }

/* „Może Cię zainteresować" pod wynikami */
.fv-calc__products{ margin-top: 38px; padding-top: 34px; border-top:1px solid var(--fv-border); }
.fv-calc__products .fv-section-head h2{ font-size: clamp(22px,2.6vw,30px); }

/* Responsive */
@media (max-width: 900px){
  .fv-calc__grid{ grid-template-columns: 1fr; }
  .fv-calc__result{ position:static; }
}
@media (max-width: 560px){
  .fv-calc__panel{ padding: 22px 16px; }
  .fv-field-row{ grid-template-columns:1fr; }
  .fv-appl{ flex-direction:column; align-items:flex-start; }
  .fv-calc__tab{ padding:16px 10px; font-size:14px; }
}
