:root{--transition-theme:all 0.3s ease;--bg-light:#f8f9fa;--bg-dark:#0a0a0a}:root,:root[data-theme="dark"]{--bg-main:#0a0a0a;--bg-secondary:#1a1a1a;--bg-tertiary:#2a2a2a;--text-primary:#ffffff;--text-secondary:rgba(255,255,255,0.8);--text-tertiary:rgba(255,255,255,0.6);--border-color:rgba(255,255,255,0.1);--shadow-color:rgba(255,255,255,0.05);--shadow-hover:rgba(255,255,255,0.1)}:root[data-theme="light"]{--bg-main:#f8f9fa;--bg-secondary:#ffffff;--bg-tertiary:#e9ecef;--text-primary:#0a0a0a;--text-secondary:#4a4a4a;--text-tertiary:#6c757d;--border-color:rgba(0,0,0,0.1);--shadow-color:rgba(0,0,0,0.08);--shadow-hover:rgba(0,0,0,0.15)}body{background-color:var(--bg-main);color:var(--text-primary);transition:var(--transition-theme)}.et_pb_section{background-color:var(--bg-secondary);transition:var(--transition-theme)}.et_pb_section:nth-child(even){background-color:var(--bg-main)}.et_pb_section:nth-child(odd){background-color:var(--bg-secondary)}.et_pb_row{color:var(--text-primary)}body h1:not(.et_pb_module *),body h2:not(.et_pb_module *),body h3:not(.et_pb_module *),body h4:not(.et_pb_module *),body h5:not(.et_pb_module *),body h6:not(.et_pb_module *){color:var(--text-primary)}body p:not(.et_pb_module *){color:var(--text-secondary)}a{color:#8b5cf6;transition:color 0.3s ease}a:hover{color:#2fb856}.card{background-color:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:0 4px 16px var(--shadow-color);transition:var(--transition-theme)}.card:hover{box-shadow:0 8px 24px var(--shadow-hover);transform:translateY(-4px)}.et_pb_module{transition:var(--transition-theme)}.et_pb_blog_grid .et_pb_post{background-color:var(--bg-secondary);border:1px solid var(--border-color);transition:var(--transition-theme)}.et_pb_portfolio_item{background-color:var(--bg-secondary);transition:var(--transition-theme)}input[type="text"],input[type="email"],input[type="tel"],textarea,select{background-color:var(--bg-main);color:var(--text-primary);border:1px solid var(--border-color);transition:var(--transition-theme)}input[type="text"]:focus,input[type="email"]:focus,input[type="tel"]:focus,textarea:focus,select:focus{background-color:var(--bg-secondary);border-color:#8b5cf6;outline:none}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}.et_pb_button{transition:transform 0.3s ease,box-shadow 0.3s ease}.et_pb_button:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(0,0,0,0.2)}#main-header{background-color:var(--bg-main);border-bottom:1px solid var(--border-color);transition:var(--transition-theme)}#main-header.et-fixed-header{background-color:var(--bg-main);opacity:0.98;box-shadow:0 2px 8px var(--shadow-color)}#top-menu a{color:var(--text-primary);transition:color 0.3s ease}#top-menu a:hover{color:#2fb856}.mobile_menu_bar{background-color:var(--bg-main)}.mobile_nav{background-color:var(--bg-secondary)}.mobile_nav .menu-item a{color:var(--text-primary);border-bottom:1px solid var(--border-color);z-index:999}#main-footer{background-color:var(--bg-secondary);color:var(--text-secondary);border-top:1px solid var(--border-color);transition:var(--transition-theme)}#main-footer a{color:var(--text-secondary)}#main-footer a:hover{color:#2fb856}.theme-toggle{position:relative;width:60px;height:30px;background:linear-gradient(135deg,#8b5cf6,#2fb856);border:none;border-radius:30px;cursor:pointer;transition:all 0.3s ease;overflow:hidden;display:flex;align-items:center;justify-content:space-between;padding:0 6px}.theme-toggle:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(139,92,246,0.3)}.theme-toggle:active{transform:scale(0.95)}.theme-toggle svg{width:18px;height:18px;transition:all 0.3s ease}.theme-toggle .sun-icon{color:#fbbf24;opacity:1}.theme-toggle .moon-icon{color:#ffffff;opacity:0}[data-theme="light"] .theme-toggle .sun-icon{opacity:1;transform:rotate(0deg)}[data-theme="light"] .theme-toggle .moon-icon{opacity:0;transform:rotate(180deg)}[data-theme="dark"] .theme-toggle .sun-icon{opacity:0;transform:rotate(-180deg)}[data-theme="dark"] .theme-toggle .moon-icon{opacity:1;transform:rotate(0deg)}img{transition:var(--transition-theme)}[data-theme="dark"] img{opacity:0.95}[data-theme="dark"] img:hover{opacity:1}.et_pb_toggle{background-color:var(--bg-secondary);border:1px solid var(--border-color);transition:var(--transition-theme)}.et_pb_toggle_title{background-color:var(--bg-main);color:var(--text-primary);transition:var(--transition-theme)}.et_pb_toggle_title:hover{background-color:#2fb856;color:#ffffff}.et_pb_toggle_content{background-color:var(--bg-secondary);color:var(--text-secondary)}.et_pb_pricing_table{background-color:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:0 4px 16px var(--shadow-color);transition:var(--transition-theme)}.et_pb_pricing_table:hover{transform:translateY(-8px);box-shadow:0 8px 24px var(--shadow-hover)}.et_pb_pricing_heading{background-color:var(--bg-main);color:var(--text-primary)}.et_pb_pricing_table.et_pb_featured_table{border:2px solid #2fb856}.et_pb_testimonial{background-color:var(--bg-secondary);border-left:4px solid #8b5cf6;padding:2rem;transition:var(--transition-theme)}blockquote{border-left:4px solid #8b5cf6;padding-left:1.5rem;color:var(--text-secondary);font-style:italic}.breadcrumb{color:var(--text-tertiary)}.breadcrumb a{color:var(--text-secondary)}.breadcrumb a:hover{color:#2fb856}code,pre{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);transition:var(--transition-theme)}[data-theme="dark"]::-webkit-scrollbar{width:12px}[data-theme="dark"]::-webkit-scrollbar-track{background:#1a1a1a}[data-theme="dark"]::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:6px}[data-theme="dark"]::-webkit-scrollbar-thumb:hover{background:#3a3a3a}[data-theme="light"]::-webkit-scrollbar{width:12px}[data-theme="light"]::-webkit-scrollbar-track{background:#f8f9fa}[data-theme="light"]::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:6px}[data-theme="light"]::-webkit-scrollbar-thumb:hover{background:#ced4da}.force-dark{background-color:var(--bg-main)!important;color:var(--text-primary)!important}.force-light{background-color:var(--bg-secondary)!important;color:var(--text-primary)!important}.no-theme-switch{background-color:#0a0a0a!important;color:#ffffff!important}@media (max-width:980px){.theme-toggle{width:50px;height:26px}.theme-toggle svg{width:16px;height:16px}}@media (max-width:767px){.theme-toggle{width:44px;height:24px}.theme-toggle svg{width:14px;height:14px}}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn 0.6s ease-out}[data-theme] *{transition:background-color 0.3s ease,color 0.3s ease,border-color 0.3s ease,box-shadow 0.3s ease}html{scroll-behavior:smooth}#site-vitrine,#ecommerce,#sur-mesure{scroll-margin-top:100px}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}#scroll-to-top{position:fixed;bottom:30px;right:30px;width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;z-index:9999;padding:0;opacity:0;visibility:hidden;transform:scale(0.8);transition:opacity 0.3s ease,visibility 0.3s ease,transform 0.3s ease,box-shadow 0.3s ease;box-shadow:0 4px 16px rgba(139,92,246,0.3);display:flex;align-items:center;justify-content:center;position:fixed;overflow:hidden}#scroll-to-top.visible{opacity:1;visibility:visible;transform:scale(1)}#scroll-to-top:hover{transform:scale(1.1);box-shadow:0 6px 24px rgba(139,92,246,0.5)}#scroll-to-top:active{transform:scale(0.95)}.progress-circle{position:absolute;top:0;left:0;width:56px;height:56px}#progress-fill{transition:y 0.1s linear,height 0.1s linear}.arrow-icon{position:relative;color:#2fb856;z-index:10;width:24px;height:24px;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.2))}@media (max-width:980px){#scroll-to-top{bottom:20px;right:20px;width:50px;height:50px}.progress-circle{width:50px;height:50px}.progress-circle circle{r:25;cx:25;cy:25}#progress-fill{width:50}.arrow-icon{width:20px;height:20px}}@media (max-width:767px){#scroll-to-top{bottom:16px;right:16px;width:48px;height:48px}.progress-circle{width:48px;height:48px}.progress-circle circle{r:24;cx:24;cy:24}#progress-fill{width:48}.arrow-icon{width:18px;height:18px}}@keyframes bounceIn{0%{opacity:0;transform:scale(0.3)}50%{transform:scale(1.05)}70%{transform:scale(0.95)}100%{opacity:1;transform:scale(1)}}#scroll-to-top.visible{animation:bounceIn 0.5s ease}