:root{
  --title-size: 30px;
  --subtitle-size: 16px;

  --brand-a:#00A175; --brand-b:#018663;
  --card-bg:#fff; --card-bd:#e7ebf1;
  --muted:#6b7280; --text:#0f172a;
  --radius:14px; --input-radius:12px;
  --shadow:0 1px 3px rgba(10,20,30,.06);

  --field-help-min: 20px;
}

/* ------------------ Fejléc ------------------ */
.anep-calc{max-width:1180px;margin:0 auto;display:grid;gap:20px;color:var(--text)}
.anep-calc .calc-header{display:grid;gap:8px}
.anep-calc .calc-title{font-weight:800;font-size:var(--title-size);margin:0}
.anep-calc .calc-subtitle{font-size:var(--subtitle-size);color:var(--muted);margin:0}

/* ------------------ Layout ------------------ */
.anep-calc .calc-layout{display:grid;grid-template-columns:2.5fr 1fr;gap:20px;align-items:start}
@media (max-width:992px){
  .anep-calc .calc-layout{grid-template-columns:1fr}
  .anep-calc .calc-layout > .anep-agg--side{order:-1}
}

/* ------------------ Kártyák ------------------ */
.anep-calc .card{background:var(--card-bg);border:1px solid var(--card-bd);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.anep-calc .card-title{margin:0 0 6px;font-size:1.15rem;font-weight:700}
.anep-calc .card-intro{margin:0;color:var(--muted)}

/* ------------------ Aggregátor ------------------ */
.anep-calc .anep-agg--side{background:linear-gradient(135deg,var(--brand-a),var(--brand-b));color:#fff;border-color:transparent}
.anep-calc .anep-agg--side .agg-title{font-weight:800;margin:0 0 10px}
.anep-calc .anep-agg--side .agg-kpis{display:grid;gap:14px}
.anep-calc .anep-agg--side .kpi-label{opacity:.9}
.anep-calc .anep-agg--side .kpi-value{font-size:26px;font-weight:900}
.anep-calc .anep-agg--side .agg-empty{margin:0;color:#eef5f2}

/* ------------------ Rács ------------------ */
.anep-calc .grid-2col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.anep-calc .span-2{grid-column:1/-1}
@media (max-width:992px){ .anep-calc .grid-2col{grid-template-columns:1fr} }

/* ------------------ Mezőblokk ------------------ */
.anep-calc .field{display:grid;gap:8px}
.anep-calc .field .label{font-weight:700}

@media (min-width:992px){
  .anep-calc .grid-2col > .field{
    display:grid !important;
    grid-template-rows: 64px 44px minmax(var(--field-help-min), auto) !important;
    align-items:start;
  }
  .anep-calc .grid-2col > .field .label{
    height:64px !important; min-height:64px !important;
    display:flex; align-items:flex-end; line-height:1.25;
  }
  .anep-calc .field .help-under{ min-height:var(--field-help-min) !important; }

  .anep-calc .grid-2col > .field.no-help{
    grid-template-rows: 64px 44px 0 !important;
  }
  .anep-calc .grid-2col > .field.has-segment{
    grid-template-rows: 64px 44px minmax(8px, auto) !important;
  }
  .anep-calc .grid-2col > .field.has-segment .help-under{
    min-height:8px !important;
  }
  .anep-calc .grid-2col > .field.span-2{
    grid-template-rows: 64px 44px minmax(8px, auto) !important;
  }
  .anep-calc .grid-2col > .field.span-2 .help-under{
    min-height:8px !important;
  }
}

@supports selector(:has(*)) {
  @media (min-width:992px){
    .anep-calc .grid-2col > .field:not(:has(.help-under)){ grid-template-rows: 64px 44px 0 !important; }
    .anep-calc .grid-2col > .field:has(.segment){ grid-template-rows: 64px 44px minmax(8px, auto) !important; }
    .anep-calc .grid-2col > .field:has(.segment) .help-under{ min-height:8px !important; }
  }
}

/* ------------------ Help ------------------ */
.anep-calc .field .help-under{margin:4px 0 0;color:var(--muted);font-size:12.5px;line-height:1.45}

/* ------------------ Inputok ------------------ */
.anep-calc input[type="text"],
.anep-calc input[type="number"],
.anep-calc input[type="email"],
.anep-calc select,
.anep-calc textarea{
  width:100%; box-sizing:border-box; background:#fff; border:1px solid var(--card-bd);
  border-radius:var(--input-radius); padding:12px 14px; font-size:15px;
}
.anep-calc .field input[type="text"],
.anep-calc .field input[type="email"],
.anep-calc .field input[type="number"],
.anep-calc .field select{
  height:44px !important; padding-top:0 !important; padding-bottom:0 !important; line-height:44px !important;
  -webkit-appearance:none; appearance:none;
}
.anep-calc .field input[type="number"]::-webkit-outer-spin-button,
.anep-calc .field input[type="number"]::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0 }
.anep-calc .field input[type="number"]{ -moz-appearance:textfield }

/* ------------------ Fókusz ------------------ */
.anep-calc input:focus,
.anep-calc select:focus,
.anep-calc textarea:focus{ outline:none; border-color:#b4dcd1; box-shadow:0 0 0 3px rgba(0,161,117,.14) }

/* ------------------ Kiszürkített ------------------ */
.anep-calc .field.is-fixed input,
.anep-calc input[readonly]{
  background:#f4f6f9 !important; color:#667085 !important; border-color:#d5dae3 !important;
  cursor:not-allowed !important; opacity:1 !important;
}

/* ------------------ Segment ------------------ */
.anep-calc .segment{--seg-index:0;border:1px solid var(--card-bd);border-radius:999px;background:#fff}
.anep-calc .segment input{position:absolute;opacity:0;pointer-events:none}
.anep-calc .segment .seg{position:relative;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;height:44px}
.anep-calc .segment .seg-bg{
  position:absolute; top:2px; bottom:2px; left:2px; width:calc(50% - 4px);
  border-radius:999px; background:linear-gradient(135deg,var(--brand-a),var(--brand-b));
  transform:translateX(calc(var(--seg-index) * 100%)); transition:transform .18s ease
}
.anep-calc .segment label{
  position:relative; z-index:1; padding:0 18px; height:44px;
  display:flex; align-items:center; justify-content:center; text-align:center;
  font-weight:700; white-space:normal; line-height:1; font-size:14px; color:#0b3b2f
}
.anep-calc .segment.seg-0 .seg label:nth-of-type(1){ color:#fff }
.anep-calc .segment.seg-1 .seg label:nth-of-type(2){ color:#fff }

/* ------------------ Gomb + üzenet ------------------ */
.anep-calc .actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:center}
.anep-calc .btn{border:none;padding:12px 16px;border-radius:12px;cursor:pointer;font-weight:800;color:#fff}
.anep-calc .btn-primary{background:linear-gradient(135deg,var(--brand-a),var(--brand-b))}
.anep-calc .btn-primary[disabled]{opacity:.6;cursor:not-allowed}
.anep-calc .anep-msg{flex-basis:100%;text-align:center;margin-top:8px;color:var(--muted)}

/* ------------------ MODAL ------------------ */
.anep-modal{
  position:fixed !important; inset:0 !important; background:rgba(2,6,12,.55) !important;
  display:none !important; align-items:center !important; justify-content:center !important;
  z-index:99999 !important; opacity:0 !important; pointer-events:none !important;
}
.anep-modal.show{ display:flex !important; opacity:1 !important; pointer-events:auto !important; }
.anep-modal-open{overflow:hidden !important}

.anep-modal .anep-modal__dialog{
  background:#fff !important; border:1px solid #e7ebf1 !important; border-radius:14px !important;
  padding:22px !important; box-shadow:0 12px 40px rgba(0,0,0,.25) !important; color:#0f172a !important;
  max-width:720px !important; width:92vw !important; box-sizing:border-box !important;
  max-height:90vh !important; overflow:auto !important;
}
.anep-modal__rows{display:grid !important; grid-template-columns:1fr auto !important; gap:12px 20px !important; margin:14px 0 !important}
.anep-modal__row-label{color:#6b7280 !important}
.anep-modal__row-value{font-weight:800 !important}
.anep-modal__actions{display:flex !important; justify-content:center !important; margin-top:6px !important}

/* A magyarázó szöveg pontosan a label oszlop alatt, balra igazítva és közelebb húzva */
.anep-modal__note{
  grid-column: 1 / 2;        /* bal (label) oszlop */
  justify-self: start;
  align-self: start;
  color: var(--brand-a);
  font-size: 12.5px;
  font-style: italic;
  text-align: left;
  line-height: 1.35;
  margin: -10px 0 6px;       /* kicsit felhúzva, hogy vizuálisan a label alá simuljon */
}

/* rendszer státusz a modalban – kicsit erősebb */
.anep-modal__status{
  text-align:center; margin:8px 0 0; font-weight:600;
}

/* Önellátási arány alatti magyarázat – BALRA, a label alatt, közelebb */
.anep-modal .anep-modal__dialog .anep-modal__rows > .anep-modal__note{
  grid-column: 1 / 2 !important;     /* csak a bal (label) oszlopban */
  justify-self: start !important;    /* balra igazítás */
  align-self: start !important;
  text-align: left !important;       /* balra igazított szöveg */
  color: var(--brand-a);
  font-size: 12.5px;
  font-style: italic;
  line-height: 1.35;
  margin: -10px 0 6px !important;    /* közelebb a címkéhez */
  padding: 0 !important;
}



/* ------------------ reCAPTCHA lábjegyzet ------------------ */
.anep-calc .recaptcha-note{color:var(--muted);font-size:12px;margin-top:10px}
.anep-calc .recaptcha-note a{color:#fff;text-decoration:underline}
