.contact-card{grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);align-items:start;gap:48px}
.quote-form{min-width:0;width:100%}
#quote-step-one,#quote-step-two{grid-column:1/-1;min-width:0}
#quote-step-one{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#quote-step-one>.eyebrow,#quote-step-one>.full,#quote-step-one>.form-note,#quote-step-one>button{grid-column:1/-1}
.quote-form label{font-size:14px;line-height:1.5;gap:7px}
.quote-form input,.quote-form select,.quote-form textarea{width:100%;min-width:0;min-height:48px;padding:12px 13px;font-size:15px}
.quote-form textarea{min-height:150px}
.quote-form .form-note{font-size:13px;line-height:1.7}
.quote-form .button{min-height:48px;justify-content:center;font-size:14px}
.service-specs{padding-left:18px;margin:16px 0;color:#44566c;font-size:14px;line-height:1.8}
.ad-body .offer-terms{padding-top:13px;border-top:1px solid var(--line);font-size:12px;line-height:1.7}
.trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:30px}
.trust-grid article{padding:23px;border:1px solid var(--line);border-radius:10px;background:#fff}
.trust-grid article>span{font-size:12px;font-weight:750;color:#248576}
.trust-grid h3{font:500 23px var(--serif);margin:10px 0}
.trust-grid p{font-size:14px;line-height:1.7;color:var(--muted);margin:0}
@media(max-width:820px){.contact-card{grid-template-columns:1fr;gap:30px}.trust-grid{grid-template-columns:1fr}}
@media(max-width:520px){#quote-step-one{grid-template-columns:1fr;gap:15px}.quote-form input,.quote-form select,.quote-form textarea{font-size:16px}.contact-card{padding:28px 20px}.quote-form label{font-size:14px}}
.manual-payment{margin:20px 0;padding:22px;border:1px solid #c5d9d5;border-radius:14px;background:#f6faf9}.manual-transfer-form{display:grid;gap:16px}.manual-transfer-form label{display:grid;gap:7px;font-weight:650}.manual-transfer-form input,.manual-transfer-form select{width:100%;min-height:48px;padding:12px;border:1px solid #cbd6d9;border-radius:8px;background:white;font:inherit}.manual-transfer-form .transfer-attestation{display:flex;align-items:flex-start;gap:12px;font-weight:400}.transfer-attestation input{width:20px;min-height:20px;flex:0 0 20px}.transfer-destination{padding:18px;border-left:4px solid #268d80;background:#e6f3ef;border-radius:8px}.transfer-instructions{white-space:pre-wrap;overflow-wrap:anywhere;font-size:17px}.transaction-id code,.proof-receipt code{font-weight:750;font-size:17px;overflow-wrap:anywhere}.proof-receipt{display:grid;gap:8px;margin:12px 0;padding:14px;background:#fff;border-radius:8px}.sybe-notice{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 10px;border-bottom:1px solid #e0e8e5}.sybe-notice small{display:block;margin-top:6px;color:#5b6979}.sybe-notice.unread{border-left:3px solid #258d80;background:#f1f9f7}.sybe-notice-badge{border:1px solid #56d1c0;background:#17332f;color:#fff;padding:8px 12px;border-radius:20px;cursor:pointer}.sybe-notice-badge[hidden]{display:none}.payment-configuration textarea{min-height:130px}.payment-configuration details{padding:16px 0;border-bottom:1px solid #ddd}.payment-configuration [type=checkbox]{width:20px;min-height:20px}.sybe-notices{max-height:440px;overflow:auto}.portal-auth code{overflow-wrap:anywhere}.portal-auth [role=status]{white-space:normal}@media(max-width:600px){.manual-payment{padding:15px}.sybe-notice{align-items:flex-start;flex-direction:column}.sybe-notice-badge{font-size:11px;padding:6px}.transfer-instructions{font-size:16px}}
.service-intake{background:linear-gradient(135deg,#f5fbf9,#fff);border-top:3px solid #258d80}.service-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#247b70;font-weight:750}.service-intake form{display:grid;gap:18px}.service-intake label,.service-staff-proposal label{display:grid;gap:7px;font-weight:650}.service-intake input,.service-intake select,.service-intake textarea{width:100%;min-height:48px;padding:13px;border:1px solid #cbdad6;border-radius:8px;background:#fff;font:inherit}.service-intake textarea{min-height:120px}.service-budget-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}.service-price-card{display:grid;grid-template-columns:1fr auto;gap:16px;padding:22px;border:1px solid #bad8cf;border-radius:14px;background:#eef7f3}.service-price-card h4{margin:6px 0;font-size:22px}.service-price-card dl,.service-price-card>p{grid-column:1/-1}.service-price{font-size:25px;font-weight:750;color:#176d61}.service-price small{display:block;font-size:12px;font-weight:500}.service-price-card dt{font-weight:750;margin-top:10px}.service-price-card dd{margin:4px 0 0;line-height:1.6}.service-options{padding:16px;border:1px solid #d4e1db;border-radius:10px}.service-options label{display:flex;gap:10px;margin:10px 0}.service-options input,.service-check input{width:20px;min-height:20px;flex:0 0 20px}.service-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.service-buttons button{min-height:48px;padding:13px 18px;border-radius:8px;border:1px solid #258d80;background:#258d80;color:#fff;font-weight:700;cursor:pointer}.service-buttons button+button{background:#fff;color:#1b665c}.service-offer-history{margin:22px 0;padding:20px;border:1px solid #d1dfda;border-radius:12px;background:#fbfdfc}.service-saved-offer{padding:18px 0;border-top:1px solid #dce5e0}.service-saved-offer header{display:flex;justify-content:space-between;gap:12px}.service-saved-offer small,.service-intake-summary small{display:block;margin:8px 0;color:#526477}.service-totals{display:grid;grid-template-columns:1fr auto;gap:8px}.service-totals dd{margin:0;text-align:right}.service-check{display:flex;align-items:flex-start;gap:10px;line-height:1.5}.service-staff-proposal{padding:16px;border:1px solid #d6e2dd;border-radius:8px}.service-staff-proposal textarea{min-height:100px}.service-adjust-note{padding:14px;background:#fff4db;color:#71551e}.service-intake [hidden]{display:none!important}@media(max-width:700px){.service-budget-grid,.service-price-card{grid-template-columns:1fr}.service-price-card dl,.service-price-card>p{grid-column:auto}.service-saved-offer header{flex-direction:column}.service-offer-history{padding:13px}.service-price{font-size:22px}}
/* Dedicated commercial quotation office and private document preview. */
.quote-office{border-top:4px solid #1f8d80}.quote-office form[data-quote-form=new]{display:flex;gap:12px;align-items:end}.quote-office form[data-quote-form=new] label{flex:1}.quote-office-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin:20px 0}.quote-office-list button{text-align:left;padding:16px;background:#eff7f5;color:#173b43;border:1px solid #d9e8e5}.quote-office-list span,.quote-case-history small{display:block;font-size:12px;margin-top:6px}.quote-editor{margin-top:24px;padding-top:22px;border-top:1px solid #d4e3df}.quote-editor fieldset{border:1px solid #d7e5e2;border-radius:12px;padding:20px;margin:15px 0;min-width:0}.quote-editor legend{padding:0 8px;font-weight:700}.quote-editor label{display:grid;gap:7px;font-size:13px;margin:10px 0;color:#425769}.quote-editor textarea{min-height:75px}.quote-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.quote-line{display:grid;grid-template-columns:1.1fr 2.5fr 1fr .7fr .7fr 1fr 35px;gap:8px;padding:12px 0;border-bottom:1px solid #dce5e2;align-items:end}.quote-line textarea{height:76px}.quote-line input,.quote-line select{min-width:0;padding:10px}.quote-line button{margin:10px 0}.quote-internal{background:#f5f5f1}.quote-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.quote-send-confirm{display:flex!important;align-items:center;gap:9px!important}.quote-send-confirm input{width:auto}.quote-case-history{border-top:1px solid #d9e5e2;margin-top:20px;padding-top:20px}.quote-case-history article{padding:18px;background:#f3f8f6;border:1px solid #d8e8e2;border-radius:10px;margin:12px 0}.quote-case-history form{margin-top:15px;display:grid;gap:10px}.quote-preview{position:fixed;z-index:10030;inset:0;background:#e5eceb;overflow:auto;padding:24px}.quote-preview-tools{display:flex;justify-content:space-between;gap:12px;max-width:900px;margin:0 auto 20px}.quote-paper{max-width:900px;margin:auto;background:white;color:#182c3c;padding:50px;box-shadow:0 8px 40px #11283d18;font:14px/1.6 Arial,sans-serif}.quote-paper header{display:flex;justify-content:space-between;gap:24px;border-bottom:3px solid #c7a05b;padding-bottom:24px}.quote-paper header>div:last-child{text-align:right;max-width:55%;overflow-wrap:anywhere}.quote-paper header img{width:64px;height:64px;object-fit:contain;float:left;margin-right:12px}.quote-paper header strong{display:block;letter-spacing:2px;font-size:19px;color:#0b1931}.quote-paper small,.quote-paper span{display:block}.quote-paper small{color:#63737e;font-size:11px}.quote-paper h2{font:700 28px Arial;color:#0b1931;margin:0 0 8px}.quote-paper-meta{display:flex;justify-content:space-between;gap:25px;margin:28px 0}.quote-paper h3{font:700 20px Arial;margin:24px 0}.quote-paper table{width:100%;border-collapse:collapse;font-size:12px}.quote-paper th{background:#10253e;color:white;text-align:left;padding:12px}.quote-paper td{padding:14px 12px;border-bottom:1px solid #dce3e7;vertical-align:top;overflow-wrap:anywhere}.quote-paper td:first-child{width:48%;white-space:pre-wrap}.quote-paper td strong{display:block;font-weight:500}.quote-summary{margin:24px 0 24px auto;max-width:380px}.quote-summary p{display:flex;justify-content:space-between;gap:20px}.quote-grand-total{border-top:2px solid #c7a05b;padding-top:14px;font-size:18px}.quote-paper section{border-top:1px solid #dae4e5;padding-top:10px}.quote-paper section p{white-space:pre-wrap;overflow-wrap:anywhere}.quote-paper h4{margin-bottom:3px;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.quote-paper footer{border-top:1px solid #dbe4e7;margin-top:30px;padding-top:16px;color:#667986;font-size:11px}.quote-table-wrap{overflow:auto}
@media(max-width:1000px){.quote-line{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-line-description{grid-column:span 2}.quote-line button{width:35px}.quote-paper{padding:28px}}
@media(max-width:600px){.quote-fields{grid-template-columns:1fr;gap:0}.quote-editor fieldset{padding:12px}.quote-line{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-line-description{grid-column:span 2}.quote-office form[data-quote-form=new]{display:grid}.quote-preview{padding:10px}.quote-paper{padding:20px}.quote-paper header{display:block}.quote-paper header>div:last-child{max-width:100%;text-align:left;margin-top:25px}.quote-paper-meta{display:block}.quote-paper-meta>div{margin-bottom:16px}.quote-paper table{min-width:560px}.quote-preview-tools{flex-wrap:wrap}}
@media print{body *{visibility:hidden!important}.quote-preview,.quote-preview *{visibility:visible!important}.quote-preview{position:absolute!important;inset:0!important;background:white!important;padding:0!important;overflow:visible!important}.quote-preview-tools{display:none!important}.quote-paper{box-shadow:none!important;max-width:none!important;padding:0!important;font-size:11pt!important}.quote-paper header{display:flex!important}.quote-paper table{min-width:0!important}.quote-paper th{color:#111!important;background:#eee!important}.quote-paper thead{display:table-header-group}.quote-paper tr{break-inside:avoid}.quote-paper h4{break-after:avoid}.quote-paper section,.quote-paper footer{break-inside:auto}.quote-table-wrap{overflow:visible!important}html,body{height:auto!important;overflow:visible!important}.portal,.portal-panel,#portal-body{position:static!important;overflow:visible!important;max-height:none!important;height:auto!important;transform:none!important}.quote-paper-meta{display:flex!important}@page{size:A4;margin:16mm}}
.sybe-quote-print{display:none}
@media print{body.printing-sybe-quote>*{display:none!important}body.printing-sybe-quote>.sybe-quote-print{display:block!important;visibility:visible!important}body.printing-sybe-quote>.sybe-quote-print *{visibility:visible!important}.sybe-quote-print .quote-paper{padding:0!important;box-shadow:none!important;max-width:none!important}.sybe-quote-print table{min-width:0!important}.sybe-quote-print .quote-paper header{display:flex!important}.sybe-quote-print .quote-paper header>div:last-child{max-width:55%!important;text-align:right!important;margin-top:0!important}.sybe-quote-print .quote-paper-meta{display:flex!important}.sybe-quote-print .quote-table-wrap{overflow:visible!important}}
/* Cost transparency, allocation controls and supplier comparisons. */
.project-budget,.budget-credit-box{background:#edf6f2;border:1px solid #c7ded5;padding:18px;border-radius:12px;margin:18px 0}.project-budget summary,.budget-credit-box summary{font-weight:700;color:#173d43;cursor:pointer}.project-budget p,.budget-credit-box p{font-size:13px;line-height:1.7;color:#536a73}.budget-currencies{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.budget-currencies article{background:white;padding:16px;border-radius:8px}.budget-currencies dl{display:grid;grid-template-columns:1fr auto;gap:9px;font-size:13px}.budget-currencies dd{margin:0;font-weight:700}.budget-credit-box [data-payment-credit]{background:white;border:1px solid #d8e5df;border-radius:8px;padding:14px;margin:10px 0}.budget-credit-box small{display:block;font-size:12px;margin:5px 0}.comparison-editor{margin-top:20px;border-top:1px solid #c7dbd5;padding-top:20px}.comparison-editor label{display:grid;gap:7px;margin:12px 0;font-size:13px}.comparison-editor textarea{min-height:75px}.comparison-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.comparison-offer{border:1px solid #cadfd7;border-radius:12px;padding:18px;margin:18px 0;background:#fbfcfa}.comparison-offer>summary{cursor:pointer;font-size:18px;font-weight:700;color:#1a5157}.comparison-cost{display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr;gap:10px;align-items:center;border-bottom:1px solid #dce6e0;padding:8px 0}.comparison-cost strong{font-size:13px}.comparison-cost input{min-width:0}.supplier-comparison{border:1px solid #b9d3cc;padding:22px;border-radius:12px;margin:22px 0;background:white}.supplier-comparison header{display:flex;justify-content:space-between;gap:15px}.supplier-comparison h4{font-size:19px;margin:0}.supplier-comparison p{font-size:13px;line-height:1.75}.supplier-comparison form{display:grid;gap:12px;margin-top:18px}.comparison-table-wrap{overflow:auto;border:1px solid #d5e3de;border-radius:8px}.comparison-table-wrap table{width:100%;min-width:680px;border-collapse:collapse;font-size:13px}.comparison-table-wrap th,.comparison-table-wrap td{padding:15px;text-align:left;vertical-align:top;border-bottom:1px solid #d9e4e0;border-right:1px solid #e3ebe7;min-width:180px;max-width:360px;overflow-wrap:anywhere;white-space:pre-wrap}.comparison-table-wrap thead th{background:#10283e;color:white;font-size:16px}.comparison-table-wrap small{display:block;margin-top:7px;font-size:11px;line-height:1.5}.comparison-total{background:#eef7f3}.comparison-advice{padding:16px;background:#f5f0e5;border-left:3px solid #c7a05b}.quote-line{grid-template-columns:repeat(4,minmax(0,1fr))}.quote-line-description{grid-column:span 2}.quote-line button{max-width:40px}.quote-paper .quote-summary small{overflow-wrap:anywhere}.quote-office-list small{display:block}
@media(max-width:800px){.comparison-cost{grid-template-columns:1fr 1fr}.comparison-cost strong{grid-column:1/-1}.comparison-fields{grid-template-columns:1fr}.supplier-comparison{padding:14px}.supplier-comparison header{display:block}.quote-line{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-table-wrap th,.comparison-table-wrap td{min-width:160px;padding:12px}.comparison-table-wrap table{min-width:600px}}
/* Keep wide quotation and comparison tables inside their own scroll area. */
.portal-grid > *,.client-case-detail,.supplier-comparison{min-width:0}
.comparison-table-wrap,.quote-table-wrap{max-width:100%;overscroll-behavior-x:contain}

/* --- Formulaire de contact en deux étapes (2026-11-10) --- */
.contact-points{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}
.contact-points li{position:relative;padding-left:28px;color:var(--ink);font-size:14px;line-height:1.55}
.contact-points li::before{content:"✓";position:absolute;left:0;top:0;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#e3f6f2;color:#216f67;font-size:11px;font-weight:800}
.contact-chat-link{margin-top:24px;padding:0;border:0;background:none;color:#216f67;font:inherit;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:left}
.contact-chat-link:hover{color:#0b1428}
.contact-chat-link:focus-visible{outline:2px solid #4bb9a8;outline-offset:3px;border-radius:2px}
.quote-form .req{color:#1f9c8a;font-weight:800}
.form-required-note{grid-column:1/-1;margin:0;color:#778699;font-size:12px}
.need-picker{grid-column:1/-1;margin:4px 0 0;padding:0;border:0;min-width:0}
.need-picker legend{padding:0;margin-bottom:9px;color:#536276;font-size:14px;font-weight:700}
.need-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quote-form label.need-card{position:relative;display:flex;gap:12px;align-items:flex-start;padding:14px 15px;border:1px solid #dce3e2;border-radius:6px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}
.need-card:hover{border-color:#9fd9cf}
.need-card input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.need-card:focus-within{border-color:#4bb9a8;box-shadow:0 0 0 3px rgba(85,211,193,.22)}
.need-card.is-selected{border-color:#1f9c8a;background:#f1fbf9;box-shadow:inset 0 0 0 1px #1f9c8a}
.need-icon{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#e3f6f2;color:#1f7d70}
.need-card.is-selected .need-icon{background:#1f9c8a;color:#fff}
.need-text{display:grid;gap:3px;min-width:0}
.need-text strong{color:var(--ink);font-size:14px;line-height:1.35}
.need-text small{color:#647386;font-size:12.5px;font-weight:500;line-height:1.45}
.extra-group{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:14px;border-radius:6px;background:#f6f9f8;border:1px dashed #d3e2df}
.quote-step.is-entering{animation:quoteStepIn .28s ease-out}
@keyframes quoteStepIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.quote-step.is-entering{animation:none}}
.field-error{color:#b42318;font-size:12.5px;font-weight:600;line-height:1.4}
.quote-form [aria-invalid="true"]:not(fieldset){border-color:#d92d20}
.need-picker[aria-invalid="true"] .need-card{border-color:#f0a59f}
.field-help{color:#778699;font-size:12px;font-weight:500}
.chat-launcher{transition:padding .2s,gap .2s,opacity .2s,transform .2s}
.chat-launcher.is-compact{font-size:0;gap:0;padding:8px}
.chat-launcher.is-compact .chat-launcher-icon{width:34px;height:34px}
.chat-launcher.is-compact .messenger-badge{font-size:11px}
.chat-launcher.is-form-typing{opacity:0;pointer-events:none;transform:translateY(12px)}
#contact{scroll-margin-top:90px}
@media (max-width:700px){
 .need-grid,.extra-group{grid-template-columns:1fr}
 .contact-points{display:none}
 .contact-chat-link{margin-top:14px}
 #contact .wrap{padding-bottom:64px}
}

/* --- Zones de clic agrandies sur écran tactile, sans changer la mise en page (2026-11-10) --- */
@media (pointer:coarse){
 .service-link{padding-block:13px;margin-block:5px -13px}
 .track-inline{padding-block:13px;margin-block:9px -13px}
 .contact-chat-link{padding-block:12px;margin-top:12px}
}
/* Écran de vérification de l'adresse e-mail (2026-11-10) */
.portal-steps{margin:14px 0;padding-left:22px;display:grid;gap:6px;color:var(--ink);line-height:1.55}
.portal-verify .button{margin-top:6px}

