/* Spécificités regle-de-trois */
.calc-main{max-width:980px;margin:0 auto;padding:32px 20px 64px;color:#17253b}.calc-main a{color:#1263a7}.calc-main h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.2;margin:12px 0}.calc-main h2{font-size:1.35rem;margin:0 0 16px}.calc-main p{line-height:1.65}.calc-eyebrow{font-weight:700;color:#1664a2}.calc-lead{font-size:1.1rem;max-width:760px}.calc-section{margin-top:28px;background:#fff;border:1px solid #dce4ef;border-radius:16px;padding:26px;box-shadow:0 6px 24px rgba(27,49,78,.05)}.calc-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.calc-field{display:flex;flex-direction:column;gap:6px}.calc-field label{font-weight:650}.calc-field input,.calc-field select{width:100%;padding:12px;border:1px solid #9daec4;border-radius:8px;color:#15283c;background:white;font:inherit}.calc-field input:focus,.calc-field select:focus{outline:3px solid #a9d1f2;outline-offset:1px}.calc-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.calc-btn{font:inherit;font-weight:650;border:1px solid #23699b;border-radius:9px;padding:11px 17px;cursor:pointer;background:#1264a3;color:white}.calc-btn.secondary{background:white;color:#1264a3}.calc-btn:hover{filter:brightness(.95)}.calc-result{margin-top:22px;background:#eaf5ff;border-left:4px solid #1264a3;padding:16px 20px;border-radius:8px}.calc-result strong{font-size:1.65rem}.calc-error{color:#a12727;font-weight:650;margin-top:14px}.calc-formula{background:#f3f6fa;padding:12px 16px;border-radius:8px;overflow-wrap:anywhere}.calc-table{width:100%;border-collapse:collapse;margin:14px 0}.calc-table th,.calc-table td{border:1px solid #d9e2ed;padding:12px;text-align:left}.calc-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px}.calc-muted{color:#516073;font-size:.94rem}@media(max-width:620px){.calc-fields{grid-template-columns:1fr}.calc-section{padding:18px}.calc-main{padding:18px 14px 48px}}

/* Spécificités calcul-pente */
.slope-main{max-width:980px;margin:auto;padding:30px 20px 64px;color:#17253b}.slope-main h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.2;margin:12px 0}.slope-main h2{font-size:1.35rem;margin:0 0 16px}.slope-main p{line-height:1.65}.slope-main a{color:#1263a7}.slope-intro{max-width:760px;font-size:1.1rem}.slope-section{margin-top:26px;padding:24px;background:#fff;border:1px solid #dce4ef;border-radius:16px;box-shadow:0 6px 24px rgba(27,49,78,.05)}.slope-field{display:flex;flex-direction:column;gap:7px;max-width:440px;margin:14px 0}.slope-field label{font-weight:700}.slope-field input,.slope-field select{font:inherit;border:1px solid #9daec4;border-radius:8px;padding:11px;background:white;color:#17253b;width:100%}.slope-field small{color:#516073}.slope-field :focus-visible{outline:3px solid #a9d1f2;outline-offset:2px}.slope-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.slope-btn{border:1px solid #1264a3;border-radius:9px;padding:11px 17px;background:#1264a3;color:white;font:inherit;font-weight:700;cursor:pointer}.slope-btn.secondary{background:white;color:#1264a3}.slope-result{background:#eaf5ff;border-left:4px solid #1264a3;border-radius:8px;padding:16px 20px}.slope-result strong{font-size:1.6rem}.slope-error{color:#a12727;font-weight:700}.slope-muted{color:#516073}.slope-links{display:flex;gap:16px;flex-wrap:wrap}@media(max-width:620px){.slope-main{padding:18px 14px 48px}.slope-section{padding:18px}}

/* Spécificités calcul-heures-travaillees */
.hours-main{max-width:980px;margin:0 auto;padding:32px 20px 64px;color:#17253b}.hours-main a{color:#1263a7}.hours-main h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.2;margin:12px 0}.hours-main h2{font-size:1.35rem;margin:0 0 16px}.hours-main p{line-height:1.65}.hours-eyebrow{font-weight:700;color:#1664a2}.hours-lead{font-size:1.1rem;max-width:760px}.hours-section{margin-top:28px;background:#fff;border:1px solid #dce4ef;border-radius:16px;padding:26px;box-shadow:0 6px 24px rgba(27,49,78,.05)}.hours-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.hours-field{display:flex;flex-direction:column;gap:6px}.hours-field label{font-weight:650}.hours-field input{width:100%;padding:12px;border:1px solid #9daec4;border-radius:8px;color:#15283c;background:white;font:inherit}.hours-field input:focus{outline:3px solid #a9d1f2;outline-offset:1px}.hours-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.hours-btn{font:inherit;font-weight:650;border:1px solid #23699b;border-radius:9px;padding:11px 17px;cursor:pointer;background:#1264a3;color:white}.hours-btn.secondary{background:white;color:#1264a3}.hours-result{margin-top:22px;background:#eaf5ff;border-left:4px solid #1264a3;padding:16px 20px;border-radius:8px}.hours-result strong{font-size:1.65rem}.hours-error{color:#a12727;font-weight:650;margin-top:14px}.hours-muted{color:#516073;font-size:.94rem}.hours-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px}@media(max-width:620px){.hours-grid{grid-template-columns:1fr}.hours-section{padding:18px}.hours-main{padding:18px 14px 48px}}

/* Spécificités calcul-quantite-gravier */
/* Le cadre, les titres et les marges de page proviennent du CSS global CalculClair. */
.gravel-page .gravel-calculator h2{color:var(--navy);margin:0 0 18px;font-size:24px}
.gravel-page .gravel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;margin-top:20px}
.gravel-page .gravel-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.gravel-page .gravel-field label{color:#485568;font-size:13px;font-weight:650}
.gravel-page .gravel-field input{width:100%;min-width:0;border:1px solid #cfd8e7;border-radius:9px;padding:13px;background:#fff;color:var(--ink)}
.gravel-page .gravel-field input:focus-visible{outline:3px solid #e6eeff;border-color:var(--blue);outline-offset:1px}
.gravel-page .gravel-field small{color:var(--muted);font-size:12px;line-height:1.5}
.gravel-page .gravel-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 18px}
.gravel-page .gravel-btn{border:1px solid var(--blue);border-radius:9px;padding:12px 19px;background:var(--blue);color:#fff;font-weight:700;cursor:pointer}
.gravel-page .gravel-btn.secondary{background:#fff;color:var(--blue)}
.gravel-page .gravel-btn:hover{filter:brightness(.92)}
.gravel-page .gravel-btn:focus-visible{outline:3px solid #b7ceff;outline-offset:2px}
.gravel-page .gravel-result{background:var(--blue);color:#fff;border-radius:10px;padding:18px 20px;margin-top:18px}
.gravel-page .gravel-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.gravel-page .gravel-result-grid p{margin:0;line-height:1.6}
.gravel-page .gravel-result strong{font-size:clamp(1.2rem,3vw,1.7rem);color:#fff}
.gravel-page .gravel-error{color:#a12727;font-weight:700}
.gravel-page .gravel-muted{color:var(--muted)}
.gravel-page .gravel-note{font-size:13px;line-height:1.6}
.gravel-page .gravel-content p{line-height:1.75}
.gravel-page .gravel-links{display:flex;gap:12px 22px;flex-wrap:wrap}
.gravel-page .gravel-links a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.gravel-page .gravel-links a:hover{text-decoration-thickness:2px}
@media(max-width:620px){.gravel-page .gravel-grid,.gravel-page .gravel-result-grid{grid-template-columns:1fr}.gravel-page .gravel-calculator{padding:22px 18px}}


/* Consolidation limitée aux quatre calculateurs ciblés. Le CSS du reste du site est inchangé. */
.cc-unified.tool-page{width:min(900px,calc(100% - 40px));max-width:none;margin:0 auto 100px;padding:0;color:var(--ink)}
.cc-unified .tool-intro{max-width:760px;padding:38px 0 34px}
.cc-unified .tool-intro h1{color:var(--navy);font-size:clamp(38px,6vw,60px);letter-spacing:-.05em;line-height:1.05;margin:0}
.cc-unified .tool-intro p.eyebrow{color:var(--blue);font-size:12px;line-height:1.5;font-weight:750;letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px}
.cc-unified .tool-intro>p:last-child{color:var(--muted);font-size:18px;line-height:1.65;margin:22px 0 0;max-width:760px}
.cc-unified section.tool-box{border:1px solid var(--line);background:var(--paper);border-radius:18px;box-shadow:none;margin:0;padding:34px}
.cc-unified section.content-section{background:transparent;border:0;box-shadow:none;border-radius:0;padding:0;margin-top:70px;color:#354052;font-size:16px;line-height:1.75}
.cc-unified section.content-section h2{color:var(--navy);font-size:30px;letter-spacing:-.03em;margin:0 0 20px}
.cc-unified section.content-section h3{color:var(--navy);font-size:17px;margin:22px 0 8px}
.cc-unified section.tool-box h2{color:var(--navy);font-size:24px;margin:0 0 18px}
/* Formulaires : mêmes champs, boutons et sorties, quelles que soient les classes historiques. */
.cc-unified :is(.calc-field,.slope-field,.hours-field,.gravel-field) label{color:#485568;font-size:13px;font-weight:650}
.cc-unified :is(.calc-field,.slope-field,.hours-field,.gravel-field) :is(input,select){box-sizing:border-box;width:100%;min-width:0;padding:13px;border:1px solid #cfd8e7;border-radius:9px;background:#fff;color:var(--ink);font:inherit}
.cc-unified :is(.calc-field,.slope-field,.hours-field,.gravel-field) :is(input,select):focus-visible{outline:3px solid #e6eeff;border-color:var(--blue);outline-offset:1px}
.cc-unified :is(.calc-btn,.slope-btn,.hours-btn,.gravel-btn){font:inherit;font-weight:700;border:1px solid var(--blue);border-radius:9px;padding:12px 19px;background:var(--blue);color:#fff;cursor:pointer}
.cc-unified :is(.calc-btn,.slope-btn,.hours-btn,.gravel-btn).secondary{background:#fff;color:var(--blue)}
.cc-unified :is(.calc-btn,.slope-btn,.hours-btn,.gravel-btn):focus-visible{outline:3px solid #b7ceff;outline-offset:2px}
.cc-unified :is(.calc-result,.slope-result,.hours-result,.gravel-result){background:var(--blue);color:#fff;border:0;border-radius:10px;padding:18px 20px;margin-top:18px}
.cc-unified :is(.calc-result,.slope-result,.hours-result,.gravel-result) strong{color:#fff}
.cc-unified :is(.calc-links,.slope-links,.hours-links,.gravel-links) a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.cc-unified :is(.calc-fields,.hours-grid,.gravel-grid){min-width:0}
.cc-unified :is(.calc-field,.hours-field,.gravel-field){min-width:0}
.cc-unified :is(.calc-table,.slope-table){display:block;max-width:100%;overflow-x:auto}
@media(max-width:620px){.cc-unified.tool-page{width:calc(100% - 28px);margin-bottom:60px}.cc-unified .tool-intro{padding:26px 0}.cc-unified .tool-intro h1{font-size:clamp(32px,9vw,44px)}.cc-unified section.tool-box{padding:22px 18px}.cc-unified section.content-section{margin-top:48px}.cc-unified .calc-fields,.cc-unified .hours-grid,.cc-unified .gravel-grid{grid-template-columns:1fr}}
