.devis-flow{width:100%;min-height:100vh;background:var(--bg-primary);display:flex;flex-direction:column}.devis-flow-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;background:var(--bg-primary);position:relative}.devis-flow-header:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(63,190,204,.2),transparent)}.dark .devis-flow-header{background:var(--bg-secondary)}.devis-flow-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;display:flex;align-items:center;gap:.625rem}.devis-flow-title:before{content:"";width:4px;height:1.25rem;background:linear-gradient(180deg,#3fbecc,#1b5aa8);border-radius:2px}.devis-flow-cancel{background:transparent;border:none;padding:.625rem;cursor:pointer;color:var(--text-tertiary);transition:all .2s;border-radius:.625rem}.devis-flow-cancel:hover{color:var(--text-primary);background:var(--bg-tertiary);transform:rotate(90deg)}.devis-progress{padding:1.5rem 1.5rem 1.75rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);position:relative}.devis-progress:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(63,190,204,.3),transparent)}.dark .devis-progress{background:var(--bg-tertiary)}.devis-progress-bar{height:3px;background:var(--border-color);border-radius:9999px;overflow:hidden;margin-bottom:1.75rem;position:relative}.devis-progress-bar:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#3fbecc33,#1b5aa833);opacity:.5}.devis-progress-fill{height:100%;background:linear-gradient(90deg,#3fbecc,#1b5aa8);transition:width .4s cubic-bezier(.4,0,.2,1);position:relative}.devis-progress-fill:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:8px;height:8px;background:#3fbecc;border-radius:50%;box-shadow:0 0 12px 2px #3fbecc99}.dark .devis-progress-fill{background:linear-gradient(90deg,#3fbecc,#1b5aa8)}.devis-progress-steps{display:flex;justify-content:space-between;gap:.5rem}.devis-progress-step{flex:1;text-align:center;position:relative}.devis-progress-step-number{width:2.25rem;height:2.25rem;margin:0 auto .625rem;border-radius:9999px;background:var(--bg-primary);border:2px solid var(--border-color);color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1)}.dark .devis-progress-step-number{background:var(--bg-secondary)}.devis-progress-step.active .devis-progress-step-number{background:linear-gradient(135deg,#3fbecc,#1b5aa8);border-color:transparent;color:#fff;box-shadow:0 4px 12px -2px #3fbecc66;transform:scale(1.1)}.dark .devis-progress-step.active .devis-progress-step-number{box-shadow:0 4px 12px -2px #3fbecc80}.devis-progress-step.completed .devis-progress-step-number{background:linear-gradient(135deg,#22c55e,#16a34a);border-color:transparent;color:#fff;box-shadow:0 2px 8px -2px #22c55e66}.devis-progress-step-label{font-size:.75rem;color:var(--text-tertiary);transition:all .25s;letter-spacing:.01em}.devis-progress-step.active .devis-progress-step-label{color:#1b5aa8;font-weight:600}.dark .devis-progress-step.active .devis-progress-step-label{color:#3fbecc}.devis-flow-content{flex:1;overflow-y:auto;padding:2rem 1rem;background:var(--bg-secondary)}@media(min-width:768px){.devis-flow-content{padding:2.5rem 2rem}}@media(min-width:1024px){.devis-flow-content{padding:3rem}}.dark .devis-flow-content{background:var(--bg-tertiary)}.devis-step{max-width:100%;margin:0 auto;padding:0 1rem;animation:devisStepFadeIn .4s ease-out}@media(min-width:1024px){.devis-step{padding:0 2rem}}@media(min-width:1280px){.devis-step{padding:0 3rem}}@keyframes devisStepFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.devis-step-header{text-align:center;margin-bottom:2.5rem}@media(min-width:1024px){.devis-step-header{margin-bottom:3rem}}.devis-step-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem;letter-spacing:-.025em;background:linear-gradient(135deg,var(--text-primary) 0%,var(--text-secondary) 100%);-webkit-background-clip:text;background-clip:text}@media(min-width:1024px){.devis-step-title{font-size:2.25rem}}.dark .devis-step-title{background:linear-gradient(135deg,#fff,#a1a1aa);-webkit-background-clip:text;background-clip:text}.devis-step-subtitle{font-size:1.0625rem;color:var(--text-tertiary);max-width:40rem;margin:0 auto;line-height:1.6}@media(min-width:1024px){.devis-step-subtitle{font-size:1.125rem}}.devis-step-content{margin-bottom:2rem}@media(min-width:1024px){.devis-step-content{margin-bottom:3rem}}.devis-step-actions{display:flex;gap:1rem;justify-content:center}@media(min-width:768px){.devis-step-actions{gap:1.5rem}}.devis-button{position:relative;padding:.875rem 2.25rem;border-radius:.75rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);border:none;min-width:140px;overflow:hidden}.devis-button-primary{background:linear-gradient(135deg,#3fbecc,#1b5aa8);color:#fff;box-shadow:0 4px 14px -2px #1b5aa859}.dark .devis-button-primary{background:linear-gradient(135deg,#3fbecc,#1b5aa8);color:#fff;box-shadow:0 4px 14px -2px #3fbecc4d}.devis-button-primary:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#1b5aa8,#3fbecc);opacity:0;transition:opacity .25s;border-radius:inherit;z-index:-1}.devis-button-primary:hover:not(:disabled):before{opacity:1}.devis-button-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px -4px #1b5aa866}.dark .devis-button-primary:hover:not(:disabled){box-shadow:0 8px 20px -4px #3fbecc59}.devis-button-primary:active:not(:disabled){transform:translateY(0)}.devis-button-primary:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.devis-button-secondary{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color)}.devis-button-secondary:hover{background:var(--bg-tertiary);border-color:#3fbecc;color:#1b5aa8}.dark .devis-button-secondary:hover{color:#3fbecc}.devis-services-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-bottom:1.5rem}@media(min-width:640px){.devis-services-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.devis-services-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}}.devis-service-card{position:relative;padding:1.75rem 1.25rem;border:1px solid var(--border-color);border-radius:1.25rem;background:var(--bg-primary);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);text-align:center;overflow:hidden}@media(min-width:1024px){.devis-service-card{padding:2.5rem 2rem}}.devis-service-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#3fbecc0d,#1b5aa80d);opacity:0;transition:opacity .25s}.devis-service-card:hover{border-color:#3fbecc;transform:translateY(-4px);box-shadow:0 12px 24px -8px #3fbecc26}.devis-service-card:hover:before{opacity:1}.dark .devis-service-card:hover{box-shadow:0 12px 24px -8px #3fbecc33}.devis-service-card.selected{border-color:transparent;border-width:2px;background:linear-gradient(135deg,#3fbecc14,#1b5aa814);box-shadow:0 0 0 2px #1b5aa8,0 8px 20px -4px #1b5aa833}.dark .devis-service-card.selected{background:linear-gradient(135deg,#3fbecc1f,#1b5aa814);box-shadow:0 0 0 2px #3fbecc,0 8px 20px -4px #3fbecc40}.devis-service-icon-wrapper{width:4rem;height:4rem;margin:0 auto 1.25rem;border-radius:1rem;background:linear-gradient(135deg,#3fbecc1a,#1b5aa81a);display:flex;align-items:center;justify-content:center;transition:all .25s}.devis-service-card:hover .devis-service-icon-wrapper{background:linear-gradient(135deg,#3fbecc,#1b5aa8);transform:scale(1.05)}.devis-service-card.selected .devis-service-icon-wrapper{background:linear-gradient(135deg,#3fbecc,#1b5aa8)}.devis-service-svg{width:2rem;height:2rem;color:#1b5aa8;transition:color .25s}.dark .devis-service-svg{color:#3fbecc}.devis-service-card:hover .devis-service-svg,.devis-service-card.selected .devis-service-svg{color:#fff}.devis-service-label{position:relative;font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.625rem;letter-spacing:-.01em}.devis-service-description{position:relative;font-size:.875rem;color:var(--text-tertiary);line-height:1.5}.devis-features-grid{display:grid;grid-template-columns:1fr;gap:.875rem;margin-bottom:1.25rem}@media(min-width:640px){.devis-features-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.devis-features-grid{grid-template-columns:repeat(3,1fr);gap:1rem}}@media(min-width:1280px){.devis-features-grid{grid-template-columns:repeat(4,1fr)}}.devis-feature-card{padding:1rem 1.125rem;border:1px solid var(--border-color);border-radius:.875rem;background:var(--bg-primary);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.875rem;text-align:left;position:relative;overflow:hidden}.devis-feature-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#3fbecc0d,#1b5aa80d);opacity:0;transition:opacity .2s}.devis-feature-card:hover{border-color:#3fbecc;transform:translate(4px)}.devis-feature-card:hover:before{opacity:1}.devis-feature-card.selected{border-color:transparent;background:linear-gradient(135deg,#3fbecc14,#1b5aa80f);box-shadow:inset 0 0 0 2px #1b5aa8}.dark .devis-feature-card.selected{background:linear-gradient(135deg,#3fbecc1f,#1b5aa814);box-shadow:inset 0 0 0 2px #3fbecc}.devis-feature-checkbox{width:1.375rem;height:1.375rem;border:2px solid var(--border-color);border-radius:.375rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.devis-feature-card.selected .devis-feature-checkbox{background:linear-gradient(135deg,#3fbecc,#1b5aa8);border-color:transparent;color:#fff;transform:scale(1.05);box-shadow:0 2px 8px -2px #3fbecc66}.dark .devis-feature-card.selected .devis-feature-checkbox{box-shadow:0 2px 8px -2px #3fbecc80}.devis-feature-label{font-size:.9375rem;color:var(--text-primary);font-weight:500;position:relative;transition:color .2s}.devis-feature-card.selected .devis-feature-label{color:#1b5aa8}.dark .devis-feature-card.selected .devis-feature-label{color:#3fbecc}.devis-selected-count{text-align:center;font-size:.875rem;color:var(--text-tertiary);font-weight:500;padding:.5rem 1rem;background:linear-gradient(135deg,#3fbecc14,#1b5aa80d);border-radius:9999px;display:inline-block;margin:0 auto}.devis-budget-list,.devis-timeline-list{display:grid;grid-template-columns:1fr;gap:.875rem}@media(min-width:768px){.devis-budget-list,.devis-timeline-list{grid-template-columns:repeat(2,1fr);gap:1rem}}@media(min-width:1280px){.devis-budget-list,.devis-timeline-list{grid-template-columns:repeat(4,1fr)}}.devis-budget-card,.devis-timeline-card{padding:1.125rem 1.375rem;border:1px solid var(--border-color);border-radius:1rem;background:var(--bg-primary);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-align:left;position:relative;overflow:hidden}.devis-budget-card:before,.devis-timeline-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#3fbecc,#1b5aa8);opacity:0;transition:opacity .2s}.devis-budget-card:hover,.devis-timeline-card:hover{border-color:#3fbecc;transform:translate(4px)}.devis-budget-card:hover:before,.devis-timeline-card:hover:before{opacity:.5}.devis-budget-card.selected,.devis-timeline-card.selected{border-color:transparent;background:linear-gradient(135deg,#3fbecc14,#1b5aa80f);box-shadow:inset 0 0 0 2px #1b5aa8}.devis-budget-card.selected:before,.devis-timeline-card.selected:before{opacity:1}.dark .devis-budget-card.selected,.dark .devis-timeline-card.selected{background:linear-gradient(135deg,#3fbecc1f,#1b5aa814);box-shadow:inset 0 0 0 2px #3fbecc}.devis-budget-header,.devis-timeline-header{display:flex;align-items:center;gap:.875rem;margin-bottom:.375rem}.devis-budget-radio,.devis-timeline-radio{width:1.25rem;height:1.25rem;border:2px solid var(--border-color);border-radius:9999px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s cubic-bezier(.4,0,.2,1)}.devis-budget-card.selected .devis-budget-radio,.devis-timeline-card.selected .devis-timeline-radio{border-color:#1b5aa8;box-shadow:0 0 0 3px #1b5aa826}.dark .devis-budget-card.selected .devis-budget-radio,.dark .devis-timeline-card.selected .devis-timeline-radio{border-color:#3fbecc;box-shadow:0 0 0 3px #3fbecc33}.devis-budget-radio-dot,.devis-timeline-radio-dot{width:.625rem;height:.625rem;border-radius:9999px;background:linear-gradient(135deg,#3fbecc,#1b5aa8);animation:radioPopIn .25s cubic-bezier(.34,1.56,.64,1)}@keyframes radioPopIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.devis-budget-label,.devis-timeline-label{font-size:1rem;font-weight:600;color:var(--text-primary);transition:color .2s}.devis-budget-card.selected .devis-budget-label,.devis-timeline-card.selected .devis-timeline-label{color:#1b5aa8}.dark .devis-budget-card.selected .devis-budget-label,.dark .devis-timeline-card.selected .devis-timeline-label{color:#3fbecc}.devis-budget-description,.devis-timeline-description{font-size:.875rem;color:var(--text-tertiary);margin-left:2.125rem;line-height:1.5}.devis-contact-form{max-width:100%;margin:0 auto}@media(min-width:768px){.devis-contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2rem}.devis-contact-form .devis-form-group{margin-bottom:0}.devis-contact-form .devis-summary{grid-column:1 / -1}}@media(min-width:1024px){.devis-contact-form{grid-template-columns:1fr 1fr 1.5fr}.devis-contact-form .devis-summary{grid-column:3;grid-row:1 / 3;margin-top:0}}.devis-form-group{margin-bottom:1.25rem}.devis-form-label{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.devis-form-input{width:100%;padding:.75rem 1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.625rem;font-size:.9375rem;color:var(--text-primary);transition:border-color .15s,box-shadow .15s}.devis-form-input::placeholder{color:var(--text-tertiary)}.devis-form-input:focus{outline:none;border-color:#1b5aa8;box-shadow:0 0 0 3px #1b5aa81a,0 2px 8px -2px #1b5aa826;transform:translateY(-1px)}.dark .devis-form-input:focus{border-color:#3fbecc;box-shadow:0 0 0 3px #3fbecc26,0 2px 8px -2px #3fbecc33}.devis-form-input.error{border-color:#dc2626}.devis-form-error{margin-top:.375rem;font-size:.8125rem;color:#dc2626}.devis-summary{margin-top:2rem;padding:1.5rem;background:linear-gradient(135deg,#3fbecc0a,#1b5aa808);border-radius:1rem;border:1px solid rgba(63,190,204,.15);position:relative;overflow:hidden}.devis-summary:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3fbecc,#1b5aa8)}.dark .devis-summary{background:linear-gradient(135deg,#3fbecc14,#1b5aa80d);border-color:#3fbecc33}.devis-summary-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.devis-summary-title:before{content:"";width:6px;height:6px;background:linear-gradient(135deg,#3fbecc,#1b5aa8);border-radius:50%}.devis-summary-list{list-style:none;padding:0;margin:0}.devis-summary-list li{font-size:.9375rem;color:var(--text-tertiary);margin-bottom:.5rem;padding-left:1rem;position:relative}.devis-summary-list li:before{content:"→";position:absolute;left:0;color:#3fbecc;font-size:.75rem}.devis-summary-list strong{color:var(--text-primary);font-weight:600}.devis-success{text-align:center;padding:1rem 0}.devis-success-icon{width:5rem;height:5rem;margin:0 auto 1.75rem;background:linear-gradient(135deg,#22c55e26,#16a34a1a);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;animation:successIconPop .5s .2s cubic-bezier(.34,1.56,.64,1) both}@keyframes successIconPop{0%{transform:scale(0)}to{transform:scale(1)}}.devis-success-icon:before{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(34,197,94,.3);animation:successRing 1s .5s ease-out both}@keyframes successRing{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.devis-success-icon svg{width:2.5rem;height:2.5rem;color:#22c55e}.devis-success-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;letter-spacing:-.025em}.devis-success-message{font-size:1.0625rem;color:var(--text-tertiary);max-width:28rem;margin:0 auto;line-height:1.7}.devis-error{margin-top:1rem;padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;color:#b91c1c;font-size:.875rem;text-align:center}.dark .devis-error{background:#b91c1c1a;border-color:#b91c1c33;color:#fca5a5}.devis-modal-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:modalOverlayFadeIn .3s ease-out}@keyframes modalOverlayFadeIn{0%{opacity:0}to{opacity:1}}.devis-modal{background:var(--bg-primary);border-radius:1.5rem;max-width:28rem;width:100%;padding:2rem;box-shadow:0 25px 50px -12px #00000040;animation:modalSlideIn .4s cubic-bezier(.34,1.56,.64,1)}.dark .devis-modal{background:var(--bg-secondary);box-shadow:0 25px 50px -12px #00000080}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.devis-modal-button{margin-top:1.5rem;min-width:120px}.devis-processing{text-align:center;padding:1rem 0}.devis-processing-animation{position:relative;width:6rem;height:6rem;margin:0 auto 2rem}.devis-processing-spinner{position:absolute;inset:0;border:3px solid rgba(63,190,204,.15);border-top-color:#3fbecc;border-radius:50%;animation:processingSpinner 1s linear infinite}@keyframes processingSpinner{to{transform:rotate(360deg)}}.devis-processing-ai-icon{position:absolute;inset:.75rem;background:linear-gradient(135deg,#3fbecc1a,#1b5aa81a);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:processingPulse 2s ease-in-out infinite}@keyframes processingPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.devis-processing-ai-icon svg{width:2.5rem;height:2.5rem;color:#1b5aa8}.dark .devis-processing-ai-icon svg{color:#3fbecc}.devis-processing-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;letter-spacing:-.025em;background:linear-gradient(135deg,#3fbecc,#1b5aa8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.devis-processing-message{font-size:1rem;color:var(--text-secondary);max-width:24rem;margin:0 auto;line-height:1.7}.devis-processing-hint{display:block;margin-top:.75rem;font-size:.875rem;color:var(--text-tertiary);font-style:italic}@media(max-width:640px){.devis-flow-header{padding:1rem}.devis-flow-title{font-size:1.125rem}.devis-progress{padding:1.25rem 1rem}.devis-progress-steps{gap:.25rem}.devis-progress-step-label{font-size:.625rem}.devis-flow-content{padding:1.5rem 1rem}.devis-step-title{font-size:1.25rem}.devis-services-grid,.devis-features-grid{grid-template-columns:1fr}.devis-step-actions{flex-direction:column-reverse}.devis-button{width:100%}}.devis-service-price{position:relative;margin-top:.75rem;padding-top:.75rem;font-size:.875rem;font-weight:600;color:#1b5aa8;border-top:1px solid var(--border-color)}.dark .devis-service-price{color:#3fbecc}.devis-service-card.selected .devis-service-price{color:#1b5aa8}.dark .devis-service-card.selected .devis-service-price{color:#3fbecc}.devis-service-note{position:relative;margin-top:.5rem;font-size:.75rem;color:var(--text-tertiary);font-style:italic;line-height:1.4}.devis-info-banner{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;margin-bottom:1.5rem;background:linear-gradient(135deg,#3fbecc14,#1b5aa80d);border:1px solid rgba(63,190,204,.2);border-radius:.75rem;font-size:.875rem;color:var(--text-secondary);line-height:1.6}.devis-info-banner-light{background:linear-gradient(135deg,#3fbecc0a,#1b5aa808);border-color:#3fbecc26}.dark .devis-info-banner{background:linear-gradient(135deg,#3fbecc1f,#1b5aa814);border-color:#3fbecc40}.devis-info-icon{flex-shrink:0;width:1.25rem;height:1.25rem;color:#1b5aa8;margin-top:.125rem}.dark .devis-info-icon{color:#3fbecc}.devis-info-banner p{margin:0}.devis-feature-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.devis-feature-description{font-size:.8125rem;color:var(--text-tertiary);line-height:1.4}.devis-feature-price{font-size:.8125rem;font-weight:600;color:#1b5aa8;margin-top:.25rem}.dark .devis-feature-price{color:#3fbecc}.devis-feature-card.selected .devis-feature-price{color:#1b5aa8}.dark .devis-feature-card.selected .devis-feature-price{color:#3fbecc}.devis-feature-card{align-items:flex-start;padding:1.125rem 1.25rem}.devis-feature-checkbox{margin-top:.125rem}@media(min-width:1024px){.devis-features-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1280px){.devis-features-grid{grid-template-columns:repeat(3,1fr)}}
