@keyframes border-glow{0%,to{border-color:#27ae60;box-shadow:0 0 0 3px #fff,0 0 8px 2px rgba(46,204,113,.5)}50%{border-color:#2ecc71;box-shadow:0 0 0 3px #fff,0 0 20px 8px rgba(46,204,113,.9)}}@keyframes shake{0%,to{transform:translateX(0)}20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}@keyframes border-pulse{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 4px rgba(220,53,69,.8),0 0 20px rgba(220,53,69,.4)}}@keyframes input-pulse{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 8px rgba(220,53,69,.6)}}@keyframes tab-blink{0%,100%{background:var(--yellow);transform:scale(1)}50%{background:#ffeb3b;transform:scale(1.05);box-shadow:0 0 15px rgba(244,196,48,.8)}}:root{--yellow:#f4c430;--yellow-dark:#e5b520;--yellow-light:#fff8e1;--black:#1a1a1a;--gray-light:#f5f5f5;--gray:#e0e0e0;--gray-text:#666;--white:#fff;--success:#27ae60;--danger:#dc3545}*{box-sizing:border-box}.subsub-content{display:none}.subsub-content.active{display:block}.blink-tab{animation:tab-blink 1.5s ease-in-out infinite}.blink-tab.active,.blink-tab.has-selection{animation:none}.san-tabs{background:#e8e8e8;border-radius:8px;padding:8px;justify-content:center}.san-tabs .sub-tab{padding:8px 15px;font-size:12px}.san-group{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.san-group-title{background:#1a1a1a;color:#fff;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;white-space:nowrap}.san-selects-row{display:flex;justify-content:center;align-items:flex-start;gap:15px;flex-wrap:wrap;padding:10px}.san-select-group{display:flex;flex-direction:column;align-items:center;gap:4px}.san-select-group label{font-size:11px;font-weight:600;color:#1a1a1a}.san-select{padding:6px 10px;border:2px solid #e0e0e0;border-radius:6px;font-size:11px;min-width:160px;background:#fff;cursor:pointer}.san-select:focus{outline:none;border-color:#f4c430}.san-select:not([value="0"]){border-color:#27ae60;background:#e8f5e9}.subsub-content .options-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.subsub-content .option-card{padding:6px 10px;flex:0 1 auto;gap:6px}.subsub-content .option-card .option-info{display:flex;align-items:center;gap:5px}.subsub-content .option-card .option-info strong{font-size:11px;display:inline}.subsub-content .option-card .option-info small{display:none}.subsub-content .option-card .price{font-size:12px;font-weight:600}.subsub-content .option-card .check{width:16px;height:16px;font-size:10px}.mobile-total-box{display:none}header{width:100%}.top-bar{background:var(--black);padding:6px 0;font-size:12px}.top-bar .container{max-width:1400px;margin:0 auto;padding:0 15px}.main-nav .container,.top-bar-content{display:flex;justify-content:space-between;align-items:center}.contact-info{display:flex;gap:15px;align-items:center}.contact-info a,.contact-info span{color:#ccc;text-decoration:none;display:flex;align-items:center;gap:5px}.client-header h1,.contact-info a:hover,.social-links a:hover{color:var(--yellow)}.social-links a{color:#ccc}.main-nav{background:var(--black);padding:10px 0;border-bottom:3px solid var(--yellow)}.main-nav .container{max-width:1400px;margin:0 auto;padding:0 15px}.main-nav .logo{color:var(--yellow);font-size:20px;font-weight:800;text-decoration:none}.nav-links{display:flex;gap:3px;margin:0;padding:0}.nav-links,.nav-links li{list-style:none!important}.nav-links li::before{display:none!important}.form-group input,.nav-links a{border-radius:5px;color:var(--white)}.nav-links a{text-decoration:none;padding:8px 12px;font-size:12px;font-weight:600;transition:all .2s}.nav-links a.active,.nav-links a:hover{background:var(--yellow);color:var(--black)}.mobile-menu-btn{display:none;background:0 0;border:0;cursor:pointer;padding:8px}.mobile-menu-btn span{display:block;width:22px;height:2px;background:var(--white);margin:4px 0}.simulator-layout{display:grid;grid-template-columns:420px 1fr;min-height:calc(100vh - 120px);max-width:1600px;margin:0 auto}.client-sidebar{background:var(--black);color:var(--white);padding:15px;position:sticky;top:0;height:fit-content;max-height:100vh;overflow-y:auto;display:flex;flex-direction:column}.client-header{text-align:center;margin-bottom:10px;padding-bottom:10px;border-bottom:2px solid var(--yellow)}.client-header h1{font-size:16px;margin:0 0 3px}.client-header p{font-size:11px;color:#aaa;margin:0}.client-form{flex:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px}.form-group{display:flex;flex-direction:column}.form-group.small{max-width:80px}.form-group label{font-size:11px;color:#aaa;margin-bottom:3px}.form-group input{padding:8px 10px;border:1px solid #444;background:#2a2a2a;font-size:13px}.form-group input:focus{outline:0;border-color:var(--yellow)}.form-group input::placeholder{color:#666}.req{color:var(--yellow)}.total-box{background:#2a2a2a;border-radius:10px;padding:12px;margin-top:10px}.total-row{display:flex;justify-content:space-between;padding:4px 0;font-size:12px;color:#aaa}.main-cat.active .cat-name,.total-row strong{color:var(--white)}.total-row.main{border-top:2px solid var(--yellow);margin-top:6px;padding-top:8px;font-size:14px}.total-row.main span{color:var(--white);font-weight:600}.total-row.main strong{color:var(--yellow);font-size:18px}.total-actions{display:flex;gap:6px;margin-top:10px}.total-actions button{flex:1;padding:8px;border:0;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s}.btn-download{background:var(--yellow);color:var(--black);border:4px solid #2ecc71;box-shadow:0 0 0 3px #fff,0 0 10px 3px rgba(46,204,113,.7);animation:border-glow 1.5s infinite}.btn-download:hover{background:var(--yellow-dark);animation:none;border-color:#219a52}.btn-reset{background:#444;color:var(--white)}.btn-reset:hover,.form-message{background:var(--danger)}.form-message{color:var(--white);padding:8px;border-radius:6px;text-align:center;font-size:11px;font-weight:600;margin-top:8px;display:none}.form-message.show{display:block;animation:shake .5s}.client-form.highlight{animation:border-pulse 1s ease-in-out 3}.client-form.highlight input:invalid,.client-form.highlight input:placeholder-shown:required{border-color:var(--danger)!important;animation:input-pulse 1s ease-in-out 3}.prestations-area{padding:15px;background:var(--gray-light);overflow-y:auto}.simulator-header{text-align:center;margin-bottom:12px;padding-bottom:10px;border-bottom:2px solid var(--yellow)}.simulator-header h1{font-size:18px;color:var(--black);margin:0 0 3px}.simulator-header p{font-size:12px;color:#666;margin:0}.main-categories{display:flex;justify-content:center;gap:6px;margin-bottom:12px;overflow-x:auto;padding-bottom:5px}.main-cat{display:flex;align-items:center;gap:5px;padding:5px 10px;background:var(--yellow);border:2px solid var(--yellow-dark);border-radius:6px;cursor:pointer;transition:all .2s;font-family:inherit;white-space:nowrap;min-width:fit-content;box-shadow:0 1px 4px rgba(0,0,0,.1)}.main-cat .cat-name{color:var(--black);font-weight:600}.main-cat:hover{background:var(--yellow-dark);border-color:var(--yellow-dark);transform:translateY(-1px);box-shadow:0 3px 8px rgba(244,196,48,.3)}.main-cat.active{background:#27ae60;border-color:#219a52;box-shadow:0 2px 8px rgba(39,174,96,.3)}.cat-icon{font-size:14px}.cat-name{font-size:11px;font-weight:600}.cat-count{background:var(--yellow);color:var(--black);font-size:10px;font-weight:700;padding:2px 6px;border-radius:10px;display:none}.cat-count.has-value{display:inline}.main-cat.active .cat-count{background:var(--white);color:#27ae60}.category-panel{display:none;background:var(--white);border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.08);overflow:hidden}.category-panel.active{display:block}.sub-tabs{display:flex;justify-content:center;gap:6px;padding:10px;background:#f0f0f0;overflow-x:auto}.sub-tab{padding:6px 12px;background:var(--yellow);border:2px solid var(--yellow-dark);border-radius:6px;font-size:11px;font-weight:600;color:var(--black);cursor:pointer;transition:all .2s;white-space:nowrap;font-family:inherit;box-shadow:0 1px 4px rgba(0,0,0,.1)}.sub-tab:hover{background:var(--yellow-dark);border-color:var(--yellow-dark);transform:translateY(-2px);box-shadow:0 4px 10px rgba(244,196,48,.3)}.sub-tab.active{background:#27ae60;border-color:#219a52;color:var(--white);box-shadow:0 4px 12px rgba(39,174,96,.4)}.sub-content{display:none;padding:15px}.sub-content.active{display:block}.options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.option-card{display:flex;align-items:center;gap:10px;padding:12px;background:#f5f5f5;border:2px solid #d0d0d0;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px rgba(0,0,0,.08)}.option-card:hover{border-color:var(--yellow);background:#fff;box-shadow:0 3px 8px rgba(0,0,0,.12)}.option-card:has(input:checked){background:#e8f5e9;border-color:#27ae60;box-shadow:0 3px 10px rgba(39,174,96,.2)}.option-card input{display:none}.option-card .check{width:24px;height:24px;border:2px solid var(--gray);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;color:transparent;background:var(--white);transition:all .2s;flex-shrink:0}.option-card:has(input:checked) .check{background:#27ae60;border-color:#27ae60;color:var(--white)}.option-info{flex:1;min-width:0}.option-info strong{display:block;font-size:13px;color:var(--black)}.option-info small{font-size:11px;color:var(--gray-text)}.option-card .price{font-size:15px;font-weight:700;color:var(--black);white-space:nowrap}.sliders-list{display:flex;flex-direction:column;gap:12px}.slider-row{display:grid;grid-template-columns:140px 1fr auto auto;gap:10px;align-items:center;padding:10px;background:var(--gray-light);border-radius:8px}.slider-row label{font-size:13px;font-weight:600;color:var(--black)}.unit-price{font-size:11px;font-weight:400;color:var(--gray-text);display:block}.slider-control{display:flex;align-items:center;gap:10px}.slider-control input[type=range]{flex:1;height:6px;border-radius:3px;background:var(--gray);outline:0;-webkit-appearance:none}.slider-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--yellow);cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.2)}.qty-input{width:60px;padding:6px;border:1px solid var(--gray);border-radius:5px;font-size:14px;text-align:center}.qty-input:focus,.select-box select:focus{outline:0;border-color:var(--yellow)}.gamme-select,.select-box select{padding:6px 8px;border:1px solid var(--gray);border-radius:5px;font-size:12px;background:var(--white)}.row-total{font-size:14px;font-weight:700;color:var(--yellow-dark);min-width:70px;text-align:right}.select-box label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.select-box select{width:100%;padding:10px;border:2px solid var(--gray);border-radius:8px;font-size:14px}.mobile-cta{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--yellow);padding:12px;text-align:center;z-index:1000}.mobile-cta a{color:var(--black);font-weight:700;text-decoration:none;font-size:16px}@media (max-width:1024px){.simulator-layout{grid-template-columns:260px 1fr}.slider-row{grid-template-columns:120px 1fr auto auto}}@media (max-width:900px){.nav-links{display:none;position:absolute;top:100%;right:20px;left:auto;width:220px;background:var(--black);flex-direction:column;padding:0;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.5)}.nav-links.active{display:flex}.nav-links li{list-style:none}.nav-links a{padding:12px 20px;border-bottom:1px solid #333;display:block;font-size:14px;color:#fff}.nav-links li:last-child a{border-bottom:none}.mobile-menu-btn{display:block}.hide-mobile{display:none!important}}@media (max-width:768px){.simulator-layout{display:flex;flex-direction:column}.prestations-area{order:1}.client-sidebar{order:2;position:relative;height:auto;padding:15px;display:flex;flex-direction:column}.client-header p,.client-sidebar .total-box{display:none}.mobile-total-box{display:block;background:#1a1a1a;padding:12px;margin:15px 0;border-radius:10px;border:2px solid var(--yellow)}.mobile-total-box .total-cols{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.mobile-total-box .total-col{flex:1;text-align:center}.mobile-total-box .total-col span{display:block;font-size:10px;color:#999;margin-bottom:2px}.mobile-total-box .total-col strong{display:block;font-size:14px;color:#fff}.mobile-total-box .total-col.main strong{font-size:18px;color:var(--yellow);font-weight:700}.mobile-total-box .total-actions{display:flex;gap:8px}.mobile-total-box .total-actions button{flex:1;padding:8px 10px;font-size:12px;border-radius:6px;font-weight:700;border:0;cursor:pointer}.mobile-total-box .btn-download{background:var(--yellow);color:var(--black);border:2px solid #2ecc71;box-shadow:0 0 0 2px #fff,0 0 8px 2px rgba(46,204,113,.6);animation:border-glow 1.5s infinite}.mobile-total-box .btn-reset{background:#444;color:#fff}.mobile-total-box .form-message{display:none;text-align:center;color:#e74c3c;font-size:11px;margin-top:8px;padding:6px;background:rgba(231,76,60,.1);border-radius:5px}.mobile-total-box .form-message.show{display:block;animation:shake .5s}.client-sidebar .client-header{order:2;display:flex;align-items:center;justify-content:space-between;text-align:left;padding-bottom:10px;margin-bottom:10px;margin-top:15px}.client-sidebar .client-form{order:3}.client-header h1{font-size:16px;margin:0}.form-row{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px}.form-group input{padding:6px 8px;font-size:12px}.form-group label{font-size:10px}.total-row{padding:0;font-size:11px}.total-row.main{border:0;margin:0;padding:0}.total-row.main strong{font-size:16px}.total-actions{margin:0 0 0 auto}.total-actions button{padding:8px 12px;font-size:11px}.prestations-area{padding:10px 10px 70px}.main-categories{gap:6px}.main-cat{padding:10px 12px;flex-direction:column;gap:4px;min-width:70px}.cat-icon{font-size:18px}.cat-name{font-size:10px;text-align:center}.sub-tabs{justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:10px 15px}.sub-tabs::-webkit-scrollbar{display:none}.sub-tab{padding:10px 15px;font-size:12px;flex-shrink:0}.sub-content{padding:10px}.options-grid{grid-template-columns:1fr;gap:8px}.option-card{padding:10px}.option-info strong{font-size:12px}.option-card .price{font-size:14px}.slider-row{grid-template-columns:1fr;gap:6px}.slider-row label{display:flex;justify-content:space-between}.slider-control{width:100%}.row-total{text-align:left}.mobile-cta{display:block}}@media (max-width:480px){.form-row{grid-template-columns:1fr 1fr;gap:4px}.form-group.small{max-width:none}.form-group label{font-size:10px}.form-group input{padding:6px 8px;font-size:12px}.total-box{flex-direction:column;align-items:stretch}.total-actions{margin-left:0}.main-cat{min-width:60px;padding:8px}.cat-name{font-size:9px}}@media print{.client-sidebar,.mobile-cta{display:none}.prestations-area{padding:0}}
/* BOUTON RESET SECTION */
.section-reset{display:flex;justify-content:center;align-items:center;margin-top:15px;padding:15px;border-top:1px dashed #e0e0e0;position:relative}
.scroll-arrow{width:50px;height:50px;background:linear-gradient(135deg,#27ae60,#2ecc71);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff;animation:arrow-pulse 1.5s ease-in-out infinite;box-shadow:0 4px 15px rgba(39,174,96,0.4);cursor:pointer}
@keyframes arrow-pulse{0%,100%{transform:translateY(0) scale(1);box-shadow:0 4px 15px rgba(39,174,96,0.4)}50%{transform:translateY(5px) scale(1.1);box-shadow:0 6px 25px rgba(39,174,96,0.6)}}
.btn-section-reset{position:absolute;right:15px;background:#f5f5f5;color:#666;border:1px solid #ddd;padding:6px 15px;border-radius:5px;font-size:11px;cursor:pointer;transition:all .2s}
.btn-section-reset:hover{background:#dc3545;color:#fff;border-color:#dc3545}
/* SUB-TABS CLIGNOTEMENT */
.sub-tab.blink-tab{animation:tab-blink 1.5s ease-in-out infinite}
.sub-tab.blink-tab.active,.sub-tab.blink-tab.has-selection{animation:none}
/* PANNEAU PRÉVISUALISATION CCTP */
.preview-panel{background:#fff;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.08);margin-top:15px;overflow:hidden;border:2px solid #e0e0e0}
.preview-header{background:#1a1a1a;color:#fff;padding:12px 15px;display:flex;justify-content:space-between;align-items:center}
.preview-header h3{margin:0;font-size:14px;display:flex;align-items:center;gap:8px}
.preview-header span{background:#f4c430;color:#1a1a1a;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:700}
.preview-list{max-height:400px;overflow-y:auto;padding:0}
.preview-empty{color:#999;font-size:12px;text-align:center;padding:20px;margin:0}
.preview-table-header{display:grid;grid-template-columns:40px 1fr 50px 50px 70px 80px;gap:4px;padding:8px 10px;background:#4a90c2;color:#fff;font-size:10px;font-weight:700;text-transform:uppercase;position:sticky;top:0}
.preview-lot{display:grid;grid-template-columns:40px 1fr 80px;gap:4px;padding:10px;background:#2c3e50;color:#fff;font-size:12px;font-weight:700}
.preview-lot-title{grid-column:span 2}
.preview-lot-subtotal{text-align:right;color:#f4c430}
.preview-item{display:grid;grid-template-columns:40px 1fr 50px 50px 70px 80px;gap:4px;padding:8px 10px;background:#f8f9fa;border-bottom:1px solid #e9ecef;font-size:11px;align-items:start}
.preview-item:nth-child(odd){background:#fff}
.preview-item-num{color:#4a90c2;font-weight:600;text-align:center}
.preview-item-label{color:#333;line-height:1.4;padding-right:5px}
.preview-item-qty{text-align:center;color:#333}
.preview-item-unit{text-align:center;color:#666}
.preview-item-pu{text-align:right;color:#333}
.preview-item-total{text-align:right;font-weight:700;color:#27ae60}
.preview-cat-title{background:#f4c430;color:#1a1a1a;padding:5px 10px;font-size:11px;font-weight:700;margin:0}
.preview-footer{background:#1a1a1a;padding:12px 15px;display:flex;justify-content:flex-end;gap:25px}
.preview-footer-item{text-align:right}
.preview-footer-item span{display:block;font-size:10px;color:#999;margin-bottom:2px}
.preview-footer-item strong{font-size:14px;color:#fff}
.preview-footer-item.total strong{color:#f4c430;font-size:18px}
@media (max-width:768px){.preview-panel{margin:15px 10px}.preview-table-header,.preview-item{grid-template-columns:30px 1fr 40px 40px 60px 70px;font-size:9px}}

