:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#172638;background:#f3f6fa;font-size:15px}*{box-sizing:border-box}body{margin:0;line-height:1.5}a{color:#12639b;text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:1240px;margin:0 auto;padding:0 22px}.top{background:#071d30;color:#fff;border-bottom:1px solid #24506c}.navbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:10px}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:750;color:#fff}.brand:hover{text-decoration:none}.brand small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#9ebdd2;font-weight:600}.brand b{color:#5ec3ed}.symbol{background:#1379bb;color:#fff;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:800}.navlinks{display:flex;gap:24px}.navlinks a{color:#e7f6fd;font-size:14px}.hero{background:linear-gradient(120deg,#0b2843,#0c4a69);color:#fff;border-radius:20px;margin:32px 0 26px;padding:50px;max-width:100%;box-shadow:0 15px 40px #072d4930}.hero h1{font-size:clamp(32px,4.2vw,53px);line-height:1.09;letter-spacing:-.045em;max-width:730px;margin:12px 0}.hero h1 em{color:#74d9f3;font-style:normal}.hero p{color:#d5e7f2;max-width:650px;font-size:17px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.18em;color:#39a5de}.hero .eyebrow{color:#84dcff}.hero-actions,.actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:25px}.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;font-weight:750;min-height:44px;padding:11px 20px;font-size:14px;text-decoration:none;cursor:pointer;font-family:inherit}.button:hover{text-decoration:none;filter:brightness(1.06)}.primary{background:#147bb8;color:#fff}.secondary{background:#e3f1fa;color:#175882;border:1px solid #b2d9ed}.ghost{background:transparent;border-color:#89bedb;color:inherit}.navlinks a,.button,.smalllink{transition:.12s}.full{width:100%}main.wrap{padding-top:24px;padding-bottom:40px;min-height:75vh}.panel{background:#fff;border:1px solid #e1e9f1;border-radius:16px;box-shadow:0 5px 18px #122d4210}.pad,.formsection{padding:26px}.grid{display:grid;gap:17px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.two-wide{grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);align-items:start}.grid .panel{padding:24px}h1,h2,h3{letter-spacing:-.025em;line-height:1.2}h1{font-size:38px;margin:8px 0}h2{font-size:21px;margin:8px 0 17px}h3{font-size:17px;margin:23px 0 10px}p{margin:6px 0 15px;color:#556879}label{display:block;font-weight:650;color:#294259;font-size:13px;margin:12px 0 16px}label b{color:#b72149}input,textarea,select{font:inherit;color:#172b3f;display:block;width:100%;margin-top:7px;border:1px solid #c8d7e3;border-radius:8px;padding:11px 12px;min-height:42px;background:#fff}input:focus,select:focus,textarea:focus{outline:2px solid #9ad5f7;border-color:#1680bb}input[type="radio"]{display:inline;width:17px;height:17px;min-height:0;vertical-align:middle;margin:0 5px 0 0}.choice-row{display:flex;gap:12px;flex-wrap:wrap}.choice-row label{display:flex;align-items:center;background:#f3f8fc;padding:12px;border:1px solid #d8e8f2;border-radius:9px}.heading{display:flex;justify-content:space-between;align-items:center;margin:12px 0 25px;gap:20px}.heading p{margin:3px 0}.chip,.status{display:inline-block;border-radius:30px;background:#e8f6fa;border:1px solid #bee4ee;padding:4px 10px;white-space:nowrap;color:#127098;font-size:12px;font-weight:800;text-transform:capitalize}.status.soumis{background:#fff3d6;color:#8b5600;border-color:#ead18b}.status.en_revision,.status.revision_demandee{background:#fff3d6;color:#895700}.status.approuve,.status.envoye,.status.accepte{background:#e7f5e9;color:#2c7548}.status.refuse{background:#fff0f0;color:#a63b3b}.form-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,.9fr);align-items:start;gap:21px}.questions{display:grid;gap:20px}.sectiontitle{display:flex;gap:13px;align-items:center;margin-bottom:18px}.sectiontitle h2{margin:0}.sectiontitle p{margin:2px 0}.num{display:grid;place-items:center;border-radius:12px;color:#fff;background:#127ab9;width:40px;height:40px;font-size:19px;font-weight:800;flex:none}.sticky{position:sticky;top:18px}.summary .panel{padding:23px}.summary h2{margin-top:10px}.amountrow{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:14px 0}.amountrow strong{white-space:nowrap}.total{font-size:23px;color:#126a9a}.smalltotal{font-size:20px}.amountrow span{color:#54697a}.subtle,.muted{color:#728492;font-size:12px;line-height:1.65}.bigico{font-weight:800;font-size:23px;color:#1582bf}.notice{border:1px solid #cbdfe9;border-radius:10px;background:#edf6fa;padding:14px 16px;margin:21px 0;font-size:13px;color:#31586e}.notice.warning{border-color:#eed59c;background:#fff8e8;color:#684c18}.notice ul{margin:8px 0;padding-left:20px}.loginbox{max-width:450px;margin:50px auto}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse}td,th{text-align:left;border-bottom:1px solid #e5edf3;padding:12px 8px;font-size:13px}th{color:#5c7184;font-weight:800;background:#f2f7fa}td:last-child,th:last-child{text-align:right}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fields div{padding:8px 0}.fields dt{font-size:12px;color:#6e8191}.fields dd{margin:0;font-weight:700}.event{border-left:3px solid #d4e8f4;padding-left:13px;margin-top:17px}.event strong,.event small{display:block}.event small{color:#6d8090}.event p{margin:4px 0;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.flash{max-width:100%;padding:14px 18px;background:#e7f4e9;color:#215d3b;border-radius:10px;margin:18px 0}.flash.error{background:#fff2ed;color:#963c28}footer{padding:27px 0;background:#eaf0f5;border-top:1px solid #dce6ed;color:#6b7b87;font-size:12px;margin-top:30px}.smalllink{font-weight:750}hr{border:0;border-top:1px solid #e1e9f0;margin:22px 0}
@media(max-width:850px){.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.two-wide,.form-layout{grid-template-columns:1fr}.sticky{position:static}.heading{align-items:flex-start}.hero{padding:34px}.hero h1{font-size:35px}}
@media(max-width:560px){.wrap{padding:0 14px}.navlinks{gap:9px}.navlinks a{font-size:12px}.brand{font-size:15px}.brand small{font-size:8px}.symbol{width:32px;height:32px;font-size:13px}.grid.three,.grid.two,.fields{grid-template-columns:1fr}.heading{flex-direction:column}.hero{margin-top:10px;padding:26px 20px}.hero-actions{flex-direction:column;align-items:stretch}.pad,.formsection{padding:19px}}

