/* ============================================================
   FMB Devis — özel kaydırmalı teklif formu
   ============================================================ */
.fmb-devis2 {
	max-width: 720px; margin: 0 auto; background: #fff;
	border: 1px solid var(--fmb-line, #e7e2d8); border-radius: 22px;
	padding: clamp(20px, 4vw, 40px); box-shadow: 0 18px 50px rgba(20,23,26,.06);
}
/* /devis sayfasında dış .fmb-devis__form zaten card → içteki formu düz yap (tek card) */
.fmb-devis__form .fmb-devis2 { max-width: none; margin: 0; background: none; border: 0; border-radius: 0; padding: 0; box-shadow: none; }
.fmb-devis2__bar { height: 6px; border-radius: 6px; background: var(--fmb-sand, #f6f3ee); overflow: hidden; margin-bottom: 28px; }
.fmb-devis2__bar-fill { display: block; height: 100%; width: 25%; background: var(--fmb-accent, #b0894f); transition: width .35s ease; }

/* .fmb-btn'in display'i hidden attribute'unu ezmesin (butonlar doğru gizlensin) */
.fmb-devis2 [hidden] { display: none !important; }
/* Flex/grid çocuklarının taşmasını önle (mobilde yatay kayma yok) */
.fmb-devis2, .fmb-devis2 * { box-sizing: border-box; min-width: 0; }

/* Adımlar — sadece aktif görünür + dikey giriş (yatay kaydırma YOK) */
.fmb-devis2__step { display: none; animation: fmbDevisIn .3s ease; }
.fmb-devis2__step.is-active { display: block; }
@keyframes fmbDevisIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.fmb-devis2__step h2 { font-size: clamp(1.3rem, 3vw, 1.7rem); margin: 0 0 20px; }

/* Ürün seçimi kartları */
.fmb-devis2__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; }
.fmb-devis2__chip { position: relative; display: block; cursor: pointer; }
.fmb-devis2__chip input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.fmb-devis2__chip span {
	display: flex; align-items: center; min-height: 62px; padding: 12px 16px;
	border: 1.5px solid var(--fmb-line, #e7e2d8); border-radius: 16px;
	font-weight: 600; color: var(--fmb-ink, #14171a); transition: all .15s ease; line-height: 1.25;
}
.fmb-devis2__chip:hover span { border-color: var(--fmb-accent, #b0894f); }
.fmb-devis2__chip input:checked + span { border-color: var(--fmb-accent, #b0894f); background: #fbf7f0; box-shadow: inset 0 0 0 1px var(--fmb-accent, #b0894f); }

/* Ürün fieldset */
.fmb-devis2__prod { border: 0; padding: 0; margin: 0; }
.fmb-devis2__prod legend { font-weight: 700; font-size: 1.1rem; color: var(--fmb-accent, #b0894f); margin-bottom: 6px; padding: 0; }
.fmb-devis2__note { color: #6b6862; font-size: .9rem; margin: 0 0 14px; }
.fmb-devis2__field { margin: 0 0 20px; }
.fmb-devis2__q { display: block; font-weight: 600; margin-bottom: 10px; }

/* Sayı/metin/textarea inputları */
.fmb-devis2__num { display: block; margin: 0 0 16px; }
.fmb-devis2__num > span { display: block; font-weight: 600; margin-bottom: 6px; font-size: .95rem; }
.fmb-devis2 input[type=number], .fmb-devis2 input[type=text], .fmb-devis2 input[type=email],
.fmb-devis2 input[type=tel], .fmb-devis2 textarea {
	width: 100%; padding: 12px 14px; border: 1.5px solid var(--fmb-line, #e7e2d8);
	border-radius: 12px; font: inherit; color: var(--fmb-ink, #14171a); background: #fff; box-sizing: border-box;
}
.fmb-devis2 input:focus, .fmb-devis2 textarea:focus { outline: none; border-color: var(--fmb-accent, #b0894f); box-shadow: 0 0 0 3px rgba(176,137,79,.15); }
.fmb-devis2__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

/* Seçenek chip'leri (radio/checkbox) */
.fmb-devis2__opts { display: flex; flex-wrap: wrap; gap: 10px; }
.fmb-devis2__opt { position: relative; cursor: pointer; }
.fmb-devis2__opt input { position: absolute; opacity: 0; }
.fmb-devis2__opt span {
	display: inline-block; padding: 9px 15px; border: 1.5px solid var(--fmb-line, #e7e2d8);
	border-radius: 999px; font-size: .92rem; transition: all .15s ease; color: var(--fmb-ink, #14171a);
}
.fmb-devis2__opt:hover span { border-color: var(--fmb-accent, #b0894f); }
.fmb-devis2__opt input:checked + span { background: var(--fmb-accent, #b0894f); border-color: var(--fmb-accent, #b0894f); color: #fff; }

/* Dosya yükleme */
.fmb-devis2__file { display: block; text-align: center; padding: 28px; border: 2px dashed var(--fmb-line, #e7e2d8); border-radius: 18px; }
.fmb-devis2__file-lbl { display: block; font-weight: 600; margin-bottom: 6px; }
.fmb-devis2__file-hint { display: block; color: #6b6862; font-size: .88rem; margin-bottom: 16px; }
.fmb-devis2__file-btn { cursor: pointer; }
.fmb-devis2__filelist { list-style: none; padding: 0; margin: 14px 0 0; font-size: .9rem; color: #45433e; }
.fmb-devis2__filelist li { padding: 4px 0; }

/* Onay — özel, büyük, pirinç checkbox */
.fmb-devis2__consent { display: flex; gap: 13px; align-items: flex-start; margin-top: 14px; font-size: .92rem; line-height: 1.45; color: #45433e; cursor: pointer; }
.fmb-devis2__consent input[type=checkbox] {
	appearance: none; -webkit-appearance: none; flex: 0 0 auto;
	width: 24px; height: 24px; margin: 0; border: 2px solid var(--fmb-line, #d9d3c7);
	border-radius: 7px; background: #fff; cursor: pointer; position: relative; transition: all .15s ease;
}
.fmb-devis2__consent input[type=checkbox]:hover { border-color: var(--fmb-accent, #b0894f); }
.fmb-devis2__consent input[type=checkbox]:checked { background: var(--fmb-accent, #b0894f); border-color: var(--fmb-accent, #b0894f); }
.fmb-devis2__consent input[type=checkbox]:checked::after {
	content: ""; position: absolute; left: 7px; top: 3px; width: 6px; height: 11px;
	border: solid #fff; border-width: 0 2.5px 2.5px 0; transform: rotate(45deg);
}
.fmb-devis2__consent input[type=checkbox]:focus-visible { outline: 2px solid var(--fmb-accent, #b0894f); outline-offset: 2px; }
.fmb-devis2__consent span { padding-top: 1px; }

/* Navigasyon + mesaj */
.fmb-devis2__nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 28px; }
.fmb-devis2__nav [data-act=next], .fmb-devis2__nav [data-act=send] { margin-left: auto; }
.fmb-devis2__msg { margin-top: 20px; padding: 14px 16px; border-radius: 12px; font-weight: 500; }
.fmb-devis2__msg.is-err { background: #fdecea; color: #a3271b; }
.fmb-devis2__msg.is-ok { background: #eaf6ec; color: #1f6b33; text-align: center; font-size: 1.05rem; }

@media (max-width: 560px) {
	.fmb-devis2__row { grid-template-columns: 1fr; }
	.fmb-devis2__nav { gap: 10px; margin-top: 22px; }
	.fmb-devis2__nav .fmb-btn { padding: 12px 16px; font-size: .95rem; }
	.fmb-devis2__file { padding: 22px 16px; }
}
