/*
   Ajánlatkérő blokk és űrlapok.
   A Fluent Forms alapstílusát is ide igazítjuk, hogy egységes legyen a képpel.
*/

.quote{background:var(--bg-soft);border-top:1px solid var(--line)}
.quote-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(32px,5vw,72px);align-items:start}
.quote-aside h2{margin-bottom:16px}
.quote-aside p{color:var(--cnt-soft)}
.quote-contact{margin-top:28px;display:grid;gap:16px}
.quote-contact .row{display:flex;gap:14px;align-items:center}
.quote-contact .ic{
  width:44px;height:44px;border-radius:var(--radius);background:#fff;
  border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
  flex:none;color:var(--blue);
}
.quote-contact .ic .icon{width:20px;height:20px}
.quote-contact .k{font-size:12.5px;color:var(--cnt-mute);letter-spacing:.04em;text-transform:uppercase}
.quote-contact .val{font-family:var(--font-head);font-weight:700;font-size:16px;color:var(--cnt)}

.form-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:clamp(26px,3vw,40px);box-shadow:var(--shadow);
}

/* Saját űrlapelemek */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:16px}
.field label{display:block;font-size:13px;font-weight:600;color:var(--cnt-soft);margin-bottom:7px;letter-spacing:.01em}
.field label .req{color:var(--blue)}
.field input,.field textarea,.field select{
  width:100%;font-family:inherit;font-size:15px;color:var(--cnt);
  padding:13px 15px;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--bg-soft);transition:.2s;
}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(0,79,156,.1);
}
.field textarea{resize:vertical;min-height:120px}
.form-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--cnt-mute);margin:4px 0 20px}
.form-check input{margin-top:3px}

/* Fluent Forms igazítása a téma képéhez */
.form-card .fluentform .ff-el-group{margin-bottom:16px}
.form-card .fluentform .ff-el-input--label label{
  font-family:var(--font-body);font-size:13px;font-weight:600;
  color:var(--cnt-soft);margin-bottom:7px;
}
.form-card .fluentform input[type="text"],
.form-card .fluentform input[type="email"],
.form-card .fluentform input[type="tel"],
.form-card .fluentform input[type="number"],
.form-card .fluentform select,
.form-card .fluentform textarea{
  width:100%;font-family:var(--font-body);font-size:15px;color:var(--cnt);
  padding:13px 15px;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--bg-soft);transition:.2s;box-shadow:none;height:auto;
}
.form-card .fluentform input:focus,
.form-card .fluentform select:focus,
.form-card .fluentform textarea:focus{
  outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(0,79,156,.1);
}
.form-card .fluentform .ff-btn-submit{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;
  font-family:var(--font-head);font-weight:800;font-size:14px;letter-spacing:.04em;
  text-transform:uppercase;padding:15px 28px;border-radius:var(--radius);
  background:var(--blue);color:#fff;border:2px solid transparent;transition:.2s;
}
.form-card .fluentform .ff-btn-submit:hover{background:var(--blue-dark)}
.form-card .fluentform .ff-el-form-check label{font-size:13px;color:var(--cnt-mute)}
.form-card .fluentform .error-text,
.form-card .fluentform .text-danger{font-size:12.5px;color:#c0392b}
.form-card .ff-message-success{
  background:#eef6ee;border:1px solid #cfe4cf;border-radius:var(--radius);
  padding:18px 20px;color:#2b6b34;font-size:15px;
}

/* ---------- Az „Űrlap" widget: .a-form ---------- */
/*
   A .form-card szabályai a régi, keretes ajánlatkérőé. Az új widget a
   szekcióban áll, keret nélkül is használható, sötét sávon pedig a
   feliratok világosodnak — ezért kap saját réteget.
*/
.a-form .fluentform .ff-el-group{margin-bottom:16px}
.a-form .fluentform .ff-el-input--label label{
  font-family:var(--font-body);font-size:13px;font-weight:600;
  color:var(--cnt-soft);margin-bottom:7px;
}
.a-form .fluentform input[type="text"],
.a-form .fluentform input[type="email"],
.a-form .fluentform input[type="tel"],
.a-form .fluentform input[type="number"],
.a-form .fluentform select,
.a-form .fluentform textarea{
  width:100%;font-family:var(--font-body);font-size:15px;color:var(--cnt);
  padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);
  background:#fff;transition:.2s;box-shadow:none;height:auto;
}
.a-form .fluentform input:focus,
.a-form .fluentform select:focus,
.a-form .fluentform textarea:focus{
  outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,79,156,.1);
}
.a-form .fluentform textarea{resize:vertical;min-height:120px}
.a-form .fluentform .ff-btn-submit{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;
  font-family:var(--font-head);font-weight:800;font-size:14px;letter-spacing:.04em;
  text-transform:uppercase;padding:15px 28px;border-radius:var(--radius);
  background:var(--blue);color:#fff;border:2px solid transparent;transition:.2s;
  margin-top:2px;
}
.a-form .fluentform .ff-btn-submit:hover{background:var(--blue-dark)}
.a-form .fluentform .ff-el-form-check label{font-size:13px;color:var(--cnt-mute)}
.a-form .fluentform .error-text,
.a-form .fluentform .text-danger{font-size:12.5px;color:#c0392b}
.a-form .ff-message-success{
  background:#eef6ee;border:1px solid #cfe4cf;border-radius:var(--radius);
  padding:18px 20px;color:#2b6b34;font-size:15px;
}

/* Keretes változat — sötét sávon.
   Nincs rögzített szélessége: az oszlop szabja meg, így az oszlopok
   arányát elég egy helyen, az Elementorban állítani. */
.a-form.is-boxed{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius-lg);
  padding:24px;
}