.brand-logo{display:block;max-width:158px;max-height:48px;object-fit:contain} .logo-preview{max-width:280px;max-height:120px;object-fit:contain;border:1px solid #dbe6ee;border-radius:8px;padding:10px;background:white} .mail-panel{border-top:1px solid #dce6ed;margin-top:20px;padding-top:8px} .consent-check{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500} .consent-check input{width:18px;min-height:18px;margin:0}.sticky .button.full{display:flex;justify-content:center;align-items:center;text-align:center;margin:8px 0} 

.promo-line{font-size:13px;color:#27663f;background:#eef8ef;border-radius:7px;padding:7px 10px;margin:5px 0}.promo-highlight{margin:5px 0 15px;background:#eef8ef;border-color:#c5e5c8;color:#265f3c}.grid.two-wide .panel .button{font-size:13px}

/* SF Tel Devis V1.8.1 — navigation rapide du catalogue pour devis mixtes */
.sf-catalogue-layout{display:grid;grid-template-columns:minmax(190px,235px) minmax(0,1fr);gap:16px;align-items:start;margin:20px 0}
.sf-catalogue-nav{background:#f5f9fc;border:1px solid #d8e7f1;border-radius:14px;padding:14px;min-width:0}
.sf-catalogue-nav h3{margin:4px 4px 12px;font-size:15px;color:#2f5269}
.sf-catalogue-tabs{display:flex;flex-direction:column;gap:6px}
.sf-category-button{font:inherit;cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;width:100%;padding:10px 12px;border-radius:9px;border:1px solid transparent;background:transparent;color:#27475f;text-align:left;font-size:13px;font-weight:650}
.sf-category-button:hover{background:#e5f2fa;border-color:#c4e1ef}
.sf-category-button.is-active{background:#d9f0fd;border-color:#83c8eb;color:#075383}
.sf-category-counter{background:#fff;border-radius:20px;border:1px solid #d0e1ec;padding:1px 8px;font-size:11px;font-weight:750;margin-left:auto;white-space:nowrap}
.sf-category-picked{flex:0 0 100%;font-size:11px;color:#075e8e;font-weight:750}
.sf-catalogue-content{min-width:0}
.sf-catalogue-searchbar{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.sf-catalogue-searchbar label{flex:1 1 260px;margin:0}
.sf-catalogue-searchbar input{margin-top:5px}
.sf-catalogue-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px}
.sf-catalogue-heading h3{margin:0 0 5px}
.sf-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sf-catalogue-card{background:#fff;border:1px solid #dbe7ee;border-radius:13px;padding:16px;display:flex;flex-direction:column;min-width:0;gap:6px;box-shadow:0 3px 12px #193d5410}
.sf-catalogue-card:focus-within{border-color:#9acced}
.sf-card-heading{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:4px}
.sf-product-tag{font-size:11px;font-weight:800;border-radius:7px;background:#edf6fa;color:#1b6f9a;padding:3px 8px}
.sf-product-sku{font-size:10px;color:#7c91a0;overflow-wrap:anywhere}
.sf-product-name{font-size:15px;line-height:1.35;overflow-wrap:anywhere}
.sf-product-description{flex:1 1 auto;margin:4px 0;font-size:12px}
.sf-product-compat{margin:0}
.sf-card-controls{display:flex;align-items:end;flex-wrap:wrap;gap:11px;margin-top:auto;padding-top:8px}
.sf-quantity-group{flex:0 0 122px}
.sf-quantity-group>label{margin:0 0 6px}
.sf-quantity-stepper{display:flex;align-items:stretch;gap:0;border:1px solid #b9d2e0;border-radius:9px;overflow:hidden}
.sf-quantity-stepper>button{font:inherit;font-weight:750;font-size:18px;flex:0 0 33px;background:#edf6fc;border:0;color:#075c8e;cursor:pointer}
.sf-quantity-stepper>button:hover{background:#d8eefa}
.sf-quantity-stepper>input{width:52px;min-width:0;text-align:center;margin:0;padding:6px 2px;min-height:38px;border:0;border-radius:0;appearance:textfield;-moz-appearance:textfield;font-size:14px}
.sf-quantity-stepper>input::-webkit-outer-spin-button,.sf-quantity-stepper>input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sf-mode-label{flex:1 1 145px;margin:0;font-size:12px}
.sf-mode-label select{margin-top:6px;font-size:12px;padding:8px;min-height:38px}
.sf-catalogue-pagination{display:flex;gap:9px;justify-content:space-between;flex-wrap:wrap;margin-top:15px}
.sf-catalogue-pagination .button{min-height:36px;padding:8px 11px;font-size:12px}
.sf-catalogue-pagination .button:disabled{opacity:.45;cursor:not-allowed}
.sf-no-products{padding:22px 14px;border:1px dashed #cbdce5;border-radius:10px;color:#677d8b}
.sf-selection-panel{padding:16px 19px;border:1px solid #b5d9e9;border-radius:13px;background:#f2f9fd;margin:20px 0}
.sf-selection-heading{display:flex;align-items:center;flex-wrap:wrap;gap:12px;justify-content:space-between}
.sf-selection-heading h3{margin:0}
.sf-selection-heading p{margin:0}
.sf-selected-badge{display:inline-block;background:#1173a8;color:white;border-radius:18px;padding:2px 8px;font-size:12px;vertical-align:middle}
.sf-selection-line{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 0;border-top:1px solid #d8e6ef}
.sf-selection-line:first-child{border-top:0}
.sf-selection-line>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.sf-selection-jump{background:transparent;border:0;text-align:left;padding:0;color:#12639b;font:inherit;font-weight:750;cursor:pointer;overflow-wrap:anywhere}
.sf-selection-jump:hover{text-decoration:underline}
.sf-selection-remove{cursor:pointer;background:#fff;color:#8a3942;border:1px solid #ead0d5;border-radius:7px;padding:7px 10px;font:inherit;font-size:12px;font-weight:650}
.sf-compat-warning{font-size:12px;color:#8e3d1e;background:#fff5e8;border:1px solid #eac99c;border-radius:8px;padding:9px;margin:5px 0}
.sf-compat-error{border-color:#d49b74;background:#fffdf7}
.sf-catalogue-page[hidden],.sf-catalogue-card[hidden],.sf-compat-warning[hidden],.sf-category-picked[hidden],.sf-no-products[hidden],.sf-selection-panel [hidden]{display:none!important}
@media(max-width:1020px){.sf-catalogue-layout{grid-template-columns:minmax(160px,190px) minmax(0,1fr)}.sf-product-grid{grid-template-columns:1fr}}
@media(max-width:700px){.sf-catalogue-layout{grid-template-columns:1fr}.sf-catalogue-nav{padding:11px}.sf-catalogue-nav h3{margin:3px 5px 9px}.sf-catalogue-tabs{flex-direction:row;overflow-x:auto;padding:2px 2px 7px;scroll-snap-type:x mandatory}.sf-category-button{flex:0 0 auto;width:auto;max-width:190px;scroll-snap-align:start;white-space:normal}.sf-category-counter{margin-left:0}.sf-category-picked{flex-basis:auto}.sf-product-grid{grid-template-columns:1fr}}

/* SF Tel Devis V1.8.2 — matériel et accessoires séparés, compatibilité positive */
#accessoires-selection,#materiel-selection{scroll-margin-top:18px}
.sf-catalogue-next{display:flex;justify-content:flex-end;margin:0 0 7px}
.sf-existing-phones{margin:12px 0 18px;padding:13px 15px;border:1px solid #d4e5ef;border-radius:11px;background:#f7fbfe}
.sf-existing-phones summary{cursor:pointer;font-weight:700;color:#245b7b}
.sf-existing-phones .grid{margin-top:12px}
.sf-existing-phones label.choice-row{align-items:center;font-size:12px;flex-wrap:nowrap;margin:3px 0;gap:8px}
.sf-existing-phones label.choice-row input{width:17px;height:17px;min-height:auto;margin:0;flex-shrink:0}
.sf-selection-invalid{background:#fff3ee;border-radius:9px;padding-left:8px;padding-right:8px}
[data-sf-product][hidden],.sf-category-button[hidden],.sf-no-products[hidden],#sf-compat-submit-alert[hidden],.sf-compat-warning[hidden]{display:none!important}
#accessoires-selection .sf-catalogue-content .sf-no-products{line-height:1.6}
@media(max-width:560px){.sf-catalogue-next .button{width:100%}}
