@charset "UTF-8";@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Playfair+Display:wght@400;600;700&display=swap);body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow-x:hidden;width:100%}*,:after,:before,body,html{box-sizing:border-box}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}img,video{display:block;height:auto;max-width:100%}.App{overflow-x:hidden;position:relative}.navbar{background:#0000;display:flex;height:80px;justify-content:center;position:fixed;top:0;transition:all .3s ease-in-out;width:100%;z-index:1000}.navbar.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;box-shadow:0 2px 10px #0000001a;height:70px}.navbar-container{align-items:center;display:flex;justify-content:space-between;max-width:1200px;padding:0 2rem;width:100%}.navbar-logo{color:#2c3e50;font-family:Playfair Display,serif;font-size:1.8rem;font-weight:700;letter-spacing:1px;text-decoration:none}.navbar-menu{display:flex;gap:2rem;list-style:none}.navbar-item,.navbar-link{position:relative}.navbar-link{color:#2c3e50;font-size:1rem;font-weight:500;text-decoration:none;transition:color .3s ease}.navbar-link:after{background-color:#667eea;bottom:-4px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.navbar-link:hover:after{width:100%}.navbar-link:hover{color:#667eea}.navbar-controls{align-items:center;display:flex;gap:1.5rem}.navbar-music-toggle{align-items:center;background:none;border:none;border-radius:50%;color:#2c3e50;cursor:pointer;display:flex;font-size:1.2rem;justify-content:center;padding:.5rem;transition:all .3s ease}.navbar-music-toggle:hover{background-color:#667eea1a;color:#667eea}.navbar-music-toggle.music-playing{animation:pulse 2s infinite;color:#667eea}.navbar-social-links-desktop{align-items:center;display:flex;gap:.5rem}.navbar-social-icon{align-items:center;background:none;border:none;border-radius:50%;color:#2c3e50;cursor:pointer;display:flex;font-size:1.2rem;justify-content:center;padding:.5rem;text-decoration:none;transition:all .3s ease}.navbar-social-icon:hover{background-color:#667eea1a;color:#667eea;transform:translateY(-2px)}.navbar-social-icon.logged-in{background-color:#667eea0d;color:#667eea}.navbar-user-menu-container{position:relative}.user-dropdown-menu{animation:slideDown .2s cubic-bezier(.16,1,.3,1);background:#fff;border:1px solid #f1f3f5;border-radius:12px;box-shadow:0 10px 40px #0000001f;display:flex;flex-direction:column;min-width:220px;padding:.5rem;position:absolute;right:0;top:calc(100% + 10px);z-index:2000}.user-dropdown-menu:before{background:#fff;border-left:1px solid #f1f3f5;border-top:1px solid #f1f3f5;content:"";height:12px;position:absolute;right:14px;top:-6px;transform:rotate(45deg);width:12px}.dropdown-item{align-items:center;background:none;border:none;border-radius:8px;color:#495057;cursor:pointer;display:flex;font-family:inherit;font-size:.95rem;gap:.75rem;padding:.75rem 1rem;text-align:left;text-decoration:none;transition:all .2s;width:100%}.dropdown-item:hover{background-color:#f8f9fa;color:#667eea}.dropdown-item.logout-item{border-radius:0 0 8px 8px;border-top:1px solid #f1f3f5;color:#e03131;margin-top:.25rem}.dropdown-item.logout-item:hover{background-color:#fff5f5}.navbar-toggle{background:#0000;border:none;cursor:pointer;display:none;flex-direction:column;height:25px;justify-content:space-around;padding:0;width:30px;z-index:1001}.burger-line{background:#2c3e50;border-radius:10px;height:3px;position:relative;transform-origin:1px;transition:all .3s linear;width:30px}.mobile-menu{background:#fff;box-shadow:-5px 0 15px #0000001a;display:flex;flex-direction:column;height:100vh;max-width:400px;padding:6rem 2rem 2rem;position:fixed;right:-100%;top:0;transition:right .3s ease-in-out;width:80%;z-index:999}.mobile-menu.open{right:0}.mobile-menu-active .navbar-toggle .burger-line.line1{transform:rotate(45deg)}.mobile-menu-active .navbar-toggle .burger-line.line2{opacity:0;transform:translateX(20px)}.mobile-menu-active .navbar-toggle .burger-line.line3{transform:rotate(-45deg)}.mobile-menu-items{display:flex;flex-direction:column;gap:1.5rem;list-style:none;width:100%}.mobile-navbar-item{width:100%}.mobile-navbar-link{border-bottom:1px solid #f1f3f5;color:#2c3e50;display:block;font-size:1.2rem;font-weight:500;padding:.5rem 0;text-decoration:none;transition:color .3s}.mobile-navbar-link:hover{color:#667eea;padding-left:10px}.mobile-menu-separator{background-color:#e9ecef;height:1px;margin:2rem 0;width:100%}.mobile-social-icons{display:flex;gap:1.5rem;justify-content:center;margin-top:auto}.mobile-social-icon-link{color:#2c3e50;font-size:1.5rem;transition:all .3s}.mobile-social-icon-link:hover{color:#667eea;transform:scale(1.1)}@media screen and (max-width:960px){.navbar-menu{display:none}.navbar-toggle{display:flex}.navbar-social-links-desktop{display:none}}.auth-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:2000}.auth-modal-container{animation:slideUp .3s ease-out;background:#fff;border-radius:20px;box-shadow:0 10px 40px #0003;max-width:420px;padding:2.5rem;position:relative;width:100%}.auth-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#adb5bd;cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;padding:.25rem;position:absolute;right:1.25rem;top:1.25rem;transition:all .2s}.auth-modal-close:hover{background-color:#f8f9fa;color:#2c3e50}.auth-modal-header{margin-bottom:2rem;text-align:center}.auth-modal-header h2{color:#2c3e50;font-size:1.8rem;font-weight:700;margin-bottom:.5rem}.auth-modal-header p{color:#6c757d;font-size:.95rem;line-height:1.5}.auth-modal-tabs{background:#f1f3f5;border-radius:12px;display:flex;margin-bottom:2rem;padding:.25rem}.auth-tab{background:none;border:none;border-radius:10px;color:#6c757d;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:600;padding:.75rem;transition:all .3s ease}.auth-tab.active{background:#fff;box-shadow:0 2px 8px #0000000d;color:#667eea}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-input-group{position:relative}.auth-input-icon{color:#adb5bd;font-size:1.1rem;left:1rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.auth-input-group input{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;color:#2c3e50;font-size:1rem;padding:.875rem 1rem .875rem 3rem;transition:all .3s;width:100%}.auth-input-group input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.auth-input-group input::placeholder{color:#adb5bd}.auth-submit-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;justify-content:center;margin-top:.5rem;padding:1rem;transition:all .3s}.auth-submit-btn:hover:not(:disabled){box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.auth-submit-btn:active:not(:disabled){transform:translateY(0)}.auth-submit-btn:disabled{cursor:not-allowed;opacity:.7}.auth-error-message{animation:shake .4s ease-in-out;background-color:#ffe3e6;border:1px solid #ffc9db;border-radius:8px;color:#d6336c;font-size:.9rem;margin-bottom:1.5rem;padding:.75rem;text-align:center}.auth-spinner{animation:authSpin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}@keyframes authSpin{to{transform:rotate(1turn)}}.auth-footer{color:#6c757d;font-size:.9rem;margin-top:1.5rem;text-align:center}.auth-link-btn{background:none;border:none;color:#667eea;cursor:pointer;font-weight:600;font:inherit;padding:0;text-decoration:underline}.auth-link-btn:hover{color:#764ba2}@media (prefers-color-scheme:dark){.auth-modal-container{background:#212529;box-shadow:0 10px 40px #00000080}.auth-modal-header h2{color:#f8f9fa}.auth-modal-header p{color:#adb5bd}.auth-modal-tabs{background:#343a40}.auth-tab{color:#adb5bd}.auth-tab.active{background:#495057;color:#fff}.auth-input-group input{background:#343a40;border-color:#495057;color:#fff}.auth-input-group input:focus{background:#3d454d;border-color:#667eea}.auth-modal-close{color:#868e96}.auth-modal-close:hover{background-color:#343a40;color:#fff}}.site-footer{background-color:var(--fluffy-pink-secondary);color:var(--text-color-medium);font-family:var(--font-primary);font-size:1.15rem;line-height:1.75;padding:60px 0 30px}.site-footer .container{margin:0 auto;max-width:1200px;padding:0 20px}.footer-content-wrapper{display:flex;flex-wrap:wrap;gap:3rem;justify-content:space-between;margin-bottom:50px}.footer-column{flex:1 1;margin-bottom:2rem;min-width:240px}.footer-column-title{color:var(--text-color-dark);font-family:var(--font-headings);font-size:1.6rem;font-weight:700;margin-bottom:1.5rem}.footer-column p{color:var(--text-color-medium);margin-bottom:1rem}.about-column p{margin-bottom:1.5rem}.social-links a{color:var(--text-color-medium);display:inline-block;font-size:2.5rem;margin-right:1.5rem;transition:color .3s ease}.social-links a:last-child{margin-right:0}.social-links a:hover{color:var(--fluffy-pink-darker)}.footer-links-list{list-style:none;margin:0;padding:0}.footer-links-list li{margin-bottom:.8rem}.footer-links-list a{color:var(--text-color-medium);text-decoration:none;transition:color .3s ease,padding-left .3s ease}.footer-links-list a:hover{color:var(--fluffy-pink-darker);padding-left:8px;text-decoration:none}.contact-column p{margin-bottom:.7rem}.contact-column a{color:var(--text-color-medium);text-decoration:none}.contact-column a:hover{color:var(--fluffy-pink-darker);text-decoration:underline}.footer-bottom-bar{border-top:1px solid var(--fluffy-pink-darker);color:var(--text-color-medium);font-size:1.05rem;padding-top:30px;text-align:center}.footer-bottom-bar p{margin:.5rem 0}.sbb-link{color:var(--text-color-medium);text-decoration:underline;transition:color .3s ease}.sbb-link:hover{color:var(--fluffy-pink-darker)}@media screen and (max-width:768px){.site-footer{font-size:1.1rem;padding-top:50px}.footer-content-wrapper{align-items:center;flex-direction:column;gap:2.5rem;text-align:center}.footer-column{margin-bottom:2.5rem;min-width:100%}.footer-column-title{font-size:1.5rem}.footer-links-list,.social-links{text-align:center}.social-links a{font-size:2.8rem;margin:0 1rem}.footer-bottom-bar{font-size:1rem}}@media screen and (max-width:480px){.site-footer{font-size:1.05rem;padding:40px 0 20px}.footer-column-title{font-size:1.4rem}.social-links a{font-size:2.6rem}.footer-bottom-bar{font-size:.95rem}}.fixed-phone-button,.scroll-to-top-button{align-items:center;background-color:var(--fluffy-pink-darker);border:none;border-radius:50%;box-shadow:0 3px 10px #00000026;color:var(--neutral-light);cursor:pointer;display:flex;height:55px;justify-content:center;position:fixed;text-decoration:none;transition:background-color .3s ease,transform .2s ease,opacity .3s ease-in-out,visibility .3s ease-in-out,width .3s ease;width:55px;z-index:990}.fixed-phone-button:hover,.scroll-to-top-button:hover{background-color:var(--fluffy-pink-primary);transform:scale(1.08)}.fixed-phone-button .phone-button-icon,.scroll-to-top-button svg{display:block;font-size:1.7rem}.phone-button-text{display:none;font-size:.95rem;font-weight:500;line-height:1;margin-left:10px}.fixed-phone-button{bottom:25px;left:25px}.scroll-to-top-button{bottom:25px;opacity:0;right:25px;transform:translateY(15px);visibility:hidden}.scroll-to-top-button.visible{opacity:1;transform:translateY(0);visibility:visible}@media screen and (min-width:961px){.fixed-phone-button{border-radius:30px;padding:12px 20px;width:auto}.fixed-phone-button .phone-button-icon{font-size:1.5rem;margin-right:0}.phone-button-text{display:inline}}@media screen and (max-width:768px){.fixed-phone-button,.scroll-to-top-button{bottom:20px;font-size:1.6rem;height:50px;width:50px}.fixed-phone-button{left:20px}.scroll-to-top-button{right:20px}.phone-button-text{display:none!important}}@media screen and (max-width:480px){.fixed-phone-button,.scroll-to-top-button{bottom:15px;font-size:1.5rem;height:48px;width:48px}.fixed-phone-button{left:15px}.scroll-to-top-button{right:15px}}.btn-install-pwa{background-color:var(--fluffy-pink-darker);border:none;border-radius:30px;box-shadow:0 4px 10px #0000001a;color:#fff;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;margin-top:1rem;padding:.8rem 1.5rem;transition:all .3s ease}.btn-install-pwa:hover{background-color:var(--fluffy-pink-primary);box-shadow:0 6px 15px #00000026;transform:translateY(-2px)}.announcement-overlay{align-items:center;animation:fadeInOverlay .4s ease-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#0009;display:flex;height:100%;justify-content:center;left:0;padding:20px;position:fixed;top:0;width:100%;z-index:10000}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.announcement-card{animation:popIn .5s cubic-bezier(.175,.885,.32,1.275);background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:550px;overflow-y:auto;padding:2.5rem;position:relative;text-align:center;width:100%}@keyframes popIn{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.announcement-close{align-items:center;background:#f1f3f5;border:none;border-radius:50%;color:#495057;cursor:pointer;display:flex;font-size:1.2rem;height:36px;justify-content:center;position:absolute;right:15px;top:15px;transition:all .2s;width:36px}.announcement-close:hover{background:#e9ecef;color:#212529;transform:rotate(90deg)}.announcement-header{margin-bottom:1.5rem}.announcement-icon{animation:shake 2s infinite;font-size:3.5rem;margin-bottom:1rem}@keyframes shake{0%,to{transform:rotate(0deg)}10%,30%{transform:rotate(-10deg)}20%,40%{transform:rotate(10deg)}50%{transform:rotate(0deg)}}.announcement-header h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#2c3e50;font-size:1.8rem;line-height:1.3;margin:0}.announcement-body{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;color:#495057;font-size:1.1rem;line-height:1.6;margin-bottom:2rem;padding:1.5rem;text-align:left}.announcement-body p{margin-bottom:.8rem}.announcement-body p:last-child{margin-bottom:0}.announcement-cta{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;box-shadow:0 4px 15px #667eea66;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem 2.5rem;transition:transform .2s,box-shadow .2s}.announcement-cta:hover{box-shadow:0 8px 25px #667eea80;transform:translateY(-2px)}.announcement-floating-btn{align-items:center;animation:slideUp .5s ease-out;background:#fff;border:1px solid #e9ecef;border-radius:50px;bottom:90px;box-shadow:0 4px 15px #00000026;cursor:pointer;display:flex;gap:.8rem;left:20px;padding:.8rem 1.2rem;position:fixed;transition:all .3s cubic-bezier(.175,.885,.32,1.275);z-index:9999}.announcement-floating-btn:hover{border-color:#667eea;box-shadow:0 8px 25px #0003;transform:translateY(-5px) scale(1.05)}.floating-icon{animation:pulse 2s infinite;font-size:1.5rem}.floating-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#2c3e50;font-size:.95rem;font-weight:700}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@media (max-width:480px){.announcement-card{padding:1.5rem}.announcement-header h3{font-size:1.5rem}.announcement-body{font-size:1rem;padding:1rem}.announcement-floating-btn{bottom:90px;left:20px;width:auto}}.hero-overlay{background:linear-gradient(45deg,#fadadd00,#d6eaf800);background:linear-gradient(45deg,var(--fluffy-pink-primary-overlay-bg,#fadadd00),var(--fluffy-blue-primary-overlay-bg,#d6eaf800))}.hero-title{font-size:3.8rem;text-shadow:1px 1px 3px #fff9}.hero-subtitle{font-size:1.5rem;text-shadow:1px 1px 2px #fff6}.hero-cta-button{background-color:var(--primary-color);font-size:1.15rem;padding:14px 32px}.hero-cta-button:focus-visible{background-color:var(--fluffy-pink-secondary);box-shadow:0 8px 20px #b76e7940;outline:2px solid var(--primary-color);outline-offset:3px}.scroll-down-arrow:before{border-bottom:3px solid var(--text-color-dark);border-right:3px solid var(--text-color-dark)}.scroll-down-arrow:hover:before{border-color:var(--fluffy-pink-darker)}@media screen and (max-width:768px){.hero-title{font-size:3rem}.hero-subtitle{font-size:1.3rem}.hero-cta-button{font-size:1.05rem;padding:12px 28px}.scroll-down-arrow{bottom:20px}}@media screen and (max-width:480px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.15rem}}.section-title{color:var(--fluffy-pink-darker);font-size:2.8rem}.about-text{color:var(--text-color-medium);font-size:1.05rem}.about-image-wrapper{flex:1 1;margin:0 auto;max-width:500px;position:relative;text-align:center;width:100%}.about-image{border-radius:15px;box-shadow:0 10px 30px var(--fluffy-blue-secondary);display:block}.maitre-artisan-logo{bottom:15px;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.3));height:auto;left:15px;position:absolute;width:80px;z-index:2}@media screen and (max-width:768px){.about-section{padding:60px 0}.about-content{flex-direction:column;gap:2.5rem}.about-text{flex:none;font-size:1rem;padding:0 10px;text-align:center}.about-image-wrapper{flex:none;margin-bottom:2rem;order:-1}.section-title{font-size:2.2rem;margin-bottom:15px}.section-title:after{margin:10px auto 40px;width:60px}.maitre-artisan-logo{bottom:10px;left:10px;width:60px}}@media screen and (max-width:480px){.section-title{font-size:2rem}.about-text{line-height:1.7}}.opening-hours-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:1.5rem}.hours-title{color:var(--dark-color);font-size:1.6rem;margin-bottom:1.5rem;text-align:center}.hours-list{list-style:none;margin:0;padding:0}.hours-item{border-bottom:1px solid #eee;color:#444;display:flex;font-size:1rem;justify-content:space-between;padding:.8rem 0}.hours-item:last-child{border-bottom:none}.day-name{font-weight:700;margin-right:1rem}.hours-details{text-align:right}.hours-note{color:#777;font-size:.9rem;line-height:1.4;margin-top:1.5rem;text-align:center}@media screen and (max-width:480px){.hours-title{font-size:1.4rem}.hours-item{align-items:flex-start;flex-direction:column;font-size:.95rem;gap:.2rem}.hours-details{padding-left:10px;text-align:left}}.location-map-container{padding:2rem 1.5rem}.location-title{color:#333;color:var(--text-color-dark,#333);font-family:Playfair Display,serif;font-family:var(--font-headings,"Playfair Display",serif);font-size:1.8rem;margin-bottom:1.8rem;text-align:center}.address-container{margin-bottom:2.5rem;text-align:center}.address-text{color:#444;color:var(--text-color-dark,#444);font-size:1.2rem;line-height:1.7;margin-bottom:1.5rem}.phone-number-link{color:#000;color:var(--text-color-dark,#000);display:inline-block;font-size:1.6rem;font-weight:700;margin-top:.25rem;text-decoration:none}.phone-number-link:hover{color:#e7c2c6;color:var(--primary-color,#e7c2c6);text-decoration:underline}.map-link-button{background-color:#fadadd;background-color:var(--primary-color,#fadadd);border-radius:5px;color:#4a4a4a;color:var(--text-color-dark,#4a4a4a);display:inline-block;font-size:1.05rem;font-weight:500;margin-top:1rem;padding:10px 22px;text-decoration:none;transition:background-color .3s ease,transform .2s ease}.map-link-button:hover{background-color:#e7c2c6;background-color:var(--fluffy-pink-darker,#e7c2c6);transform:translateY(-2px)}.map-embed-container{border-radius:8px;box-shadow:0 4px 12px #0000001a;overflow:hidden;padding-top:56.25%;position:relative;width:100%}.map-embed-container iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}@media screen and (max-width:768px){.location-title{font-size:1.6rem}.address-text{font-size:1.15rem}.phone-number-link{font-size:1.45rem}.map-link-button{font-size:1rem;padding:9px 20px}}@media screen and (max-width:480px){.location-map-container{padding:1.5rem 1rem}.location-title{font-size:1.5rem}.address-text{font-size:1.1rem}.phone-number-link{font-size:1.35rem}.map-link-button{font-size:.95rem}}.yarl__fullsize{height:100%;width:100%}.yarl__relative{position:relative}.yarl__portal{bottom:0;left:0;opacity:0;overflow:hidden;position:fixed;right:0;top:0;transition:opacity .25s ease;transition:opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);z-index:9999;z-index:var(--yarl__portal_zindex,9999)}.yarl__portal_open{opacity:1}.yarl__container{background-color:#000;background-color:var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));bottom:0;left:0;outline:none;overflow:hidden;overscroll-behavior:contain;overscroll-behavior:var(--yarl__controller_overscroll_behavior,contain);position:absolute;right:0;top:0;touch-action:none;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;user-select:none}.yarl__carousel{align-content:center;align-items:stretch;display:flex;flex:0 0 auto;height:100%;justify-content:center;opacity:1;opacity:var(--yarl__pull_opacity,1);transform:translate(0);transform:translate(var(--yarl__swipe_offset,0),var(--yarl__pull_offset,0));width:calc(100% + (var(--yarl__carousel_slides_count) - 1)*100%);width:calc(100% + (var(--yarl__carousel_slides_count) - 1)*(100% + var(--yarl__carousel_spacing_px, 0)*1px + var(--yarl__carousel_spacing_percent, 0)*1%))}.yarl__carousel_with_slides{column-gap:calc(100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*0*1%);column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%)}.yarl__flex_center{align-content:center;align-items:center;display:flex;justify-content:center}.yarl__slide{flex:1 1;overflow:hidden;padding:calc(var(--yarl__carousel_padding_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_padding_percent, 0)*1%);position:relative}[dir=rtl] .yarl__slide{--yarl__direction:-1}.yarl__slide_image{-webkit-touch-callout:none;max-height:100%;max-width:100%;object-fit:contain;touch-action:none;touch-action:var(--yarl__controller_touch_action,none);user-select:none;-webkit-user-select:none}.yarl__slide_image_cover{height:100%;object-fit:cover;width:100%}.yarl__slide_image_loading{opacity:0}@media screen and (min-width:800px){.yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image{-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);-webkit-transform-style:preserve-3d}}.yarl__slide_placeholder{left:50%;line-height:0;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%)}.yarl__slide_loading{animation:yarl__delayed_fadein 1s linear;color:#fffc;color:var(--yarl__slide_icon_loading_color,var(--yarl__color_button,#fffc))}.yarl__slide_loading line{animation:yarl__stroke_opacity 1s linear infinite}.yarl__slide_loading line:first-of-type{animation-delay:-1.875s}.yarl__slide_loading line:nth-of-type(2){animation-delay:-1.75s}.yarl__slide_loading line:nth-of-type(3){animation-delay:-1.625s}.yarl__slide_loading line:nth-of-type(4){animation-delay:-1.5s}.yarl__slide_loading line:nth-of-type(5){animation-delay:-1.375s}.yarl__slide_loading line:nth-of-type(6){animation-delay:-1.25s}.yarl__slide_loading line:nth-of-type(7){animation-delay:-1.125s}.yarl__slide_loading line:nth-of-type(8){animation-delay:-1s}.yarl__slide_error{color:red;color:var(--yarl__slide_icon_error_color,red);height:48px;height:var(--yarl__slide_icon_error_size,48px);width:48px;width:var(--yarl__slide_icon_error_size,48px)}@media (prefers-reduced-motion){.yarl__portal,.yarl__slide{transition:none 0s ease 0s;transition:initial}.yarl__slide_loading,.yarl__slide_loading line{animation:none 0s ease 0s 1 normal none running;animation:initial}}.yarl__toolbar{bottom:auto;display:flex;justify-content:flex-end;left:auto;padding:8px;padding:var(--yarl__toolbar_padding,8px);position:absolute;right:0;top:0}[dir=rtl] .yarl__toolbar{bottom:auto;left:0;right:auto;top:0}.yarl__icon{height:32px;height:var(--yarl__icon_size,32px);width:32px;width:var(--yarl__icon_size,32px)}.yarl__button{-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none;background-color:initial;background-color:var(--yarl__button_background_color,#0000);border:0;border:var(--yarl__button_border,0);color:#fffc;color:var(--yarl__color_button,#fffc);cursor:pointer;filter:drop-shadow(2px 2px 2px rgba(0,0,0,.8));filter:var(--yarl__button_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));line-height:0;margin:0;margin:var(--yarl__button_margin,0);outline:none;padding:8px;padding:var(--yarl__button_padding,8px)}.yarl__button:focus{color:#fff;color:var(--yarl__color_button_active,#fff)}.yarl__button:focus:not(:focus-visible){color:#fffc;color:var(--yarl__color_button,#fffc)}.yarl__button:focus-visible{color:#fff;color:var(--yarl__color_button_active,#fff)}@media (hover:hover){.yarl__button:focus-visible:hover,.yarl__button:focus:hover,.yarl__button:hover{color:#fff;color:var(--yarl__color_button_active,#fff)}}.yarl__button:disabled{color:#fff6;color:var(--yarl__color_button_disabled,#fff6);cursor:default}.yarl__navigation_next,.yarl__navigation_prev{padding:24px 16px;padding:var(--yarl__navigation_button_padding,24px 16px);position:absolute;top:50%;transform:translateY(-50%)}.yarl__navigation_prev{left:0}[dir=rtl] .yarl__navigation_prev{left:auto;right:0;transform:translateY(-50%) rotate(180deg)}.yarl__navigation_next{right:0}[dir=rtl] .yarl__navigation_next{left:0;right:auto;transform:translateY(-50%) rotate(180deg)}.yarl__no_scroll{height:100%;overflow:hidden;overscroll-behavior:none}@keyframes yarl__delayed_fadein{0%{opacity:0}80%{opacity:0}to{opacity:1}}@keyframes yarl__stroke_opacity{0%{stroke-opacity:1}to{stroke-opacity:.125}}.yarl__thumbnails{display:flex;height:100%}.yarl__thumbnails_bottom,.yarl__thumbnails_end .yarl__thumbnails_track,.yarl__thumbnails_start .yarl__thumbnails_track,.yarl__thumbnails_top{flex-direction:column}.yarl__thumbnails_wrapper{flex:1 1;position:relative}.yarl__thumbnails_container{-webkit-touch-callout:none;background-color:#000;background-color:var(--yarl__thumbnails_container_background_color,var(--yarl__color_backdrop,#000));flex:0 0 auto;overflow:hidden;padding:16px;padding:var(--yarl__thumbnails_container_padding,16px);position:relative;-webkit-user-select:none;user-select:none}.yarl__thumbnails_vignette{--yarl__thumbnails_vignette_size:12%;pointer-events:none;position:absolute}@media (min-width:1200px){.yarl__thumbnails_vignette{--yarl__thumbnails_vignette_size:8%}}@media (min-width:2000px){.yarl__thumbnails_vignette{--yarl__thumbnails_vignette_size:5%}}.yarl__thumbnails_bottom .yarl__thumbnails_vignette,.yarl__thumbnails_top .yarl__thumbnails_vignette{background:linear-gradient(90deg,#000 0,#0000 12% 88%,#000);background:linear-gradient(to right,var(--yarl__color_backdrop,#000) 0,#0000 var(--yarl__thumbnails_vignette_size,12%) calc(100% - var(--yarl__thumbnails_vignette_size, 12%)),var(--yarl__color_backdrop,#000) 100%);height:100%;left:0;right:0}.yarl__thumbnails_end .yarl__thumbnails_vignette,.yarl__thumbnails_start .yarl__thumbnails_vignette{background:linear-gradient(180deg,#000 0,#0000 12% 88%,#000);background:linear-gradient(to bottom,var(--yarl__color_backdrop,#000) 0,#0000 var(--yarl__thumbnails_vignette_size,12%) calc(100% - var(--yarl__thumbnails_vignette_size, 12%)),var(--yarl__color_backdrop,#000) 100%);bottom:0;top:0;width:100%}.yarl__thumbnails_track{gap:16px;gap:var(--yarl__thumbnails_thumbnail_gap,16px);outline:none}.yarl__thumbnails_thumbnail{-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none;background:#000;background:var(--yarl__thumbnails_thumbnail_background,#000);border-color:#fffc;border-color:var(--yarl__thumbnails_thumbnail_border_color,var(--yarl__color_button,#fffc));border-radius:4px;border-radius:var(--yarl__thumbnails_thumbnail_border_radius,4px);border-style:solid;border-style:var(--yarl__thumbnails_thumbnail_border_style,solid);border-width:1px;border-width:var(--yarl__thumbnails_thumbnail_border,1px);box-sizing:initial;cursor:pointer;flex:0 0 auto;height:80px;height:var(--yarl__thumbnails_thumbnail_height,80px);outline:none;overflow:hidden;padding:4px;padding:var(--yarl__thumbnails_thumbnail_padding,4px);position:relative;width:120px;width:var(--yarl__thumbnails_thumbnail_width,120px)}.yarl__thumbnails_thumbnail_active{border-color:#fff;border-color:var(--yarl__thumbnails_thumbnail_active_border_color,var(--yarl__color_button_active,#fff))}.yarl__thumbnails_thumbnail_fadein{animation:yarl__thumbnails_thumbnail_fadein .5s ease-in-out 0s forwards;animation:yarl__thumbnails_thumbnail_fadein var(--yarl__thumbnails_thumbnail_fadein_duration,.5s) ease-in-out var(--yarl__thumbnails_thumbnail_fadein_delay,0s) forwards;opacity:0}.yarl__thumbnails_thumbnail_fadeout{animation:yarl__thumbnails_thumbnail_fadeout .5s ease-in-out 0s forwards;animation:yarl__thumbnails_thumbnail_fadeout var(--yarl__thumbnails_thumbnail_fadeout_duration,.5s) ease-in-out var(--yarl__thumbnails_thumbnail_fadeout_delay,0s) forwards;cursor:inherit}.yarl__thumbnails_thumbnail_placeholder{cursor:inherit;visibility:hidden}.yarl__thumbnails_thumbnail:focus{box-shadow:0 0 0 2px #000,0 0 0 4px #fffc;box-shadow:var(--yarl__thumbnails_thumbnail_focus_box_shadow,#000 0 0 0 2px,var(--yarl__color_button,#fffc) 0 0 0 4px)}.yarl__thumbnails_thumbnail:focus:not(:focus-visible){box-shadow:none}.yarl__thumbnails_thumbnail:focus-visible{box-shadow:0 0 0 2px #000,0 0 0 4px #fffc;box-shadow:var(--yarl__thumbnails_thumbnail_focus_box_shadow,#000 0 0 0 2px,var(--yarl__color_button,#fffc) 0 0 0 4px)}.yarl__thumbnails_thumbnail_icon{color:#fffc;color:var(--yarl__thumbnails_thumbnail_icon_color,var(--yarl__color_button,#fffc));filter:drop-shadow(2px 2px 2px rgba(0,0,0,.8));filter:var(--yarl__thumbnails_thumbnail_icon_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));height:32px;height:var(--yarl__thumbnails_thumbnail_icon_size,32px);left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:32px;width:var(--yarl__thumbnails_thumbnail_icon_size,32px)}@keyframes yarl__thumbnails_thumbnail_fadein{0%{opacity:0}to{opacity:1}}@keyframes yarl__thumbnails_thumbnail_fadeout{0%{opacity:1}to{opacity:0}}.gallery-section{background-color:#fff;padding:60px 0}.section-title{color:#000;font-size:2.2rem;margin-bottom:2.5rem}.gallery-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.gallery-item{aspect-ratio:1/1;box-shadow:0 4px 12px #0000001a;cursor:pointer;transition:box-shadow .3s ease}.gallery-item:hover{box-shadow:0 8px 20px #00000026}.gallery-item:focus-visible{box-shadow:0 8px 20px #00000026;outline:3px solid var(--primary-color);outline-offset:2px}.gallery-image{display:block;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.25,.46,.45,.94);width:100%}.gallery-item:hover .gallery-image{transform:scale(1.08)}.gallery-item-overlay{align-items:center;background-color:#0006;display:flex;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transition:opacity .4s ease;width:100%}.gallery-item:hover .gallery-item-overlay{opacity:1}.overlay-icon{color:#fff;font-size:3rem;font-weight:700;transform:scale(.8);transition:transform .4s cubic-bezier(.175,.885,.32,1.275)}.gallery-item:hover .overlay-icon{transform:scale(1)}.gallery-controls{margin-top:3rem;text-align:center}.gallery-button{background-color:var(--primary-color);border:none;border-radius:5px;box-shadow:0 2px 5px #0000001a;color:var(--dark-color);cursor:pointer;font-size:1rem;font-weight:700;letter-spacing:.5px;margin:0 .5rem;padding:12px 30px;text-transform:uppercase;transition:background-color .3s ease,transform .2s ease,box-shadow .3s ease}.gallery-button:hover{background-color:#f7e1f3;box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}@media screen and (max-width:768px){.gallery-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.section-title{font-size:2rem;margin-bottom:2rem}}@media screen and (max-width:480px){.gallery-grid{gap:.8rem;grid-template-columns:repeat(2,1fr)}.gallery-section{padding:40px 0}.section-title{font-size:1.8rem;margin-bottom:1.5rem}.overlay-icon{font-size:2rem}.gallery-button{font-size:.9rem;padding:10px 25px}}.yarl__slide{padding:4px!important}.price-list-section{background-color:#f8f9fa;font-size:1.15rem;line-height:1.7;padding:70px 20px}.price-list-section .section-title{color:#333;color:var(--text-color-dark,#333);font-size:3rem;margin-bottom:20px;text-align:center}.price-list-footer-note,.price-list-intro{color:#555;font-size:1.2rem;line-height:1.75;margin-bottom:50px;margin-left:auto;margin-right:auto;max-width:750px;text-align:center}.price-list-footer-note{margin-bottom:0;margin-top:50px}.price-list-footer-note a{color:#007bff;color:var(--primary-color,#007bff);font-weight:500;text-decoration:underline}.price-categories{margin:0 auto;max-width:850px}.price-category{margin-bottom:50px}.price-category-title{border-bottom:2px solid #007bff;border-bottom:2px solid var(--primary-color,#007bff);color:#444;color:var(--text-color-dark,#444);display:inline-block;font-family:Playfair Display,serif;font-family:var(--font-headings,"Playfair Display",serif);font-size:1.9rem;margin-bottom:25px;padding-bottom:15px}.price-items-list{list-style:none;margin:0;padding:0}.price-item{align-items:baseline;border-bottom:1px dashed #d0d0d0;display:flex;justify-content:space-between;padding:18px 0}.price-item:last-child{border-bottom:none}.service-details{margin-right:20px}.service-name{color:#333;color:var(--text-color-dark,#333)}.service-notes{color:#666;display:block;font-size:1rem;font-style:italic;margin-top:5px}.service-price{color:#333;color:var(--text-color-dark,#333);font-size:1.2em;font-weight:700;text-align:right;white-space:nowrap}@media (max-width:768px){.price-list-section{font-size:1.1rem;padding:50px 15px}.price-list-section .section-title{font-size:2.6rem;margin-bottom:15px}.price-list-footer-note,.price-list-intro{font-size:1.1rem;margin-bottom:35px}.price-category-title{font-size:1.7rem}.service-price{font-size:1.15em}.service-notes{font-size:.95rem}}@media (max-width:576px){.price-list-section{font-size:1.05rem;padding:40px 10px}.price-list-section .section-title{font-size:2.3rem}.price-list-footer-note,.price-list-intro{font-size:1.05rem;margin-bottom:30px}.price-category-title{font-size:1.5rem;margin-bottom:20px;padding-bottom:10px}.price-item{padding:15px 0}.service-name{font-weight:500}.service-price{font-size:1.1em}.service-notes{font-size:.9rem}}@font-face{font-family:swiper-icons;font-style:normal;font-weight:400;src:url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA")}:root{--swiper-theme-color:#007aff}:host{display:block;margin-left:auto;margin-right:auto;position:relative;z-index:1}.swiper{display:block;list-style:none;margin-left:auto;margin-right:auto;overflow:hidden;padding:0;position:relative;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:initial;display:flex;height:100%;position:relative;transition-property:transform;transition-timing-function:ease;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);width:100%;z-index:1}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{display:block;flex-shrink:0;height:100%;position:relative;transition-property:transform;width:100%}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{-ms-overflow-style:none;overflow:auto;scrollbar-width:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);min-width:1px;width:100%}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(0deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(180deg,#00000080,#0000)}.swiper-lazy-preloader{border:4px solid #007aff;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top:4px solid #0000;box-sizing:border-box;height:42px;left:50%;margin-left:-21px;margin-top:-21px;position:absolute;top:50%;transform-origin:50%;width:42px;z-index:10}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s linear infinite}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{align-items:center;color:var(--swiper-theme-color);color:var(--swiper-navigation-color,var(--swiper-theme-color));cursor:pointer;display:flex;height:44px;height:var(--swiper-navigation-size);justify-content:center;margin-top:-22px;margin-top:calc(0px - var(--swiper-navigation-size)/2);position:absolute;top:50%;top:var(--swiper-navigation-top-offset,50%);width:27px;width:calc(var(--swiper-navigation-size)/44*27);z-index:10}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{cursor:auto;opacity:0;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{height:100%;object-fit:contain;transform-origin:center;width:100%}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:10px;left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:44px;font-size:var(--swiper-navigation-size);font-variant:normal;letter-spacing:0;line-height:1;text-transform:none!important}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:"prev"}.swiper-button-next,.swiper-rtl .swiper-button-prev{left:auto;right:10px;right:var(--swiper-navigation-sides-offset,10px)}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:"next"}.swiper-pagination{position:absolute;text-align:center;transform:translateZ(0);transition:opacity .3s;z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:8px;bottom:var(--swiper-pagination-bottom,8px);left:0;top:auto;top:var(--swiper-pagination-top,auto);width:100%}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{background:#000;background:var(--swiper-pagination-bullet-inactive-color,#000);border-radius:50%;border-radius:var(--swiper-pagination-bullet-border-radius,50%);display:inline-block;height:8px;height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));opacity:.2;opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);width:8px;width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px))}button.swiper-pagination-bullet{-webkit-appearance:none;appearance:none;border:none;box-shadow:none;margin:0;padding:0}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{background:var(--swiper-theme-color);background:var(--swiper-pagination-color,var(--swiper-theme-color));opacity:1;opacity:var(--swiper-pagination-bullet-opacity,1)}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{left:auto;left:var(--swiper-pagination-left,auto);right:8px;right:var(--swiper-pagination-right,8px);top:50%;transform:translate3d(0,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{display:block;margin:6px 0;margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:transform .2s,top .2s}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px;margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,left .2s}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:inherit;color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:#00000040;background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-theme-color);background:var(--swiper-pagination-color,var(--swiper-theme-color));height:100%;left:0;position:absolute;top:0;transform:scale(0);transform-origin:left top;width:100%}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{height:4px;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0;width:100%}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{height:100%;left:0;top:0;width:4px;width:var(--swiper-pagination-progressbar-size,4px)}.swiper-pagination-lock{display:none}.product-card-v2{background-color:var(--neutral-light);border:1px solid var(--fluffy-blue-secondary);border-radius:12px;box-shadow:0 4px 15px #0000000f;display:flex;flex-direction:column;height:100%;overflow:hidden;text-align:left;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;width:280px}.product-card-v2:hover{border-color:var(--fluffy-blue-primary);box-shadow:0 8px 25px #adcde24d;transform:translateY(-5px)}.product-card-v2-image-container{height:190px;overflow:hidden;width:100%}.product-card-v2-image{display:block;height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.product-card-v2:hover .product-card-v2-image{transform:scale(1.04)}.product-card-v2-content{display:flex;flex-direction:column;flex-grow:1;padding:18px}.product-card-v2-name{color:var(--fluffy-blue-darker);font-family:var(--font-headings);font-size:1.25rem;font-weight:600;line-height:1.3;margin-bottom:8px}.product-card-v2-subinfo{color:var(--fluffy-pink-darker);font-family:var(--font-primary);font-size:.75rem;font-weight:500;margin-bottom:10px;text-transform:uppercase}.product-card-v2-description{color:var(--text-color-medium);flex-grow:1;font-family:var(--font-primary);font-size:.85rem;line-height:1.5;margin-bottom:12px}.product-card-v2-price{color:var(--text-color-dark);font-family:var(--font-primary);font-size:1.05rem;font-weight:600;margin-top:auto}@media (max-width:480px){.product-card-v2{width:230px}}.services-list-section{background-color:var(--fluffy-blue-secondary);font-size:1.05rem;line-height:1.65;overflow:hidden;padding:80px 0}.services-list-section .section-title{margin-bottom:20px}.services-list-section .section-subtitle{font-size:1.25rem;line-height:1.7;margin-bottom:50px;margin-left:auto;margin-right:auto;max-width:800px;text-align:center}.services-swiper-container{padding-bottom:45px;padding-top:10px;position:relative}.services-swiper-container .swiper-slide{display:flex;height:auto;justify-content:center}.services-swiper-container .swiper-slide .product-card-wrapper{height:100%;width:100%}.services-swiper-container{--swiper-navigation-color:#000;--swiper-navigation-size:24px}.services-swiper-container .swiper-button-next,.services-swiper-container .swiper-button-prev{z-index:10}@media (max-width:768px){.services-list-section{font-size:1rem;padding:60px 0}.services-list-section .section-subtitle{font-size:1.15rem;margin-bottom:35px}.services-swiper-container{--swiper-navigation-size:22px;padding-bottom:35px}}@media (max-width:480px){.services-list-section .section-subtitle{font-size:1.1rem;max-width:95%}.services-swiper-container{--swiper-navigation-size:20px}}.umai-products-section{background-color:var(--fluffy-pink-secondary);font-size:1.05rem;line-height:1.65;padding:80px 0;text-align:center}.umai-products-section .section-title{margin-bottom:20px}.umai-intro{color:var(--text-color-medium);font-family:var(--font-primary);font-size:1.25rem;line-height:1.75;margin:0 auto 50px;max-width:850px}.umai-swiper-container{padding-bottom:45px;padding-top:10px;position:relative}.umai-swiper-container .swiper-slide{display:flex;height:auto;justify-content:center}.umai-swiper-container .swiper-slide .product-card-wrapper{display:flex;flex-direction:column;height:100%;width:100%}.umai-swiper-container{--swiper-navigation-color:var(--text-color-dark,#000);--swiper-navigation-size:24px}.umai-swiper-container .swiper-button-next,.umai-swiper-container .swiper-button-prev{z-index:10}.umai-availability-note{color:var(--text-color-medium);font-family:var(--font-primary);font-size:1.1rem;font-style:italic;margin-top:50px}@media (max-width:1023px){.umai-intro{font-size:1.15rem}}@media (max-width:768px){.umai-products-section{font-size:1rem;padding:60px 0}.umai-intro{font-size:1.1rem;margin-bottom:40px;padding:0 15px}.umai-swiper-container{--swiper-navigation-size:22px;padding-bottom:35px}.umai-availability-note{font-size:1.05rem;margin-top:40px;padding:0 15px}}@media (max-width:576px){.umai-intro{font-size:1.05rem}.umai-swiper-container{--swiper-navigation-size:20px}.umai-availability-note{font-size:1rem}}.product-card{background-color:var(--neutral-light);border-radius:18px;box-shadow:0 8px 25px var(--fluffy-blue-secondary);display:flex;flex-direction:column;height:100%;overflow:hidden;text-align:left;transition:transform .3s ease,box-shadow .3s ease;width:280px}.product-card:hover{box-shadow:0 12px 30px var(--fluffy-pink-secondary);transform:translateY(-8px)}.product-card-image-container{height:200px;overflow:hidden;width:100%}.product-card-image{display:block;height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.product-card:hover .product-card-image{transform:scale(1.05)}.product-card-content{display:flex;flex-direction:column;flex-grow:1;padding:20px}.product-card-name{color:var(--fluffy-pink-darker);font-family:var(--font-headings);font-size:1.3rem;font-weight:600;line-height:1.3;margin-bottom:8px}.product-card-subinfo{color:var(--fluffy-blue-darker);font-family:var(--font-primary);font-size:.8rem;font-weight:500;margin-bottom:10px;text-transform:uppercase}.product-card-description{color:var(--text-color-medium);flex-grow:1;font-family:var(--font-primary);font-size:.9rem;line-height:1.6;margin-bottom:15px}.product-card-price{color:var(--text-color-dark);font-family:var(--font-primary);font-size:1.1rem;font-weight:600;margin-top:auto}@media (max-width:480px){.product-card{width:240px}}.gaia-products-section{background-color:var(--neutral-light);font-size:1.05rem;line-height:1.65;overflow:hidden;padding:80px 0;text-align:center}.gaia-products-section .gaia-section-title{color:var(--text-color-dark);font-family:var(--font-headings);font-size:3rem;font-weight:600;margin-bottom:20px;position:relative}.gaia-products-section .gaia-section-title:after{background-color:var(--fluffy-pink-primary);border-radius:2px;content:"";display:block;height:3px;margin:15px auto 50px;width:70px}.gaia-intro{color:var(--text-color-dark);font-family:var(--font-primary);font-size:1.25rem;line-height:1.75;margin:0 auto 50px;max-width:800px}.gaia-swiper-container{padding-bottom:45px;padding-top:10px;position:relative}.gaia-swiper-container .swiper-slide{display:flex;height:auto;justify-content:center}.gaia-swiper-container .swiper-slide>*{display:flex;flex-direction:column;height:100%;width:100%}.gaia-swiper-container{--swiper-navigation-color:var(--text-color-dark,#000);--swiper-navigation-size:24px}.gaia-swiper-container .swiper-button-next,.gaia-swiper-container .swiper-button-prev{z-index:10}.gaia-availability-note{color:var(--text-color-dark);font-family:var(--font-primary);font-size:1.1rem;font-style:italic;margin-top:50px}@media (max-width:1023px){.gaia-intro{font-size:1.15rem}}@media (max-width:768px){.gaia-products-section{font-size:1rem;padding:60px 0}.gaia-products-section .gaia-section-title{font-size:2.5rem}.gaia-products-section .gaia-section-title:after{margin:10px auto 40px;width:60px}.gaia-intro{font-size:1.1rem;margin-bottom:40px;padding:0 15px}.gaia-swiper-container{--swiper-navigation-size:22px;padding-bottom:35px}.gaia-availability-note{font-size:1.05rem;margin-top:40px;padding:0 15px}}@media (max-width:480px){.gaia-products-section .gaia-section-title{font-size:2.2rem}.gaia-intro{font-size:1.05rem}.gaia-swiper-container{--swiper-navigation-size:20px}.gaia-availability-note{font-size:1rem}}.instagram-feed-section{background-color:var(--neutral-light);padding:80px 0;text-align:center}.instagram-subtitle{color:var(--text-color-medium);font-family:var(--font-primary);font-size:1.1rem;line-height:1.7;margin:0 auto 50px;max-width:700px}.instagram-posts-container{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;padding:0 10px}.instagram-media{margin:10px auto!important}.instagram-follow-button{background-image:linear-gradient(45deg,#f09433,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888);border:none;border-radius:30px;box-shadow:0 5px 15px #00000026;color:var(--neutral-light);display:inline-block;font-family:var(--font-primary);font-size:1.1rem;font-weight:600;margin-top:50px;padding:14px 35px;text-decoration:none;transition:transform .3s ease,box-shadow .3s ease}.instagram-follow-button:hover{box-shadow:0 8px 20px #0003;transform:translateY(-3px) scale(1.03)}@media (max-width:768px){.instagram-feed-section{padding:60px 0}.instagram-subtitle{font-size:1rem;margin-bottom:40px;padding:0 15px}.instagram-posts-container{gap:15px}.instagram-follow-button{font-size:1rem;margin-top:40px;padding:12px 30px}}.facebook-feed-section{background-color:#f9f9f9;padding:60px 0}.facebook-posts-grid{align-items:center;display:flex;flex-direction:column;gap:2rem}.facebook-post-item{background-color:#fff;border-radius:8px;box-shadow:0 4px 15px #0000001a;max-width:500px;overflow:hidden;width:100%}.facebook-post-item iframe{display:block;width:100%}@media screen and (min-width:1050px){.facebook-posts-grid{align-items:flex-start;flex-direction:row;flex-wrap:wrap;justify-content:center}}.phone-booking-content{color:var(--text-color-dark);padding:2.5rem 1rem;text-align:center}.phone-booking-title{color:var(--text-color-dark);font-family:Playfair Display,serif;font-family:var(--font-headings,"Playfair Display",serif);font-size:2.6rem;font-weight:700;margin-bottom:1.5rem}.phone-booking-text{font-size:1.2rem;line-height:1.7;margin-bottom:1.5rem}.phone-booking-number,.phone-booking-text{font-family:Montserrat,sans-serif;font-family:var(--font-primary,"Montserrat",sans-serif)}.phone-booking-number{background-color:#fff;background-color:var(--neutral-light,#fff);border:2px solid #fadadd;border:2px solid var(--fluffy-pink-primary,#fadadd);border-radius:50px;box-shadow:0 5px 15px #0000001a;color:var(--text-color-dark);display:inline-block;font-size:2.4rem;font-weight:700;margin-bottom:2rem;margin-top:.5rem;padding:.8rem 2rem;text-decoration:none;transition:all .3s ease}.phone-booking-number:focus,.phone-booking-number:hover{background-color:#ffe4e1;background-color:var(--fluffy-pink-secondary,#ffe4e1);border-color:#e7c2c6;border-color:var(--fluffy-pink-darker,#e7c2c6);box-shadow:0 8px 20px #b76e7933;color:var(--text-color-dark);transform:translateY(-3px) scale(1.03)}.phone-booking-availability{font-size:1.1rem;line-height:1.6;margin-bottom:1.5rem}.phone-booking-availability,.phone-booking-note{font-family:Montserrat,sans-serif;font-family:var(--font-primary,"Montserrat",sans-serif)}.phone-booking-note{color:#757575;color:var(--text-color-medium,#757575);font-size:.95rem;font-style:italic;margin-left:auto;margin-right:auto;max-width:600px}@media screen and (max-width:768px){.phone-booking-title{font-size:2.2rem}.phone-booking-number{font-size:2rem;padding:.7rem 1.8rem}.phone-booking-availability,.phone-booking-text{font-size:1.1rem}}@media screen and (max-width:480px){.phone-booking-content{padding:2rem .5rem}.phone-booking-title{font-size:1.9rem}.phone-booking-number{font-size:1.7rem;padding:.6rem 1.5rem}.phone-booking-availability,.phone-booking-text{font-size:1rem}.phone-booking-note{font-size:.9rem}}.commitment-section{background-color:#ebf5fb;background-color:var(--fluffy-blue-secondary,#ebf5fb);color:#4a4a4a;color:var(--text-color-dark,#4a4a4a);font-size:1.15rem;line-height:1.75;padding:80px 0}.commitment-section .section-title{margin-bottom:25px}.commitment-section .section-title:after{margin:15px auto 55px}.commitment-conclusion,.commitment-intro{color:#4a4a4a;color:var(--text-color-dark,#4a4a4a);font-size:1.25rem;line-height:1.8;margin-bottom:50px;margin-left:auto;margin-right:auto;max-width:850px;text-align:center}.commitment-conclusion{font-weight:500;margin-bottom:0;margin-top:60px}.commitment-grid{grid-gap:50px;display:grid;gap:50px;grid-template-columns:1fr;margin:0 auto;max-width:1200px}@media (min-width:992px){.commitment-grid{grid-template-columns:1fr 1fr}}.commitment-column{background-color:#fff;background-color:var(--neutral-light,#fff);border-radius:10px;box-shadow:0 6px 20px #00000017;padding:25px}.commitment-subtitle{color:#4a4a4a;color:var(--text-color-dark,#4a4a4a);font-family:Playfair Display,serif;font-family:var(--font-headings,"Playfair Display",serif);font-size:2rem;font-weight:600;margin-bottom:25px;text-align:center}.brand-logo{display:block;margin:0 auto 25px;max-height:150px;object-fit:contain;width:auto}.commitment-column p,.commitment-list{margin-bottom:1.5rem}.commitment-list{list-style:none;padding-left:0}.commitment-list li{margin-bottom:.8rem;padding-left:28px;position:relative}.commitment-list li:before{color:#e7c2c6;color:var(--fluffy-pink-darker,#e7c2c6);content:"✔";font-size:1.3em;font-weight:700;left:0;position:absolute;top:-1px}.brand-highlight{color:#adcde2;color:var(--fluffy-blue-darker,#adcde2);font-weight:600}@media (max-width:768px){.commitment-section{font-size:1.1rem;line-height:1.7;padding:60px 0}.commitment-conclusion,.commitment-intro{font-size:1.15rem;margin-bottom:40px;padding:0 15px}.commitment-conclusion{margin-top:40px}.commitment-subtitle{font-size:1.8rem}.commitment-grid{gap:30px}.commitment-column{padding:20px}.brand-logo{margin-bottom:20px;max-height:80px}}@media (max-width:480px){.commitment-section{font-size:1.05rem}.commitment-conclusion,.commitment-intro{font-size:1.1rem}.commitment-subtitle{font-size:1.65rem}.commitment-list li{padding-left:25px}.commitment-list li:before{font-size:1.2em}.brand-logo{max-height:70px}}.react-calendar{background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em;max-width:100%;width:350px}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{margin:.5em;width:50%}.react-calendar,.react-calendar *,.react-calendar :after,.react-calendar :before{box-sizing:border-box}.react-calendar button{border:0;margin:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{background:none;min-width:44px}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:focus,.react-calendar__navigation button:enabled:hover{background-color:#e6e6e6}.react-calendar__month-view__weekdays{font:inherit;font-size:.75em;font-weight:700;text-align:center;text-transform:uppercase}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{align-items:center;display:flex;font:inherit;font-size:.75em;font-weight:700;justify-content:center}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__century-view__decades__decade--neighboringCentury,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__month-view__days__day--neighboringMonth{color:#757575}.react-calendar__century-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__year-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{background:none;font:inherit;font-size:.833em;max-width:100%;padding:10px 6.6667px;text-align:center}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__century-view__decades__decade--neighboringCentury:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__month-view__days__day--neighboringMonth:disabled{color:#cdcdcd}.react-calendar__tile:enabled:focus,.react-calendar__tile:enabled:hover{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:focus,.react-calendar__tile--now:enabled:hover{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:focus,.react-calendar__tile--hasActive:enabled:hover{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:focus,.react-calendar__tile--active:enabled:hover{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.booking-calendar-container{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000000d;display:flex;flex-wrap:wrap;gap:2rem;margin-top:1rem;padding:1.5rem}.calendar-section,.slots-section{flex:1 1;min-width:300px}h4{align-items:center;color:#2c3e50;display:flex;font-size:1.1rem;gap:.5rem;margin-bottom:1rem}.custom-calendar{background:#f8f9fa!important;border:none!important;border-radius:12px;font-family:inherit!important;padding:1rem;width:100%!important}.react-calendar__tile--now{background:#e9ecef!important;border-radius:8px;color:#495057!important}.react-calendar__tile--active{background:#667eea!important;border-radius:8px;color:#fff!important}.react-calendar__tile--now:enabled:hover,.react-calendar__tile:enabled:hover{background:#eef2ff!important;border-radius:8px;color:#667eea!important}.slots-date-display{border-bottom:1px solid #e9ecef;color:#667eea;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem;text-transform:capitalize}.slots-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));max-height:300px;overflow-y:auto;padding-right:5px}.slot-btn{background:#fff;border:1px solid #e9ecef;border-radius:8px;color:#495057;cursor:pointer;font-weight:500;padding:.5rem;transition:all .2s}.slot-btn:hover{border-color:#667eea;color:#667eea;transform:scale(1.05)}.slot-btn.active{background:#667eea;border-color:#667eea;box-shadow:0 4px 10px #667eea4d;color:#fff}.no-slots-message,.slots-loader{background:#f8f9fa;border-radius:8px;color:#adb5bd;font-style:italic;padding:2rem;text-align:center}@media (max-width:768px){.booking-calendar-container{flex-direction:column;padding:1rem}}.calendar-tile-blocked{background-color:#fff1f0!important;color:#cf1322!important;cursor:not-allowed!important;opacity:.7;text-decoration:line-through}.calendar-tile-closed{background-color:#f5f5f5!important;color:#8c8c8c!important}.calendar-legend{color:#666;display:flex;font-size:.8rem;gap:15px;justify-content:center;margin-top:15px}.legend-item{align-items:center;display:flex;gap:5px}.dot{border-radius:50%;display:inline-block;height:10px;width:10px}.dot.blocked{background-color:#ffccc7;border:1px solid #ff4d4f}.dot.closed{background-color:#d9d9d9;border:1px solid #8c8c8c}.text-danger{color:#cf1322;font-weight:600}.booking-form-pb{animation:fadeInUp .6s ease-out;background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;box-shadow:0 10px 40px #0000001a;margin:0 auto;max-width:800px;padding:2.5rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.booking-form-pb-header{margin-bottom:2rem;text-align:center}.booking-form-pb-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#2c3e50;font-size:2rem;font-weight:700;margin-bottom:.5rem}.booking-form-pb-header p{color:#6c757d;font-size:1.1rem;font-weight:300}.booking-alert{animation:slideInDown .4s ease-out;border-radius:12px;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1.25rem}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.booking-alert-success{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-left:4px solid #28a745}.booking-alert-error{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border-left:4px solid #dc3545}.alert-icon{flex-shrink:0;font-size:1.5rem}.alert-content{flex:1 1}.alert-content strong{color:#2c3e50;display:block;font-size:1.1rem;margin-bottom:.25rem}.alert-content p{color:#495057;line-height:1.5;margin:0}.booking-form-pb-content{display:flex;flex-direction:column;gap:1.5rem}.form-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{align-items:center;color:#2c3e50;display:flex;font-size:.95rem;gap:.5rem}.label-icon{font-size:1.1rem}.form-group input,.form-group select,.form-group textarea{background:#fff;border:2px solid #e9ecef;border-radius:10px;font-family:inherit;font-size:1rem;padding:.875rem 1rem;transition:all .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none;transform:translateY(-1px)}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f8f9fa;cursor:not-allowed;opacity:.7}.form-group textarea{min-height:100px;resize:vertical}.booking-submit-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:1.125rem;font-weight:600;gap:.5rem;justify-content:center;margin-top:1rem;padding:1.125rem 2rem;transition:all .3s ease;width:100%}.booking-submit-btn:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.booking-submit-btn:active:not(:disabled){transform:translateY(0)}.booking-submit-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.btn-icon{font-size:1.25rem}.spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}.form-note{color:#6c757d;font-size:.875rem;font-style:italic;margin-top:.5rem;text-align:center}@media (max-width:768px){.booking-form-pb{border-radius:15px;padding:1.5rem}.booking-form-pb-header h2{font-size:1.75rem}.booking-form-pb-header p{font-size:1rem}.form-row{gap:1rem;grid-template-columns:1fr}.booking-submit-btn{font-size:1rem;padding:1rem 1.5rem}}@media (max-width:480px){.booking-form-pb{padding:1.25rem}.booking-form-pb-header h2{font-size:1.5rem}.form-group input,.form-group select,.form-group textarea{font-size:.95rem;padding:.75rem}}@media (prefers-color-scheme:dark){.booking-form-pb{background:linear-gradient(135deg,#2c3e50,#34495e)}.booking-form-pb-header h2{color:#ecf0f1}.booking-form-pb-header p{color:#bdc3c7}.form-group label{color:#ecf0f1}.form-group input,.form-group select,.form-group textarea{background:#34495e;border-color:#4a5f7f;color:#ecf0f1}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#3d5a80;border-color:#667eea}.form-note{color:#95a5a6}.alert-content p,.alert-content strong{color:#2c3e50}}.booking-steps{margin-bottom:1.5rem;margin-left:auto;margin-right:auto;max-width:400px;position:relative}.booking-steps,.step-dot{align-items:center;display:flex;justify-content:center}.step-dot{background:#fff;border:2px solid #e9ecef;border-radius:50%;color:#adb5bd;flex-shrink:0;font-size:.9rem;font-weight:700;height:35px;transition:all .3s ease;width:35px;z-index:2}.step-dot.active{background:#667eea;border-color:#667eea;box-shadow:0 4px 10px #667eea66;color:#fff;transform:scale(1.1)}.step-line{background:#e9ecef;flex:1 1;height:2px;margin:0 -5px;z-index:1}.step-label{animation:fadeIn .5s ease;color:#2c3e50;font-size:1.25rem;font-weight:700;letter-spacing:1px;margin-bottom:2.5rem;text-align:center;text-transform:uppercase}.services-grid-select{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.service-card-select{align-items:center;background:#fff;border:1px solid #f1f3f5;border-radius:16px;box-shadow:0 4px 6px #00000005;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;padding:1.5rem;position:relative;text-align:center;transition:all .3s cubic-bezier(.25,.8,.25,1)}.service-card-select:before{background:#667eea;content:"";height:4px;left:0;position:absolute;top:0;transform:scaleX(0);transform-origin:left;transition:transform .3s ease;width:100%}.service-card-select:hover{border-color:#dbe4ff;box-shadow:0 15px 30px #0000001a;transform:translateY(-5px)}.service-card-select:hover:before{transform:scaleX(1)}.service-info{margin-bottom:1.5rem}.service-info h4{color:#2c3e50;font-size:1.2rem;font-weight:700;margin:0 0 .5rem}.service-meta{background:#f8f9fa;border-radius:20px;color:#6c757d;display:inline-block;font-size:.95rem;font-weight:500;padding:.2rem .8rem}.select-btn{background:#0000;border:2px solid #667eea;border-radius:30px;color:#667eea;font-size:.9rem;font-weight:700;letter-spacing:.5px;padding:.5rem 2rem;text-transform:uppercase;transition:all .2s}.service-card-select:hover .select-btn{background:#667eea;border-color:#667eea;box-shadow:0 4px 15px #667eea66;color:#fff}.back-link{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:30px;box-shadow:0 2px 5px #0000000d;color:#6c757d;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;margin-right:1.5rem;padding:.5rem 1rem;transition:all .2s ease}.back-link:hover{border-color:#667eea;box-shadow:0 4px 8px #667eea26;color:#667eea;transform:translateX(-3px)}.step-content{animation:fadeIn .4s ease-out}@media (prefers-color-scheme:dark){.step-dot{background:#34495e;border-color:#4a5f7f}.step-line{background:#4a5f7f}.step-label{color:#ecf0f1}.service-card-select{background:#34495e;border-color:#4a5f7f}.service-card-select h4{color:#ecf0f1}.service-meta{background:#2c3e50;color:#bdc3c7}.service-card-select:hover{border-color:#5a7bd6;box-shadow:0 15px 30px #0000004d}.back-link{background:#34495e;border-color:#4a5f7f;color:#ecf0f1}.back-link:hover{background:#3d5a80}}.step-content h3{align-items:center;border-bottom:2px solid #f8f9fa;color:#2c3e50;display:flex;font-size:1.75rem;font-weight:800;margin-bottom:2rem;padding-bottom:1rem}.step-actions{border-top:1px solid #f8f9fa;display:flex;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.btn-next{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;box-shadow:0 4px 15px #667eea66;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:700;gap:.5rem;letter-spacing:.5px;padding:.8rem 2.5rem;text-transform:uppercase;transition:all .3s}.btn-next:hover:not(:disabled){box-shadow:0 8px 25px #667eea80;transform:translateY(-2px)}.btn-next:disabled{background:#e9ecef;box-shadow:none;color:#adb5bd;cursor:not-allowed;transform:none}.booking-summary-small{animation:slideInDown .3s ease-out;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#fff;display:flex;flex-direction:column;font-size:1.1rem;font-weight:500;gap:.5rem;margin-bottom:2rem;padding:1.5rem;text-align:center}.details-form{gap:1.5rem;margin:0 auto;max-width:500px}.details-form,.form-group-pb{display:flex;flex-direction:column}.form-group-pb{gap:.5rem}.form-group-pb label{align-items:center;color:#495057;display:flex;font-size:.95rem;font-weight:600;gap:.5rem}.form-group-pb input,.form-group-pb textarea{background:#f8f9fa;border:2px solid #e9ecef;border-radius:10px;font-family:inherit;font-size:1rem;padding:.9rem 1rem;transition:all .3s ease;width:100%}.form-group-pb input:focus,.form-group-pb textarea:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;outline:none}.btn-confirm{align-items:center;background:linear-gradient(135deg,#11998e,#38ef7d);border:none;border-radius:12px;box-shadow:0 4px 15px #38ef7d66;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:700;justify-content:center;letter-spacing:1px;margin-top:1rem;padding:1.2rem;text-transform:uppercase;transition:all .3s;width:100%}.btn-confirm:hover:not(:disabled){box-shadow:0 8px 25px #38ef7d80;transform:translateY(-2px)}.btn-confirm:disabled{cursor:wait;opacity:.7}.loader-spin{animation:spin 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:24px;width:24px}@media (prefers-color-scheme:dark){.form-group-pb label,.step-content h3{color:#ecf0f1}.form-group-pb input,.form-group-pb textarea{background:#34495e;border-color:#4a5f7f;color:#fff}}.booking-success-view{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:500px;text-align:center}.success-icon{animation:bounceIn .8s cubic-bezier(.25,.8,.25,1);color:#28a745;font-size:4rem;margin-bottom:1.5rem}@keyframes bounceIn{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.2)}to{transform:scale(1)}}.booking-success-view h3{color:#2c3e50;font-size:2rem;font-weight:800;margin-bottom:1rem}.booking-success-view p{color:#6c757d;font-size:1.1rem;margin-bottom:2rem}.booking-summary-card{background:#f8f9fa;border:2px dashed #b8c2cc;border-radius:12px;box-sizing:border-box;margin-bottom:2rem;max-width:500px;padding:2rem;position:relative;text-align:left;width:100%}.booking-summary-card p{align-items:center;color:#495057;display:flex;font-size:1.1rem;gap:.8rem;margin:.5rem 0}.booking-summary-card strong{color:#2c3e50;min-width:100px}.success-note{font-size:.95rem!important;font-style:italic;opacity:.8}.success-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;width:100%}.success-actions button{border-radius:30px;cursor:pointer;font-size:1rem;font-weight:700;min-width:180px;padding:1rem 2rem;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;box-shadow:0 4px 15px #667eea66}.btn-primary:hover{box-shadow:0 8px 20px #667eea80;transform:translateY(-2px)}.btn-secondary{background:#0000;border:2px solid #e9ecef;color:#6c757d}.btn-secondary:hover{background:#f8f9fa;border-color:#6c757d;color:#2c3e50}@media (prefers-color-scheme:dark){.booking-success-view h3{color:#ecf0f1}.booking-summary-card{background:#34495e;border-color:#4a5f7f}.booking-summary-card p{color:#bdc3c7}.booking-summary-card strong{color:#ecf0f1}.btn-secondary{border-color:#4a5f7f;color:#bdc3c7}.btn-secondary:hover{background:#34495e;color:#ecf0f1}}.categories-grid-select{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-bottom:2rem}.category-card-select{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:16px;cursor:pointer;display:flex;flex-direction:column;gap:.8rem;overflow:hidden;padding:1.5rem 1rem;position:relative;text-align:center;transition:all .2s cubic-bezier(.25,.8,.25,1);-webkit-user-select:none;user-select:none}.category-card-select:hover{border-color:#ced4da;box-shadow:0 8px 20px #00000014;transform:translateY(-3px)}.category-card-select.selected{background-color:#f0f4ff;border-color:#667eea;box-shadow:0 4px 12px #667eea33}.category-card-select .cat-icon-placeholder{align-items:center;background:#f8f9fa;border-radius:50%;color:#adb5bd;display:flex;font-size:1.5rem;font-weight:700;height:45px;justify-content:center;transition:all .3s ease;width:45px}.category-card-select.selected .cat-icon-placeholder{background:#667eea;color:#fff}.category-card-select span{color:#495057;font-size:.95rem;font-weight:600;line-height:1.2}.category-card-select.selected span{color:#2c3e50}.check-icon{animation:scaleIn .2s ease;color:#667eea;font-size:1.2rem;position:absolute;right:10px;top:10px}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.services-selection-area{animation:fadeIn .4s ease;background:#fff;border:1px solid #f1f3f5;border-radius:16px;box-shadow:0 4px 25px #00000008;min-height:200px;padding:1.5rem}.helper-text-select-cat{color:#adb5bd;font-size:1.1rem;margin-top:3rem;text-align:center}.services-group{animation:slideInDown .3s ease-out;margin-bottom:2rem}.services-group:last-child{margin-bottom:0}.services-group h4{border-bottom:1px solid #f1f3f5;color:#764ba2;font-size:1.1rem;font-weight:700;letter-spacing:.5px;margin-bottom:1rem;padding-bottom:.5rem;text-transform:uppercase}.services-list{display:flex;flex-direction:column;gap:.8rem}.service-item-row{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:12px;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.2rem;transition:all .2s ease}.service-item-row:hover{background-color:#fcfcfc;border-color:#cbd3da}.service-item-row.selected{background-color:#f7f9ff;border-color:#667eea}.service-row-info{display:flex;flex-direction:column}.service-name{color:#2c3e50;font-size:1rem;font-weight:600;margin-bottom:.2rem}.service-item-row.selected .service-name{color:#5a67d8}.service-meta{background:none;color:#868e96;font-size:.85rem;padding:0}.service-checkbox{align-items:center;color:#667eea;display:flex;font-size:1.5rem;height:24px;justify-content:center;width:24px}.circle-empty{border:2px solid #dee2e6;border-radius:50%;height:20px;transition:all .2s;width:20px}.service-item-row:hover .circle-empty{border-color:#adb5bd}.step-footer-actions{align-items:center;border-top:1px solid #e9ecef;display:flex;justify-content:space-between;margin-top:2rem;padding-top:1.5rem}.selection-summary{display:flex;flex-direction:column}.selection-summary span{color:#6c757d;font-size:.9rem}.selection-summary strong{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;color:#2c3e50;font-size:1.2rem}@media (max-width:600px){.categories-grid-select{grid-template-columns:repeat(2,1fr)}.step-footer-actions{align-items:stretch;flex-direction:column;gap:1rem;text-align:center}.btn-next{justify-content:center;width:100%}}.profile-page{background-color:#f8f9fa;min-height:100vh;padding-bottom:4rem;padding-top:100px}.profile-container{grid-gap:2.5rem;display:grid;gap:2.5rem;grid-template-columns:320px 1fr;margin:0 auto;max-width:1200px;padding:0 1.5rem}.profile-card{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000f;padding:2rem;text-align:center;transition:all .3s ease}.user-info-card{display:flex;flex-direction:column;position:sticky;top:100px}.profile-avatar-container{height:120px;margin:0 auto 1rem;position:relative;width:120px}.profile-avatar{align-items:center;background:linear-gradient(135deg,#e0c3fc,#8ec5fc);border:4px solid #fff;border-radius:50%;box-shadow:0 4px 10px #0000001a;display:flex;height:100%;justify-content:center;overflow:hidden;width:100%}.profile-avatar img{height:100%;object-fit:cover;width:100%}.avatar-placeholder{font-size:3.5rem;height:100%;width:100%}.avatar-placeholder,.avatar-upload-btn{align-items:center;color:#fff;display:flex;justify-content:center}.avatar-upload-btn{background:#667eea;border:2px solid #fff;border-radius:50%;bottom:0;box-shadow:0 2px 5px #0003;cursor:pointer;font-size:1.1rem;height:36px;position:absolute;right:0;transition:all .2s;width:36px}.avatar-upload-btn:hover{background:#5a6fd1;transform:scale(1.1)}.user-role-badge{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:20px;color:#495057;display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.5px;margin-bottom:1rem;padding:.35rem 1rem;text-transform:uppercase}.edit-profile-link{align-items:center;background:none;border:none;border-radius:8px;color:#667eea;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;justify-content:center;margin:0 auto 1.5rem;padding:.5rem;transition:background .2s}.edit-profile-link:hover{background:#f1f3f5;text-decoration:none}.sidebar-menu{border-top:1px solid #f1f3f5;display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem;padding-top:1.5rem}.sidebar-menu-item{align-items:center;background:none;border:none;border-radius:12px;color:#6c757d;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:1rem;padding:1rem;text-align:left;transition:all .2s}.sidebar-menu-item:hover{background:#f8f9fa;color:#2c3e50}.sidebar-menu-item.active{background:#eef2ff;color:#667eea;font-weight:600}.logout-btn{align-items:center;background-color:#fff0f0;border:none;border-radius:12px;color:#e03131;cursor:pointer;display:flex;font-weight:600;gap:.5rem;justify-content:center;margin-top:auto;padding:1rem;transition:all .2s;width:100%}.logout-btn:hover{background-color:#ffe3e3;transform:translateY(-2px)}.profile-content h1{color:#2c3e50;font-size:2rem;font-weight:800;margin-bottom:2rem}.bookings-section h3{align-items:center;color:#495057;display:flex;font-size:1.3rem;gap:.5rem;margin-bottom:1.5rem}.bookings-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.booking-card{border-left:5px solid #0000;border-radius:16px;overflow:hidden;position:relative;transition:all .3s ease}.booking-card:hover{box-shadow:0 10px 25px #0000001a;transform:translateY(-5px)}.booking-card.status-pending{background:linear-gradient(90deg,#fffcf5,#fff);border-left-color:#ffc107}.booking-card.status-confirmed{background:linear-gradient(90deg,#f6fff8,#fff);border-left-color:#28a745}.booking-card.status-completed{border-left-color:#6c757d}.booking-card.status-cancelled{border-left-color:#dc3545;opacity:.8}.booking-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.booking-date{color:#2c3e50;font-size:1.1rem;font-weight:700;text-transform:capitalize}.status-badge{border-radius:20px;font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.status-badge.pending{background-color:#fff3cd;color:#856404}.status-badge.confirmed{background-color:#d4edda;color:#155724}.status-badge.completed{background-color:#e2e3e5;color:#383d41}.status-badge.cancelled{background-color:#f8d7da;color:#721c24}.booking-body h4{color:#343a40;font-size:1.15rem;margin-bottom:.75rem}.booking-time{align-items:center;background:#f8f9fa;border-radius:8px;color:#495057;display:inline-flex;font-size:.9rem;font-weight:500;gap:.5rem;margin-bottom:1rem;padding:.25rem .75rem}.booking-message{border-top:1px dashed #e9ecef;color:#868e96;font-size:.9rem;font-style:italic;padding-top:.75rem}.empty-state-mini{background:#fff;border:1px dashed #ced4da;border-radius:12px;padding:2rem;text-align:center}.new-booking-btn-small{background:#667eea;border-radius:8px;color:#fff;display:inline-block;font-size:.9rem;font-weight:600;margin-top:1rem;padding:.6rem 1.25rem;text-decoration:none;transition:all .2s}.new-booking-btn-small:hover{background:#5a6fd1;box-shadow:0 4px 12px #5a6fd14d;transform:translateY(-2px)}.opacity-low{opacity:.7}.settings-actions{display:flex;gap:1rem;margin-top:2rem}.form-group{margin-bottom:1.5rem}.input-with-icon{position:relative}.input-with-icon svg{color:#adb5bd;font-size:1.1rem;left:1rem;position:absolute;top:50%;transform:translateY(-50%)}.input-with-icon input{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;color:#495057;font-size:1rem;padding:.875rem 1rem .875rem 3rem;transition:all .3s;width:100%}.input-with-icon input.editable{background:#fff;border-color:#adb5bd;color:#2c3e50}.input-with-icon input.editable:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.btn-primary,.btn-secondary,.btn-success{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover{background:#5a6fd1}.btn-secondary{background:#e9ecef;color:#495057}.btn-secondary:hover{background:#dee2e6}.btn-success{background:#28a745;color:#fff}.btn-success:hover{background:#218838}.form-note-small{color:#adb5bd;font-size:.8rem;font-style:italic;margin-top:1rem}@media (max-width:900px){.profile-container{grid-template-columns:1fr}.user-info-card{position:static}.sidebar-menu{flex-direction:row;flex-wrap:wrap}.sidebar-menu-item{flex:1 1;justify-content:center}.settings-actions{flex-direction:column}}.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{-webkit-appearance:button;appearance:button;cursor:pointer;overflow:visible;text-transform:none}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-calendar{align-items:stretch;box-sizing:border-box;display:flex;flex-direction:column;height:100%}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar :after,.rbc-calendar :before{box-sizing:inherit}.rbc-abs-full,.rbc-row-bg{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0}.rbc-ellipsis,.rbc-event-label,.rbc-row-segment .rbc-event-content,.rbc-show-more{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbc-rtl{direction:rtl}.rbc-off-range{color:#999}.rbc-off-range-bg{background:#e6e6e6}.rbc-header{border-bottom:1px solid #ddd;flex:1 0;font-size:90%;font-weight:700;min-height:0;overflow:hidden;padding:0 3px;text-align:center;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.rbc-header+.rbc-header{border-left:1px solid #ddd}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{background:none;border:none;color:inherit;cursor:pointer;margin:0;padding:0;-webkit-user-select:text;user-select:text}.rbc-row-content{position:relative;user-select:none;-webkit-user-select:none;z-index:4}.rbc-row-content-scrollable{display:flex;flex-direction:column;height:100%}.rbc-row-content-scrollable .rbc-row-content-scroll-container{-ms-overflow-style:none;height:100%;overflow-y:scroll;scrollbar-width:none}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}.rbc-today{background-color:#eaf6ff}.rbc-toolbar{align-items:center;display:flex;flex-wrap:wrap;font-size:16px;justify-content:center;margin-bottom:10px}.rbc-toolbar .rbc-toolbar-label{flex-grow:1;padding:0 10px;text-align:center}.rbc-toolbar button{background:none;background-image:none;border:1px solid #ccc;border-radius:4px;color:#373a3c;display:inline-block;line-height:normal;margin:0;padding:.375rem 1rem;text-align:center;vertical-align:middle;white-space:nowrap}.rbc-toolbar button.rbc-active,.rbc-toolbar button:active{background-color:#e6e6e6;background-image:none;border-color:#adadad;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.rbc-toolbar button.rbc-active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button:active:hover{background-color:#d4d4d4;border-color:#8c8c8c;color:#373a3c}.rbc-toolbar button:focus,.rbc-toolbar button:hover{background-color:#e6e6e6;border-color:#adadad;color:#373a3c}.rbc-toolbar button:hover{cursor:pointer}.rbc-btn-group{display:inline-block;white-space:nowrap}.rbc-btn-group>button:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:4px;border-bottom-left-radius:0;border-top-left-radius:0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px;border-bottom-right-radius:0;border-top-right-radius:0}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media (max-width:767px){.rbc-toolbar{flex-direction:column}}.rbc-day-slot .rbc-background-event,.rbc-event{background-color:#3174ad;border:none;border-radius:5px;box-shadow:none;box-sizing:border-box;color:#fff;cursor:pointer;margin:0;padding:2px 5px;text-align:left;width:100%}.rbc-day-slot .rbc-slot-selecting .rbc-background-event,.rbc-slot-selecting .rbc-day-slot .rbc-background-event,.rbc-slot-selecting .rbc-event{cursor:inherit;pointer-events:none}.rbc-day-slot .rbc-selected.rbc-background-event,.rbc-event.rbc-selected{background-color:#265985}.rbc-day-slot .rbc-background-event:focus,.rbc-event:focus{outline:5px auto #3b99fc}.rbc-event-label{font-size:80%}.rbc-event-overlaps{box-shadow:-1px 1px 5px 0 #33333380}.rbc-event-continues-prior{border-bottom-left-radius:0;border-top-left-radius:0}.rbc-event-continues-after{border-bottom-right-radius:0;border-top-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-left-radius:0;border-bottom-right-radius:0}.rbc-row{display:flex;flex-direction:row}.rbc-row-segment{padding:0 1px 1px}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{background-color:#ffffff4d;color:#3174ad;font-size:85%;font-weight:700;height:auto;line-height:normal;z-index:4}.rbc-show-more:focus,.rbc-show-more:hover{color:#265985}.rbc-month-view{border:1px solid #ddd;display:flex;flex:1 0;flex-direction:column;height:100%;position:relative;user-select:none;-webkit-user-select:none;width:100%}.rbc-month-header{display:flex;flex-direction:row}.rbc-month-row{display:flex;flex:1 0;flex-basis:0px;flex-direction:column;height:100%;overflow:hidden;position:relative}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{flex:1 1;min-width:0;padding-right:5px;text-align:right}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{display:flex;flex:1 0;flex-direction:row;overflow:hidden;right:1px}.rbc-day-bg{flex:1 0}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{background-color:#fff;border:1px solid #e5e5e5;box-shadow:0 5px 15px #00000040;padding:10px;position:absolute;z-index:5}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{display:flex;flex:1 0;flex-direction:column;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{border:1px solid #ddd;border-collapse:collapse;border-spacing:0;width:100%}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{padding:5px 10px;vertical-align:top}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{padding-left:15px;padding-right:15px;text-transform:lowercase}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{border-bottom:1px solid #ddd;padding:3px 5px;text-align:left}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-agenda-event-cell{width:100%}.rbc-time-column{display:flex;flex-direction:column;min-height:100%}.rbc-time-column .rbc-timeslot-group{flex:1 1}.rbc-timeslot-group{border-bottom:1px solid #ddd;display:flex;flex-flow:column nowrap;min-height:40px}.rbc-header-gutter,.rbc-time-gutter{flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{bottom:0;left:0;margin-right:10px;position:absolute;right:0;top:0}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-background-event,.rbc-day-slot .rbc-event{align-items:flex-start;border:1px solid #265985;display:flex;flex-flow:column wrap;max-height:100%;min-height:20px;overflow:hidden;position:absolute}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{flex:none;padding-right:5px;width:auto}.rbc-day-slot .rbc-event-content{word-wrap:break-word;flex:1 1;height:100%;line-height:1;min-height:1em;width:100%}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{background-color:#fff;border-right:1px solid #ddd;left:0;margin-right:-1px;position:sticky;z-index:10}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{flex:1 0;flex-basis:0px;min-width:auto}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-day-bg,.rbc-time-view-resources .rbc-header{flex:1 1;flex-basis:0 px;width:140px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{flex:1 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{background-color:#00000080;color:#fff;font-size:75%;padding:3px;position:absolute;width:100%;z-index:10}.rbc-slot-selecting{cursor:move}.rbc-time-view{border:1px solid #ddd;display:flex;flex:1 1;flex-direction:column;min-height:0;width:100%}.rbc-time-view .rbc-time-gutter{text-align:right;white-space:nowrap}.rbc-time-view .rbc-allday-cell{box-sizing:initial;height:100%;position:relative;width:100%}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{position:relative;z-index:4}.rbc-time-view .rbc-row{box-sizing:border-box;min-height:20px}.rbc-time-header{display:flex;flex:0 0 auto;flex-direction:row}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-left:1px solid #ddd;border-right-width:0}.rbc-time-header>.rbc-row.rbc-row-resource,.rbc-time-header>.rbc-row:first-child{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{border-left:1px solid #ddd;display:flex;flex:1 1;flex-direction:column;min-width:0}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;flex-shrink:0}.rbc-time-content{align-items:flex-start;border-top:2px solid #ddd;display:flex;flex:1 0;overflow-y:auto;position:relative;width:100%}.rbc-time-content>.rbc-time-gutter{flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{user-select:none;-webkit-user-select:none;width:100%}.rbc-current-time-indicator{background-color:#74ad31;height:1px;left:0;pointer-events:none;position:absolute;right:0;z-index:3}.rbc-resource-grouping.rbc-time-header-content{display:flex;flex-direction:column}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.admin-bookings-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.view-toggle-container{background:#f1f3f5;border-radius:50px;display:flex;padding:.3rem}.btn-view{align-items:center;background:#0000;border:none;border-radius:30px;color:#495057;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.6rem 1.2rem;transition:all .2s}.btn-view.active{background:#fff;box-shadow:0 2px 10px #0000000d;color:#667eea}.btn-view:hover:not(.active){background:#ffffff80}.calendar-wrapper{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000000d;height:800px;margin-top:2rem;padding:2rem}.rbc-event{background-color:#667eea}.rbc-today{background-color:#667eea0d}.rbc-header{color:#495057;font-weight:600;padding:10px 0}.rbc-time-view{border:1px solid #e9ecef;border-radius:8px}.rbc-timeslot-group{border-bottom:1px solid #f1f3f5}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f8f9fa}.admin-bookings{color:var(--text-color);padding:2rem}.admin-bookings-header,.stats-grid{margin-bottom:2rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000000d;display:flex;gap:1rem;padding:1.5rem;transition:transform .3s}.stat-card:hover{transform:translateY(-5px)}.stat-icon{align-items:center;background:#f8f9fa;border-radius:50%;display:flex;font-size:2rem;height:60px;justify-content:center;padding:1rem;width:60px}.stat-info{display:flex;flex-direction:column}.stat-value{color:var(--primary-color);font-size:1.5rem;font-weight:700}.stat-label{color:#6c757d;font-size:.9rem}.bookings-controls{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem;padding:1rem}.filter-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.filter-buttons button{background:#f1f3f5;border:none;border-radius:20px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s}.filter-buttons button.active{background:var(--primary-color);color:#fff}.search-box{align-items:center;background:#f8f9fa;border-radius:20px;display:flex;padding:.5rem 1rem;width:300px}.search-icon{color:#adb5bd;margin-right:.5rem}.search-box input{background:#0000;border:none;outline:none}.bookings-list{grid-gap:1.5rem;display:grid;gap:1.5rem}.booking-card{background:#fff;border-left:5px solid #ccc;border-radius:12px;box-shadow:0 4px 15px #0000000d;padding:1.5rem;transition:transform .2s}.booking-card:hover{transform:translateX(5px)}.status-pending{border-left-color:#ffc107}.status-confirmed{border-left-color:#28a745}.status-completed{border-left-color:#6c757d}.status-cancelled{border-left-color:#dc3545}.booking-card-header{align-items:start;border-bottom:1px solid #f8f9fa;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.booking-customer h3{color:#2c3e50;margin:0 0 .5rem}.booking-contact{color:#6c757d;display:flex;flex-direction:column;font-size:.9rem;gap:.2rem}.booking-status{border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;padding:.3rem .8rem}.booking-info{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.info-item{align-items:center;display:flex;gap:.8rem}.info-icon{color:var(--primary-color);font-size:1.2rem}.info-text{font-size:.95rem}.info-message{background:#f8f9fa;border-radius:8px;grid-column:1/-1;margin-top:.5rem;padding:1rem}.booking-card-footer{border-top:1px solid #f8f9fa;justify-content:space-between;padding-top:1rem}.booking-card-footer,.status-actions-group{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.quick-actions{display:flex;gap:.5rem}.btn-quick-cancel,.btn-quick-confirm{align-items:center;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.4rem;padding:.5rem 1rem;transition:all .2s}.btn-quick-confirm{background-color:#28a745;box-shadow:0 2px 5px #28a74533}.btn-quick-confirm:hover{background-color:#218838;transform:translateY(-1px)}.btn-quick-cancel{background-color:#dc3545;box-shadow:0 2px 5px #dc354533}.btn-quick-cancel:hover{background-color:#c82333;transform:translateY(-1px)}.status-select-wrapper{align-items:center;display:flex;gap:.5rem}.status-select-wrapper label{color:#6c757d;font-size:.85rem}.status-select{background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;font-size:.9rem;padding:.4rem .8rem}.status-select:focus{border-color:#667eea;outline:none}.delete-btn{align-items:center;background:#fff1f0;border:1px solid #ffccc7;border-radius:6px;color:#dc3545;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.delete-btn:hover{background:#ffccc7}.booking-meta{color:#adb5bd;font-size:.8rem;margin-top:.5rem;text-align:right}.no-bookings{background:#fff;border-radius:12px;color:#6c757d;padding:4rem;text-align:center}.no-bookings-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}@media (max-width:768px){.bookings-controls{align-items:stretch;flex-direction:column-reverse}.search-box{width:100%}.filter-buttons{justify-content:center}.booking-card-footer,.status-actions{align-items:stretch;flex-direction:column}}.admin-users{color:var(--text-color);padding:2rem}.admin-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.admin-header h2{font-family:Playfair Display,serif;font-size:2rem;margin:0}.search-box{max-width:300px;position:relative;width:100%}.search-box input{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);padding:.75rem 1rem .75rem 2.5rem;width:100%}.search-icon{left:.75rem;opacity:.5;position:absolute;top:50%;transform:translateY(-50%)}.users-table-container{background:var(--card-bg);border-radius:12px;box-shadow:0 4px 20px #0000000d;overflow-x:auto}.users-table{border-collapse:collapse;min-width:600px;width:100%}.users-table td,.users-table th{border-bottom:1px solid var(--border-color);padding:1rem 1.5rem;text-align:left}.users-table th{background:#00000005;color:var(--primary-color);font-weight:600}.user-avatar-small{align-items:center;background:#eee;border-radius:50%;display:flex;height:40px;justify-content:center;overflow:hidden;width:40px}.user-avatar-small img{height:100%;object-fit:cover;width:100%}.avatar-placeholder{color:#666;font-weight:700}.role-badge{border-radius:20px;display:inline-block;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.role-admin{background:#dc35451a;color:#dc3545}.role-user{background:#28a7451a;color:#28a745}.no-result{color:#888;padding:3rem;text-align:center}.loader{color:var(--primary-color);display:flex;font-size:1.2rem;justify-content:center;padding:3rem}.admin-services{color:var(--text-color);padding:2rem}.btn-add{align-items:center;background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:background .3s}.btn-add:hover{background:var(--secondary-color)}.services-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.service-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;padding:1.5rem;transition:transform .2s,box-shadow .2s}.service-card:hover{box-shadow:0 8px 15px #0000000d;transform:translateY(-2px)}.service-card.inactive{background:#f9f9f9;opacity:.7}.service-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.service-header h3{color:var(--primary-color);font-family:Playfair Display,serif;font-size:1.25rem;margin:0}.price-tag{background:var(--bg-light);border-radius:20px;color:var(--text-color);font-weight:700;padding:.25rem .75rem}.service-body{flex:1 1;margin-bottom:1.5rem}.duration{color:#666;font-size:.9rem;margin-bottom:.5rem}.description{color:#555;font-size:.9rem;line-height:1.4}.status-badge{background:#e9ecef;border-radius:4px;color:#495057;display:inline-block;font-size:.75rem;margin-top:.5rem;padding:2px 8px}.service-actions{border-top:1px solid var(--border-color);display:flex;gap:.5rem;justify-content:flex-end;padding-top:1rem}.btn-icon{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;height:36px;justify-content:center;transition:background .2s,color .2s;width:36px}.btn-icon.edit:hover{background:#007bff1a;color:#007bff}.btn-icon.delete:hover{background:#dc35451a;color:#dc3545}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;max-width:500px;padding:2rem;width:90%}.modal-content h3{color:var(--primary-color);font-family:Playfair Display,serif;margin-bottom:1.5rem;margin-top:0}.form-group{margin-bottom:1rem}.form-group label{font-weight:500}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:6px;font-size:1rem;padding:.75rem;width:100%}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1 1}.checkbox-group label{align-items:center;cursor:pointer;display:flex;gap:.5rem}.checkbox-group input{width:auto}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.btn-cancel{background:#f8f9fa;border:1px solid #ddd;border-radius:6px}.btn-cancel,.btn-save{cursor:pointer;padding:.75rem 1.5rem}.btn-save{background:var(--primary-color);border:none;border-radius:6px;color:#fff}.btn-save:hover{background:var(--secondary-color)}.tabs-container{border-bottom:2px solid #f1f3f5;display:flex;gap:.5rem;margin-bottom:2rem;overflow-x:auto;padding-bottom:5px}.tab{background:none;border:none;border-radius:8px 8px 0 0;color:#6c757d;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.25rem;position:relative;top:2px;transition:all .2s;white-space:nowrap}.tab:hover{background:#00000005}.tab.active,.tab:hover{color:var(--primary-color)}.tab.active{background:#fff;border-bottom:2px solid var(--primary-color);font-weight:700}.category-manager-modal{max-width:90vw;width:500px}.category-manager-modal h3{border-bottom:1px solid #eee;padding-bottom:1rem}.add-cat-form{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:.8rem;margin-bottom:1.5rem;padding:1rem}.add-cat-form input{border:1px solid #dee2e6;border-radius:6px;flex:1 1;font-size:1rem;padding:.8rem 1rem}.add-cat-form input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #4a6cf71a;outline:none}.btn-add-small{align-items:center;background:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:42px;justify-content:center;transition:all .2s;width:42px}.btn-add-small:hover{background:#5a6fd1;transform:translateY(-1px)}.category-manager-list{display:flex;flex-direction:column;gap:.8rem;max-height:50vh;overflow-y:auto;padding:4px}.category-item{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 1px 3px #0000000d;display:flex;justify-content:space-between;padding:.8rem 1rem;transition:transform .2s,box-shadow .2s}.category-item:hover{border-color:#dee2e6;box-shadow:0 4px 6px #00000014;transform:translateY(-1px)}.category-item.dragging{background:#f0f4ff;border:2px dashed var(--primary-color);opacity:.5}.category-info{align-items:center;color:#343a40;display:flex;font-weight:600;gap:1rem}.cat-drag-handle{color:#adb5bd;cursor:grab;font-size:1.2rem;padding:4px}.cat-drag-handle:hover{color:var(--primary-color)}.category-actions .btn-icon{background:#fff0f0;border:none;color:#e03131;height:32px;width:32px}.category-actions .btn-icon:hover{background:#ffe3e3}.setup-alert{background:#fff9db;border:1px solid #ffe066;border-radius:8px;color:#e67700;margin-bottom:2rem;padding:1.5rem}.setup-alert h4{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem;margin-top:0}.setup-alert code{background:#0000000f;border-radius:4px;font-family:monospace;font-weight:700;padding:.2rem .4rem}.btn-manage-cats{align-items:center;background:#fff;border:1px solid #ced4da;border-radius:8px;color:#495057;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.btn-manage-cats:hover{background:#f8f9fa;border-color:#adb5bd;color:#212529}.view-toggles{background:#fff;border:1px solid #e9ecef;border-radius:8px;display:flex;margin-right:.5rem;padding:2px}.view-toggles .btn-icon{border-radius:6px;color:#adb5bd;height:32px;width:32px}.view-toggles .btn-icon:hover{background:#f8f9fa;color:#495057}.view-toggles .btn-icon.active{background:#e7f5ff;color:var(--primary-color)}.services-grid.list-view{gap:.8rem;grid-template-columns:1fr}.services-grid.list-view .service-card{align-items:center;flex-direction:row;gap:1.5rem;padding:.8rem 1.5rem}.services-grid.list-view .service-header{align-items:center;flex:0 0 250px;margin-bottom:0}.services-grid.list-view .service-header h3{font-size:1.1rem;margin-right:auto}.services-grid.list-view .service-body{align-items:center;display:flex;flex:1 1;gap:2rem;margin-bottom:0}.services-grid.list-view .duration{margin-bottom:0;width:80px}.services-grid.list-view .description{color:#888;margin-bottom:0;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.services-grid.list-view .service-actions{border-top:none;margin-left:auto;padding-top:0}.service-drag-handle{color:#adb5bd;cursor:grab;font-size:1.2rem;min-width:20px}.service-drag-handle:hover{color:var(--primary-color)}.service-card.draggable{cursor:grab}.service-card.draggable:active{cursor:grabbing}.service-card.dragging{background:#f8f9fa;border:2px dashed var(--primary-color);opacity:.5}.admin-gallery{color:var(--text-color);padding:2rem}.upload-section{animation:slideDown .3s ease-out;background:var(--card-bg);border-radius:12px;box-shadow:0 4px 15px #0000000d;margin-bottom:2rem;padding:2rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.upload-form{display:flex;flex-direction:column;gap:1.5rem}.drop-zone{align-items:center;background:#f9f9f9;border:2px dashed #ccc;border-radius:8px;cursor:pointer;display:flex;justify-content:center;min-height:150px;padding:2rem;text-align:center;transition:all .3s}.drop-zone.active,.drop-zone:hover{background:rgba(var(--primary-rgb),.05);border-color:var(--primary-color)}.drop-zone.has-file{background:#28a7450d;border-color:#28a745;border-style:solid}.drop-zone-content{align-items:center;color:#888;display:flex;flex-direction:column;gap:.5rem}.file-preview{color:#28a745;font-weight:500}.change-file-text{color:#666;font-size:.8rem;margin-top:.5rem}.upload-details{display:flex;gap:1rem}.upload-details input{border:1px solid #ddd;border-radius:6px;flex:1 1;padding:.75rem}.btn-upload{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 2rem}.btn-upload:disabled{background:#ccc;cursor:not-allowed}.gallery-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.gallery-item{aspect-ratio:1;border-radius:8px;box-shadow:0 4px 10px #0000001a;overflow:hidden;position:relative}.gallery-item img{height:100%;object-fit:cover;transition:transform .3s;width:100%}.gallery-item:hover img{transform:scale(1.05)}.gallery-overlay{align-items:center;background:#000000b3;bottom:0;color:#fff;display:flex;justify-content:space-between;left:0;padding:.5rem;position:absolute;right:0;transform:translateY(100%);transition:transform .3s}.gallery-item:hover .gallery-overlay{transform:translateY(0)}.gallery-overlay p{font-size:.8rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-delete-img{align-items:center;background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;height:28px;justify-content:center;width:28px}.no-images{color:#888;grid-column:1/-1;padding:3rem;text-align:center}.admin-error-container{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;margin:4rem auto;max-width:600px;padding:2.5rem;text-align:center}.admin-error-container h3{color:#e74c3c;font-size:1.5rem;margin-bottom:1rem}.setup-instructions{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;margin:2rem 0;padding:2rem;text-align:left}.setup-instructions ul{color:#495057;margin:1rem 0 0 1.5rem}.setup-instructions li{margin-bottom:.5rem}.setup-instructions code{background:#e9ecef;border-radius:4px;color:#e83e8c;font-family:monospace;font-weight:700;padding:.2rem .4rem}.btn-retry{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.8rem 2rem;transition:all .3s ease}.gallery-item.draggable{cursor:grab}.gallery-item.draggable.dragging{border:2px dashed #667eea;cursor:grabbing;opacity:.5}.drag-handle{align-items:center;background:#fffc;border-radius:50%;box-shadow:0 2px 5px #0003;color:#2c3e50;cursor:grab;display:flex;height:30px;justify-content:center;left:5px;opacity:0;position:absolute;top:5px;transition:opacity .2s;width:30px;z-index:2}.gallery-item:hover .drag-handle{opacity:1}.drag-handle:active{cursor:grabbing}.header-actions{align-items:center;display:flex;gap:1rem}.btn-save-order{align-items:center;background:#ffc107;border:none;border-radius:8px;box-shadow:0 4px 10px #ffc1074d;color:#333;cursor:pointer;display:flex;font-weight:700;gap:.5rem;padding:.7rem 1.5rem;transition:all .2s}.btn-save-order:hover:not(:disabled){background:#ffca2c;transform:translateY(-2px)}.btn-save-order:disabled{cursor:wait;opacity:.7}.unsaved-changes-bar{align-items:center;animation:slideUp .3s ease-out;background:#333;border-radius:50px;bottom:2rem;box-shadow:0 10px 30px #0000004d;color:#fff;display:flex;font-weight:600;gap:1rem;left:50%;padding:1rem 2rem;position:fixed;transform:translateX(-50%);z-index:1000}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.badge-new{background:#667eea;border-radius:4px;color:#fff;font-size:.75rem;padding:.2rem .5rem}.admin-contact{padding-bottom:80px}.contact-form-container{display:flex;flex-direction:column;gap:2rem;margin:0 auto;max-width:1000px}.admin-card{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000000d;padding:1.5rem}.admin-card h3{align-items:center;border-bottom:2px solid #f0f0f0;color:var(--primary-color);display:flex;gap:.5rem;margin-bottom:1.5rem;margin-top:0;padding-bottom:.5rem}.columns-2{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}@media (max-width:768px){.columns-2{grid-template-columns:1fr}}.toggle-row{align-items:flex-start;display:flex;flex-direction:column;gap:.5rem}.toggle-btn{align-items:center;border:none;border-radius:30px;cursor:pointer;display:flex;font-size:1rem;font-weight:700;gap:.5rem;padding:.8rem 1.5rem;transition:all .3s ease}.toggle-btn.on{background-color:#2ecc71;color:#fff}.toggle-btn.off{background-color:#e74c3c;color:#fff}.help-text{color:#888;font-size:.85rem;margin-top:.2rem}.hours-grid{display:flex;flex-direction:column;gap:.8rem}.hours-header{color:#666;font-weight:700;margin-bottom:.5rem;padding:0 .5rem}.hours-header,.hours-row{display:grid;grid-template-columns:100px 1fr 1fr 60px}.hours-row{align-items:center;background:#fdfdfd;border:1px solid #eee;border-radius:8px;padding:.8rem .5rem;transition:background .2s}.hours-row:hover{background:#f8f9fa}.hours-row.closed-row{background:#f0f0f0;opacity:.6}.day-label{font-weight:600}.time-inputs{gap:.3rem}.time-inputs input{border:1px solid #ddd;border-radius:4px;max-width:90px;padding:.4rem;width:100%}.closed-check{display:flex;justify-content:center}.closed-check input{height:20px;width:20px}.sticky-actions{bottom:20px;position:fixed;right:20px;z-index:100}.btn-save-all{align-items:center;background:var(--primary-color);border:none;border-radius:50px;box-shadow:0 4px 15px #0003;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:700;gap:.5rem;padding:1rem 2rem;transition:transform .2s}.btn-save-all:hover{background:#b68b6c;transform:translateY(-2px)}.btn-save-all:disabled{background:#ccc;cursor:wait}@media (max-width:600px){.hours-header{display:none}.hours-row{gap:.5rem;grid-template-columns:1fr;text-align:center}.time-inputs{justify-content:center}}.admin-hours{color:var(--text-color);padding:2rem}.empty-state-hours{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;margin-bottom:2rem;padding:3rem;text-align:center}.empty-state-hours p{color:#6c757d;font-size:1.1rem;margin-bottom:1.5rem}.btn-init-hours{align-items:center;background:#667eea;border:none;border-radius:8px;box-shadow:0 4px 10px #667eea33;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.8rem;padding:1rem 2rem;transition:all .3s}.btn-init-hours:hover{background:#5a6fd6;box-shadow:0 6px 15px #667eea4d;transform:translateY(-2px)}.btn-init-hours:disabled{background:#a5b0df;cursor:wait;transform:none}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.hours-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:2rem}.hour-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 12px #0000000d;padding:1.5rem;transition:all .3s ease}.hour-card.closed{background:#f8f9fa;opacity:.8}.hour-card-header{align-items:center;border-bottom:1px solid #f1f3f5;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:.75rem}.hour-card-header h3{color:#2c3e50;font-size:1.25rem;margin:0}.toggle-switch{display:inline-block;height:26px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.slider{border-radius:34px}.slider:before{border-radius:50%;bottom:3px;height:20px;left:3px;width:20px}input:checked+.slider{background-color:#667eea}input:checked+.slider:before{transform:translateX(24px)}.time-group{margin-bottom:1rem}.time-group label{color:#6c757d;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.time-group label,.time-inputs{align-items:center;display:flex;gap:.5rem}.time-inputs input{border:1px solid #dee2e6;border-radius:6px;flex:1 1;font-family:monospace;font-size:1rem;padding:.5rem;text-align:center}.time-inputs span{color:#adb5bd;font-size:.9rem}.hour-card-footer{margin-top:1.5rem;text-align:right}.btn-save-sm{align-items:center;background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;gap:.4rem;padding:.4rem 1rem;transition:background .2s}.btn-save-sm:hover{background:#218838}.btn-save-sm:disabled{background:#94d3a2;cursor:not-allowed}.blocked-dates-section{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000000d;margin-top:2rem;padding:2rem}.blocked-header{align-items:center;border-bottom:1px solid #f1f3f5;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.section-subtitle{color:#495057;font-size:1.4rem;margin:2rem 0 1rem}.btn-add-date{align-items:center;background:#667eea;border:none;border-radius:30px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.6rem 1.2rem;transition:all .2s}.btn-add-date:hover{background:#5a6fd6;transform:translateY(-2px)}.add-blocked-form{align-items:flex-end;background:#f8f9fa;border-radius:8px;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;padding:1.5rem}.form-group{flex:1 1;min-width:200px}.form-group label{color:#495057;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.form-group input{border:1px solid #dee2e6;border-radius:6px;font-size:1rem;padding:.7rem;width:100%}.btn-save-blocked{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;height:45px;padding:.7rem 1.5rem}.blocked-dates-list{display:flex;flex-direction:column;gap:1rem}.blocked-date-item{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:8px;display:flex;justify-content:space-between;padding:1rem 1.5rem;transition:transform .2s}.blocked-date-item:hover{border-color:#667eea}.date-info{display:flex;flex-direction:column}.date-display{color:#2c3e50;font-size:1.1rem;font-weight:700;text-transform:capitalize}.date-reason{color:#6c757d;font-size:.9rem}.btn-delete-date{align-items:center;background:#fff1f0;border:1px solid #ffccc7;border-radius:50%;color:#dc3545;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.btn-delete-date:hover{background:#dc3545;border-color:#dc3545;color:#fff}.no-dates{color:#adb5bd;font-style:italic;padding:2rem;text-align:center}.setup-instructions-card{background:#fff3cd;border:1px solid #ffeeba;border-radius:12px;color:#856404;padding:2rem}.setup-instructions-card code{background:#0000000d;border-radius:4px;font-weight:700;padding:.2rem .4rem}.btn-retry-sm{background:#856404;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:1rem;padding:.5rem 1rem}.message-banner{border-radius:8px;font-weight:600;margin-bottom:1.5rem;padding:1rem;text-align:center}.message-banner.success{background-color:#d4edda;color:#155724}.message-banner.error{background-color:#f8d7da;color:#721c24}@media (max-width:768px){.hours-grid{grid-template-columns:1fr}}.admin-announcements{animation:fadeIn .5s ease-out;margin:0 auto;max-width:1200px;padding:2rem}.admin-header-announcement{align-items:center;display:flex;gap:1.5rem;margin-bottom:3rem}.header-icon{align-items:center;background:#fff;border-radius:20px;box-shadow:0 10px 25px #0000000d;display:flex;font-size:3rem;height:80px;justify-content:center;width:80px}.header-text h1{color:#2c3e50;font-size:2rem;margin:0 0 .5rem}.header-text p{color:#6c757d;margin:0}.announcement-editor-card{background:#fff;border-radius:20px;box-shadow:0 15px 35px #0000000d;margin-bottom:3rem;padding:2.5rem}.form-section-header{border-bottom:1px solid #f1f3f5;display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;padding-bottom:2rem}.switch-group{align-items:center;display:flex;gap:1.5rem}.switch-label{color:#2c3e50;font-size:1.1rem;font-weight:700}.switch{display:inline-block;height:34px;position:relative;width:60px}.switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:#fff;bottom:4px;content:"";height:26px;left:4px;width:26px}input:checked+.slider{background-color:#28a745}input:focus+.slider{box-shadow:0 0 1px #28a745}input:checked+.slider:before{transform:translateX(26px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.section-help{color:#adb5bd;font-size:.95rem;font-style:italic;margin:0}.form-group-announce{margin-bottom:2rem}.form-group-announce label{color:#495057;display:block;font-weight:700;margin-bottom:.8rem}.input-title{font-size:1.1rem}.input-content,.input-title{border:2px solid #e9ecef;border-radius:10px;font-family:inherit;padding:1rem;transition:border-color .3s;width:100%}.input-content{font-size:1rem;line-height:1.6;resize:vertical}.input-content:focus,.input-title:focus{border-color:#667eea;outline:none}.textarea-help{align-items:center;color:#6c757d;display:flex;font-size:.9rem;gap:.5rem;margin-top:.5rem}.form-actions{display:flex;justify-content:flex-end;margin-top:2rem}.btn-save-announce{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;box-shadow:0 4px 15px #667eea66;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:.8rem;padding:1rem 2rem;transition:transform .2s,box-shadow .2s}.btn-save-announce:hover:not(:disabled){box-shadow:0 8px 25px #667eea80;transform:translateY(-2px)}.btn-save-announce:disabled{cursor:not-allowed;opacity:.7}.message-box{align-items:center;animation:slideIn .3s ease;border-radius:10px;display:flex;font-weight:500;gap:.8rem;margin-bottom:1.5rem;padding:1rem}.message-box.success{background-color:#d4edda;color:#155724}.message-box.error{background-color:#f8d7da;color:#721c24}.preview-section{opacity:.8;text-align:center}.preview-section h3{color:#adb5bd;font-size:.9rem;font-weight:600;letter-spacing:2px;margin-bottom:2rem;text-transform:uppercase}.preview-card-mockup{background:#fff;border:1px solid #e9ecef;border-radius:20px;box-shadow:0 10px 40px #0000001a;margin:0 auto;max-width:500px;padding:2rem;text-align:left}.mockup-header h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;color:#2c3e50;font-size:1.5rem;letter-spacing:normal;margin:0 0 1.5rem;text-align:center;text-transform:none}.mockup-body{background-color:#f8f9fa;border-radius:12px;color:#495057;font-size:1rem;line-height:1.6;padding:1.5rem}.mockup-body p{margin-bottom:.8rem}.placeholder-text{color:#adb5bd;font-style:italic;text-align:center}@media (max-width:768px){.admin-announcements{padding:1rem}.admin-header-announcement{flex-direction:column;text-align:center}.switch-group{justify-content:space-between;width:100%}.btn-save-announce{justify-content:center;width:100%}}.admin-dashboard{background-color:#f1f3f5;display:flex;min-height:100vh}.admin-sidebar{background:#2c3e50;color:#fff;display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;width:260px;z-index:100}.admin-sidebar-header{background:#0000001a;padding:2rem}.admin-sidebar-header h2{color:#fff;font-size:1.5rem;margin:0}.admin-sidebar-header p{color:#adb5bd;font-size:.9rem;margin:.5rem 0 0}.admin-nav{display:flex;flex:1 1;flex-direction:column;padding:1rem 0}.admin-nav-item{align-items:center;background:none;border:none;color:#adb5bd;cursor:pointer;display:flex;font-size:1rem;gap:1rem;padding:1rem 2rem;text-align:left;text-decoration:none;transition:all .2s;width:100%}.admin-nav-item:hover{background:#ffffff0d;color:#fff}.admin-nav-item.active{background:#667eea;border-right:4px solid #a3b8ff;color:#fff}.admin-nav-separator{background:#ffffff1a;height:1px;margin:1rem 2rem}.admin-nav-item.logout{color:#ff8787;margin-top:auto}.admin-nav-item.logout:hover{background:#ff87871a}.admin-content{flex:1 1;margin-left:260px;max-width:100%;overflow-x:hidden;padding:2rem}.admin-placeholder{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;color:#adb5bd;display:flex;font-size:1.2rem;height:60vh;justify-content:center}.admin-mobile-header{align-items:center;background:#2c3e50;box-shadow:0 2px 10px #0000001a;color:#fff;display:none;gap:1rem;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:90}.menu-toggle{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;padding:0}.admin-mobile-header h2{font-family:Playfair Display,serif;font-size:1.2rem;margin:0}.close-sidebar{background:none;border:none;color:#fff;cursor:pointer;display:none;font-size:1.5rem;position:absolute;right:1rem;top:1rem}.sidebar-overlay{animation:fadeIn .3s forwards;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:95}@media (max-width:1024px){.admin-sidebar{width:80px}.admin-nav-item span,.admin-sidebar-header .header-content{display:none}.admin-sidebar-header{display:flex;justify-content:center;padding:1rem}.admin-nav-item{justify-content:center;padding:1.5rem 0}.admin-content{margin-left:80px}}@media (max-width:768px){.admin-mobile-header{display:flex}.admin-sidebar{box-shadow:2px 0 10px #0003;transform:translateX(-100%);transition:transform .3s ease-in-out;width:260px}.admin-sidebar.open{transform:translateX(0)}.admin-nav-item span,.admin-sidebar-header .header-content{display:block}.admin-sidebar-header{justify-content:space-between;padding:2rem;position:relative}.close-sidebar{display:block}.admin-nav-item{justify-content:flex-start;padding:1rem 2rem}.admin-content{margin-left:0;padding-left:1rem;padding-right:1rem;padding-top:5rem}}:root{--fluffy-pink-primary:#fadadd;--fluffy-pink-secondary:#ffe4e1;--fluffy-pink-darker:#e7c2c6;--fluffy-blue-primary:#d6eaf8;--fluffy-blue-secondary:#ebf5fb;--fluffy-blue-darker:#adcde2;--fluffy-pink-primary-overlay-bg:#fadaddd9;--fluffy-blue-primary-overlay-bg:#d6eaf8d9;--fluffy-pink-primary-video-overlay:#fadadda6;--fluffy-blue-primary-video-overlay:#d6eaf8a6;--neutral-light:#fff;--neutral-soft-bg:#fcf8f7;--neutral-grey:#f5f5f5;--text-color-dark:#4a4a4a;--text-color-medium:#757575;--text-color-on-dark-bg:#fff;--text-color-entry-original-h2:var(--text-color-dark);--text-color-entry-original-p:var(--text-color-medium);--font-primary:"Montserrat",sans-serif;--font-headings:"Playfair Display",serif;--primary-color:var(--fluffy-pink-primary);--secondary-color:var(--fluffy-blue-primary);--light-color:var(--neutral-light);--dark-color:var(--text-color-dark)}body{background-color:#fcf8f7;background-color:var(--neutral-soft-bg);color:#4a4a4a;color:var(--text-color-dark);font-family:Montserrat,sans-serif;font-family:var(--font-primary);font-size:16px;line-height:1.7;margin:0}.container{margin-left:auto;margin-right:auto;max-width:1100px;padding-left:20px;padding-right:20px}.section-title{color:#4a4a4a;color:var(--text-color-dark);font-family:Playfair Display,serif;font-family:var(--font-headings);font-size:3rem;font-weight:600;margin-bottom:20px;position:relative;text-align:center}.section-title:after{background-color:#d6eaf8;background-color:var(--fluffy-blue-primary);border-radius:2px;content:"";display:block;height:3px;margin:15px auto 60px;width:70px}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(12px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.hero-section{align-items:center;color:#4a4a4a;color:var(--text-color-dark);display:flex;height:100vh;justify-content:center;overflow:hidden;padding:0 20px;position:relative;text-align:center}.hero-video{object-fit:cover;z-index:-1}.hero-overlay,.hero-video{height:100%;left:0;position:absolute;top:0;width:100%}.hero-overlay{background:linear-gradient(45deg,#fadadda6,#d6eaf8a6);background:linear-gradient(45deg,var(--fluffy-pink-primary-video-overlay) 0,var(--fluffy-blue-primary-video-overlay) 100%);z-index:0}.hero-content{animation:fadeIn 1.5s ease-in-out;max-width:800px;position:relative;z-index:2}.hero-title{color:#4a4a4a;color:var(--text-color-dark);font-family:Playfair Display,serif;font-family:var(--font-headings);font-size:4.2rem;font-weight:700;line-height:1.2;margin-bottom:1.5rem;text-shadow:1px 1px 3px #ffffff80}.hero-subtitle{font-size:1.7rem;font-weight:400;margin-bottom:2.5rem;text-shadow:none}.hero-cta-button,.hero-subtitle{color:#4a4a4a;color:var(--text-color-dark);font-family:Montserrat,sans-serif;font-family:var(--font-primary)}.hero-cta-button{background-color:#fadadd;background-color:var(--fluffy-pink-primary);border:none;border-radius:30px;box-shadow:0 5px 15px #b76e7933;cursor:pointer;display:inline-block;font-size:1.2rem;font-weight:600;padding:15px 35px;position:relative;text-decoration:none;transition:background-color .3s ease,transform .3s ease,box-shadow .3s ease;z-index:2}.hero-cta-button:hover{background-color:#ffe4e1;background-color:var(--fluffy-pink-secondary);box-shadow:0 8px 20px #b76e7940;transform:translateY(-3px) scale(1.03)}.scroll-down-arrow{animation:bounce 2s ease-in-out infinite;bottom:30px;cursor:pointer;height:30px;left:50%;position:absolute;transform:translateX(-50%);width:30px;z-index:3}.scroll-down-arrow:before{border-bottom:3px solid #757575;border-bottom:3px solid var(--text-color-medium);border-right:3px solid #757575;border-right:3px solid var(--text-color-medium);content:"";height:15px;left:50%;position:absolute;top:50%;transform:translate(-50%,-75%) rotate(45deg);transition:border-color .3s ease;width:15px}.scroll-down-arrow:hover:before{border-color:#4a4a4a;border-color:var(--text-color-dark)}@keyframes bounce{0%,20%,50%,80%,to{transform:translateX(-50%) translateY(0)}40%{transform:translateX(-50%) translateY(-10px)}60%{transform:translateX(-50%) translateY(-5px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.about-section{background-color:#fff;background-color:var(--neutral-light);padding:80px 0}.about-content{align-items:center;display:flex;gap:4rem}.about-text{color:#4a4a4a;color:var(--text-color-dark);flex:1.2 1;font-family:Montserrat,sans-serif;font-family:var(--font-primary);font-size:1.15rem;line-height:1.8}.about-text p{margin-bottom:1.2rem}.about-image-container{flex:1 1;text-align:center}.about-image{border-radius:12px;box-shadow:0 10px 30px #d6eaf880;height:auto;max-width:100%}.location-hours-section{background-color:#ebf5fb;background-color:var(--fluffy-blue-secondary);font-size:1.05rem;padding:80px 0}.location-hours-wrapper{grid-gap:3rem;align-items:start;display:grid;gap:3rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.contact-section{background-color:#ffe4e1;background-color:var(--fluffy-pink-secondary);font-size:1.05rem;padding:80px 0}.booking-section{background-attachment:fixed;background-image:linear-gradient(90deg,#fadaddd9,#d6eaf8d9),url(/static/media/logo.5b0e2d4bd54099f3789a.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;padding:100px 0}.landing-screen{align-items:center;background:#fff;display:flex;flex-direction:column;height:100vh;justify-content:center;left:0;padding:2rem;position:fixed;text-align:center;top:0;width:100%;z-index:9999}.landing-buttons{margin-top:2rem}.landing-buttons button{background-color:#222;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.3rem;margin:0 1rem;padding:1rem 2rem;transition:background .3s}.landing-buttons button:hover{background-color:#444}.music-toast{animation:slideInToast .5s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fffffff2;border:1px solid #0000000d;border-radius:16px;bottom:20px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;max-width:90vw;pointer-events:all;position:fixed;right:20px;transition:opacity .5s ease-out,transform .5s ease-out;width:340px;z-index:9999}@keyframes slideInToast{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.music-toast.fade-out{opacity:0;pointer-events:none;transform:translateY(20px)}.toast-content{padding:1.5rem;position:relative;text-align:center}.close-toast{background:none;border:none;color:#aaa;cursor:pointer;font-size:1.8rem;line-height:1;padding:5px;position:absolute;right:12px;top:8px;transition:color .2s;z-index:10}.close-toast:hover{color:#666}.toast-content h3{font-family:Playfair Display,serif;font-family:var(--font-headings);font-size:1.5rem;margin-bottom:.2rem}.toast-content h3,.toast-subtitle{color:#4a4a4a;color:var(--text-color-dark)}.toast-subtitle{font-size:1.3rem;font-weight:700;margin-bottom:1.2rem}.toast-content p{color:#757575;color:var(--text-color-medium);font-size:1.1rem;margin-bottom:1.5rem}.toast-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:1.5rem}.btn-no,.btn-yes{border:none;border-radius:30px;box-shadow:0 4px 10px #0000001a;cursor:pointer;font-family:Montserrat,sans-serif;font-family:var(--font-primary);font-size:1rem;font-weight:600;padding:.8rem 1.5rem;transition:all .2s ease}.btn-yes{background-color:#fadadd;background-color:var(--fluffy-pink-primary);color:#333}.btn-yes:hover{background-color:#ffe4e1;background-color:var(--fluffy-pink-secondary);transform:translateY(-2px)}.btn-no{background-color:#d6eaf8;background-color:var(--fluffy-blue-primary);color:#333}.btn-no:hover{background-color:#ebf5fb;background-color:var(--fluffy-blue-secondary);transform:translateY(-2px)}.toast-hint{color:#888;display:block;font-size:.85rem;font-style:italic;margin-bottom:1rem}.toast-credits{color:#aaa;display:block;font-size:.75rem}.toast-credits a{color:#888;font-weight:600;text-decoration:none}.toast-credits a:hover{text-decoration:underline}@media (max-width:480px){.music-toast{bottom:10px;left:10px;right:10px;width:auto}}.entry-buttons{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.entry-buttons button{border:none;border-radius:20px;box-shadow:0 4px 10px #0000001a;cursor:pointer;font-family:Montserrat,sans-serif;font-family:var(--font-primary);font-size:1.1rem;font-weight:600;padding:1rem 2.2rem;transition:all .3s ease}.entry-buttons button:first-child{background-color:#fadadd;background-color:var(--fluffy-pink-primary);color:#4a4a4a;color:var(--text-color-dark)}.entry-buttons button:first-child:hover{background-color:#ffe4e1;background-color:var(--fluffy-pink-secondary);transform:scale(1.05) translateY(-2px)}.entry-buttons button:nth-child(2){background-color:#d6eaf8;background-color:var(--fluffy-blue-primary);color:#4a4a4a;color:var(--text-color-dark)}.entry-buttons button:nth-child(2):hover{background-color:#ebf5fb;background-color:var(--fluffy-blue-secondary);transform:scale(1.05) translateY(-2px)}.entry-content small{color:#757575;color:var(--text-color-medium);display:block;font-family:Montserrat,sans-serif;font-family:var(--font-primary);font-size:.9rem;margin-top:1.5rem;opacity:.9}.entry-content small a{color:#4a4a4a;color:var(--text-color-dark);font-weight:600;text-decoration:underline}.entry-content small a:hover{color:#757575;color:var(--text-color-medium);text-decoration:underline}@media screen and (max-width:768px){.hero-title{font-size:3.2rem}.hero-subtitle{font-size:1.3rem}.section-title{font-size:2.5rem}.about-content{flex-direction:column;gap:2.5rem}.about-text{font-size:1.1rem}.location-hours-wrapper{gap:1.5rem}.contact-section,.location-hours-section{font-size:1rem;padding:40px 0}.booking-section{padding:60px 0}.entry-content{max-width:90%;padding:2rem 1.5rem}.entry-content h2{font-size:2.2rem}.entry-content h2+p{font-size:1.7rem}.entry-content p{font-size:1.1rem}.entry-buttons{gap:1rem}.entry-buttons button{font-size:1rem;padding:.8rem 1.8rem}.entry-content small{font-size:.85rem}}@media screen and (max-width:480px){body{line-height:1.6}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.2rem}.section-title{font-size:2.2rem}.about-text{font-size:1.05rem}.entry-content h2{font-size:2rem}.entry-content h2+p{font-size:1.5rem}.entry-content p{font-size:1rem}.entry-content small{font-size:.8rem}}
/*# sourceMappingURL=main.92915f5a.css.map*/