/* HF Estimation Form v6 — sliders for numeric fields, brand color #CE1327 and Manrope font */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;600;800&display=swap');

:root{
    --hf-primary: #CE1327;
    --hf-accent: #0b74ff;
    --hf-bg: #ffffff;
    --hf-border: #e6e9ee;
}

.hf-estimation-form { max-width:900px; margin:30px auto; border-radius:14px; background:linear-gradient(180deg,var(--hf-bg),#fbfbfd); padding:28px; box-shadow:0 12px 36px rgba(2,6,23,0.06); font-family:"Manrope", sans-serif; color:#0f172a; }
.hf-estimation-form h3{ margin:0 0 14px; font-size:1.28rem; color:var(--hf-primary); font-weight:800; }
.hf-step{ display:none; animation:fadeIn .18s ease-in-out; }
.hf-step.active{ display:block; }
@keyframes fadeIn { from {opacity:0; transform:translateY(6px);} to {opacity:1; transform:none;} }

.hf-inline{ display:flex; gap:14px; margin-top:10px; }
.hf-inline > div{ flex:1; }
.hf-nav{ margin-top:22px; display:flex; gap:12px; justify-content:flex-end; align-items:center; }
.hf-nav button{ padding:10px 18px; border-radius:10px; border:1px solid var(--hf-border); background:#fff; cursor:pointer; font-weight:700; box-shadow:0 1px 0 rgba(0,0,0,0.03); color:#0b1220; }
.hf-nav .hf-submit{ background:var(--hf-primary); color:#fff; border-color:rgba(0,0,0,0.06); }

.hf-radio-row{ display:flex; gap:12px; margin:8px 0 12px; flex-wrap:wrap; }
.hf-radio-row label{ background:#fff7f7; padding:10px 14px; border-radius:12px; border:1px solid #fde8e9; cursor:pointer; display:flex; align-items:center; gap:10px; font-weight:700; }
.hf-radio-row input{ margin:0; transform:scale(1.02); }

.hf-estimate-notice{ padding:12px; margin-bottom:12px; border-radius:8px; font-weight:700; }
.hf-estimate-notice.success{ background:#ecfdf5; border:1px solid #bbf7d0; color:#065f46; }
.hf-estimate-notice.error{ background:#fff1f2; border:1px solid #fca5a5; color:#b91c1c; }

.hf-gdpr{ margin-top:12px; font-size:0.95em; }
label{ font-weight:700; color:#0b1220; display:block; margin-top:10px; }
small.hint{ display:block; font-weight:400; color:#6b7280; margin-top:6px; }

input[type="text"], input[type="email"], input[type="tel"], input[type="number"], select, textarea {
    width:100%; padding:10px 12px; box-sizing:border-box; margin-top:8px; border:1px solid var(--hf-border); border-radius:10px; background:#fff; font-size:0.96rem; font-family:"Manrope", sans-serif;
}
textarea{ min-height:120px; resize:vertical; }

input[type=range]{ width:100%; margin-top:8px; -webkit-appearance:none; appearance:none; height:18px; background:linear-gradient(90deg,#e8e9ea,#e8e9ea); border-radius:999px; outline:none; overflow: visible;}
input[type=range]::-webkit-slider-thumb{ -webkit-appearance:none; width:22px; height:22px; border-radius:50%; background:var(--hf-primary); border:5px solid #ffffff; box-shadow:0 8px 18px rgba(206,19,39,0.18); cursor:pointer; margin-top:0; }
input[type=range]::-moz-range-thumb{ width:22px; height:22px; border-radius:50%; background:var(--hf-primary); border:5px solid #ffffff; box-shadow:0 8px 18px rgba(206,19,39,0.18); cursor:pointer; }

.hf-checkbox-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:8px 0 12px; }
.hf-checkbox-grid label{ background:#fff; padding:10px 12px; border-radius:10px; border:1px solid #eef2f7; display:flex; gap:10px; align-items:center; font-weight:700; }
@media (max-width:1000px){
    .hf-inline{ flex-direction:column; }
    .hf-checkbox-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px){
    .hf-checkbox-grid{ grid-template-columns:repeat(1,1fr); }
    .hf-estimation-form{ padding:16px; margin:12px; }
}

/* helpers */
.hf-field-error{ border-color:#fb7185 !important; box-shadow:0 0 0 4px rgba(251,113,133,0.06); }
.hf-highlight{ background:linear-gradient(90deg, rgba(206,19,39,0.06), transparent); border-left:4px solid var(--hf-primary); padding-left:10px; border-radius:6px; }
.range-value { font-weight:800; color:var(--hf-primary); margin-left:6px; }