/* =====================================================
   article5.css - PT SLAB REPAIR COST ESTIMATOR
   Extrait du <style> de l'ancien article 5 (bloc estimateur),
   scope sous .cost-estimator.
   Palette : primary #2C5370 | accent #b85c2a
   ===================================================== */
.cost-estimator{background:#f4f6f8;border:1px solid #d5dde5;border-top:4px solid #2C5370;padding:28px 30px;margin:2.5rem 0;font-family:var(--font-body,'Inter',sans-serif)}
.cost-estimator .ce-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#2C5370;margin:0 0 6px}
.cost-estimator .ce-title{font-family:var(--font-heading,'Merriweather',serif);font-size:1.3rem;font-weight:700;color:#111;margin:0 0 6px;line-height:1.25}
.cost-estimator .ce-subtitle{font-size:.875rem;color:#666;line-height:1.55;margin:0 0 24px}

.cost-estimator .ce-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.cost-estimator .ce-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.cost-estimator .ce-field--full{grid-column:1 / -1}
.cost-estimator .ce-field label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#444}
.cost-estimator .ce-field select,
.cost-estimator .ce-field input[type="number"]{padding:10px 12px;border:1px solid #c0cad4;border-radius:4px;font-size:.875rem;font-family:var(--font-body,'Inter',sans-serif);color:#333;background:#fff;transition:border-color .18s;-webkit-appearance:none;appearance:none;width:100%;box-sizing:border-box}
.cost-estimator .ce-field select{background-image:linear-gradient(45deg,transparent 50%,#2C5370 50%),linear-gradient(135deg,#2C5370 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
.cost-estimator .ce-field select:focus,
.cost-estimator .ce-field input[type="number"]:focus{outline:none;border-color:#2C5370;box-shadow:0 0 0 2px rgba(44,83,112,.2)}
.cost-estimator .ce-field input[type="number"]:disabled{background:#eef1f4;color:#888}

.cost-estimator .ce-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cost-estimator .ce-calculate-btn{display:inline-flex;align-items:center;gap:8px;background:#2C5370;color:#fff;padding:12px 24px;border:none;border-radius:4px;font-size:.9rem;font-weight:700;font-family:var(--font-body,'Inter',sans-serif);cursor:pointer;transition:background .2s;text-transform:uppercase;letter-spacing:.06em}
.cost-estimator .ce-calculate-btn:hover{background:#1d3d57}
.cost-estimator .ce-calculate-btn:focus-visible,
.cost-estimator .ce-reset-btn:focus-visible{outline:2px solid #b85c2a;outline-offset:2px}
.cost-estimator .ce-error{font-size:.82rem;color:#c0392b}
.cost-estimator .ce-error[hidden]{display:none}

.cost-estimator .ce-result{display:none;margin-top:24px;background:#fff;border:1px solid #d5dde5;border-radius:4px;overflow:hidden}
.cost-estimator .ce-result.visible{display:block}
.cost-estimator .ce-result:focus{outline:none}
.cost-estimator .ce-result-header{background:#2C5370;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cost-estimator .ce-result-header-title{font-family:var(--font-heading,'Merriweather',serif);font-size:.95rem;font-weight:700;color:#fff;margin:0}
.cost-estimator .ce-result-header-scope{font-size:.75rem;color:rgba(255,255,255,.75);margin:0}
.cost-estimator .ce-result-body{padding:20px}

.cost-estimator .ce-estimate-row{display:flex;align-items:flex-start;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f0f0f0;gap:12px}
.cost-estimator .ce-estimate-row:last-child{border-bottom:none}
.cost-estimator .ce-estimate-label{font-size:.875rem;color:#444;flex:1;line-height:1.45}
.cost-estimator .ce-estimate-label strong{display:block;font-size:.8rem;font-weight:700;color:#2C5370;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}
.cost-estimator .ce-estimate-value{font-size:.95rem;font-weight:700;color:#b85c2a;white-space:nowrap;text-align:right}
.cost-estimator .ce-estimate-value small{display:block;font-size:.72rem;font-weight:400;color:#888}

.cost-estimator .ce-total-row{background:#f4f6f8;margin:16px -20px -20px;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:2px solid #d5dde5}
.cost-estimator .ce-total-label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#555}
.cost-estimator .ce-total-range{font-family:var(--font-heading,'Merriweather',serif);font-size:1.15rem;font-weight:700;color:#2C5370}

.cost-estimator .ce-reset-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid #c0cad4;border-radius:4px;padding:7px 14px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:#777;cursor:pointer;margin:12px 20px 16px;font-family:var(--font-body,'Inter',sans-serif);transition:border-color .18s,color .18s}
.cost-estimator .ce-reset-btn:hover{border-color:#2C5370;color:#2C5370}

.cost-estimator .ce-disclaimer{font-size:.75rem;color:#888;line-height:1.55;border-top:1px solid #d5dde5;padding-top:12px;margin:18px 0 0;font-style:italic}

@media (max-width:600px){
  .cost-estimator{padding:20px 16px}
  .cost-estimator .ce-form-grid{grid-template-columns:1fr}
  .cost-estimator .ce-calculate-btn{width:100%;justify-content:center}
  .cost-estimator .ce-estimate-row{flex-direction:column;gap:4px}
  .cost-estimator .ce-estimate-value{text-align:left;white-space:normal}
}
@media (prefers-reduced-motion:reduce){
  .cost-estimator *{transition:none !important}
}

/* Ancre slug#id : marge sous l'en-tete fixe */
.cost-estimator{scroll-margin-top:90px}