/* UP2 – ajánlatkérő 1. lépés (CF7) csinosítás: címkés, olvasható, átlátható űrlap.
   A 2–3. lépés alap-stílusa az up2-lead.css-ben van — itt csak összehangoljuk. */

.up2-lead-form{background:#fff;border:1px solid #e2e2dc;border-radius:14px;padding:24px 22px 20px;box-shadow:0 6px 24px rgba(20,20,10,.06);margin-bottom:48px}
.up2-extra{margin-bottom:56px}

.up2-lead-form .up2-ftitle{margin:0 0 5px;font-size:22px;color:#14140f}
.up2-lead-form .up2-fsub{margin:0 0 18px;font-size:14.5px;color:#6e6e63;line-height:1.5}

/* mezők — a címke KÖZVETLENÜL az input felett */
.up2-lead-form .up2-field{margin-bottom:15px}
.up2-lead-form .up2-field br{display:none}
.up2-lead-form .up2-row2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media(max-width:560px){.up2-lead-form .up2-row2{grid-template-columns:1fr}}

.up2-lead-form label{display:block;font-weight:700;font-size:15px;color:#2b2b24;margin:0 0 3px;line-height:1.35}
.up2-lead-form .up2-lhint{font-weight:500;color:#8a8a7e;font-size:13px}
.up2-lead-form .up2-req{color:#c0392b;font-weight:700}

.up2-lead-form .wpcf7-form-control-wrap{display:block}
.up2-lead-form input[type=text],
.up2-lead-form input[type=tel],
.up2-lead-form input[type=email]{
  width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #d7d7d1;border-radius:10px;
  font:inherit;font-size:16px;color:#14140f;background:#fff;transition:border-color .15s, box-shadow .15s;
}
.up2-lead-form input::placeholder{color:#b5b5aa}
.up2-lead-form input[type=text]:focus,
.up2-lead-form input[type=tel]:focus,
.up2-lead-form input[type=email]:focus{
  outline:none;border-color:#0e7a5f;box-shadow:0 0 0 3px rgba(14,122,95,.15);
}

/* méret-mezők + vázlatrajz egymás mellett: keskeny mezők, nagy ábra */
.up2-lead-form .up2-sizerow{display:flex;gap:22px;align-items:center}
.up2-lead-form .up2-sizefields{flex:0 0 190px;min-width:160px}
.up2-lead-form .up2-sizerow > p{display:contents} /* a CF7 wpautop <p>-je ne törje a flexet */
.up2-lead-form .up2-sketch{flex:0 1 auto;min-width:0;width:auto;max-width:360px;height:auto;margin-left:auto;border:0;background:none}
@media(max-width:560px){
  .up2-lead-form .up2-sizerow{flex-direction:column-reverse;align-items:stretch}
  .up2-lead-form .up2-sizefields{flex:1 1 auto}
  .up2-lead-form .up2-sketch{width:100%;max-width:300px;margin:0 auto 4px}
}

/* hibaállapot (CF7 validáció) */
.up2-lead-form .wpcf7-not-valid{border-color:#c0392b !important;background:#fff7f6}
.up2-lead-form .wpcf7-not-valid-tip{display:block;margin-top:5px;font-size:13px;color:#c0392b}
.up2-lead-form .wpcf7-response-output{margin:14px 0 0;padding:11px 14px;border:0;border-left:4px solid #c0392b;background:#fdf0ee;border-radius:8px;font-size:14px;color:#7a2318}
form.sent .up2-lead-form .wpcf7-response-output{border-left-color:#0e7a5f;background:#e8f5ef;color:#0e5f49}

/* sikeres 1. lépés után az űrlap eltűnik — a 2. lépés kártyája veszi át */
form.wpcf7-form.sent .up2-lead-form{display:none}
form.wpcf7-form.sent .wpcf7-response-output{display:none}

/* adatkezelési sor */
.up2-lead-form .up2-accept{margin:4px 0 16px}
.up2-lead-form .up2-accept .wpcf7-list-item{margin:0}
.up2-lead-form .up2-accept label{display:flex;align-items:flex-start;gap:9px;font-weight:500;font-size:14px;color:#4d4d43;cursor:pointer;margin:0}
.up2-lead-form .up2-accept input[type=checkbox]{width:18px;height:18px;margin-top:1px;accent-color:#0e7a5f;flex:0 0 auto}
.up2-lead-form .up2-accept a,
.up2-lead-form .up2-accept a:visited{color:#0e7a5f !important;font-weight:700;text-decoration:underline}
.up2-lead-form .up2-accept a:hover{color:#0c6a52 !important}

/* CTA */
.up2-lead-form .up2-cta{
  display:block;width:100%;background:#0e7a5f;color:#fff;border:0;border-radius:10px;
  padding:15px 22px;font-weight:800;font-size:16.5px;letter-spacing:.3px;cursor:pointer;transition:background .15s;
}
.up2-lead-form .up2-cta:hover{background:#0c6a52}
.up2-lead-form .wpcf7-spinner{display:block;margin:8px auto 0}

/* ===== 2–3. lépés összehangolása az 1. lépéssel (szellős elrendezés) ===== */
.up2-progress{margin:0 0 16px}
.up2-progress .up2-dot{width:30px;height:30px;font-size:14.5px}
.up2-card{border-radius:14px;padding:28px 26px 24px;box-shadow:0 6px 24px rgba(20,20,10,.06)}
.up2-card h3{font-size:20px;margin:8px 0 20px}
.up2-ok{font-size:15px;padding:12px 16px;margin-bottom:18px}
.up2-l{font-size:15px;color:#2b2b24;margin-bottom:8px}
.up2-f{margin-bottom:22px}
.up2-f input[type=text],.up2-f textarea{padding:12px 14px;border-radius:10px;font-size:16px;transition:border-color .15s, box-shadow .15s}
.up2-f textarea{min-height:96px}
.up2-f input[type=text]:focus,.up2-f textarea:focus{outline:none;border-color:#0e7a5f;box-shadow:0 0 0 3px rgba(14,122,95,.15)}
.up2-opts{gap:10px}
.up2-opt{font-size:15px;padding:11px 16px;transition:border-color .12s, background .12s}
.up2-opt:hover{border-color:#0e7a5f}
.up2-opt:has(input:checked){border-color:#0e7a5f;background:#e8f5ef;font-weight:600}
.up2-btns{margin-top:16px;gap:14px}
.up2-hint{font-size:14px}
.up2-file{font-size:15px;margin:10px 0 14px}

/* al-paraméter blokk: a főkérdés alá tartozó részletek behúzva, zöld szegéllyel */
.up2-extra .up2-f.up2-subf{margin:-10px 0 22px 10px;padding:14px 16px 12px;background:#f6faf8;border-left:3px solid #bcd9cd;border-radius:0 12px 12px 0}
.up2-extra .up2-f.up2-subf .up2-l{font-size:14px;color:#3f5a4e}

/* oldalankénti sorok: sorszám + hossz (cm) + Somfy kapcsoló */
.up2-sides{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.up2-sides:empty{margin-top:0}
.up2-side{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid #e2e2dc;border-radius:10px;padding:10px 14px}
.up2-side-num{background:#eef4f0;color:#0e5f49;font-weight:800;font-size:12.5px;border-radius:999px;padding:5px 12px;flex:0 0 auto;white-space:nowrap}
.up2-side-lenwrap{position:relative;flex:0 0 160px}
.up2-side-lenwrap input{width:100%;box-sizing:border-box;padding:10px 40px 10px 12px;border:1px solid #d7d7d1;border-radius:10px;font:inherit;font-size:15px}
.up2-side-lenwrap input:focus{outline:none;border-color:#0e7a5f;box-shadow:0 0 0 3px rgba(14,122,95,.15)}
.up2-side-cm{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:13px;color:#8a8a7e;font-weight:600;pointer-events:none}
.up2-side-opt{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:#56564c;cursor:pointer;border:1px solid #d7d7d1;border-radius:999px;padding:8px 14px;margin-left:auto;transition:border-color .12s, background .12s}
.up2-side-opt:hover{border-color:#0e7a5f}
.up2-side-opt:has(input:checked){border-color:#0e7a5f;background:#e8f5ef;color:#0e5f49}
.up2-side-opt input[type=checkbox]{width:15px;height:15px;accent-color:#0e7a5f;margin:0;flex:0 0 auto}
@media(max-width:560px){
  .up2-side{align-items:stretch;flex-direction:column;gap:8px}
  .up2-side-num{align-self:flex-start}
  .up2-side-lenwrap{flex:1 1 auto}
  .up2-side-opt{margin-left:0;justify-content:center}
}

/* 1. lépés CF7 rádiógombok (pl. Hány oldalt üvegezne be?) — pill-stílus, mint a 2. lépésben */
.up2-lead-form .up2-radios .wpcf7-radio{display:flex;flex-wrap:wrap;gap:8px}
.up2-lead-form .up2-radios .wpcf7-list-item{margin:0}
.up2-lead-form .up2-radios .wpcf7-list-item label{display:flex;align-items:center;gap:6px;border:1px solid #d7d7d1;border-radius:8px;padding:10px 16px;cursor:pointer;font-size:15px;font-weight:500;margin:0;transition:border-color .12s, background .12s}
.up2-lead-form .up2-radios .wpcf7-list-item label:hover{border-color:#0e7a5f}
.up2-lead-form .up2-radios .wpcf7-list-item label:has(input:checked){border-color:#0e7a5f;background:#e8f5ef;font-weight:600}
.up2-lead-form .up2-radios input[type=radio]{accent-color:#0e7a5f;width:15px;height:15px;margin:0}

/* mező-segédszöveg */
.up2-fhint{font-size:13px;color:#8a8a7e;margin:-2px 0 8px;line-height:1.45}

/* üvegezendő oldal-blokkok */
.up2-glass{display:flex;flex-direction:column;gap:14px;margin-top:6px}
.up2-glass-block{background:#f6faf8;border:1px solid #dcebe3;border-left:3px solid #bcd9cd;border-radius:0 12px 12px 0;padding:14px 16px 12px}
.up2-glass-cim{font-weight:800;font-size:14px;color:#0e5f49;margin-bottom:10px}
.up2-glass-block .up2-f{margin-bottom:12px}
.up2-glass-block .up2-l{font-size:13.5px;margin-bottom:5px}
.up2-glass-block .up2-opt{font-size:13.5px;padding:8px 12px}

/* az oldal "rajza": arányos, SZERKESZTHETŐ szakasz-sáv oszlopjelekkel */
.up2-diagram{display:flex;align-items:stretch;gap:0;border:2px solid #56564c;border-radius:6px;overflow:hidden;min-height:64px;margin:4px 0 6px;background:linear-gradient(180deg,#eaf4fb, #d9ecf7)}
.up2-dia-cell{flex:100 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:86px;padding:6px 4px;transition:flex-grow .25s}
.up2-dia-num{font-size:11px;font-weight:700;color:#3f5a6e;white-space:nowrap}
.up2-dia-meret{font-size:13px;font-weight:800;color:#14140f;white-space:nowrap;min-height:16px}
.up2-dia-tipus{font-size:10.5px;color:#6b8496;font-weight:600;font-style:italic;min-height:13px}
.up2-oszlopjel{flex:0 0 7px;background:#56564c}
/* szakasz-kártyák */
.up2-szakaszok{display:flex;flex-direction:column;gap:10px}
.up2-szakasz{background:#fff;border:1px solid #e2e2dc;border-radius:10px;padding:12px 14px}
.up2-szakasz-sor{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.up2-szakasz .up2-side-num{min-width:84px;text-align:center;box-sizing:border-box}
.up2-szakasz .up2-side-lenwrap{flex:0 0 150px}
.up2-szakasz .up2-f{margin-bottom:10px;margin-left:96px} /* a kiegészítő kérdések a méretmezők vonalában kezdődnek */
.up2-szakasz .up2-l{font-size:13px;margin-bottom:4px}
.up2-szakasz .up2-opt{font-size:13px;padding:7px 12px}
/* hiányzó kötelező mező jelölése */
.up2-missing{outline:2px solid #c0392b !important;outline-offset:2px;border-radius:8px}
.up2-step2-err{margin-bottom:12px}
@media(max-width:640px){
  .up2-szakasz-sor{flex-direction:row}
  .up2-szakasz .up2-side-lenwrap{flex:1 1 auto}
  .up2-dia-cell{min-width:64px}
  .up2-dia-szel{width:48px;font-size:13px}
}

/* folytatás-nézet kiútja — a téma gomb-stílusát felül kell írni */
.up2-restart-wrap{text-align:center;margin-top:12px}
.up2-extra button.up2-restart{background:none !important;border:0 !important;box-shadow:none !important;color:#8a8a7e !important;text-decoration:underline;font-size:13.5px;font-weight:500;cursor:pointer;font-family:inherit;padding:6px 10px !important;border-radius:0 !important}
.up2-extra button.up2-restart:hover,.up2-extra button.up2-restart:focus{background:none !important;color:#56564c !important;text-decoration:underline}

/* 3. lépés: fotó-feltöltő doboz */
.up2-drop{display:flex;flex-direction:column;align-items:center;gap:4px;border:2px dashed #c9c9bf;border-radius:12px;padding:26px 18px;margin:14px 0 10px;background:#fbfbf8;cursor:pointer;text-align:center;transition:border-color .15s, background .15s}
.up2-drop:hover,.up2-drop.over{border-color:#0e7a5f;background:#eef7f2}
.up2-drop-ic{font-size:30px;line-height:1}
.up2-drop-t{font-weight:700;font-size:15.5px;color:#2b2b24}
.up2-drop-s{font-size:13px;color:#8a8a7e}
.up2-fstatus{font-size:13.5px;color:#4d4d43;line-height:1.5;margin-bottom:4px}
.up2-err{color:#c0392b;font-weight:600;display:block;background:#fdf0ee;border-left:4px solid #c0392b;border-radius:8px;padding:10px 14px;margin-top:6px}
.up2-err a{color:#c0392b}
.up2-uploading{color:#0e7a5f;font-weight:600}
.up2-done .up2-err{font-weight:500}

/* hosszú adatkezelési nyilatkozat */
.up2-lead-form .up2-accept label{font-size:12.5px;line-height:1.5;color:#6a6a5f}

/* ===== a teljes ajánlatkérő blokk csinosítása (csak abban a szekcióban, ahol a mi űrlapunk van) ===== */

/* főcím nagyobb, levegősebb */
.elementor-section:has(.up2-lead-form) h2.elementor-heading-title{
  font-size:clamp(30px, 3.4vw, 44px) !important;
  line-height:1.14 !important;
  margin-bottom:8px;
}

/* lépésjelző körül több levegő */
.up2-progress{margin:30px 0 22px !important}
.up2-progress .up2-bar{background:#dedeD5}

/* jobb oszlop képei: kerekítés, finom árnyék, arányos kivágás */
.elementor-section:has(.up2-lead-form) .elementor-widget-image img{
  border-radius:14px;
  box-shadow:0 10px 28px rgba(20,20,15,.14);
  width:100%;height:auto;object-fit:cover;
}
/* kép alatti felirat: rendezett, halk képaláírás */
.elementor-section:has(.up2-lead-form) .elementor-widget-image + .elementor-widget-heading .elementor-heading-title{
  font-size:14px !important;
  color:#6a6a5f !important;
  text-align:center;
  font-style:italic;
  margin:10px 0 26px;
}

/* a téma gomb-stílusát felül kell írni (specifikusabb szelektor + important) */
.up2-extra button.up2-btn{background:#0e7a5f !important;color:#fff !important;border:0 !important;border-radius:10px !important;font-size:16px;font-weight:800;padding:14px 28px !important;letter-spacing:.2px}
.up2-extra button.up2-btn:hover{background:#0c6a52 !important}
.up2-extra button.up2-btn:disabled{opacity:.6}
.up2-extra button.up2-skip{background:none !important;border:0 !important;color:#8a8a7e !important;text-decoration:underline;font-size:14.5px;padding:8px 10px !important}
.up2-extra button.up2-skip:hover{color:#56564c !important}

/* --- mobil finomhangolás (390-560px): 2026-07-25 telefonos átnézés --- */
@media (max-width: 560px) {
  .up2-lead-form .up2-cta { white-space: normal; line-height: 1.35; font-size: 15px; padding: 14px 16px; }
  .up2-szakasz .up2-f { margin-left: 0; } /* az alkérdések ne szoruljanak keskeny jobb sávba */
}
