/* Outils PHP : finition limitée à cette page, sans changement du moteur. */

.tools-page .tools-hero .wrap {
  max-width:var(--maxw); display:grid; grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);
  gap:48px; align-items:center; padding-block:56px;
}
.tools-page .tools-intro h1 { max-width:18ch; font-size:54px; line-height:1.03; letter-spacing:-.035em; }
.tools-page .tools-intro .lede { max-width:54ch; font-size:20px; margin-top:20px; }
.tools-page .tools-hero .tools-jump {
  display:grid; grid-template-columns:minmax(0,1fr); gap:0; margin:0; padding:18px 24px;
  background:var(--text); color:var(--on-dark); border-top:4px solid var(--accent);
}
.tools-page .tools-hero .tools-jump a {
  justify-content:flex-start; min-height:56px; padding:14px 0; border:0; border-radius:0;
  box-shadow:none; background:transparent; color:var(--on-dark); font-size:17px;
}
.tools-page .tools-hero .tools-jump a + a { border-top:1px solid #555; }
.tools-page .tools-hero .tools-jump a:hover { color:var(--accent); transform:none; }
.tools-page .home-assistant { background:var(--fond); border-top:1px solid var(--border); padding-block:48px; }
.tools-page .ha-head { margin-bottom:24px; }
.tools-page .ha-head h2,.tools-page .ha-results-intro h2 { font-size:32px; margin-top:0; }
.tools-page .ha-head p,.tools-page .ha-results-intro p { font-size:18px; }
.tools-page .home-assistant .ha-form {
  border:0; border-top:2px solid var(--accent); border-bottom:1px solid var(--border);
  border-radius:0; padding:24px 0; box-shadow:none;
}
.tools-page .ha-form > fieldset { margin:0 0 24px; padding:0 0 24px; }
.tools-page .ha-step-progress {
  width:fit-content; background:var(--text); color:var(--on-dark);
  border-bottom:3px solid var(--accent); padding:10px 16px; font-size:16px; font-weight:650;
}
.tools-page .ha-form legend { font:650 24px/1.2 var(--font-body); margin-bottom:16px; }
.tools-page .ha-fields > .ha-step:not(.ha-step-active) { display:none; }
.tools-page .ha-fields > .ha-step-active { display:block; }
.tools-page .ha-photo-media { height:140px; }
.tools-page .ha-photo-caption { font-size:17px; line-height:1.35; min-height:64px; padding:12px 16px; }
.tools-page .ha-floor-choice small { display:block; margin-top:12px; font-size:16px; }
.tools-page .ha-submit p { font-size:16px; }
.tools-page .ha-submit .gh-btn { min-height:48px; font-size:17px; }
.tools-page .ha-maintenance { border:1px solid var(--border); border-radius:14px; padding:0; margin-top:24px; background:var(--soft); }
.tools-page .ha-maintenance summary { display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;padding:18px 24px;font-size:18px;list-style:none;cursor:pointer; }
.tools-page .ha-maintenance summary::-webkit-details-marker { display:none; }
.tools-page .ha-maintenance summary::after { content:"Voir les détails";flex:none;font-size:16px;font-weight:700;text-decoration:underline;text-underline-offset:4px; }
.tools-page .ha-maintenance[open] summary::after { content:"Masquer les détails"; }
.tools-page .ha-maintenance > p { margin:0;padding:0 24px 20px; }
.tools-page .ha-results-intro > .gh-eyebrow,.tools-page .tool-result > .tools-step { display:none; }
.tools-page .ha-results-grid { gap:24px; }
.tools-page .ha-result { border:0; border-top:2px solid var(--accent); border-radius:0; padding:20px 0; }
.tools-page .ha-role { font-size:14px; line-height:1.4; letter-spacing:0; text-transform:none; }
.tools-page .ha-status { font-size:14px; line-height:1.4; }
.tools-page .ha-result-photo { height:180px; margin-block:18px; border-radius:0; background:var(--soft); }
.tools-page .ha-result h3 { font-size:24px; margin-top:0; margin-bottom:16px; }
.tools-page .ha-result-section { border-left:0; padding:14px 0; gap:6px; }
.tools-page .ha-result-section h4 { font-size:16px; text-transform:none; letter-spacing:0; color:var(--text); }
.tools-page .ha-result-section p,.tools-page .ha-profile-note { font-size:17px; line-height:1.5; }
.tools-page .ha-score { font-size:18px; }
.tools-page .ha-price { font:700 20px/1.5 var(--font-body); font-variant-numeric:tabular-nums; margin-block:14px; }
.tools-page .ha-proof-detail { border-left:0; padding:0; font-size:16px; }
.tools-page .ha-proof-detail summary { min-height:44px; padding-block:10px; }
.tools-page .ha-result-guides a,.tools-page .ha-compare-add {
  color:var(--text); text-decoration:underline; text-decoration-color:#936800; text-underline-offset:4px;
}
.tools-page .ha-compare-add { font-size:16px; }
.tools-page .ha-compare-add[aria-pressed="true"] { color:var(--text); font-weight:800; text-decoration-thickness:3px; }
.tools-page .ha-result-actions { gap:12px; padding-top:16px; }
.tools-page .ha-result-actions .gh-btn { font-size:17px; }
.tools-page .ha-housing-verification { border:0; border-radius:0; padding:0; background:var(--fond); }
.tools-page .tools-panel,.tools-page .tools-secondary { padding-block:16px; background:var(--fond); }
.tools-page .tools-optional { border:1px solid var(--border);border-radius:14px;background:var(--soft);scroll-margin-top:100px; }
.tools-page .tools-optional > summary { display:grid;grid-template-columns:144px minmax(0,1fr) auto;align-items:center;gap:24px;padding:24px;list-style:none; }
.tools-page .tools-optional > summary::before,.tools-page .tools-optional > summary::after { content:none; }
.tools-page .tools-optional > summary:hover,.tools-page .ha-maintenance summary:hover { background:#fff3c4;border-radius:14px; }
.tools-page .tools-optional > summary h2 { font-size:32px;max-width:none; }
.tools-page .tool-summary-image { width:144px;height:112px;object-fit:cover;border-radius:8px; }
.tools-page .tool-summary-copy { min-width:0; }
.tools-page .tool-summary-copy p { margin:10px 0 0;color:var(--text-soft);font-size:18px;line-height:1.5; }
.tools-page .tools-optional > summary > .tool-toggle { display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;margin:0;padding:12px 18px;border-radius:12px;background:var(--accent);color:var(--text);font-size:16px;font-weight:700;white-space:nowrap; }
.tools-page .tool-toggle svg { flex:none;width:20px;height:20px; }
.tools-page .tool-toggle-open { display:none; }
.tools-page .tools-optional[open] > summary { border-bottom:1px solid var(--border); }
.tools-page .tools-optional[open] > summary .tool-toggle-closed { display:none; }
.tools-page .tools-optional[open] > summary .tool-toggle-open { display:inline; }
.tools-page .tools-optional[open] > summary .tool-toggle svg { transform:rotate(180deg); }
.tools-page .tools-optional-content { padding:24px;background:var(--fond);border-radius:0 0 14px 14px; }
.tools-page .ha-housing-details > summary { display:block; }
.tools-page .ha-housing-details > summary::after { content:"Afficher les mesures";position:static;display:block;width:fit-content;height:auto;margin-top:16px;padding:12px 18px;border-radius:12px;background:var(--accent);font-size:16px;font-weight:700;transform:none; }
.tools-page .ha-housing-details[open] > summary::after { content:"Masquer les mesures"; }
.tools-page .tools-optional-content .section-head p { font-size:18px; }
.tools-page .cost-tool,.tools-page .privacy-filters {
  border:0; border-radius:0; padding:0; background:var(--fond); box-shadow:none;
}
.tools-page .tool-form-head { display:block; max-width:280px; }
.tools-page .tool-form-head label,.tools-page .cost-row label,.tools-page .privacy-filters label { font-size:16px; }
.tools-page .cost-grid { gap:24px; }
.tools-page .cost-row { min-width:0;border:0; border-top:1px solid var(--border); border-radius:0; padding:16px 0 0; }
.tools-page .cost-row label { min-width:0; }
.tools-page .cost-row input,.tools-page .cost-row select { box-sizing:border-box;width:100%;min-width:0; }
.tools-page .cost-row legend { padding:0 12px 0 0; font:650 22px/1.2 var(--font-body); }
.tools-page .cost-tool > .gh-btn { justify-self:start; }
.tools-page .tool-result { border:0; border-top:2px solid var(--accent); border-radius:0; padding:24px 0; }
.tools-page .tool-result h3 { font-size:24px; margin:0 0 12px; }
.tools-page .cost-totals p { background:var(--text); color:var(--on-dark); font:650 22px/1.4 var(--font-body); font-variant-numeric:tabular-nums; border-radius:0; }
.tools-page .privacy-filters { gap:24px; padding-block:16px; }
.tools-page .privacy-filters small { color:var(--text-soft); font-size:14px; font-weight:500; }
.tools-page .privacy-results { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 32px; }
.tools-page .privacy-card {
  display:grid; grid-template-columns:150px minmax(0,1fr); align-content:start; gap:12px 20px;
  padding:20px 0; border:0; border-top:1px solid var(--border); border-radius:0; box-shadow:none;
}
.tools-page .privacy-card > img { grid-row:1 / span 3; width:150px; height:180px; margin:0; background:var(--soft); }
.tools-page .privacy-card > h3,.tools-page .privacy-card > dl,.tools-page .privacy-card > p { grid-column:2; margin:0; }
.tools-page .privacy-card h3 { font-size:22px; line-height:1.2; }
.tools-page .privacy-card dl { grid-template-columns:minmax(0,1fr) auto; font-size:16px; gap:8px 12px; }
.tools-page .privacy-card dd { margin:0; }
.tools-page .privacy-card .tool-note { font-size:16px; line-height:1.4; }
.tools-page .tools-topic-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; }
.tools-page .tools-topic-links .card { display:flex;align-items:start;gap:20px;border:0; border-top:1px solid var(--border); border-radius:0; padding:22px 0; box-shadow:none; }
.tools-page .tools-topic-links .card > div { flex:1;min-width:0; }
.tools-page .tool-topic-image { flex:none;width:88px;height:88px;object-fit:cover; }
.tools-page .tools-topic-links .tool-topic-action { display:flex;align-items:center;gap:10px;margin-top:12px;font-size:16px;font-weight:700;color:var(--text); }
.tools-page .tool-topic-action svg { width:18px;height:18px; }
.tools-page .tools-topic-links strong { display:block;font-size:22px;line-height:1.2; }
.tools-page .tools-topic-links .card > div > span { display:block;margin-top:8px;font-size:17px;line-height:1.4; }
.tools-page .tools-topic-links .card:hover { background:var(--soft); }
.tools-page .tools-evidence { padding-top:24px; }
.tools-page .tools-evidence .card {
  display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:16px 40px;
  border:0; border-top:2px solid var(--accent); border-radius:0; padding:28px 0; max-width:none;
}
.tools-page .tools-evidence h2 { font-size:32px; margin:0; }
.tools-page .tools-evidence p { font-size:18px; }
.tools-page .tools-evidence details { grid-column:2; }
.tools-page .tools-evidence summary { min-height:44px; padding-block:10px; cursor:pointer; }
.tools-page a:focus-visible,.tools-page button:focus-visible,.tools-page summary:focus-visible,
.tools-page input:focus-visible,.tools-page select:focus-visible {
  outline:3px solid var(--text); outline-offset:4px; box-shadow:none;
}
.tools-page .tools-hero a:focus-visible { outline-color:var(--accent); }
.tools-page .ha-photo-option input:focus-visible + .ha-photo-card { outline:3px solid var(--text); outline-offset:4px; }
.tools-page input { caret-color:#936800; }
.tools-page ::selection { background:var(--accent); color:var(--text); }
@media(max-width:1100px) {
  .tools-page .tools-optional > summary { grid-template-columns:120px minmax(0,1fr);gap:16px 24px; }
  .tools-page .tool-summary-image { width:120px;height:104px;grid-row:1 / span 2; }
  .tools-page .tools-optional > summary > .tool-toggle { grid-column:2;justify-self:start; }
  .tools-page .tools-hero .wrap { grid-template-columns:minmax(0,1fr) 280px; gap:32px; }
  .tools-page .tools-intro h1 { font-size:44px; }
  .tools-page .ha-results-grid { grid-template-columns:minmax(0,1fr); }
  .tools-page .privacy-results { grid-template-columns:minmax(0,1fr); }
  .tools-page .privacy-card { grid-template-columns:200px minmax(0,1fr); }
  .tools-page .privacy-card > img { width:200px; }
}
@media(max-width:760px) {
  .tools-page .tools-optional > summary { grid-template-columns:80px minmax(0,1fr);gap:16px;padding:20px; }
  .tools-page .tool-summary-image { width:80px;height:88px;grid-row:1; }
  .tools-page .tool-summary-copy p { font-size:16px; }
  .tools-page .tools-optional > summary > .tool-toggle { grid-column:1/-1;justify-self:stretch; }
  .tools-page .tools-optional-content { padding:20px; }
  .tools-page .ha-maintenance summary { align-items:flex-start;flex-direction:column;gap:12px;padding:20px; }
  .tools-page .tools-topic-links .card { gap:16px; }
  .tools-page .tools-hero .wrap { grid-template-columns:minmax(0,1fr); gap:28px; padding-block:36px; }
  .tools-page .tools-intro h1 { font-size:38px; }
  .tools-page .tools-intro .lede { font-size:18px; }
  .tools-page .tools-hero .tools-jump { padding:12px 20px; }
  .tools-page .tools-hero .tools-jump > .gh-btn { grid-column:auto; }
  .tools-page .home-assistant { padding-block:36px; }
  .tools-page .ha-head h2,.tools-page .ha-results-intro h2,.tools-page .tools-optional > summary h2,.tools-page .tools-evidence h2 { font-size:28px; }
  .tools-page .ha-head p,.tools-page .ha-results-intro p,.tools-page .tools-optional-content .section-head p,.tools-page .tools-evidence p { font-size:17px; }
  .tools-page .ha-photo-media { height:110px; }
  .tools-page .ha-photo-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tools-page .ha-photo-caption { font-size:16px; padding:12px; }
  .tools-page .ha-submit .gh-btn { width:100%; }
  .tools-page .ha-results-grid { gap:28px; }
  .tools-page .ha-result { padding-block:20px; }
  .tools-page .ha-result-photo { height:180px; }
  .tools-page .cost-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tools-page .cost-row label:last-child { grid-column:1 / -1; }
  .tools-page .cost-tool > .gh-btn { width:100%; justify-content:center; }
  .tools-page .privacy-card { grid-template-columns:minmax(0,1fr); gap:16px; }
  .tools-page .privacy-card > img { grid-column:1; grid-row:auto; width:100%; height:160px; }
  .tools-page .privacy-card > h3,.tools-page .privacy-card > dl,.tools-page .privacy-card > p { grid-column:1; }
  .tools-page .tools-topic-links { grid-template-columns:minmax(0,1fr); }
  .tools-page .tools-evidence .card { grid-template-columns:minmax(0,1fr); gap:16px; }
  .tools-page .tools-evidence details { grid-column:1; }
}
@media(max-width:380px) {
  .tools-page .tools-intro h1 { font-size:34px; }
  .tools-page .ha-photo-caption { padding:10px; }
  .tools-page .cost-row { grid-template-columns:minmax(0,1fr); }
}