/* Sötét sávban a feliratok világosodnak, a mezők fehérek maradnak */
.sav-sotet .a-form .fluentform .ff-el-input--label label,
.sav-kek .a-form .fluentform .ff-el-input--label label{color:#c3ccd8}
.sav-sotet .a-form .fluentform .ff-el-form-check label,
.sav-kek .a-form .fluentform .ff-el-form-check label{color:#b9c0c9}
.sav-sotet .a-form .fluentform input,
.sav-sotet .a-form .fluentform select,
.sav-sotet .a-form .fluentform textarea,
.sav-kek .a-form .fluentform input,
.sav-kek .a-form .fluentform select,
.sav-kek .a-form .fluentform textarea{border-color:rgba(255,255,255,.14)}

/* Kártyás változat — világos sávon, a designok ajánlatkérőjében */
.a-form.is-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:clamp(26px,3vw,40px);box-shadow:var(--shadow);
}

/* A Fluent Forms mezőkonténere rácsként viselkedjen.
   260 px a legkisebb mezőszélesség: így széles sávban is két oszlop marad,
   és nem lóg ki egyetlen mező egy háromoszlopos sor aljára. */
.a-form .fluentform .ff-t-container{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:0 16px;margin:0;
}
.a-form .fluentform .ff-t-container > .ff-t-cell{padding:0;width:auto}

/* A kötelező csillag a márka kékjével, nem riasztó pirossal.
   A Fluent Forms saját szabálya azonos fajsúlyú és később töltődik be,
   ezért kell ide az .asterisk-right is. */
.a-form .fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label::after{color:var(--blue)}

/* ---------- Reklamáció-űrlapok: számozott szakaszfejlécek ---------- */
/*
   A designban a hosszú bejelentőlapok 01 / 02 / 03 számsávokra tagolódnak.
   A számot CSS-counter adja a Fluent Forms section break címéhez, a vonal
   pedig a cím mellett fut jobbra. A plugin saját <hr>-jét elrejtjük.
*/
.a-form .fluentform{counter-reset:ff-sec}
.a-form .fluentform .ff-el-section-break{
  counter-increment:ff-sec;
  margin:8px 0 18px;
}
.a-form .fluentform .ff-el-section-break:first-child{margin-top:0}
.a-form .fluentform .ff-el-section-break hr{display:none}
.a-form .fluentform .ff-el-section-title{
  display:flex;align-items:center;gap:12px;
  font-family:var(--font-head);font-weight:800;font-size:16px;color:var(--cnt);
  margin:0;
}
.a-form .fluentform .ff-el-section-title::before{
  content:counter(ff-sec,decimal-leading-zero);
  flex:none;font-family:var(--font-head);font-weight:900;font-size:12px;
  color:#fff;background:var(--blue);border-radius:3px;padding:5px 9px;
  line-height:1;
}
.a-form .fluentform .ff-el-section-title::after{
  content:"";flex:1;height:2px;background:var(--line-soft);border-radius:2px;
}
.a-form .fluentform .ff-section_break_desk{
  font-size:14px;color:var(--cnt-soft);margin:12px 0 0;line-height:1.55;
}
.a-form .fluentform .ff-section_break_desk:empty{display:none}

/* A mező alatti súgószöveg (formátumminta, fotó-útmutató) halványan. */
.a-form .fluentform .ff-el-help-message{
  font-size:12.5px;color:var(--cnt-mute);margin-top:6px;line-height:1.5;
}

/* Fájlfeltöltő mező — a designban szaggatott keretű dobozként. */
.a-form .fluentform .ff-el-input--content .ff-upload-preview,
.a-form .fluentform .ff_upload_zone,
.a-form .fluentform .ff-uploading-wrapper{width:100%}
.a-form .fluentform .ff_upload_btn,
.a-form .fluentform button.ff-btn.ff_upload_btn{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--font-head);font-weight:700;font-size:13.5px;
  color:var(--blue);background:var(--bg-soft);
  border:1px dashed var(--blue);border-radius:var(--radius);
  padding:12px 18px;cursor:pointer;transition:.2s;width:100%;justify-content:center;
}
.a-form .fluentform .ff_upload_btn:hover{background:#eaf2fb}
