:root{--color-primary: #8B7355;--color-primary-light: #A69076;--color-primary-dark: #6B5A45;--color-accent: #C4A574;--color-gold: #D4AF37;--color-rose: #E8C4C4;--color-cream: #FAF6F0;--color-ivory: #FFFFF0;--color-charcoal: #2C2C2C;--color-dark: #1A1A1A;--color-text: #4A4A4A;--color-text-light: #7A7A7A;--color-white: #FFFFFF;--font-heading: "Cormorant Garamond", Georgia, serif;--font-body: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 6rem;--spacing-2xl: 8rem;--transition-fast: .2s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--shadow-sm: 0 2px 8px rgba(0,0,0,.08);--shadow-md: 0 4px 20px rgba(0,0,0,.1);--shadow-lg: 0 8px 40px rgba(0,0,0,.12);--shadow-gold: 0 4px 20px rgba(212, 175, 55, .2)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-white);line-height:1.7;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:500;line-height:1.3;color:var(--color-charcoal)}a{text-decoration:none;color:inherit;transition:var(--transition-base)}img{max-width:100%;height:auto}button{font-family:var(--font-body);cursor:pointer}ul{list-style:none}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);transition:var(--transition-base)}.navbar.scrolled{box-shadow:var(--shadow-md)}.nav-container{max-width:1400px;margin:0 auto;padding:0 var(--spacing-md);display:flex;align-items:center;justify-content:space-between;height:80px}.logo{display:flex;flex-direction:column;align-items:flex-start;text-decoration:none}.logo-text{font-family:var(--font-heading);font-size:1.8rem;font-weight:600;color:var(--color-primary);letter-spacing:2px}.logo-subtitle{font-size:.65rem;text-transform:uppercase;letter-spacing:3px;color:var(--color-text-light)}.nav-menu{display:flex;align-items:center;gap:var(--spacing-md)}.nav-menu>li>a{font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:1px;color:var(--color-charcoal);padding:var(--spacing-xs) 0;position:relative;display:flex;align-items:center;gap:.3rem}.nav-menu>li>a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--color-gold);transition:var(--transition-base)}.nav-menu>li>a:hover:after{width:100%}.nav-menu>li>a:hover{color:var(--color-primary)}.has-dropdown{position:relative}.has-dropdown>a svg{width:12px;height:12px;transition:var(--transition-base)}.dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%) translateY(10px);min-width:280px;background:var(--color-white);box-shadow:var(--shadow-lg);border-radius:4px;padding:var(--spacing-sm) 0;opacity:0;visibility:hidden;transition:var(--transition-base)}.has-dropdown:hover .dropdown{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.has-dropdown:hover>a svg{transform:rotate(180deg)}.dropdown li a{display:block;padding:.75rem 1.5rem;font-size:.85rem;color:var(--color-text)}.dropdown li a:hover{background:var(--color-cream);color:var(--color-primary)}.btn-book{background:var(--color-primary);color:var(--color-white)!important;padding:.75rem 1.5rem!important;border-radius:2px;font-weight:600}.btn-book:hover{background:var(--color-primary-dark)}.btn-book:after{display:none!important}.social-icons{display:flex;gap:var(--spacing-sm)}.social-icons a{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-text-light);border-radius:50%;color:var(--color-text);font-size:.85rem}.social-icons a:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.mobile-menu-btn{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:10px}.mobile-menu-btn span{width:25px;height:2px;background:var(--color-charcoal);transition:var(--transition-base)}.mobile-menu-btn.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.mobile-menu-btn.active span:nth-child(2){opacity:0}.mobile-menu-btn.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.btn-primary{display:inline-block;background:var(--color-primary);color:var(--color-white);padding:1rem 2.5rem;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;border:none;border-radius:2px;cursor:pointer;transition:var(--transition-base);position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:var(--transition-slow)}.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-gold)}.btn-primary:hover:before{left:100%}.btn-secondary{display:inline-block;background:transparent;color:var(--color-primary);padding:1rem 2.5rem;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;border:2px solid var(--color-primary);border-radius:2px;cursor:pointer;transition:var(--transition-base)}.btn-secondary:hover{background:var(--color-primary);color:var(--color-white)}.btn-primary.full-width{width:100%}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(135deg,var(--color-cream) 0%,var(--color-ivory) 50%,var(--color-rose) 100%);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(212,175,55,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(139,115,85,.1) 0%,transparent 50%)}.hero-overlay{position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23d4af37' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.hero-content{text-align:center;z-index:1;padding:var(--spacing-lg)}.hero-welcome{font-family:var(--font-heading);font-size:1.2rem;font-style:italic;color:var(--color-primary);margin-bottom:var(--spacing-sm);letter-spacing:2px}.hero-title{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:400;color:var(--color-charcoal);margin-bottom:var(--spacing-md);line-height:1.2}.hero-title .highlight{display:inline-block;position:relative;color:var(--color-primary);margin:0 .2em}.hero-title .highlight:after{content:"";position:absolute;bottom:5px;left:0;right:0;height:8px;background:linear-gradient(90deg,var(--color-gold),var(--color-accent));opacity:.3;z-index:-1}.hero-subtitle{font-size:1.1rem;color:var(--color-text-light);margin-bottom:var(--spacing-lg);letter-spacing:1px}.hero-scroll{position:absolute;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);color:var(--color-text-light);font-size:.75rem;text-transform:uppercase;letter-spacing:2px}.scroll-line{width:1px;height:60px;background:linear-gradient(to bottom,var(--color-gold),transparent);animation:scrollPulse 2s ease infinite}@keyframes scrollPulse{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.5;transform:scaleY(.8)}}.brands-section{padding:var(--spacing-lg) 0;background:var(--color-white);border-bottom:1px solid rgba(0,0,0,.05)}.section-label{font-family:var(--font-heading);font-size:.9rem;font-style:italic;color:var(--color-primary);text-transform:uppercase;letter-spacing:3px;margin-bottom:var(--spacing-sm)}.section-label.center{text-align:center}.brands-marquee{overflow:hidden;margin-top:var(--spacing-md)}.brands-track{display:flex;gap:var(--spacing-xl);animation:marquee 20s linear infinite}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.brand-item{flex-shrink:0;font-family:var(--font-heading);font-size:1.5rem;color:var(--color-text-light);white-space:nowrap;opacity:.6;transition:var(--transition-base)}.brand-item:hover{opacity:1;color:var(--color-primary)}.treatments-section{padding:var(--spacing-2xl) 0;background:var(--color-cream)}.section-header{text-align:center;max-width:700px;margin:0 auto var(--spacing-xl)}.section-title{font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:3px;color:var(--color-primary);margin-bottom:var(--spacing-xs)}.section-heading{font-size:clamp(2rem,4vw,3rem);color:var(--color-charcoal);margin-bottom:var(--spacing-md)}.section-heading.center{text-align:center}.section-description{color:var(--color-text-light);line-height:1.8;margin-bottom:var(--spacing-md)}.section-description.center{text-align:center;max-width:700px;margin-left:auto;margin-right:auto}.treatments-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md)}.treatment-card{background:var(--color-white);border-radius:4px;overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--transition-base)}.treatment-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.treatment-image{position:relative;height:220px;overflow:hidden}.treatment-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-rose) 0%,var(--color-cream) 100%);transition:var(--transition-slow)}.treatment-placeholder svg{width:48px;height:48px;color:var(--color-primary);opacity:.6}.treatment-card:hover .treatment-placeholder{transform:scale(1.05)}.treatment-content{padding:var(--spacing-md)}.treatment-content h4{font-size:1.2rem;margin-bottom:var(--spacing-sm);color:var(--color-charcoal)}.treatment-content p{font-size:.9rem;color:var(--color-text-light);margin-bottom:var(--spacing-sm);line-height:1.7}.treatment-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--color-primary);text-transform:uppercase;letter-spacing:1px;background:none;border:none;cursor:pointer}.treatment-link svg{width:14px;height:14px;transition:var(--transition-base)}.treatment-link:hover{color:var(--color-gold)}.treatment-link:hover svg{transform:translate(5px)}.about-section{padding:var(--spacing-2xl) 0;background:var(--color-white)}.products-section{padding:var(--spacing-2xl) 0;background:var(--color-cream)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);align-items:center}.about-grid.reverse{direction:rtl}.about-grid.reverse>*{direction:ltr}.about-image{position:relative}.image-placeholder{width:100%;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-rose) 0%,var(--color-cream) 50%,var(--color-ivory) 100%);border-radius:4px;box-shadow:var(--shadow-md)}.image-placeholder.gradient{background:linear-gradient(135deg,var(--color-cream) 0%,var(--color-rose) 50%,var(--color-primary-light) 100%)}.image-placeholder svg{width:80px;height:80px;color:var(--color-primary);opacity:.4}.floating-card{position:absolute;bottom:-30px;right:-30px;background:var(--color-primary);color:var(--color-white);padding:var(--spacing-md);border-radius:4px;text-align:center;box-shadow:var(--shadow-lg)}.floating-card .years{display:block;font-family:var(--font-heading);font-size:3rem;font-weight:600;line-height:1}.floating-card .label{font-size:.75rem;text-transform:uppercase;letter-spacing:2px;opacity:.9}.about-content{padding:var(--spacing-md)}.about-title{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:var(--spacing-md);color:var(--color-charcoal)}.about-text{color:var(--color-text-light);margin-bottom:var(--spacing-md);line-height:1.8}.location-section{padding:var(--spacing-2xl) 0;background:linear-gradient(135deg,var(--color-charcoal) 0%,var(--color-dark) 100%);text-align:center}.location-content{max-width:800px;margin:0 auto}.location-section .section-label{color:var(--color-gold)}.location-title{font-size:clamp(2rem,4vw,3rem);color:var(--color-white);margin-bottom:var(--spacing-md)}.location-text{color:#ffffffb3;line-height:1.8}.steps-section{padding:var(--spacing-2xl) 0;background:var(--color-white)}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);margin:var(--spacing-xl) 0}.step-card{text-align:center;padding:var(--spacing-lg);position:relative}.step-card:after{content:"";position:absolute;top:60px;right:-50%;width:100%;height:1px;background:linear-gradient(90deg,var(--color-gold),transparent)}.step-card:last-child:after{display:none}.step-number{font-family:var(--font-heading);font-size:4rem;font-weight:300;color:var(--color-gold);line-height:1;margin-bottom:var(--spacing-md)}.step-card h4{font-size:1.3rem;margin-bottom:var(--spacing-sm);color:var(--color-charcoal)}.step-card p{color:var(--color-text-light);line-height:1.7}.steps-cta{text-align:center;margin-top:var(--spacing-md)}.blog-section{padding:var(--spacing-2xl) 0;background:var(--color-cream)}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin:var(--spacing-xl) 0}.blog-card{background:var(--color-white);border-radius:4px;overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--transition-base)}.blog-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.blog-image{position:relative;height:200px;overflow:hidden}.blog-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-ivory) 0%,var(--color-rose) 100%)}.blog-placeholder svg{width:40px;height:40px;color:var(--color-primary);opacity:.5}.blog-category{position:absolute;top:var(--spacing-sm);left:var(--spacing-sm);background:var(--color-primary);color:var(--color-white);padding:.3rem .8rem;font-size:.7rem;text-transform:uppercase;letter-spacing:1px;border-radius:2px}.blog-content{padding:var(--spacing-md)}.blog-date{font-size:.75rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:1px}.blog-content h4{font-size:1.1rem;margin:var(--spacing-xs) 0 var(--spacing-sm);color:var(--color-charcoal);line-height:1.4}.blog-content p{font-size:.85rem;color:var(--color-text-light);line-height:1.7;margin-bottom:var(--spacing-sm)}.blog-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;color:var(--color-primary);text-transform:uppercase;letter-spacing:1px;background:none;border:none;cursor:pointer}.blog-link svg{width:12px;height:12px;transition:var(--transition-base)}.blog-link:hover svg{transform:translate(5px)}.blog-cta{text-align:center}.faq-section{padding:var(--spacing-2xl) 0;background:var(--color-white)}.faq-categories{display:flex;justify-content:center;gap:var(--spacing-sm);flex-wrap:wrap;margin:var(--spacing-lg) 0}.faq-tab{background:transparent;border:1px solid var(--color-text-light);padding:.75rem 1.5rem;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:1px;color:var(--color-text);cursor:pointer;transition:var(--transition-base);border-radius:2px}.faq-tab:hover,.faq-tab.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.faq-list{max-width:800px;margin:0 auto}.faq-item{border-bottom:1px solid rgba(0,0,0,.1)}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) 0;background:none;border:none;font-family:var(--font-heading);font-size:1.1rem;color:var(--color-charcoal);text-align:left;cursor:pointer;transition:var(--transition-base)}.faq-question:hover{color:var(--color-primary)}.faq-question svg{width:16px;height:16px;color:var(--color-primary);transition:var(--transition-base);flex-shrink:0}.faq-item.open .faq-question svg{transform:rotate(45deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease}.faq-item.open .faq-answer{max-height:500px}.faq-answer p{padding-bottom:var(--spacing-md);color:var(--color-text-light);line-height:1.8}.booking-section{padding:var(--spacing-2xl) 0;background:linear-gradient(135deg,var(--color-cream) 0%,var(--color-rose) 100%)}.booking-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--spacing-xl);align-items:start}.booking-title{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:var(--spacing-md);color:var(--color-charcoal)}.booking-text{color:var(--color-text-light);line-height:1.8}.booking-form{background:var(--color-white);padding:var(--spacing-lg);border-radius:4px;box-shadow:var(--shadow-lg)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--color-charcoal);margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.9rem 1rem;font-family:var(--font-body);font-size:.9rem;border:1px solid rgba(0,0,0,.1);border-radius:2px;background:var(--color-cream);transition:var(--transition-base)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #8b73551a}.form-group textarea{resize:vertical;min-height:100px}.contact-section{padding:var(--spacing-xl) 0;background:var(--color-charcoal)}.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg)}.contact-card{text-align:center;padding:var(--spacing-md)}.contact-card svg{width:32px;height:32px;color:var(--color-gold);margin-bottom:var(--spacing-md)}.contact-card h4{font-size:1rem;text-transform:uppercase;letter-spacing:2px;color:var(--color-white);margin-bottom:var(--spacing-sm)}.contact-card p{color:#ffffffb3;font-size:.9rem;line-height:1.6}.contact-card p.small{font-size:.75rem;margin-top:.3rem}.social-links{display:flex;justify-content:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.social-links a{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:var(--color-white);transition:var(--transition-base)}.social-links a:hover{background:var(--color-gold);border-color:var(--color-gold)}.footer{padding:var(--spacing-lg) 0;background:var(--color-dark);text-align:center}.footer-content{max-width:600px;margin:0 auto}.footer-logo{margin-bottom:var(--spacing-md)}.footer-logo .logo-text{font-family:var(--font-heading);font-size:2rem;font-weight:600;color:var(--color-gold);letter-spacing:3px}.footer-logo .logo-subtitle{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:3px;color:#ffffff80;margin-top:.3rem}.footer-text{color:#fff9;font-style:italic;font-family:var(--font-heading);font-size:1.1rem;margin-bottom:var(--spacing-md)}.copyright{font-size:.8rem;color:#fff6}.whatsapp-btn{position:fixed;bottom:30px;right:30px;width:60px;height:60px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-white);box-shadow:var(--shadow-lg);z-index:999;transition:var(--transition-base);animation:pulse 2s infinite}.whatsapp-btn svg{width:28px;height:28px}@keyframes pulse{0%,to{box-shadow:0 0 #25d36666}50%{box-shadow:0 0 0 15px #25d36600}}.whatsapp-btn:hover{transform:scale(1.1);background:#128c7e}@media(max-width:1024px){.about-grid,.booking-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.about-grid.reverse{direction:ltr}.steps-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.step-card:after{display:none}.blog-grid,.contact-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.nav-menu{position:fixed;top:80px;left:0;right:0;background:var(--color-white);flex-direction:column;padding:var(--spacing-md);box-shadow:var(--shadow-lg);transform:translateY(-100%);opacity:0;visibility:hidden;transition:var(--transition-base)}.nav-menu.active{transform:translateY(0);opacity:1;visibility:visible}.mobile-menu-btn{display:flex}.social-icons{display:none}.dropdown{position:static;transform:none;box-shadow:none;padding:0 0 0 var(--spacing-md);max-height:0;overflow:hidden}.has-dropdown:hover .dropdown{max-height:500px}.hero-title br{display:none}.treatments-grid,.blog-grid,.contact-grid,.form-row{grid-template-columns:1fr}.floating-card{right:20px;bottom:-20px}.faq-categories{flex-direction:column;align-items:stretch}.faq-tab{text-align:center}}@media(max-width:480px){html{font-size:14px}.container{padding:0 var(--spacing-sm)}.hero-content,.booking-form{padding:var(--spacing-md)}}.booking-header{margin-bottom:var(--spacing-lg)}.booking-progress{display:flex;justify-content:center;align-items:center;gap:0;margin-bottom:var(--spacing-xl);flex-wrap:wrap}.progress-step{display:flex;align-items:center;gap:var(--spacing-xs)}.step-indicator{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-cream);border:2px solid var(--color-text-light);color:var(--color-text-light);transition:var(--transition-base)}.progress-step.active .step-indicator{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.progress-step.completed .step-indicator{background:var(--color-gold);border-color:var(--color-gold);color:var(--color-white)}.step-title{font-size:.85rem;font-weight:500;color:var(--color-text-light);display:none}.progress-step.active .step-title,.progress-step.completed .step-title{color:var(--color-charcoal)}.step-line{width:60px;height:2px;background:var(--color-text-light);margin:0 var(--spacing-sm)}.progress-step.completed+.progress-step .step-line,.progress-step.completed .step-line{background:var(--color-gold)}.booking-content{background:var(--color-white);border-radius:8px;padding:var(--spacing-lg);box-shadow:var(--shadow-lg);margin-bottom:var(--spacing-md)}.booking-step h3{font-size:1.5rem;margin-bottom:var(--spacing-md);text-align:center;color:var(--color-charcoal)}.treatments-selection{max-height:500px;overflow-y:auto}.treatment-category{margin-bottom:var(--spacing-md)}.category-title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--color-primary);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-cream)}.treatment-options{display:flex;flex-direction:column;gap:var(--spacing-xs)}.treatment-option{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-cream);border:2px solid transparent;border-radius:4px;cursor:pointer;transition:var(--transition-base);text-align:left}.treatment-option:hover{border-color:var(--color-primary-light)}.treatment-option.selected{border-color:var(--color-primary);background:#8b73551a}.treatment-info{display:flex;flex-direction:column;gap:.25rem}.treatment-name{font-weight:500;color:var(--color-charcoal)}.treatment-meta{font-size:.8rem;color:var(--color-text-light)}.treatment-check{color:var(--color-primary)}.datetime-selection{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.date-picker-section h4,.time-picker-section h4{font-size:1rem;margin-bottom:var(--spacing-md);color:var(--color-charcoal)}.booking-calendar{background:var(--color-cream);border-radius:8px;padding:var(--spacing-md)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.calendar-nav{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-white);border:1px solid var(--color-text-light);border-radius:4px;cursor:pointer;transition:var(--transition-base)}.calendar-nav:hover:not(:disabled){background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.calendar-nav:disabled{opacity:.3;cursor:not-allowed}.calendar-month{font-family:var(--font-heading);font-size:1.1rem;font-weight:500;color:var(--color-charcoal)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:var(--spacing-xs)}.calendar-weekday{text-align:center;font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--color-text-light);padding:var(--spacing-xs)}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--color-white);border:none;border-radius:4px;font-size:.9rem;cursor:pointer;transition:var(--transition-base)}.calendar-day:hover:not(:disabled):not(.empty){background:var(--color-primary-light);color:var(--color-white)}.calendar-day.empty{background:transparent;cursor:default}.calendar-day.past,.calendar-day.blocked{color:var(--color-text-light);opacity:.4;cursor:not-allowed;text-decoration:line-through}.calendar-day.today{border:2px solid var(--color-gold)}.calendar-day.selected{background:var(--color-primary);color:var(--color-white)}.time-slots-container{background:var(--color-cream);border-radius:8px;padding:var(--spacing-md)}.time-slots-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.time-slots-header h4{margin:0}.slots-count{font-size:.8rem;color:var(--color-primary);font-weight:500}.time-slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xs);max-height:280px;overflow-y:auto;margin-bottom:var(--spacing-md)}.time-slot{padding:.75rem;background:var(--color-white);border:2px solid transparent;border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer;transition:var(--transition-base);display:flex;align-items:center;justify-content:center;gap:.5rem}.time-slot:hover:not(:disabled){border-color:var(--color-primary-light)}.time-slot.selected{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.time-slot.unavailable{background:var(--color-cream);color:var(--color-text-light);text-decoration:line-through;cursor:not-allowed;opacity:.5}.slot-check{color:var(--color-white)}.selected-slot-info{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:#8b73551a;border-radius:4px;color:var(--color-primary);font-weight:500;margin-bottom:var(--spacing-sm)}.time-slots-legend{display:flex;gap:var(--spacing-md);justify-content:center}.legend-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.75rem;color:var(--color-text-light)}.legend-dot{width:12px;height:12px;border-radius:2px}.legend-dot.available{background:var(--color-white);border:1px solid var(--color-text-light)}.legend-dot.unavailable{background:var(--color-cream);opacity:.5}.time-slots-loading,.time-slots-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--color-text-light);text-align:center;gap:var(--spacing-sm)}.loading-spinner{width:32px;height:32px;border:3px solid var(--color-cream);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.booking-summary-card{background:var(--color-cream);border-radius:8px;padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.booking-summary-card h4{font-size:1rem;margin-bottom:var(--spacing-sm);color:var(--color-charcoal);padding-bottom:var(--spacing-xs);border-bottom:1px solid rgba(0,0,0,.1)}.summary-item{display:flex;justify-content:space-between;padding:var(--spacing-xs) 0;font-size:.9rem}.summary-item span{color:var(--color-text-light)}.summary-item strong{color:var(--color-charcoal)}.summary-item.total{border-top:1px solid rgba(0,0,0,.1);margin-top:var(--spacing-xs);padding-top:var(--spacing-sm)}.summary-item.total strong{color:var(--color-primary);font-size:1.1rem}.customer-form{margin-top:var(--spacing-md)}.confirmation-step{text-align:center;padding:var(--spacing-lg)}.confirmation-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-md)}.confirmation-icon.success{background:#d4edda;color:#28a745}.confirmation-icon.error{background:#f8d7da;color:#dc3545;font-size:2rem;font-weight:700}.confirmation-id{font-size:.9rem;color:var(--color-text-light);margin-bottom:var(--spacing-sm)}.confirmation-message{color:var(--color-text);margin-bottom:var(--spacing-md)}.booking-navigation{display:flex;justify-content:center;gap:var(--spacing-md)}.booking-navigation .btn-primary,.booking-navigation .btn-secondary{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.booking-navigation .btn-primary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.step-title{display:none}.step-line{width:30px}.datetime-selection{grid-template-columns:1fr}.time-slots-grid{grid-template-columns:repeat(2,1fr)}.booking-content{padding:var(--spacing-md)}}@media(min-width:769px){.step-title{display:block}}.payment-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--spacing-lg);align-items:start}.payment-summary{position:sticky;top:100px}.payment-form-wrapper{background:var(--color-white)}.payment-form-container{background:var(--color-cream);border-radius:8px;padding:var(--spacing-lg)}.payment-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid rgba(0,0,0,.1)}.payment-header h4{margin:0;font-size:1.2rem;color:var(--color-charcoal)}.payment-header svg{color:var(--color-primary)}.payment-amount{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--color-white);border-radius:4px;margin-bottom:var(--spacing-md)}.payment-amount span{color:var(--color-text-light)}.payment-amount strong{font-size:1.5rem;color:var(--color-primary)}.stripe-form{margin-bottom:var(--spacing-md)}.payment-error{padding:var(--spacing-sm);background:#f8d7da;color:#721c24;border-radius:4px;margin:var(--spacing-md) 0;font-size:.9rem}.payment-error-message{padding:var(--spacing-sm);background:#f8d7da;color:#721c24;border-radius:4px;margin-top:var(--spacing-md);text-align:center}.payment-button{margin-top:var(--spacing-md);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.button-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--color-white);border-radius:50%;animation:spin 1s linear infinite;margin-right:var(--spacing-xs)}.payment-security{display:flex;justify-content:center;gap:var(--spacing-lg);margin:var(--spacing-md) 0;padding:var(--spacing-sm) 0;border-top:1px solid rgba(0,0,0,.05)}.security-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.75rem;color:var(--color-text-light)}.security-item svg{color:#28a745}.payment-methods{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-size:.8rem;color:var(--color-text-light)}.payment-icons{display:flex;align-items:center;gap:var(--spacing-xs)}.payment-icons img{height:24px;opacity:.7}.paynow-badge{background:#7b2d8e;color:#fff;font-size:.65rem;font-weight:600;padding:4px 8px;border-radius:4px}.payment-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--color-text-light);gap:var(--spacing-sm)}.confirmation-note{font-size:.9rem;color:var(--color-text-light);margin:var(--spacing-md) 0}@media(max-width:768px){.payment-layout{grid-template-columns:1fr}.payment-summary{position:static}.payment-security{flex-direction:column;gap:var(--spacing-sm)}.payment-form-container{padding:var(--spacing-md)}}
