@charset "UTF-8";.header{top:0;z-index:100}.header .header-content{max-width:1280px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem}@media (max-width:768px){.header .header-content{padding:0 1rem;gap:.5rem}}.header .header-left{display:flex;justify-content:flex-start;align-items:center}.header .header-center{display:flex;justify-content:center;align-items:center}.header .header-center .logo-container{cursor:pointer;transition:var(--transition);border-radius:var(--border-radius-small)}.header .header-center .logo-container:hover{transform:scale(1.05)}.header .header-center .logo-container:active{transform:scale(.98)}.header .header-center .logo-container .center-image{width:auto;max-width:200px;object-fit:contain;display:block}@media (max-width:768px){.header .header-center .logo-container .center-image{height:60px;max-width:200px}}@media (max-width:480px){.header .header-center .logo-container .center-image{height:60px;max-width:200px}}.header .header-right{display:flex;justify-content:flex-end;align-items:center}.header .admin-button,.header .back-button{background:var(--primary-color);color:var(--white);border:none;padding:12px 24px;border-radius:var(--border-radius-small);font-weight:500;cursor:pointer;transition:var(--transition);font-size:.95rem;white-space:nowrap}.header .admin-button:hover,.header .back-button:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow)}.header .admin-button:active,.header .back-button:active{transform:translateY(0)}@media (max-width:768px){.header .admin-button,.header .back-button{padding:10px 20px;font-size:.9rem}}@media (max-width:480px){.header .admin-button,.header .back-button{padding:8px 16px;font-size:.85rem}}.header .back-button{background:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}.header .back-button:hover{background:var(--primary-color);color:var(--white)}@media (max-width:768px){.header .header-content{grid-template-columns:auto 1fr auto}.header .header-content .header-left,.header .header-content .header-right{min-width:0}.header .header-content .header-center{margin:0 1rem}}.header .header-content:has(.header-left:empty):has(.header-right:empty){display:flex;justify-content:center}.header .header-content:has(.header-left:empty):has(.header-right:empty) .header-center{margin:0}.progress-bar{margin-bottom:2rem}.progress-bar .progress-container{position:relative;max-width:100%;margin:0 auto}.progress-bar .progress-line{position:absolute;top:32px;left:50%;transform:translate(-50%);width:80%;height:2px;background:var(--border-color);z-index:1}.progress-bar .progress-line .progress-line-fill{height:100%;background:var(--primary-color);transition:width .5s ease;border-radius:1px}.progress-bar .progress-steps{display:flex;justify-content:space-between;align-items:flex-start;position:relative;width:100%}@media (max-width:768px){.progress-bar .progress-steps{gap:.5rem}}.progress-bar .progress-step{display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;transition:var(--transition);flex:1}.progress-bar .progress-step.completed .step-icon-container{background:var(--primary-color);border-color:var(--primary-color)}.progress-bar .progress-step.completed .step-icon-container .step-icon{color:var(--white)}.progress-bar .progress-step.completed .step-label{color:var(--primary-color)}.progress-bar .progress-step.current .step-icon-container{background:var(--primary-color);border-color:var(--primary-color);transform:scale(1.1);box-shadow:0 0 0 4px #4ecdc433}.progress-bar .progress-step.current .step-icon-container .step-icon{color:var(--white)}.progress-bar .progress-step.current .step-label{color:var(--primary-color);font-weight:600}.progress-bar .progress-step:hover:not(.current) .step-icon-container{transform:scale(1.05)}.progress-bar .step-icon-container{width:64px;height:64px;border-radius:50%;background:var(--white);border:3px solid var(--border-color);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;transition:var(--transition);position:relative;z-index:3}.progress-bar .step-icon{font-size:1.8rem;color:var(--text-light);transition:var(--transition)}.progress-bar .step-label{font-size:.95rem;font-weight:500;color:var(--text-light);line-height:1.3;white-space:pre-line;transition:var(--transition)}@media (max-width:768px){.progress-bar .step-label{font-size:.85rem}}@media (max-width:768px){.progress-bar .step-icon-container{width:48px;height:48px}.progress-bar .step-icon{font-size:1.4rem}.progress-bar .progress-line{top:24px}}.info-tooltip-container{position:relative;display:inline-block}.info-tooltip-container.parent-hover-trigger .info-hover-trigger.desktop-only .tooltip-content{opacity:0;visibility:hidden;transform:translate(-50%) translateY(-8px);transition:all .2s ease}.info-button.mobile-only{background:var(--primary-color);color:var(--white);border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);box-shadow:0 2px 8px #4ecdc44d}.info-button.mobile-only:hover{background:var(--primary-dark);transform:scale(1.05);box-shadow:0 4px 12px #4ecdc466}.info-button.mobile-only:active{transform:scale(.95)}.info-button.mobile-only:focus{outline:2px solid var(--primary-color);outline-offset:2px}.info-button.mobile-only svg{width:20px;height:20px}@media (min-width:769px){.info-button.mobile-only{display:none}}.info-hover-trigger.desktop-only{color:var(--primary-color);cursor:help;position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}@media (max-width:768px){.info-hover-trigger.desktop-only{display:none}}.info-hover-trigger.desktop-only svg{width:16px;height:16px;transition:var(--transition)}.info-hover-trigger.desktop-only:hover{color:var(--primary-dark)}.info-hover-trigger.desktop-only:hover svg{transform:scale(1.1)}.info-hover-trigger.desktop-only:hover .tooltip-content{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.tooltip-content{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);background:var(--text-dark);color:var(--white);padding:1rem;border-radius:var(--border-radius-small);box-shadow:0 8px 24px #0003;opacity:0;visibility:hidden;transition:all .2s ease;z-index:1000;width:280px;max-width:90vw}.tooltip-content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--text-dark)}.tooltip-content .tooltip-title{font-weight:600;font-size:.9rem;margin-bottom:.5rem;color:var(--primary-color)}.tooltip-content .tooltip-body{font-size:.85rem;line-height:1.4;color:inherit}.tooltip-content .tooltip-body p{margin-bottom:.5rem;color:inherit}.tooltip-content .tooltip-body p:last-child{margin-bottom:0}.tooltip-content .tooltip-body ul{margin:.5rem 0;padding-left:1rem}.tooltip-content .tooltip-body ul li{margin-bottom:.25rem;font-size:.8rem;color:inherit}.tooltip-content .tooltip-body ul li strong{color:var(--primary-color)}.tooltip-content .tooltip-body strong{color:var(--white);font-weight:600}.mobile-info-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media (min-width:769px){.mobile-info-overlay{display:none}}.mobile-info-modal{background:var(--white);border-radius:var(--border-radius);box-shadow:0 25px 80px #0006;max-width:400px;width:100%;max-height:80vh;overflow-y:auto;animation:modalSlideIn .3s ease-out;position:relative}.mobile-info-modal .modal-header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--border-color);position:relative}.mobile-info-modal .modal-header h4{color:var(--text-dark);font-size:1.1rem;margin:0;padding-right:2rem;line-height:1.4}.mobile-info-modal .modal-header .modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:var(--text-light);cursor:pointer;width:32px;height:32px;border-radius:50%;transition:var(--transition)}.mobile-info-modal .modal-header .modal-close:hover{background:var(--border-color);color:var(--text-dark)}.mobile-info-modal .modal-header .modal-close:focus{outline:2px solid var(--primary-color);outline-offset:2px}.mobile-info-modal .modal-content{padding:1.5rem}.mobile-info-modal .modal-content p{margin-bottom:1rem;line-height:1.6;color:var(--text-dark);font-size:.95rem}.mobile-info-modal .modal-content p:last-child{margin-bottom:0}.mobile-info-modal .modal-content ul{margin:1rem 0;padding-left:1.5rem}.mobile-info-modal .modal-content ul li{margin-bottom:.5rem;line-height:1.5;color:var(--text-dark);font-size:.9rem}.mobile-info-modal .modal-content ul li strong{color:var(--primary-color)}.mobile-info-modal .modal-content strong{color:var(--text-dark);font-weight:600}.mobile-info-modal .modal-footer{padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--border-color);text-align:center}.mobile-info-modal .modal-footer .btn{min-width:120px}@media (max-width:480px){.mobile-info-modal{margin:.5rem;max-width:calc(100vw - 1rem)}.tooltip-content{width:240px}}.department-step .step-description{margin-bottom:2rem;font-size:1rem;color:var(--text-light);text-align:center}.department-step h3{text-align:center;font-size:1.25rem;margin-bottom:1rem;color:var(--text-dark)}.department-step .department-map-container{display:flex;justify-content:center;margin:2rem 0}.department-step .department-map-container .department-map{max-width:100%;height:auto;width:600px}.department-step .department-map-container .department-map .department-path{stroke:#fff;stroke-width:2;cursor:pointer;transition:all .3s ease;fill:#8bd5f3}.department-step .department-map-container .department-map .department-path:hover{fill:#5dade2;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));stroke-width:3;position:relative;z-index:10}.department-step .department-map-container .department-map .department-path.selected{fill:#56aace!important;position:relative;z-index:20}.department-step .department-map-container .department-map .department-path:hover{fill:#2a8ab3!important;filter:drop-shadow(0 6px 12px rgba(0,0,0,.4));stroke-width:3;position:relative;z-index:10}.department-step .department-map-container .department-map .department-label{font-family:Inter,sans-serif;font-weight:600;fill:#2d3436;text-anchor:middle;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:100}.department-step .department-map-container .department-map .department-label:hover{fill:#ffffffe7!important}.department-step .department-map-container .department-map .department-label .dept-number{font-size:16px;font-weight:700}.department-step .department-map-container .department-map .department-label .dept-name{font-size:10px;font-weight:500}.department-step .department-info{margin-top:2rem}.department-step .department-info .selected-department{background:#4ecdc41a;border:2px solid var(--primary-color);border-radius:var(--border-radius);padding:1.5rem;text-align:center}.department-step .department-info .selected-department h4{margin-bottom:1rem;color:var(--text-dark);font-size:1.1rem}.department-step .department-info .selected-department p{margin:.5rem 0;font-size:1rem}.department-step .department-info .selected-department p:last-child{margin-bottom:0}.department-step .department-info .selected-department p strong{color:var(--primary-color);font-size:1.1rem}.department-step .department-info .selected-department .price-info{color:var(--success-color);font-weight:600;font-size:1rem}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}@media (max-width:768px){.department-step .department-map-container .department-map{max-width:500px;margin:-34px}.department-step .department-map-container .department-map .department-label .dept-number{font-size:16px}.department-step .department-map-container .department-map .department-label .dept-name{font-size:10px}}@media (max-width:480px){.department-step .department-map-container .department-map{max-width:400px}.department-step .department-map-container .department-map .department-label .dept-number{font-size:14px}.department-step .department-map-container .department-map .department-label .dept-name{font-size:9px}}.department-map .department-path{paint-order:fill stroke markers}.department-map .department-path:hover,.department-map .department-path.selected{paint-order:stroke fill markers}.additional-options-step .options-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.additional-options-step .options-modal{background:var(--white);border-radius:var(--border-radius);box-shadow:0 25px 80px #0006;max-width:1200px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:modalSlideIn .3s ease-out;position:relative}.additional-options-step .options-modal .modal-scrollable-content{overflow-y:auto;flex-grow:1}.additional-options-step .options-modal .modal-actions{padding:1.5rem 2rem}.additional-options-step .modal-header{padding:2rem 2rem 1rem;text-align:center;position:relative}.additional-options-step .modal-header h3{color:var(--text-dark);font-size:1.5rem;margin-bottom:.5rem}.additional-options-step .modal-header .modal-subtitle{color:var(--text-light);margin:0;font-size:1rem}.additional-options-step .modal-header .modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;color:var(--text-light);cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:var(--transition)}.additional-options-step .modal-header .modal-close:hover{background:var(--border-color);color:var(--text-dark)}.additional-options-step .modal-header .modal-close:focus{outline:2px solid var(--primary-color);outline-offset:2px}.additional-options-step .options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:0 1rem}@media (max-width:768px){.additional-options-step .options-grid{grid-template-columns:1fr;padding:0 1rem}}.additional-options-step .shining{background:#222 -webkit-gradient(linear,left top,right top,from(#222),to(#222),color-stop(.5,#fff)) 0 0 no-repeat;-webkit-background-size:350px;color:var(--success-color);-webkit-background-clip:text;-webkit-animation-name:shine;-webkit-animation-duration:2s;-webkit-animation-iteration-count:infinite;text-shadow:0 0 0 rgba(255,255,255,.5)}@keyframes shine{0%{background-position:-100%}to{background-position:100%}}.additional-options-step .option-card{display:flex;background:var(--white);border:2px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden;cursor:pointer;transition:var(--transition);position:relative;text-align:center;padding:.7rem!important}.additional-options-step .option-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-hover)}.additional-options-step .option-card.selected{border-color:var(--primary-color);background:#4ecdc40d;transform:translateY(-2px)}.additional-options-step .option-card .option-image{height:120px;overflow:hidden}.additional-options-step .option-card .option-image img{width:100%;height:100%;object-fit:contain}.additional-options-step .option-card .option-content{padding:1rem;flex-grow:1;display:flex;flex-direction:column;justify-content:space-between}.additional-options-step .option-card .option-content .option-icon{font-size:1.5rem}.additional-options-step .option-card .option-content h4{margin-bottom:.5rem;font-size:1rem;color:var(--text-dark)}.additional-options-step .option-card .option-content .option-description{margin-bottom:auto;padding-top:8px;color:var(--text-light);font-size:.85rem;margin-bottom:.75rem;line-height:1.4}.additional-options-step .option-card .option-content .option-price{color:#00b8938e;font-weight:700;font-size:1.1rem}.additional-options-step .option-card .option-selected-indicator{position:absolute;top:10px;right:10px}.additional-options-step .option-card .option-selected-indicator .checkmark{background:var(--primary-color);color:var(--white);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.additional-options-step .options-summary{margin:0 2rem 1rem;padding:1rem;background:#4ecdc41a;border-radius:var(--border-radius);border-left:4px solid var(--primary-color)}.additional-options-step .options-summary h4{margin-bottom:.75rem;color:var(--text-dark);font-size:1rem}.additional-options-step .options-summary .selected-options-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.additional-options-step .options-summary .selected-option{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.additional-options-step .options-summary .selected-option .selected-price{color:var(--success-color);font-weight:700}.additional-options-step .options-summary .options-total{padding-top:.75rem;border-top:1px solid rgba(78,205,196,.3);text-align:right;color:var(--primary-color);font-size:1.1rem}.additional-options-step .modal-actions{padding:1.5rem 2rem;display:flex;justify-content:center;align-items:center}.additional-options-step .modal-actions .continue-buttons{display:flex;gap:1rem;align-items:center}@media (max-width:768px){.additional-options-step .modal-actions .continue-buttons{flex-direction:column;width:100%}.additional-options-step .modal-actions .continue-buttons .btn{width:100%}}.additional-options-step .modal-actions .btn-outline{background:transparent;color:var(--text-light);border:2px solid var(--border-color)}.additional-options-step .modal-actions .btn-outline:hover{background:var(--background-light);border-color:var(--text-light)}@media (max-width:768px){.additional-options-step .modal-actions .continue-buttons,.additional-options-step .modal-actions .continue-buttons .btn{width:100%}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.additional-options-step{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999}@media (max-width:768px){.scroll-hint{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);z-index:10;cursor:pointer;background:#ffffffe6;padding:.8rem 1.2rem;border-radius:50px;box-shadow:0 2px 8px #00000026;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color)}.scroll-hint .arrow{color:var(--primary-color);font-size:2.5rem;animation:bounceDown 1.5s infinite;line-height:1}}@keyframes bounceDown{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(6px)}60%{transform:translateY(3px)}}.form-step{background:var(--white);border-radius:var(--border-radius);box-shadow:var(--shadow);animation:fadeIn .5s ease-out;display:flex;flex-direction:column;position:relative}.form-step .progress-indicator{position:absolute;top:1rem;right:2rem;color:var(--text-light);font-weight:500;font-size:.9rem;z-index:10}.form-step .step-header{padding:0 0 1rem;border-bottom:1px solid var(--border-color);text-align:center;flex-shrink:0}.form-step .step-header h2{color:var(--text-dark);margin-bottom:.5rem;font-size:1.8rem}@media (max-width:768px){.form-step .step-header h2{font-size:1.5rem}}.form-step .step-header .step-subtitle{color:var(--text-light);margin:0;font-size:1rem}.form-step .step-content{padding:0 2rem 3rem;flex:1}@media (max-width:768px){.form-step .step-content{padding:1.5rem 2rem}}.form-step .step-navigation{padding:1.5rem 3rem;border-top:1px solid var(--border-color);display:flex;justify-content:center;align-items:center;gap:2rem;flex-shrink:0}.form-step .step-navigation:has(.btn:only-child){justify-content:center}@media (max-width:768px){.form-step .step-navigation{padding:1rem 2rem;flex-direction:column;gap:1rem}.form-step .step-navigation .btn{width:100%;max-width:300px}}@media (max-width:768px){.form-step .progress-indicator{top:.5rem;right:1rem;font-size:.8rem}}.step-header-with-info{display:flex;align-items:flex-start;justify-content:center;gap:1rem;margin-bottom:1rem}.step-header-with-info h3{text-align:center;font-size:1.25rem;margin:0;color:var(--text-dark);flex:1}@media (max-width:768px){.step-header-with-info{flex-direction:column;align-items:center;gap:.75rem}.step-header-with-info h3{font-size:1.1rem}}.option-card{flex-direction:column;justify-content:space-between;height:100%;padding:1rem;text-align:center;box-sizing:border-box;border:1px solid #e0e0e0;border-radius:8px}.option-card .option-header{display:flex;align-items:center;justify-content:space-between;flex-flow:column}.option-card .option-header h4{margin:0;flex:1}.option-card .option-header .option-icon{font-size:1.5rem}@media (min-width:769px){.option-card:hover .info-tooltip-container.parent-hover-trigger .info-hover-trigger.desktop-only{color:var(--primary-dark)}.option-card:hover .info-tooltip-container.parent-hover-trigger .info-hover-trigger.desktop-only svg{transform:scale(1.1)}.option-card:hover .info-tooltip-container.parent-hover-trigger .info-hover-trigger.desktop-only .tooltip-content{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}}.housing-type-step .step-description,.department-step .step-description,.house-age-step .step-description,.placement-step .step-description,.mounting-step .step-description,.power-supply-step .step-description,.electrical-panel-step .step-description,.distance-step .step-description,.linky-step .step-description,.parking-ownership-step .step-description,.right-to-plug-step .step-description,.four-g-module-step .step-description,.rfid-compatible-step .step-description,.professional-contact-step .step-description{margin-bottom:2rem;font-size:1rem;color:var(--text-light);text-align:center}.housing-type-step h3,.department-step h3,.house-age-step h3,.placement-step h3,.mounting-step h3,.power-supply-step h3,.electrical-panel-step h3,.distance-step h3,.linky-step h3,.parking-ownership-step h3,.right-to-plug-step h3,.four-g-module-step h3,.rfid-compatible-step h3,.professional-contact-step h3{text-align:center;font-size:1.25rem;margin-bottom:1rem;color:var(--text-dark)}.vehicle-step .step-description{margin-bottom:2rem;text-align:center}.professional-contact-step .contact-summary{background:var(--background-light);border-radius:var(--border-radius);padding:1.5rem;margin-bottom:2rem}.professional-contact-step .contact-summary h4{margin-bottom:1rem;color:var(--text-dark)}.professional-contact-step .contact-summary .summary-item{margin-bottom:.75rem;font-size:1rem}.professional-contact-step .contact-summary .summary-item strong{color:var(--text-dark)}.professional-contact-step .contact-actions{text-align:center}.professional-contact-step .success-message{background:#00b8941a;border:2px solid var(--success-color);border-radius:var(--border-radius);padding:2rem;text-align:center}.professional-contact-step .success-message .success-icon{font-size:3rem;margin-bottom:1rem}.professional-contact-step .success-message h3{color:var(--success-color);margin-bottom:1rem;font-size:1.3rem}.professional-contact-step .success-message p{margin-bottom:.75rem;font-size:1rem}.professional-contact-step .success-message p:last-child{margin-bottom:0}.photos-step .file-requirements{background:#4ecdc41a;border-radius:var(--border-radius-small);padding:1rem;margin-bottom:1.5rem}.photos-step .file-requirements p{margin:.25rem 0;font-size:.9rem;color:var(--text-dark)}.photos-step .file-requirements p strong{color:var(--primary-color)}.photos-step .upload-error{background:#e74c3c1a;border-left:4px solid var(--error-color);border-radius:var(--border-radius-small);padding:.75rem 1rem;margin-bottom:1.5rem}.photos-step .upload-error p{margin:0;color:var(--error-color);font-size:.9rem}.photos-step .upload-zone{border:2px dashed var(--border-color);border-radius:var(--border-radius);padding:2rem;text-align:center;transition:var(--transition);cursor:pointer}.photos-step .upload-zone:hover,.photos-step .upload-zone.drag-over{border-color:var(--primary-color);background:#4ecdc40d}.photos-step .upload-zone .upload-icon{font-size:2.5rem;margin-bottom:1rem}.photos-step .upload-zone .upload-button{background:var(--primary-color);color:var(--white);padding:12px 24px;border-radius:var(--border-radius-small);cursor:pointer;transition:var(--transition);font-size:1rem}.photos-step .upload-zone .upload-button:hover{background:var(--primary-dark)}.photos-step .photos-preview{margin-top:1.5rem}.photos-step .photos-preview .photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;margin-top:1rem}.photos-step .photos-preview .photo-item{position:relative}.photos-step .photos-preview .photo-item .photo-thumbnail{width:100%;height:100px;object-fit:contain;border-radius:var(--border-radius-small);border:2px solid var(--border-color)}.photos-step .photos-preview .photo-item .remove-photo{position:absolute;top:-8px;right:-8px;background:var(--error-color);color:var(--white);border:none;width:20px;height:20px;border-radius:50%;cursor:pointer;font-size:12px;line-height:1}.photos-step .photos-preview .photo-item .photo-name{font-size:.7rem;color:var(--text-light);margin-top:.5rem;text-align:center;word-break:break-word}.photos-step .photos-preview .photo-item .photo-size{font-size:.7rem;color:var(--text-light);margin:0;text-align:center}.photos-step .photo-suggestions{margin-top:1.5rem;padding:1rem;background:var(--background-light);border-radius:var(--border-radius)}.photos-step .photo-suggestions h4{margin-bottom:.5rem;font-size:1rem}.photos-step .photo-suggestions ul{list-style:none}.photos-step .photo-suggestions ul li{position:relative;padding:.25rem 0 .25rem 1.5rem;font-size:.85rem}.photos-step .photo-suggestions ul li:before{content:"📷";position:absolute;left:0;font-size:.9rem}.charging-station-step .stations-grid{display:grid;gap:1.5rem;grid-auto-rows:1fr;grid-template-columns:repeat(3,minmax(250px,1fr))}@media (max-width:1000px){.charging-station-step .stations-grid{grid-template-columns:repeat(auto-fill,minmax(250px,2fr))}}.charging-station-step .station-card{background:var(--white);align-content:space-around;border:2px solid rgba(255,255,255,0);border-radius:1rem;box-shadow:-10px 20px 40px #0003;border-radius:var(--border-radius);overflow:hidden;cursor:pointer;transition:var(--transition);position:relative}.charging-station-step .station-card.selected{box-shadow:-10px 10px 30px #0003;border-color:var(--primary-color);background:#4ecdc40d;transform:translateY(-2px)}.charging-station-step .station-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-hover)}.charging-station-step .station-card .station-image{height:60%;overflow:hidden}.charging-station-step .station-card .station-image img{width:100%;height:100%;object-fit:cover;display:block;margin:auto;width:50%}@media (max-width:1000px){.charging-station-step .station-card .station-image img{width:100%;max-height:300px;object-fit:contain;display:block;margin:auto}}.charging-station-step .station-card .station-info{padding:0 0 0 1rem;align-items:center}.charging-station-step .station-card .station-info h4{margin-bottom:.5rem;font-size:1.1rem}.charging-station-step .station-card .station-info .station-brand{color:var(--text-light);font-size:.85rem;margin-bottom:.5rem}.charging-station-step .station-card .station-info .station-power{color:var(--primary-color);font-weight:600;font-size:1rem;margin-bottom:.75rem}.charging-station-step .station-card .station-info .station-specs{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.75rem}.charging-station-step .station-card .station-info .station-specs .spec-tag{background:var(--primary-color);color:var(--white);padding:.2rem .4rem;border-radius:8px;font-size:.7rem}.charging-station-step .station-card .station-info .station-pricing .station-price{color:#00b8938e;font-weight:700;font-size:1.2rem}.charging-station-step .station-card .station-info .station-pricing .delesteur-price{color:var(--warning-color);font-weight:600;font-size:.8rem;margin-top:.25rem}.charging-station-step .no-stations{text-align:center;padding:2rem;color:var(--text-light)}.charging-station-step .no-stations p{font-size:1rem;margin-bottom:.5rem}.quote-step .quote-summary{background:var(--background-light);border-radius:var(--border-radius);padding:1.5rem;margin-bottom:1.5rem}.quote-step .quote-summary .quote-header{border-bottom:1px solid var(--border-color);padding-bottom:.75rem;margin-bottom:1rem;text-align:center}.quote-step .quote-summary .quote-header h4{color:var(--text-dark);margin:0;font-size:1.2rem}.quote-step .quote-summary .detail-section{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.quote-step .quote-summary .detail-section:last-child{border-bottom:none}.quote-step .quote-summary .detail-section h5{margin:0;font-weight:600;color:var(--text-dark);font-size:.9rem}.quote-step .quote-summary .detail-section .price{color:var(--success-color);font-weight:600;font-size:.9rem}.quote-step .quote-summary .quote-total{margin-top:1rem;padding-top:1rem;border-top:2px solid var(--primary-color);text-align:center}.quote-step .quote-summary .quote-total h4{color:var(--primary-color);font-size:1.4rem;margin-bottom:.5rem}.quote-step .quote-summary .quote-total .quote-note{font-size:.8rem;color:var(--text-light);font-style:italic}.quote-step .quote-actions{text-align:center}.quote-step .quote-actions .preview-section{display:none;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px dashed var(--border-color)}.quote-step .quote-actions .preview-section .dev-note{font-size:.8rem;color:var(--text-light);font-style:italic;margin-top:.5rem}.quote-step .quote-actions .success-message{background:#00b8941a;border:2px solid var(--success-color);border-radius:var(--border-radius);padding:1.5rem}.quote-step .quote-actions .success-message .success-icon{font-size:2.5rem;margin-bottom:1rem}.quote-step .quote-actions .success-message h4{color:var(--success-color);margin-bottom:1rem;font-size:1.2rem}.quote-step .quote-actions .success-message p{margin-bottom:.5rem;font-size:.9rem}.quote-step .quote-actions .success-message p:last-child{margin-bottom:0}.quote-step .quote-actions .success-message .action-buttons{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(0,184,148,.3);display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}@media (max-width:768px){.quote-step .quote-actions .success-message .action-buttons{flex-direction:column;align-items:center}.quote-step .quote-actions .success-message .action-buttons .btn{width:100%;max-width:300px}}.shining{background:#222 -webkit-gradient(linear,left top,right top,from(#222),to(#222),color-stop(.5,#fff)) 0 0 no-repeat;-webkit-background-size:150px;color:var(--success-color);-webkit-background-clip:text;-webkit-animation-name:shine;-webkit-animation-duration:2s;-webkit-animation-iteration-count:infinite;text-shadow:0 0 0 rgba(255,255,255,.5)}@keyframes shine{0%{background-position:-200%}to{background-position:200%}}.placement-step .mounting-section{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--border-color);animation:fadeIn .5s ease-out}.placement-step .mounting-section h4{text-align:center;font-size:1.1rem;margin-bottom:.5rem;color:var(--text-dark)}.placement-step .mounting-section .mounting-description{text-align:center;color:var(--text-light);margin-bottom:1.5rem;font-size:.9rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.home{min-height:100vh;background:var(--background-light);position:relative}.home .home-title{text-align:center;font-size:2rem;color:var(--text-dark);font-weight:600;padding:1rem}@media (max-width:768px){.home .home-title{font-size:1.5rem}}.home:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 80%,rgba(78,205,196,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(150,206,180,.1) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(255,234,167,.1) 0%,transparent 50%);pointer-events:none;z-index:-1}.home .form-container{max-width:1280px;width:100%;margin:0 auto;padding:0 2rem 2rem}@media (max-width:768px){.home .form-container{padding:1rem}}.faq-section{background:var(--background-light);padding:4rem}@media (max-width:768px){.faq-section{padding:0 1rem}}.faq-section .faq-container{max-width:1280px;margin:0 auto;padding:0 2rem}@media (max-width:768px){.faq-section .faq-container{padding:0 1rem}}.faq-section .faq-header{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:3rem;text-align:center}@media (max-width:768px){.faq-section .faq-header{flex-direction:column;gap:.5rem}.faq-section .faq-header .faq-icon{font-size:1.5rem}}.faq-section .faq-header .faq-icon{font-size:2rem;color:var(--primary-color)}.faq-section .faq-header h2{color:var(--text-dark);font-size:1.5rem;font-weight:700;margin:0}@media (max-width:768px){.faq-section .faq-header h2{font-size:1.3rem}}.faq-section .faq-list{display:flex;flex-direction:column;gap:1rem;max-width:800px;margin:0 auto}.faq-section .faq-item{background:var(--white);border-radius:var(--border-radius);box-shadow:var(--shadow);overflow:hidden;transition:var(--transition)}.faq-section .faq-item:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.faq-section .faq-item.open .faq-question{background:#4ecdc40d;border-bottom:1px solid var(--border-color)}.faq-section .faq-item.open .faq-question .faq-toggle{background:var(--primary-color);color:var(--white);transform:rotate(0)}.faq-section .faq-item.open .faq-answer{max-height:500px;opacity:1;padding:1.5rem}.faq-section .faq-question{width:100%;background:none;border:none;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:var(--transition);text-align:left}.faq-section .faq-question:hover{background:#4ecdc408}.faq-section .faq-question h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-dark);line-height:1.4;flex:1;padding-right:1rem}@media (max-width:768px){.faq-section .faq-question h3{font-size:1rem}}.faq-section .faq-question .faq-toggle{width:32px;height:32px;border-radius:50%;background:var(--border-color);color:var(--text-dark);display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:600;transition:var(--transition);flex-shrink:0;transform:rotate(0)}.faq-section .faq-answer{max-height:0;opacity:0;overflow:hidden;transition:all .3s ease;padding:0 1.5rem}.faq-section .faq-answer .faq-answer-content p{margin:0;color:var(--text-light);line-height:1.6;font-size:1rem}@media (max-width:768px){.faq-section .faq-answer .faq-answer-content p{font-size:.95rem}}@keyframes expandAnswer{0%{max-height:0;opacity:0}to{max-height:500px;opacity:1}}@keyframes collapseAnswer{0%{max-height:500px;opacity:1}to{max-height:0;opacity:0}}.charging-station-manager .manager-header{margin-bottom:2rem;text-align:right}.charging-station-manager .edit-form{background:var(--white);border-radius:var(--border-radius);padding:2rem;margin-bottom:2rem;box-shadow:var(--shadow)}.charging-station-manager .edit-form h3{margin-bottom:1.5rem;color:var(--text-dark)}.charging-station-manager .edit-form .checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.charging-station-manager .edit-form .checkbox-label input[type=checkbox]{width:auto;margin:0}.charging-station-manager .edit-form .checkboxes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem}.charging-station-manager .edit-form .info-note{margin-top:1rem;padding:1rem;background:#4ecdc41a;border-radius:var(--border-radius-small);border-left:4px solid var(--primary-color)}.charging-station-manager .edit-form .info-note p{margin:0;font-size:.9rem;color:var(--text-dark)}.charging-station-manager .edit-form .image-preview{margin-top:1rem}.charging-station-manager .edit-form .image-preview img{max-width:200px;max-height:150px;object-fit:cover;border-radius:var(--border-radius-small);border:2px solid var(--border-color)}.charging-station-manager .edit-form .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}@media (max-width:768px){.charging-station-manager .edit-form .form-actions{flex-direction:column}}.charging-station-manager .stations-list h3{margin-bottom:1.5rem;color:var(--text-dark)}.charging-station-manager .empty-state{text-align:center;padding:3rem;color:var(--text-light);background:var(--white);border-radius:var(--border-radius);box-shadow:var(--shadow)}.charging-station-manager .empty-state p{font-size:1.1rem;margin-bottom:.5rem}.charging-station-manager .empty-state p:last-child{margin-bottom:0}.charging-station-manager .stations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.charging-station-manager .station-item{background:var(--white);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow);transition:var(--transition)}.charging-station-manager .station-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.charging-station-manager .station-item .station-image{height:200px;overflow:hidden}.charging-station-manager .station-item .station-image img{width:100%;height:100%;object-fit:contain}.charging-station-manager .station-item .station-info{padding:1.5rem}.charging-station-manager .station-item .station-info h4{margin-bottom:.5rem;color:var(--text-dark)}.charging-station-manager .station-item .station-info .station-brand{color:var(--text-light);font-size:.9rem;margin-bottom:.5rem}.charging-station-manager .station-item .station-info .station-power{color:var(--primary-color);font-weight:600;margin-bottom:.5rem}.charging-station-manager .station-item .station-info .station-price{color:var(--success-color);font-weight:700;font-size:1.1rem;margin-bottom:1rem}.charging-station-manager .station-item .station-info .station-specs{display:flex;flex-wrap:wrap;gap:.5rem}.charging-station-manager .station-item .station-info .station-specs .spec-tag{background:var(--primary-color);color:var(--white);padding:.25rem .5rem;border-radius:12px;font-size:.75rem}.charging-station-manager .station-item .station-actions{padding:1rem 1.5rem;border-top:1px solid var(--border-color);display:flex;gap:.5rem}.charging-station-manager .station-item .station-actions .btn-small{padding:8px 16px;font-size:.9rem;min-height:auto}.charging-station-manager .station-item .station-actions .btn-error{background:var(--error-color);color:var(--white)}.charging-station-manager .station-item .station-actions .btn-error:hover{background:#d63031}.admin{min-height:100vh;background:var(--background-light)}.admin .admin-container{max-width:1200px;margin:0 auto;padding:2rem}.admin .admin-container h1{text-align:center;color:var(--text-dark);margin-bottom:3rem}@media (max-width:768px){.admin .admin-container{padding:1rem}}:root{--primary-color:#4ECDC4;--primary-dark:#45B7B8;--secondary-color:#96CEB4;--accent-color:#FFEAA7;--text-dark:#2D3436;--text-light:#4A5568;--background-light:#F8F9FA;--white:#FFFFFF;--border-color:#E9ECEF;--success-color:#00B894;--warning-color:#FDCB6E;--error-color:#E17055;--border-radius:12px;--border-radius-small:8px;--shadow:0 4px 6px rgba(0, 0, 0, .1);--shadow-hover:0 8px 15px rgba(0, 0, 0, .15);--transition:all .3s ease}.electrical-panel-image{background-color:#f8f9fa;max-width:100%;height:auto;display:block;border-radius:var(--border-radius-small);box-shadow:var(--shadow)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--text-dark);background-color:var(--background-light);padding-top:0}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;margin-bottom:1rem}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}p{margin-bottom:1rem;color:var(--text-light)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border:none;border-radius:var(--border-radius-small);font-size:1rem;font-weight:500;text-decoration:none;cursor:pointer;transition:var(--transition);min-height:48px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.btn-primary{background-color:var(--primary-color);color:var(--white)}.btn.btn-primary:hover:not(:disabled){background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-hover)}.btn.btn-secondary{background-color:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}.btn.btn-secondary:hover:not(:disabled){background-color:var(--primary-color);color:var(--white)}.btn.btn-success{background-color:var(--success-color);color:var(--white)}.btn.btn-success:hover:not(:disabled){background-color:#00a085;transform:translateY(-2px);box-shadow:var(--shadow-hover)}.btn.btn-large{padding:16px 32px;font-size:1.1rem;min-height:56px}.form-fields{display:flex;flex-direction:column;gap:1.5rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width:768px){.field-row{grid-template-columns:1fr}}.field-group{display:flex;flex-direction:column}.field-group #address{min-height:0}.field-group label{font-weight:500;margin-bottom:.5rem;color:var(--text-dark)}.field-group input,.field-group select,.field-group textarea{padding:12px 16px;border:2px solid var(--border-color);border-radius:var(--border-radius-small);font-size:1rem;transition:var(--transition)}.field-group input:focus,.field-group select:focus,.field-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4ecdc41a}.field-group input:invalid,.field-group select:invalid,.field-group textarea:invalid{border-color:var(--error-color)}.field-group textarea{resize:vertical;min-height:100px}.card{background:var(--white);border-radius:var(--border-radius);padding:2rem;box-shadow:var(--shadow);transition:var(--transition)}.options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:2rem 0}.option-image{max-height:120px}.option-card{background:var(--white);border:2px solid var(--border-color);border-radius:var(--border-radius);padding:2rem;cursor:pointer;transition:var(--transition);text-align:center;position:relative}.option-card:hover{border-color:var(--primary-color);transform:translateY(-4px);box-shadow:var(--shadow-hover)}.option-card.selected{border-color:var(--primary-color);background-color:#4ecdc40d;transform:translateY(-2px)}.option-card.selected:after{content:"✓";position:absolute;top:15px;right:15px;background:var(--primary-color);color:var(--white);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700}.option-card .option-icon{font-size:2.5rem}.option-card .option-price{color:var(--primary-color);font-weight:600;font-size:1.2rem;margin-top:1rem}.option-card .option-note{color:var(--warning-color);font-weight:500;font-size:.9rem;margin-top:.5rem}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.2rem;color:var(--text-light)}.main-container{max-width:1280px;width:100%;margin:0 auto;padding:0 2rem}@media (max-width:768px){.main-container{padding:0 1rem}}@media (max-width:768px){.options-grid{grid-template-columns:1fr}.btn{width:100%}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.25rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease-out}.background-pattern{position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 80%,rgba(78,205,196,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(150,206,180,.1) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(255,234,167,.1) 0%,transparent 50%);pointer-events:none;z-index:-1}