/* Pages de demande uniquement : les guides de prix conservent leur présentation. */
.page-devis .hero.hero-dark { padding: 64px 0; }
.page-devis .hero-grid { align-items: center; }
.page-devis .hero-content h1 { font-size: clamp(32px, 3.8vw, 52px); line-height: 1.08; }
.page-devis .hero-intro-p { font-size: 16px; line-height: 1.8; }
.page-devis .hero-checklist { margin-bottom: 24px; }
.page-devis .devis-hero-process { display: inline-flex; gap: 10px; margin-top: 24px; color: #ed9a76; font-size: 13px; text-underline-offset: 4px; }
.page-devis .devis-section { padding: 64px 0; border-bottom: 1px solid #dedfd7; background: var(--bg-light); color: var(--text-dark); }
.page-devis .devis-section h2 { font-family: var(--font-head); font-size: clamp(25px, 2.7vw, 36px); line-height: 1.15; letter-spacing: -0.025em; margin: 0; max-width: 820px; }
.page-devis .devis-section h3 { font-family: var(--font-head); font-size: 22px; line-height: 1.25; letter-spacing: -0.015em; margin: 0 0 12px; }
.page-devis .devis-eyebrow { display: block; color: #a74624; font-family: var(--font-mono); font-size: 11px; line-height: 1.5; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 16px; }
.page-devis .devis-section-intro { font-size: 15px; line-height: 1.85; color: var(--text-muted-dark); margin: 18px 0 0; max-width: 760px; }
.page-devis .devis-process-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 40px; margin-top: 36px; }
.page-devis .devis-step-number { display: block; margin-bottom: 16px; color: #a74624; font-family: var(--font-mono); font-size: 11px; line-height: 1.6; letter-spacing: .055em; text-transform: uppercase; }
.page-devis .devis-process-grid p { color: var(--text-muted-dark); font-size: 14px; line-height: 1.85; margin: 0; }
.page-devis .devis-text-link { display: inline-flex; gap: 10px; margin-top: 25px; font-size: 13px; line-height: 1.6; color: #a74624; text-decoration: underline; text-underline-offset: 4px; }
.page-devis .devis-scope { background: #fff; }
.page-devis .devis-scope-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 56px; align-items: center; }
.page-devis .devis-project-note { padding: 24px 28px; border-left: 3px solid var(--primary); background: var(--bg-light); }
.page-devis .devis-project-note h3 { font-size: 20px; }
.page-devis .devis-project-note p { color: var(--text-muted-dark); font-size: 14px; line-height: 1.85; margin: 0; }
.page-devis .devis-project-note .devis-text-link { margin-top: 15px; }
.page-devis .devis-quote-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 48px; margin-top: 30px; }
.page-devis .devis-quote-item { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 12px; border-top: 1px solid #dedfd7; padding: 26px 0; }
.page-devis .devis-item-number { font-family: var(--font-mono); font-size: 12px; color: #a74624; padding-top: 3px; }
.page-devis .devis-quote-item h3 { font-size: 21px; margin-bottom: 10px; }
.page-devis .devis-quote-item p { color: var(--text-muted-dark); font-size: 14px; line-height: 1.85; margin: 0; }
.page-devis .devis-quote-help { margin: 18px 0 0; padding: 18px 22px; border-left: 3px solid var(--primary); background: #f4eee8; color: var(--text-muted-dark); font-size: 14px; line-height: 1.85; }
.page-devis .devis-budget-guide { background: #fff; }
.page-devis .devis-budget-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 48px; align-items: center; }
.page-devis .devis-budget-grid > div { min-width: 0; }
.page-devis .devis-budget-guide h2 { font-size: clamp(30px,3.2vw,44px); line-height: 1.15; text-transform: none; }
.page-devis .devis-budget-guide .devis-eyebrow { font-family: var(--font-body); font-size: 12px; }
.page-devis .devis-budget-guide .devis-section-intro { font-size: 17px; line-height: 1.85; margin-top: 24px; }
.page-devis .devis-budget-guide .devis-text-link { font-size: 16px; text-decoration: none; }
.page-devis .devis-budget-guide .devis-text-link:hover { text-decoration: underline; }
.page-devis .devis-budget-card { min-width: 0; padding: 0 0 0 48px; border-left: 1px solid #d5d8d0; }
.page-devis .devis-budget-value { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 12px; margin: 0; }
.page-devis .devis-budget-value strong { color: var(--text-dark); font-family: var(--font-head); font-size: clamp(42px,5.4vw,70px); font-weight: 600; line-height: 1.1; letter-spacing: -.04em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.page-devis .devis-budget-value-long strong { font-size: clamp(32px,4vw,52px); }
.page-devis .devis-budget-value-text strong { font-size: clamp(30px,3vw,42px); white-space: normal; }
.page-devis .devis-budget-value span { color: var(--text-muted-dark); font-size: 15px; line-height: 1.6; }
.page-devis .devis-budget-scope { margin: 24px 0 0; color: var(--text-muted-dark); font-size: 16px; line-height: 1.8; }
.page-devis .devis-budget-note { margin: 22px 0 0; color: var(--text-muted-dark); font-size: 15px; line-height: 1.8; }
.page-devis .devis-budget-related { display: flex; width: fit-content; margin-top: 12px; }
.page-devis .devis-guide-links { display: grid; gap: 12px; }
.page-devis .devis-guide-link { display: flex; justify-content: space-between; align-items: center; gap: 22px; min-height: 72px; padding: 18px 22px; border: 1px solid #c1c5bb; color: var(--text-dark); font-family: var(--font-head); font-size: 19px; line-height: 1.4; text-decoration: none; }
.page-devis .devis-guide-link:hover { border-color: var(--primary); color: #a74624; }
.page-devis .devis-guide-link > span:last-child { color: #a74624; flex-shrink: 0; }
.page-devis .devis-faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 64px; }
.page-devis .devis-faq-item { border-bottom: 1px solid #cdd1c7; }
.page-devis .devis-faq-item:first-child { border-top: 1px solid #cdd1c7; }
.page-devis .devis-faq-item summary { position: relative; padding: 22px 34px 22px 0; cursor: pointer; font-family: var(--font-head); font-size: 19px; line-height: 1.45; font-weight: 500; list-style: none; }
.page-devis .devis-faq-item summary::-webkit-details-marker { display: none; }
.page-devis .devis-faq-item summary::after { content: '+'; position: absolute; right: 6px; top: 21px; color: #a74624; font-size: 22px; }
.page-devis .devis-faq-item[open] summary::after { content: '−'; }
.page-devis .devis-faq-item p { color: var(--text-muted-dark); font-size: 14px; line-height: 1.85; padding: 0 25px 24px 0; margin: 0; }
.page-devis .devis-assurance { display: flex; gap: 18px; margin-top: 40px; padding-top: 28px; border-top: 1px solid #dedfd7; align-items: flex-start; }
.page-devis .devis-assurance-mark { color: #a74624; font-size: 24px; line-height: 1.4; }
.page-devis .devis-assurance p { color: var(--text-muted-dark); font-size: 12px; line-height: 1.8; margin: 0; max-width: 900px; }
.page-devis .devis-assurance strong { color: var(--text-dark); }
.page-devis .devis-closing { padding: 45px 0; background: var(--bg-dark); color: var(--text-light); }
.page-devis .devis-closing-grid { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 36px; }
.page-devis .devis-closing h2 { font-family: var(--font-head); font-size: clamp(25px,2.8vw,34px); line-height: 1.15; margin: 0 0 16px; max-width: 850px; }
.page-devis .devis-closing p { color: #c6cec6; font-size: 14px; line-height: 1.75; margin: 0; max-width: 720px; }
.page-devis .devis-closing .btn { white-space: nowrap; display: inline-flex; align-items: center; justify-content: center; gap: 14px; }
.page-devis #devisForm,.page-devis #apres-demande,.page-devis #budget { scroll-margin-top: 110px; }
@media(max-width:992px) {
    .page-devis .devis-hero-process { order: 8; margin-top: 0; }
    .page-devis .hero.hero-dark { padding: 45px 0; }
    .page-devis .devis-section { padding: 46px 0; }
    .page-devis .devis-process-grid { gap: 25px; }
    .page-devis .devis-scope-grid,.page-devis .devis-budget-grid,.page-devis .devis-faq-grid { gap: 35px; }
    .page-devis .devis-budget-grid { grid-template-columns: minmax(0,1fr); }
    .page-devis .devis-budget-card { padding: 28px 0 0; border-left: 0; border-top: 1px solid #d5d8d0; }
    .page-devis .devis-quote-grid { column-gap: 30px; }
    .page-devis .devis-closing-grid { grid-template-columns: 1fr; gap: 25px; }
    .page-devis .devis-closing .btn { justify-self: start; }
}
@media(max-width:767px) {
    .page-devis .devis-process-grid,.page-devis .devis-scope-grid,.page-devis .devis-budget-grid,.page-devis .devis-faq-grid,.page-devis .devis-quote-grid { grid-template-columns: minmax(0,1fr); }
    .page-devis .devis-process-grid { gap: 30px; margin-top: 28px; }
    .page-devis .devis-step-number { margin-bottom: 10px; }
    .page-devis .devis-project-note { padding: 20px; }
    .page-devis .devis-quote-help { padding: 16px 18px; }
    .page-devis .devis-quote-item { padding: 22px 0; }
    .page-devis .devis-section { padding: 38px 0; }
    .page-devis .devis-guide-link { font-size: 18px; }
    .page-devis .devis-closing .btn { width: 100%; white-space: normal; }
    .page-devis .devis-faq-item summary { font-size: 18px; }
    .page-devis .devis-hero-process { margin-top: 20px; }
}
