@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Poppins:wght@400;500;600;700;800;900&family=Playfair+Display:wght@400;500;600;700&display=swap);:root{--color-primary:#1a1a2e;--color-secondary:#16213e;--color-accent:#0f3460;--color-text:#eee;--color-text-dark:#333;--color-background:#fff;--color-background-dark:#0a0a0a;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-size-3xl:3rem;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #00000026;--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:350ms ease;--radius-sm:0.25rem;--radius-lg:1rem}body{background-color:var(--color-background);color:#333;color:var(--color-text-dark);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-family);line-height:1.6;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}a{color:inherit;transition:color .25s ease}a:hover{color:#0f3460;color:var(--color-accent)}button{background:none;border:none;cursor:pointer;font-family:inherit;transition:all .25s ease;transition:all var(--transition-base)}img{display:block;height:auto;max-width:100%}ol,ul{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:var(--spacing-sm)}h1{font-size:var(--font-size-3xl)}h2{font-size:2rem;font-size:var(--font-size-2xl)}h3{font-size:1.5rem;font-size:var(--font-size-xl)}h4{font-size:1.25rem;font-size:var(--font-size-lg)}p{margin-bottom:var(--spacing-sm)}.text-primary{color:#1a1a2e;color:var(--color-primary)}.text-accent{color:#0f3460;color:var(--color-accent)}.btn{border-radius:.5rem;border-radius:var(--radius-md);font-weight:500;padding:var(--spacing-sm) var(--spacing-lg);transition:all .25s ease}.btn-primary{background-color:#1a1a2e}.btn-primary:hover{box-shadow:0 10px 15px #00000026}.btn-accent{background-color:#0f3460;background-color:var(--color-accent);color:#fff}.btn-accent:hover{box-shadow:0 10px 15px #00000026;box-shadow:var(--shadow-lg)}.loading{align-items:center;display:flex;justify-content:center;min-height:200px}.error{background-color:#fadbd8;color:#e74c3c}.error,.success{border-radius:.5rem;border-radius:var(--radius-md);margin:1.5rem 0;margin:var(--spacing-md) 0;padding:1.5rem;padding:var(--spacing-md)}.success{background-color:#d4edda;color:#27ae60}@media (max-width:768px){:root{--font-size-3xl:2rem;--font-size-2xl:1.5rem}.container{padding:0 1rem}}.header{background-color:#000;box-shadow:0 2px 10px #0000004d;color:#fff;left:0;padding:var(--spacing-sm) 0;position:fixed;right:0;top:0;width:100%;z-index:1000}.header-inner{box-sizing:border-box;max-width:100%;padding:0 2rem;width:100%}.header-content{gap:1rem;justify-content:space-between}.header-content,.logo{align-items:center;display:flex}.logo{color:#fff;gap:var(--spacing-md);text-decoration:none;transition:transform var(--transition-base)}.logo:hover{transform:scale(1.05)}.logo-img{filter:drop-shadow(0 2px 8px rgba(255,255,255,.3));height:65px;object-fit:contain;transition:transform var(--transition-base);width:auto}.logo-img:hover{filter:drop-shadow(0 4px 12px rgba(255,255,255,.3));transform:scale(1.1)}.logo-text-container{display:flex;flex-direction:column}.logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4d3110,#8b6535 25%,#ac8f6a 55%,#e8c98a 80%,#fff2cb);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 2px 8px rgba(140,100,50,.35));font-family:var(--font-family-heading);font-size:1rem;font-weight:700;letter-spacing:1px;margin:0;text-transform:uppercase;white-space:nowrap}.logo-slogan{font-size:var(--font-size-sm);font-weight:300;margin:0;opacity:.9}.nav{align-items:center;display:flex;flex-wrap:nowrap;gap:.25rem}.nav,.nav-link{white-space:nowrap}.nav-link{border-radius:var(--radius-md);color:#fff;font-size:.88rem;font-weight:500;padding:var(--spacing-xs) .65rem;position:relative}.nav-link,.nav-link:after{transition:all var(--transition-base)}.nav-link:after{background-color:#fff;bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:0}.nav-link:hover:after{width:80%}.nav-link:hover{color:#fffc}.header-contact{align-items:center;display:flex;gap:var(--spacing-sm)}.header-actions{align-items:center;display:flex;gap:var(--spacing-md)}.btn-connexion{background:#fff;border:none;border-radius:var(--radius-md);box-shadow:0 2px 8px #fff3;color:#000;cursor:pointer;font-family:var(--font-family-heading);font-size:var(--font-size-md);font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-base)}.btn-connexion:hover{background:#f0f0f0;box-shadow:0 4px 16px #ffffff4d;transform:translateY(-2px)}.btn-connexion .connection-status-badge{animation:pulse 2s ease-in-out infinite;color:#4caf50;display:inline-block;font-size:12px;margin:0 4px}.btn-connexion.connected{background:linear-gradient(135deg,#4caf50,#45a049);border:2px solid #ffffff4d;color:#fff}.btn-connexion.connected:hover{background:linear-gradient(135deg,#45a049,#3d8b40);box-shadow:0 4px 16px #4caf5066;transform:translateY(-2px)}.btn-devis{background:#fff;color:#000!important;font-family:var(--font-family-heading);font-weight:700;padding:var(--spacing-sm) var(--spacing-lg)}.btn-devis:hover{background:#f0f0f0;box-shadow:0 4px 12px #ffffff4d;transform:translateY(-2px)}.btn-devis:after{display:none}.auth-menu-container{position:relative}.auth-dropdown{animation:slideDown .3s ease;background:#fff;border-radius:var(--radius-lg);box-shadow:0 8px 32px #0003;min-width:280px;padding:var(--spacing-md);position:absolute;right:0;top:calc(100% + 10px);z-index:1001}.auth-section{border-bottom:1px solid #eee;padding:var(--spacing-md)}.auth-section:last-child{border-bottom:none}.auth-section h4{color:var(--text-primary);font-family:var(--font-family-heading);font-size:var(--font-size-md);font-weight:700;margin:0 0 var(--spacing-sm) 0}.auth-link{border-radius:var(--radius-md);color:var(--text-secondary);display:block;font-weight:500;margin:var(--spacing-xs) 0;padding:var(--spacing-sm) var(--spacing-md);text-align:center;transition:all .3s ease}.auth-link:hover{background:var(--bg-secondary);color:var(--text-primary)}.auth-link.primary{background:#fff;color:#000;font-family:var(--font-family-heading);font-weight:700}.auth-link.primary:hover{background:#f0f0f0;box-shadow:0 4px 12px #fff3;transform:translateY(-2px)}.auth-section.authenticated-menu{border-bottom:none;padding:var(--spacing-md)}.auth-section.authenticated-menu h4{border-bottom:2px solid var(--bg-secondary);color:var(--text-primary);font-size:var(--font-size-lg);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);text-align:center}.logout-btn{background:#ff44441a;border:1px solid #ff44444d;border-radius:var(--radius-md);color:#f44;cursor:pointer;display:block;font-family:inherit;font-size:inherit;font-weight:600;margin:var(--spacing-xs) 0;padding:var(--spacing-sm) var(--spacing-md);text-align:center;transition:all .3s ease;width:100%}.logout-btn:hover{background:#f443;border-color:#ff444480;box-shadow:0 4px 12px #ff44444d;color:red;transform:translateY(-2px)}.auth-section.debug-section{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:none;border-radius:var(--radius-md);margin-bottom:var(--spacing-sm)}.auth-section.debug-section .auth-link{background:#ffffff1a;color:#fff;font-weight:600;margin:0}.auth-section.debug-section .auth-link:hover{background:#fff3;box-shadow:0 2px 8px #0003;transform:translateX(5px)}.user-menu{background:var(--color-primary);border:2px solid #fff;border-radius:var(--radius-md);color:var(--text-white);font-family:var(--font-family-heading);font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-base)}.user-menu:hover{background:#1a1a1a;border-color:#fff;color:var(--text-white);transform:translateY(-2px)}.contact-phone{background-color:#1a1a1a;border-radius:var(--radius-full);color:#fff;font-size:var(--font-size-sm);font-weight:600;padding:var(--spacing-xs) var(--spacing-md);transition:all var(--transition-base)}.contact-phone:hover{box-shadow:var(--shadow-md);transform:scale(1.05)}.desktop-only,.header-right{align-items:center;display:flex;gap:var(--spacing-md)}.menu-toggle{align-items:center;background:none;border:2px solid #fff6;border-radius:8px;cursor:pointer;display:none;flex-direction:column;gap:5px;justify-content:center;padding:8px 10px;transition:border-color .3s ease;z-index:1100}.menu-toggle:hover{border-color:#fff}.hamburger-bar{background:#fff;border-radius:2px;display:block;height:2px;transition:transform .3s ease,opacity .3s ease;width:22px}.menu-toggle-open .hamburger-bar:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle-open .hamburger-bar:nth-child(2){opacity:0}.menu-toggle-open .hamburger-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;inset:0;position:fixed;z-index:1050}.nav-mobile-auth{display:none}@media (max-width:1024px){.desktop-only{display:none}.menu-toggle{display:flex}.nav{align-items:stretch;background:#0a0a0a;box-shadow:-4px 0 24px #00000080;flex-direction:column;gap:0;height:100vh;overflow-y:auto;padding:90px 0 2rem;position:fixed;right:-320px;top:0;transition:right .35s cubic-bezier(.4,0,.2,1);width:300px;z-index:1060}.nav.nav-open{right:0}.nav-link{border-bottom:1px solid #ffffff12;border-radius:0;display:block;font-size:1rem;padding:1rem 1.5rem}.nav-link:after{display:none}.nav-link:hover{background:#ffffff0f;color:#fff}.btn-devis{border-radius:8px;margin:1rem 1.5rem;padding:.8rem 1rem;text-align:center}.nav-mobile-auth{border-top:1px solid #ffffff1a;display:flex;flex-direction:column;gap:.75rem;margin-top:auto;padding:1.5rem}.nav-mobile-auth .btn-connexion{justify-content:center;width:100%}.nav-mobile-auth .auth-dropdown{animation:none;background:#111;border:1px solid #ffffff1a;border-radius:8px;box-shadow:none;position:static}.nav-mobile-auth .auth-section h4{color:#ccc}.nav-mobile-auth .auth-link{color:#ddd}.nav-mobile-auth .auth-link:hover{background:#ffffff14;color:#fff}.nav-mobile-auth .contact-phone{text-align:center}}@media (max-width:480px){.header-inner{padding:0 .75rem}.logo-img{height:60px}.logo-text{font-size:1.1rem}.logo-slogan{display:none}}.footer{background-color:var(--color-primary);color:#fff;margin-top:var(--spacing-xl);padding:var(--spacing-xl) 0 var(--spacing-md)}.footer-content{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:var(--spacing-xl)}.footer-column{display:flex;flex-direction:column;gap:var(--spacing-sm)}.footer-title{color:#fff;font-size:var(--font-size-xl);font-weight:700}.footer-subtitle,.footer-title{margin-bottom:var(--spacing-sm)}.footer-subtitle{color:var(--color-accent);font-size:var(--font-size-lg);font-weight:600}.footer-description{color:#fffc;line-height:1.6}.footer-contact,.footer-links{display:flex;flex-direction:column;gap:var(--spacing-xs);list-style:none}.footer-contact a,.footer-links a{color:#fffc;padding:var(--spacing-xs) 0;transition:all var(--transition-base)}.footer-contact a:hover,.footer-links a:hover{color:var(--color-accent);padding-left:var(--spacing-xs)}.footer-contact li{color:#fffc;line-height:1.8}.social-links{flex-wrap:wrap;gap:var(--spacing-sm)}.social-link{align-items:center;background-color:#ffffff1a;border-radius:var(--radius-md);color:#fff;display:flex;font-size:1.5rem;height:45px;justify-content:center;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:45px}.social-link:before{background:linear-gradient(135deg,#ffffff1a,#fff0);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.social-link:hover:before{opacity:1}.social-link:hover{box-shadow:0 8px 20px #0000004d;transform:translateY(-5px) scale(1.1)}.social-link.facebook:hover{background-color:#1877f2}.social-link.instagram:hover{background:linear-gradient(135deg,#833ab4,#fd1d1d 50%,#fcaf45)}.social-link.youtube:hover{background-color:red}.social-link.tiktok:hover{background-color:#000;border:2px solid #00f2ea}.social-link.twitter:hover{background-color:#000}.social-link.linkedin:hover{background-color:#0a66c2}.footer-bottom{align-items:center;border-top:1px solid #ffffff1a;display:flex;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:space-between;padding-top:var(--spacing-lg)}.copyright{color:#fff9;font-size:var(--font-size-sm);margin:0}.footer-admin{display:flex;gap:var(--spacing-sm)}.admin-link{color:#fff6;font-size:var(--font-size-sm);transition:color var(--transition-base)}.admin-link:hover{color:var(--color-accent)}@media (max-width:768px){.footer{padding:var(--spacing-lg) 0 var(--spacing-sm)}.footer-content{gap:var(--spacing-lg);grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center}}.home-page{width:100%}.hero{align-items:center;background:#000;color:#fff;display:flex;justify-content:center;min-height:60vh;overflow:hidden;position:relative}.hero:before{bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.hero-content{max-width:1000px;padding:0 1.5rem;position:relative;text-align:center;z-index:1}.hero-horizontal .hero-content{align-items:center;display:flex;flex-direction:row;gap:var(--spacing-xl);text-align:left}.hero-vertical .hero-content{align-items:center;display:flex;flex-direction:column;text-align:center}.hero-centre .hero-content{text-align:center}.hero-align-gauche .hero-content{align-items:flex-start;text-align:left}.hero-align-droite .hero-content{align-items:flex-end;text-align:right}.hero-align-centre .hero-content{align-items:center;text-align:center}.hero-content-horizontal{flex-direction:row;max-width:1200px;text-align:left}.hero-content-horizontal .hero-tagline,.hero-content-horizontal .hero-title{text-align:left}.hero-content-horizontal .hero-buttons{justify-content:flex-start}.hero-content-vertical{flex-direction:column}@media (max-width:768px){.hero-content-horizontal,.hero-horizontal .hero-content{flex-direction:column;text-align:center}.hero-content-horizontal .hero-buttons,.hero-horizontal .hero-content .hero-buttons{justify-content:center}}.hero-content:before{animation:fadeIn .8s ease-out;background:linear-gradient(90deg,#0000,#d4af37,#0000);content:"";display:block;height:1px;margin:0 auto 2rem;width:80px}.hero-title{-webkit-text-fill-color:#0000;animation:heroTitleIn 1.2s cubic-bezier(.16,1,.3,1) both;background:linear-gradient(135deg,#a07820,#d4af37 35%,#f5e17a 60%,#d4af37 80%,#a07820);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 4px 24px rgba(212,175,55,.35));font-family:var(--font-family-heading);font-size:clamp(3.5rem,9vw,8rem);font-weight:700;letter-spacing:8px;margin-bottom:1.2rem;text-transform:uppercase}.hero-tagline{animation:heroTaglineIn 1.4s cubic-bezier(.16,1,.3,1) .2s both;color:#ffffffeb;font-family:var(--font-family-accent);font-size:clamp(1.4rem,3.5vw,2.4rem);font-style:italic;font-weight:300;letter-spacing:2px;margin-bottom:.6rem}.hero-tagline:after{background:linear-gradient(90deg,#0000,#d4af37b3,#0000);content:"";display:block;height:1px;margin:1.4rem auto 0;width:60px}.hero-buttons{animation:heroButtonsIn 1.4s cubic-bezier(.16,1,.3,1) .4s both;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-top:2.8rem}@keyframes heroTitleIn{0%{letter-spacing:20px;opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes heroTaglineIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes heroButtonsIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.btn-lg{border-radius:0;font-family:var(--font-family-primary);font-size:.85rem;font-weight:600;letter-spacing:3px;overflow:hidden;padding:1.2rem 3rem;position:relative;text-transform:uppercase;transition:all .4s cubic-bezier(.16,1,.3,1)}.btn-lg:before{background:linear-gradient(90deg,#0000,#ffffff2e,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.btn-lg:hover:before{left:100%}.btn-accent{background:linear-gradient(135deg,#a07820,#d4af37 45%,#f0d060 70%,#c9921a);box-shadow:0 4px 24px #d4af3759,inset 0 1px 0 #fff3;font-weight:700}.btn-accent:hover{box-shadow:0 12px 40px #d4af378c,inset 0 1px 0 #ffffff4d;transform:translateY(-3px) scale(1.02)}.btn-primary-outline{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0000;border:1px solid #d4af37bf}.btn-primary-outline:hover{background:#d4af371f;border-color:#d4af37;box-shadow:0 8px 32px #d4af3733;transform:translateY(-3px)}.mission-section{background:#fff;padding:var(--spacing-xl) 0}.mission-content{margin:var(--spacing-xl) auto 0;max-width:900px;text-align:center}.mission-intro{color:#1a1a2e;font-family:var(--font-family-accent);font-size:clamp(1.4rem,2.8vw,2.2rem);font-style:italic;font-weight:400;letter-spacing:.3px;line-height:1.6;margin-bottom:var(--spacing-lg)}.mission-text{color:#555;font-family:var(--font-family-primary);font-size:clamp(1rem,2vw,1.25rem);font-weight:300;letter-spacing:.2px;line-height:1.9}.team-section{background:linear-gradient(160deg,#080810,#112)}.team-section .section-subtitle,.team-section .section-title{color:#fffffff2}.team-section .section-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#a07820,#d4af37,#f5e17a,#d4af37);-webkit-background-clip:text;background-clip:text}.team-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-top:var(--spacing-xl)}.team-card{background:linear-gradient(145deg,#0d0d18,#161628);border:1px solid #d4af3726;border-radius:0;border-top:2px solid #d4af3799;box-shadow:0 8px 32px #0006;overflow:hidden;padding:2rem 1.5rem;position:relative;text-align:center;transition:all .4s cubic-bezier(.16,1,.3,1)}.team-card:before{background:linear-gradient(0deg,#d4af3712,#0000);bottom:0;content:"";height:0;left:0;position:absolute;right:0;transition:height .4s ease}.team-card:hover{border-top-color:#d4af37;box-shadow:0 20px 60px #0009,0 0 30px #d4af371f;transform:translateY(-12px)}.team-card:hover:before{height:100%}.team-icon{display:block;filter:drop-shadow(0 2px 6px rgba(212,175,55,.3));font-size:2.5rem;margin-bottom:1rem}.team-card h3{color:#ffffffe6;font-family:var(--font-family-accent);font-size:1.15rem;font-style:italic;font-weight:400;letter-spacing:1px}.role-section{background:#fff}.role-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:var(--spacing-xl)}.role-card{background:linear-gradient(160deg,#0a0a14,#111120);border:1px solid #d4af371f;border-left:3px solid #d4af3780;border-radius:0;box-shadow:0 8px 32px #0000004d;transition:all .4s cubic-bezier(.16,1,.3,1)}.role-card:before{background:radial-gradient(circle,#d4af3714 0,#0000 70%)}.role-card:hover{border-left-color:#d4af37;box-shadow:0 12px 48px #00000080,0 0 30px #d4af3714}.role-card{background:linear-gradient(135deg,var(--color-primary-dark) 0,var(--color-primary) 100%);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);color:#fff;overflow:hidden;padding:var(--spacing-2xl);position:relative;transition:all var(--transition-base)}.role-card:before{background:radial-gradient(circle,#f7941d33 0,#0000 70%);border-radius:50%;content:"";height:100px;position:absolute;right:0;top:0;width:100px}.role-card:hover{box-shadow:0 12px 36px #4a7bc84d;transform:translateY(-10px)}.role-number{align-items:center;background:linear-gradient(135deg,#a07820,#d4af37);border-radius:50%;color:#000;display:flex;font-family:var(--font-family-heading);font-size:1.1rem;font-weight:700;height:44px;justify-content:center;left:15px;position:absolute;top:15px;width:44px}.role-icon{font-size:3rem;margin:var(--spacing-lg) 0 var(--spacing-md)}.role-card h3{color:#fffffff2;font-family:var(--font-family-accent);font-size:clamp(1.3rem,2vw,1.6rem);font-style:italic;font-weight:400;letter-spacing:.5px;margin-bottom:var(--spacing-sm)}.role-card p{font-family:var(--font-family-primary);font-size:.95rem;font-weight:300;line-height:1.7;opacity:.75}.values-section{background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.values-content{margin:var(--spacing-xl) auto;max-width:900px}.values-text{color:#1a1a2e;font-size:clamp(1.1rem,2vw,1.4rem);font-weight:500;line-height:1.8;margin-bottom:var(--spacing-xl);text-align:center}.values-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:var(--spacing-xl)}.value-item{background:#fff;border-radius:var(--radius-lg);border-top:3px solid #d4af37;border-top:3px solid var(--color-secondary,#d4af37);box-shadow:0 4px 20px #0000001f;padding:var(--spacing-xl) var(--spacing-xl) calc(var(--spacing-xl) + 4px);text-align:center;transition:all .3s ease}.value-item:hover{box-shadow:0 8px 28px #2c5aa033;transform:translateY(-8px)}.value-icon{display:block;font-size:4rem;margin-bottom:var(--spacing-md)}.value-item h3{color:var(--color-primary);font-family:var(--font-family-heading);font-size:1.6rem;line-height:1.3;margin-bottom:var(--spacing-sm)}.value-item p{color:#2c2c2c;font-size:1rem;font-weight:500;line-height:1.7}.verse-section{background:linear-gradient(160deg,#080810,#112 70%,#080810);color:#fff;padding:var(--spacing-xl) 0}.verse-card{margin:0 auto;max-width:800px;padding:var(--spacing-md);position:relative;text-align:center}.verse-card:before{background:linear-gradient(90deg,#0000,#d4af3799,#0000);content:"";display:block;height:1px;margin:0 auto 3rem;width:100px}.verse-quote{margin-bottom:var(--spacing-lg);position:relative}.quote-mark{color:#d4af3740;display:inline-block;font-size:7rem;line-height:0;position:relative;top:2rem}.quote-mark,.verse-text{font-family:var(--font-family-accent);font-style:italic}.verse-text{color:#fffffff2;font-size:clamp(1.6rem,3.5vw,3rem);font-weight:300;letter-spacing:.5px;line-height:1.5;margin:var(--spacing-lg) 0}.verse-reference{color:#d4af37d9;font-family:var(--font-family-primary);font-size:.85rem;font-weight:500;letter-spacing:3px;margin-top:var(--spacing-lg);text-transform:uppercase}.inclusivity-section{background:#fff;padding:var(--spacing-xl) 0}.inclusivity-content{margin:0 auto;max-width:900px}.inclusivity-text{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-left:4px solid #000;border-radius:var(--radius-lg);color:#1a1a2e;font-size:clamp(1.1rem,2vw,1.4rem);font-weight:500;line-height:1.8;padding:var(--spacing-xl);text-align:center}.final-cta-section{background:linear-gradient(160deg,#050510,#0d0d20 50%,#050510);overflow:hidden;padding:var(--spacing-4xl) 0;position:relative}.final-cta-section:before{top:0}.final-cta-section:after,.final-cta-section:before{background:linear-gradient(90deg,#0000,#d4af3780,#0000);content:"";height:1px;left:0;position:absolute;right:0}.final-cta-section:after{bottom:0}.final-cta-content{margin:0 auto;max-width:800px;position:relative;text-align:center;z-index:1}.final-cta-title{color:#fffffff2;font-size:clamp(2.5rem,5vw,4.5rem);letter-spacing:1px;margin-bottom:var(--spacing-md)}.final-cta-text,.final-cta-title{font-family:var(--font-family-accent);font-style:italic;font-weight:400}.final-cta-text{color:#1a1a2e;font-size:clamp(1.8rem,3.5vw,2.8rem);margin-bottom:var(--spacing-sm)}.final-cta-highlight{color:#1a1a2e;font-family:var(--font-family-heading);font-size:clamp(1.5rem,3vw,2.5rem);font-weight:700;letter-spacing:4px;margin-bottom:var(--spacing-xl);text-shadow:0 2px 4px #0000001a;text-transform:uppercase}.final-cta-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-xl)}.final-cta-buttons .btn-primary-outline{background-color:#fff;border-color:#fff;color:#1a1a2e}.final-cta-buttons .btn-primary-outline:hover{background-color:#d4af37;border-color:#d4af37;color:#1a1a2e}.fade-in{animation:fadeIn .8s ease-out forwards}.section{padding:5rem 0}.section-title{color:#1a1a2e;font-family:var(--font-family-accent);font-size:clamp(2.4rem,5vw,4rem);font-style:normal;font-weight:600;letter-spacing:1px;line-height:1.2;margin-bottom:.5rem}.section-title+.section-subtitle,.section-title+p{margin-top:1.2rem}.section-divider{background:linear-gradient(90deg,#0000,#d4af37,#0000);margin:1rem auto 2rem;width:60px}.section-subtitle{font-family:var(--font-family-accent);font-size:clamp(1.1rem,2vw,1.5rem);font-style:italic;font-weight:300;margin-bottom:var(--spacing-lg);margin-left:auto;margin-right:auto;max-width:700px}@media (max-width:768px){.hero{background-attachment:scroll;min-height:85vh;padding:var(--spacing-xl) var(--spacing-md)}.hero-buttons{align-items:center;flex-direction:column;gap:1rem}.btn-lg{max-width:300px;padding:1rem 2rem;width:100%}.team-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.role-grid,.values-grid{grid-template-columns:1fr}.section{padding:3rem 0}.final-cta-buttons{align-items:center;flex-direction:column}}.section-horizontal,.section-horizontal .container{align-items:center;display:flex;flex-direction:row}.section-horizontal .container{gap:var(--spacing-xl)}.section-vertical{display:flex;flex-direction:column}.section-grille .role-grid,.section-grille .team-grid,.section-grille .values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.section-centre{text-align:center}.section-centre .container{align-items:center;display:flex;flex-direction:column;justify-content:center}@media (max-width:768px){.section-horizontal .container{flex-direction:column}.section-grille .role-grid,.section-grille .team-grid,.section-grille .values-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media (max-width:480px){.hero-title{font-size:2.5rem}.team-grid{grid-template-columns:repeat(2,1fr)}.quote-mark{font-size:4rem}}.section-animated{transform:translateY(0)}.section-visible{opacity:1!important;transform:translateY(0)!important}.animate-fade-in{animation:fadeIn .8s ease-out 0ms forwards;animation:fadeIn var(--animation-duration,.8s) var(--animation-easing,ease-out) var(--animation-delay,0ms) forwards}.animate-slide-in-left{animation:slideInLeft .8s ease-out 0ms forwards;animation:slideInLeft var(--animation-duration,.8s) var(--animation-easing,ease-out) var(--animation-delay,0ms) forwards;transform:translateX(-100px)}.animate-slide-in-right{animation:slideInRight .8s ease-out 0ms forwards;animation:slideInRight var(--animation-duration,.8s) var(--animation-easing,ease-out) var(--animation-delay,0ms) forwards;transform:translateX(100px)}@keyframes slideInUp{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}.animate-slide-in-up{animation:slideInUp .8s ease-out 0ms forwards;animation:slideInUp var(--animation-duration,.8s) var(--animation-easing,ease-out) var(--animation-delay,0ms) forwards;transform:translateY(100px)}@keyframes slideInDown{0%{opacity:0;transform:translateY(-100px)}to{opacity:1;transform:translateY(0)}}.animate-slide-in-down{animation:slideInDown .8s ease-out 0ms forwards;animation:slideInDown var(--animation-duration,.8s) var(--animation-easing,ease-out) var(--animation-delay,0ms) forwards;transform:translateY(-100px)}@keyframes zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.animate-zoom-in{animation:zoomIn .8s ease-out 0ms forwards;animation:zoomIn var(--animation-duration,.8s) var(--animation-easing,ease-out) var(--animation-delay,0ms) forwards;transform:scale(.8)}@keyframes flipIn{0%{opacity:0;transform:perspective(400px) rotateY(90deg)}to{opacity:1;transform:perspective(400px) rotateY(0deg)}}.animate-flip-in{animation:flipIn .8s ease-out 0ms forwards;animation:flipIn var(--animation-duration,.8s) var(--animation-easing,ease-out) var(--animation-delay,0ms) forwards}.animate-fade-in,.animate-flip-in,.animate-slide-in-down,.animate-slide-in-left,.animate-slide-in-right,.animate-slide-in-up,.animate-zoom-in,.section-animated{-webkit-font-smoothing:antialiased;-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:opacity,transform}@media (max-width:768px){@keyframes slideInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}}.modal-overlay{background:#000c;height:100%;padding:20px;width:100%;z-index:10000}.modal-content-large{animation:slideUp .4s cubic-bezier(.34,1.56,.64,1);background:#fff;border-radius:20px;box-shadow:0 20px 60px #0006;display:flex;flex-direction:column;max-height:90vh;max-width:1000px;width:100%}.modal-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px 20px 0 0;color:#fff;padding:24px 30px}.modal-title-section{display:flex;flex-direction:column;gap:8px}.modal-title-section h2{font-size:28px;font-weight:700;margin:0}.categorie-badge{align-self:flex-start;background:#ffffff4d;font-size:13px;padding:4px 12px}.modal-close{background:#fff3;color:#fff;font-size:24px;transition:all .3s}.modal-close:hover{background:#ffffff4d;transform:rotate(90deg)}.modal-tabs{background:#f8f9fa;border-bottom:2px solid #e0e0e0;display:flex;gap:0}.modal-tabs .tab{background:#0000;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:16px 20px;transition:all .3s}.modal-tabs .tab:hover{background:#667eea1a;color:#667eea}.modal-tabs .tab.active{background:#fff;border-bottom-color:#667eea;color:#667eea}.modal-body{padding:30px}.tab-content{animation:fadeInContent .4s ease}@keyframes fadeInContent{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.galerie-section{margin-bottom:30px}.galerie-main{background:#000;border-radius:12px;height:400px;margin-bottom:15px;overflow:hidden;position:relative;width:100%}.galerie-main img{height:100%;object-fit:contain;width:100%}.galerie-nav{background:#ffffffe6;border:none;border-radius:50%;cursor:pointer;font-size:24px;height:50px;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s;width:50px;z-index:10}.galerie-nav:hover{background:#fff;transform:translateY(-50%) scale(1.1)}.galerie-nav.prev{left:20px}.galerie-nav.next{right:20px}.galerie-counter{background:#000000b3;border-radius:20px;bottom:20px;color:#fff;font-size:14px;font-weight:600;left:50%;padding:8px 16px;position:absolute;transform:translateX(-50%)}.galerie-thumbs{display:flex;gap:10px;overflow-x:auto;padding:5px}.galerie-thumbs img{border:3px solid #0000;border-radius:8px;cursor:pointer;height:80px;object-fit:cover;opacity:.6;transition:all .3s;width:80px}.galerie-thumbs img:hover{opacity:.9}.galerie-thumbs img.active{border-color:#667eea;opacity:1}.description-section{margin-bottom:30px}.description-section h3{color:#333;font-size:22px;margin-bottom:15px}.description-section p{font-size:16px}.caracteristiques{background:#f8f9fa;border-radius:12px;margin-top:25px;padding:20px}.caracteristiques h4{color:#333;font-size:18px;margin-bottom:15px}.caracteristiques ul{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));list-style:none;padding:0}.caracteristiques li{align-items:center;display:flex;gap:10px}.carac-icon{font-size:24px}.inclusions-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:25px}.inclus,.non-inclus{border-radius:12px;padding:20px}.inclus{background:#e8f5e9;border-left:4px solid #4caf50}.non-inclus{background:#ffebee;border-left:4px solid #f44336}.inclus h4,.non-inclus h4{font-size:16px;margin-bottom:12px}.inclus ul,.non-inclus ul{list-style:none;padding:0}.inclus li,.non-inclus li{font-size:14px;padding:6px 0}.prix-estime-box{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;color:#fff;margin-top:30px;padding:25px;text-align:center}.prix-info{gap:10px}.prix-label{font-size:16px;opacity:.9}.prix-valeur{font-size:42px;font-weight:700}.prix-unite{display:block;font-size:14px;margin-top:8px;opacity:.8}.loading-spinner{font-size:24px;padding:60px 20px;text-align:center}.empty-state{color:#666;padding:60px 20px}.empty-state p{line-height:1.6;margin:10px 0}.prestataires-list{grid-gap:20px;display:grid;gap:20px}.prestataire-card{background:#fff;border:2px solid #e0e0e0;border-radius:15px;cursor:pointer;gap:20px;padding:25px;transition:all .3s}.prestataire-card:hover{border-color:#667eea;box-shadow:0 8px 20px #667eea33;transform:translateY(-2px)}.prestataire-card.selected{background:linear-gradient(135deg,#667eea0d,#764ba20d);border-color:#667eea;box-shadow:0 8px 25px #667eea4d}.prestataire-photo{align-items:center;background:#f0f0f0;border-radius:12px;display:flex;flex-shrink:0;height:120px;justify-content:center;overflow:hidden;width:120px}.prestataire-photo img{height:100%;object-fit:cover;width:100%}.photo-placeholder{color:#999;font-size:48px}.prestataire-info{display:flex;flex:1 1;flex-direction:column;gap:8px}.prestataire-info h3{color:#333;font-size:20px;margin:0}.prestataire-contact{color:#666;font-size:14px;margin:0}.specialites{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.spec-tag{background:#667eea;border-radius:15px;color:#fff;font-size:12px;font-weight:600;padding:4px 12px}.prestataire-note{align-items:center;display:flex;gap:8px;margin-top:8px}.etoiles{font-size:16px;line-height:1}.note-valeur{color:#333;font-weight:700}.note-count{color:#999;font-size:13px}.dispo-badge{border-radius:20px;font-size:13px;margin-top:8px;padding:6px 12px}.tarif-specifique{background:#667eea1a;border-radius:8px;font-size:14px;margin-top:10px;padding:10px}.selection-checkmark{align-items:center;background:#4caf50;border-radius:50%;color:#fff;display:flex;font-size:24px;font-weight:700;height:40px;justify-content:center;position:absolute;right:15px;top:15px;width:40px}.tarifs-grid h3{color:#333;font-size:22px;margin-bottom:20px}.tarifs-table{background:#fff;border:2px solid #e0e0e0;border-radius:12px;overflow:hidden}.tarifs-header{background:#f8f9fa;border-bottom:2px solid #e0e0e0;font-weight:700;padding:15px 20px}.tarif-row,.tarifs-header{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr auto}.tarif-row{border-bottom:1px solid #f0f0f0;padding:18px 20px;transition:all .3s}.tarif-row:last-child{border-bottom:none}.tarif-row:hover{background:#f8f9fa}.tarif-row.active{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-left:4px solid #667eea}.tarif-range{display:flex;flex-direction:column;gap:4px}.tarif-range strong{color:#667eea;font-size:14px}.tarif-prix{align-items:center;color:#333;display:flex;font-size:22px;font-weight:700;gap:10px}.prix-actif-badge{background:#4caf50;border-radius:15px;color:#fff;font-size:11px;font-weight:600;padding:4px 10px}.tarif-simple{padding:30px;text-align:center}.tarif-simple h3{font-size:24px;margin-bottom:30px}.prix-box-large{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;margin:20px auto;max-width:400px;padding:40px}.prix-montant{display:block;font-size:52px;margin-bottom:10px}.prix-description{display:block;font-size:16px;opacity:.9}.tarifs-supplements{background:#fff3e0;border-left:4px solid #ff9800;border-radius:12px;margin-top:30px;padding:20px}.tarifs-supplements h4{color:#333;font-size:18px;margin-bottom:15px}.tarifs-supplements ul{list-style:none;padding:0}.tarifs-supplements li{font-size:15px;padding:8px 0}.modal-footer{border-radius:0 0 20px 20px;gap:15px;justify-content:space-between;padding:20px 30px}.modal-footer button{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px 30px;transition:all .3s}.btn-secondary{border:2px solid #e0e0e0}.btn-secondary:hover{background:#f0f0f0;border-color:#ccc}@media (max-width:768px){.modal-content-large{border-radius:0;max-height:100vh;max-width:100%}.modal-header{border-radius:0;padding:20px}.modal-title-section h2{font-size:22px}.modal-body{padding:20px}.modal-tabs .tab{font-size:13px;padding:12px 10px}.galerie-main{height:250px}.galerie-nav{font-size:20px;height:40px;width:40px}.galerie-nav.prev{left:10px}.galerie-nav.next{right:10px}.prestataire-card{flex-direction:column;text-align:center}.prestataire-photo{margin:0 auto}.prestataire-info{align-items:center}.specialites{justify-content:center}.caracteristiques ul,.inclusions-grid{grid-template-columns:1fr}.tarifs-table{font-size:14px}.tarif-prix{font-size:18px}.modal-footer{flex-direction:column}.modal-footer button{width:100%}}.prestations-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh}.prestations-hero{background:linear-gradient(135deg,#000,#1a1a1a 50%,#2a2a2a);color:#fff;margin-bottom:var(--spacing-xl);overflow:hidden;padding:80px 20px 60px;position:relative;text-align:center}.prestations-hero:before{animation:float 6s ease-in-out infinite;background:#ffffff1a;border-radius:50%;content:"";height:500px;position:absolute;right:-10%;top:-50%;width:500px}.page-title{color:#fff;font-size:clamp(2rem,4vw,3rem);margin-bottom:var(--spacing-sm)}.page-subtitle{font-size:clamp(1rem,2vw,1.3rem);margin:0 auto;max-width:600px;opacity:.95}.filters{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:center;margin-bottom:var(--spacing-xl);padding:var(--spacing-lg) 0}.filter-btn{align-items:center;background-color:#fff;border:2px solid #2a2a2a;border-radius:var(--radius-full);box-shadow:0 4px 12px #00000014;color:#1a1a1a;display:flex;font-weight:600;gap:8px;padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-base)}.filter-icon{display:inline-flex;font-size:1.3rem;transition:transform .3s ease}.filter-btn:hover .filter-icon{transform:scale(1.2) rotate(10deg)}.filter-btn:hover{transform:translateY(-2px)}.filter-btn.active,.filter-btn:hover{background:linear-gradient(135deg,#000,#1a1a1a 50%,#2a2a2a);box-shadow:0 8px 20px #0003;color:#fff}.prestations-grid{grid-gap:var(--spacing-xl);gap:var(--spacing-xl);grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:var(--spacing-xl);overflow:visible;padding-top:40px}.prestation-card{height:100%;overflow:visible}.prestation-card.card{box-sizing:border-box;display:flex;flex-direction:column;overflow:visible;padding:var(--spacing-md);padding-top:calc(var(--spacing-md) + 20px)}.prestation-card .prestation-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.prestation-card .footer-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.details-btn{background:#0000;border:1.5px solid;border-radius:var(--radius-sm);color:#a01e1e;color:var(--color-primary,#a01e1e);cursor:pointer;font-weight:600;padding:8px 14px;transition:background .15s,color .15s;white-space:nowrap}.details-btn:hover{background:#a01e1e;background:var(--color-primary,#a01e1e);color:#fff}@media (max-width:768px){.prestation-icon-badge{font-size:1.4rem;height:52px;top:-18px;width:52px}}.prestation-icon-badge{align-items:center;animation:pulse-soft 2s ease-in-out infinite;background:linear-gradient(135deg,#000,#1a1a1a 50%,#2a2a2a);border:2px solid #d4af3759;border-radius:50%;box-shadow:0 8px 20px #0006,0 0 0 3px #d4af371a;color:#d4af37;display:flex;font-size:2rem;height:60px;justify-content:center;left:50%;position:absolute;top:-20px;transform:translateX(-50%);width:60px;z-index:1}@keyframes pulse-soft{0%,to{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.05)}}.prestation-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);padding-top:var(--spacing-xl)}.prestation-category{background-color:var(--color-primary);border-radius:var(--radius-md);color:#fff;font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm)}.badge-disponible{color:#27ae60}.badge-disponible,.badge-indisponible{font-size:var(--font-size-sm);font-weight:600}.badge-indisponible{color:#e74c3c}.prestation-title{color:var(--color-primary);font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm)}.prestation-short{color:#555;font-weight:600;margin-bottom:var(--spacing-sm)}.prestation-description{flex-grow:1;line-height:1.6;margin-bottom:var(--spacing-md)}.prestation-inclus{background-color:#f8f9fa;border-radius:var(--radius-md);margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.prestation-inclus h4{color:var(--color-primary);font-size:var(--font-size-base);margin-bottom:var(--spacing-sm)}.prestation-inclus ul{display:flex;flex-direction:column;gap:var(--spacing-xs);list-style:none}.prestation-inclus li{color:#555;font-size:var(--font-size-sm)}.inclus-voir-plus{background:none;border:none;color:#a01e1e;color:var(--color-primary,#a01e1e);cursor:pointer;font-size:var(--font-size-sm);font-weight:600;padding:4px 0 0;text-decoration:underline;text-underline-offset:3px}.inclus-voir-plus:hover{opacity:.75}.prestation-footer{align-items:center;border-top:2px solid #f0f0f0;display:flex;gap:var(--spacing-md);justify-content:space-between;margin-top:auto;padding-top:var(--spacing-md)}.prestation-prix{display:flex;flex-direction:column;gap:.25rem}.prix-label{color:#999;font-size:var(--font-size-sm)}.prix-montant{color:var(--color-primary);font-size:var(--font-size-2xl);font-weight:700}.prix-unite{color:#666;font-size:var(--font-size-sm)}.no-prestations{padding:var(--spacing-xl) 0;text-align:center}.no-prestations p{color:#666;font-size:var(--font-size-lg);margin-bottom:var(--spacing-lg)}.prestations-cta{background:linear-gradient(135deg,#1a1a2e0d,#0f34600d);border-radius:var(--radius-lg);margin:var(--spacing-xl) 0;padding:var(--spacing-xl);text-align:center}.prestations-cta h2{color:var(--color-primary);margin-bottom:var(--spacing-sm)}.prestations-cta p{color:#666;font-size:var(--font-size-lg);margin-bottom:var(--spacing-lg)}@media (max-width:768px){.prestations-grid{grid-template-columns:1fr}.prestation-footer{align-items:stretch;flex-direction:column}.prestation-footer .btn{width:100%}}.devis-page{background:linear-gradient(135deg,#f5f7fa,#e8ecf1);min-height:100vh;padding:180px 0 4rem}.devis-header{animation:fadeInDown .6s ease-out;margin-bottom:3rem;text-align:center}.devis-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#d4af37,#f4e5b8);-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,5vw,3.5rem);font-weight:900;margin-bottom:1rem}.devis-subtitle{color:#666;font-size:clamp(1rem,2vw,1.3rem);font-weight:300}.workflow-container{align-items:center;background:#fff;border-radius:2rem;box-shadow:0 10px 40px #00000014;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:3rem auto;max-width:1200px;padding:2rem}.workflow-step{align-items:center;background:#f8f9fa;border:3px solid #e9ecef;border-radius:1.5rem;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;min-width:150px;padding:1.5rem;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.workflow-step:hover{box-shadow:0 8px 25px #0000001f;transform:translateY(-5px)}.workflow-step.active{background:linear-gradient(135deg,#3498db,#fff3);background:linear-gradient(135deg,var(--step-color,#3498db),#fff3);border-color:#3498db;border-color:var(--step-color,#3498db);box-shadow:0 12px 35px #3498db4d;transform:scale(1.1)}.workflow-step.completed{background:linear-gradient(135deg,#27ae60,#2ecc71);border-color:#27ae60;color:#fff}.step-icon{font-size:2.5rem;margin-bottom:.5rem}.step-numero{align-items:center;background:#3498db;background:var(--step-color,#3498db);border-radius:50%;box-shadow:0 4px 12px #0003;color:#fff;display:flex;font-size:1.1rem;font-weight:700;height:35px;justify-content:center;position:absolute;right:-12px;top:-12px;transition:all .3s ease;width:35px}.workflow-step.completed .step-numero{background:#27ae60}.workflow-step.active .step-numero{animation:pulse 2s infinite}.step-titre{color:#333;font-size:.95rem;font-weight:600;text-align:center}.workflow-step.active .step-titre,.workflow-step.completed .step-titre{color:#fff}.workflow-arrow{color:#e9ecef;font-size:2.5rem;font-weight:700;transition:all .3s ease}.workflow-arrow.completed{animation:arrowSlide .6s ease-out;color:#27ae60}@keyframes arrowSlide{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.etape-content{margin:0 auto;max-width:1000px}.etape-card{background:#fff;border-radius:2rem;box-shadow:0 10px 40px #00000014;margin-bottom:2rem;padding:3rem}.etape-title{align-items:center;color:#1a1a2e;display:flex;font-size:2rem;font-weight:700;gap:.5rem;margin-bottom:.5rem}.etape-description{color:#666;font-size:1.1rem;margin-bottom:2rem}.form-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:1.5rem}.form-group{gap:.5rem}.form-group.full-width{grid-column:1/-1}.form-group small{font-size:.85rem}.input-modern{background:#f8f9fa;border:2px solid #e9ecef;border-radius:1rem;font-size:1rem;padding:1rem 1.25rem;transition:all .3s ease}.input-modern:focus{background:#fff;border-color:#d4af37;box-shadow:0 4px 15px #d4af3726;outline:none;transform:translateY(-2px)}.options-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.option-card{background:#fff;border:3px solid #e9ecef;border-radius:1.5rem;cursor:pointer;padding:2rem 1.5rem;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.option-card:hover{border-color:#d4af37;box-shadow:0 8px 25px #d4af3733;transform:translateY(-5px)}.option-card.selected{background:linear-gradient(135deg,#d4af37,#f4e5b8);border-color:#d4af37;box-shadow:0 12px 35px #d4af374d;color:#1a1a2e;transform:scale(1.05)}.option-icon{font-size:3rem;margin-bottom:1rem}.option-label{font-size:1.1rem;font-weight:700;margin-bottom:.5rem}.option-desc{font-size:.9rem;opacity:.9}.prestations-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-bottom:2rem}.prestation-card{border:3px solid #e9ecef;border-radius:1.5rem;padding:2rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.prestation-card:hover{border-color:#d4af37;box-shadow:0 8px 25px #d4af3733;transform:translateY(-5px)}.articles-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:2rem}.article-card{background:#fff;border:3px solid #e9ecef;border-radius:1.5rem;cursor:pointer;padding:1.5rem;position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.article-card:hover{border-color:#f39c12;box-shadow:0 8px 25px #f39c1233;transform:translateY(-5px)}.article-card.selected{background:linear-gradient(135deg,#f39c12,#f1c40f);border-color:#f39c12;box-shadow:0 12px 35px #f39c124d;color:#fff}.article-icon{font-size:2.5rem;margin-bottom:1rem}.article-nom{font-size:1.1rem;font-weight:700;margin-bottom:.5rem}.article-desc{font-size:.85rem;opacity:.9}.article-check{align-items:center;background:#fff;border-radius:50%;box-shadow:0 4px 12px #00000026;color:#f39c12;display:flex;font-size:1.3rem;font-weight:700;height:30px;justify-content:center;position:absolute;right:10px;top:10px;width:30px}.etape-note{background:#f8f9fa;border-left:4px solid #f39c12;border-radius:1rem;color:#666;font-style:italic;margin-top:2rem;padding:1rem;text-align:center}.prestation-card.selected{background:linear-gradient(135deg,#27ae60,#2ecc71);border-color:#27ae60;box-shadow:0 12px 35px #27ae604d;color:#fff}.prestation-icon{font-size:3rem;margin-bottom:1rem}.prestation-nom{font-size:1.2rem;font-weight:700;margin-bottom:.5rem}.prestation-desc{font-size:.9rem;opacity:.9}.prestation-check{align-items:center;background:#fff;border-radius:50%;box-shadow:0 4px 12px #00000026;color:#27ae60;display:flex;font-size:1.5rem;font-weight:700;height:35px;justify-content:center;position:absolute;right:15px;top:15px;width:35px}.prestation-card{display:flex;flex-direction:column;gap:1rem}.prestation-content{cursor:pointer;flex:1 1}.btn-voir-details{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:.75rem;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.btn-voir-details:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-voir-details:active{transform:translateY(0)}.prestation-card.selected .btn-voir-details{background:linear-gradient(135deg,#27ae60,#2ecc71)}.prestation-card.selected .btn-voir-details:hover{box-shadow:0 6px 20px #27ae6066}.budget-options{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.budget-option{align-items:center;background:#fff;border:3px solid #e9ecef;border-radius:1rem;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;text-align:center;transition:all .3s ease}.budget-option:hover{border-color:#d4af37;transform:translateY(-3px)}.budget-option.selected{background:linear-gradient(135deg,#d4af37,#f4e5b8);border-color:#d4af37;color:#1a1a2e;transform:scale(1.05)}.budget-icon{font-size:2rem}.budget-label{font-size:1rem;font-weight:600}.recapitulatif{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:1.5rem;margin-top:2rem;padding:2rem}.recapitulatif h3{color:#1a1a2e;font-size:1.5rem;margin-bottom:1.5rem}.recap-item{border-bottom:1px solid #dee2e6;color:#333;font-size:1rem;padding:.75rem 0}.recap-item:last-child{border-bottom:none}.recap-item strong{color:#d4af37;margin-right:.5rem}.navigation-buttons{justify-content:space-between;margin-top:2rem}.btn{align-items:center;border-radius:1rem;display:flex;font-size:1.1rem;font-weight:700;gap:.5rem;padding:1rem 2.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn:hover{box-shadow:0 8px 25px #0003;transform:translateY(-3px)}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-primary{background:linear-gradient(135deg,#3498db,#2980b9)}.btn-secondary{background:#e9ecef;color:#333}.btn-success{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;font-size:1.2rem;padding:1.25rem 3rem}.success-message{animation:fadeInScale .6s ease-out;padding:4rem 2rem;text-align:center}.success-icon{animation:bounce 1s ease infinite;font-size:6rem}.success-message h2{color:#27ae60;font-size:2.5rem;margin:1rem 0}.success-message p{color:#666;font-size:1.2rem;margin:.5rem 0}.loader-dots{display:flex;gap:.5rem;justify-content:center;margin-top:2rem}.loader-dots span{animation:dotPulse 1.4s ease-in-out infinite;background:#d4af37;border-radius:50%;height:12px;width:12px}.loader-dots span:nth-child(2){animation-delay:.2s}.loader-dots span:nth-child(3){animation-delay:.4s}.alert{border-radius:1rem;font-weight:600;margin:1rem 0}.alert-danger{background:#ffe5e5;border:2px solid #e74c3c;color:#c0392b}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}.fade-in{animation:fadeIn .6s ease-out}@media (max-width:768px){.devis-page{padding:150px 1rem 2rem}.workflow-container{flex-direction:column;padding:1.5rem}.workflow-arrow{font-size:2rem;transform:rotate(90deg)}.workflow-step{max-width:300px;width:100%}.etape-card{padding:2rem 1.5rem}.form-grid{grid-template-columns:1fr}.navigation-buttons{flex-direction:column}.btn{justify-content:center;width:100%}.options-grid,.prestations-grid{grid-template-columns:1fr}}@media (max-width:480px){.devis-title{font-size:1.8rem}.etape-title{font-size:1.5rem}.workflow-step{min-width:120px;padding:1rem}.step-icon{font-size:2rem}}.progress-bar-container{background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000014;padding:24px}.progress-bar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.progress-bar-header h2{color:#1a1a1a;font-size:20px;margin:0}.progress-percentage{color:#667eea;font-size:24px;font-weight:700}.progress-bar-track{background:#e8e8e8;border-radius:4px;height:8px;margin-bottom:20px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#667eea,#764ba2);height:100%;transition:width .4s ease}.progress-steps{display:flex;gap:8px;justify-content:space-between;overflow-x:auto;padding:8px 0}.progress-step{align-items:center;display:flex;flex-direction:column;gap:8px;min-width:80px;opacity:.4;transition:opacity .3s}.progress-step.active{opacity:1}.progress-step.current .step-circle{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;color:#fff;transform:scale(1.1)}.step-circle{align-items:center;background:#fff;border:2px solid #ddd;border-radius:50%;color:#666;display:flex;font-size:14px;font-weight:600;height:36px;justify-content:center;transition:all .3s;width:36px}.progress-step.active .step-circle{border-color:#667eea;color:#667eea}.step-label{color:#666;font-size:11px;line-height:1.3;max-width:80px;text-align:center}.progress-step.current .step-label{color:#1a1a1a;font-weight:600}@media (max-width:768px){.progress-steps{justify-content:flex-start}.progress-step{min-width:60px}.step-circle{font-size:12px;height:32px;width:32px}.step-label{font-size:10px;max-width:60px}}.conversation-assistant{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 8px 24px #667eea4d;color:#fff;padding:24px}.conversation-header{align-items:center;border-bottom:1px solid #fff3;display:flex;gap:16px;margin-bottom:20px;padding-bottom:16px}.assistant-avatar{align-items:center;background:#fff;border-radius:50%;display:flex;font-size:24px;height:48px;justify-content:center;width:48px}.assistant-info h3{font-size:18px;font-weight:600;margin:0 0 4px}.assistant-info p{font-size:13px;margin:0;opacity:.9}.conversation-messages{display:flex;flex-direction:column;gap:16px;max-height:400px;overflow-y:auto;padding-right:8px}.conversation-messages::-webkit-scrollbar{width:6px}.conversation-messages::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.conversation-messages::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.message{animation:slideIn .3s ease}.message-bubble{align-items:flex-start;display:flex;gap:12px}.message-icon{align-items:center;background:#fff3;border-radius:50%;display:flex;flex-shrink:0;font-size:16px;height:32px;justify-content:center;width:32px}.message-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:12px;flex:1 1;padding:12px 16px}.message-content p{font-size:14px;line-height:1.5;margin:0}.message-data{background:#0003;border-radius:8px;font-family:monospace;font-size:12px;margin-top:12px;overflow-x:auto;padding:12px;white-space:pre}.message-time{font-size:11px;margin-left:44px;margin-top:4px;opacity:.7}.message-client .message-content{background:#ffffff40}.message-system .message-content{background:#ffd70033}@media (max-width:768px){.conversation-assistant{padding:20px 16px}.conversation-messages{max-height:300px}}.montant-sidebar{background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000014;display:flex;flex-direction:column;height:-webkit-fit-content;height:fit-content;max-height:calc(100vh - 40px);position:-webkit-sticky;position:sticky;top:20px}.sidebar-header{border-bottom:1px solid #e8e8e8;padding:24px}.sidebar-header h3{color:#1a1a1a;font-size:20px;margin:0 0 4px}.sidebar-header p{color:#666;font-size:13px;margin:0}.sidebar-content{flex:1 1;overflow-y:auto;padding:24px}.sidebar-empty{color:#999;padding:40px 20px;text-align:center}.empty-icon{font-size:48px}.sidebar-empty p{font-size:14px;line-height:1.5;margin:0}.montant-line{margin-bottom:12px}.montant-line.small{color:#666;font-size:13px}.montant-line.bold{font-size:16px;font-weight:600}.montant-line.total{color:#667eea;font-size:20px;font-weight:700}.montant-line.discount{color:#22c55e}.montant-value{font-weight:600}.section-divider{background:#e8e8e8;height:1px;margin:16px 0}.section-divider.strong{background:#667eea;height:2px;margin:20px 0}.acompte-info{background:linear-gradient(135deg,#f0f4ff,#e8f0ff);border-radius:12px;margin-top:8px;padding:16px}.acompte-header{align-items:center;color:#667eea;display:flex;font-size:13px;font-weight:600;justify-content:space-between;margin-bottom:8px}.acompte-percentage{font-size:12px}.acompte-montant{color:#667eea;font-size:24px;font-weight:700}.sidebar-footer{border-top:1px solid #e8e8e8;padding:20px 24px}.info-badge{align-items:flex-start;background:#f8f9ff;border-radius:8px;display:flex;gap:12px;padding:12px}.info-badge span{flex-shrink:0;font-size:16px}.info-badge p{color:#666;font-size:12px;line-height:1.5;margin:0}@media (max-width:1024px){.montant-sidebar{position:relative;top:0}}@media (max-width:768px){.sidebar-content,.sidebar-footer,.sidebar-header{padding:20px 16px}}.step-form-container{width:100%}.step-header{margin-bottom:32px;text-align:center}.step-header h2{color:#1a1a1a;font-size:26px;margin:0 0 8px}.step-header p{color:#666;font-size:15px;line-height:1.5;margin:0}.step-form{display:flex;flex-direction:column;gap:24px}.form-group{gap:8px}.form-group input,.form-group select,.form-group textarea{border-radius:8px;font-size:15px;padding:12px 16px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea}.form-group small{color:#999;font-size:12px}.form-actions{gap:12px;margin-top:16px}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px 28px;transition:all .2s}.btn-full{width:100%}.section-divider{align-items:center;color:#667eea;display:flex;font-size:14px;font-weight:600;gap:12px;margin:8px 0}.section-divider:after,.section-divider:before{background:linear-gradient(90deg,#0000,#e0e0e0,#0000);content:"";flex:1 1;height:1px}.type-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:24px}.type-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:20px;text-align:center;transition:all .2s}.type-card:hover{border-color:#667eea;transform:translateY(-2px)}.type-card.selected{background:linear-gradient(135deg,#f0f4ff,#e8f0ff);border-color:#667eea}.type-emoji{font-size:36px}.type-name{color:#1a1a1a;font-size:14px;font-weight:600}.type-description{color:#666;font-size:12px}.mode-selector{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:24px}.mode-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:12px;display:flex;flex-direction:column;font-size:15px;gap:8px;padding:16px;transition:all .2s}.mode-btn.active,.mode-btn:hover{border-color:#667eea}.mode-btn.active{background:linear-gradient(135deg,#f0f4ff,#e8f0ff)}.mode-icon{font-size:24px}.invites-input-large{margin:32px 0;text-align:center}.invites-input-large label{display:block;font-size:18px;font-weight:600;margin-bottom:16px}.large-number-input{color:#667eea;font-size:48px!important;font-weight:700;margin:0 auto;max-width:300px;padding:20px!important;text-align:center}.invites-range label{display:block;font-size:16px;font-weight:600;margin-bottom:16px;text-align:center}.range-selector{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.range-btn{background:#fff;border:2px solid #e0e0e0;border-radius:12px;color:#1a1a1a;cursor:pointer;font-size:20px;font-weight:700;padding:24px 16px;transition:all .2s}.range-btn small{color:#666;display:block;font-size:12px;font-weight:500;margin-top:4px}.range-btn:hover{border-color:#667eea;transform:translateY(-2px)}.range-btn.selected{background:linear-gradient(135deg,#f0f4ff,#e8f0ff);border-color:#667eea;color:#667eea}.info-box{align-items:flex-start;background:#f8f9ff;border:1px solid #e0e8ff;border-radius:12px;display:flex;gap:12px;padding:16px}.info-icon{font-size:20px}.info-content{color:#666;font-size:14px;line-height:1.5}.info-content strong{color:#667eea}@media (max-width:768px){.form-row{grid-template-columns:1fr}.type-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.range-selector{grid-template-columns:repeat(2,1fr)}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.category-filters{background:#f8f9ff;border-radius:12px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;padding:16px}.category-btn{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.category-btn:hover{border-color:#667eea}.category-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;color:#fff}.prestations-form{display:flex;flex-direction:column;gap:24px}.prestations-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.prestation-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;overflow:hidden;transition:all .2s}.prestation-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea33;transform:translateY(-2px)}.prestation-card.selected{background:linear-gradient(180deg,#f0f4ff 0,#fff);border-color:#667eea}.prestation-header{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr auto auto;padding:20px}.prestation-info h4{color:#1a1a1a;font-size:16px;margin:0 0 4px}.prestation-category{color:#667eea;font-size:12px;font-weight:600;margin:0 0 8px}.prestation-description{color:#666;font-size:13px;line-height:1.4;margin:0}.prestation-price{color:#667eea;font-size:20px;font-weight:700}.prestation-checkbox{align-items:center;border:2px solid #e0e0e0;border-radius:50%;display:flex;font-size:18px;font-weight:700;height:32px;justify-content:center;transition:all .2s;width:32px}.prestation-card.selected .prestation-checkbox{background:#667eea;border-color:#667eea;color:#fff}.prestation-options{background:#f8f9ff;border-top:1px solid #e0e8ff;padding:16px 20px}.quantity-control{align-items:center;display:flex;gap:12px}.quantity-control label{font-size:14px;font-weight:600}.quantity-control input{border:2px solid #e0e0e0;border-radius:8px;font-size:15px;padding:8px 12px;text-align:center;width:80px}.empty-selection{color:#999;padding:60px 20px;text-align:center}.empty-icon{display:block;font-size:64px;margin-bottom:16px}.empty-selection p{font-size:16px;margin:0 0 8px}.empty-selection small{font-size:13px}.selection-summary{background:linear-gradient(135deg,#f0f4ff,#e8f0ff);border:1px solid #d0e0ff;border-radius:12px;padding:20px}.selection-summary h4{color:#667eea;font-size:16px;margin:0 0 16px}.selected-items{display:flex;flex-direction:column;gap:8px}.selected-item{background:#fff;border-radius:8px;font-size:14px;justify-content:space-between;padding:12px}.loading-center,.selected-item{align-items:center;display:flex}.loading-center{flex-direction:column;gap:20px;justify-content:center;padding:80px 20px}@media (max-width:768px){.prestations-grid{grid-template-columns:1fr}.prestation-header{grid-template-columns:1fr auto}.prestation-checkbox{grid-column:2;grid-row:1/3}}.devis-recap{background:linear-gradient(135deg,#000,#1a1a1a 50%,#2a2a2a);border-radius:16px;box-shadow:0 8px 32px #0006;margin:0 auto;max-width:1200px;padding:2rem}.recap-header{border-bottom:2px solid #ffffff1a;margin-bottom:3rem;padding-bottom:2rem;text-align:center}.recap-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#fff;font-size:2.5rem;margin-bottom:.5rem}.recap-subtitle{color:#ffffffb3;font-size:1.1rem}.recap-section{background:#ffffff08;border:1px solid #ffffff1a;margin-bottom:2rem;padding:2rem;transition:transform .2s ease}.recap-section:hover{box-shadow:0 4px 16px #667eea1a;transform:translateY(-2px)}.recap-section h3{border-bottom:2px solid #667eea4d;color:#fff;font-size:1.5rem;margin-bottom:1.5rem;padding-bottom:1rem}.recap-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.recap-item{gap:.5rem}.recap-label{color:#fff9;font-size:.9rem;letter-spacing:.05em}.recap-value{color:#fff;font-size:1.1rem}.recap-description{background:#667eea1a;border-left:3px solid #667eea;border-radius:4px;margin-top:1.5rem;padding:1rem}.recap-description p{color:#ffffffe6;line-height:1.6;margin:0}.recap-table{margin-top:1rem;overflow-x:auto}.recap-table table{background:#0003;border-collapse:collapse;border-radius:8px;overflow:hidden;width:100%}.recap-table th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.85rem;font-weight:600;letter-spacing:.05em;padding:1rem;text-align:left;text-transform:uppercase}.recap-table td{border-bottom:1px solid #ffffff1a;color:#fff;padding:1rem}.recap-table tbody tr:last-child td{border-bottom:none}.recap-table tbody tr:hover{background:#667eea0d}.recap-table tfoot td{background:#667eea26;border-top:2px solid #667eea4d;font-weight:600}.text-center{text-align:center!important}.text-right{text-align:right!important}.categorie-badge{background:#667eea33;border-radius:12px;color:#667eea;font-size:.75rem;margin-left:.5rem;padding:.25rem .75rem;text-transform:uppercase}.options-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.option-tag{color:#fff9;font-size:.85rem;font-style:italic}.frais-detail{border-left:2px solid #667eea4d;display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem;padding-left:1rem}.frais-detail span{color:#fff9;font-size:.85rem;font-style:italic}.recap-totaux{background:#667eea0d;border:2px solid #667eea4d}.totaux-grid{display:flex;flex-direction:column;gap:1rem}.totaux-item{align-items:center;background:#0003;border-radius:8px;display:flex;justify-content:space-between;padding:.75rem 1rem}.totaux-label{color:#fffc;font-size:1rem}.totaux-value{color:#fff;font-size:1.2rem;font-weight:600}.totaux-item.remise{background:#ffc1071a;border:1px solid #ffc1074d}.totaux-item.remise .totaux-value{color:#ffc107}.totaux-item.total-principal{background:linear-gradient(135deg,#667eea,#764ba2);margin:1rem 0;padding:1.5rem}.totaux-item.total-principal .totaux-label{color:#fff;font-size:1.3rem;font-weight:700}.totaux-item.total-principal .totaux-value{font-size:2rem}.separateur{background:linear-gradient(90deg,#0000,#667eea80 50%,#0000);height:2px;margin:.5rem 0}.totaux-item.acompte{background:#4caf501a;border:1px solid #4caf504d}.totaux-item.acompte .totaux-value{color:#4caf50}.totaux-item.reste{background:#ff98001a;border:1px solid #ff98004d}.totaux-item.reste .totaux-value{color:#ff9800}.recap-actions{border-top:2px solid #ffffff1a;display:flex;gap:1rem;justify-content:center;margin-top:3rem;padding-top:2rem}.recap-actions button{border:none;border-radius:50px;cursor:pointer;font-size:1.1rem;font-weight:600;letter-spacing:.05em;min-width:200px;padding:1rem 2.5rem;text-transform:uppercase;transition:all .3s ease}.btn-secondary:hover:not(:disabled){background:#fff3;border-color:#ffffff80;box-shadow:0 4px 16px #ffffff1a;transform:translateY(-2px)}.btn-primary{box-shadow:0 4px 16px #667eea4d}.btn-primary:hover:not(:disabled){box-shadow:0 8px 24px #667eea66}.recap-actions button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.devis-recap{border-radius:12px;padding:1rem}.recap-header h2{font-size:1.8rem}.recap-section{padding:1.5rem}.recap-grid{grid-template-columns:1fr}.recap-table{font-size:.85rem}.recap-table td,.recap-table th{padding:.75rem .5rem}.totaux-item.total-principal .totaux-label{font-size:1.1rem}.totaux-item.total-principal .totaux-value{font-size:1.5rem}.recap-actions{flex-direction:column}.recap-actions button{min-width:auto;width:100%}}@media (max-width:480px){.recap-table td:nth-child(2),.recap-table th:nth-child(2){display:none}}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.recap-section{animation:slideIn .4s ease forwards}.recap-section:first-child{animation-delay:.1s}.recap-section:nth-child(2){animation-delay:.2s}.recap-section:nth-child(3){animation-delay:.3s}.recap-section:nth-child(4){animation-delay:.4s}.recap-section:nth-child(5){animation-delay:.5s}.recap-container{display:flex;flex-direction:column;gap:24px;margin-bottom:32px}.recap-section{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:24px}.recap-section h3{align-items:center;color:#1a1a1a;display:flex;font-size:18px;gap:8px;margin:0 0 20px}.recap-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.recap-item{display:flex;flex-direction:column;gap:4px}.recap-label{color:#999;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.recap-value{color:#1a1a1a;font-size:15px;font-weight:500}.recap-list{display:flex;flex-direction:column;gap:12px}.recap-list-item{align-items:center;background:#f8f9ff;border-radius:8px;display:flex;gap:16px;justify-content:space-between;padding:16px}.item-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.item-info strong{color:#1a1a1a;font-size:15px}.item-info small{color:#666;font-size:13px}.item-price{color:#667eea;flex-shrink:0;font-size:18px;font-weight:700}.recap-description{background:#f8f9ff;border-radius:8px;color:#666;font-size:14px;line-height:1.6;margin:0;padding:16px}.recap-budget,.recap-entretien{color:#666;font-size:14px;margin-top:12px}.flexible-badge{background:#22c55e;border-radius:4px;color:#fff;display:inline-block;font-size:12px;font-weight:600;margin-left:8px;padding:4px 8px}.recap-montants{background:linear-gradient(135deg,#f0f4ff,#e8f0ff);border-color:#d0e0ff}.montants-details{margin-bottom:16px}.montant-line{align-items:center;display:flex;font-size:15px;justify-content:space-between;padding:12px 16px}.montant-line.total{font-size:16px;font-weight:600}.montant-line.grand-total{background:#fff;border-radius:8px;color:#667eea;font-size:20px;font-weight:700;margin-top:8px}.montant-divider{background:linear-gradient(90deg,#0000,#d0e0ff,#0000);height:1px;margin:8px 0}@media (max-width:768px){.recap-grid{grid-template-columns:1fr}.recap-list-item{align-items:flex-start;flex-direction:column}.item-price{align-self:flex-end}}.validation-container{display:flex;flex-direction:column;gap:24px}.validation-summary{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;color:#fff;padding:28px}.validation-summary h3{font-size:18px;margin:0 0 20px}.summary-grid{grid-gap:16px;gap:16px}.summary-item{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:12px;display:flex;gap:12px;padding:16px}.summary-item.highlight{background:#ffffff40}.summary-icon{flex-shrink:0;font-size:28px}.summary-content{display:flex;flex-direction:column;gap:2px}.summary-content strong{font-size:16px;font-weight:600}.summary-content small{font-size:12px;opacity:.9}.validation-conditions,.validation-info{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:24px}.validation-conditions h3,.validation-info h3{color:#1a1a1a;font-size:18px;margin:0 0 16px}.info-list{display:flex;flex-direction:column;gap:12px;margin:0;padding-left:20px}.info-list li{color:#666;font-size:14px;line-height:1.6}.info-list strong{color:#1a1a1a}.checkbox-card{align-items:flex-start;background:#f8f9ff;border:2px solid #e0e8ff;border-radius:12px;cursor:pointer;display:flex;gap:12px;margin-bottom:12px;padding:16px;transition:all .2s}.checkbox-card:hover{background:#f0f4ff;border-color:#667eea}.checkbox-card input[type=checkbox]{accent-color:#667eea;cursor:pointer;flex-shrink:0;height:20px;margin-top:2px;width:20px}.checkbox-content{flex:1 1}.checkbox-content strong{color:#1a1a1a;display:block;font-size:14px;margin-bottom:6px}.checkbox-content p{color:#666;font-size:13px;line-height:1.5;margin:0}.checkbox-content a{color:#667eea;text-decoration:underline}.validation-form{display:flex;flex-direction:column;gap:16px}.success-box,.warning-box{align-items:center;border-radius:12px;display:flex;font-size:14px;gap:12px;padding:16px 20px}.warning-box{background:#fff3cd;border:1px solid #ffecb5;color:#856404}.success-box{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.success-icon,.warning-icon{font-size:20px}.success-box p,.warning-box p{margin:0}.btn-submit{align-items:center;display:flex;font-size:18px;gap:8px;justify-content:center;padding:16px 32px;position:relative}@media (max-width:768px){.summary-grid{grid-template-columns:1fr}.validation-conditions,.validation-info,.validation-summary{padding:20px}}.devis-builder-page{background:linear-gradient(180deg,#f8f9ff 0,#fff);min-height:100vh;padding:20px}.devis-builder-container{margin:0 auto;max-width:1400px}.devis-builder-content{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 350px;margin-top:30px}.devis-builder-loading,.devis-builder-main{display:flex;flex-direction:column;gap:20px}.devis-builder-loading{align-items:center;justify-content:center;min-height:100vh}.spinner{border:4px solid #f3f3f3}.error-banner{background:#fee;border:1px solid #fcc;border-radius:12px;color:#c33;font-size:14px;padding:16px 20px}.step-form{background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000014;padding:32px}@media (max-width:1024px){.devis-builder-content{gap:20px;grid-template-columns:1fr}}@media (max-width:768px){.devis-builder-page{padding:16px}.step-form{padding:24px 20px}}.devis-confirmation-page{background:linear-gradient(135deg,#000,#1a1a1a 50%,#2a2a2a);min-height:100vh;padding:3rem 1rem}.confirmation-container{margin:0 auto;max-width:900px}.confirmation-header{background:#ffffff0d;border:2px solid #667eea4d;border-radius:16px;margin-bottom:2rem;padding:3rem 2rem;text-align:center}.success-icon-large{animation:bounceIn .6s ease;font-size:4rem;margin-bottom:1rem}.confirmation-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#fff;font-size:2.5rem;margin-bottom:1rem}.confirmation-message{color:#fffc;font-size:1.2rem;margin-bottom:1.5rem}.numero-devis{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50px;color:#fff;display:inline-flex;font-size:1.1rem;font-weight:600;gap:.75rem;padding:1rem 2rem}.numero-devis .label{opacity:.9}.numero-devis .numero{font-size:1.3rem;letter-spacing:.05em}.confirmation-actions{margin:2rem 0;text-align:center}.btn-large{font-size:1.2rem;min-width:320px;padding:1.25rem 3rem}.spinner-small{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;margin-right:.5rem;width:16px}.error-message{margin-top:1rem;padding:1rem}.next-steps{background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;margin:2rem 0;padding:2rem}.next-steps h3{color:#fff;font-size:1.5rem;margin-bottom:2rem;text-align:center}.steps-timeline{padding-left:3rem;position:relative}.steps-timeline:before{background:linear-gradient(180deg,#667eea,#667eea4d 30%,#ffffff1a);bottom:0;content:"";left:20px;position:absolute;top:0;width:2px}.timeline-item{display:flex;gap:1.5rem;padding-bottom:2rem;position:relative}.timeline-icon{align-items:center;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:50%;display:flex;font-size:1.2rem;height:40px;justify-content:center;left:-2.5rem;position:absolute;width:40px;z-index:1}.timeline-item.completed .timeline-icon{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 0 20px #667eea80}.timeline-item.pending .timeline-icon{background:#ffffff0d;border-color:#fff3}.timeline-content strong{color:#fff;display:block;font-size:1.1rem;margin-bottom:.5rem}.timeline-content p{color:#fff9;font-size:.95rem;line-height:1.5}.timeline-item.completed .timeline-content strong{color:#667eea}.quick-summary{background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;margin:2rem 0;padding:2rem}.quick-summary h3{color:#fff;font-size:1.5rem;margin-bottom:1.5rem;text-align:center}.summary-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-card{align-items:center;background:#0000004d;border:1px solid #ffffff1a;border-radius:12px;display:flex;gap:1rem;padding:1.5rem;transition:all .3s ease}.summary-card:hover{border-color:#667eea66;box-shadow:0 4px 16px #667eea1a;transform:translateY(-2px)}.summary-card.highlight{background:linear-gradient(135deg,#667eea33,#764ba233);border-color:#667eea80}.card-icon{font-size:2rem;min-width:50px;text-align:center}.card-content strong{color:#fff;display:block;font-size:.9rem;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.card-content p{color:#fffc;font-size:1.1rem;font-weight:500}.email-info{align-items:start;background:#667eea1a;border:1px solid #667eea4d;border-radius:12px;display:flex;gap:1rem;margin:2rem 0;padding:1.5rem}.email-icon{font-size:2rem;min-width:50px}.email-content strong{color:#fff;display:block;font-size:1.1rem;margin-bottom:.5rem}.email-content p{color:#ffffffb3;line-height:1.6}.navigation-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:2rem 0}.btn-outline,.btn-secondary{border-radius:50px;display:inline-block;font-weight:600;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.btn-secondary{background:#ffffff1a;border:2px solid #ffffff4d;color:#fff}.btn-secondary:hover{background:#fff3}.btn-outline{background:#0000;border:2px solid #667eea;color:#667eea}.btn-outline:hover{background:#667eea1a;transform:translateY(-2px)}.help-section{background:#ffffff08;border-radius:12px;margin:2rem 0;padding:2rem;text-align:center}.help-section h4{color:#fff;font-size:1.3rem;margin-bottom:1rem}.help-section p{color:#ffffffb3;margin-bottom:1.5rem}.contact-methods{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.contact-method{align-items:center;background:#667eea1a;border:1px solid #667eea4d;border-radius:50px;color:#667eea;display:inline-flex;font-weight:600;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.contact-method:hover{background:#667eea33;border-color:#667eea;transform:translateY(-2px)}.devis-confirmation-loading{align-items:center;background:linear-gradient(135deg,#000,#1a1a1a 50%,#2a2a2a);color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.spinner{margin-bottom:1rem}@media (max-width:768px){.confirmation-header,.devis-confirmation-page{padding:2rem 1rem}.confirmation-header h1{font-size:1.8rem}.numero-devis{flex-direction:column;gap:.5rem;padding:1rem 1.5rem}.btn-large{font-size:1rem;min-width:auto;padding:1rem 1.5rem;width:100%}.summary-grid{grid-template-columns:1fr}.navigation-buttons{flex-direction:column}.btn-outline,.btn-secondary{text-align:center;width:100%}.contact-methods{flex-direction:column;gap:1rem}.contact-method{justify-content:center;width:100%}.steps-timeline{padding-left:2.5rem}}.contact-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh}.contact-hero{background:linear-gradient(135deg,#000,#1a1a1a 50%,#2a2a2a);color:#fff;overflow:hidden;padding:80px 20px 60px;position:relative;text-align:center}.contact-hero:before{animation:float 6s ease-in-out infinite;background:#ffffff1a;border-radius:50%;content:"";height:500px;position:absolute;right:-10%;top:-50%;width:500px}.contact-hero .page-title{animation:fadeInDown .8s ease;font-size:3rem;margin-bottom:1rem;text-shadow:0 2px 20px #0003}.contact-hero .page-subtitle{animation:fadeInUp .8s ease .2s backwards;font-size:1.3rem;margin:0 auto;max-width:600px;opacity:.95}.contact-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:1.5fr 1fr;margin:0 auto;max-width:1400px;padding:60px 20px}.section-header{margin-bottom:30px}.section-header h2{color:#1a1a2e;font-size:2rem;font-weight:800;margin-bottom:10px}.section-header p{color:#666;font-size:1.1rem}.contact-form-section{animation:slideInLeft .8s ease;background:#fff;border-radius:20px;box-shadow:0 10px 40px #0000001a;padding:40px}.contact-form{display:flex;flex-direction:column;gap:25px}.form-row{grid-gap:20px;gap:20px}.form-group label{align-items:center;display:flex;font-size:1rem;gap:6px;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{background:#f9f9f9;border:2px solid #e0e0e0;border-radius:12px;font-family:inherit;font-size:1rem;padding:14px 18px;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff;border-color:#2a2a2a;box-shadow:0 0 0 4px #00000014;outline:none;transform:translateY(-2px)}.form-group textarea{min-height:150px}.form-group input::placeholder,.form-group textarea::placeholder{color:#999}.alert{animation:slideDown .5s ease;border-radius:12px;font-weight:500;margin-bottom:20px;padding:16px 20px}.alert-success{background:#d4edda;border:2px solid #c3e6cb;color:#155724}.contact-form .btn{background:linear-gradient(135deg,#000,#1a1a1a 50%,#2a2a2a);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;margin-top:10px;padding:16px 32px;transition:all .3s ease}.contact-form .btn:hover:not(:disabled){box-shadow:0 10px 30px #00000080;transform:translateY(-3px)}.contact-form .btn:disabled{cursor:not-allowed;opacity:.6}.contact-info-section{animation:slideInRight .8s ease;display:flex;flex-direction:column;gap:25px}.info-card{background:#fff;border-radius:16px;box-shadow:0 8px 30px #00000014;padding:30px;transition:all .3s ease}.info-card:hover{box-shadow:0 12px 40px #00000026;transform:translateY(-5px)}.info-card h3{align-items:center;color:#1a1a2e;display:flex;font-size:1.4rem;font-weight:800;gap:10px;margin-bottom:20px}.info-items{display:flex;flex-direction:column;gap:20px}.info-item{align-items:flex-start;display:flex;gap:15px}.info-icon{align-items:center;animation:rotate3d 3s ease-in-out infinite;background:linear-gradient(135deg,#1a1a2e,#0a0a14 50%,#000);border-radius:12px;color:#d4af37;display:flex;flex-shrink:0;font-size:2rem;height:50px;justify-content:center;transform-style:preserve-3d;width:50px}.info-content{display:flex;flex:1 1;flex-direction:column;gap:5px}.info-content strong{color:#333;font-size:1.05rem;font-weight:700}.info-content a{color:#1a1a1a;font-weight:500;text-decoration:none;transition:all .2s ease}.info-content a:hover{color:#000;text-decoration:underline}.info-content p{color:#666;line-height:1.6;margin:0}.horaires-list{display:flex;flex-direction:column;gap:12px}.horaire-item{align-items:center;background:#f8f9fa;border-radius:10px;display:flex;justify-content:space-between;padding:12px 16px;transition:all .3s ease}.horaire-item:hover{background:#e9ecef;transform:translateX(5px)}.horaire-item .jour{color:#333;font-weight:600}.horaire-item .heure{color:#1a1a1a;font-weight:700}.response-info{background:#f5f5f5;border-left:4px solid #2a2a2a;border-radius:10px;color:#555;font-size:1rem;line-height:1.8;margin:0;padding:15px}.social-links{flex-direction:column;gap:12px}.social-btn{align-items:center;border-radius:10px;color:#fff;display:flex;font-weight:600;gap:10px;padding:12px 20px;text-decoration:none;transition:all .3s ease}.social-btn:hover{box-shadow:0 8px 20px #0003;transform:translateY(-3px)}.social-btn.facebook{background:linear-gradient(135deg,#3b5998,#2d4373)}.social-btn.instagram{background:linear-gradient(135deg,#f09433,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888)}.social-btn.youtube{background:linear-gradient(135deg,red,#c00)}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes rotate3d{0%,to{transform:perspective(400px) rotateY(0deg)}50%{transform:perspective(400px) rotateY(20deg)}}@media (max-width:1024px){.contact-grid{grid-template-columns:1fr;padding:40px 20px}.contact-form-section{order:2}.contact-info-section{order:1}}@media (max-width:768px){.contact-hero .page-title{font-size:2.2rem}.contact-hero .page-subtitle{font-size:1.1rem}.form-row{gap:20px;grid-template-columns:1fr}.contact-form-section{border-radius:16px;padding:25px}.info-card{padding:20px}.section-header h2{font-size:1.6rem}.horaire-item{align-items:flex-start;flex-direction:column;gap:5px}.info-icon{font-size:1.6rem;height:45px;width:45px}}@media (max-width:480px){.contact-hero{padding:60px 15px 40px}.contact-hero .page-title{font-size:1.8rem}.contact-grid{gap:25px;padding:30px 15px}.contact-form-section{padding:20px}.contact-form{gap:20px}.form-group input,.form-group select,.form-group textarea{padding:12px 15px}.contact-form .btn{font-size:1rem;padding:14px 28px}}.prestataires-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh}.prestataires-hero{background:linear-gradient(135deg,#000,#1a1a1a 50%,#2a2a2a);color:#fff;margin-bottom:var(--spacing-xl);overflow:hidden;padding:80px 20px 60px;position:relative;text-align:center}.prestataires-hero:before{animation:floatLeft 8s ease-in-out infinite;background:#ffffff14;border-radius:50%;content:"";height:500px;left:-10%;position:absolute;top:-50%;width:500px}@keyframes floatLeft{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-30px) rotate(-10deg)}}.filters-section{background:#fff;border-radius:20px;box-shadow:0 10px 40px #0000001a;margin-bottom:var(--spacing-xl);padding:2rem}.filters-categories{border-bottom:2px solid #f0f0f0;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.filters-categories,.filters-options{display:flex;flex-wrap:wrap;justify-content:center}.filters-options{align-items:center;gap:var(--spacing-lg)}.filter-checkbox{align-items:center;cursor:pointer;display:flex;gap:var(--spacing-sm)}.filter-checkbox input[type=checkbox]{cursor:pointer;height:20px;width:20px}.filter-note{align-items:center;display:flex;gap:var(--spacing-sm)}.filter-note select{border:2px solid #e0e0e0;border-radius:var(--radius-md);font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-md)}.prestataires-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-bottom:var(--spacing-xl)}.prestataire-card{display:flex;flex-direction:column;height:100%;position:relative;transition:all var(--transition-base)}.prestataire-card:hover{box-shadow:0 12px 40px #00000026;transform:translateY(-8px)}.prestataire-logo{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:var(--radius-md) var(--radius-md) 0 0;display:flex;height:200px;justify-content:center;margin:-1.5rem -1.5rem var(--spacing-md);overflow:hidden;width:100%}.prestataire-logo img{height:100%;object-fit:cover;width:100%}.logo-placeholder{align-items:center;background:var(--color-primary);border-radius:50%;color:#fff;display:flex;font-size:3rem;font-weight:700;height:120px;justify-content:center;width:120px}.prestataire-header{margin-bottom:var(--spacing-md);position:relative}.prestataire-nom{color:var(--color-primary);font-size:var(--font-size-xl);margin-bottom:var(--spacing-xs)}.prestataire-categorie{background-color:var(--color-primary);border-radius:var(--radius-md);color:#fff;display:inline-block;font-size:var(--font-size-sm);font-weight:600;padding:var(--spacing-xs) var(--spacing-sm)}.badge-verified{align-items:center;border-radius:50%;display:flex;font-size:1.2rem;font-weight:700;height:30px;justify-content:center;position:absolute;right:0;top:0;width:30px}.prestataire-rating{align-items:center;display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.stars{display:flex;gap:2px}.star{font-size:1.2rem}.star.filled,.star.half{color:#f39c12}.star.half{opacity:.5}.star.empty{color:#ddd}.rating-text{color:#666;font-size:var(--font-size-sm)}.prestataire-description{color:#666;flex-grow:1;line-height:1.6;margin-bottom:var(--spacing-md)}.prestataire-specialites{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.specialite-tag{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm)}.prestataire-tarifs{background:#f8f9fa;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.25rem;margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.tarif-label{color:#999;font-size:var(--font-size-sm)}.tarif-montant{color:var(--color-primary);font-size:var(--font-size-2xl);font-weight:700}.prestataire-actions{align-items:center;border-top:2px solid #f0f0f0;display:flex;gap:var(--spacing-sm);justify-content:space-between;margin-top:auto;padding-top:var(--spacing-md)}.badge-premium{background:linear-gradient(135deg,#f39c12,#e67e22);border-radius:var(--radius-md);color:#fff;font-size:var(--font-size-sm);font-weight:600;padding:var(--spacing-xs) var(--spacing-sm)}.no-prestataires{padding:var(--spacing-xl) 0;text-align:center}.no-prestataires p{color:#666;font-size:var(--font-size-lg);margin-bottom:var(--spacing-lg)}.prestataire-cta{background:linear-gradient(135deg,#1a1a2e0d,#0f34600d);border-radius:var(--radius-lg);margin:var(--spacing-xl) 0;padding:var(--spacing-xl);text-align:center}.prestataire-cta h2{color:var(--color-primary);margin-bottom:var(--spacing-sm)}.prestataire-cta p{color:#666;font-size:var(--font-size-lg);margin-bottom:var(--spacing-lg)}@media (max-width:768px){.prestataires-grid{grid-template-columns:1fr}.filters-categories{justify-content:flex-start}.filters-options{align-items:flex-start}.filters-options,.prestataire-actions{flex-direction:column}.prestataire-actions .btn{width:100%}}.prest-section-animated{opacity:0}.prest-section-animated.prest-visible{opacity:1;transition:opacity .4s ease}.prestataire-profil-page{min-height:100vh}.profil-hero{background:linear-gradient(135deg,#000,#1a1a2e);color:#fff;margin-bottom:var(--spacing-xl);padding:var(--spacing-xl) 0}.hero-content{grid-gap:var(--spacing-xl);align-items:center;display:grid;gap:var(--spacing-xl);grid-template-columns:auto 1fr auto}.hero-logo{align-items:center;background:#fff;border-radius:50%;box-shadow:var(--shadow-lg);display:flex;height:150px;justify-content:center;overflow:hidden;width:150px}.hero-logo img{height:100%;object-fit:cover;width:100%}.hero-info h1{color:#fff;font-size:clamp(1.8rem,4vw,2.5rem);margin-bottom:var(--spacing-xs)}.hero-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.categorie-badge,.hero-header{margin-bottom:var(--spacing-sm)}.categorie-badge{background:#fff3;border-radius:var(--radius-full);display:inline-block;padding:var(--spacing-xs) var(--spacing-md)}.rating-large{align-items:center;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.rating-large .stars{display:flex;font-size:1.5rem;gap:4px}.rating-number{font-size:var(--font-size-xl);font-weight:700}.reviews-count{opacity:.8}.stats-quick{display:flex;gap:var(--spacing-xl)}.stat-item{display:flex;flex-direction:column}.stat-value{font-size:var(--font-size-2xl)}.stat-label{font-size:var(--font-size-sm);opacity:.8}.hero-actions{display:flex;flex-direction:column;gap:var(--spacing-md)}.hero-actions .btn{white-space:nowrap}.badge-verified{background:#27ae60;border-radius:var(--radius-md);color:#fff;font-size:var(--font-size-sm);font-weight:600;padding:var(--spacing-xs) var(--spacing-sm)}.galerie-photos{margin-bottom:var(--spacing-xl)}.photos-grid{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(4,1fr)}.photo-item{aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden}.photo-item img{height:100%;object-fit:cover;transition:transform var(--transition-base);width:100%}.photo-item:hover img{transform:scale(1.1)}.tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);overflow-x:auto}.tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:var(--font-size-base);font-weight:600;padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-base);white-space:nowrap}.tab-btn.active,.tab-btn:hover{color:var(--color-primary)}.tab-btn.active{border-bottom-color:var(--color-primary)}.tab-content{min-height:400px}.apropos-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.description-section h2{color:var(--color-primary);margin-bottom:var(--spacing-md)}.description-section p{color:#555;line-height:1.8}.specialites-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.specialite-tag{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:var(--radius-md);color:#555;padding:var(--spacing-sm) var(--spacing-md)}.contact-section h3{color:var(--color-primary);margin-bottom:var(--spacing-md)}.contact-info p{color:#555;font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm)}.contact-info a{color:var(--color-primary);text-decoration:none}.contact-info a:hover{text-decoration:underline}.social-links{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md)}.social-links a{background:var(--color-primary);border-radius:var(--radius-md);color:#fff;padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:all var(--transition-base)}.social-links a:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.materiel-grid,.prestations-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.materiel-card h4,.prestation-card h4{color:var(--color-primary);margin-bottom:var(--spacing-sm)}.materiel-card p,.prestation-card p{color:#666;line-height:1.6;margin-bottom:var(--spacing-md)}.materiel-footer,.prestation-footer{align-items:center;border-top:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-top:auto;padding-top:var(--spacing-md)}.prix{color:var(--color-primary);font-size:var(--font-size-xl);font-weight:700}.materiel-image{border-radius:var(--radius-md);height:200px;margin-bottom:var(--spacing-md);overflow:hidden;width:100%}.materiel-image img{height:100%;object-fit:cover;width:100%}.categorie-tag{background:#e9ecef;border-radius:var(--radius-md);display:inline-block;font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm)}.prix-info{display:flex;flex-direction:column;gap:.25rem}.dispo{color:#27ae60}.dispo,.indispo{font-size:var(--font-size-sm);font-weight:600}.indispo{color:#e74c3c}.avis-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.avis-card{padding:var(--spacing-lg)}.avis-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm)}.client-name{color:var(--color-primary);font-weight:600}.stars-small{display:flex;gap:2px}.avis-commentaire{color:#555;line-height:1.6;margin-bottom:var(--spacing-md)}.avis-meta{color:#999;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-md)}.empty-message{font-size:var(--font-size-lg);padding:var(--spacing-xl) 0}@media (max-width:968px){.hero-content{grid-template-columns:1fr;text-align:center}.hero-logo{margin:0 auto}.hero-header,.stats-quick{justify-content:center}.hero-actions{margin:0 auto}.photos-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.materiel-grid,.prestations-grid{grid-template-columns:1fr}.tabs{justify-content:flex-start}}:root{--color-primary:#000;--color-primary-light:#333;--color-primary-dark:#000;--color-secondary:#fff;--color-secondary-light:#f8f9fa;--color-accent:#1a1a1a;--color-accent-light:#e0e0e0;--color-white:#fff;--color-light-gray:#f8f9fa;--color-gray:#e9ecef;--color-medium-gray:#6c757d;--color-dark-gray:#343a40;--color-black:#000;--text-primary:#000;--text-secondary:#333;--text-light:#666;--text-white:#fff;--bg-primary:#fff;--bg-secondary:#f8f9fa;--bg-tertiary:#e9ecef;--bg-dark:#000;--color-success:#28a745;--color-info:#17a2b8;--color-warning:#ffc107;--color-danger:#dc3545;--font-family-primary:"Montserrat","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-family-heading:"Cinzel","Playfair Display",Georgia,serif;--font-family-accent:"Cormorant Garamond","Palatino Linotype",Georgia,serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-size-6xl:3.75rem;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--line-height-loose:2;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--spacing-4xl:6rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000012;--shadow-lg:0 10px 15px #0000001a;--shadow-xl:0 20px 25px #00000026;--shadow-2xl:0 25px 50px #00000040;--transition-fast:0.15s ease;--transition-base:0.3s ease;--transition-slow:0.5s ease;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--bg-primary);font-family:Montserrat,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-family-primary);font-size:1rem;font-size:var(--font-size-base);line-height:1.5;line-height:var(--line-height-normal)}body,h1,h2,h3,h4,h5,h6{color:#000;color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-family:Cinzel,Playfair Display,Georgia,serif;font-family:var(--font-family-heading);font-weight:700;font-weight:var(--font-weight-bold);line-height:1.25;line-height:var(--line-height-tight);margin-bottom:1rem;margin-bottom:var(--spacing-md)}h1{font-size:3rem;font-size:var(--font-size-5xl);font-weight:800;font-weight:var(--font-weight-extrabold)}h2{font-size:2.25rem;font-size:var(--font-size-4xl)}h2,h3{font-weight:700;font-weight:var(--font-weight-bold)}h3{font-size:1.875rem;font-size:var(--font-size-3xl)}h4{font-size:1.5rem;font-size:var(--font-size-2xl)}h4,h5{font-weight:600;font-weight:var(--font-weight-semibold)}h5{font-size:1.25rem;font-size:var(--font-size-xl)}h6{font-size:1.125rem;font-size:var(--font-size-lg);font-weight:500;font-weight:var(--font-weight-medium)}p{line-height:1.75;line-height:var(--line-height-relaxed);margin-bottom:1rem;margin-bottom:var(--spacing-md)}a{color:#000;color:var(--color-primary);text-decoration:none;transition:color .3s ease;transition:color var(--transition-base)}a:hover{color:#000;color:var(--color-primary-dark)}.text-primary{color:#000;color:var(--text-primary)}.text-secondary{color:#333;color:var(--text-secondary)}.text-light{color:#666;color:var(--text-light)}.text-white{color:#fff;color:var(--text-white)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-light{font-weight:300;font-weight:var(--font-weight-light)}.font-normal{font-weight:400;font-weight:var(--font-weight-normal)}.font-medium{font-weight:500;font-weight:var(--font-weight-medium)}.font-semibold{font-weight:600;font-weight:var(--font-weight-semibold)}.font-bold{font-weight:700;font-weight:var(--font-weight-bold)}.font-extrabold{font-weight:800;font-weight:var(--font-weight-extrabold)}.bg-white{background-color:#fff;background-color:var(--bg-primary)}.bg-light{background-color:#f8f9fa;background-color:var(--bg-secondary)}.bg-gray{background-color:#e9ecef;background-color:var(--bg-tertiary)}.bg-dark{background-color:#000;background-color:var(--bg-dark)}.bg-primary{background-color:#000;background-color:var(--color-primary)}.bg-secondary{background-color:#fff;background-color:var(--color-secondary)}.btn{border:2px solid #0000;border-radius:.75rem;border-radius:var(--radius-lg);display:inline-block;font-family:Cinzel,Playfair Display,Georgia,serif;font-family:var(--font-family-heading);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);padding:1rem 2rem;padding:var(--spacing-md) var(--spacing-xl);text-align:center;text-decoration:none;transition:all var(--transition-base);white-space:nowrap}.btn-primary{background-color:#000;background-color:var(--color-primary);border-color:#000;border-color:var(--color-primary);color:var(--text-white)}.btn-primary:hover{background-color:#000;background-color:var(--color-primary-dark);border-color:#000;border-color:var(--color-primary-dark);box-shadow:0 10px 15px #0000001a;box-shadow:var(--shadow-lg)}.btn-secondary{background-color:#fff;border-color:#1a1a2e;color:#1a1a2e}.btn-secondary:hover{background-color:#1a1a2e;border-color:#1a1a2e;box-shadow:0 10px 25px #0000004d;color:#fff;transform:translateY(-2px)}.btn-accent{background:linear-gradient(135deg,#1a1a1a,#e0e0e0);background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-light) 100%);border:none;color:#000;color:var(--color-black)}.btn-accent:hover{box-shadow:0 10px 25px #d4af3766;transform:translateY(-2px)}.btn-outline{background-color:initial;border-color:#000;border-color:var(--color-primary);color:#000;color:var(--color-primary)}.btn-outline:hover{background-color:#000;background-color:var(--color-primary);color:#fff;color:var(--text-white)}.btn-primary-outline{background-color:initial;border-color:#fff;border-color:var(--text-white);color:#fff;color:var(--text-white)}.btn-primary-outline:hover{background-color:#fff;background-color:var(--text-white);color:#000;color:var(--color-primary)}.btn-lg{font-size:1.125rem;font-size:var(--font-size-lg);padding:1.5rem 3rem;padding:var(--spacing-lg) var(--spacing-2xl)}.btn-sm{font-size:.875rem;font-size:var(--font-size-sm);padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md)}.section{padding:6rem 0;padding:var(--spacing-4xl) 0}.section-title{color:#000;color:var(--text-primary);font-size:2.25rem;font-size:var(--font-size-4xl);font-weight:700;font-weight:var(--font-weight-bold);margin-bottom:3rem;margin-bottom:var(--spacing-2xl)}.section-subtitle{color:#333;color:var(--text-secondary);font-size:1.125rem;font-size:var(--font-size-lg);line-height:1.75;line-height:var(--line-height-relaxed);margin-bottom:2rem;margin-bottom:var(--spacing-xl)}@media (max-width:1200px){:root{--font-size-5xl:2.5rem;--font-size-4xl:2rem}.container{padding:0 1.5rem}}@media (max-width:768px){:root{--font-size-5xl:2rem;--font-size-4xl:1.75rem;--font-size-3xl:1.5rem;--spacing-4xl:3rem}.container{padding:0 1rem}.section{padding:3rem 0;padding:var(--spacing-2xl) 0}}@media (max-width:480px){:root{--font-size-5xl:1.75rem;--font-size-4xl:1.5rem}}.a-propos-page{background:#f8f9fa;color:#1a1a2e;min-height:100vh}.ap-reveal{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.ap-reveal.visible{opacity:1;transform:translateY(0)}.ap-reveal-left{opacity:0;transform:translateX(-60px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.ap-reveal-left.visible{opacity:1;transform:translateX(0)}.ap-reveal-right{opacity:0;transform:translateX(60px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.ap-reveal-right.visible{opacity:1;transform:translateX(0)}.ap-reveal-scale{opacity:0;transform:scale(.88);transition:opacity .7s ease,transform .7s cubic-bezier(.34,1.56,.64,1)}.ap-reveal-scale.visible{opacity:1;transform:scale(1)}.ap-delay-1{transition-delay:.1s}.ap-delay-2{transition-delay:.2s}.ap-delay-3{transition-delay:.3s}.ap-delay-4{transition-delay:.4s}.ap-hero{background:linear-gradient(135deg,#000,#1a1a2e 60%,#0d2137);color:#fff;overflow:hidden;padding:100px 20px 80px;position:relative}.ap-hero-bg-shapes{inset:0;pointer-events:none;position:absolute}.ap-shape{animation:ap-float 8s ease-in-out infinite;background:#fff;border-radius:50%;opacity:.06;position:absolute}.ap-shape-1{height:500px;right:-100px;top:-200px;width:500px}.ap-shape-2{animation-delay:-3s;bottom:-100px;height:300px;left:-80px;width:300px}.ap-shape-3{animation-delay:-5s;height:200px;left:30%;opacity:.04;top:40%;width:200px}@keyframes ap-float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.05)}}.ap-hero-inner{align-items:center;display:flex;gap:4rem;margin:0 auto;max-width:960px;position:relative;z-index:1}.ap-hero-photo-wrap{flex-shrink:0}.ap-hero-photo,.ap-hero-photo-wrap{height:220px;position:relative;width:220px}.ap-hero-photo{border:4px solid #d4af37cc;border-radius:50%;object-fit:cover;z-index:1}.ap-hero-photo-placeholder{align-items:center;background:linear-gradient(135deg,#d4af37,#f0d060);border-radius:50%;box-shadow:0 0 0 4px #d4af3799;display:flex;font-size:5rem;height:220px;justify-content:center;position:relative;width:220px;z-index:1}.ap-hero-photo-ring{animation:ap-spin 20s linear infinite;border:2px dashed #d4af3766;border-radius:50%;inset:-12px;position:absolute}@keyframes ap-spin{to{transform:rotate(1turn)}}.ap-hero-text{flex:1 1}.ap-hero-sur-titre{background:#d4af3733;border:1px solid #d4af3766;border-radius:20px;color:#d4af37;display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:.08em;margin-bottom:1rem;padding:.3rem 1rem;text-transform:uppercase}.ap-hero-titre{color:#fff;font-size:clamp(2rem,5vw,3.2rem);font-weight:800;line-height:1.2;margin:0 0 1rem}.ap-hero-citation{border-left:3px solid #d4af37;color:#ffffffbf;font-size:1.15rem;font-style:italic;line-height:1.6;margin-bottom:2rem;padding-left:1rem}.ap-hero-cta{display:flex;flex-wrap:wrap;gap:1rem}.ap-section{padding:50px 20px}.ap-section-light{background:#fff}.ap-section-dark{background:linear-gradient(135deg,#0d0d1a,#1a1a2e);color:#fff}.ap-section-gold{background:#f4f6fa;border-bottom:3px solid #d4af374d;border-top:3px solid #d4af374d;color:#1a1a2e}.ap-section-accent{background:#f4f6fa;border-bottom:3px solid #d4af3740;border-top:3px solid #d4af3740}.ap-section-badge{background:#d4af3726;border:1px solid #d4af3780;border-radius:20px;color:#b8861a;display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.06em;margin-bottom:1rem;padding:.3rem 1rem;text-transform:uppercase}.ap-badge-light{background:#ffffff26;border-color:#ffffff4d;color:#ffffffe6}.ap-section-titre{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;line-height:1.25;margin:0 0 1rem}.ap-titre-light{color:#fff}.ap-qui-inner{margin:0 auto;max-width:760px}.ap-qui-contenu p{color:#444;font-size:1rem;line-height:1.75;margin-bottom:.75rem}.ap-bio-split{align-items:center;display:flex;gap:3.5rem;margin:0 auto;max-width:960px}.ap-bio-split.sans-photo .ap-bio-texte{margin:0 auto;max-width:760px;width:100%}.ap-bio-texte{flex:1 1;min-width:0}.ap-bio-photo{flex-shrink:0;width:300px}.ap-bio-photo img{aspect-ratio:3/4;border-radius:16px;box-shadow:0 8px 32px #0000002e;display:block;object-fit:cover;transition:transform .5s ease,box-shadow .5s ease;width:100%}.ap-bio-photo img:hover{box-shadow:0 16px 48px #00000047;transform:scale(1.03)}.ap-bio-photo .ap-photo-placeholder-wrap{aspect-ratio:3/4;border-radius:16px;box-shadow:0 8px 32px #0000002e;overflow:hidden;position:relative;width:100%}.ap-bio-photo .ap-photo-placeholder-wrap img{aspect-ratio:unset;border-radius:0;box-shadow:none;height:100%;width:100%}.ap-bio-photo .ap-photo-placeholder-wrap:after{background:#00000080;bottom:0;color:#ffffffb3;content:"Photo d'illustration";font-size:.72rem;font-style:italic;left:0;padding:.4rem;position:absolute;right:0;text-align:center}.ap-bio-split.photo-droite .ap-bio-texte{order:1}.ap-bio-split.photo-droite .ap-bio-photo,.ap-bio-split.photo-gauche .ap-bio-texte{order:2}.ap-bio-split.photo-gauche .ap-bio-photo{order:1}.ap-section-dark .ap-bio-photo .ap-photo-placeholder-wrap,.ap-section-dark .ap-bio-photo img{border:2px solid #d4af3759}.ap-texte-light p{color:#ffffffd1;font-size:1rem;line-height:1.8;margin-bottom:.75rem}.ap-valeurs-grid{grid-gap:1.2rem;display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.ap-valeur-card{background:#fff;border:1px solid #e8e8f0;border-radius:14px;box-shadow:0 4px 16px #0000000d;padding:1.4rem 1.2rem;text-align:center;transition:box-shadow .3s,transform .3s}.ap-valeur-card:hover{box-shadow:0 12px 40px #0000001f;transform:translateY(-4px)}.ap-valeur-icone{display:block;font-size:2rem;margin-bottom:.7rem}.ap-valeur-titre{color:#1a1a2e;font-size:1.1rem;font-weight:700;margin:0 0 .6rem}.ap-valeur-desc{color:#666;font-size:.92rem;line-height:1.6;margin:0}.ap-timeline{margin:0 auto;max-width:840px;padding:0 0 2rem;position:relative}.ap-timeline:before{background:linear-gradient(180deg,#d4af37,#d4af371a);bottom:0;content:"";left:50%;position:absolute;top:0;transform:translateX(-50%);width:3px}.ap-timeline-item{align-items:flex-start;display:flex;gap:2rem;margin-bottom:3rem;position:relative}.ap-timeline-item.gauche{flex-direction:row;padding-right:55%}.ap-timeline-item.droite{flex-direction:row-reverse;padding-left:55%}.ap-timeline-annee{background:#d4af37;border-radius:20px;color:#1a1a2e;flex-shrink:0;font-size:.9rem;font-weight:800;padding:.4rem .8rem;white-space:nowrap}.ap-timeline-dot{background:#d4af37;border:3px solid #1a1a2e;border-radius:50%;box-shadow:0 0 0 3px #d4af37;height:16px;left:50%;position:absolute;top:6px;transform:translateX(-50%);width:16px;z-index:1}.ap-timeline-carte{background:#ffffff14;border:1px solid #ffffff1f;border-radius:12px;flex:1 1;padding:1.2rem 1.5rem}.ap-timeline-carte h3{color:#d4af37;font-size:1rem;font-weight:700;margin:0 0 .4rem}.ap-timeline-carte p{color:#ffffffbf;font-size:.9rem;line-height:1.6;margin:0}.ap-cta-final{background:linear-gradient(135deg,#0d0d1a,#1a1a2e);border-top:3px solid #d4af3766;padding:60px 20px;text-align:center}.ap-cta-inner{margin:0 auto;max-width:620px}.ap-cta-final h2{color:#fff;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;margin:0 0 .8rem}.ap-cta-final p{color:#ffffffbf;font-size:1rem;line-height:1.65;margin-bottom:1.8rem}.ap-cta-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn-lg{font-size:1rem;padding:.9rem 2.2rem}.ap-galerie-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.ap-galerie-item{aspect-ratio:4/3;background:#e0e0e0;border-radius:12px;box-shadow:0 4px 16px #00000014;cursor:pointer;overflow:hidden;position:relative;transition:transform .3s,box-shadow .3s}.ap-galerie-item:hover{box-shadow:0 12px 32px #0000002e;transform:scale(1.03)}.ap-galerie-item img{display:block;height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.ap-galerie-item:hover img{transform:scale(1.06)}.ap-galerie-overlay{align-items:center;background:linear-gradient(0deg,#000000a6 0,#0000 50%);display:flex;flex-direction:column;inset:0;justify-content:flex-end;opacity:0;padding:1rem;position:absolute;transition:opacity .3s}.ap-galerie-item:hover .ap-galerie-overlay{opacity:1}.ap-galerie-zoom{filter:drop-shadow(0 2px 6px rgba(0,0,0,.4));font-size:2rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.ap-galerie-overlay p{color:#fff;font-size:.85rem;line-height:1.4;margin:0;text-align:center}.ap-lightbox{align-items:center;animation:ap-lb-in .2s ease;background:#000000ed;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}@keyframes ap-lb-in{0%{opacity:0}to{opacity:1}}.ap-lightbox-content{align-items:center;display:flex;flex-direction:column;gap:.8rem;max-height:88vh;max-width:90vw;position:relative}.ap-lightbox-content img{border-radius:8px;box-shadow:0 8px 48px #0009;max-height:78vh;max-width:90vw;object-fit:contain}.ap-lightbox-legende{color:#fffc;font-size:.95rem;font-style:italic;margin:0;text-align:center}.ap-lightbox-count{color:#ffffff73;font-size:.8rem}.ap-lightbox-close{background:#ffffff1f;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.2rem;height:44px;position:fixed;right:1.4rem;top:1.2rem;transition:background .2s;width:44px;z-index:10000}.ap-lightbox-close:hover{background:#ffffff40}.ap-lightbox-nav{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:52px;justify-content:center;line-height:1;position:fixed;top:50%;transform:translateY(-50%);transition:background .2s;width:52px;z-index:10000}.ap-lightbox-nav:hover{background:#d4af3780}.ap-lightbox-prev{left:1rem}.ap-lightbox-next{right:1rem}@media (max-width:768px){.ap-hero{padding:70px 16px 50px}.ap-hero-inner{flex-direction:column;gap:2rem;text-align:center}.ap-hero-citation{text-align:left}.ap-hero-cta{justify-content:center}.ap-hero-photo-ring{display:none}.ap-reveal-left,.ap-reveal-right{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}.ap-reveal-left.visible,.ap-reveal-right.visible{opacity:1;transform:translateY(0)}.ap-bio-split{flex-direction:column;gap:1.5rem}.ap-bio-split .ap-bio-photo,.ap-bio-split .ap-bio-texte{order:0!important;width:100%}.ap-bio-photo .ap-photo-placeholder-wrap,.ap-bio-photo img{aspect-ratio:16/9}.ap-bio-photo .ap-photo-placeholder-wrap img{aspect-ratio:unset}.ap-timeline:before{left:20px}.ap-timeline-item.droite,.ap-timeline-item.gauche{flex-direction:column;padding:0 0 0 52px}.ap-timeline-dot{left:20px}.ap-valeurs-grid{grid-template-columns:1fr 1fr}.ap-galerie-grid{gap:.7rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.ap-lightbox-nav{font-size:1.5rem;height:40px;width:40px}}@media (max-width:480px){.ap-valeurs-grid{grid-template-columns:1fr}.ap-hero-photo,.ap-hero-photo-placeholder,.ap-hero-photo-wrap{height:160px;width:160px}}.temoignages-page{min-height:100vh}.temoignages-hero{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);display:flex;min-height:420px;overflow:hidden;padding:140px 0 80px;position:relative}.temoignages-hero:before{background-image:radial-gradient(circle at 20% 50%,#d4af3726 0,#0000 50%),radial-gradient(circle at 80% 20%,#d4af371a 0,#0000 40%);content:"";inset:0;position:absolute}.temoignages-hero-overlay{display:none}.temoignages-hero-content{color:#fff;position:relative;text-align:center;z-index:2}.temoignages-hero-tag{background:#d4af3733;border:1px solid #d4af3766;border-radius:50px;color:#d4af37;display:inline-block;font-size:.9rem;font-weight:600;letter-spacing:.05em;margin-bottom:1.2rem;padding:.4rem 1.2rem}.temoignages-hero h1{color:#fff;font-size:clamp(2rem,5vw,3.5rem);font-weight:800;margin-bottom:1rem}.temoignages-hero-subtitle{font-size:clamp(1rem,2vw,1.2rem);line-height:1.7;margin:0 auto 2.5rem;max-width:600px;opacity:.8}.temoignages-stats{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff26;border-radius:1rem;display:flex;gap:0;justify-content:center;margin:0 auto;max-width:500px;padding:1.5rem 2rem}.stat-item{flex:1 1}.stat-number{color:#d4af37;display:block;font-size:2rem;font-weight:800;line-height:1;margin-bottom:.3rem}.stat-label{font-size:.8rem;letter-spacing:.05em;opacity:.7;text-transform:uppercase}.stat-divider{background:#fff3;height:50px;margin:0 1rem;width:1px}.temoignages-filtres-section{background:#f8f9fa;border-bottom:1px solid #e0e0e0;padding:2rem 0;position:-webkit-sticky;position:sticky;top:80px;z-index:10}.temoignages-filtres{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.filtre-btn{background:#fff;border:2px solid #e0e0e0;border-radius:50px;color:#555;cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1.4rem;transition:all .2s ease}.filtre-btn:hover{border-color:#d4af37;color:#d4af37}.filtre-btn.actif{background:#d4af37;border-color:#d4af37;color:#fff}.temoignages-grille-section{background:#fff;padding:5rem 0}.temoignages-grille{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.temoignage-card{background:#fff;border:1px solid #f0f0f0;border-radius:1.2rem;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;gap:1.2rem;padding:2rem;transition:transform .3s ease,box-shadow .3s ease}.temoignage-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-4px)}.temoignage-card-top{align-items:center;display:flex;justify-content:space-between}.temoignage-etoiles{display:flex;gap:2px}.etoile{color:#e0e0e0;font-size:1.1rem}.etoile.active{color:#d4af37}.temoignage-evenement{background:#d4af371a;border-radius:50px;color:#d4af37;font-size:.75rem;font-weight:700;letter-spacing:.08em;padding:.3rem .8rem;text-transform:uppercase}.temoignage-message{border-left:3px solid #d4af37;color:#444;flex:1 1;font-size:1rem;font-style:italic;line-height:1.7;margin:0;padding-left:1rem}.temoignage-card-bottom{align-items:center;border-top:1px solid #f0f0f0;display:flex;gap:.75rem;padding-top:1rem}.temoignage-avatar{align-items:center;background:linear-gradient(135deg,#1a1a2e,#d4af37);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.1rem;font-weight:800;height:44px;justify-content:center;width:44px}.temoignage-auteur-info{display:flex;flex-direction:column;gap:.2rem}.temoignage-auteur-info strong{color:#1a1a2e;font-size:.95rem}.temoignage-auteur-info span{color:#888;font-size:.8rem}.temoignage-date{color:#bbb!important;display:block;font-size:.75rem!important}.temoignages-loading{color:#888;padding:4rem;text-align:center}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #f0f0f0;border-radius:50%;border-top-color:#d4af37;height:40px;margin:0 auto 1rem;width:40px}.temoignages-vide{color:#888;font-size:1.1rem;padding:4rem;text-align:center}.temoignages-cta{background:linear-gradient(135deg,#f8f5e4,#fdf8e8);border-bottom:1px solid #e8d999;border-top:1px solid #e8d999;padding:5rem 0}.temoignages-cta-content{text-align:center}.temoignages-cta-icon{font-size:3rem;margin-bottom:1rem}.temoignages-cta h2{color:#1a1a2e;font-size:2rem;font-weight:800;margin-bottom:.75rem}.temoignages-cta p{color:#666;font-size:1.05rem;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:500px}.btn-gold{background:#d4af37;border-radius:50px;box-shadow:0 4px 15px #d4af374d;color:#1a1a2e;display:inline-block;font-size:1rem;font-weight:700;padding:.9rem 2.5rem;text-decoration:none;transition:all .3s ease}.btn-gold:hover{background:#c9a227;box-shadow:0 6px 20px #d4af3766;color:#1a1a2e;transform:translateY(-2px)}.temoignages-devis-cta{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;padding:6rem 0;text-align:center}.temoignages-devis-cta h2{color:#fff;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;margin-bottom:1rem}.temoignages-devis-cta p{font-size:1.1rem;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;max-width:500px;opacity:.8}.cta-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn-primary-gold{background:#d4af37;border-radius:50px;box-shadow:0 4px 20px #d4af3766;color:#1a1a2e;display:inline-block;font-size:1rem;font-weight:700;padding:1rem 2.5rem;text-decoration:none;transition:all .3s ease}.btn-primary-gold:hover{background:#c9a227;color:#1a1a2e;transform:translateY(-3px)}.btn-outline-gold{background:#0000;border:2px solid #d4af37;border-radius:50px;color:#d4af37;display:inline-block;font-size:1rem;font-weight:700;padding:1rem 2.5rem;text-decoration:none;transition:all .3s ease}.btn-outline-gold:hover{background:#d4af371a;color:#d4af37;transform:translateY(-3px)}@media (max-width:768px){.temoignages-hero{padding:120px 0 60px}.temoignages-stats{padding:1rem}.stat-number{font-size:1.5rem}.temoignages-grille{grid-template-columns:1fr}.temoignages-filtres-section{top:70px}}.admin-login-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:80vh;padding:var(--spacing-xl) 0}.login-card{border-radius:12px;box-shadow:0 10px 40px #0003;max-width:450px;padding:var(--spacing-xl);width:100%}.login-header{margin-bottom:var(--spacing-xl);text-align:center}.login-header h1{color:#333;color:var(--color-primary,#333);font-size:2rem;margin-bottom:var(--spacing-sm)}.login-header .subtitle{color:#666;font-size:.95rem}.form-group,.login-form{margin-bottom:var(--spacing-lg)}.form-group{text-align:left}.form-group label{margin-bottom:var(--spacing-xs)}.form-group .required{color:#e74c3c}.form-group input{box-sizing:border-box;font-size:1rem;padding:12px;transition:all .3s ease;width:100%}.form-group input:focus{box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.alert{border-radius:8px;font-size:.95rem;margin-bottom:var(--spacing-lg);padding:12px 16px}.alert-error{background-color:#fee;border:1px solid #fcc;color:#c33}.btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-primary:hover:not(:disabled){box-shadow:0 5px 20px #667eea66}.btn-block{width:100%}.login-footer{border-top:1px solid #e0e0e0;padding-top:var(--spacing-lg);text-align:center}.info-text{background-color:#fff3cd;border-left:4px solid #ffc107;border-radius:8px;color:#666;font-size:.9rem;margin-bottom:var(--spacing-md);padding:12px}.back-links{margin-top:var(--spacing-md)}.link{color:#667eea;font-weight:500;text-decoration:none;transition:color .3s ease}.link:hover{color:#764ba2;text-decoration:underline}@media (max-width:768px){.admin-login-page{padding:var(--spacing-lg) var(--spacing-md)}.login-card{padding:var(--spacing-lg)}.login-header h1{font-size:1.5rem}}.admin-dashboard{min-height:60vh;padding:var(--spacing-xl) 0}.gestion-prestations-admin{margin:0 auto;max-width:1600px;padding:2rem}.admin-header{margin-bottom:2rem;text-align:center}.admin-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;margin-bottom:.5rem}.admin-header p{color:#666;font-size:1.1rem}.admin-layout{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:350px 1fr;margin-top:2rem}.prestations-sidebar{background:#fff;border-radius:15px;box-shadow:0 4px 15px #00000014;height:-webkit-fit-content;height:fit-content;max-height:80vh;overflow-y:auto;padding:1.5rem}.prestations-sidebar h2{color:#333;font-size:1.4rem;margin-bottom:1rem}.prestations-list{display:flex;flex-direction:column;gap:.75rem}.prestation-item{background:#f8f9fa;border:2px solid #e9ecef;border-radius:10px;cursor:pointer;padding:1rem;transition:all .3s ease}.prestation-item:hover{background:#fff;border-color:#667eea;transform:translateX(5px)}.prestation-item.active{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-color:#667eea;box-shadow:0 4px 12px #667eea33}.prestation-item-nom{color:#333;font-size:1.05rem;font-weight:700;margin-bottom:.5rem}.prestation-item-badges{display:flex;flex-wrap:wrap;gap:.5rem}.badge{background:#e9ecef;border-radius:12px;color:#666;display:inline-block;font-size:.8rem;font-weight:600;padding:3px 10px}.prestation-item.active .badge{background:#667eea;color:#fff}.prestation-item-actions{display:flex;gap:.4rem;margin-top:.5rem}.btn-delete-small,.btn-edit-small{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;padding:3px 8px;transition:all .2s}.btn-edit-small{background:#e8f0fe;color:#2563eb}.btn-edit-small:hover{background:#2563eb;color:#fff}.btn-delete-small{background:#fee2e2;color:#dc2626}.btn-delete-small:hover{background:#dc2626;color:#fff}.prestation-details{background:#fff;border-radius:15px;box-shadow:0 4px 15px #00000014;min-height:500px;padding:2rem}.details-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.details-header h2{color:#333;font-size:2rem;margin:0}.categorie-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:.9rem;font-weight:600;padding:8px 16px}.details-tabs{border-bottom:2px solid #f0f0f0;display:flex;gap:.5rem;margin-bottom:2rem}.details-tabs .tab{background:#0000;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 1.5rem;transition:all .3s ease}.details-tabs .tab:hover{background:#667eea0d;color:#667eea}.details-tabs .tab.active{background:#667eea1a;border-bottom-color:#667eea;color:#667eea}.details-content{animation:fadeIn .4s ease}.tab-content{padding:1rem 0}.tab-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.tab-header h3{color:#333;font-size:1.5rem;margin:0}.add-form{background:#f8f9fa;border:2px dashed #667eea;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.add-form h4{color:#667eea;font-size:1.2rem;margin-bottom:1rem}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1rem}.form-column{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.form-column input,.form-column textarea,.form-row input,.form-row select{border:2px solid #e9ecef;border-radius:8px;font-size:.95rem;padding:.75rem 1rem;transition:all .3s ease}.form-column input:focus,.form-column textarea:focus,.form-row input:focus,.form-row select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-actions{justify-content:flex-end}.btn-danger-small,.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #667eea66}.btn-secondary{border:2px solid #e9ecef;color:#666}.btn-secondary:hover{border-color:#667eea;color:#667eea}.btn-danger-small{background:#f44336;color:#fff;font-size:.85rem;padding:.5rem 1rem}.btn-danger-small:hover{background:#d32f2f;transform:scale(1.05)}.associations-list{display:flex;flex-direction:column;gap:1rem}.association-item{align-items:center;background:#f8f9fa;border:2px solid #e9ecef;border-radius:10px;display:flex;justify-content:space-between;padding:1.25rem;transition:all .3s ease}.association-item:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26}.association-info{display:flex;flex-direction:column;gap:.5rem}.association-info strong{color:#333;font-size:1.1rem}.dispo-badge{border-radius:12px;display:inline-block;font-size:.8rem;font-weight:600;padding:4px 10px}.dispo-badge.disponible{background:#e8f5e9;color:#4caf50}.dispo-badge.sur_demande{background:#fff3e0;color:#ff9800}.dispo-badge.indisponible{background:#ffebee;color:#f44336}.tarif-badge{background:#667eea;border-radius:12px;color:#fff;display:inline-block;font-size:.85rem;font-weight:700;padding:4px 10px}.tarifs-table{overflow-x:auto;width:100%}.tarifs-table table{border-collapse:initial;border-spacing:0 .5rem;width:100%}.tarifs-table thead tr{background:#f8f9fa}.tarifs-table th{color:#333;font-size:.95rem;font-weight:700;padding:1rem;text-align:left}.tarifs-table td{background:#fff;border-bottom:2px solid #e9ecef;border-top:2px solid #e9ecef;padding:1rem}.tarifs-table td:first-child{border-left:2px solid #e9ecef;border-radius:8px 0 0 8px}.tarifs-table td:last-child{border-radius:0 8px 8px 0;border-right:2px solid #e9ecef}.tarifs-table tbody tr:hover td{background:#f8f9fa;border-color:#667eea}.galerie-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.galerie-item{border-radius:12px;box-shadow:0 4px 15px #0000001a;overflow:hidden;position:relative;transition:all .3s ease}.galerie-item:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-5px)}.galerie-item img{display:block;height:200px}.galerie-item-overlay{background:linear-gradient(0deg,#000000e6,#0000);color:#fff}.galerie-item-overlay p{font-size:.9rem;margin:0 0 .75rem}.empty-state{color:#999}.empty-state p{font-size:1.3rem;margin:0}.empty-message{color:#999;font-style:italic;padding:2rem;text-align:center}.loading-center{font-size:2rem;padding:4rem 2rem;text-align:center}.alert{align-items:center;animation:slideDown .3s ease;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:1rem 1.5rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.alert-success{background:#e8f5e9;border-left:4px solid #4caf50;color:#2e7d32}.alert-error{background:#ffebee;border-left:4px solid #f44336;color:#c62828}.alert button{background:none;border:none;color:inherit;cursor:pointer;font-size:1.5rem;opacity:.7;transition:opacity .3s ease}.alert button:hover{opacity:1}@media (max-width:1024px){.admin-layout{grid-template-columns:1fr}.prestations-sidebar{max-height:none}.form-row{grid-template-columns:1fr}.galerie-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media (max-width:768px){.gestion-prestations-admin{padding:1rem}.admin-header h1{font-size:1.8rem}.details-header{align-items:flex-start;flex-direction:column;gap:1rem}.details-tabs{flex-wrap:nowrap;overflow-x:auto}.details-tabs .tab{font-size:.9rem;padding:.75rem 1rem;white-space:nowrap}.tab-header{align-items:flex-start;gap:1rem}.form-actions,.tab-header{flex-direction:column}.form-actions button{width:100%}.association-item{align-items:flex-start;flex-direction:column;gap:1rem}.galerie-grid{grid-template-columns:1fr}}.sidebar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.sidebar-header h2{color:#333;font-size:1.4rem;margin:0}.btn-create-prestation{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:700;gap:.5rem;padding:.5rem 1rem;transition:all .3s ease}.btn-create-prestation:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-create-prestation:active{transform:translateY(0)}.modal-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:2rem;position:fixed;right:0;top:0;z-index:9999}.modal-content{animation:slideUp .3s ease;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:700px;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;padding:1.5rem 2rem}.modal-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:1.8rem;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:1.8rem;height:40px;justify-content:center;padding:0;transition:all .3s ease;width:40px}.modal-close:hover{background:#f0f0f0;color:#333}.modal-body{flex:1 1;overflow-y:auto;padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.95rem;font-weight:700;margin-bottom:.5rem}.form-input{background:#f8f9fa;border:2px solid #e9ecef;border-radius:10px;font-family:inherit;font-size:1rem;padding:.75rem 1rem;transition:all .3s ease;width:100%}.form-input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-input::placeholder{color:#adb5bd}.form-row{grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}.caracteristiques-list{display:flex;flex-direction:column;gap:.75rem}.caracteristique-item{align-items:center;display:flex;gap:.5rem}.caracteristique-item .form-input{flex:1 1;margin-bottom:0}.btn-remove-small{background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;font-size:1rem;padding:.5rem .75rem;transition:all .3s ease}.btn-remove-small:hover{background:#c82333;transform:scale(1.1)}.btn-add-caracteristique{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;padding:.75rem 1rem;transition:all .3s ease;width:100%}.btn-add-caracteristique:hover{box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-weight:600;gap:.75rem}.checkbox-label input[type=checkbox]{cursor:pointer;height:20px;width:20px}.modal-footer{background:#f8f9fa;border-bottom-left-radius:20px;border-bottom-right-radius:20px;border-top:2px solid #f0f0f0;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem}.modal-footer .btn-secondary{background:#6c757d;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:.75rem 1.5rem;transition:all .3s ease}.modal-footer .btn-secondary:hover{background:#5a6268}.modal-footer .btn-secondary:disabled{cursor:not-allowed;opacity:.5}.modal-footer .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:.75rem 1.5rem;transition:all .3s ease}.modal-footer .btn-primary:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.modal-footer .btn-primary:disabled{cursor:not-allowed;opacity:.5;transform:none}@media (max-width:768px){.modal-overlay{padding:1rem}.modal-content{border-radius:15px;max-width:100%}.modal-header{padding:1rem 1.5rem}.modal-header h2{font-size:1.4rem}.modal-body{padding:1.5rem}.form-row{grid-template-columns:1fr}.modal-footer{flex-direction:column;padding:1rem 1.5rem}.modal-footer button{width:100%}.sidebar-header{align-items:stretch;flex-direction:column;gap:1rem}.btn-create-prestation{justify-content:center;width:100%}}.upload-mode-selector{background:#f0f0f0;border-radius:10px;display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.25rem}.mode-btn{background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:600;padding:.75rem 1rem;transition:all .3s ease}.mode-btn.active{background:#fff;box-shadow:0 2px 8px #0000001a;color:#667eea}.mode-btn:hover:not(.active){background:#ffffff80;color:#333}.file-upload-zone{margin-bottom:1rem}.file-input{display:none}.file-upload-label{align-items:center;background:#f8f9fa;border:3px dashed #e9ecef;border-radius:15px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:150px;padding:2rem;transition:all .3s ease}.file-upload-label:hover{background:#667eea0d;border-color:#667eea}.upload-icon{font-size:3rem;margin-bottom:.5rem}.file-icon{font-size:2.5rem;margin-bottom:.5rem}.file-name{color:#333;font-weight:700;margin-bottom:.25rem;text-align:center;word-break:break-word}.file-size{color:#666;font-size:.85rem}.upload-hint{color:#999;font-size:.85rem;line-height:1.4;margin-top:.5rem;text-align:center}.galerie-grid img,.galerie-grid video{border-radius:10px;height:200px;object-fit:cover;width:100%}.galerie-item video{background:#000}.media-type-badge{background:#000000b3;border-radius:6px;color:#fff;display:inline-block;font-size:.75rem;font-weight:700;margin-bottom:.5rem;padding:4px 10px}.galerie-item-overlay{align-items:flex-start;background:linear-gradient(0deg,#000c,#0000);bottom:0;display:flex;flex-direction:column;gap:.5rem;left:0;opacity:0;padding:1rem;position:absolute;right:0;transition:opacity .3s ease}.galerie-item:hover .galerie-item-overlay{opacity:1}.mes-devis-page{background:linear-gradient(135deg,#000,#1a1a1a 50%,#2a2a2a);min-height:100vh;padding:80px 20px 40px}.page-container{margin:0 auto;max-width:1400px}.page-header{align-items:flex-start;display:flex;gap:2rem;justify-content:space-between;margin-bottom:2rem}.page-header h1{color:#fff;font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.page-header p{color:#b0b0b0;font-size:1.1rem;margin:0}.filters-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:15px;display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;padding:1.5rem}.search-box{flex:1 1}.search-input{background:#0000004d;border:2px solid #ffffff1a;border-radius:10px;color:#fff;font-size:1rem;padding:12px 20px;transition:all .3s ease;width:100%}.search-input:focus{border-color:#667eea;box-shadow:0 0 20px #667eea4d;outline:none}.search-input::placeholder{color:#fff6}.filter-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.filter-tab{background:#ffffff0d;border:2px solid #0000;border-radius:25px;color:#b0b0b0;cursor:pointer;font-size:.95rem;font-weight:500;padding:10px 20px;transition:all .3s ease}.filter-tab:hover{background:#ffffff1a;color:#fff}.filter-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;box-shadow:0 4px 15px #667eea66;color:#fff}.devis-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));margin-bottom:2rem}.devis-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:15px;padding:1.5rem;transition:all .3s ease}.devis-card:hover{border-color:#667eea80;box-shadow:0 10px 30px #00000080;transform:translateY(-5px)}.devis-card-header{align-items:flex-start;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.devis-numero{color:#fff;font-size:1.3rem;font-weight:700;margin:0 0 .3rem}.devis-type{color:#b0b0b0;font-size:.95rem;margin:0}.statut-badge{border-radius:20px;box-shadow:0 2px 10px #0000004d;color:#fff;font-size:.85rem;padding:6px 14px;white-space:nowrap}.devis-card-body{margin-bottom:1rem}.devis-info-row{align-items:center;border-bottom:1px solid #ffffff0d;display:flex;justify-content:space-between;padding:.6rem 0}.devis-info-row:last-child{border-bottom:none}.info-label{color:#b0b0b0;font-size:.9rem}.info-value{color:#fff;font-weight:500;text-align:right}.devis-montant{align-items:center;background:linear-gradient(135deg,#667eea33,#764ba233);border-radius:10px;display:flex;justify-content:space-between;margin-top:1rem;padding:1rem}.montant-label{color:#b0b0b0;font-size:.95rem}.montant-value{color:#fff;font-size:1.5rem;font-weight:700}.devis-date-creation{border-top:1px solid #ffffff0d;color:#fff6;font-size:.85rem;margin-top:.8rem;padding-top:.8rem;text-align:center}.devis-card-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.btn-action{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;padding:10px 16px;transition:all .3s ease;width:100%}.btn-download{background:linear-gradient(135deg,#27ae60,#229954);color:#fff}.btn-download:hover{box-shadow:0 4px 15px #27ae6066;transform:translateY(-2px)}.btn-continue{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff}.btn-continue:hover{box-shadow:0 4px 15px #f39c1266;transform:translateY(-2px)}.btn-view{background:#ffffff1a;border:1px solid #fff3;color:#fff}.btn-view:hover{background:#ffffff26;border-color:#667eea80}.empty-state{background:#ffffff08;border:2px dashed #ffffff1a;border-radius:15px;margin:2rem 0;padding:4rem 2rem;text-align:center}.empty-icon{font-size:5rem;margin-bottom:1rem;opacity:.5}.empty-state h3{color:#fff;font-size:1.8rem;margin-bottom:1rem}.empty-state p{color:#b0b0b0;font-size:1.1rem;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:500px}.stats-bar{grid-gap:1rem;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:15px;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:2rem;padding:1.5rem}.stat-item{padding:1rem;text-align:center}.stat-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;display:block;font-size:2rem;font-weight:700;margin-bottom:.5rem}.stat-label{color:#b0b0b0;display:block;font-size:.9rem}.loading-container{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:60vh}.spinner{border:4px solid #ffffff1a;border-top-color:#667eea}.loading-container p{color:#b0b0b0;font-size:1.1rem}.error-message{background:#e74c3c1a;border:1px solid #e74c3c4d;border-radius:10px;color:#e74c3c;font-weight:500;margin-bottom:1.5rem;padding:1rem 1.5rem}.btn-primary{border-radius:10px;box-shadow:0 4px 15px #667eea4d;font-size:1rem;padding:12px 28px;transition:all .3s ease}.btn-primary:hover{box-shadow:0 6px 25px #667eea80;transform:translateY(-2px)}@media (max-width:768px){.mes-devis-page{padding:60px 15px 30px}.page-header{flex-direction:column;gap:1rem}.page-header h1{font-size:2rem}.devis-grid{grid-template-columns:1fr}.filters-bar{padding:1rem}.filter-tabs{justify-content:center}.filter-tab{font-size:.85rem;padding:8px 16px}.stats-bar{gap:.5rem;grid-template-columns:repeat(3,1fr);padding:1rem}.stat-value{font-size:1.5rem}.stat-label{font-size:.8rem}}@media (max-width:480px){.page-header h1{font-size:1.6rem}.page-header p{font-size:.95rem}.devis-card{padding:1rem}.devis-numero{font-size:1.1rem}.montant-value{font-size:1.3rem}}.stats-page{background:#f4f6fb;min-height:100vh;padding:180px 20px 60px}.stats-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.stats-header h1{color:#1a1a2e;font-size:2rem;font-weight:800;margin:0}.stats-header .sous-titre{color:#888;font-size:.9rem;margin-top:.25rem}.stats-header-actions{align-items:center;display:flex;gap:.75rem}.btn-rafraichir,.btn-retour{align-items:center;border:none;border-radius:.6rem;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.6rem 1.2rem;transition:all .2s}.btn-retour{background:#f0f2f5;color:#555}.btn-retour:hover{background:#e0e3ea}.btn-rafraichir{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-rafraichir:hover{opacity:.9}.btn-rafraichir:disabled{cursor:not-allowed;opacity:.6}.stats-loading{align-items:center;color:#555;display:flex;flex-direction:column;gap:1.5rem;justify-content:center;min-height:60vh}.stats-spinner{animation:tourner .9s linear infinite;border:5px solid #e0e0e0;border-radius:50%;border-top-color:#764ba2;height:52px;width:52px}@keyframes tourner{to{transform:rotate(1turn)}}.stats-erreur{background:#fff5f5;border:1px solid #fcc;border-radius:1rem;color:#c0392b;margin:4rem auto;max-width:500px;padding:2rem;text-align:center}.kpi-grid{grid-gap:1.2rem;display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:2rem}.kpi-card{background:#fff;border-radius:1.2rem;box-shadow:0 2px 12px #00000012;display:flex;flex-direction:column;gap:.5rem;overflow:hidden;padding:1.4rem 1.5rem;position:relative;transition:transform .2s,box-shadow .2s}.kpi-card:hover{box-shadow:0 6px 22px #0000001c;transform:translateY(-3px)}.kpi-card:before{background:#764ba2;background:var(--kpi-color,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0}.kpi-icone{font-size:1.8rem;line-height:1}.kpi-valeur{color:#1a1a2e;font-size:2.2rem;font-weight:800;line-height:1}.kpi-label{color:#888;font-size:.82rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.kpi-evolution{align-items:center;display:flex;font-size:.8rem;font-weight:600;gap:.3rem}.kpi-evolution.positif{color:#27ae60}.kpi-evolution.negatif{color:#e74c3c}.kpi-evolution.neutre{color:#888}.stats-sections{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(12,1fr)}.stats-section{background:#fff;border-radius:1.2rem;box-shadow:0 2px 12px #00000012;padding:1.5rem}.stats-section.col-6{grid-column:span 6}.stats-section.col-4{grid-column:span 4}.stats-section.col-8{grid-column:span 8}.stats-section.col-12{grid-column:span 12}.section-titre{align-items:center;color:#1a1a2e;display:flex;font-size:1rem;font-weight:700;gap:.5rem;margin:0 0 1.2rem}.barre-liste{gap:.75rem}.barre-item,.barre-liste{display:flex;flex-direction:column}.barre-item{gap:.3rem}.barre-header{display:flex;font-size:.85rem;justify-content:space-between}.barre-nom{color:#444;font-weight:500}.barre-val{color:#764ba2;font-weight:700}.barre-bg{background:#f0f2f5;border-radius:99px;height:8px;overflow:hidden}.barre-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:99px;height:100%;transition:width .6s ease}.statuts-grid{display:flex;flex-wrap:wrap;gap:.6rem}.statut-badge{align-items:center;background:#f0f2f5;border-radius:99px;color:#444;display:flex;font-size:.78rem;font-weight:600;gap:.4rem;padding:.35rem .75rem}.statut-badge .badge-count{background:#fff;border-radius:99px;color:#764ba2;font-size:.8rem;font-weight:800;padding:0 .4rem}.top-liste{flex-direction:column}.top-item,.top-liste{display:flex;gap:.75rem}.top-item{align-items:center;background:#f8f9ff;border-radius:.75rem;padding:.75rem}.top-rang{align-items:center;background:linear-gradient(135deg,#f39c12,#e67e22);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.8rem;font-weight:800;height:28px;justify-content:center;width:28px}.top-rang.rang-1{background:linear-gradient(135deg,#f1c40f,#e67e22)}.top-rang.rang-2{background:linear-gradient(135deg,#95a5a6,#7f8c8d)}.top-rang.rang-3{background:linear-gradient(135deg,#cd7f32,#a05a2c)}.top-info{flex:1 1;min-width:0}.top-nom{color:#1a1a2e;font-size:.9rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-cat{color:#888;font-size:.78rem}.top-note{align-items:center;color:#f39c12;display:flex;font-size:.9rem;font-weight:700;gap:.2rem}.courbe-wrapper{align-items:flex-end;display:flex;gap:6px;height:100px;padding-top:.5rem}.courbe-col{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:4px}.courbe-barre{background:linear-gradient(180deg,#667eea,#764ba2);border-radius:4px 4px 0 0;min-height:4px;position:relative;transition:height .6s ease;width:100%}.courbe-barre:hover .courbe-tooltip{display:block}.courbe-tooltip{background:#1a1a2e;border-radius:4px;color:#fff;display:none;font-size:.72rem;left:50%;padding:3px 7px;position:absolute;top:-36px;transform:translateX(-50%);white-space:nowrap;z-index:10}.courbe-label{color:#aaa;font-size:.7rem;font-weight:500}.mini-stats-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.mini-stat{background:#f8f9ff;border-radius:.75rem;padding:.9rem;text-align:center}.mini-stat .ms-val{color:#764ba2;font-size:1.5rem;font-weight:800}.mini-stat .ms-label{color:#888;font-size:.75rem;margin-top:.2rem}@media (max-width:1024px){.stats-section.col-4,.stats-section.col-6,.stats-section.col-8{grid-column:span 12}}@media (max-width:640px){.stats-page{padding:160px 12px 40px}.kpi-grid{gap:.75rem;grid-template-columns:repeat(2,1fr)}.stats-header h1{font-size:1.4rem}.kpi-valeur{font-size:1.7rem}.stats-sections{gap:1rem}.stats-section{padding:1.1rem}}.signup-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.signup-container{max-width:600px;width:100%}.signup-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:40px}.signup-card h1{color:#1a1a1a;font-size:28px;margin:0 0 8px;text-align:center}.signup-card .subtitle{color:#666;font-size:14px;margin:0 0 32px;text-align:center}.signup-form{display:flex;flex-direction:column;gap:20px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-select{background-color:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#1a1a1a;cursor:pointer;font-size:15px;padding:12px 16px;transition:all .3s ease;width:100%}.form-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-select option{padding:10px}.form-group small{color:#666;display:block;font-size:13px;margin-top:6px}.signup-links{align-items:center;color:#666;display:flex;font-size:14px;gap:8px;justify-content:center;margin-top:24px;text-align:center}.signup-links a{color:#667eea;font-weight:600;text-decoration:none}.signup-links a:hover{text-decoration:underline}@media (max-width:650px){.signup-card{padding:30px 24px}.form-row{gap:20px;grid-template-columns:1fr}}.login-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-container{max-width:450px;width:100%}.login-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:40px}.login-card h1{color:#1a1a1a;font-size:28px;margin:0 0 8px;text-align:center}.login-card .subtitle{color:#666;font-size:14px;margin:0 0 32px;text-align:center}.error-message{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:14px;margin-bottom:20px;padding:12px 16px}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{gap:6px}.form-group label{font-size:14px}.form-group input{border:2px solid #e0e0e0;border-radius:8px;font-size:15px;padding:12px 16px;transition:border-color .2s}.form-group input:focus{border-color:#667eea;outline:none}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px;transition:transform .2s,box-shadow .2s}.btn-primary:hover:not(:disabled){box-shadow:0 8px 20px #667eea66;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:#fff;border:2px solid #667eea;border-radius:8px;color:#667eea;cursor:pointer;display:block;font-size:14px;font-weight:600;padding:12px;text-align:center;text-decoration:none;transition:all .2s}.btn-secondary:hover{background:#f8f9ff;transform:translateY(-1px)}.login-links{align-items:center;display:flex;font-size:14px;gap:12px;justify-content:center;margin-top:20px}.login-links a{color:#667eea;font-weight:500;text-decoration:none}.login-links a:hover{text-decoration:underline}.login-links span{color:#ccc}.divider{margin:24px 0;position:relative;text-align:center}.divider:before{background:#e0e0e0;content:"";height:1px;left:0;position:absolute;top:50%;width:100%}.divider span{background:#fff;color:#999;font-size:13px;font-weight:500;padding:0 16px;position:relative}@media (max-width:500px){.login-card{padding:30px 24px}.login-card h1{font-size:24px}}.mon-profil-loading{align-items:center;color:#666;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:40vh}.mon-profil-loading .spinner{animation:spin .8s linear infinite;border:4px solid #eee;border-radius:50%;border-top-color:#7c3aed;height:40px;width:40px}.mon-profil-page{background:#f8f7ff;min-height:100vh;padding:1.5rem 1rem 4rem}.mon-profil-container{margin:0 auto;max-width:800px}.mon-profil-header{margin-bottom:2rem}.btn-retour{align-items:center;background:none;border:none;color:#7c3aed;cursor:pointer;display:inline-flex;font-size:.9rem;gap:.3rem;margin-bottom:.75rem;padding:0;transition:opacity .15s}.btn-retour:hover{opacity:.75}.mon-profil-header h1{color:#1a1a2e;font-size:1.8rem;font-weight:700;margin:0 0 .25rem}.sous-titre{color:#666;font-size:.95rem}.section-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000012;margin-bottom:1.5rem;padding:1.75rem}.section-card h2{color:#1a1a2e;font-size:1.2rem;font-weight:700;margin:0 0 .5rem}.section-desc{color:#888;font-size:.875rem;line-height:1.5;margin-bottom:1.5rem}.sous-section-titre{color:#444;font-size:1rem;font-weight:600;margin:1.5rem 0 .75rem}.form-profil{margin-top:1rem}.form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-full{grid-column:1/-1}.form-group label{color:#333;font-size:.85rem;font-weight:600}.form-group label .info{color:#999;font-size:.8rem;font-weight:400}.form-group input,.form-group textarea{background:#fafafa;border:1.5px solid #e0dff5;border-radius:8px;box-sizing:border-box;color:#1a1a2e;font-size:.9rem;padding:.6rem .85rem;transition:border-color .2s;width:100%}.form-group input:focus,.form-group textarea:focus{background:#fff;border-color:#7c3aed;outline:none}.form-group textarea{min-height:100px;resize:vertical}.char-count{color:#aaa;font-size:.78rem;margin-top:-.25rem;text-align:right}.form-actions{align-items:center;border-top:1px solid #f0eeff;display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem;padding-top:1.25rem}.btn-primaire{background:linear-gradient(135deg,#7c3aed,#a855f7);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.65rem 1.5rem;transition:opacity .2s,transform .1s}.btn-primaire:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-primaire:disabled{cursor:not-allowed;opacity:.6}.succes-message{color:#16a34a;font-size:.875rem;font-weight:600}.erreur-message{color:#dc2626;font-size:.875rem;font-weight:500}.galerie-actuelle,.video-actuelle{margin-bottom:1.5rem}.galerie-actuelle h4,.video-actuelle h4{color:#555;font-size:.9rem;font-weight:600;margin-bottom:.75rem}.galerie-grille{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.galerie-item img{aspect-ratio:1;border:1.5px solid #e0dff5;border-radius:8px;object-fit:cover;width:100%}.video-player{background:#000;border-radius:10px;max-width:480px;width:100%}.lien-video{align-items:center;border:1.5px solid #e0dff5;border-radius:8px;color:#7c3aed;display:inline-flex;font-size:.9rem;font-weight:600;gap:.4rem;padding:.6rem 1rem;text-decoration:none;transition:background .15s}.lien-video:hover{background:#f5f0ff}.zone-upload{margin-top:.5rem}.dropzone{background:#faf8ff;border:2px dashed #c4b5fd;border-radius:12px;cursor:pointer;padding:2rem;text-align:center;transition:background .2s,border-color .2s}.dropzone:hover{background:#f3eeff;border-color:#7c3aed}.dropzone-icone{display:block;font-size:2.2rem;margin-bottom:.5rem}.dropzone p{color:#555;font-weight:500;margin:.25rem 0}.dropzone-sous{color:#aaa!important;font-size:.8rem!important;font-weight:400!important}.input-fichier-cache{display:none}.aperçus-container{margin-top:1.25rem}.aperçus-container h4{color:#555;font-size:.9rem;font-weight:600;margin-bottom:.75rem}.aperçus-grille{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));margin-bottom:1rem}.aperçu-item{border:1.5px solid #e0dff5;border-radius:8px;overflow:hidden;position:relative}.aperçu-item img{aspect-ratio:1;display:block;object-fit:cover;width:100%}.aperçu-video{align-items:center;aspect-ratio:1;background:#1a1a2e;color:#fff;display:flex;flex-direction:column;font-size:.75rem;gap:.25rem;justify-content:center;padding:.5rem;text-align:center}.aperçu-video span{font-size:1.8rem}.aperçu-video p{margin:0;word-break:break-all}.btn-suppr-aperçu{align-items:center;background:#000000a6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.7rem;height:22px;justify-content:center;position:absolute;right:4px;top:4px;transition:background .15s;width:22px}.btn-suppr-aperçu:hover{background:#dc2626}.upload-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}@media (max-width:600px){.form-grid{grid-template-columns:1fr}.form-full{grid-column:1}.aperçus-grille,.galerie-grille{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.section-card{padding:1.25rem}}.not-found-page{align-items:center;display:flex;justify-content:center;min-height:70vh;text-align:center}.not-found-content{max-width:600px}.error-code{color:var(--color-primary);font-size:8rem;font-weight:800;line-height:1;margin:0}.not-found-content h2{color:var(--color-text-dark);font-size:2rem;margin:var(--spacing-md) 0}.not-found-content p{color:#666;font-size:var(--font-size-lg);margin-bottom:var(--spacing-xl)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-180deg) scale(.5)}to{opacity:1;transform:rotate(0) scale(1)}}.animate-on-scroll{animation:fadeInUp .8s ease forwards;opacity:0}.animate-delay-1{animation-delay:.1s}.animate-delay-2{animation-delay:.2s}.animate-delay-3{animation-delay:.3s}.animate-delay-4{animation-delay:.4s}.animate-delay-5{animation-delay:.5s}.fade-in-up{animation:fadeInUp .8s ease forwards}.fade-in-down{animation:fadeInDown .8s ease forwards}.fade-in-left{animation:fadeInLeft .8s ease forwards}.fade-in-right{animation:fadeInRight .8s ease forwards}.scale-in{animation:scaleIn .6s cubic-bezier(.4,0,.2,1) forwards}.float-animation{animation:float 3s ease-in-out infinite}.pulse-animation{animation:pulse 2s ease-in-out infinite}.hover-lift{transition:all .4s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{box-shadow:0 20px 60px #00000026;transform:translateY(-12px)}.hover-shine{overflow:hidden;position:relative}.hover-shine:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s ease;width:100%}.hover-shine:hover:before{left:100%}.hover-zoom{overflow:hidden;transition:transform .4s ease}.hover-zoom:hover{transform:scale(1.05)}.hover-zoom img{transition:transform .4s ease}.hover-zoom:hover img{transform:scale(1.1)}.btn-ripple{overflow:hidden;position:relative}.btn-ripple:after{background:#fff6;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.btn-ripple:hover:after{height:300px;width:300px}.link-underline{position:relative;text-decoration:none}.link-underline:after{background:linear-gradient(90deg,#d4af37,#f4e5b8);bottom:-4px;content:"";height:3px;left:0;position:absolute;transition:width .4s ease;width:0}.link-underline:hover:after{width:100%}.parallax-container{overflow:hidden;position:relative}.parallax-bg{background-position:50%;background-size:cover;height:200%;left:-50%;position:absolute;top:-50%;transition:transform .1s ease-out;width:200%}.gradient-animate{animation:gradientShift 15s ease infinite;background:linear-gradient(-45deg,#667eea,#764ba2,#f093fb,#4facfe);background-size:400% 400%}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%}.bounce-in{animation:bounceIn .8s cubic-bezier(.68,-.55,.265,1.55)}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}.rotate-3d{transform-style:preserve-3d;transition:transform .6s ease}.rotate-3d:hover{transform:rotateY(10deg) rotateX(10deg)}.glitch{animation:glitch 3s infinite;position:relative}@keyframes glitch{0%,90%,to{transform:translate(0)}92%{transform:translate(-2px,2px)}94%{transform:translate(2px,-2px)}96%{transform:translate(-2px,-2px)}98%{transform:translate(2px,2px)}}html{scroll-behavior:smooth}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.clickable,a,button{cursor:pointer}a:active,button:active{transform:scale(.98)}.spinner{animation:spin .8s linear infinite;border:4px solid #d4af3733;border-top-color:#d4af37;height:50px;width:50px}.text-reveal{overflow:hidden;position:relative}.text-reveal:after{animation:revealText 1.5s cubic-bezier(.77,0,.175,1) forwards;background:#fff;content:"";height:100%;left:0;position:absolute;top:0;transform-origin:left;width:100%}@keyframes revealText{to{transform:translateX(100%)}}.stagger-item{animation:fadeInUp .6s ease forwards;opacity:0}.stagger-item:first-child{animation-delay:.1s}.stagger-item:nth-child(2){animation-delay:.2s}.stagger-item:nth-child(3){animation-delay:.3s}.stagger-item:nth-child(4){animation-delay:.4s}.stagger-item:nth-child(5){animation-delay:.5s}.stagger-item:nth-child(6){animation-delay:.6s}.stagger-item:nth-child(7){animation-delay:.7s}.stagger-item:nth-child(8){animation-delay:.8s}@media (max-width:768px){.float-animation,.gradient-animate,.pulse-animation{animation:none}*{animation-duration:.3s!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.section-animated{-webkit-backface-visibility:hidden;backface-visibility:hidden;opacity:0;will-change:opacity,transform}@keyframes sectionFadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:sectionFadeIn .8s ease-out 0ms forwards;animation:sectionFadeIn var(--animation-duration,.8s) var(--animation-easing,ease-out) var(--animation-delay,0ms) forwards;opacity:0}@keyframes sectionSlideInLeft{0%{opacity:0;transform:translateX(-80px)}to{opacity:1;transform:translateX(0)}}.animate-slide-in-left{animation:sectionSlideInLeft .8s ease-out 0ms forwards;animation:sectionSlideInLeft var(--animation-duration,.8s) var(--animation-easing,ease-out) var(--animation-delay,0ms) forwards;opacity:0;transform:translateX(-80px)}@keyframes sectionSlideInRight{0%{opacity:0;transform:translateX(80px)}to{opacity:1;transform:translateX(0)}}.animate-slide-in-right{animation:sectionSlideInRight .8s ease-out 0ms forwards;animation:sectionSlideInRight var(--animation-duration,.8s) var(--animation-easing,ease-out) var(--animation-delay,0ms) forwards;opacity:0;transform:translateX(80px)}@keyframes sectionSlideInUp{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}.animate-slide-in-up{animation:sectionSlideInUp .8s ease-out 0ms forwards;animation:sectionSlideInUp var(--animation-duration,.8s) var(--animation-easing,ease-out) var(--animation-delay,0ms) forwards;opacity:0;transform:translateY(60px)}@keyframes sectionSlideInDown{0%{opacity:0;transform:translateY(-60px)}to{opacity:1;transform:translateY(0)}}.animate-slide-in-down{animation:sectionSlideInDown .8s ease-out 0ms forwards;animation:sectionSlideInDown var(--animation-duration,.8s) var(--animation-easing,ease-out) var(--animation-delay,0ms) forwards;opacity:0;transform:translateY(-60px)}@keyframes sectionZoomIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.animate-zoom-in{animation:sectionZoomIn .8s ease-out 0ms forwards;animation:sectionZoomIn var(--animation-duration,.8s) var(--animation-easing,ease-out) var(--animation-delay,0ms) forwards;opacity:0;transform:scale(.85)}@keyframes sectionFlipIn{0%{opacity:0;transform:perspective(400px) rotateY(90deg)}to{opacity:1;transform:perspective(400px) rotateY(0deg)}}.animate-flip-in{animation:sectionFlipIn .8s ease-out 0ms forwards;animation:sectionFlipIn var(--animation-duration,.8s) var(--animation-easing,ease-out) var(--animation-delay,0ms) forwards;opacity:0;transform:perspective(400px) rotateY(90deg)}@media (max-width:768px){@keyframes sectionSlideInLeft{0%{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}@keyframes sectionSlideInRight{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes sectionSlideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes sectionSlideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}}.App{background:var(--bg-primary);display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;padding-top:88px}.container{margin:0 auto;max-width:100%;padding:0 2rem;width:100%}@media (max-width:768px){.container{padding:0 1rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease-in-out}@keyframes spin{to{transform:rotate(1turn)}}.spinner{animation:spin 1s linear infinite;border:4px solid #0000001a;border-left:4px solid var(--color-primary);border-radius:50%;height:40px;margin:2rem auto;width:40px}.grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:#1a1a2e;padding:var(--spacing-lg);transition:transform var(--transition-base),box-shadow var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}.bg-gray,.bg-light,.bg-white,[style*="background-color: white"],[style*="background: #fff"],[style*="background: white"],[style*="background:#fff"],input,select,textarea{color:#1a1a2e}.form-group{margin-bottom:var(--spacing-md)}.form-label{color:var(--color-text-dark);display:block;font-weight:500;margin-bottom:var(--spacing-xs)}.form-input,.form-select,.form-textarea{border:2px solid #e0e0e0;border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-base);padding:var(--spacing-sm);transition:border-color var(--transition-base);width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);outline:none}.form-textarea{min-height:120px;resize:vertical}.form-error{color:#e74c3c;font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.section{padding:var(--spacing-xl) 0}.section-title{color:var(--color-primary);margin-bottom:var(--spacing-xl);text-align:center}.section-subtitle{color:#666;margin:0 auto var(--spacing-xl);max-width:600px;text-align:center}@media (max-width:768px){.main-content{padding-top:60px}.section{padding:var(--spacing-lg) 0}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.brand-name-gold,.brand-name-gold-shadow,.elijah-god-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#cd7f32,#d4af37 50%,#f0c050);-webkit-background-clip:text;background-clip:text;display:inline-block;font-weight:700}.brand-name-gold-shadow{filter:drop-shadow(0 2px 8px rgba(212,175,55,.4))}
/*# sourceMappingURL=main.cbce8bea.css.map*/