/*
 * HomeBe — Estimation  ([homebe_estimation])
 * Repris de l'export Claude Design « HomeBe Estimation v2.dc.html ».
 * Regles globales scopees sous .hb-estimation-app ; les attributs style-hover et
 * style-focus du moteur proprietaire sont devenus de vraies regles CSS.
 */
.hb-estimation-app { -webkit-text-size-adjust: 100%; }.hb-estimation-app { margin:0; background:#F1EDE5; color:#1B2A4E; font-family:'DM Sans', system-ui, -apple-system, sans-serif; -webkit-font-smoothing:antialiased; }.hb-estimation-app *, .hb-estimation-app *::before, .hb-estimation-app *::after { box-sizing:border-box; }.hb-estimation-app a, .hb-estimation-app a:link, .hb-estimation-app a:visited { color:#1B2A4E; text-decoration:none; }.hb-estimation-app a:hover { color:#B8852B; }.hb-estimation-app button, .hb-estimation-app input, .hb-estimation-app select { font-family:inherit; }.hb-estimation-app ::selection { background:#D9A441; color:#1B2A4E; }.hb-estimation-app input[type="range"] { -webkit-appearance:none; appearance:none; width:100%; height:28px; background:transparent; cursor:pointer; }.hb-estimation-app input[type="range"]::-webkit-slider-runnable-track { height:7px; border-radius:999px; background:linear-gradient(#5B7FB9,#5B7FB9) 0/var(--f,50%) no-repeat, #DDE2EA; }.hb-estimation-app input[type="range"]::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:24px; height:24px; margin-top:-8.5px; border-radius:50%; background:#5B7FB9; border:3px solid #fff; box-shadow:0 1px 5px rgba(15,26,51,.28); }.hb-estimation-app input[type="range"]:focus { outline:none; }.hb-estimation-app input[type="range"]::-moz-range-track { height:7px; border-radius:999px; background:#DDE2EA; }.hb-estimation-app input[type="range"]::-moz-range-progress { height:7px; border-radius:999px; background:#5B7FB9; }.hb-estimation-app input[type="range"]::-moz-range-thumb { width:17px; height:17px; border-radius:50%; background:#5B7FB9; border:3px solid #fff; box-shadow:0 1px 5px rgba(15,26,51,.28); }
  @keyframes hb-blink { 0%,40%{opacity:.9} 50%,60%{opacity:.3} 70%,100%{opacity:.9} }
  @keyframes hb-in { from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:translateY(0)} }.hb-estimation-app [data-hb="print"] { display:none; }
  @media print {.hb-estimation-app > *:not([data-hb="print"]) { display:none !important; }.hb-estimation-app [data-hb="print"] { display:block !important; }
    @.hb-estimation-app page { size:A4; margin:14mm; }.hb-estimation-app, .hb-estimation-app { background:#fff !important; }.hb-estimation-app .hb-block { page-break-inside:avoid; break-inside:avoid; }
  }

@media print {
  /* rien d'autre que le dossier ne s'imprime */
  body * { visibility: hidden !important; }
  .hb-estimation-app [data-hb="print"],
  .hb-estimation-app [data-hb="print"] * { visibility: visible !important; }
  .hb-estimation-app [data-hb="print"] {
    position: absolute !important; left: 0; top: 0; width: 100%;
    display: block !important;
  }
  [data-hbe-apercu-voile] { display: none !important; }
}


/* style-hover et style-focus de la maquette */
.hb-estimation-app .hbe-h0:hover { color:#1B2A4E; }
.hb-estimation-app .hbe-f1:focus { border-color:#1B2A4E; background:#fff; }
.hb-estimation-app .hbe-h2:hover { background:#F4F5F7; }
.hb-estimation-app .hbe-h3:hover { border-color:#1B2A4E; color:#1B2A4E; }
.hb-estimation-app .hbe-h4:hover { background:#1B2A4E; color:#fff; }
.hb-estimation-app .hbe-h5:hover { background:#1B2A4E; color:#fff; text-decoration:none; }
.hb-estimation-app .hbe-h6:hover { background:#B8852B; border-color:#B8852B; color:#fff; }
.hb-estimation-app .hbe-h7:hover { background:#B8852B; color:#fff; }


/* Garde-fou : le theme, Elementor et WooCommerce posent leur propre padding,
   min-width, interligne et majuscules sur <button>. La maquette dessine ses
   boutons au pixel, on neutralise ces heritages sans toucher a ses valeurs. */
.hb-estimation-app button {
  margin: 0; min-width: 0; text-transform: none; letter-spacing: normal;
  line-height: 1.25; -webkit-appearance: none; appearance: none;
}
.hb-estimation-app input,
.hb-estimation-app select,
.hb-estimation-app textarea { min-width: 0; text-transform: none; letter-spacing: normal; }
.hb-estimation-app { width: 100%; }


/* Le theme repeint les <button> au survol : la liste de communes devenait
   blanche sur blanc. On force l'heritage, sauf la ou la maquette pose sa
   propre couleur en style inline, qui l'emporte de toute facon. */
.hb-estimation-app button { color: inherit; }
.hb-estimation-app button:hover,
.hb-estimation-app button:focus,
.hb-estimation-app button:active { color: inherit; }

/* Croix de retrait d'une photo : centree dans sa pastille. */
.hb-estimation-app [data-hbe-photo] + button {
  display: inline-flex !important; align-items: center; justify-content: center;
  padding: 0 !important; line-height: 1 !important;
}

