/* ===== DEVIS FORM STYLES ===== */
.dv-wizard{position:relative;border-radius:24px;padding:0;overflow:hidden;background:linear-gradient(145deg,rgba(18,0,0,.97),rgba(10,10,10,.99));border:1px solid rgba(196,30,30,.25);box-shadow:0 0 100px rgba(196,30,30,.18),0 40px 120px rgba(0,0,0,.8),0 0 0 1px rgba(196,30,30,.08) inset}
.dv-wizard::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 0%,#8B0000 20%,#C41E1E 50%,#ff4444 65%,#C41E1E 80%,transparent 100%);z-index:10}
.dv-progress{display:flex;align-items:center;justify-content:center;gap:0;padding:32px 24px 16px;background:rgba(196,30,30,.04);border-bottom:1px solid rgba(196,30,30,.12);flex-wrap:wrap}
.dv-progress-bar-wrap{width:100%;height:4px;background:rgba(255,255,255,.06);border-radius:2px;margin-top:16px;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.06)}
.dv-progress-bar{height:100%;background:linear-gradient(90deg,#C41E1E,#ff4444);border-radius:2px;transition:width .5s cubic-bezier(.4,0,.2,1);width:16.6%}
.dv-progress-pct{text-align:center;margin-top:8px;font-family:'Inter',sans-serif;font-size:.7rem;color:rgba(255,255,255,.3);padding-bottom:12px}
.dv-progress-step{display:flex;align-items:center;gap:0;font-family:'Inter',sans-serif;font-size:.72rem;color:rgba(255,255,255,.3);transition:all .4s}
.dv-progress-step.active{color:rgba(255,255,255,.9)}
.dv-progress-step.done{color:#C41E1E}
.dv-step-num{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;border:2px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);transition:all .4s;flex-shrink:0}
.dv-progress-step.active .dv-step-num{border-color:#C41E1E;background:linear-gradient(135deg,rgba(196,30,30,.25),rgba(139,0,0,.15));color:#fff;box-shadow:0 0 25px rgba(196,30,30,.5),0 0 8px rgba(196,30,30,.3) inset}
.dv-progress-step.done .dv-step-num{border-color:#C41E1E;background:linear-gradient(135deg,#C41E1E,#8B0000);color:#fff;box-shadow:0 0 15px rgba(196,30,30,.4)}
.dv-step-label{margin-left:6px;white-space:nowrap}
.dv-step-line{width:24px;height:2px;background:rgba(255,255,255,.08);margin:0 4px;flex-shrink:0;transition:background .4s}
.dv-step-line.done{background:#C41E1E}
@media(max-width:640px){.dv-step-label{display:none}.dv-step-line{width:16px}}
@media(max-width:500px){  .dv-step-num{width:22px;height:22px;font-size:.62rem}  .dv-step-line{width:8px;margin:0 2px}  .dv-progress{padding:18px 14px 12px}
}
@media(max-width:380px){  .dv-step-num{width:20px;height:20px;font-size:.58rem}  .dv-step-line{width:5px;margin:0 1px}  .dv-progress{padding:14px 10px 10px}
}
.dv-body{padding:32px 28px 28px;min-height:320px;position:relative}
@media(max-width:480px){.dv-body{padding:24px 16px 20px;min-height:240px}}
.dv-panel{display:none;animation:dvFadeIn .4s ease}
.dv-panel.active{display:block}
@keyframes dvFadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.dv-title{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.15rem;color:#fff;margin-bottom:6px}
.dv-sub{font-family:'Inter',sans-serif;color:rgba(255,255,255,.45);font-size:.85rem;margin-bottom:24px}
/* Profile cards */
.dv-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:400px){.dv-profile-grid{grid-template-columns:1fr}}
.dv-profile-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:40px 20px;border-radius:18px;border:2px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);text-align:center;position:relative;overflow:hidden}
.dv-profile-card::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 120%,rgba(196,30,30,.12),transparent 60%);opacity:0;transition:opacity .4s}
.dv-profile-card:hover::after{opacity:1}
.dv-profile-card:hover{border-color:rgba(196,30,30,.35);background:rgba(196,30,30,.06);transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.4),0 0 30px rgba(196,30,30,.12)}
.dv-profile-card.selected{border-color:#C41E1E;background:rgba(196,30,30,.1);box-shadow:0 0 50px rgba(196,30,30,.25),0 20px 40px rgba(0,0,0,.4)}
.dv-profile-card.selected::after{opacity:1}
.dv-profile-card svg{width:52px;height:52px;stroke:rgba(255,255,255,.45);transition:stroke .3s}
.dv-profile-card.selected svg,.dv-profile-card:hover svg{stroke:#C41E1E}
.dv-profile-card span{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.05rem;color:#fff}
/* Type d'intervention cards */
.dv-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:560px){.dv-type-grid{grid-template-columns:1fr}}
.dv-type-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px 16px 28px;border-radius:18px;border:2px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);text-align:center;overflow:hidden}
.dv-type-card::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 120%,rgba(196,30,30,.12),transparent 60%);opacity:0;transition:opacity .4s}
.dv-type-card:hover::after,.dv-type-card.selected::after{opacity:1}
.dv-type-card:hover{border-color:rgba(196,30,30,.35);transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.4),0 0 30px rgba(196,30,30,.12)}
.dv-type-card.selected{border-color:#C41E1E;background:rgba(196,30,30,.1);box-shadow:0 0 50px rgba(196,30,30,.25),0 20px 40px rgba(0,0,0,.4)}
.dv-type-card.highlighted{border-color:rgba(196,30,30,.25)}
.dv-type-badge{position:absolute;top:-1px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,#C41E1E,#8B0000);color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.62rem;letter-spacing:.08em;padding:4px 14px;border-radius:0 0 12px 12px;white-space:nowrap;text-transform:uppercase}
.dv-type-icon{font-size:2rem;margin-bottom:4px}
.dv-type-name{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.95rem;color:#fff}
.dv-type-desc{font-family:Inter,sans-serif;font-size:.78rem;color:rgba(255,255,255,.4);margin-top:4px;line-height:1.4}
.dv-type-card.selected .dv-type-name{color:#fff}
/* Nuisible cards */
.dv-nuisible-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
@media(max-width:400px){.dv-nuisible-grid{grid-template-columns:1fr 1fr}}
.dv-nuis-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 10px;border-radius:14px;border:2px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);cursor:pointer;transition:all .3s;text-align:center;position:relative}
.dv-nuis-card:hover{border-color:rgba(196,30,30,.25);background:rgba(196,30,30,.05)}
.dv-nuis-card.selected{border-color:#C41E1E;background:rgba(196,30,30,.1);box-shadow:0 0 20px rgba(196,30,30,.15)}
.dv-nuis-card .dv-nuis-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}
.dv-nuis-card .dv-nuis-name{font-family:'Inter',sans-serif;font-size:.8rem;color:rgba(255,255,255,.8);font-weight:600}
.dv-nuis-card .dv-check{position:absolute;top:6px;right:6px;width:18px;height:18px;border-radius:50%;background:#C41E1E;display:none;align-items:center;justify-content:center}
.dv-nuis-card.selected .dv-check{display:flex}
/* Subcategory panel */
.dv-subcats{margin-top:16px;padding:16px;border-radius:12px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);display:none;animation:dvFadeIn .3s ease}
.dv-subcats.open{display:block}
.dv-subcats-title{font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:.9rem;color:rgba(255,255,255,.7);margin-bottom:12px}
.dv-subcat-options{display:flex;flex-wrap:wrap;gap:8px}
.dv-subcat-chip{padding:8px 16px;border-radius:100px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);color:rgba(255,255,255,.7);font-family:'Inter',sans-serif;font-size:.8rem;cursor:pointer;transition:all .3s}
.dv-subcat-chip:hover{border-color:rgba(196,30,30,.3);color:#fff}
.dv-subcat-chip.selected{border-color:#C41E1E;background:rgba(196,30,30,.15);color:#fff}
.dv-autre-input{margin-top:12px;display:none}
.dv-autre-input.open{display:block}
/* Form fields */
.dv-field{margin-bottom:16px}
.dv-field label{display:block;font-family:'Inter',sans-serif;font-size:.8rem;color:rgba(255,255,255,.5);margin-bottom:6px;font-weight:500}
.dv-input,.dv-select,.dv-textarea{width:100%;padding:14px 18px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.04);color:#fff;font-family:'Inter',sans-serif;font-size:.9rem;outline:none;transition:all .3s;box-sizing:border-box}
.dv-input:focus,.dv-select:focus,.dv-textarea:focus{border-color:rgba(196,30,30,.5);box-shadow:0 0 20px rgba(196,30,30,.1)}
.dv-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='rgba(255,255,255,0.3)' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.dv-select option{background:#1a1a1a;color:#fff}
.dv-textarea{resize:vertical;min-height:80px}
.dv-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:480px){.dv-row{grid-template-columns:1fr}}
/* Urgency cards */
.dv-urgency-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:8px}
@media(max-width:480px){.dv-urgency-grid{grid-template-columns:1fr}}
.dv-urg-card{padding:16px;border-radius:14px;border:2px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);cursor:pointer;transition:all .3s;text-align:center}
.dv-urg-card:hover{transform:translateY(-2px)}
.dv-urg-card.selected{box-shadow:0 0 25px rgba(196,30,30,.2)}
.dv-urg-card .dv-urg-label{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.9rem;margin-top:4px}
.dv-urg-card .dv-urg-desc{font-family:'Inter',sans-serif;font-size:.75rem;color:rgba(255,255,255,.4);margin-top:4px}
.dv-urg-card[data-urg="immediate"]{border-color:rgba(220,38,38,.3)}
.dv-urg-card[data-urg="immediate"].selected{border-color:#dc2626;background:rgba(220,38,38,.12)}
.dv-urg-card[data-urg="immediate"] .dv-urg-label{color:#dc2626}
.dv-urg-card[data-urg="48h"]{border-color:rgba(234,88,12,.2)}
.dv-urg-card[data-urg="48h"].selected{border-color:#ea580c;background:rgba(234,88,12,.1)}
.dv-urg-card[data-urg="48h"] .dv-urg-label{color:#ea580c}
.dv-urg-card[data-urg="semaine"]{border-color:rgba(202,138,4,.2)}
.dv-urg-card[data-urg="semaine"].selected{border-color:#ca8a04;background:rgba(202,138,4,.1)}
.dv-urg-card[data-urg="semaine"] .dv-urg-label{color:#ca8a04}
.dv-urg-card[data-urg="info"]{border-color:rgba(255,255,255,.1)}
.dv-urg-card[data-urg="info"].selected{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.06)}
.dv-urg-card[data-urg="info"] .dv-urg-label{color:rgba(255,255,255,.6)}
@keyframes dvPulse{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,.3)}50%{box-shadow:0 0 0 8px rgba(220,38,38,0)}}
.dv-urg-card[data-urg="immediate"].selected{animation:dvPulse 2s infinite}
/* Upload zone */
.dv-upload-zone{border:2px dashed rgba(255,255,255,.12);border-radius:16px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .3s;background:rgba(255,255,255,.02)}
.dv-upload-zone:hover,.dv-upload-zone.dragover{border-color:rgba(196,30,30,.4);background:rgba(196,30,30,.05)}
.dv-upload-zone svg{margin:0 auto 12px;display:block}
.dv-upload-zone p{color:rgba(255,255,255,.5);font-family:'Inter',sans-serif;font-size:.85rem}
.dv-upload-zone .dv-upload-hint{font-size:.75rem;color:rgba(255,255,255,.3);margin-top:4px}
.dv-previews{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}
.dv-preview-item{position:relative;width:80px;height:80px;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}
.dv-preview-item img{width:100%;height:100%;object-fit:cover}
.dv-preview-remove{position:absolute;top:-4px;right:-4px;width:22px;height:22px;border-radius:50%;background:#C41E1E;border:2px solid #0a0a0a;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.7rem;color:#fff;font-weight:700}
/* Recap */
.dv-recap{display:flex;flex-direction:column;gap:12px}
.dv-recap-item{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 16px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.dv-recap-item .dv-recap-label{font-family:'Inter',sans-serif;font-size:.8rem;color:rgba(255,255,255,.45);flex-shrink:0}
.dv-recap-item .dv-recap-value{font-family:'Inter',sans-serif;font-size:.85rem;color:#fff;text-align:right;font-weight:500}
.dv-rgpd{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:14px;border-radius:10px;background:rgba(255,255,255,.02)}
.dv-rgpd input[type=checkbox]{width:18px;height:18px;accent-color:#C41E1E;flex-shrink:0;margin-top:2px;cursor:pointer}
.dv-rgpd label{font-family:'Inter',sans-serif;font-size:.78rem;color:rgba(255,255,255,.5);cursor:pointer;line-height:1.4}
/* Buttons */
.dv-nav{display:flex;justify-content:space-between;align-items:center;margin-top:28px;gap:12px}
.dv-btn-next{padding:14px 32px;border:none;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.95rem;border-radius:100px;background:linear-gradient(135deg,#C41E1E,#8B0000);color:#fff;transition:all .4s;box-shadow:0 8px 32px rgba(196,30,30,.25);flex-shrink:0}
.dv-btn-next:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(196,30,30,.35)}
.dv-btn-next:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}
.dv-btn-back{padding:14px 24px;border:1px solid rgba(255,255,255,.1);cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:.9rem;border-radius:100px;background:transparent;color:rgba(255,255,255,.6);transition:all .3s}
.dv-btn-back:hover{border-color:rgba(255,255,255,.25);color:#fff}
.dv-btn-skip{padding:10px 20px;border:none;cursor:pointer;font-family:'Inter',sans-serif;font-size:.82rem;border-radius:100px;background:transparent;color:rgba(255,255,255,.4);transition:color .3s;text-decoration:underline}
.dv-btn-skip:hover{color:rgba(255,255,255,.7)}
.dv-btn-submit{padding:18px 40px;border:none;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:1.05rem;border-radius:100px;background:linear-gradient(135deg,#C41E1E,#8B0000);color:#fff;transition:all .4s;box-shadow:0 8px 32px rgba(196,30,30,.3);width:100%;position:relative;overflow:hidden}
.dv-btn-submit:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(196,30,30,.4)}
.dv-btn-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}
.dv-btn-submit .dv-spinner{display:none;width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:dvSpin .6s linear infinite;margin:0 auto}
@keyframes dvSpin{to{transform:rotate(360deg)}}
.dv-submit-text{transition:opacity .3s}
.dv-pro-fields{display:none;animation:dvFadeIn .3s ease}
.dv-pro-fields.open{display:block}
/* Success */
.dv-success{display:none;text-align:center;padding:48px 24px;animation:dvFadeIn .5s ease}
.dv-success svg{margin:0 auto 20px}
.dv-success h3{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:1.4rem;color:#fff;margin-bottom:8px}
.dv-success p{font-family:'Inter',sans-serif;color:rgba(255,255,255,.5);font-size:.95rem}
@keyframes dvCheck{0%{stroke-dashoffset:100}100%{stroke-dashoffset:0}}
.dv-success .dv-check-anim{stroke-dasharray:100;stroke-dashoffset:100;animation:dvCheck .8s ease .2s forwards}
/* Glass card wrapper */
.dv-wizard{background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid rgba(196,30,30,.2);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 24px 80px rgba(0,0,0,.4),0 0 60px rgba(196,30,30,.08),inset 0 1px 0 rgba(255,255,255,.06)}
/* ===== MOBILE RESPONSIVE WIZARD ===== */
@media(max-width:600px){  /* Section outer */  section#devis-rapide{padding:48px 4% !important}  /* Profile cards: reduce padding, smaller SVG */  .dv-profile-card{padding:26px 16px;gap:10px}  .dv-profile-card svg{width:40px;height:40px}  .dv-profile-card span{font-size:.95rem}  /* Type cards mobile */  .dv-type-card{padding:22px 14px 18px;gap:10px}  .dv-type-icon{font-size:1.7rem}  .dv-type-name{font-size:.88rem}  .dv-type-desc{font-size:.74rem}  /* Nuisible grid: toujours 2 colonnes max */  .dv-nuisible-grid{grid-template-columns:repeat(2,1fr)}  .dv-nuis-card{padding:14px 8px}  .dv-nuis-card .dv-nuis-icon{font-size:1.3rem}  .dv-nuis-card .dv-nuis-name{font-size:.74rem}  /* Buttons mobile */  .dv-btn-next{padding:12px 22px;font-size:.88rem}  .dv-btn-back{padding:12px 18px;font-size:.84rem}  .dv-btn-submit{padding:16px 24px;font-size:.95rem}  /* Recap */  .dv-recap-item{flex-direction:column;gap:4px}  .dv-recap-item .dv-recap-value{text-align:left}  /* Upload */  .dv-upload-zone{padding:28px 16px}  /* Title */  .dv-title{font-size:1.05rem}  .dv-sub{font-size:.82rem;margin-bottom:18px}
}
@media(max-width:420px){  /* iPhone SE, Galaxy S8 */  .dv-profile-card{padding:20px 12px}  .dv-profile-card svg{width:34px;height:34px}  .dv-nav{gap:6px}  .dv-btn-next{padding:11px 18px;font-size:.84rem}  .dv-btn-back{padding:11px 14px;font-size:.8rem}  .dv-btn-skip{font-size:.76rem;padding:8px 12px}
}
