:root{--color-base:#fce4ec;--color-accent:#e91e63;--color-accent-dark:#c2185b;--color-text:#2c3e50;--color-text-light:#b3b3b3;--color-white:#ffffff;--color-overlay:rgba(0, 0, 0, 0.5);--color-shadow:rgba(0, 0, 0, 0.1);--font-heading:'Playfair Display',serif;--font-body:'Montserrat',sans-serif;--transition-fast:0.2s ease;--transition-medium:0.3s ease;--transition-slow:0.5s ease;--shadow-sm:0 2px 8px var(--color-shadow);--shadow-md:0 4px 16px var(--color-shadow);--shadow-lg:0 8px 32px var(--color-shadow)}[data-theme=dark]{--color-base:#1a1a1a;--color-accent:#f06292;--color-accent-dark:#f48fb1;--color-text:#e8e8e8;--color-text-light:#f0f0f0;--color-white:#2c2c2c;--color-overlay:rgba(0, 0, 0, 0.7);--color-shadow:rgba(0, 0, 0, 0.3)}[data-theme=dark] .hero .btn,[data-theme=dark] .hero-subtitle,[data-theme=dark] .hero-title{color:#e0e0e0}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background-color:var(--color-base);color:var(--color-text);line-height:1.6;transition:background-color var(--transition-medium),color var(--transition-medium);overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:0 20px}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2;margin-bottom:1rem}h1{font-size:clamp(2.5rem, 5vw, 4rem)}h2{font-size:clamp(2rem, 4vw, 3rem)}h3{font-size:clamp(1.5rem, 3vw, 2rem)}p{margin-bottom:1rem;color:var(--color-text-light)}.btn{display:inline-block;padding:12px 24px;background-color:var(--color-accent);color:var(--color-white);border:none;border-radius:4px;font-family:var(--font-body);font-size:1rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all var(--transition-fast)}.btn:hover{background-color:var(--color-accent-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.header{position:sticky;top:0;z-index:1000;background-color:var(--color-white);box-shadow:var(--shadow-sm);transition:background-color var(--transition-medium)}.header-container{display:flex;justify-content:space-between;align-items:center;padding:1rem 20px;max-width:1200px;margin:0 auto}.logo{font-family:var(--font-heading);font-size:1.8rem;font-weight:700;cursor:pointer;display:flex;gap:8px}.logo-flower{background:linear-gradient(90deg,var(--color-accent) 0,#f8bbd0 50%,var(--color-accent) 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 3s linear infinite}.logo-boutique{color:var(--color-text)}@keyframes shimmer{0%{background-position:-200% center}100%{background-position:200% center}}.nav{display:flex}.nav-list{display:flex;list-style:none;gap:2rem}.nav-link{text-decoration:none;color:var(--color-text);font-weight:500;padding:8px 0;position:relative;transition:color var(--transition-fast)}.nav-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--color-accent);transition:width var(--transition-medium)}.nav-link.active,.nav-link:hover{color:var(--color-accent)}.nav-link.active::after,.nav-link:hover::after{width:100%}.header-controls{display:flex;align-items:center;gap:1.5rem}.theme-switch-wrapper{display:flex;align-items:center}.theme-switch{display:inline-block;height:34px;position:relative;width:60px}.theme-switch input{display:none}.slider{background-color:#ccc;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.slider:before{background-color:#fff;bottom:4px;content:"";height:26px;left:4px;position:absolute;transition:.4s;width:26px}input:checked+.slider{background-color:var(--color-accent)}input:checked+.slider:before{transform:translateX(26px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.language-select{padding:8px 12px;border:2px solid var(--color-accent);border-radius:4px;background-color:transparent;color:var(--color-text);font-family:var(--font-body);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.language-select:focus,.language-select:hover{background-color:var(--color-accent);color:var(--color-white);outline:0}.mobile-menu-btn{display:none;background:0 0;border:none;cursor:pointer;padding:8px}.hamburger{display:block;width:24px;height:2px;background-color:var(--color-text);position:relative;transition:background-color var(--transition-fast)}.hamburger::after,.hamburger::before{content:'';position:absolute;left:0;width:100%;height:2px;background-color:var(--color-text);transition:transform var(--transition-fast)}.hamburger::before{top:-8px}.hamburger::after{bottom:-8px}.hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-accent) 0,var(--color-base) 100%);background-image:url('../flowers.webp');background-size:cover;background-position:center;background-repeat:no-repeat;overflow:hidden}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--color-overlay)}.hero-content{position:relative;z-index:1;text-align:center;color:var(--color-white);padding:0 20px}.hero-title{font-size:clamp(3rem, 6vw, 5rem);margin-bottom:1.5rem;animation:fadeInUp 1s ease}.hero-subtitle{font-size:clamp(1.2rem, 2vw, 1.8rem);margin-bottom:2rem;animation:fadeInUp 1s ease .2s both}.hero .btn{animation:fadeInUp 1s ease .4s both}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}section{padding:100px 0}.section-title{text-align:center;margin-bottom:60px;position:relative;color:var(--color-text)}.section-title::after{content:'';position:absolute;bottom:-15px;left:50%;transform:translateX(-50%);width:80px;height:3px;background-color:var(--color-accent);border-radius:2px}.about{background-color:var(--color-white)}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.about-text p{margin-bottom:1.5rem;font-size:1.1rem;line-height:1.8}.about-image{border-radius:8px;overflow:hidden;box-shadow:var(--shadow-lg);transition:transform var(--transition-medium)}.about-image:hover{transform:scale(1.02)}.about-image img{width:100%;height:auto;display:block}.team{background-color:var(--color-base)}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px}.team-member{text-align:center;background-color:var(--color-white);padding:40px 30px;border-radius:8px;box-shadow:var(--shadow-md);transition:all var(--transition-medium)}.team-member:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg)}.team-member img{width:150px;height:150px;border-radius:50%;object-fit:cover;margin-bottom:20px;border:4px solid var(--color-accent)}.team-member h3{color:var(--color-text);margin-bottom:10px}.team-member p{color:var(--color-accent);font-weight:500}.gallery{background-color:var(--color-white)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.gallery-item{position:relative;overflow:hidden;border-radius:8px;aspect-ratio:1;box-shadow:var(--shadow-sm);transition:all var(--transition-medium)}.gallery-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.gallery-item:hover img{transform:scale(1.05)}.gallery-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);opacity:0;transition:opacity var(--transition-medium);display:flex;align-items:flex-end;justify-content:center;padding:20px}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-overlay span{color:var(--color-white);font-family:var(--font-heading);font-size:1.2rem;transform:translateY(20px);transition:transform var(--transition-medium)}.gallery-item:hover .gallery-overlay span{transform:translateY(0)}.contact{background-color:var(--color-base)}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-info p{margin-bottom:2rem;font-size:1.1rem}.contact-details p{margin-bottom:1rem;color:var(--color-text)}.contact-details strong{color:var(--color-accent);display:inline-block;min-width:80px}.contact-form{background-color:var(--color-white);padding:40px;border-radius:8px;box-shadow:var(--shadow-md)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--color-text)}.form-group input,.form-group textarea{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:4px;font-family:var(--font-body);font-size:1rem;transition:border-color var(--transition-fast)}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-accent);outline:0}.form-group textarea{resize:vertical;min-height:120px}.error-message{color:#d32f2f;font-size:.875rem;margin-top:5px;display:block;height:1rem}.footer{background-color:var(--color-accent);color:var(--color-white);padding:30px 0;text-align:center}.footer p{color:var(--color-white);margin:0}.back-to-top{position:fixed;bottom:30px;right:30px;width:50px;height:50px;background-color:var(--color-accent);color:var(--color-white);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all var(--transition-medium);box-shadow:var(--shadow-md);z-index:999}.back-to-top.visible{opacity:1;visibility:visible}.back-to-top:hover{background-color:var(--color-accent-dark);transform:translateY(-3px)}@media (max-width:992px){.about-content,.contact-content{grid-template-columns:1fr;gap:40px}.about-image{order:-1}.team-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:768px){.header-container{flex-wrap:wrap;padding:1rem}.nav{display:none;width:100%;order:3;margin-top:1rem}.nav.active{display:block}.nav-list{flex-direction:column;gap:1rem;text-align:center}.mobile-menu-btn{display:block}.header-controls{gap:1rem}.hero{height:auto;min-height:80vh;padding:100px 0}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.contact-form{padding:30px 20px}}@media (max-width:576px){html{font-size:14px}.team-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.back-to-top{bottom:20px;right:20px;width:40px;height:40px}.back-to-top svg{width:20px;height:20px}}@media print{.back-to-top,.footer,.header{display:none}section{page-break-inside:avoid}}