/* Extensions commerciales communes : lisibilité, contrastes et petit écran. */
.visibilitySection { background:#20382e; color:#f7f2e9; padding:88px 0; }
.visibilityInner { width:min(1240px,calc(100% - 48px)); margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:88px; }
.visibilityIntro .kicker { color:#d6bd8f; line-height:1.8; }
.visibilityIntro h2,.commercialHeading h2 { margin:0; font-family:var(--font-family-display); font-size:clamp(2.2rem,3.4vw,3.5rem); font-weight:500; letter-spacing:-.025em; line-height:1.12; }
.visibilityIntro>p { color:#d2dbd5; line-height:1.8; max-width:510px; }
.visibilityIntro>a { display:inline-block; margin-top:18px; color:#ead3a8; font-size:.86rem; line-height:1.7; text-underline-offset:5px; }
.visibilityList { list-style:none; margin:0; padding:0; }
.visibilityList li { display:grid; grid-template-columns:32px 1fr; gap:20px; padding:20px 0; border-top:1px solid #53665a; }
.visibilityList li:last-child { border-bottom:1px solid #53665a; }
.visibilityList li>span { color:#d6bd8f; padding-top:5px; font-size:.75rem; }
.visibilityList h3 { margin:0 0 8px; font-family:var(--font-family-display); font-size:1.55rem; font-weight:500; }
.visibilityList p { margin:0; color:#d2dbd5; line-height:1.7; font-size:.9rem; }
.scopeDetails { margin-top:30px; border-top:1px solid #9c9589; border-bottom:1px solid #9c9589; padding:0 0 18px; }
.scopeDetails summary { padding:22px 0 4px; color:#263c31; font-weight:600; cursor:pointer; line-height:1.6; }
.scopeDetails[open] summary { margin-bottom:22px; }
.scopeTableRegion { width:100%; overflow-x:auto; overscroll-behavior-x:contain; border:1px solid #aaa295; background:#f8f4ed; }
.scopeTable { width:100%; border-collapse:collapse; min-width:740px; table-layout:fixed; }
.scopeTable caption { text-align:left; padding:18px 20px; font-weight:600; color:#253a30; }
.scopeTable th,.scopeTable td { padding:18px 20px; text-align:left; vertical-align:top; font-size:.84rem; line-height:1.7; border-top:1px solid #c5bdb1; border-right:1px solid #c5bdb1; color:#49473e; }
.scopeTable th:last-child,.scopeTable td:last-child { border-right:0; }
.scopeTable thead th { background:#263e32; color:#f7f2e9; font-family:var(--font-family-display); font-size:1.3rem; font-weight:500; }
.scopeTable thead th:first-child { font-family:var(--font-family-base); font-size:.8rem; }
.scopeTable tbody th { width:22%; font-weight:600; color:#253a30; }
.commercialNote { margin:16px 0 0; color:#5e5a50; font-size:.8rem; line-height:1.8; }
.scopeReadMore { display:inline-block; margin-top:15px; color:#263c31; font-size:.85rem; line-height:1.7; text-underline-offset:4px; }
.commercialSection { width:min(1240px,calc(100% - 48px)); margin:0 auto; padding:60px 0; border-top:1px solid #bbb2a5; scroll-margin-top:110px; }
.commercialHeading { max-width:780px; margin-bottom:30px; }
.commercialHeading .kicker { color:#735b34; margin-bottom:16px; }
.commercialHeading>p,.visibilityEvidence>p { color:#575448; font-size:.95rem; line-height:1.8; }
.followupScopeGrid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.followupScopeGrid article { padding:0 28px 0 0; }
.followupScopeGrid article+article { border-left:1px solid #b6ad9f; padding-left:32px; }
.followupScopeGrid h3,.commercialExtrasList h3 { margin:0 0 14px; color:#263c31; font-family:var(--font-family-display); font-weight:500; font-size:1.65rem; line-height:1.3; }
.followupScopeGrid p,.commercialExtrasList p { margin:12px 0 0; font-size:.9rem; line-height:1.8; color:#575448; }
.commercialExtrasList { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.commercialExtrasList article { border-top:1px solid #aaa194; padding-top:24px; }
.visibilityEvidence { max-width:900px; }
.visibilityEvidence>a { display:inline-block; margin-top:18px; color:#2b4839; line-height:1.7; text-underline-offset:4px; }
.offerOverviewGrid { width:min(1240px,calc(100% - 48px)); margin:0 auto 60px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.offerOverviewGrid .contentCard { padding:34px 28px; min-height:0; }
.offerOverviewGrid .contentCard h2 { font-size:1.85rem; line-height:1.3; }
.territorySection { padding:70px 0; background:#e6ded0; border-top:1px solid #b9af9e; border-bottom:1px solid #b9af9e; }
.territoryInner { width:min(1240px,calc(100% - 48px)); margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.territoryInner .kicker { color:#735b34; line-height:1.8; font-size:.6rem; letter-spacing:.16em; }
.territoryInner h2 { margin:0; font-family:var(--font-family-display); font-weight:500; font-size:clamp(2.2rem,3.4vw,3.5rem); letter-spacing:-.025em; line-height:1.13; }
.territoryInner p { color:#504c43; font-size:.94rem; line-height:1.8; }
.territoryLink,.territoryModes a { display:inline-block; color:#294534; text-underline-offset:4px; font-size:.85rem; line-height:1.7; }
.territoryLink { margin-top:12px; }
.territoryModes article { padding:0 0 25px; border-bottom:1px solid #b9af9e; }
.territoryModes article+article { padding-top:25px; }
.territoryModes h3 { margin:0 0 9px; color:#253c30; font-family:var(--font-family-display); font-size:1.65rem; font-weight:500; }
.territoryModes p { margin:0 0 12px; font-size:.88rem; }
.territoryModes nav { display:flex; flex-wrap:wrap; gap:16px 30px; }
@media(max-width:950px){
 .visibilityInner { gap:40px; }
 .commercialExtrasList { grid-template-columns:1fr; gap:26px; }
 .offerOverviewGrid { grid-template-columns:1fr; }
 .territoryInner { gap:36px; }
}
@media(max-width:650px){
 .visibilitySection { padding:60px 0; }
 .visibilityInner { width:calc(100% - 36px); grid-template-columns:1fr; gap:32px; }
 .visibilityIntro h2,.commercialHeading h2 { font-size:2.3rem; }
 .visibilityIntro .kicker { font-size:.59rem; letter-spacing:.17em; }
 .visibilityList li { gap:12px; }
 .commercialSection { width:calc(100% - 36px); padding:42px 0; scroll-margin-top:190px; }
 .offerOverviewGrid { width:calc(100% - 36px); margin-bottom:40px; }
 .territorySection { padding:48px 0; }
 .territoryInner { width:calc(100% - 36px); grid-template-columns:1fr; gap:32px; }
 .scopeTableRegion::before { content:"Faites défiler le tableau horizontalement pour comparer les offres."; display:block; padding:14px 16px; color:#514a3c; font-size:.75rem; line-height:1.6; border-bottom:1px solid #c5bdb1; }
 .scopeTable { min-width:780px; }
 .scopeTable th,.scopeTable td { padding:15px; }
 .followupScopeGrid { grid-template-columns:1fr; gap:26px; }
 .followupScopeGrid article,.followupScopeGrid article+article { padding:0; border-left:0; }
 .followupScopeGrid article+article { padding-top:26px; border-top:1px solid #b6ad9f; }
}
