@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap);@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/poppins/v20/pxiByp8kv8JHgFVrLCz7Z1xlFQ.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--color-deep-navy:#1d3557;--color-soft-teal:#72bfbd;--color-soft-teal-hover:#5da7a5;--color-dark-charcoal:#2c2c2c;--color-soft-gray:#f5f5f5;--color-white:#fff;--color-black:#000;--color-gray-light:#ddd;--color-gray-medium:#999;--color-gray-dark:#4a5568;--color-text-secondary:#2d3748;--color-facebook-blue:#4267b2;--color-success-green:#28a745;--color-success-green-alt:#4caf50;--color-error-red:#dc3545;--color-error-red-alt:#ff6b6b;--color-warning-yellow:#ffc107;--color-info-blue:#17a2b8;--color-neutral-light:#f9f9f9;--color-neutral-medium:#e0e0e0;--max-width-container:1200px;--modal-width-default:400px;--border-radius-standard:6px;--border-radius-small:4px;--border-radius-large:8px;--border-radius-button:20px;--breakpoint-mobile:768px;--breakpoint-tablet:1024px;--spacing-xs:5px;--spacing-sm:10px;--spacing-md:15px;--spacing-lg:20px;--spacing-xl:30px;--spacing-xxl:40px;--font-family-headers:"Poppins",sans-serif;--font-family-body:"Avenir-Book","Avenir",sans-serif;--font-family-primary:"Avenir-Book","Avenir",sans-serif;--font-weight-bold:700;--font-size-small:0.9rem;--font-size-base:1rem;--font-size-large:1.2rem;--font-size-xl:1.5rem;--font-size-xxl:2rem;--touch-target-minimum:48px;--touch-target-small:36px;--touch-target-large:52px;--touch-target-comfortable:56px;--touch-target-xl:60px;--button-height-standard:36px;--icon-size-xs:6px;--icon-size-sm:16px;--icon-size-md:20px;--icon-size-lg:24px;--icon-size-xl:40px;--icon-size-xxl:64px;--max-width-container-small:300px;--max-width-container-medium:500px;--max-width-container-large:700px;--max-width-container-xl:900px;--max-width-container-full:1440px;--modal-width-small:400px;--modal-width-large:800px;--drawer-width:400px;--border-radius-pill:50px;--border-radius-round:50%;--border-radius-xs:2px;--border-radius-full:9999px;--spacing-xxxs:2px;--spacing-xxxl:48px;--spacing-4xl:64px;--spacing-5xl:80px;--header-offset:80px;--header-height:80px;--footer-height:80px;--page-padding-inline:var(--spacing-lg);--page-padding-mobile:var(--spacing-md);--section-spacing-vertical:var(--spacing-xl);--section-spacing-large:var(--spacing-xxl);--container-padding-x:var(--spacing-lg);--container-max-width:var(--max-width-container);--font-size-xs:12px;--font-size-xxxl:32px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--line-height-tight:1.2;--line-height-normal:1.5;--blur-sm:2px;--blur-md:4px;--blur-lg:8px;--shadow-light:0 4px 6px #0000001a;--shadow-medium:0 4px 8px #0000001a;--shadow-large:0 10px 25px #00000026;--shadow-heavy:0 20px 40px #0003;--shadow-focus:0 0 0 3px #72bfbd33;--transition-standard:0.3s ease;--transition-fast:0.15s ease;--transition-slow:0.5s ease;--color-border:#dee2e6;--color-soft-teal-light:#72bfbd1a;--color-primary-focus:var(--color-soft-teal);--color-primary-hover:var(--color-soft-teal-hover);--form-border-width:2px;--form-focus-ring-width:3px;--form-focus-ring-offset:0px;--textarea-min-height:100px;--switch-width:2em;--switch-border-radius:2em;--switch-padding-left:2.5em;--range-track-height:0.5rem;--range-thumb-size:1rem;--range-thumb-margin:-0.25rem;--floating-label-height:calc(3.5rem + 2px);--floating-label-padding-x:0.75rem;--floating-label-padding-y:1rem;--floating-label-top-padding:1.625rem;--floating-label-bottom-padding:0.625rem;--floating-label-scale:0.85;--floating-label-translate-y:-0.5rem;--floating-label-translate-x:0.15rem;--ios-font-size:16px;--focus-ring-primary:#72bfbd33;--focus-ring-success:#28a74533;--focus-ring-warning:#ffc10733;--focus-ring-error:#dc354533}html{lang:en}body,html{box-sizing:border-box;height:100%;margin:0;padding:0;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;background-color:var(--color-soft-gray);color:#2c2c2c;color:var(--color-dark-charcoal);font-family:Avenir-Book,Avenir,sans-serif;font-family:var(--font-family-primary);line-height:1.5;overflow-x:hidden;text-rendering:optimizeLegibility}*,:after,:before{box-sizing:border-box}.skip-link{align-items:center;background:#1d3557;background:var(--color-deep-navy);border-radius:4px;border-radius:var(--border-radius-small);color:#fff;color:var(--color-white);display:flex;font-size:.9rem;font-size:var(--font-size-small);font-weight:600;font-weight:var(--font-weight-semibold);left:5px;left:var(--spacing-xs);min-height:48px;min-height:var(--touch-target-minimum);padding:5px 10px;padding:var(--spacing-xs) var(--spacing-sm);position:absolute;text-decoration:none;top:-40px;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000}.skip-link:focus{outline:3px solid #72bfbd;outline:3px solid var(--color-soft-teal);outline-offset:2px;top:5px;top:var(--spacing-xs)}.sr-only:focus{clip:auto;border:inherit;height:auto;margin:inherit;overflow:visible;padding:inherit;position:static;white-space:inherit;width:auto}:focus{outline:2px solid #72bfbd;outline:2px solid var(--color-soft-teal)}:focus:not(:focus-visible){outline:none}:focus-visible{outline:3px solid #72bfbd;outline:3px solid var(--color-soft-teal)}@media (prefers-contrast:high){:focus,:focus-visible{outline:3px solid currentColor;outline-offset:3px}}[tabindex]:focus,a:focus,button:focus,input:focus,select:focus,textarea:focus{outline:3px solid #72bfbd;outline:3px solid var(--color-soft-teal);outline-offset:2px;z-index:1}.btn:focus,.form-input:focus,.form-select:focus,.form-textarea:focus{box-shadow:0 0 0 3px #72bfbd33;outline:3px solid #72bfbd;outline:3px solid var(--color-soft-teal);outline-offset:2px}[role=button],[role=link],[role=menuitem],[role=option],[role=tab]{cursor:pointer;outline:none}[role=button]:focus,[role=link]:focus,[role=menuitem]:focus,[role=option]:focus,[role=tab]:focus{box-shadow:0 0 0 3px #72bfbd33;outline:3px solid #72bfbd;outline:3px solid var(--color-soft-teal);outline-offset:2px}[tabindex="-1"]:focus,[tabindex="0"]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:3px solid #72bfbd;outline:3px solid var(--color-soft-teal);outline-offset:2px}input[type=checkbox]:focus,input[type=radio]:focus{box-shadow:0 0 0 3px #72bfbd33}.form-switch .form-check-input:focus,.toggle-switch:focus{box-shadow:0 0 0 3px #72bfbd40;outline:3px solid #72bfbd;outline:3px solid var(--color-soft-teal);outline-offset:2px}.modal-overlay{align-items:center;background:#1d3557cc;bottom:0;display:flex;isolation:isolate;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;border-radius:var(--border-radius-large);max-height:90vh;max-width:90vw;outline:none;overflow-y:auto;padding:30px;padding:var(--spacing-xl)}.modal-close{align-items:center;border-radius:4px;border-radius:var(--border-radius-small);color:#999;color:var(--color-gray-medium);display:flex;font-size:1.5rem;justify-content:center;min-height:48px;min-width:48px;right:15px;right:var(--spacing-md);top:15px;top:var(--spacing-md)}.modal-close:focus{background:#72bfbd1a}.accordion-header:focus,.dropdown-toggle:focus,.modal-close:focus{outline:3px solid #72bfbd;outline:3px solid var(--color-soft-teal);outline-offset:2px}.accordion-header:focus,.dropdown-toggle:focus{box-shadow:0 0 0 3px #72bfbd33}.tab-list{role:tablist;border-bottom:2px solid #ddd;border-bottom:2px solid var(--color-gray-light);display:flex}.tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#2c2c2c;color:var(--color-dark-charcoal);cursor:pointer;font-family:Avenir-Book,Avenir,sans-serif;font-family:var(--font-family-primary);font-weight:600;font-weight:var(--font-weight-semibold);min-height:48px;min-height:var(--touch-target-minimum);padding:15px 20px;padding:var(--spacing-md) var(--spacing-lg);transition:all .3s cubic-bezier(.4,0,.2,1)}.tab-button:focus{background:#72bfbd1a;outline:3px solid #72bfbd;outline:3px solid var(--color-soft-teal);outline-offset:2px}.tab-button[aria-selected=true]{border-bottom-color:#72bfbd;border-bottom-color:var(--color-soft-teal);color:#72bfbd;color:var(--color-soft-teal)}a:focus{outline:3px solid #72bfbd;outline:3px solid var(--color-soft-teal);outline-offset:2px;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.header .nav-buttons a:focus,.nav-buttons a:focus,.nav-buttons button:focus{border-bottom:none!important;text-decoration:none!important}.card:focus,.provider-card:focus,.service-card:focus{box-shadow:0 0 0 3px #72bfbd26;outline:3px solid #72bfbd;outline:3px solid var(--color-soft-teal);outline-offset:2px;transform:translateY(-2px)}.keyboard-only{height:1px;left:-10000px;overflow:hidden;position:absolute;width:1px}.keyboard-only:focus{background:#72bfbd;background:var(--color-soft-teal);border-radius:4px;border-radius:var(--border-radius-small);color:#fff;color:var(--color-white);height:auto;left:auto;overflow:visible;padding:10px;padding:var(--spacing-sm);position:static;width:auto}.filter-container:focus-within,.form-group:focus-within,.search-container:focus-within{border-radius:4px;border-radius:var(--border-radius-small);box-shadow:0 0 0 3px #72bfbd26}.no-focus{-webkit-tap-highlight-color:transparent;outline:none!important}@media (max-width:768px){[tabindex]:focus,a:focus,button:focus,input:focus,select:focus,textarea:focus{outline-offset:3px;outline-width:4px}.modal-content{margin:15px;margin:var(--spacing-md);max-height:calc(100vh - 20px);max-height:calc(100vh - var(--spacing-lg));max-width:calc(100vw - 20px);max-width:calc(100vw - var(--spacing-lg))}}@media (prefers-reduced-motion:reduce){.card:focus,.provider-card:focus,.service-card:focus{transform:none;transition:none}.tab-button{transition:none}}.main-content,.page-wrapper{box-sizing:border-box;min-height:calc(100vh - 160px);min-height:calc(100vh - var(--header-height) - var(--footer-height));padding-inline:0}.page-wrapper{padding-top:80px;padding-top:var(--header-offset)}.container{box-sizing:border-box;max-width:1200px;max-width:var(--container-max-width)}.container,.container-small{margin:0 auto;padding-inline:20px;padding-inline:var(--container-padding-x)}.container-small{max-width:300px;max-width:var(--max-width-container-small)}.container-medium{max-width:500px;max-width:var(--max-width-container-medium)}.container-large,.container-medium{margin:0 auto;padding-inline:20px;padding-inline:var(--container-padding-x)}.container-large{max-width:700px;max-width:var(--max-width-container-large)}.container-full{margin:0 auto;max-width:1440px;max-width:var(--max-width-container-full);padding-inline:20px;padding-inline:var(--container-padding-x)}.section{box-sizing:border-box;padding-block:30px;padding-block:var(--section-spacing-vertical)}.section-large{box-sizing:border-box;padding-block:40px;padding-block:var(--section-spacing-large)}.section-small{box-sizing:border-box;padding-block:20px;padding-block:var(--spacing-lg)}.page-booking .page-wrapper,.page-home .page-wrapper,.page-profile .page-wrapper,.page-provider .page-wrapper,.page-search .page-wrapper,.page-settings .page-wrapper{padding-top:80px;padding-top:var(--header-offset);padding-inline:20px;padding-inline:var(--page-padding-inline)}a{text-decoration:none}.carousel-slide a,.category a,.category-tag,.provider-details h3 a{text-decoration:none!important}.section-underline{background-color:var(--color-soft-teal);height:var(--spacing-xs);margin:0 auto 30px;margin:0 auto var(--spacing-xl)}.nav .dropdown-btn{color:#fff;font-family:Avenir-Book,Avenir,sans-serif;font-size:1rem;font-weight:700;gap:5px;padding:5px 10px;transition:background-color .3s ease,color .3s ease;transition:background-color var(--transition-standard),color var(--transition-standard)}.nav .dropdown-btn:hover{background-color:#72bfbd;border-radius:4px}.nav .dropdown-content{background-color:#fff;border-radius:4px;border-radius:var(--border-radius-small);box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-light);padding:10px 0;z-index:1000}.nav .dropdown-content a{color:#2c2c2c;font-family:Avenir-Book,Avenir,sans-serif;font-size:.9rem;font-weight:700;padding:10px 20px}.nav .dropdown-content a:hover{background-color:#72bfbd;color:#fff}.nav-buttons a,.nav-buttons button{font-family:Avenir-Book,Avenir,sans-serif;font-size:.9rem;font-weight:700;line-height:1;text-decoration:none;transition:background-color .3s ease,color .3s ease;transition:background-color var(--transition-standard),color var(--transition-standard)}.login-btn,.nav-buttons a,.nav-buttons button{border-radius:20px;color:#fff;height:36px;height:var(--button-height-standard);padding:0 15px}.login-btn{background-color:#72bfbd}.login-btn:hover{background-color:#5da7a5;background-color:var(--color-soft-teal-hover)}.nav-buttons a:hover,.nav-buttons button:hover{background-color:#72bfbd;background-color:var(--color-soft-teal)}.mobile-menu-btn{color:#fff;display:flex;font-size:1.2rem;font-size:var(--font-size-large);min-height:48px;min-width:48px}.mobile-menu{background-color:#1d3557;background-color:var(--color-deep-navy);display:none;height:100%;left:0;padding:20px;padding:var(--spacing-lg);width:100%;z-index:1000}.mobile-menu-header{margin-bottom:30px;margin-bottom:var(--spacing-xl)}.mobile-menu-header .logo img{height:30px;height:var(--spacing-xl)}.mobile-menu-close{color:#fff;font-size:1.5rem;font-size:var(--font-size-xl);min-height:48px;min-width:48px}.mobile-menu-items{gap:20px;gap:var(--spacing-lg)}.mobile-menu-items a{align-items:center;border-bottom:1px solid #fff3;color:#fff;color:var(--color-white);display:flex;font-size:1.2rem;font-size:var(--font-size-large);font-weight:700;font-weight:var(--font-weight-bold);min-height:48px;min-height:var(--touch-target-minimum);padding:15px 0;padding:var(--spacing-md) 0;text-decoration:none}.mobile-menu-footer{bottom:40px;bottom:var(--spacing-xxl);left:20px;left:var(--spacing-lg);position:absolute;right:20px;right:var(--spacing-lg)}.mobile-social-links{gap:20px}.mobile-social-links a{color:#fff;font-size:1.5rem;font-size:var(--font-size-xl);min-height:48px;min-width:48px}.footer{background-color:var(--color-deep-navy);border-top:var(--spacing-xs) solid var(--color-soft-teal);color:var(--color-white);font-family:Avenir-Book,Avenir,sans-serif;font-family:var(--font-family-primary);padding:40px 20px;padding:var(--spacing-xxl) var(--spacing-lg)}.footer-logo{margin-bottom:20px;margin-bottom:var(--spacing-lg)}.footer-logo img{height:30px;height:var(--spacing-xl)}.scroll-to-top{transition:transform var(--transition-standard)}.footer-links{gap:48px;gap:var(--spacing-xxxl);margin-bottom:30px;margin-bottom:var(--spacing-xl)}.footer-column{flex-direction:column;gap:10px;gap:var(--spacing-sm)}.footer-column a{color:#fff;color:var(--color-white);font-size:.9rem;font-size:var(--font-size-small);font-weight:700;font-weight:var(--font-weight-bold);text-decoration:none;transition:color .3s ease;transition:color var(--transition-standard)}.footer-column a:hover{color:#72bfbd;color:var(--color-soft-teal)}.social-links{gap:var(--spacing-md);justify-content:center}.social-links a{align-items:center;color:var(--color-white);display:flex;font-size:var(--font-size-large);justify-content:center;min-height:48px;min-height:var(--touch-target-minimum);min-width:48px;min-width:var(--touch-target-minimum);text-decoration:none!important;transition:color .3s ease;transition:color var(--transition-standard)}.social-links a:hover{color:var(--color-soft-teal);text-decoration:none!important}.error-container{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 160px);min-height:calc(100vh - var(--header-height) - var(--footer-height));text-align:center}.error-container,.error-container.error-403,.error-container.error-404,.error-container.error-500{padding-top:80px;padding-top:var(--header-offset);padding-inline:20px;padding-inline:var(--page-padding-inline)}.error-container.with-header-padding{margin-top:0;padding-top:100px;padding-top:calc(var(--header-offset) + var(--spacing-lg))}.error-container h1{color:#1d3557;color:var(--color-deep-navy);font-size:32px;font-size:var(--font-size-xxxl);font-weight:700;font-weight:var(--font-weight-bold);margin-bottom:15px;margin-bottom:var(--spacing-md)}.error-container h1,.error-container h2{font-family:Avenir-Book,Avenir,sans-serif;font-family:var(--font-family-primary)}.error-container h2{color:#2d3748;color:var(--color-text-secondary);font-size:2rem;font-size:var(--font-size-xxl);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:10px;margin-bottom:var(--spacing-sm)}.error-container p{color:#4a5568;color:var(--color-gray-dark);font-family:Avenir-Book,Avenir,sans-serif;font-family:var(--font-family-primary);font-size:1.2rem;font-size:var(--font-size-large);line-height:1.5;line-height:var(--line-height-normal);margin-bottom:20px;margin-bottom:var(--spacing-lg);max-width:600px}.error-container .btn{margin-top:15px;margin-top:var(--spacing-md);min-width:200px}.error-container *{pointer-events:auto;z-index:1}.error-overlay{position:relative;z-index:10}.error-modal-overlay,.error-modal-overlay *,.error-overlay~*,.modal-overlay,.modal-overlay *{pointer-events:auto}.footer-container a,.footer-container button,.header-container a,.header-container button{pointer-events:auto!important;position:relative;z-index:1000}.btn{background-color:#72bfbd;background-color:var(--color-soft-teal);border-radius:6px;font-family:Avenir-Book,Avenir,sans-serif;font-weight:700;min-height:48px;padding:10px 20px;transition:background-color .3s ease,color .3s ease;transition:background-color var(--transition-standard),color var(--transition-standard)}.btn,.btn:hover{color:#fff;color:var(--color-white)}.btn:hover{background-color:#5da7a5;background-color:var(--color-soft-teal-hover)}.location-btn.loading{cursor:wait;opacity:.7}.login-popup-overlay{align-items:center;background:#1d3557cc;display:none;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.login-popup{background:#fff;background:var(--color-white);border-radius:20px;border-radius:var(--border-radius-button);box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-light);padding:30px;padding:var(--spacing-xl);position:relative;text-align:center;width:400px}.login-popup h2{color:#1d3557;color:var(--color-deep-navy);font-size:1.5rem;font-size:var(--font-size-xl);margin-bottom:20px;margin-bottom:var(--spacing-lg)}.login-popup .form-group{margin-bottom:15px;margin-bottom:var(--spacing-md);text-align:left}.login-popup label{color:#2c2c2c;color:var(--color-dark-charcoal);display:block;margin-bottom:5px;margin-bottom:var(--spacing-xs)}.login-popup input[type=email],.login-popup input[type=password]{border:1px solid #ddd;border:1px solid var(--color-gray-light);border-radius:20px;border-radius:var(--border-radius-button);box-sizing:border-box;font-size:16px;min-height:48px;min-height:var(--touch-target-minimum);padding:10px;padding:var(--spacing-sm);width:100%}.login-options{justify-content:space-between;margin-bottom:20px;margin-bottom:var(--spacing-lg)}.login-options,.remember-me{align-items:center;display:flex}.remember-me input{margin-right:5px;margin-right:var(--spacing-xs)}.login-options a{color:#72bfbd;color:var(--color-soft-teal);text-decoration:none}.login-btn,.login-facebook-btn{border:none;border-radius:20px;border-radius:var(--border-radius-button);cursor:pointer;font-size:16px;margin-bottom:15px;margin-bottom:var(--spacing-md);min-height:48px;min-height:var(--touch-target-minimum);padding:10px;padding:var(--spacing-sm);width:100%}.login-popup .login-btn{background-color:#72bfbd;background-color:var(--color-soft-teal);color:#fff;color:var(--color-white)}.login-popup .login-btn:hover{background-color:#5da7a5;background-color:var(--color-soft-teal-hover)}.login-facebook-btn{background-color:#4267b2;background-color:var(--color-facebook-blue);color:#fff;color:var(--color-white)}.login-popup p{color:#2c2c2c;color:var(--color-dark-charcoal);margin-top:15px;margin-top:var(--spacing-md)}.login-popup p a{color:#72bfbd;color:var(--color-soft-teal);text-decoration:none}.close-btn{color:#999;font-size:var(--font-size-xl);min-height:48px;min-width:48px;right:10px;right:var(--spacing-sm);top:10px;top:var(--spacing-sm)}.signup-container{background:#fff;background:var(--color-white);border-radius:20px;border-radius:var(--border-radius-button);box-shadow:0 4px 8px #0000001a;box-shadow:var(--shadow-medium);font-family:Avenir-Book,Avenir,sans-serif;font-family:var(--font-family-primary);margin:48px auto;margin:var(--spacing-xxxl) auto;padding:30px;padding:var(--spacing-xl);text-align:center}.signup-container h2{color:#1d3557;color:var(--color-deep-navy);font-size:1.8rem;margin-bottom:20px;margin-bottom:var(--spacing-lg)}.signup-container h2,.signup-container label{font-weight:700;font-weight:var(--font-weight-bold)}.signup-container label{color:#2c2c2c;color:var(--color-dark-charcoal);display:block;font-size:.9rem;font-size:var(--font-size-small);margin:10px 0 5px;margin:var(--spacing-sm) 0 var(--spacing-xs);text-align:left}.signup-container input[type=email],.signup-container input[type=text]{border:2px solid #ddd;border:var(--spacing-xxxs) solid var(--color-gray-light);border-radius:20px;border-radius:var(--border-radius-button);box-sizing:border-box;font-family:Avenir-Book,Avenir,sans-serif;font-family:var(--font-family-primary);font-size:.9rem;font-size:var(--font-size-small);margin-bottom:15px;margin-bottom:var(--spacing-md);min-height:48px;min-height:var(--touch-target-minimum);padding:10px;padding:var(--spacing-sm);width:100%}.user-type p{font-weight:700;font-weight:var(--font-weight-bold);margin:10px 0;margin:var(--spacing-sm) 0;text-align:left}.user-type label,.user-type p{color:#2c2c2c;color:var(--color-dark-charcoal);font-size:.9rem;font-size:var(--font-size-small)}.user-type label{display:inline-block;margin-right:20px;margin-right:var(--spacing-lg)}.complete-btn{background-color:#72bfbd;background-color:var(--color-soft-teal);border:none;border-radius:20px;border-radius:var(--border-radius-button);color:#fff;color:var(--color-white);cursor:pointer;font-family:Avenir-Book,Avenir,sans-serif;font-family:var(--font-family-primary);font-size:1rem;font-size:var(--font-size-base);margin-top:15px;margin-top:var(--spacing-md);min-height:48px;min-height:var(--touch-target-minimum);padding:10px;padding:var(--spacing-sm);text-decoration:none;transition:background-color .3s ease;transition:background-color var(--transition-standard);width:100%}.complete-btn:hover{background-color:#5da7a5;background-color:var(--color-soft-teal-hover)}.profile-link{align-items:center;display:flex;gap:10px;gap:var(--spacing-sm)}.profile-img{border-radius:50%;height:30px;height:var(--spacing-xl);object-fit:cover;width:30px;width:var(--spacing-xl)}.profile-name{font-weight:700;font-weight:var(--font-weight-bold)}@media (max-width:768px){.nav-buttons{display:none}.mobile-menu-btn{display:block}.footer-links{flex-direction:column;gap:20px;gap:var(--spacing-lg)}.social-links{margin-top:20px;margin-top:var(--spacing-lg)}}:focus{outline:2px solid var(--color-primary-focus);outline-offset:2px}.skip-to-main{background:var(--color-primary);border-radius:0 0 var(--border-radius-small) var(--border-radius-small);color:var(--color-white);left:var(--spacing-xs);padding:var(--spacing-xs);position:absolute;text-decoration:none;top:-40px;transition:top var(--transition-standard);z-index:var(--z-index-skip-nav)}.skip-to-main:focus{top:0}@media (prefers-contrast:high){body{background:var(--color-white);color:var(--color-black)}.btn,.card{border:2px solid var(--color-black)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.text-muted{color:var(--color-gray-dark)!important}.btn:focus,.form-input:focus,.nav-link:focus{outline:2px solid var(--color-primary-focus);outline-offset:2px}.error-message{background-color:var(--color-danger-light);border:1px solid var(--color-danger-medium);border-radius:var(--border-radius-standard);color:var(--color-danger-dark);padding:var(--spacing-sm)}.success-message{background-color:var(--color-success-light);border:1px solid var(--color-success-medium);border-radius:var(--border-radius-standard);color:var(--color-success-dark);padding:var(--spacing-sm)}.btn,.form-input,.nav-link{min-height:var(--touch-target-minimum);min-width:var(--touch-target-minimum)}.form-group .form-label{cursor:pointer}.modal{align-items:center;background:var(--color-overlay);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:var(--z-index-modal)}.modal-content{background:var(--color-white);border-radius:var(--border-radius-standard);max-width:500px;padding:var(--spacing-xxl);position:relative;width:90%}.modal-close{background:none;border:none;cursor:pointer;font-size:var(--font-size-xl);line-height:1;min-height:var(--touch-target-minimum);min-width:var(--touch-target-minimum);padding:var(--spacing-sm);position:absolute;right:var(--spacing-lg);top:var(--spacing-lg)}table{border-collapse:collapse;width:100%}td,th{border:1px solid var(--color-border);padding:var(--spacing-md);text-align:left}th{background-color:var(--color-neutral-light);font-weight:var(--font-weight-semibold)}a:not(.btn){text-decoration:underline}a:not(.btn):focus,a:not(.btn):hover{text-decoration:none}img{height:auto;max-width:100%}.card-link{color:inherit;display:block}.card-link:focus,.card-link:hover{color:inherit;text-decoration:none}.card-link:focus .card{outline:2px solid var(--color-primary-focus);outline-offset:2px}.toast{border:1px solid var(--color-border);box-shadow:var(--shadow-medium);min-width:300px;padding:var(--spacing-lg);position:fixed;right:var(--spacing-lg);top:var(--spacing-lg);z-index:var(--z-index-toast)}.toast.success{border-left:4px solid var(--color-success-green)}.toast.error{border-left:4px solid var(--color-error-red)}.toast.warning{border-left:4px solid var(--color-warning-yellow)}.toast.info{border-left:4px solid var(--color-info-blue)}.dropdown{display:inline-block;position:relative}.dropdown-menu{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius-standard);box-shadow:var(--shadow-medium);left:0;min-width:200px;position:absolute;top:100%;z-index:var(--z-index-dropdown)}.dropdown-item{color:var(--color-dark-charcoal);display:block;min-height:var(--touch-target-minimum);padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;white-space:nowrap}.dropdown-item:focus,.dropdown-item:hover{background-color:var(--color-neutral-light);color:var(--color-dark-charcoal);text-decoration:none}.accordion-button{background:none;border:none;border-bottom:1px solid var(--color-border);cursor:pointer;font-size:var(--font-size-base);min-height:var(--touch-target-minimum);padding:var(--spacing-lg);text-align:left;width:100%}.accordion-button:focus,.accordion-button:hover{background-color:var(--color-neutral-light)}.accordion-button[aria-expanded=true]:after{content:"−";float:right}.accordion-button[aria-expanded=false]:after{content:"+";float:right}.accordion-content{border-bottom:1px solid var(--color-border);padding:var(--spacing-lg)}.tooltip{display:inline-block;position:relative}.tooltip-text{background-color:var(--color-dark-charcoal);border-radius:var(--border-radius-standard);bottom:125%;color:var(--color-white);left:50%;margin-left:-100px;opacity:0;padding:var(--spacing-xs);position:absolute;text-align:center;transition:opacity var(--transition-standard);visibility:hidden;width:200px;z-index:var(--z-index-tooltip)}.tooltip:focus .tooltip-text,.tooltip:hover .tooltip-text{opacity:1;visibility:visible}@media print{.no-print{display:none!important}a:after{color:var(--color-gray-medium);content:" (" attr(href) ")";font-size:var(--font-size-small)}.btn{background:var(--color-white)!important;border:1px solid var(--color-black)!important;color:var(--color-black)!important}}.card{word-wrap:break-word;background-clip:initial;background-color:var(--color-white);border:1px solid var(--color-gray-light);border-radius:var(--border-radius-standard);box-shadow:var(--shadow-light);display:flex;flex-direction:column;min-width:0;overflow:hidden;transition:all var(--transition-standard)}.card-elevated,.card:hover{box-shadow:var(--shadow-medium)}.card-elevated{border:none}.card-elevated:hover{box-shadow:var(--shadow-large);transform:translateY(-2px)}.card-flat{border:1px solid var(--color-gray-light);box-shadow:none}.card-interactive{cursor:pointer;transition:all var(--transition-standard)}.card-interactive:hover{box-shadow:var(--shadow-medium);transform:translateY(-2px)}.card-interactive:active{transform:translateY(0)}.card-header{background-color:var(--color-neutral-light);border-bottom:1px solid var(--color-gray-light);color:var(--color-dark-charcoal);font-weight:var(--font-weight-bold);padding:var(--spacing-lg)}.card-header:first-child{border-radius:var(--border-radius-standard) var(--border-radius-standard) 0 0}.card-header-primary{background-color:var(--color-soft-teal);border-bottom-color:var(--color-soft-teal);color:var(--color-white)}.card-header-secondary{background-color:var(--color-deep-navy);border-bottom-color:var(--color-deep-navy);color:var(--color-white)}.card-body{color:var(--color-dark-charcoal);flex:1 1 auto;padding:var(--spacing-lg)}.card-body-sm{padding:var(--spacing-md)}.card-body-lg{padding:var(--spacing-xl)}.card-title{color:var(--color-dark-charcoal);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:1.2;margin-bottom:var(--spacing-md)}.card-title:last-child{margin-bottom:0}.card-subtitle{color:var(--color-gray-dark);font-size:var(--font-size-base);font-weight:400;line-height:1.4;margin-bottom:var(--spacing-sm)}.card-subtitle:last-child{margin-bottom:0}.card-text{color:var(--color-dark-charcoal);font-size:var(--font-size-base);line-height:1.5;margin-bottom:var(--spacing-md)}.card-text:last-child{margin-bottom:0}.card-footer{background-color:var(--color-neutral-light);border-top:1px solid var(--color-gray-light);color:var(--color-gray-dark);padding:var(--spacing-lg)}.card-footer:last-child{border-radius:0 0 var(--border-radius-standard) var(--border-radius-standard)}.card-img{border-radius:var(--border-radius-standard) var(--border-radius-standard) 0 0;height:auto;width:100%}.card-img-bottom{border-radius:0 0 var(--border-radius-standard) var(--border-radius-standard)}.card-img-overlay{background:#00000080;border-radius:var(--border-radius-standard);bottom:0;color:var(--color-white);display:flex;flex-direction:column;justify-content:flex-end;left:0;padding:var(--spacing-lg);position:absolute;right:0;top:0}.card-link{color:var(--color-soft-teal);text-decoration:none;transition:color var(--transition-standard)}.card-link:hover{color:var(--color-soft-teal-hover);text-decoration:underline}.card-link:not(:last-child){margin-right:var(--spacing-md)}.card-sm{max-width:300px}.card-md{max-width:400px}.card-lg{max-width:500px}.card-xl{max-width:600px}.card-fluid{width:100%}.card-success{border-left:4px solid var(--color-success-green)}.card-warning{border-left:4px solid var(--color-warning-yellow)}.card-danger{border-left:4px solid var(--color-error-red)}.card-info{border-left:4px solid var(--color-info-blue)}.card-primary{border-left:4px solid var(--color-soft-teal)}.card-group{display:flex;flex-flow:row wrap;gap:var(--spacing-md)}.card-group .card{flex:1 1}.card-deck{display:flex;flex-direction:column;gap:var(--spacing-md)}@media (min-width:576px){.card-deck{flex-direction:row}.card-deck .card{flex:1 0;margin-bottom:0}}.card-columns{column-count:1;column-gap:var(--spacing-lg);orphans:1;widows:1}.card-columns .card{display:inline-block;margin-bottom:var(--spacing-md);width:100%}@media (min-width:576px){.card-columns{column-count:2}}@media (min-width:768px){.card-columns{column-count:3}}.card-loading{overflow:hidden;position:relative}.card-loading:after{animation:card-loading 1.5s infinite;background:linear-gradient(90deg,#0000,#fff9,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes card-loading{to{left:100%}}.card-actions{align-items:center;background-color:var(--color-neutral-light);border-top:1px solid var(--color-gray-light);display:flex;gap:var(--spacing-sm);justify-content:flex-end;padding:var(--spacing-md) var(--spacing-lg)}.card-actions .btn{margin:0}.card-actions-left{justify-content:flex-start}.card-actions-center{justify-content:center}.card-actions-between{justify-content:space-between}.card-stat{padding:var(--spacing-lg);text-align:center}.card-stat-value{color:var(--color-soft-teal);display:block;font-size:var(--font-size-xxl);font-weight:var(--font-weight-bold);line-height:1;margin-bottom:var(--spacing-xs)}.card-stat-label{color:var(--color-gray-dark);font-size:var(--font-size-small);letter-spacing:.05em;text-transform:uppercase}.provider-card{cursor:pointer;overflow:hidden;position:relative;transition:all var(--transition-standard)}.provider-card:hover{box-shadow:var(--shadow-large);transform:translateY(-2px)}.provider-card-image{background-color:var(--color-neutral-light);height:200px;object-fit:cover;width:100%}.provider-card-content{padding:var(--spacing-lg)}.provider-card-title{color:var(--color-dark-charcoal);font-size:var(--font-size-large);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs)}.provider-card-category{color:var(--color-gray-dark);font-size:var(--font-size-small);margin-bottom:var(--spacing-sm)}.provider-card-rating{align-items:center;display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.provider-card-price{color:var(--color-soft-teal);font-size:var(--font-size-large);font-weight:var(--font-weight-bold)}.service-card{border:2px solid var(--color-gray-light);transition:all var(--transition-standard)}.service-card:hover{border-color:var(--color-soft-teal);box-shadow:0 4px 12px #72bfbd33}.service-card-selected{background-color:#72bfbd0d;border-color:var(--color-soft-teal)}.booking-card{border-left:4px solid var(--color-gray-light)}.booking-card-confirmed{border-left-color:var(--color-success-green)}.booking-card-pending{border-left-color:var(--color-warning-yellow)}.booking-card-cancelled{border-left-color:var(--color-error-red)}.dashboard-card{text-align:center;transition:all var(--transition-standard)}.dashboard-card:hover{box-shadow:var(--shadow-medium);transform:translateY(-1px)}.dashboard-card-icon{align-items:center;background-color:var(--color-soft-teal);border-radius:50%;color:var(--color-white);display:flex;font-size:var(--font-size-xl);height:48px;justify-content:center;margin:0 auto var(--spacing-md);width:48px}@media (max-width:768px){.card-actions,.card-body,.card-footer,.card-header{padding:var(--spacing-md)}.card-body-lg{padding:var(--spacing-lg)}.card-group{flex-direction:column}.provider-card-image{height:150px}}@media (prefers-contrast:high){.card{border-width:2px}}@media (prefers-reduced-motion:reduce){.card,.card-interactive,.dashboard-card,.provider-card,.service-card{transition:none}.card-interactive:hover,.dashboard-card:hover,.provider-card:hover{transform:none}.card-loading:after{animation:none}}:root{--duration-instant:0ms;--duration-fast:150ms;--duration-normal:300ms;--duration-slow:500ms;--duration-slower:700ms;--ease-linear:linear;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--ease-elastic:cubic-bezier(0.175,0.885,0.32,1.275);--focus-ring-width:2px;--focus-ring-offset:2px;--focus-ring-color:var(--color-focus,#72bfbd);--focus-ring-style:solid;--focus-shadow:0 0 0 var(--focus-ring-offset) var(--focus-ring-color);--touch-target-min:48px;--hover-lift:translateY(-2px);--hover-scale:scale(1.02);--active-scale:scale(0.98);--active-opacity:0.8;--radius-none:0;--radius-sm:0.125rem;--radius-md:0.25rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--shadow-focus:var(--focus-shadow);--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-toast:1080}:focus{outline:none}:focus-visible{box-shadow:0 0 0 2px #72bfbd;box-shadow:var(--shadow-focus);outline:2px solid #72bfbd;outline:var(--focus-ring-width) var(--focus-ring-style) var(--focus-ring-color);outline-offset:2px;outline-offset:var(--focus-ring-offset)}@media (prefers-contrast:high){:root{--focus-ring-width:3px;--focus-ring-color:currentColor}}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0ms;--duration-normal:0ms;--duration-slow:0ms;--duration-slower:0ms}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}[data-theme=dark]{--color-primary:#4a90e2;--color-secondary:#72bfbd;--color-accent:#f39c12;--color-text-primary:#f8f9fa;--color-text-secondary:#adb5bd;--color-background:#1a1a1a;--color-background-alt:#2d2d2d;--color-hover:#5ba3f5;--color-active:#357abd;--color-focus:#72bfbd;--color-success:#52c41a;--color-warning:#faad14;--color-error:#ff4d4f;--color-info:#1890ff;--shadow-sm:0 1px 2px 0 #0003;--shadow-md:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003;--shadow-lg:0 10px 15px -3px #0000004d,0 4px 6px -2px #0003;--shadow-xl:0 20px 25px -5px #0006,0 10px 10px -5px #0000004d}*{transition:background-color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);transition:background-color var(--duration-normal) var(--ease-in-out),border-color var(--duration-normal) var(--ease-in-out),color var(--duration-normal) var(--ease-in-out),box-shadow var(--duration-normal) var(--ease-in-out)}@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{animation:skeleton-loading 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200px 100%}[data-theme=dark] .skeleton{background:linear-gradient(90deg,#2a2a2a 25%,#3a3a3a 50%,#2a2a2a 75%);background-size:200px 100%}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes bounce-in{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.bounce-in{animation:bounce-in .5s cubic-bezier(.68,-.55,.265,1.55);animation:bounce-in var(--duration-slow) var(--ease-bounce)}@keyframes slide-in-left{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}.slide-in-right{animation:slide-in-right .3s cubic-bezier(0,0,.2,1);animation:slide-in-right var(--duration-normal) var(--ease-out)}.slide-in-left{animation:slide-in-left .3s cubic-bezier(0,0,.2,1);animation:slide-in-left var(--duration-normal) var(--ease-out)}.interactive{cursor:pointer;transition:all .15s cubic-bezier(0,0,.2,1);transition:all var(--duration-fast) var(--ease-out)}.interactive:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);transform:translateY(-2px);transform:var(--hover-lift)}.interactive:active{opacity:.8;opacity:var(--active-opacity);transform:scale(.98);transform:var(--active-scale)}.loading{cursor:not-allowed;opacity:.7;pointer-events:none}.error-state{border-color:var(--color-error);color:var(--color-error)}.success-state{border-color:var(--color-success);color:var(--color-success)}.btn{-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;align-items:center;-webkit-appearance:none;appearance:none;border:none;border-radius:var(--border-radius-standard);box-sizing:border-box;cursor:pointer;display:inline-flex;font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);justify-content:center;min-height:var(--touch-target-minimum);overflow:hidden;padding:var(--spacing-sm) var(--spacing-lg);position:relative;text-align:center;text-decoration:none;touch-action:manipulation;transition:all var(--duration-normal) var(--ease-in-out),box-shadow var(--duration-fast) var(--ease-out);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width var(--duration-fast) var(--ease-out),height var(--duration-fast) var(--ease-out);width:0;z-index:1}.btn:active:before{height:300px;transition:width var(--duration-normal) var(--ease-out),height var(--duration-normal) var(--ease-out);width:300px}.btn:hover:not(:disabled){box-shadow:0 6px 20px #00000026;transform:translateY(-2px)}.btn:active:not(:disabled){box-shadow:0 3px 10px #0003;transform:translateY(-1px) scale(.98)}.btn:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.btn-primary{background-color:var(--color-soft-teal);border:var(--spacing-xxxs) solid var(--color-soft-teal);color:var(--color-white)}.btn-primary:hover:not(:disabled){background-color:var(--color-soft-teal-hover);border-color:var(--color-soft-teal-hover);box-shadow:0 4px 12px #72bfbd4d;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background-color:initial;border:var(--spacing-xxxs) solid var(--color-soft-teal);color:var(--color-soft-teal)}.btn-secondary:hover:not(:disabled){background-color:var(--color-soft-teal);color:var(--color-white)}.btn-secondary:active{transform:translateY(0)}.btn-success{background-color:var(--color-success-green);border:var(--spacing-xxxs) solid var(--color-success-green);color:var(--color-white)}.btn-success:hover:not(:disabled){background-color:var(--color-success-green-alt);border-color:var(--color-success-green-alt);transform:translateY(-1px)}.btn-warning{background-color:var(--color-warning-yellow);border:var(--spacing-xxxs) solid var(--color-warning-yellow);color:var(--color-dark-charcoal)}.btn-warning:hover:not(:disabled){background-color:var(--color-warning-yellow);border-color:var(--color-warning-yellow);transform:translateY(-1px)}.btn-danger{background-color:var(--color-error-red);border:var(--spacing-xxxs) solid var(--color-error-red);color:var(--color-white)}.btn-danger:hover:not(:disabled){background-color:var(--color-error-red-alt);border-color:var(--color-error-red-alt);transform:translateY(-1px)}.btn-info{background-color:var(--color-info-blue);border:var(--spacing-xxxs) solid var(--color-info-blue);color:var(--color-white)}.btn-info:hover:not(:disabled){background-color:var(--color-info-blue);border-color:var(--color-info-blue);transform:translateY(-1px)}.btn-light{background-color:var(--color-white);border:var(--spacing-xxxs) solid var(--color-gray-light);color:var(--color-dark-charcoal)}.btn-light:hover:not(:disabled){background-color:var(--color-neutral-light);border-color:var(--color-gray-medium);transform:translateY(-1px)}.btn-dark{background-color:var(--color-dark-charcoal);border:var(--spacing-xxxs) solid var(--color-dark-charcoal);color:var(--color-white)}.btn-dark:hover:not(:disabled){background-color:var(--color-deep-navy);border-color:var(--color-deep-navy);transform:translateY(-1px)}.btn-sm{font-size:var(--font-size-small);min-height:var(--touch-target-small);padding:var(--spacing-xs) var(--spacing-md)}.btn-lg{font-size:var(--font-size-large);min-height:var(--touch-target-large);padding:var(--spacing-md) var(--spacing-xl)}.btn-xl{font-size:var(--font-size-xl);min-height:var(--touch-target-xl);padding:var(--spacing-lg) var(--spacing-xxl)}.btn-full{width:100%}.btn-auto{width:auto}.btn-rounded{border-radius:var(--border-radius-button)}.btn-square{border-radius:var(--border-radius-small)}.btn-pill{border-radius:var(--border-radius-pill)}.btn-icon{align-items:center;display:inline-flex;gap:var(--spacing-xs)}.btn-icon-only{justify-content:center;min-width:var(--touch-target-minimum);padding:var(--spacing-sm)}.btn-icon-left .icon{margin-right:var(--spacing-xs)}.btn-icon-right .icon{margin-left:var(--spacing-xs)}.btn-loading{color:#0000;pointer-events:none}.btn-loading:after{border:var(--spacing-xxxs) solid;border-radius:var(--border-radius-round);border-top:var(--spacing-xxxs) solid #0000;height:var(--icon-size-sm);width:var(--icon-size-sm)}@keyframes btn-spin{to{transform:translate(-50%,-50%) rotate(1turn)}}.btn-group{display:inline-flex;gap:var(--spacing-xs)}.btn-group .btn{flex:1 1}.btn-group-vertical{flex-direction:column}.btn-group-full{width:100%}.btn:focus{box-shadow:0 0 0 4px #72bfbd33;outline:var(--spacing-xxxs) solid var(--color-soft-teal);outline-offset:var(--spacing-xxxs)}.btn:focus:not(:focus-visible){box-shadow:none;outline:none}.btn:focus-visible{box-shadow:0 0 0 4px #72bfbd40;outline:var(--spacing-xxxs) solid var(--color-soft-teal);outline-offset:var(--spacing-xxxs)}@media (prefers-contrast:high){.btn{border-width:var(--spacing-xs)}}@media (prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover{transform:none}.btn-loading:after{animation:none}}@supports (-webkit-touch-callout:none){.btn{-webkit-appearance:none;background-clip:padding-box;-webkit-border-radius:var(--border-radius-standard)}.btn:active{transform:scale(.98)}}@media screen and (-webkit-min-device-pixel-ratio:1.5){.btn{font-feature-settings:"kern" 1;text-rendering:optimizeLegibility}}@-moz-document url-prefix(){.btn{-moz-appearance:none;background-clip:padding-box}}@media screen and (max-width:768px){.btn{touch-action:manipulation}}.btn-danger:hover:not(:disabled),.btn-dark:hover:not(:disabled),.btn-info:hover:not(:disabled),.btn-light:hover:not(:disabled),.btn-secondary:hover:not(:disabled),.btn-success:hover:not(:disabled),.btn-warning:hover:not(:disabled){transform:translateY(-1px)}.btn-danger:active,.btn-dark:active,.btn-info:active,.btn-light:active,.btn-secondary:active,.btn-success:active,.btn-warning:active{transform:translateY(0)}.btn-loading:after{animation:btn-spin 1s linear infinite;transform:translate(-50%,-50%)}@media (max-width:768px){.btn{min-height:var(--touch-target-minimum);min-width:var(--touch-target-minimum);padding:var(--spacing-md) var(--spacing-lg)}.btn-sm{min-height:var(--icon-size-xl);min-width:var(--icon-size-xl);padding:var(--spacing-sm) var(--spacing-md)}.btn:active{transform:scale(.98)}}@media (max-width:768px) and (prefers-reduced-motion:no-preference){.btn:hover{transform:translateY(-1px)}}@media (prefers-reduced-motion:reduce){.btn,.btn:active,.btn:focus,.btn:hover{transform:none!important;transition:none!important}.btn-loading:after{animation:none!important}}.badge{align-items:center;border:none;border-radius:var(--border-radius-small);color:var(--color-white);cursor:default;display:inline-flex;font-family:var(--font-family-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-bold);justify-content:center;line-height:1;padding:var(--spacing-xs) var(--spacing-sm);text-align:center;text-decoration:none;transition:all var(--transition-standard);vertical-align:initial;white-space:nowrap}.badge:empty{display:none}.badge-primary{background-color:var(--color-soft-teal);color:var(--color-white)}.badge-secondary{background-color:var(--color-gray-medium);color:var(--color-white)}.badge-success{background-color:var(--color-success-green);color:var(--color-white)}.badge-danger{background-color:var(--color-error-red);color:var(--color-white)}.badge-warning{background-color:var(--color-warning-yellow);color:var(--color-dark-charcoal)}.badge-info{background-color:var(--color-info-blue);color:var(--color-white)}.badge-light{background-color:var(--color-neutral-light);border:1px solid var(--color-gray-light);color:var(--color-dark-charcoal)}.badge-dark{background-color:var(--color-dark-charcoal);color:var(--color-white)}.badge-xs{font-size:.65rem;padding:2px var(--spacing-xs)}.badge-sm{font-size:var(--font-size-small);padding:var(--spacing-xs) var(--spacing-sm)}.badge-lg{font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-md)}.badge-xl{font-size:var(--font-size-large);padding:var(--spacing-md) var(--spacing-lg)}.badge-pill{border-radius:50px}.badge-square{border-radius:0}.badge-rounded{border-radius:var(--border-radius-standard)}.badge-outline{background-color:initial;border:1px solid}.badge-outline.badge-primary{border-color:var(--color-soft-teal);color:var(--color-soft-teal)}.badge-outline.badge-secondary{border-color:var(--color-gray-medium);color:var(--color-gray-medium)}.badge-outline.badge-success{border-color:var(--color-success-green);color:var(--color-success-green)}.badge-outline.badge-danger{border-color:var(--color-error-red);color:var(--color-error-red)}.badge-outline.badge-warning{border-color:var(--color-warning-yellow);color:var(--color-warning-yellow)}.badge-outline.badge-info{border-color:var(--color-info-blue);color:var(--color-info-blue)}.badge-outline.badge-dark{border-color:var(--color-dark-charcoal);color:var(--color-dark-charcoal)}.badge-interactive{cursor:pointer;text-decoration:none;transition:all var(--transition-standard)}.badge-interactive:hover{box-shadow:var(--shadow-light);transform:translateY(-1px)}.badge-interactive:active{transform:translateY(0)}.badge-interactive.badge-primary:hover{background-color:var(--color-soft-teal-hover)}.badge-interactive.badge-success:hover{background-color:var(--color-success-green-alt)}.badge-interactive.badge-danger:hover{background-color:var(--color-error-red-alt)}.badge-with-icon{align-items:center;display:inline-flex;gap:var(--spacing-xs)}.badge-icon{flex-shrink:0;font-size:.8em}.badge-icon-left{margin-right:var(--spacing-xs)}.badge-icon-right{margin-left:var(--spacing-xs)}.badge-removable{padding-right:calc(var(--spacing-xs) + 16px);position:relative}.badge-remove{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;font-size:.8em;height:16px;justify-content:center;opacity:.7;padding:0;position:absolute;right:var(--spacing-xs);top:50%;transform:translateY(-50%);transition:opacity var(--transition-standard);width:16px}.badge-remove:hover{opacity:1}.badge-remove:focus{outline:1px solid currentColor;outline-offset:1px}.badge-counter{border-radius:50%;font-size:.75rem;height:20px;line-height:1;min-width:20px;padding:0 var(--spacing-xs)}.badge-counter-sm{font-size:.65rem;height:16px;min-width:16px}.badge-counter-lg{font-size:.85rem;height:24px;min-width:24px}.badge-notification{background-color:var(--color-error-red);border:2px solid var(--color-white);border-radius:50%;color:var(--color-white);font-size:.7rem;height:18px;min-width:18px;padding:0 4px;position:absolute;right:-8px;top:-8px;z-index:1}.badge-notification-sm{font-size:.6rem;height:14px;min-width:14px;right:-6px;top:-6px}.badge-notification-lg{font-size:.75rem;height:22px;min-width:22px;right:-10px;top:-10px}.badge-status{padding-left:calc(var(--spacing-sm) + 8px);position:relative}.badge-status:before{background-color:currentColor;border-radius:50%;content:"";height:6px;left:var(--spacing-xs);position:absolute;top:50%;transform:translateY(-50%);width:6px}.badge-status-online:before{background-color:var(--color-success-green)}.badge-status-offline:before{background-color:var(--color-gray-medium)}.badge-status-away:before{background-color:var(--color-warning-yellow)}.badge-status-busy:before{background-color:var(--color-error-red)}.badge-category{background-color:#72bfbd1a;border:1px solid #72bfbd4d;color:var(--color-soft-teal)}.badge-category:hover{background-color:#72bfbd33}.badge-rating{align-items:center;background-color:var(--color-warning-yellow);color:var(--color-dark-charcoal);display:inline-flex;gap:2px}.badge-rating-star{font-size:.8em}.badge-price{background-color:var(--color-success-green);color:var(--color-white);font-weight:var(--font-weight-bold)}.badge-price-discount{background-color:var(--color-error-red);color:var(--color-white);position:relative}.badge-price-discount:after{border-bottom:6px solid var(--color-white);border-left:6px solid #0000;border-right:6px solid #0000;content:"";height:0;opacity:.8;position:absolute;right:2px;top:2px;width:0}.badge-group{align-items:center;display:inline-flex;flex-wrap:wrap;gap:var(--spacing-xs)}.badge-group .badge{margin:0}.badge-available{background-color:var(--color-success-green);color:var(--color-white)}.badge-unavailable{background-color:var(--color-gray-medium);color:var(--color-white)}.badge-busy{background-color:var(--color-error-red);color:var(--color-white)}.badge-booking-confirmed{background-color:var(--color-success-green);color:var(--color-white)}.badge-booking-pending{background-color:var(--color-warning-yellow);color:var(--color-dark-charcoal)}.badge-booking-cancelled{background-color:var(--color-gray-medium);color:var(--color-white)}.badge-booking-completed{background-color:var(--color-info-blue);color:var(--color-white)}.badge-provider-premium{background:linear-gradient(45deg,gold,#ffed4e);border:1px solid gold;color:var(--color-dark-charcoal)}.badge-provider-verified{background-color:var(--color-soft-teal);color:var(--color-white);position:relative}.badge-provider-verified:after{content:"✓";font-weight:700;margin-left:2px}.badge-location{align-items:center;background-color:var(--color-info-blue);color:var(--color-white);display:inline-flex;gap:var(--spacing-xs)}.badge-location-icon{font-size:.8em}@media (max-width:768px){.badge{font-size:var(--font-size-small);padding:var(--spacing-xs) var(--spacing-sm)}.badge-sm{font-size:.7rem;padding:2px var(--spacing-xs)}.badge-notification{height:16px;min-width:16px;right:-6px;top:-6px}.badge-group{gap:var(--spacing-xs)}}@media (prefers-contrast:high){.badge{border:1px solid}.badge-outline{border-width:2px}}@media (prefers-reduced-motion:reduce){.badge-interactive,.badge-remove{transition:none}.badge-interactive:hover{transform:none}}@media print{.badge-notification,.badge-removable .badge-remove{display:none}.badge{background-color:initial!important;border:1px solid var(--color-dark-charcoal)!important;color:var(--color-dark-charcoal)!important}}.alert{word-wrap:break-word;border:1px solid #0000;border-radius:var(--border-radius-standard);font-family:var(--font-family-primary);font-size:var(--font-size-base);line-height:1.5;margin-bottom:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);position:relative}.alert:last-child{margin-bottom:0}.alert-primary{background-color:var(--color-soft-teal-light);border-color:var(--color-soft-teal);color:var(--color-deep-navy)}.alert-secondary{background-color:var(--color-neutral-light);border-color:var(--color-gray-light);color:var(--color-dark-charcoal)}.alert-success{background-color:#28a7451a;border-color:var(--color-success-green);color:var(--color-success-green)}.alert-danger{background-color:#dc35451a;border-color:var(--color-error-red);color:var(--color-error-red)}.alert-warning{background-color:#ffc1071a;border-color:var(--color-warning-yellow);color:var(--color-warning-yellow)}.alert-info{background-color:#17a2b81a;border-color:var(--color-info-blue);color:var(--color-info-blue)}.alert-light{background-color:var(--color-white);border-color:var(--color-gray-light);color:var(--color-gray-dark)}.alert-dark{background-color:#d3d3d4;border-color:#bcbebf;color:#495057}.alert-with-icon{align-items:flex-start;display:flex;gap:var(--spacing-sm)}.alert-icon{flex-shrink:0;font-size:var(--font-size-large);margin-top:2px}.alert-content{flex:1 1}.alert-sm{font-size:var(--font-size-small);padding:var(--spacing-sm) var(--spacing-md)}.alert-lg{font-size:var(--font-size-large);padding:var(--spacing-lg) var(--spacing-xl)}.alert-outline{background-color:initial;border-width:2px}.alert-outline.alert-primary{border-color:var(--color-soft-teal);color:var(--color-soft-teal)}.alert-outline.alert-success{border-color:var(--color-success-green);color:var(--color-success-green)}.alert-outline.alert-danger{border-color:var(--color-error-red);color:var(--color-error-red)}.alert-outline.alert-warning{border-color:var(--color-warning-yellow);color:var(--color-warning-yellow)}.alert-outline.alert-info{border-color:var(--color-info-blue);color:var(--color-info-blue)}.alert-border-left{border-left:4px solid;border-left-color:inherit}.alert-border-left.alert-primary{border-left-color:var(--color-soft-teal)}.alert-border-left.alert-success{border-left-color:var(--color-success-green)}.alert-border-left.alert-danger{border-left-color:var(--color-error-red)}.alert-border-left.alert-warning{border-left-color:var(--color-warning-yellow)}.alert-border-left.alert-info{border-left-color:var(--color-info-blue)}.alert-dismissible{padding-right:calc(var(--spacing-lg) + var(--touch-target-minimum))}.alert-close{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;font-size:var(--font-size-large);justify-content:center;min-height:var(--touch-target-minimum);min-width:var(--touch-target-minimum);opacity:.7;padding:var(--spacing-sm);position:absolute;right:0;top:0;transition:opacity var(--transition-standard);z-index:2}.alert-close:hover{opacity:1}.alert-close:focus{outline:2px solid currentColor;outline-offset:2px}.alert-heading{font-size:var(--font-size-large);margin-bottom:var(--spacing-sm);margin-top:0}.alert-heading,.alert-link{color:inherit;font-weight:var(--font-weight-bold)}.alert-link{text-decoration:underline;transition:color var(--transition-standard)}.alert-link:hover{color:inherit;opacity:.8}.alert-floating{box-shadow:var(--shadow-medium);max-width:400px;min-width:300px;position:fixed;right:var(--spacing-lg);top:var(--spacing-lg);transform:translateX(100%);transition:transform var(--transition-standard);z-index:1050}.alert-floating.show{transform:translateX(0)}.alert-floating.hide{transform:translateX(100%)}.alert-stack{display:flex;flex-direction:column;gap:var(--spacing-sm);pointer-events:none;position:fixed;right:var(--spacing-lg);top:var(--spacing-lg);z-index:1050}.alert-stack .alert{box-shadow:var(--shadow-medium);margin-bottom:0;max-width:400px;min-width:300px;pointer-events:auto;transform:translateX(100%);transition:all var(--transition-standard)}.alert-stack .alert.show{transform:translateX(0)}.alert-stack .alert.hide{opacity:0;transform:translateX(100%)}.alert-banner{border-left:0;border-radius:0;border-right:0;margin-bottom:0;text-align:center}.alert-banner.alert-fixed{left:0;margin:0;position:fixed;right:0;top:0;z-index:1040}.alert-inline{border-radius:var(--border-radius-small);font-size:var(--font-size-small);margin-bottom:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm)}.alert-loading{align-items:center;display:flex;gap:var(--spacing-sm)}.alert-loading-spinner{animation:alert-spin 1s linear infinite;border:2px solid;border-radius:50%;border-top:2px solid #0000;flex-shrink:0;height:16px;width:16px}@keyframes alert-spin{to{transform:rotate(1turn)}}.alert-progress{padding-bottom:calc(var(--spacing-md) + 4px)}.alert-progress-bar{background-color:currentColor;bottom:0;height:4px;left:0;opacity:.3;position:absolute;transition:width .3s ease}.alert-list{margin:0;padding-left:var(--spacing-lg)}.alert-list li{margin-bottom:var(--spacing-xs)}.alert-list li:last-child{margin-bottom:0}.alert-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.alert-actions .btn{font-size:var(--font-size-small);padding:var(--spacing-xs) var(--spacing-sm)}.alert-form-success{background-color:#28a7451a;border-color:var(--color-success-green);border-left:4px solid var(--color-success-green);color:var(--color-success-green)}.alert-form-error{background-color:#dc35451a;border-color:var(--color-error-red);border-left:4px solid var(--color-error-red);color:var(--color-error-red)}.alert-form-warning{background-color:#ffc1071a;border-color:var(--color-warning-yellow);border-left:4px solid var(--color-warning-yellow);color:var(--color-warning-yellow)}.alert-booking-success{background-color:#28a7451a;border-color:var(--color-success-green);border-left:4px solid var(--color-success-green);color:var(--color-success-green)}.alert-booking-pending{background-color:#ffc1071a;border-color:var(--color-warning-yellow);border-left:4px solid var(--color-warning-yellow);color:var(--color-warning-yellow)}.alert-booking-cancelled{background-color:#dc35451a;border-color:var(--color-error-red);border-left:4px solid var(--color-error-red);color:var(--color-error-red)}@media (max-width:768px){.alert-floating,.alert-stack{left:var(--spacing-md);right:var(--spacing-md);top:var(--spacing-md)}.alert-floating,.alert-stack .alert{max-width:none;min-width:auto}.alert-actions{flex-direction:column}.alert-actions .btn{justify-content:center;width:100%}.alert-dismissible{padding-right:calc(var(--spacing-md) + var(--touch-target-minimum))}}@media (prefers-contrast:high){.alert{border-width:2px}.alert-outline{border-width:3px}}@media (prefers-reduced-motion:reduce){.alert-close,.alert-floating,.alert-progress-bar,.alert-stack .alert{transition:none}.alert-loading-spinner{animation:none}}@media print{.alert-banner.alert-fixed,.alert-floating,.alert-stack{display:none}}.notification-center-overlay{bottom:0;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:var(--z-index-modal)}.notification-center-dropdown{background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--border-radius-standard);box-shadow:var(--shadow-large);display:flex;flex-direction:column;font-family:var(--font-family-primary);max-height:calc(100vh - 100px);max-width:calc(100vw - var(--spacing-xxl));overflow:hidden;pointer-events:auto;position:absolute;right:var(--spacing-lg);top:70px;width:400px}.notification-center-header{align-items:center;background:var(--color-neutral-light);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-lg)}.notification-center-header h3{color:var(--color-deep-navy);font-size:var(--font-size-large);font-weight:var(--font-weight-semibold);margin:0}.notification-center-actions{align-items:center;display:flex;gap:var(--spacing-sm)}.mark-all-read-btn{background:none;border:none;border-radius:var(--border-radius-small);color:var(--color-soft-teal);cursor:pointer;font-family:var(--font-family-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);min-height:var(--touch-target-minimum);padding:var(--spacing-xs) var(--spacing-sm);transition:background-color var(--transition-fast)}.mark-all-read-btn:hover{background-color:var(--color-soft-teal-opacity-10)}.mark-all-read-btn:focus{outline:2px solid var(--color-primary-focus);outline-offset:2px}.mark-all-read-btn:disabled{cursor:not-allowed;opacity:.5}.close-btn{border-radius:var(--border-radius-small);color:var(--color-gray-medium);font-size:var(--font-size-large);line-height:1;min-height:var(--touch-target-minimum);min-width:var(--touch-target-minimum);padding:var(--spacing-xs);transition:background-color var(--transition-fast)}.close-btn:hover{background-color:var(--color-soft-gray)}.close-btn:focus{outline:2px solid var(--color-primary-focus);outline-offset:2px}.notification-center-content{flex:1 1;max-height:500px;overflow-y:auto}.notification-loading{align-items:center;color:var(--color-gray-medium);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-xxl) var(--spacing-lg)}.notification-loading .spinner{animation:spin 1s linear infinite;border-top:2px solid var(--color-border);border:2px solid var(--color-border);border-radius:var(--border-radius-full);border-top-color:var(--color-soft-teal);height:24px;margin-bottom:var(--spacing-sm);width:24px}.notification-error{align-items:center;color:var(--color-error-red);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-xxl) var(--spacing-lg);text-align:center}.notification-error button{background:var(--color-soft-teal);border:none;border-radius:var(--border-radius-standard);color:var(--color-white);cursor:pointer;font-family:var(--font-family-primary);font-size:var(--font-size-small);margin-top:var(--spacing-sm);min-height:var(--touch-target-minimum);padding:var(--spacing-sm) var(--spacing-lg);transition:background-color var(--transition-fast)}.notification-error button:hover{background:var(--color-soft-teal-hover)}.notification-error button:focus{outline:2px solid var(--color-primary-focus);outline-offset:2px}.notification-empty{align-items:center;color:var(--color-gray-medium);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-xxl) var(--spacing-lg);text-align:center}.notification-empty .empty-icon{color:var(--color-gray-light);font-size:48px;margin-bottom:var(--spacing-lg);opacity:.5}.notification-empty h4{color:var(--color-deep-navy);font-size:var(--font-size-base);margin:0 0 var(--spacing-sm) 0}.notification-empty p{font-size:var(--font-size-small);line-height:var(--line-height-normal);margin:0}.notification-list{padding:0}.notification-item{align-items:flex-start;border-bottom:1px solid var(--color-soft-gray);cursor:pointer;display:flex;min-height:var(--touch-target-minimum);padding:var(--spacing-lg) var(--spacing-lg);position:relative;transition:background-color var(--transition-fast)}.notification-item:focus,.notification-item:hover{background-color:var(--color-neutral-light)}.notification-item:focus{outline:2px solid var(--color-primary-focus);outline-offset:-2px}.notification-item:last-child{border-bottom:none}.notification-item.unread{background-color:var(--color-soft-teal-opacity-05);border-left:3px solid var(--color-soft-teal)}.notification-item.unread:hover{background-color:var(--color-soft-teal-opacity-10)}.notification-icon{color:var(--color-soft-teal);flex-shrink:0;font-size:var(--font-size-large);margin-right:var(--spacing-sm);margin-top:2px}.notification-content{flex:1 1;min-width:0}.notification-title{color:var(--color-deep-navy);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.notification-message,.notification-title{font-size:var(--font-size-small);margin-bottom:var(--spacing-xs)}.notification-message{word-wrap:break-word;color:var(--color-gray-dark);line-height:var(--line-height-normal)}.notification-time{color:var(--color-gray-medium);font-size:var(--font-size-xs)}.notification-unread-dot{background:var(--color-soft-teal);border-radius:var(--border-radius-full);flex-shrink:0;height:8px;position:absolute;right:var(--spacing-lg);top:var(--spacing-lg);width:8px}.notification-icon.booking{color:var(--color-info-blue)}.notification-icon.payment{color:var(--color-success-green)}.notification-icon.warning{color:var(--color-warning-orange)}.notification-icon.error{color:var(--color-error-red)}@media (max-width:768px){.notification-center-dropdown{border-radius:0;bottom:0;height:100vh;left:0;max-height:none;max-width:none;position:fixed;right:0;top:0;width:100%}.notification-center-header{padding:var(--spacing-lg);position:-webkit-sticky;position:sticky;top:0;z-index:10}.notification-center-content{flex:1 1;max-height:none;overflow-y:auto}.notification-item{padding:var(--spacing-lg)}.notification-icon{font-size:var(--font-size-xl);margin-right:var(--spacing-lg)}.notification-title{font-size:var(--font-size-base)}.notification-message{font-size:var(--font-size-small)}}@media (max-width:480px){.notification-center-header h3{font-size:var(--font-size-base)}.mark-all-read-btn{font-size:var(--font-size-xs);padding:var(--spacing-xs)}.notification-item{padding:var(--spacing-md)}.notification-content{margin-right:var(--spacing-sm)}}@media (prefers-color-scheme:dark){.notification-center-dropdown{background:var(--color-dark-surface);border-color:var(--color-dark-border)}.notification-center-header{background:var(--color-dark-border);border-bottom-color:var(--color-dark-border-light)}.notification-center-header h3{color:var(--color-white)}.notification-item{border-bottom-color:var(--color-dark-border)}.notification-item:focus,.notification-item:hover{background-color:var(--color-dark-border)}.notification-item.unread{background-color:var(--color-dark-surface);border-left-color:var(--color-soft-teal)}.notification-item.unread:hover{background-color:var(--color-dark-border)}.notification-title{color:var(--color-white)}.notification-message{color:var(--color-gray-light)}.notification-time{color:var(--color-gray-medium)}.notification-empty h4{color:var(--color-white)}.notification-empty{color:var(--color-gray-light)}}@media (prefers-contrast:high){.notification-center-dropdown{border:2px solid var(--color-black)}.notification-item.unread{border-left-color:var(--color-black);border-left-width:4px}.close-btn,.mark-all-read-btn{border:1px solid var(--color-black)}.notification-error button{background:var(--color-black);color:var(--color-white)}}@media (prefers-reduced-motion:reduce){.notification-loading .spinner{animation:none}.close-btn,.mark-all-read-btn,.notification-error button,.notification-item{transition:none}}@media print{.notification-center-overlay{position:static}.notification-center-dropdown{border:1px solid var(--color-black);box-shadow:none;max-height:none;overflow:visible;position:static}.notification-center-actions,.notification-unread-dot{display:none}.notification-center-header{background:none}.notification-item{border-bottom:1px solid var(--color-black);break-inside:avoid;page-break-inside:avoid}}.notification-center-dropdown[role=dialog]{outline:2px solid var(--color-primary-focus);outline-offset:2px}.notification-item.loading{opacity:.7;pointer-events:none}.notification-item.loading:after{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,var(--color-white-opacity-40),#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.notification-actions{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.notification-action-btn{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius-small);color:var(--color-gray-dark);cursor:pointer;font-family:var(--font-family-primary);font-size:var(--font-size-xs);min-height:var(--touch-target-minimum);padding:var(--spacing-xs) var(--spacing-sm);transition:all var(--transition-fast)}.notification-action-btn:hover{background:var(--color-soft-gray);border-color:var(--color-neutral-medium)}.notification-action-btn:focus{outline:2px solid var(--color-primary-focus);outline-offset:2px}.notification-action-btn.primary{background:var(--color-soft-teal);border-color:var(--color-soft-teal);color:var(--color-white)}.notification-action-btn.primary:hover{background:var(--color-soft-teal-hover);border-color:var(--color-soft-teal-hover)}.notification-badge{background:var(--color-error-red);border:2px solid var(--color-white);right:-6px;top:-6px}.notification-item.high-priority{border-left-color:var(--color-error-red);border-left-width:4px}.notification-item.medium-priority{border-left-color:var(--color-warning-orange);border-left-width:3px}.notification-item.low-priority{border-left-color:var(--color-info-blue);border-left-width:2px}.header{align-items:center;background-color:var(--color-deep-navy);box-shadow:var(--shadow-medium);box-sizing:border-box;color:var(--color-white);display:flex;justify-content:flex-start;left:0;min-height:var(--header-height);padding:0 var(--spacing-lg);position:fixed;top:0;transition:all var(--transition-standard);width:100%;z-index:1000}.header.home-header{background-color:initial;box-shadow:none}.header.page-header,.header.scrolled{background-color:var(--color-deep-navy);box-shadow:var(--shadow-medium)}.header .logo{position:relative;visibility:visible!important;z-index:var(--z-index-logo)}.header .logo,.header .logo img{cursor:pointer;display:block!important}.header .logo img{height:var(--spacing-5xl);opacity:1!important;width:auto}.header .logo a{cursor:pointer;display:block;position:relative;z-index:var(--z-index-logo)}.nav{align-items:center;display:flex;flex:1 1;height:var(--nav-height);justify-content:flex-end;margin-left:auto}.logo-container{display:none}.nav-buttons{align-items:center;display:flex;gap:var(--spacing-xl);height:var(--nav-button-height);justify-content:flex-end}.nav .dropdown,.nav .location-container{position:relative}.nav .dropdown-btn{align-items:center;background:none;border:none;border-radius:var(--border-radius-small);color:var(--color-white);cursor:pointer;display:flex;font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);gap:var(--spacing-xs);min-height:var(--touch-target-minimum);padding:var(--spacing-xs) var(--spacing-sm);text-decoration:none;transition:all var(--transition-standard)}.nav .dropdown-btn:hover{background-color:var(--color-soft-teal);border-radius:var(--border-radius-small)}.nav .dropdown-btn:focus{outline:2px solid var(--color-soft-teal);outline-offset:2px}.nav .dropdown-content{background-color:var(--color-white);border-radius:var(--border-radius-standard);box-shadow:var(--shadow-large);display:none;left:0;min-width:150px;padding:var(--spacing-sm) 0;position:absolute;top:100%;z-index:var(--z-index-dropdown)}.nav .dropdown-content a{align-items:center;color:var(--color-dark-charcoal);display:block;display:flex;font-family:var(--font-family-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-bold);min-height:var(--touch-target-minimum);padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;transition:all var(--transition-standard)}.nav .dropdown-content a:hover{background-color:var(--color-soft-teal);color:var(--color-white)}.nav .dropdown-content a:focus{outline:2px solid var(--color-soft-teal);outline-offset:-2px}.nav .dropdown:hover .dropdown-content{display:block}.nav-buttons a,.nav-buttons button{align-items:center;background-color:initial;border:none;border-bottom:none!important;border-radius:var(--border-radius-button);box-sizing:border-box;color:var(--color-white);cursor:pointer;display:inline-flex;font-family:var(--font-family-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-bold);height:var(--nav-button-height);justify-content:center;line-height:var(--line-height-tight);margin:0;min-height:var(--touch-target-minimum);min-width:var(--touch-target-minimum);outline:none;padding:0 var(--spacing-md);text-align:center;text-decoration:none!important;transition:all var(--transition-standard);white-space:nowrap}.nav-buttons a,.nav-buttons a:active,.nav-buttons a:hover,.nav-buttons a:link,.nav-buttons a:visited,.nav-buttons button,.nav-buttons button:active,.nav-buttons button:focus,.nav-buttons button:hover{border-bottom:none!important;box-shadow:none!important;text-decoration:none!important;-webkit-text-decoration-color:#0000!important;text-decoration-color:#0000!important;-webkit-text-decoration-line:none!important;text-decoration-line:none!important;-webkit-text-decoration-style:none!important;text-decoration-style:none!important;text-underline-offset:0!important}.nav-buttons a:active,.nav-buttons a:focus,.nav-buttons button:active,.nav-buttons button:focus{border:none!important;box-shadow:none!important;outline:none!important}.gift-card-btn{width:130px}.get-app-nav-btn{width:100px}.login-btn{align-items:center;background-color:var(--color-soft-teal);border-radius:var(--border-radius-button);color:var(--color-white);display:inline-flex!important;height:var(--nav-button-height);justify-content:center;margin:0;min-height:var(--touch-target-minimum);padding:0 var(--spacing-md);position:relative;top:0;vertical-align:middle;width:80px}.nav-buttons a:active,.nav-buttons a:focus,.nav-buttons a:hover,.nav-buttons a:visited,.nav-buttons button:active,.nav-buttons button:focus,.nav-buttons button:hover,.nav-buttons button:visited{text-decoration:none!important}.nav-buttons a:hover,.nav-buttons button:hover{background-color:initial!important;color:var(--color-soft-teal);text-decoration:none!important;transform:translateY(-2px)}.login-btn:hover{background-color:var(--color-soft-teal)!important;color:var(--color-white)!important;transform:translateY(-2px)}.mobile-menu-btn{align-items:center;background:none;border:none;border-radius:var(--border-radius-small);color:var(--color-white);cursor:pointer;display:none;font-size:var(--font-size-xl);justify-content:center;min-height:var(--touch-target-minimum);min-width:var(--touch-target-minimum);padding:var(--spacing-sm);position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:var(--z-index-menu-button)}.mobile-menu-btn:hover{background-color:var(--color-white-opacity-10);transform:scale(1.05)}.mobile-menu-btn:focus{outline:2px solid var(--color-soft-teal);outline-offset:2px}.mobile-menu-btn:active{background-color:var(--color-white-opacity-20);transform:scale(.95)}.hamburger-icon{align-items:center;display:flex;flex-direction:column;height:var(--spacing-lg);justify-content:space-around;position:relative;width:var(--spacing-lg)}.hamburger-line{background-color:var(--color-white);border-radius:1px;display:block;height:2px;transition:all var(--transition-standard);width:100%}.mobile-menu-btn.open .hamburger-line:first-child{transform:rotate(45deg) translate(5px,5px)}.mobile-menu-btn.open .hamburger-line:nth-child(2){opacity:0}.mobile-menu-btn.open .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.mobile-menu-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;height:100vh;left:0;opacity:0;position:fixed;top:0;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;width:100%;z-index:1900}.mobile-menu-overlay.show{opacity:1;visibility:visible}.mobile-menu{background:linear-gradient(135deg,var(--color-deep-navy) 0,#1a2f4a 100%);box-shadow:-5px 0 15px #0000004d;box-sizing:border-box;display:flex;flex-direction:column;height:100vh;max-width:400px;overflow-y:auto;padding:var(--spacing-xxl) var(--spacing-lg);position:fixed;right:-100%;top:0;transform:translateZ(0);-webkit-transform:translateZ(0);transition:right .3s cubic-bezier(.4,0,.2,1);width:80%;z-index:2000}.mobile-menu.show{right:0}.mobile-menu-header{align-items:center;border-bottom:1px solid var(--color-white-opacity-20);display:flex;justify-content:space-between;margin-bottom:var(--spacing-xxl);padding-bottom:var(--spacing-lg)}.mobile-menu-header .logo img{height:calc(var(--logo-height)*.85);width:auto}.mobile-menu-close{align-items:center;background:none;border:none;border-radius:var(--border-radius-small);color:var(--color-white);cursor:pointer;display:flex;font-size:var(--font-size-xxl);justify-content:center;min-height:var(--touch-target-minimum);min-width:var(--touch-target-minimum);padding:var(--spacing-sm);transition:all var(--transition-standard)}.mobile-menu-close:hover{background-color:var(--color-white-opacity-10);transform:scale(1.05)}.mobile-menu-close:focus{outline:2px solid var(--color-soft-teal);outline-offset:2px}.mobile-menu-close:active{transform:scale(.95)}.mobile-menu-items{display:flex;flex:1 1;flex-direction:column;gap:0}.mobile-menu-items a,.mobile-menu-items button{align-items:center;background:none;border:none;border-bottom:1px solid var(--color-white-opacity-20);color:var(--color-white);cursor:pointer;display:flex;font-family:var(--font-family-primary);font-size:var(--font-size-large);font-weight:var(--font-weight-bold);min-height:var(--touch-target-minimum);overflow:hidden;padding:var(--spacing-lg) 0;position:relative;text-align:left;text-decoration:none;transition:all var(--transition-standard);width:100%}.mobile-menu-items a:last-child,.mobile-menu-items button:last-child{border-bottom:none}.mobile-menu-items a:hover,.mobile-menu-items button:hover{background-color:var(--color-white-opacity-05);color:var(--color-soft-teal);transform:translateX(var(--spacing-xs))}.mobile-menu-items a:focus,.mobile-menu-items button:focus{background-color:var(--color-white-opacity-10);outline:2px solid var(--color-soft-teal);outline-offset:-2px}.mobile-menu-items a:active,.mobile-menu-items button:active{background-color:var(--color-white-opacity-15);transform:scale(.98)}.mobile-menu.show .mobile-menu-items a,.mobile-menu.show .mobile-menu-items button{animation:slideInRight .4s ease-out forwards}.mobile-menu.show .mobile-menu-items a:first-child{animation-delay:.1s}.mobile-menu.show .mobile-menu-items a:nth-child(2){animation-delay:.15s}.mobile-menu.show .mobile-menu-items a:nth-child(3){animation-delay:.2s}.mobile-menu.show .mobile-menu-items a:nth-child(4){animation-delay:.25s}.mobile-menu.show .mobile-menu-items a:nth-child(5){animation-delay:.3s}.mobile-menu.show .mobile-menu-items a:nth-child(6){animation-delay:.35s}.mobile-menu.show .mobile-menu-items a:nth-child(7){animation-delay:.4s}@keyframes slideInRight{0%{opacity:0;transform:translateX(var(--spacing-xl))}to{opacity:1;transform:translateX(0)}}.mobile-menu-footer{border-top:1px solid var(--color-white-opacity-20);margin-top:auto;padding-top:var(--spacing-xxl)}.mobile-social-links{display:flex;gap:var(--spacing-lg);justify-content:center}.mobile-social-links a{align-items:center;border-radius:var(--border-radius-small);color:var(--color-white);display:flex;font-size:var(--font-size-xxl);justify-content:center;min-height:var(--touch-target-minimum);min-width:var(--touch-target-minimum);padding:var(--spacing-sm);transition:all var(--transition-standard)}.mobile-social-links a:hover{background-color:var(--color-white-opacity-10);color:var(--color-soft-teal);transform:scale(1.1)}.mobile-social-links a:focus{outline:2px solid var(--color-soft-teal);outline-offset:2px}.gift-card-btn{color:var(--color-white);font-weight:var(--font-weight-bold);padding-left:var(--spacing-md)}.notification-bell,.notification-bell-container{align-items:center;display:flex;position:relative}.notification-bell{background:none;border:none;border-radius:var(--border-radius-full);color:var(--color-white);cursor:pointer;font-size:var(--font-size-large);height:var(--nav-button-height);justify-content:center;min-height:var(--touch-target-minimum);min-width:var(--touch-target-minimum);padding:var(--spacing-xs);transition:all var(--transition-standard);width:var(--nav-button-height)}.notification-bell:hover{background-color:var(--color-soft-teal-light);transform:translateY(-2px)}.notification-bell:focus{outline:2px solid var(--color-soft-teal);outline-offset:2px}.notification-badge{background:var(--color-danger);border:2px solid var(--color-deep-navy);border-radius:var(--border-radius-full);box-shadow:var(--shadow-small);color:var(--color-white);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);min-width:var(--spacing-md);padding:2px var(--spacing-xs);position:absolute;right:2px;text-align:center;top:2px}.context-switcher{background:var(--color-white-opacity-10);border-radius:var(--border-radius-button);display:flex;gap:var(--spacing-xs);padding:var(--spacing-xs)}.context-btn{background:#0000!important;border:none!important;border-radius:var(--border-radius-standard)!important;cursor:pointer!important;font-size:var(--font-size-xs)!important;font-weight:var(--font-weight-semibold)!important;height:var(--spacing-xl)!important;min-height:var(--touch-target-minimum)!important;min-width:80px!important;padding:var(--spacing-xs) var(--spacing-md)!important;transition:all var(--transition-standard)!important}.context-btn,.context-btn.active{color:var(--color-white)!important}.context-btn.active{background:var(--color-primary)!important;box-shadow:var(--shadow-small)}.context-btn:hover:not(.active){background:var(--color-white-opacity-10)!important;transform:none!important}.context-btn:focus{outline:2px solid var(--color-soft-teal)!important;outline-offset:2px!important}.become-provider-btn{background:var(--color-primary)!important;border-radius:var(--border-radius-button)!important;color:var(--color-white)!important;font-weight:var(--font-weight-semibold)!important;min-height:var(--touch-target-minimum)!important;padding:0 var(--spacing-lg)!important;transition:all var(--transition-standard)!important}.become-provider-btn:hover{background:var(--color-primary-hover)!important;color:var(--color-white)!important;transform:translateY(-2px)!important}.become-provider-btn:focus{outline:2px solid var(--color-soft-teal)!important;outline-offset:2px!important}body.mobile-menu-open{height:100%;overflow:hidden;position:fixed;width:100%}@media (max-width:768px){.nav-buttons{display:none}.mobile-menu-btn{display:flex}.mobile-menu-items a,.mobile-menu-items button{font-size:var(--font-size-base);min-height:var(--touch-target-minimum);padding:var(--spacing-md) 0}.mobile-social-links{gap:var(--spacing-md)}.mobile-social-links a{font-size:var(--font-size-xl);min-height:var(--touch-target-minimum);min-width:var(--touch-target-minimum)}.notification-bell-container{display:none}}@media (max-width:480px){.mobile-menu{padding:var(--spacing-lg) var(--spacing-md);width:90%}.mobile-menu-header .logo img{height:var(--spacing-xxl);width:auto}.mobile-menu-items{gap:0}.mobile-menu-items a,.mobile-menu-items button{font-size:var(--font-size-small);min-height:var(--touch-target-minimum);padding:var(--spacing-sm) 0}}@media (prefers-contrast:high){.header{border-bottom:2px solid var(--color-white)}.mobile-menu{border:2px solid var(--color-white)}.mobile-menu-btn:focus,.mobile-menu-close:focus,.nav-buttons a:focus,.nav-buttons button:focus{outline:3px solid var(--color-white);outline-offset:2px}}@media (prefers-reduced-motion:reduce){.hamburger-line,.mobile-menu,.mobile-menu-items a,.mobile-menu-items button,.mobile-menu-overlay{animation:none;transition:none}.mobile-menu-btn:hover,.nav-buttons a:hover,.nav-buttons button:hover{transform:none}}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.skip-nav{background:var(--color-deep-navy);border-radius:var(--border-radius-small);color:var(--color-white);font-weight:var(--font-weight-bold);left:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);position:absolute;text-decoration:none;top:-40px;transition:all var(--transition-standard);z-index:var(--z-index-skip-nav)}.skip-nav:focus{outline:2px solid var(--color-soft-teal);outline-offset:2px;top:var(--spacing-xs)}.mobile-menu-items a[tabindex="0"]:focus,.mobile-menu-items button[tabindex="0"]:focus,.nav-buttons a[tabindex="0"]:focus,.nav-buttons button[tabindex="0"]:focus{background-color:var(--color-soft-teal-light);color:var(--color-white);outline:2px solid var(--color-soft-teal);outline-offset:2px}@media (min-width:769px){.mobile-menu-btn{display:none!important}.mobile-menu,.mobile-menu-overlay{display:none!important;opacity:0!important;pointer-events:none!important;visibility:hidden!important}.mobile-menu.show{display:none!important;right:-100%!important}.mobile-menu-overlay.show{display:none!important;opacity:0!important;visibility:hidden!important}.nav-buttons{display:flex!important}}@media print{.header{background:var(--color-white)!important;border-bottom:2px solid var(--color-black);box-shadow:none;color:var(--color-black)!important;position:static}.mobile-menu,.mobile-menu-btn,.mobile-menu-overlay,.nav-buttons{display:none!important}.logo img{height:var(--spacing-xxl)!important}}.footer{background-color:#1d3557;border-top:5px solid #72bfbd;color:#fff;font-family:Muli,sans-serif;padding:40px 0;text-align:center}.footer-content{align-items:center;box-sizing:border-box;display:flex;justify-content:space-between;padding:0 2.5%;position:relative;width:100%}.footer-logo{flex-shrink:0;margin-bottom:0;text-align:left}.footer-logo img{height:75px;width:auto}.scroll-to-top{cursor:pointer;display:inline-block;transition:transform .3s ease}.scroll-to-top:hover{transform:translateY(-5px)}.footer-links{display:flex;gap:30px;justify-content:center;left:50%;margin-bottom:0;position:absolute;transform:translateX(-50%)}.footer-column{align-items:center;display:flex;flex-direction:row;gap:30px}.footer-column a,.footer-column button{background:none;border:none;color:#fff;cursor:pointer;display:inline-block;font-family:Muli,sans-serif;font-size:.9rem;font-weight:700;padding:0;text-decoration:none;transition:color .3s ease,transform .3s ease;white-space:nowrap}.footer-column a:hover,.footer-column button:hover{color:#72bfbd;transform:translateY(-2px)}.social-links{display:flex;flex-shrink:0;gap:15px;justify-content:flex-end}.social-links a{color:#fff;font-size:1.2rem;transition:color .3s ease,transform .3s ease}.social-links a:hover{color:#72bfbd;transform:translateY(-2px)}@media (max-width:768px){.footer-content{flex-direction:column;gap:30px;text-align:center}.footer-links{flex-direction:column;gap:20px}.footer-links,.social-links{justify-content:center}.footer{padding:30px 15px}}@media (max-width:480px){.footer-links{gap:15px}.footer-column a,.footer-column button{font-size:.8rem}.social-links a{font-size:1.1rem}}.password-protection-overlay{align-items:center;background:linear-gradient(135deg,#1d3557,#72bfbd);bottom:0;display:flex;font-family:Muli,sans-serif;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.password-protection-container{background:#fff;border-radius:20px;box-shadow:0 20px 60px #1d35574d;margin:20px;max-width:450px;padding:40px;text-align:center;width:100%}.password-protection-content{display:flex;flex-direction:column;gap:25px}.logo-container{display:flex;justify-content:center;margin-bottom:10px}.password-logo{height:60px;width:auto}.password-protection-content h1{color:#1d3557;font-size:2rem;font-weight:700;line-height:1.2;margin:0}.password-protection-content p{color:#666;font-size:1rem;line-height:1.5;margin:0}.password-form{display:flex;flex-direction:column;gap:20px}.form-group{position:relative}.password-input{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:12px;box-sizing:border-box;font-family:Muli,sans-serif;font-size:1rem;padding:16px 20px;transition:all .3s ease;width:100%}.password-input:focus{background:#fff;border-color:#72bfbd;box-shadow:0 0 0 3px #72bfbd1a;outline:none}.password-input.error{background:#fff5f5;border-color:#ff5a5f}.password-input.error:focus{border-color:#ff5a5f;box-shadow:0 0 0 3px #ff5a5f1a}.error-message{align-items:center;background:#fff5f5;border-left:4px solid #ff5a5f;border-radius:8px;color:#ff5a5f;display:flex;font-size:.9rem;gap:8px;margin-top:-10px;padding:10px 15px}.error-message i{font-size:1rem}.password-submit-btn{background:linear-gradient(135deg,#1d3557,#72bfbd);border:none;border-radius:12px;box-shadow:0 4px 15px #1d355733;color:#fff;cursor:pointer;font-family:Muli,sans-serif;font-size:1.1rem;font-weight:600;padding:16px 24px;transition:all .3s ease}.password-submit-btn:hover{box-shadow:0 8px 25px #1d35574d;transform:translateY(-2px)}.password-submit-btn:active{transform:translateY(0)}.password-footer{border-top:1px solid #e0e0e0;margin-top:10px;padding-top:20px}.password-footer p{color:#999;font-size:.85rem;margin:0}.password-loading{align-items:center;background:linear-gradient(135deg,#1d3557,#72bfbd);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.loading-spinner{border:4px solid #ffffff4d;border-top-color:#fff}@media (max-width:768px){.password-protection-container{border-radius:15px;margin:15px;padding:30px 25px}.password-protection-content h1{font-size:1.7rem}.password-protection-content p{font-size:.95rem}.password-input{font-size:16px;padding:14px 18px}.password-submit-btn{font-size:1rem;padding:14px 20px}}@media (max-width:480px){.password-protection-container{margin:10px;padding:25px 20px}.password-logo{height:50px}.password-protection-content h1{font-size:1.5rem}.password-protection-content{gap:20px}}.loading-container{justify-content:center;padding:var(--spacing-lg)}.loading-container,.spinner-wrapper{align-items:center;display:flex;flex-direction:column}.spinner-wrapper{gap:var(--spacing-md)}.spinner{animation:spin 1s linear infinite;border-top:3px solid var(--color-neutral-light);border:3px solid var(--color-neutral-light);border-radius:var(--border-radius-full);border-top-color:var(--color-soft-teal)}.spinner-small .spinner{border-width:2px;height:var(--spacing-lg);width:var(--spacing-lg)}.spinner-medium .spinner{border-width:3px;height:var(--spacing-xxl);width:var(--spacing-xxl)}.spinner-large .spinner{border-width:4px;height:var(--spacing-3xl);width:var(--spacing-3xl)}.loading-text{color:var(--color-gray-medium);font-family:var(--font-family-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);margin:0}.spinner-small .loading-text{font-size:var(--font-size-xs)}.spinner-large .loading-text{font-size:var(--font-size-base)}.loading-overlay-backdrop{align-items:center;background-color:var(--color-modal-overlay);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:var(--z-index-modal)}.loading-overlay{background-color:var(--color-white-opacity-95);border-radius:var(--border-radius-standard);box-shadow:var(--shadow-large);padding:var(--spacing-xxl)}.page-loading{align-items:center;display:flex;justify-content:center;min-height:60vh}.skeleton-container{animation:skeleton-pulse 1.5s ease-in-out infinite alternate;padding:var(--spacing-lg)}@keyframes skeleton-pulse{0%{opacity:1}to{opacity:.7}}.skeleton-item{margin-bottom:var(--spacing-lg)}.skeleton-line{background:linear-gradient(90deg,var(--color-neutral-light) 25%,var(--color-border-light) 50%,var(--color-neutral-light) 75%);background-size:200% 100%;border-radius:var(--border-radius-small);margin-bottom:var(--spacing-sm)}.skeleton-line-title{height:var(--spacing-xl);width:70%}.skeleton-line-text{height:var(--spacing-lg);width:100%}.skeleton-line-text.short{width:60%}.skeleton-small{padding:var(--spacing-sm)}.skeleton-small .skeleton-line-title{height:var(--spacing-lg)}.skeleton-small .skeleton-line-text{height:var(--spacing-md)}.skeleton-large{padding:var(--spacing-xxl)}.skeleton-large .skeleton-line-title{height:var(--spacing-xxl)}.skeleton-large .skeleton-line-text{height:var(--spacing-lg)}.skeleton-booking-header{align-items:center;display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.skeleton-avatar{animation:skeleton-shimmer 1.5s infinite;background:linear-gradient(90deg,var(--color-neutral-light) 25%,var(--color-border-light) 50%,var(--color-neutral-light) 75%);background-size:200% 100%;border-radius:var(--border-radius-full);flex-shrink:0;height:var(--spacing-3xl);width:var(--spacing-3xl)}.skeleton-content{flex:1 1}.skeleton-booking-steps{display:flex;gap:var(--spacing-md);justify-content:center;margin-bottom:var(--spacing-xl)}.skeleton-step{animation:skeleton-shimmer 1.5s infinite;background:linear-gradient(90deg,var(--color-neutral-light) 25%,var(--color-border-light) 50%,var(--color-neutral-light) 75%);background-size:200% 100%;border-radius:var(--border-radius-button);height:var(--spacing-xxl);width:80px}.skeleton-booking-content{margin-top:var(--spacing-lg)}.skeleton-service-item{align-items:center;border-bottom:1px solid var(--color-neutral-light);display:flex;justify-content:space-between;padding:var(--spacing-md) 0}.skeleton-price{animation:skeleton-shimmer 1.5s infinite;background:linear-gradient(90deg,var(--color-neutral-light) 25%,var(--color-border-light) 50%,var(--color-neutral-light) 75%);background-size:200% 100%;border-radius:var(--border-radius-small);height:var(--spacing-lg);margin-left:var(--spacing-md);width:80px}.skeleton-provider-card{border:1px solid var(--color-border-light);border-radius:var(--border-radius-standard);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg)}.skeleton-provider-image{animation:skeleton-shimmer 1.5s infinite;background:linear-gradient(90deg,var(--color-neutral-light) 25%,var(--color-border-light) 50%,var(--color-neutral-light) 75%);background-size:200% 100%;border-radius:var(--border-radius-standard);height:200px;margin-bottom:var(--spacing-md);width:100%}.skeleton-rating{animation:skeleton-shimmer 1.5s infinite;background:linear-gradient(90deg,var(--color-neutral-light) 25%,var(--color-border-light) 50%,var(--color-neutral-light) 75%);background-size:200% 100%;border-radius:var(--border-radius-small);height:var(--spacing-lg);width:120px}.skeleton-dashboard{padding:var(--spacing-xl)}.skeleton-dashboard-header{margin-bottom:var(--spacing-xxl)}.skeleton-line-title.large{height:var(--spacing-xxl);margin-bottom:var(--spacing-md);width:50%}.skeleton-dashboard-stats{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--spacing-xxl)}.skeleton-stat-card{border:1px solid var(--color-border-light);border-radius:var(--border-radius-standard);padding:var(--spacing-lg);text-align:center}.skeleton-stat-number{height:var(--spacing-xxl);margin:0 auto var(--spacing-sm);width:var(--spacing-3xl)}.skeleton-stat-label,.skeleton-stat-number{animation:skeleton-shimmer 1.5s infinite;background:linear-gradient(90deg,var(--color-neutral-light) 25%,var(--color-border-light) 50%,var(--color-neutral-light) 75%);background-size:200% 100%;border-radius:var(--border-radius-small)}.skeleton-stat-label{height:var(--spacing-lg);margin:0 auto;width:100px}.skeleton-chart{height:300px;width:100%}.skeleton-card-loading,.skeleton-chart{border-radius:var(--border-radius-standard)}.skeleton-button-loading,.skeleton-card-loading,.skeleton-chart{animation:skeleton-shimmer 1.5s infinite;background:linear-gradient(90deg,var(--color-neutral-light) 25%,var(--color-border-light) 50%,var(--color-neutral-light) 75%);background-size:200% 100%}.skeleton-button-loading{border-radius:var(--border-radius-button);height:var(--touch-target-minimum)}.loading-container:focus-within{outline:2px solid var(--color-primary-focus);outline-offset:2px}.spinner.primary{border-top-color:var(--color-soft-teal)}.spinner.secondary{border-top-color:var(--color-gray-medium)}.spinner.success{border-top-color:var(--color-success-green)}.spinner.warning{border-top-color:var(--color-warning)}.spinner.danger{border-top-color:var(--color-error-red)}@media (max-width:768px){.loading-container{padding:var(--spacing-lg)}.spinner-large .spinner{height:var(--spacing-3xl);width:var(--spacing-3xl)}.loading-overlay{margin:var(--spacing-lg)}.loading-overlay,.skeleton-container{padding:var(--spacing-lg)}.skeleton-dashboard-stats{gap:var(--spacing-md);grid-template-columns:1fr}.skeleton-booking-header{flex-direction:column;text-align:center}.skeleton-booking-steps{flex-wrap:wrap;gap:var(--spacing-sm)}.skeleton-step{flex:1 1;min-width:var(--spacing-3xl)}}@media (max-width:480px){.loading-container{padding:var(--spacing-md)}.spinner-wrapper{gap:var(--spacing-sm)}.loading-overlay{margin:var(--spacing-md)}.loading-overlay,.skeleton-container{padding:var(--spacing-md)}.skeleton-dashboard{padding:var(--spacing-lg)}.skeleton-avatar{height:var(--spacing-xxl);width:var(--spacing-xxl)}}@media (hover:none) and (pointer:coarse){.loading-overlay{padding:var(--spacing-xl)}.skeleton-step{min-height:var(--touch-target-minimum)}}@media (prefers-color-scheme:dark){.spinner{border-color:var(--color-gray-dark);border-top-color:var(--color-soft-teal)}.loading-text{color:var(--color-gray-light)}.loading-overlay-backdrop{background-color:var(--color-modal-overlay-dark)}.loading-overlay{background-color:var(--color-gray-darker);color:var(--color-neutral-lighter)}.skeleton-avatar,.skeleton-button-loading,.skeleton-card-loading,.skeleton-chart,.skeleton-line,.skeleton-price,.skeleton-provider-image,.skeleton-rating,.skeleton-stat-label,.skeleton-stat-number,.skeleton-step{background:linear-gradient(90deg,var(--color-gray-dark) 25%,var(--color-gray-medium) 50%,var(--color-gray-dark) 75%);background-size:200% 100%}.skeleton-provider-card,.skeleton-stat-card{background:var(--color-gray-darker);border-color:var(--color-gray-dark)}}@media (prefers-contrast:high){.spinner{border-color:var(--color-deep-navy);border-top-color:var(--color-soft-teal);border-width:4px}.loading-text{color:var(--color-deep-navy);font-weight:var(--font-weight-bold)}.skeleton-avatar,.skeleton-chart,.skeleton-line,.skeleton-price,.skeleton-provider-image,.skeleton-rating,.skeleton-stat-label,.skeleton-stat-number,.skeleton-step{background:var(--color-border-medium);border:1px solid var(--color-deep-navy)}.loading-overlay,.skeleton-provider-card,.skeleton-stat-card{border:2px solid var(--color-deep-navy)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none;border-right-color:var(--color-soft-teal);border-top-color:#0000}.skeleton-avatar,.skeleton-button-loading,.skeleton-card-loading,.skeleton-chart,.skeleton-line,.skeleton-price,.skeleton-provider-image,.skeleton-rating,.skeleton-stat-label,.skeleton-stat-number,.skeleton-step{animation:none;background:var(--color-neutral-light)}.skeleton-container{animation:none}@media (prefers-color-scheme:dark){.skeleton-avatar,.skeleton-button-loading,.skeleton-card-loading,.skeleton-chart,.skeleton-line,.skeleton-price,.skeleton-provider-image,.skeleton-rating,.skeleton-stat-label,.skeleton-stat-number,.skeleton-step{background:var(--color-gray-dark)}}}@media print{.loading-container,.loading-overlay,.loading-overlay-backdrop,.skeleton-container,.spinner{display:none}}.loading-container.inline{display:inline-flex;padding:var(--spacing-sm)}.loading-container.center{margin:0 auto}.loading-container.fullscreen{background:var(--color-white);bottom:0;left:0;position:fixed;right:0;top:0;z-index:var(--z-index-modal)}.loading-text.muted{color:var(--color-gray-light)}.loading-text.emphasized{color:var(--color-deep-navy);font-weight:var(--font-weight-bold)}.skeleton-container.dense{padding:var(--spacing-sm)}.skeleton-container.dense .skeleton-item{margin-bottom:var(--spacing-sm)}.skeleton-container.sparse{padding:var(--spacing-xl)}.skeleton-container.sparse .skeleton-item{margin-bottom:var(--spacing-xl)}.error-boundary{align-items:center;display:flex;justify-content:center;min-height:200px;padding:var(--spacing-lg);padding-top:104px;pointer-events:none;position:relative;text-align:center;z-index:1}.error-content{background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--border-radius-large);box-shadow:var(--shadow-large);max-width:600px;padding:var(--spacing-xxl);pointer-events:auto;width:100%}.error-icon{color:var(--color-gray-medium);display:block;font-size:var(--font-size-4xl);margin-bottom:var(--spacing-lg)}.error-boundary h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-lg)}.error-boundary h1,.error-boundary h2{color:var(--color-deep-navy);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.error-boundary h2{font-size:var(--font-size-xxl);margin-bottom:var(--spacing-md)}.error-boundary h3{color:var(--color-deep-navy);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-md)}.error-boundary p{color:var(--color-gray-medium);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-md)}.error-actions{flex-wrap:wrap;gap:var(--spacing-md);justify-content:center;margin:var(--spacing-xl) 0}.error-actions button{border:none;border-radius:var(--border-radius-standard);cursor:pointer;font-family:var(--font-family-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);min-height:var(--touch-target-minimum);min-width:120px;padding:var(--spacing-md) var(--spacing-xl);transition:all var(--transition-standard)}.error-actions .btn-primary{background-color:var(--color-soft-teal);color:var(--color-white)}.error-actions .btn-primary:hover{background-color:var(--color-soft-teal-hover);transform:translateY(-1px)}.error-actions .btn-secondary{background-color:var(--color-gray-medium);color:var(--color-white)}.error-actions .btn-secondary:hover{background-color:var(--color-gray-dark)}.error-actions .btn-outline{background-color:initial;border:2px solid var(--color-soft-teal);color:var(--color-soft-teal)}.error-actions .btn-outline:hover{background-color:var(--color-soft-teal);color:var(--color-white);transform:translateY(-1px)}.component-error{margin:var(--spacing-lg) 0;min-height:120px}.component-error .error-content{background-color:var(--color-warning-lighter);border:1px solid var(--color-warning);border-radius:var(--border-radius-standard);box-shadow:var(--shadow-warning);padding:var(--spacing-lg)}.component-error .error-icon{color:var(--color-warning);font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm)}.component-error h3{color:var(--color-warning-dark);font-size:var(--font-size-large);margin-bottom:var(--spacing-sm)}.component-error p{color:var(--color-warning-dark);font-size:var(--font-size-small);margin-bottom:var(--spacing-lg)}.page-error{background-color:var(--color-neutral-lighter);min-height:60vh}.page-error .error-content{background:var(--color-white);border:1px solid var(--color-border-light)}.page-error .error-icon{color:var(--color-gray-medium)}.critical-error{background-color:var(--color-error-lighter);min-height:70vh}.critical-error .error-content{background:var(--color-white);border:2px solid var(--color-error-red)}.critical-error .error-icon{animation:pulse-red 2s infinite;color:var(--color-error-red)}@keyframes pulse-red{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.error-alert{background-color:var(--color-danger-light);border:1px solid var(--color-danger-medium);border-radius:var(--border-radius-standard);margin:var(--spacing-lg) 0;padding:var(--spacing-lg);text-align:left}.error-alert h3{color:var(--color-danger-dark);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm)}.error-alert ul{color:var(--color-danger-dark);margin:0;padding-left:var(--spacing-lg)}.error-alert li{font-size:var(--font-size-small);margin-bottom:var(--spacing-xs)}.error-help{background-color:var(--color-info-light);border:1px solid var(--color-info-medium);border-radius:var(--border-radius-standard);margin:var(--spacing-lg) 0;padding:var(--spacing-lg);text-align:left}.error-help h3{color:var(--color-info-dark);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm)}.error-help ul{color:var(--color-info-dark);margin:0;padding-left:var(--spacing-lg)}.error-help li{font-size:var(--font-size-small);margin-bottom:var(--spacing-xs)}.error-support{background-color:var(--color-neutral-light);border:1px solid var(--color-border-medium);border-radius:var(--border-radius-standard);margin:var(--spacing-lg) 0;padding:var(--spacing-lg);text-align:left}.error-support h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.error-support h3,.error-support p{color:var(--color-gray-dark);margin-bottom:var(--spacing-sm)}.error-support p{font-size:var(--font-size-small)}.error-support ul{color:var(--color-gray-dark);margin:0;padding-left:var(--spacing-lg)}.error-support li{font-size:var(--font-size-small);margin-bottom:var(--spacing-xs)}.error-details{background-color:var(--color-neutral-lighter);border:1px solid var(--color-border-light);border-radius:var(--border-radius-small);margin-top:var(--spacing-xl);text-align:left}.error-details summary{align-items:center;background-color:var(--color-neutral-light);border-radius:var(--border-radius-small) var(--border-radius-small) 0 0;color:var(--color-gray-dark);cursor:pointer;display:flex;font-weight:var(--font-weight-semibold);min-height:var(--touch-target-minimum);padding:var(--spacing-md);transition:background-color var(--transition-standard)}.error-details summary:hover{background-color:var(--color-soft-gray)}.error-details pre{background-color:var(--color-neutral-lighter);color:var(--color-gray-dark);overflow-x:auto;white-space:pre-wrap;word-break:break-word}.error-details p,.error-details pre{font-family:var(--font-family-mono);font-size:var(--font-size-xs);margin:0;padding:var(--spacing-md)}.error-details p,.error-id{color:var(--color-gray-medium)}.error-id{background-color:var(--color-neutral-lighter);border-radius:var(--border-radius-small);font-family:var(--font-family-mono);font-size:var(--font-size-xs);margin-top:var(--spacing-lg);padding:var(--spacing-sm)}.booking-error .error-content{background-color:var(--color-white);border:2px solid var(--color-warning)}.booking-error .error-icon{color:var(--color-warning)}.payment-error .error-content{background-color:var(--color-white);border:2px solid var(--color-error-red)}.payment-error .error-icon{color:var(--color-error-red)}.admin-error .error-content{background-color:var(--color-white);border:2px solid var(--color-primary)}.admin-error .error-icon{color:var(--color-primary)}.error-actions button:focus,.error-details summary:focus{outline:2px solid var(--color-primary-focus);outline-offset:2px}.error-boundary.loading{opacity:.7;pointer-events:none}@media (max-width:768px){.error-boundary{min-height:150px;padding:var(--spacing-lg)}.error-content{margin:0;padding:var(--spacing-lg)}.error-icon{font-size:var(--font-size-3xl)}.error-boundary h1,.error-icon{margin-bottom:var(--spacing-md)}.error-boundary h1{font-size:var(--font-size-xxl)}.error-boundary h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm)}.error-boundary h3{font-size:var(--font-size-large);margin-bottom:var(--spacing-sm)}.error-boundary p{font-size:var(--font-size-small);margin-bottom:var(--spacing-sm)}.error-actions{flex-direction:column;gap:var(--spacing-sm);margin:var(--spacing-lg) 0}.error-actions button{font-size:var(--font-size-base);min-height:var(--touch-target-minimum);min-width:auto;padding:var(--spacing-md) var(--spacing-lg);width:100%}.component-error{margin:var(--spacing-md) 0;min-height:100px}.component-error .error-content{padding:var(--spacing-lg)}.error-alert,.error-help,.error-support{margin:var(--spacing-lg) 0;padding:var(--spacing-md)}.error-alert h3,.error-help h3,.error-support h3{font-size:var(--font-size-small)}.error-details{margin-top:var(--spacing-lg)}.error-details pre{font-size:var(--font-size-xs);padding:var(--spacing-sm)}.critical-error,.page-error{min-height:50vh}}@media (max-width:480px){.error-boundary,.error-content{padding:var(--spacing-md)}.error-icon{font-size:var(--font-size-xxl)}.error-boundary h1{font-size:var(--font-size-xl)}.error-boundary h2{font-size:var(--font-size-large)}.error-actions button{font-size:var(--font-size-small);padding:var(--spacing-sm) var(--spacing-md)}}@media (max-width:1024px) and (min-width:769px){.error-actions{gap:var(--spacing-sm)}.error-actions button{min-width:140px;padding:var(--spacing-md) var(--spacing-lg)}}@media (hover:none) and (pointer:coarse){.error-actions button{padding:var(--spacing-lg) var(--spacing-xl)}.error-actions button,.error-details summary{font-size:var(--font-size-base);min-height:var(--touch-target-minimum)}.error-details summary{padding:var(--spacing-lg)}}@media (prefers-color-scheme:dark){.error-content{background-color:var(--color-gray-darker);border-color:var(--color-gray-dark)}.error-boundary h1,.error-boundary h2,.error-boundary h3,.error-content{color:var(--color-neutral-lighter)}.error-boundary p{color:var(--color-gray-light)}.component-error .error-content{background-color:var(--color-gray-darker);border-color:var(--color-warning)}.component-error h3,.component-error p{color:var(--color-warning-light)}.critical-error,.page-error{background-color:var(--color-gray-darkest)}.error-alert{background-color:var(--color-gray-darker);border-color:var(--color-error-red)}.error-alert,.error-alert h3{color:var(--color-error-light)}.error-help{background-color:var(--color-gray-darker);border-color:var(--color-info-medium)}.error-help,.error-help h3{color:var(--color-info-light)}.error-support{background-color:var(--color-gray-darker);border-color:var(--color-gray-dark)}.error-support,.error-support h3{color:var(--color-neutral-lighter)}.error-details{background-color:var(--color-gray-darker);border-color:var(--color-gray-dark)}.error-details summary{background-color:var(--color-gray-dark);color:var(--color-neutral-lighter)}.error-details summary:hover{background-color:var(--color-gray-medium)}.error-details p,.error-details pre{background-color:var(--color-gray-darker);color:var(--color-neutral-lighter)}.error-id{background-color:var(--color-gray-darker);color:var(--color-gray-light)}}@media (prefers-contrast:high){.error-content{border-color:var(--color-deep-navy);border-width:3px}.error-boundary h1,.error-boundary h2,.error-boundary h3,.error-boundary p{color:var(--color-deep-navy)}.error-actions .btn-primary{background-color:var(--color-deep-navy);border:2px solid var(--color-deep-navy);color:var(--color-white)}.error-actions .btn-secondary{background-color:var(--color-gray-dark);border:2px solid var(--color-gray-dark);color:var(--color-white)}.error-actions .btn-outline{background-color:var(--color-white);border:3px solid var(--color-deep-navy);color:var(--color-deep-navy)}}@media (prefers-reduced-motion:reduce){.critical-error .error-icon{animation:none}.error-actions button{transition:none}.error-actions button:hover{transform:none}.error-details summary{transition:none}}@media print{.error-boundary{background:var(--color-white);color:var(--color-deep-navy)}.error-actions{display:none}.error-details{display:block}.error-details summary,.error-icon{display:none}.error-content{border:1px solid var(--color-deep-navy);box-shadow:none}}.toast-container{display:flex;flex-direction:column;gap:var(--spacing-xs);max-width:400px;pointer-events:none;position:fixed;right:var(--spacing-lg);top:var(--spacing-lg);z-index:var(--z-index-toast)}.toast{background:var(--color-white);border-left:4px solid var(--color-soft-teal);border-radius:var(--border-radius-standard);box-shadow:var(--shadow-large);font-family:var(--font-family-primary);max-width:400px;min-width:320px;opacity:0;overflow:hidden;padding:0;pointer-events:all;position:relative;transform:translateX(100%) scale(.95);transition:all var(--transition-smooth) cubic-bezier(.175,.885,.32,1.275)}.toast.toast-visible{opacity:1;transform:translateX(0) scale(1)}.toast.toast-exiting{opacity:0;transform:translateX(100%) scale(.9);transition:all var(--transition-standard) ease-in}.toast.toast-success{border-left-color:var(--color-success-green)}.toast.toast-error{border-left-color:var(--color-error-red)}.toast.toast-warning{border-left-color:var(--color-warning)}.toast.toast-info{border-left-color:var(--color-info-blue)}.toast.toast-loading{border-left-color:var(--color-soft-teal)}.toast-content{align-items:flex-start;display:flex;gap:var(--spacing-sm);padding:var(--spacing-lg)}.toast-icon-wrapper{align-items:center;display:flex;flex-shrink:0;height:var(--spacing-xl);justify-content:center;width:var(--spacing-xl)}.toast-icon{flex-shrink:0;height:var(--spacing-lg);width:var(--spacing-lg)}.toast-success .toast-icon{color:var(--color-success-green)}.toast-error .toast-icon{color:var(--color-error-red)}.toast-warning .toast-icon{color:var(--color-warning)}.toast-info .toast-icon,.toast-loading .toast-icon{color:var(--color-info-blue)}.toast-spinner{animation:toast-spin 1s linear infinite}@keyframes toast-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.toast-message{word-wrap:break-word;color:var(--color-dark-charcoal);flex:1 1;font-size:var(--font-size-small);line-height:var(--line-height-relaxed);margin:var(--spacing-xs) 0}.toast-actions{align-items:flex-start;display:flex;flex-shrink:0;gap:var(--spacing-xs)}.toast-action-btn{background:none;border:none;border-radius:var(--border-radius-small);color:var(--color-soft-teal);cursor:pointer;font-family:var(--font-family-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-height:var(--spacing-xl);padding:var(--spacing-xs) var(--spacing-sm);transition:background-color var(--transition-standard);white-space:nowrap}.toast-action-btn:hover{background-color:var(--color-soft-teal-light)}.toast-action-btn:focus{outline:2px solid var(--color-primary-focus);outline-offset:1px}.toast-close-btn{align-items:center;background:none;border:none;border-radius:var(--border-radius-small);color:var(--color-gray-medium);cursor:pointer;display:flex;justify-content:center;min-height:var(--spacing-xl);min-width:var(--spacing-xl);padding:var(--spacing-xs);transition:all var(--transition-standard)}.toast-close-btn:hover{background-color:var(--color-soft-gray);color:var(--color-dark-charcoal)}.toast-close-btn:focus{outline:2px solid var(--color-primary-focus);outline-offset:1px}.toast-close-btn svg{height:var(--spacing-md);width:var(--spacing-md)}.toast-progress{animation:toast-progress linear forwards;background:linear-gradient(90deg,var(--color-soft-teal),var(--color-soft-teal-hover));bottom:0;height:3px;left:0;position:absolute;transform-origin:left;width:100%}.toast-success .toast-progress{background:var(--color-success-green)}.toast-error .toast-progress{background:var(--color-error-red)}.toast-warning .toast-progress{background:var(--color-warning)}.toast-info .toast-progress{background:var(--color-info-blue)}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (max-width:768px){.toast-container{left:var(--spacing-md);max-width:none;right:var(--spacing-md);top:var(--spacing-md)}.toast{margin:0;max-width:none;min-width:auto;transform:translateY(-100%) scale(.95)}.toast.toast-visible{transform:translateY(0) scale(1)}.toast.toast-exiting{transform:translateY(-100%) scale(.9)}.toast-content{gap:var(--spacing-sm);padding:var(--spacing-md)}.toast-message{font-size:var(--font-size-xs)}.toast-actions{flex-direction:column;gap:var(--spacing-xs)}.toast-action-btn{font-size:var(--font-size-xs);padding:var(--spacing-sm) var(--spacing-md)}.toast-action-btn,.toast-close-btn{min-height:var(--touch-target-minimum)}.toast-close-btn{min-width:var(--touch-target-minimum)}}@media (max-width:480px){.toast-container{left:var(--spacing-sm);right:var(--spacing-sm);top:var(--spacing-sm)}.toast-content{gap:var(--spacing-xs);padding:var(--spacing-sm)}.toast-action-btn,.toast-message{font-size:var(--font-size-xs)}.toast-action-btn{padding:var(--spacing-xs) var(--spacing-sm)}}@media (prefers-contrast:high){.toast{border:2px solid var(--color-deep-navy);box-shadow:var(--shadow-high-contrast)}.toast-success{border-left-color:var(--color-success-green);border-color:var(--color-success-green)}.toast-error{border-left-color:var(--color-error-red);border-color:var(--color-error-red)}.toast-warning{border-left-color:var(--color-warning);border-color:var(--color-warning)}.toast-info,.toast-loading{border-left-color:var(--color-info-blue);border-color:var(--color-info-blue)}.toast-action-btn,.toast-close-btn{border:1px solid}.toast-message{color:var(--color-deep-navy);font-weight:var(--font-weight-semibold)}}@media (prefers-reduced-motion:reduce){.toast{transform:none;transition:opacity var(--transition-standard)}.toast.toast-visible{opacity:1;transform:none}.toast.toast-exiting{opacity:0;transform:none}.toast-spinner{animation:none}.toast-progress{animation:none;transform:scaleX(0)}.toast:hover{transform:none}.toast-error .toast-icon,.toast-success .toast-icon path{animation:none}}@media (prefers-color-scheme:dark){.toast{background:var(--color-gray-darker);box-shadow:var(--shadow-dark)}.toast,.toast-message{color:var(--color-neutral-lighter)}.toast-close-btn{color:var(--color-gray-light)}.toast-close-btn:hover{background-color:var(--color-gray-dark);color:var(--color-neutral-lighter)}.toast-action-btn:hover{background-color:var(--color-soft-teal-dark)}}.toast-action-btn:focus-visible,.toast-close-btn:focus-visible{outline:2px solid var(--color-primary-focus);outline-offset:2px}.toast-container .toast:nth-child(n+4){margin-top:calc(var(--spacing-xs)*-1);opacity:.8;transform:scale(.95)}.toast-container .toast:nth-child(n+5){display:none}.toast-container .toast:first-child{transition-delay:0ms}.toast-container .toast:nth-child(2){transition-delay:50ms}.toast-container .toast:nth-child(3){transition-delay:.1s}.toast:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.toast.toast-exiting:hover{transform:translateX(100%) scale(.9)}@media (max-width:768px){.toast:hover{transform:translateY(-2px)}.toast.toast-exiting:hover{transform:translateY(-100%) scale(.9)}}.toast-action-btn:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}@keyframes toast-checkmark{0%{stroke-dasharray:0 50}to{stroke-dasharray:50 0}}.toast-success .toast-icon path{animation:toast-checkmark .5s ease-in-out .2s forwards}@keyframes toast-error-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}.toast-error .toast-icon{animation:toast-error-shake .5s ease-in-out}.toast-title{color:var(--color-deep-navy);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-xs)}@media (prefers-color-scheme:dark){.toast-title{color:var(--color-neutral-lighter)}}.toast-message-with-title{color:var(--color-gray-medium);font-size:var(--font-size-small);margin:0}@media (prefers-color-scheme:dark){.toast-message-with-title{color:var(--color-gray-light)}}.toast-container.top-left{left:var(--spacing-lg);right:auto;top:var(--spacing-lg)}.toast-container.top-center{left:50%;right:auto;top:var(--spacing-lg);transform:translateX(-50%)}.toast-container.bottom-right{bottom:var(--spacing-lg);top:auto}.toast-container.bottom-left{bottom:var(--spacing-lg);left:var(--spacing-lg);right:auto;top:auto}.toast-container.bottom-center{bottom:var(--spacing-lg);left:50%;right:auto;top:auto;transform:translateX(-50%)}.toast-container.bottom-center .toast,.toast-container.bottom-left .toast,.toast-container.bottom-right .toast{transform:translateY(100%) scale(.95)}.toast-container.bottom-center .toast.toast-visible,.toast-container.bottom-left .toast.toast-visible,.toast-container.bottom-right .toast.toast-visible{transform:translateY(0) scale(1)}.toast-container.bottom-center .toast.toast-exiting,.toast-container.bottom-left .toast.toast-exiting,.toast-container.bottom-right .toast.toast-exiting{transform:translateY(100%) scale(.9)}.toast-container.bottom-left .toast,.toast-container.top-left .toast{transform:translateX(-100%) scale(.95)}.toast-container.bottom-left .toast.toast-visible,.toast-container.top-left .toast.toast-visible{transform:translateX(0) scale(1)}.toast-container.bottom-left .toast.toast-exiting,.toast-container.top-left .toast.toast-exiting{transform:translateX(-100%) scale(.9)}.toast-container.bottom-center .toast,.toast-container.top-center .toast{transform:translateY(-100%) scale(.95)}.toast-container.bottom-center .toast.toast-visible,.toast-container.top-center .toast.toast-visible{transform:translateY(0) scale(1)}.toast-container.bottom-center .toast.toast-exiting,.toast-container.top-center .toast.toast-exiting{transform:translateY(-100%) scale(.9)}.toast.toast-custom{border-left-color:var(--toast-color,var(--color-soft-teal))}.toast-custom .toast-icon{color:var(--color-soft-teal);color:var(--toast-color,var(--color-soft-teal))}.toast-custom .toast-progress{background:var(--color-soft-teal);background:var(--toast-color,var(--color-soft-teal))}.toast.toast-compact{min-width:280px}.toast-compact .toast-content{gap:var(--spacing-xs);padding:var(--spacing-md)}.toast-compact .toast-message{font-size:var(--font-size-xs);margin:0}.toast-compact .toast-icon-wrapper{height:var(--spacing-lg);width:var(--spacing-lg)}.toast-compact .toast-icon{height:var(--spacing-md);width:var(--spacing-md)}.toast.toast-no-icon .toast-icon-wrapper,.toast.toast-persistent .toast-progress{display:none}@media print{.toast-container{display:none}}@media (hover:none) and (pointer:coarse){.toast-action-btn,.toast-close-btn{min-height:var(--touch-target-minimum);min-width:var(--touch-target-minimum);padding:var(--spacing-sm)}.toast:hover{box-shadow:var(--shadow-large);transform:none}}@media (max-width:1024px) and (min-width:769px){.toast,.toast-container{max-width:360px}.toast{min-width:300px}}@media (min-width:1200px){.toast,.toast-container{max-width:450px}}.search-section{align-items:center;background-position:50%;background-size:cover;display:flex;height:85vh;justify-content:center;padding-bottom:120px;padding-top:160px;position:relative;text-align:center}.background-overlay{background-color:#1d3557cc;height:100%;left:0;position:absolute;top:0;width:100%;z-index:0}.search-container{color:#fff;max-width:1200px;padding:0 20px;z-index:1}.search-container h1{font-family:var(--font-family-headers);font-size:2.8rem;font-weight:700;line-height:1.3;margin-bottom:30px}.search-bar-wrapper{align-items:center;display:flex;flex-direction:column;margin-left:auto;margin-right:auto;margin-top:30px;max-width:1200px;width:100%}.search-button-row{display:flex;justify-content:center;margin-top:20px;width:100%}.search-bar-container{background-color:#fff;border:none!important;border-radius:20px;box-shadow:0 4px 15px #0000001a;display:flex;flex-direction:column;gap:15px;max-width:1600px;outline:none!important;overflow:visible;padding:15px;width:98%}.search-bar-container:focus,.search-bar-container:focus-within{box-shadow:0 4px 15px #0000001a!important;outline:none!important}.search-row{align-items:center;display:flex;justify-content:center;width:100%}.search-bar{border-right:1px solid #eee;flex:1 1;overflow:visible;padding:0 15px}.search-row .search-bar:last-of-type{border-right:none}.search-btn{margin:0 5px 0 10px;padding:12px 25px}.search-bar{position:relative;width:100%}.search-bar input{background:#0000;border:none;box-shadow:none;box-sizing:border-box;font-size:1rem;outline:none;padding:15px 20px;width:100%}.search-bar input,.search-bar input::placeholder{font-family:var(--search-form-font-family);font-weight:var(--search-form-font-weight)}.search-bar input::placeholder{color:var(--search-form-placeholder-color);opacity:1}.search-bar input::-moz-placeholder{color:var(--search-form-placeholder-color);font-family:var(--search-form-font-family);font-weight:var(--search-form-font-weight);opacity:1}.search-bar input::-webkit-input-placeholder{color:var(--search-form-placeholder-color);font-family:var(--search-form-font-family);font-weight:var(--search-form-font-weight)}.search-bar input:-ms-input-placeholder{color:var(--search-form-placeholder-color);font-family:var(--search-form-font-family);font-weight:var(--search-form-font-weight)}.search-bar input:focus{border:none;box-shadow:none;outline:none}.search-bar i{color:#2c2c2c;position:absolute;right:15px;top:50%;transform:translateY(-50%)}.search-bar.date-picker,.search-bar.time-picker{cursor:pointer}.search-bar.date-picker input,.search-bar.time-picker input{cursor:pointer;padding-right:40px}.calendar-container{width:100%}.month-nav{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px;position:relative}.month-title{color:#2c2c2c;flex-grow:1;font-size:1.1rem;font-weight:700;text-align:center}.next-month-btn,.prev-month-btn{align-items:center;background:none;border:none;color:#2c2c2c;cursor:pointer;display:flex;font-size:1rem;height:30px;justify-content:center;position:relative;width:30px;z-index:10}.prev-month-btn{left:0;position:absolute}.next-month-btn{position:absolute;right:0}.next-month-btn:hover,.prev-month-btn:hover{color:#e9c46a}.calendar-next,.calendar-prev,.flatpickr-next-month,.flatpickr-prev-month,.ui-datepicker-next,.ui-datepicker-prev{display:none!important}.weekdays{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(7,1fr);margin-bottom:10px}.weekday{color:#2c2c2c;font-size:.8rem;font-weight:700;text-align:center}.days-grid{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(7,1fr)}.day{border-radius:50%;color:#2c2c2c;cursor:pointer;font-size:.9rem;padding:8px 0;text-align:center;transition:all .2s ease}.day:hover{background-color:#f5f5f5}.day.empty{cursor:default}.day.today{background-color:#e9c46a;color:#fff}.day.selected{background-color:#72bfbd;color:#fff;position:relative}.time-slots{max-height:300px;overflow-y:auto}.time-slot{border-radius:5px;color:#2c2c2c;padding:10px 15px;transition:all .2s ease}.time-slot:hover{background-color:#f5f5f5}.time-slot.selected{background-color:#72bfbd;position:relative}.time-slot.selected:after{color:#fff;content:"✓";font-size:1.1em;font-weight:700;position:absolute;right:15px;top:50%;transform:translateY(-50%)}.search-btn{background-color:#6db4c4;border:none;border-radius:50px;box-shadow:0 4px 12px #6db4c44d;color:#fff;cursor:pointer;font-family:var(--font-family-body);font-size:1rem;font-weight:700;padding:15px 30px;transition:all .3s ease}.search-btn:hover{background-color:#5a9fae;box-shadow:0 6px 16px #6db4c466;transform:translateY(-1px)}.get-app-banner{background-color:#e9c46a;color:#fff;padding:15px 0}.get-app-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;padding:0 2%;width:95%}.get-app-text h3{font-size:1.3rem;margin:0 0 5px}.get-app-text p{font-size:.9rem;margin:0;opacity:.9}.get-app-btn{background-color:#fff;border-radius:50px;color:#1d3557;font-size:.9rem;font-weight:700;padding:10px 20px;text-decoration:none!important;transition:all .3s ease}.get-app-btn:hover{background-color:#f5f5f5;text-decoration:none!important;transform:translateY(-2px)}.gift-card-btn{align-items:center;color:#fff;display:inline-flex;font-weight:700;padding-left:15px;position:relative}.suggestions{background-color:#fff;border-radius:10px;box-shadow:0 4px 6px #0000001a;display:none;left:0;margin-top:5px;max-height:300px;overflow-y:auto;position:absolute;scrollbar-width:thin;top:100%;width:100%;z-index:1000}.suggestions::-webkit-scrollbar{width:6px}.suggestions::-webkit-scrollbar-track{background:#f5f5f5;border-radius:10px}.suggestions::-webkit-scrollbar-thumb{background:#ddd;border-radius:10px}.suggestions::-webkit-scrollbar-thumb:hover{background:#ccc}.suggestion-item{border-bottom:1px solid #f5f5f5;color:#2c2c2c;cursor:pointer;padding:10px 15px;text-align:left;transition:background-color .2s ease}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background-color:#f5f5f5}.suggestion-item strong{color:#72bfbd;font-weight:700}.suggestion-item.selected{background-color:#72bfbd;color:#fff;position:relative}.suggestion-item.selected:after{color:#fff;content:"✓";font-size:1.1em;font-weight:700;position:absolute;right:15px;top:50%;transform:translateY(-50%)}.suggestion-item.selected:hover{background-color:#5da7a5}.suggestion-parent{background-color:#f5f5f5;border-bottom:1px solid #e9ecef;color:#666;font-size:.9em;font-weight:700;padding:8px 15px}.suggestion-prompt{color:#666;font-style:italic;padding:15px;text-align:center}.clear-all{border-top:1px solid #d0d0d0!important;color:#ff5a5f!important;font-weight:700!important}.accent-bar{background-color:#72bfbd!important;bottom:0;height:5px;position:absolute;width:100%;z-index:-1}.popular-categories{background-color:#fff;padding:60px 20px 40px;position:relative;text-align:center}.popular-categories h2{color:#1d3557;font-family:var(--font-family-headers);font-size:1.8rem;font-weight:700;margin-bottom:20px;position:relative}.section-underline{background-color:#72bfbd;height:5px;margin:0 auto 40px;width:80px}.categories-container{margin:0 auto;padding:0 2%;width:95%}.categories{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin:0 auto;padding:10px 0 30px;width:100%}.category{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#2c2c2c;display:flex;flex-direction:column;max-width:300px;min-width:220px;overflow:hidden;text-decoration:none;transition:all .3s ease;width:calc(25% - 20px)}.category:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-3px)}.category-image{height:180px;overflow:hidden;position:relative;width:100%}.category-image img{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.category:hover .category-image img{transform:scale(1.05)}.category-tag{color:#1d3557;display:inline-block;font-size:1rem;font-weight:700;margin:15px auto;padding:10px 15px;text-align:center;transition:-webkit-text-decoration .3s ease;transition:text-decoration .3s ease;transition:text-decoration .3s ease,-webkit-text-decoration .3s ease;width:80%}.category,.category a,.category-tag,.category:hover,.category:hover .category-tag,.category:hover a{text-decoration:none!important}.homepage-featured-carousel{background-color:#fff;border-bottom:1px solid #e0e0e0;padding:60px 20px;position:relative}.homepage-featured-carousel h2{color:#1d3557;font-family:var(--font-family-headers);font-size:1.8rem;font-weight:700;margin-bottom:20px;margin-left:auto;margin-right:auto;max-width:100%;text-align:center}.homepage-featured-carousel .section-underline{background-color:#72bfbd;display:block;height:5px;margin:0 auto 40px;width:80px}.carousel-container{margin:0 auto;max-width:1400px;padding:0 50px;width:95%}.carousel-track-container{border-radius:10px;min-height:400px;padding:10px 0;position:relative;width:100%}.carousel-track{align-items:stretch;gap:20px;overflow:visible;transition:transform .3s cubic-bezier(.25,.46,.45,.94);width:auto;will-change:transform}.carousel-slide{background-color:#fff;border:1px solid #f0f0f0;border-radius:8px;box-shadow:0 2px 8px #0000000d;color:inherit;cursor:pointer;overflow:hidden;text-decoration:none;transition:transform .3s ease,box-shadow .3s ease}.carousel-slide:hover{box-shadow:0 6px 15px #00000014;transform:translateY(-5px)}.provider-card{display:flex;flex-direction:column;height:100%;width:100%}.provider-image{height:180px;margin:15px auto;width:180px}.provider-image img{transition:transform .5s ease}.carousel-slide:hover .provider-image img{transform:scale(1.05)}.provider-content{align-items:center;display:flex;flex-direction:column;flex-grow:1;padding:15px;text-align:center;width:100%}.provider-details{display:flex;flex:1 1;flex-direction:column;justify-content:space-between;text-align:center}.provider-details h3{color:#1d3557;font-family:var(--font-family-headers);font-size:1.1rem;font-weight:700;margin-bottom:5px;text-decoration:none!important}.provider-details .rating{align-items:center;color:#333;display:flex;justify-content:center}.provider-details .profession,.provider-details .rating{font-size:.9rem;margin-bottom:4px;text-decoration:none!important}.provider-details .profession{color:#2c2c2c;display:block}.carousel-slide,.carousel-slide:hover,.provider-card,.provider-card a,.provider-details,.provider-details .location,.provider-details .profession,.provider-details .rating,.provider-details .specializations,.provider-details h3{text-decoration:none!important}.provider-details .specializations{color:#72bfbd;font-size:.85rem;margin-bottom:8px;text-align:center}.provider-details .location{color:#666;display:block;font-size:.85rem;margin-bottom:10px;margin-left:auto;margin-right:auto;max-width:200px;opacity:1;overflow:hidden;position:static;text-align:center;text-overflow:ellipsis;visibility:visible;white-space:nowrap}.provider-details .location:before{color:#666;content:"\f3c5";font-family:Font Awesome\ 5 Free;font-size:.8rem;font-weight:900;margin-right:5px}.book-now-btn{background-color:#e9c46a;border-radius:4px;display:inline-block;font-size:.85rem;font-weight:700;margin:10px auto 0;max-width:120px;padding:8px 15px;text-align:center;text-decoration:none;transition:background-color .3s ease;width:auto}.book-now-btn:hover{background-color:#d38b2a}.homepage-popular-carousel{background-color:#fff;border-bottom:1px solid #e0e0e0;padding:60px 20px;position:relative}.homepage-popular-carousel h2{color:#1d3557;font-family:var(--font-family-headers);font-size:1.8rem;font-weight:700;margin-bottom:20px;margin-left:auto;margin-right:auto;max-width:100%;text-align:center}.homepage-popular-carousel .section-underline{background-color:#72bfbd;display:block;height:5px;margin:0 auto 40px;width:80px}.homepage-popular-carousel .carousel-container{align-items:center;display:flex;gap:20px;justify-content:space-between;margin:0 auto;max-width:1600px;position:relative;width:95%}.homepage-popular-carousel .carousel-track-container{border-radius:10px;flex:1 1;margin:0 auto;max-width:1400px;min-height:400px;overflow:hidden;padding:10px 0;position:relative}.homepage-popular-carousel .carousel-track{align-items:stretch;display:flex;gap:20px;overflow:visible;transition:transform .3s cubic-bezier(.25,.46,.45,.94);width:auto;will-change:transform}.homepage-popular-carousel .carousel-slide{background-color:#fff;border:1px solid #f0f0f0;border-radius:8px;box-shadow:0 2px 8px #0000000d;color:inherit;cursor:pointer;flex:0 0 280px;max-width:280px;min-width:240px;overflow:hidden;text-decoration:none;transition:transform .3s ease,box-shadow .3s ease}.homepage-popular-carousel .carousel-slide:hover{box-shadow:0 6px 15px #00000014;transform:translateY(-5px)}.homepage-popular-carousel .carousel-nav-next,.homepage-popular-carousel .carousel-nav-prev{align-items:center;background-color:#fffffff2;border:1px solid #0000001a;border-radius:8px;box-shadow:0 2px 8px #00000026;color:#666;cursor:pointer;display:flex;font-size:16px;height:50px;justify-content:center;outline:none;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:50px;z-index:100}.homepage-popular-carousel .carousel-nav-prev{left:0}.homepage-popular-carousel .carousel-nav-next{right:0}.homepage-featured-carousel .carousel-nav-next,.homepage-featured-carousel .carousel-nav-prev{align-items:center;background-color:#fffffff2;border:1px solid #0000001a;border-radius:8px;box-shadow:0 2px 8px #00000026;color:#666;cursor:pointer;display:flex;font-size:16px;height:50px;justify-content:center;outline:none;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:50px;z-index:100}.homepage-featured-carousel .carousel-nav-prev{left:10px;right:auto}.homepage-featured-carousel .carousel-nav-next{left:auto;right:10px}.homepage-featured-carousel .carousel-nav-next:hover,.homepage-featured-carousel .carousel-nav-prev:hover,.homepage-popular-carousel .carousel-nav-next:hover,.homepage-popular-carousel .carousel-nav-prev:hover{background-color:#fff;box-shadow:0 4px 12px #0003;color:#1d3557;transform:translateY(-50%) scale(1.05)}.homepage-featured-carousel .carousel-nav-next:active,.homepage-featured-carousel .carousel-nav-prev:active,.homepage-popular-carousel .carousel-nav-next:active,.homepage-popular-carousel .carousel-nav-prev:active{box-shadow:0 2px 6px #0003;transform:translateY(-50%) scale(.95)}.homepage-featured-carousel .carousel-nav-next.disabled,.homepage-featured-carousel .carousel-nav-prev.disabled,.homepage-popular-carousel .carousel-nav-next.disabled,.homepage-popular-carousel .carousel-nav-prev.disabled{background-color:#fff9;color:#ccc;cursor:default;opacity:.4;pointer-events:none}.reviews{background-color:#f5f5f5;padding:60px 20px;text-align:center}.reviews h2{color:#1d3557;font-family:var(--font-family-headers);font-size:2rem;font-weight:700;margin-bottom:20px;margin-left:auto;margin-right:auto;max-width:80%;text-align:center}.reviews .section-underline{background-color:#72bfbd;display:block;height:5px;margin:0 auto 40px;width:80px}.reviews-container{display:flex;flex-wrap:wrap;gap:30px;justify-content:center;margin:0 auto;max-width:1200px;padding:0 20px}.review-link{color:inherit;display:block;text-decoration:none!important;transition:transform .3s ease,box-shadow .3s ease}.review-link:hover{text-decoration:none!important;transform:translateY(-3px)}.review{background:#fff;border-radius:10px;box-shadow:0 4px 10px #0000001a;cursor:pointer;display:flex;flex-direction:column;height:280px;justify-content:space-between;padding:30px;position:relative;text-align:left;transition:box-shadow .3s ease;width:300px}.review-link:hover .review{box-shadow:0 8px 20px #00000026}.review-rating{display:none}.review-header{margin-bottom:15px}.review-rating-display{align-items:center;display:flex;gap:10px;margin-bottom:10px}.rating-number{color:#1d3557;font-size:1.1rem;font-weight:700}.rating-stars{display:flex;gap:2px}.star{font-size:1rem}.star.filled{color:#e9c46a}.star.empty{color:#ddd}.review h3{color:#1d3557;font-family:var(--font-family-headers);font-size:1.1rem;font-weight:700;margin-bottom:8px}.review-about{color:#666;font-size:.9rem;margin-bottom:12px}.review-service{color:#72bfbd;font-weight:600}.review-provider{color:#666;margin-left:8px}.review p{-webkit-line-clamp:4;-webkit-box-orient:vertical;color:#2c2c2c;display:-webkit-box;flex:1 1;font-size:.95rem;font-style:italic;line-height:1.5;margin-bottom:15px;overflow:hidden;text-overflow:ellipsis}.rating{display:none}.main-heading{color:#fff;font-family:var(--font-family-headers);font-size:2.8rem;font-weight:700;line-height:1.3;margin-bottom:30px}.location-line,.title-line{display:block;font-size:2.8rem;line-height:1.2;margin-bottom:15px}.location-text{color:#e9c46a;font-weight:700}.question-mark{display:block;font-size:2.8rem;margin-top:10px}.location-controls{display:flex;justify-content:center;margin-top:10px}.change-location-btn{background:none;border:2px solid #72bfbd;border-radius:20px;color:#72bfbd;cursor:pointer;font-family:var(--font-family-body);font-size:.9rem;font-weight:700;padding:8px 16px;transition:all .3s ease}.change-location-btn:hover{color:#72bfbd;transform:translateY(-2px)}.location-input-container{align-items:center;display:flex;justify-content:center;margin-left:auto;margin-right:auto;margin-top:10px;max-width:400px;position:relative}.location-input{background-color:#fff;border:2px solid #72bfbd;border-radius:25px;color:#2c2c2c;font-family:var(--font-family-body);font-size:1rem;outline:none;padding:10px 40px 10px 15px;width:300px}.location-icon{background:none;border:none;color:#72bfbd;cursor:pointer;font-size:1.2rem;padding:5px;position:absolute;right:10px}.location-suggestions{background-color:#fff;border-radius:10px;box-shadow:0 4px 10px #0003;left:0;margin-top:5px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.location-suggestions .suggestion-item{border-bottom:1px solid #f0f0f0;color:#2c2c2c;cursor:pointer;padding:12px 15px;transition:background-color .2s ease}.location-suggestions .suggestion-item:hover{background-color:#f5f5f5}.location-suggestions .suggestion-item:last-child{border-bottom:none}.location-suggestions .suggestion-prompt{color:#666;font-style:italic;padding:12px 15px}@media (max-width:1024px){.provider-content{flex-direction:column;text-align:center}.provider-details{text-align:center}.book-now-btn{align-self:center}.provider-image{margin-bottom:20px}.categories{flex-wrap:wrap;gap:30px}.reviews-container{align-items:center;flex-direction:column}.get-app-content{flex-direction:column;gap:15px;text-align:center}}@media (max-width:768px){.search-row{flex-direction:column;gap:10px}.search-bar{border-bottom:1px solid #eee;border-right:none;padding-bottom:10px;width:100%}.search-row .search-bar:last-of-type{border-bottom:none}.search-btn{margin:10px 0 0;width:100%}.get-app-content{max-width:90%}.main-heading{font-size:2rem}.title-container{flex-direction:column;text-align:center}.location-input{width:250px}.App{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;margin:0;padding:0}.btn,.btn-outline,.btn-primary,.btn-secondary,button{border-radius:8px;cursor:pointer;font-size:16px;min-height:48px;min-width:48px;padding:12px 20px;transition:all .2s ease}input,select,textarea{border:2px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:16px;min-height:48px;padding:12px 16px;width:100%}.booking-page{padding:0}.booking-container{max-width:100%;padding:16px}.booking-steps{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;overflow-x:auto;padding-bottom:8px}.booking-steps .step{flex:1 1;font-size:14px;min-width:120px;padding:8px 12px;text-align:center;white-space:nowrap}.provider-profile-snippet{margin-bottom:20px;padding:16px}.provider-info{align-items:center;flex-direction:column;gap:12px;text-align:center}.provider-avatar{margin-bottom:8px}.provider-stats,.trust-indicators{flex-direction:column;gap:8px}.trust-indicators{margin-top:16px}.calendar{font-size:14px}.days-grid{gap:2px}.day{font-size:14px;min-height:40px;padding:8px 4px}.time-slots{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.time-slot{font-size:14px;padding:12px 8px;text-align:center}.services-list{gap:12px}.service-item{border:1px solid #ddd;border-radius:8px;margin-bottom:12px;padding:16px}.service-details h3{font-size:16px;margin-bottom:8px}.select-service-btn{margin-top:12px;width:100%}.provider-dashboard{padding:0}.dashboard-container{flex-direction:column}.provider-sidebar{box-shadow:0 2px 4px #0000001a;height:auto;padding:16px;position:static;width:100%}.provider-nav{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px}.provider-nav .nav-item{font-size:14px;min-width:100px;padding:8px 12px;white-space:nowrap}.dashboard-content{margin-left:0;padding:16px}.search-page{padding:16px}.search-filters{flex-direction:column;gap:12px;margin-bottom:20px}.filter-group{width:100%}.provider-grid{gap:16px;grid-template-columns:1fr}.provider-card{padding:16px}.provider-card-image{height:200px}.profile-page{padding:0}.profile-container{flex-direction:column}.profile-sidebar{box-shadow:0 2px 4px #0000001a;padding:16px;position:static;width:100%}.profile-nav{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px}.profile-nav .nav-item{font-size:14px;min-width:80px;padding:8px 12px;white-space:nowrap}.payment-step,.profile-content{padding:16px}.payment-form{padding:0}.payment-method,.stripe-element{margin-bottom:16px}.stripe-element{border:2px solid #ddd;border-radius:6px;padding:12px}.admin-dashboard{padding:0}.admin-container{flex-direction:column}.admin-sidebar{box-shadow:0 2px 4px #0000001a;padding:16px;position:static;width:100%}.admin-nav{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px}.admin-nav .nav-item{font-size:14px;min-width:100px;padding:8px 12px;white-space:nowrap}.admin-content,.modal{padding:16px}.modal-content{border-radius:12px;margin:16px;max-height:calc(100vh - 64px);max-width:none;overflow-y:auto;width:calc(100% - 32px)}.modal-header{border-bottom:1px solid #eee;padding:16px 20px}.modal-body{padding:20px}.modal-footer{border-top:1px solid #eee;flex-direction:column;gap:12px;padding:16px 20px}.modal-footer button{width:100%}.header{flex-wrap:wrap;padding:12px 16px}.header-nav{display:none}.mobile-menu-toggle{background:none;border:none;display:block;font-size:24px;padding:8px}.mobile-nav{background:#fff;box-shadow:0 2px 10px #0000001a;display:block;left:0;padding:20px;position:fixed;right:0;top:60px;z-index:1000}.mobile-nav.hidden{display:none}.mobile-nav-item{border-bottom:1px solid #eee;color:#333;display:block;font-size:16px;padding:12px 0;text-decoration:none}.footer{padding:20px 16px}.footer-content{flex-direction:column;gap:20px;text-align:center}.footer-section{width:100%}.footer-links{flex-direction:column;gap:8px}h1{font-size:24px;margin-bottom:16px}h1,h2{line-height:1.3}h2{font-size:20px;margin-bottom:12px}h3{font-size:18px;line-height:1.3;margin-bottom:8px}p{font-size:16px;line-height:1.5;margin-bottom:12px}.container{max-width:100%;padding:0 16px}.section{padding:20px 0}.card{border-radius:8px;margin-bottom:16px;padding:16px}.mobile-hidden{display:none!important}.mobile-only{display:block!important}.mobile-full-width{width:100%!important}.mobile-center{text-align:center!important}.mobile-stack{flex-direction:column!important;gap:12px!important}}@media (min-width:769px) and (max-width:1024px){.booking-steps .step{font-size:15px;padding:10px 16px}.provider-grid{gap:20px;grid-template-columns:repeat(2,1fr)}.modal-content{max-width:600px;width:80%}.admin-container,.dashboard-container,.profile-container{gap:20px}.sidebar{width:250px}}@media (hover:none) and (pointer:coarse){.btn,.clickable,button,input[type=button],input[type=submit]{min-height:44px;min-width:44px}.btn:hover,.nav-item:hover,button:hover{box-shadow:none;transform:none}.btn:focus,button:focus,input:focus,textarea:focus{outline:2px solid #007bff;outline-offset:2px}.btn:active,button:active{opacity:.8;transform:scale(.98)}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.profile-picture img,.provider-avatar img{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.icon{height:24px;width:24px}}@media (max-width:768px) and (orientation:landscape){.booking-steps{flex-wrap:nowrap;overflow-x:auto}.modal-content{margin:20px;max-height:calc(100vh - 40px)}.calendar,.day{font-size:12px}.day{min-height:32px;padding:4px 2px}}@media print{.footer,.header-nav,.mobile-menu-toggle,.mobile-nav,.sidebar{display:none!important}.main-content{margin:0!important;padding:0!important}.loading-container,.page-loading{display:none!important}}:root{--ease-in-out-back:cubic-bezier(0.68,-0.55,0.265,1.55);--ease-out-quart:cubic-bezier(0.25,1,0.5,1);--ease-in-quart:cubic-bezier(0.5,0,0.75,0);--ease-out-expo:cubic-bezier(0.19,1,0.22,1);--ease-spring:cubic-bezier(0.175,0.885,0.32,1.275);--duration-fast:0.15s;--duration-normal:0.3s;--duration-slow:0.5s;--duration-very-slow:0.8s}.btn,.btn-outline,.btn-primary,.btn-secondary,button:not(.toast-action-btn):not(.toast-close-btn),input[type=button],input[type=submit]{overflow:hidden;position:relative;transform:translateY(0);transition:all .3s cubic-bezier(.25,1,.5,1);transition:all var(--duration-normal) var(--ease-out-quart);will-change:transform,box-shadow,background-color}.btn-outline:hover,.btn-primary:hover,.btn-secondary:hover,.btn:hover,button:hover:not(.toast-action-btn):not(.toast-close-btn):not(:disabled),input[type=button]:hover:not(:disabled),input[type=submit]:hover:not(:disabled){box-shadow:0 4px 12px #00000026;transform:translateY(-2px);transition:all .15s cubic-bezier(.25,1,.5,1);transition:all var(--duration-fast) var(--ease-out-quart)}.btn-outline:active,.btn-primary:active,.btn-secondary:active,.btn:active,button:active:not(.toast-action-btn):not(.toast-close-btn):not(:disabled),input[type=button]:active:not(:disabled),input[type=submit]:active:not(:disabled){transform:translateY(0);transition:all .15s ease-out;transition:all var(--duration-fast) ease-out}.btn-outline:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn:focus-visible,button:focus-visible:not(.toast-action-btn):not(.toast-close-btn),input[type=button]:focus-visible,input[type=submit]:focus-visible{outline:2px solid #007bff;outline:2px solid var(--primary-color,#007bff);outline-offset:2px;transform:translateY(-1px)}.btn-outline:before,.btn-primary:before,.btn-secondary:before,.btn:before,button:not(.toast-action-btn):not(.toast-close-btn):before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .5s ease-out,height .5s ease-out;transition:width var(--duration-slow) ease-out,height var(--duration-slow) ease-out;width:0;z-index:0}.btn-outline:active:before,.btn-primary:active:before,.btn-secondary:active:before,.btn:active:before,button:active:not(.toast-action-btn):not(.toast-close-btn):before{height:300px;width:300px}.btn-outline>*,.btn-primary>*,.btn-secondary>*,.btn>*,button:not(.toast-action-btn):not(.toast-close-btn)>*{position:relative;z-index:1}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],select,textarea{position:relative;transition:all .3s cubic-bezier(.25,1,.5,1);transition:all var(--duration-normal) var(--ease-out-quart);will-change:border-color,box-shadow,transform}input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,select:focus,textarea:focus{border-color:#007bff;border-color:var(--primary-color,#007bff);box-shadow:0 4px 12px #007bff26,0 0 0 3px #007bff1a;outline:none;transform:translateY(-1px)}.floating-label{margin-bottom:24px;margin-bottom:var(--spacing-lg,24px);position:relative}.floating-label input,.floating-label textarea{padding-bottom:4px;padding-top:20px}.floating-label label{background:#fff;color:#6c757d;color:var(--text-muted,#6c757d);font-size:16px;font-size:var(--font-size-md,16px);left:12px;padding:0 4px;pointer-events:none;position:absolute;top:12px;transition:all .3s cubic-bezier(.25,1,.5,1);transition:all var(--duration-normal) var(--ease-out-quart);z-index:1}.floating-label input:focus+label,.floating-label input:not(:placeholder-shown)+label,.floating-label textarea:focus+label,.floating-label textarea:not(:placeholder-shown)+label{color:#007bff;color:var(--primary-color,#007bff);font-size:12px;font-size:var(--font-size-xs,12px);font-weight:600;left:8px;top:-8px}.card{transition:all .3s cubic-bezier(.25,1,.5,1);transition:all var(--duration-normal) var(--ease-out-quart);will-change:transform,box-shadow}.card:hover{box-shadow:0 8px 25px #0000001f,0 4px 10px #00000014;transform:translateY(-4px)}.booking-card,.provider-card,.review-item{transition:all .3s cubic-bezier(.25,1,.5,1);transition:all var(--duration-normal) var(--ease-out-quart);will-change:transform,box-shadow}.booking-card:hover,.provider-card:hover,.review-item:hover{box-shadow:0 6px 20px #0000001a,0 3px 8px #0000000f;transform:translateY(-3px)}.modal-backdrop{opacity:0;transition:opacity .3s ease-out;transition:opacity var(--duration-normal) ease-out}.modal-backdrop.show{opacity:1}.modal{opacity:0;transform:scale(.9) translateY(-50px);transition:all .3s cubic-bezier(.175,.885,.32,1.275);transition:all var(--duration-normal) var(--ease-spring)}.modal.show{opacity:1;transform:scale(1) translateY(0)}.modal.closing{opacity:0;transform:scale(.95) translateY(-20px);transition:all .15s ease-in;transition:all var(--duration-fast) ease-in}.nav-buttons a,.nav-buttons button{position:relative;transition:all .15s cubic-bezier(.25,1,.5,1);transition:all var(--duration-fast) var(--ease-out-quart)}.nav-buttons a:after,.nav-buttons button:after{background:#007bff;background:var(--primary-color,#007bff);bottom:-2px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:all .3s cubic-bezier(.25,1,.5,1);transition:all var(--duration-normal) var(--ease-out-quart);width:0}.nav-buttons a:hover:after,.nav-buttons button:hover:after{width:100%}.dropdown-content{opacity:0;pointer-events:none;transform:translateY(-10px);transition:all .15s cubic-bezier(.25,1,.5,1);transition:all var(--duration-fast) var(--ease-out-quart)}.dropdown:hover .dropdown-content{opacity:1;pointer-events:all;transform:translateY(0)}@keyframes skeleton-shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton-line{animation:skeleton-shimmer 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200px 100%}.loading-pulse{animation:pulse 2s infinite}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{opacity:1;transform:translateY(0);transition:all .5s cubic-bezier(.25,1,.5,1);transition:all var(--duration-slow) var(--ease-out-quart)}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity .3s ease-in;transition:opacity var(--duration-normal) ease-in}.clickable,.interactive{cursor:pointer;transition:all .15s cubic-bezier(.25,1,.5,1);transition:all var(--duration-fast) var(--ease-out-quart)}.clickable:hover,.interactive:hover{transform:translateY(-1px)}.clickable:active,.interactive:active{transform:translateY(0)}.scale-on-hover{transition:transform .15s cubic-bezier(.25,1,.5,1);transition:transform var(--duration-fast) var(--ease-out-quart)}.scale-on-hover:hover{transform:scale(1.05)}.scale-on-hover:active{transform:scale(.98)}@keyframes badge-bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}60%{transform:translateY(-3px)}}.notification-badge{animation:badge-bounce 1s ease-in-out}.notification-item{animation:slide-in-right .3s cubic-bezier(.25,1,.5,1) forwards;animation:slide-in-right var(--duration-normal) var(--ease-out-quart) forwards;opacity:0;transform:translateX(100%)}@keyframes slide-in-right{to{opacity:1;transform:translateX(0)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.input-error{animation:shake .5s ease-in-out;border-color:#dc3545!important;border-color:var(--danger-color,#dc3545)!important;box-shadow:0 0 0 3px #dc35451a!important}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.success-message{animation:fade-in .3s cubic-bezier(.25,1,.5,1);animation:fade-in var(--duration-normal) var(--ease-out-quart)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.booking-card:hover,.btn:hover,.card:hover,.provider-card:hover,.review-item:hover{transform:none}}.keyboard-navigation :focus{outline:2px solid #007bff;outline:2px solid var(--primary-color,#007bff);outline-offset:2px}@media (prefers-color-scheme:dark){.skeleton-line{background:linear-gradient(90deg,#374151 25%,#4b5563 50%,#374151 75%);background-size:200px 100%}.floating-label label{background:#1f2937}}.booking-card,.btn,.card,.modal,.provider-card,.toast{-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px;transform:translateZ(0)}.btn:hover,.card:hover,input:focus,select:focus,textarea:focus{will-change:transform,box-shadow}.animation-complete{will-change:auto}.btn-loading{color:#0000!important;position:relative}.btn-loading:after{animation:button-spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;content:"";height:16px;left:50%;margin:-8px 0 0 -8px;position:absolute;top:50%;width:16px}@keyframes button-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.form-loading{position:relative}.form-loading:before{background:#fffc;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:10}.form-loading:after{animation:button-spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;border-top:3px solid var(--primary-color,#007bff);content:"";height:24px;left:50%;margin:-12px 0 0 -12px;position:absolute;top:50%;width:24px;z-index:11}.lightbox-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-container{align-items:center;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;position:relative}.lightbox-close{background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:2rem;padding:10px;position:absolute;right:0;top:-50px;transition:all .3s ease;z-index:2001}.lightbox-close:hover{background:#ffffff1a;transform:scale(1.1)}.lightbox-nav{background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.5rem;padding:15px;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;z-index:2001}.lightbox-nav:hover{background:#000c;transform:translateY(-50%) scale(1.1)}.lightbox-prev{left:-60px}.lightbox-next{right:-60px}.lightbox-content{align-items:center;display:flex;flex-direction:column;position:relative}.lightbox-image{border-radius:8px;box-shadow:0 10px 30px #00000080;max-height:70vh;max-width:100%;object-fit:contain}.lightbox-counter{background:#000000b3;border-radius:20px;bottom:-40px;color:#fff;font-size:.9rem;font-weight:500;left:50%;padding:8px 16px;position:absolute;transform:translateX(-50%)}.lightbox-thumbnails{background:#00000080;border-radius:25px;display:flex;gap:8px;margin-top:20px;max-width:80vw;overflow-x:auto;padding:10px}.lightbox-thumbnail{background:none;border:2px solid #0000;border-radius:6px;cursor:pointer;flex-shrink:0;padding:0;transition:all .3s ease}.lightbox-thumbnail:hover{border-color:#ffffff80}.lightbox-thumbnail.active{border-color:#fff}.lightbox-thumbnail img{border-radius:4px;display:block;height:60px;object-fit:cover;width:60px}@media (max-width:768px){.lightbox-container{max-height:95vh;max-width:95vw}.lightbox-close{font-size:1.5rem;right:-10px;top:-40px}.lightbox-nav{font-size:1.2rem;padding:12px}.lightbox-prev{left:-50px}.lightbox-next{right:-50px}.lightbox-image{max-height:60vh}.lightbox-thumbnails{gap:6px;max-width:90vw;padding:8px}.lightbox-thumbnail img{height:50px;width:50px}}@media (max-width:480px){.lightbox-nav{display:none}.lightbox-thumbnails{gap:4px;padding:6px}.lightbox-thumbnail img{height:40px;width:40px}}.reply-actions{border-top:1px solid #e2e8f0;margin-top:15px;padding-top:15px}.reply-btn{align-items:center;background:linear-gradient(135deg,#38b2ac,#319795);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:8px;padding:10px 20px;transition:all .3s ease}.reply-btn:hover{box-shadow:0 4px 12px #38b2ac4d;transform:translateY(-1px)}.reply-btn i{font-size:.85rem}.reply-modal-overlay{align-items:center;background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.reply-modal{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;max-height:90vh;max-width:700px;overflow-y:auto;position:relative;width:100%}.reply-modal-header{background:linear-gradient(135deg,#f8fafb,#fff);border-bottom:1px solid #e2e8f0;padding:30px 30px 20px}.reply-modal-header h2{color:#1a1f33;font-size:1.5rem;font-weight:700;margin:0 0 8px}.reply-modal-header p{color:#666;font-size:.95rem;margin:0}.reply-modal-content{padding:30px}.original-review{background:#f8fafb;border-left:4px solid #38b2ac;border-radius:12px;margin-bottom:25px;padding:20px}.review-summary .review-rating{align-items:center;display:flex;gap:10px;margin-bottom:12px}.review-summary .review-rating .stars{display:flex;gap:2px}.review-summary .review-rating .stars i{color:#e9c46a;font-size:16px}.review-summary .review-rating .stars i.inactive{color:#ddd}.review-summary .rating-value{color:#666;font-size:.9rem;font-weight:600}.review-summary .review-text{margin:0}.review-summary .review-text p{color:#2c2c2c;font-style:italic;line-height:1.5;margin:0}.reply-form{margin-bottom:25px}.reply-form h3{color:#1a1f33;font-size:1.2rem;font-weight:600;margin:0 0 15px}.reply-textarea{border:2px solid #e2e8f0;border-radius:12px;font-family:inherit;font-size:.95rem;line-height:1.6;outline:none;padding:15px;resize:vertical;transition:all .3s ease;width:100%}.reply-textarea:focus{border-color:#38b2ac;box-shadow:0 0 0 3px #38b2ac1a}.reply-textarea::placeholder{color:#9ca3af}.reply-form-footer{align-items:center;display:flex;justify-content:space-between;margin-top:10px}.character-count{color:#666;font-size:.85rem}.reply-error{background:#fee2e2;border-radius:6px;color:#dc2626;font-size:.9rem;font-weight:500;margin-top:10px;padding:8px 12px}.reply-guidelines{background:#e6fffa;border-left:4px solid #38b2ac;border-radius:12px;padding:20px}.reply-guidelines h4{color:#1a1f33;font-size:1rem;font-weight:600;margin:0 0 12px}.reply-guidelines ul{margin:0;padding-left:20px}.reply-guidelines li{color:#2c2c2c;font-size:.9rem;line-height:1.5;margin-bottom:6px}.reply-guidelines li:last-child{margin-bottom:0}.reply-modal-footer{background:#f8fafb;border-top:1px solid #e2e8f0;display:flex;gap:15px;justify-content:flex-end;padding:20px 30px 30px}.reply-modal-footer .btn-secondary{background:#f3f4f6;border:2px solid #e5e7eb;border-radius:8px;color:#4b5563;cursor:pointer;font-weight:500;padding:12px 24px;transition:all .3s ease}.reply-modal-footer .btn-secondary:hover:not(:disabled){background:#e5e7eb;transform:translateY(-1px)}.reply-modal-footer .btn-secondary:disabled{cursor:not-allowed;opacity:.6;transform:none}.reply-modal-footer .btn-submit{align-items:center;background:linear-gradient(135deg,#38b2ac,#319795);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.reply-modal-footer .btn-submit:hover:not(:disabled){box-shadow:0 6px 15px #38b2ac4d;transform:translateY(-2px)}.reply-modal-footer .btn-submit:disabled{cursor:not-allowed;opacity:.6;transform:none}.reply-modal .close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#9ca3af;cursor:pointer;display:flex;font-size:1.5rem;height:40px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .3s ease;width:40px}.reply-modal .close-btn:hover{background:#f3f4f6;color:#4b5563}@media (max-width:768px){.reply-modal{margin:10px;max-height:95vh}.reply-modal-header{padding:20px 20px 15px}.reply-modal-header h2{font-size:1.3rem}.reply-modal-content{padding:20px}.reply-modal-footer{flex-direction:column;padding:15px 20px 20px}.reply-modal-footer .btn-secondary,.reply-modal-footer .btn-submit{justify-content:center;width:100%}.reply-textarea{font-size:16px;padding:12px}.reply-form-footer{align-items:flex-start;flex-direction:column;gap:10px}}.provider-page{background-color:#f5f5f5;font-family:Muli,sans-serif;margin-top:70px}.breadcrumb{background-color:#fff;border-bottom:1px solid #e0e0e0;padding:20px}.breadcrumb a{color:#17a2b8;font-size:14px;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb .separator{color:#666;margin:0 10px}.breadcrumb .current{color:#666;font-size:14px}.profile-hero{background:linear-gradient(135deg,#1a1f33,#2c3e50);color:#fff;padding:40px 0}.profile-hero-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.profile-info{align-items:center;display:flex;gap:25px}.profile-picture{border:4px solid #fff;border-radius:50%;height:100px;object-fit:cover;width:100px}.profile-details h1.profile-name{font-size:2.5rem;font-weight:700;margin-bottom:10px}.profile-name .verified{color:#28a745;font-size:1.5rem;margin-left:10px}.profile-rating{align-items:center;display:flex;flex-wrap:wrap;gap:15px;margin-top:10px}.rating-score{font-size:1.2rem;font-weight:700}.stars{display:flex;gap:2px}.stars i{color:#e9c46a;font-size:14px}.stars i.inactive{color:#ddd}.hours,.location,.reviews-count{color:#ddd;font-size:14px;text-decoration:none}.hours:hover,.location:hover,.reviews-count:hover{color:#fff;text-decoration:underline}.separator{color:#ddd}.profile-actions{display:flex;gap:15px}.book-now-btn{background-color:#17a2b8;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 25px;transition:all .3s ease}.book-now-btn:hover{background-color:#138496;transform:translateY(-2px)}.action-btn{align-items:center;background-color:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:45px;justify-content:center;transition:all .3s ease;width:45px}.action-btn:hover{background-color:#ffffff4d;transform:translateY(-2px)}.action-btn i{font-size:16px}.profile-tabs{background-color:#fff;border-bottom:1px solid #e0e0e0;position:-webkit-sticky;position:sticky;top:70px;z-index:100}.tabs-nav{display:flex;gap:40px;margin:0 auto;max-width:1200px;padding:0 20px}.tab{border-bottom:3px solid #0000;color:#666;font-size:16px;font-weight:500;padding:20px 0;text-decoration:none;transition:all .3s ease}.tab.active,.tab:hover{color:#17a2b8}.tab.active{border-bottom-color:#17a2b8}.main-container{margin:0 auto;max-width:1200px;padding:40px 20px}.main-container section{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:30px;padding:40px}.main-container h2{color:#1a1f33;font-size:2rem;font-weight:700;margin-bottom:30px}.profile-gallery{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:30px;padding:40px}.carousel-container{max-width:100%;position:relative}.carousel-container,.carousel-track-container{border-radius:12px;overflow:hidden}.carousel-track{display:flex;transition:transform .3s ease}.carousel-slide{display:flex;justify-content:center;min-width:100%}.carousel-slide img{border-radius:12px;height:400px;max-width:600px;object-fit:cover;width:100%}.profile-gallery .carousel-container .next-btn,.profile-gallery .carousel-container .prev-btn{align-items:center;background-color:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:50px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:50px;z-index:10}.profile-gallery .carousel-container .prev-btn{left:15px}.profile-gallery .carousel-container .next-btn{right:15px}.profile-gallery .carousel-container .next-btn:hover,.profile-gallery .carousel-container .prev-btn:hover{background-color:#000c;transform:translateY(-50%) scale(1.1)}.services-section{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:30px;padding:40px}.service-categories{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:30px}.category-btn{background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:25px;color:#666;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .3s ease}.category-btn:hover{background-color:#e9ecef}.category-btn.active{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.service-list{display:flex;flex-direction:column;gap:20px}.service-item{border:1px solid #e0e0e0;padding:25px}.service-item:hover{box-shadow:0 4px 12px #0000001a}.service-details h3{color:#1a1f33;font-size:1.2rem;font-weight:600;margin-bottom:8px}.service-price{font-size:1.1rem}.book-btn{background-color:#17a2b8;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 25px;transition:all .3s ease}.book-btn:hover{background-color:#138496;transform:translateY(-2px)}.about-section{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:30px;padding:40px}.about-content h3{color:#1a1f33;font-size:1.4rem;font-weight:600;margin-bottom:15px;margin-top:30px}.about-content h3:first-child{margin-top:0}.about-content p{color:#2c2c2c;font-size:1rem;line-height:1.7;margin-bottom:20px}.about-content ul{list-style:none;padding:0}.about-content li{color:#2c2c2c;line-height:1.6;margin-bottom:10px;padding-left:20px;position:relative}.about-content li:before{color:#28a745;content:"✓";font-weight:700;left:0;position:absolute}.hours-list{display:flex;flex-direction:column;gap:12px;margin-top:20px}.hours-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:12px 0}.hours-item:last-child{border-bottom:none}.hours-item .day{color:#1a1f33;font-weight:600;min-width:100px}.hours-item .time{color:#666}.location-info{border-top:1px solid #f0f0f0;margin-top:40px;padding-top:40px}.address{color:#666;font-size:1rem;margin-bottom:20px}.map-container{border-radius:12px;box-shadow:0 4px 12px #0000001a;margin:20px 0;overflow:hidden}.get-directions-btn{background-color:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-top:15px;padding:12px 25px;transition:all .3s ease}.get-directions-btn:hover{background-color:#218838;transform:translateY(-2px)}.reviews-section{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:30px;padding:40px}.reviews-sort-container{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;gap:.75rem;margin-bottom:2rem;padding-bottom:1rem}.sort-label{color:#1a1f33;font-size:.95rem;font-weight:600;margin:0}.reviews-sort-dropdown{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#1a1f33;cursor:pointer;font-size:.9rem;font-weight:500;min-width:150px;outline:none;padding:.5rem .75rem;transition:all .3s ease}.reviews-sort-dropdown:hover:not(:disabled){border-color:#38b2ac}.reviews-sort-dropdown:focus{border-color:#38b2ac;box-shadow:0 0 0 3px #38b2ac1a}.reviews-sort-dropdown:disabled{background-color:#f8f9fa;cursor:not-allowed;opacity:.6}.sort-loading{align-items:center;color:#38b2ac;display:flex;font-size:.9rem}.sort-loading i{margin-right:.25rem}.reviews-overview{border-bottom:2px solid #f0f0f0;margin-bottom:2rem;padding-bottom:2rem}.reviews-summary{align-items:center;display:flex;gap:2rem;margin-bottom:2rem}.rating-display{text-align:center}.average-rating{color:#1a1f33;font-size:3rem;font-weight:700;line-height:1;margin-bottom:.5rem}.stars-display{display:flex;gap:.25rem;justify-content:center;margin-bottom:.5rem}.stars-display i{color:#e9c46a;font-size:1.25rem}.total-reviews{color:#666;font-size:1rem;font-weight:500}.rating-breakdown-container{flex:1 1;max-width:400px}.rating-breakdown-container h3{color:#1a1f33;font-size:1.2rem;font-weight:600;margin-bottom:1rem}.rating-breakdown{display:flex;flex-direction:column;gap:.75rem}.rating-bar-item{align-items:center;display:flex;gap:1rem}.rating-label{color:#666;font-size:.9rem;font-weight:500;min-width:40px}.rating-bar{background:#f0f0f0;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.rating-bar-fill{background:linear-gradient(90deg,#e9c46a,#f4a261);border-radius:4px;height:100%;transition:width .3s ease}.rating-percentage{color:#666;font-size:.85rem;min-width:35px;text-align:right}.reviews-loading{padding:3rem 0;text-align:center}.reviews-loading .loading-spinner{margin:0 auto 1rem}.no-reviews{color:#666;padding:4rem 2rem;text-align:center}.no-reviews-icon{color:#ccc;margin-bottom:1.5rem}.no-reviews h3{color:#1a1f33;font-size:1.5rem;margin-bottom:.5rem}.no-reviews p{font-size:1rem;line-height:1.6}.most-helpful-message{background:linear-gradient(135deg,#f8f9ff,#fff);border:1px solid #e9ecef;border-radius:12px;margin-bottom:2rem;padding:4rem 2rem;text-align:center}.helpful-message-icon{color:#007bff;margin-bottom:1.5rem}.most-helpful-message h3{color:#1a1f33;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.most-helpful-message p{color:#666;font-size:1rem;line-height:1.6;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:400px}.suggested-sorts{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.sort-suggestion-btn{align-items:center;background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.sort-suggestion-btn:hover{box-shadow:0 4px 12px #007bff4d;transform:translateY(-2px)}.sort-suggestion-btn i{font-size:.85rem}.reviews-list{display:flex;flex-direction:column;gap:1.5rem}.review-card{background:#fafafa;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;transition:all .3s ease}.review-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.review-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.reviewer-info{align-items:center;display:flex;gap:.75rem}.reviewer-avatar{border:2px solid #f8f9fa;border-radius:50%;box-shadow:0 2px 8px #0000001a;flex-shrink:0;height:40px;overflow:hidden;position:relative;transition:all .3s ease;width:40px}.reviewer-avatar:before{border:1px solid #fffc;border-radius:50%;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.avatar-placeholder{align-items:center;background:linear-gradient(135deg,#38b2ac,#319795);color:#fff;display:flex;font-size:.95rem;font-weight:600;height:100%;justify-content:center;width:100%}.reviewer-profile-image{animation:fadeInAvatar .5s ease-in-out forwards;border-radius:50%;height:100%;object-fit:cover;opacity:0;width:100%}.avatar-initials{font-size:.9rem;font-weight:600;letter-spacing:.5px}@keyframes fadeInAvatar{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.reviewer-details{flex:1 1}.reviewer-name{color:#1a1f33;font-size:1rem;font-weight:600;margin:0 0 .25rem}.review-date{color:#666;font-size:.85rem;margin:0}.review-badges{display:flex;gap:.5rem}.verified-badge{align-items:center;background:#e6fffa;border:1px solid #b2f5ea;border-radius:4px;color:#38b2ac;display:flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.25rem .5rem}.verified-badge i{font-size:.7rem}.review-rating{align-items:center;display:flex;gap:.5rem;margin-bottom:1rem}.review-rating .stars{display:flex;gap:.125rem}.review-rating .stars i{color:#e9c46a;font-size:1rem}.rating-value{color:#666;font-size:.9rem;font-weight:500}.review-text{margin-bottom:1rem}.review-text p{color:#2c2c2c;font-size:.95rem;line-height:1.6;margin:0}.review-images{margin-bottom:1rem}.image-thumbnails{display:flex;flex-wrap:wrap;gap:.5rem}.image-thumbnail{border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;height:80px;overflow:hidden;position:relative;transition:all .3s ease;width:80px}.image-thumbnail:hover{border-color:#38b2ac;transform:scale(1.05)}.image-thumbnail img{height:100%;object-fit:cover;width:100%}.more-images-overlay{align-items:center;background:#000000b3;bottom:0;color:#fff;display:flex;font-size:.9rem;font-weight:600;justify-content:center;left:0;position:absolute;right:0;top:0}.provider-response{background:#f8fafb;border-left:4px solid #38b2ac;border-radius:0 8px 8px 0;margin-top:1rem;padding:1rem}.response-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.provider-avatar{border-radius:50%;height:32px;overflow:hidden;width:32px}.provider-avatar img{height:100%;object-fit:cover;width:100%}.response-info h5{color:#1a1f33;font-size:.9rem;font-weight:600;margin:0 0 .25rem}.response-date{color:#666;font-size:.8rem;margin:0}.response-text p{color:#2c2c2c;font-size:.9rem;line-height:1.5;margin:0}.review-actions{align-items:center;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-top:1rem;padding-top:1rem}.helpful-btn,.report-btn{align-items:center;background:#f8f9fa;border:1px solid #e2e8f0;border-radius:20px;color:#666;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;outline:none;padding:.5rem 1rem;transition:all .3s ease}.helpful-btn:hover:not(:disabled),.report-btn:hover:not(:disabled){background:#e2e8f0;border-color:#cbd5e0;transform:translateY(-1px)}.helpful-btn:focus,.report-btn:focus{box-shadow:0 0 0 3px #38b2ac1a}.helpful-btn:disabled,.report-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.helpful-btn.voted{background:#e6fffa;border-color:#38b2ac;color:#38b2ac}.helpful-btn.voted:hover:not(:disabled){background:#b2f5ea;border-color:#319795}.report-btn{background:#fff5f5;border-color:#fed7d7;color:#c53030}.report-btn:hover:not(:disabled){background:#fed7d7;border-color:#fc8181;color:#9b2c2c}.report-btn:focus{box-shadow:0 0 0 3px #c530301a}.helpful-btn i,.report-btn i{font-size:.875rem;transition:color .3s ease}.helpful-btn.voted i.voted{color:#38b2ac}.helpful-count{color:inherit;font-weight:600}.helpful-count,.report-text{font-size:.875rem}.helpful-btn:hover .helpful-count{animation:pulse .3s ease}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes slideOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}.load-more-container{border-top:1px solid #f0f0f0;margin-top:2rem;padding-top:2rem;text-align:center}.load-more-btn{align-items:center;background:linear-gradient(135deg,#38b2ac,#319795);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;margin:0 auto;padding:.75rem 2rem;transition:all .3s ease}.load-more-btn:hover:not(:disabled){box-shadow:0 4px 12px #38b2ac4d;transform:translateY(-2px)}.load-more-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-top:120px;min-height:400px;padding:40px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#17a2b8;height:50px;margin-bottom:20px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-container h2{color:#dc3545;margin-bottom:15px}.error-container p{color:#666;margin-bottom:25px}.error-container .btn{background-color:#17a2b8;border-radius:8px;color:#fff;font-weight:600;padding:12px 25px;text-decoration:none;transition:all .3s ease}.error-container .btn:hover{background-color:#138496;transform:translateY(-2px)}@media (max-width:768px){.provider-page{margin-top:60px}.profile-hero-content{gap:25px}.profile-hero-content,.profile-info{flex-direction:column;text-align:center}.profile-info{gap:20px}.profile-details h1.profile-name{font-size:2rem}.profile-rating{gap:10px}.profile-actions,.profile-rating{justify-content:center}.tabs-nav{flex-wrap:wrap;gap:20px;padding:0 15px}.tab{font-size:14px;padding:15px 0}.main-container{padding:20px 15px}.main-container section{padding:25px}.main-container h2{font-size:1.6rem}.carousel-slide img{height:300px}.profile-gallery .carousel-container .next-btn,.profile-gallery .carousel-container .prev-btn{font-size:14px;padding:8px 15px}.profile-gallery .carousel-container .prev-btn{left:10px}.profile-gallery .carousel-container .next-btn{right:10px}.service-item{gap:15px}.hours-item,.service-item{align-items:flex-start;flex-direction:column}.hours-item{gap:5px}.reviews-overview{padding-bottom:1.5rem}.reviews-summary{flex-direction:column;gap:1.5rem;text-align:center}.rating-breakdown-container{max-width:100%}.average-rating{font-size:2.5rem}.review-header{align-items:flex-start;flex-direction:column;gap:.75rem}.review-badges{align-self:flex-start}.image-thumbnails{justify-content:flex-start}.image-thumbnail{height:70px;width:70px}}@media (max-width:480px){.breadcrumb{padding:15px}.breadcrumb .current,.breadcrumb a{font-size:12px}.profile-hero{padding:30px 0}.profile-details h1.profile-name{font-size:1.8rem}.main-container section{padding:20px}.carousel-slide img{height:250px}.service-categories{gap:10px}.category-btn{font-size:14px;padding:8px 16px}.reviews-section{padding:25px}.average-rating{font-size:2rem}.rating-bar-item{gap:.5rem}.rating-label{font-size:.8rem;min-width:35px}.rating-percentage{font-size:.8rem;min-width:30px}.review-card{padding:1rem}.reviewer-avatar{height:32px;width:32px}.avatar-placeholder{font-size:.8rem}.avatar-initials{font-size:.75rem}.image-thumbnail{height:60px;width:60px}.no-reviews{padding:3rem 1rem}}.with-header-padding{padding-top:100px}.error-content{margin:0 auto;max-width:500px;text-align:center}.error-icon{color:#dc3545;margin-bottom:2rem;opacity:.7}.error-content h2{color:#1a1f33;font-size:2rem;font-weight:700;margin-bottom:1rem}.error-content p{color:#666;font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.error-actions{align-items:center;display:flex;flex-direction:column;gap:1rem}.error-actions .btn{border-radius:8px;display:inline-block;font-size:1rem;font-weight:600;min-width:180px;padding:12px 30px;text-align:center;text-decoration:none;transition:all .3s ease}.error-actions .btn-primary{background:linear-gradient(135deg,#17a2b8,#138496);border:none;color:#fff}.error-actions .btn-primary:hover{box-shadow:0 6px 15px #17a2b84d;transform:translateY(-2px)}.error-actions .btn-secondary{background:#f8f9fa;border:2px solid #e9ecef;color:#666}.error-actions .btn-secondary:hover{background:#e9ecef;color:#495057;transform:translateY(-1px)}@media (max-width:768px){.with-header-padding{padding-top:80px}.error-content h2{font-size:1.6rem}.error-content p{font-size:1rem}.error-actions{flex-direction:column;width:100%}.error-actions .btn{max-width:300px;width:100%}}.booking-modal-overlay{align-items:center;background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.booking-modal{animation:slideInUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;max-height:90vh;max-width:700px;overflow-y:auto;position:relative;width:100%}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.booking-modal-header{background:linear-gradient(135deg,#f0f9ff,#fff);border-bottom:1px solid #e2e8f0;padding:30px 30px 20px}.booking-modal-header h2{color:#1a1f33;font-size:1.8rem;font-weight:700;margin:0 0 20px}.provider-info{align-items:center;display:flex;gap:15px}.provider-image{border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px #0000001a;flex-shrink:0;height:60px;overflow:hidden;width:60px}.provider-image img{height:100%;object-fit:cover;width:100%}.provider-info h3{color:#1a1f33;font-size:1.2rem;font-weight:600;margin:0 0 8px}.provider-rating{align-items:center;color:#666;display:flex;font-size:.9rem;gap:8px}.provider-rating .stars{display:flex;gap:2px}.provider-rating .stars i{color:#e9c46a;font-size:12px}.booking-steps{background:#f8f9fa;border-bottom:1px solid #e2e8f0;display:flex;gap:20px;justify-content:center;padding:20px 30px}.step{background:#e9ecef;border-radius:20px;color:#6c757d;font-size:.9rem;font-weight:500;padding:10px 20px;transition:all .3s ease}.step.active{background:#17a2b8;color:#fff;transform:scale(1.05)}.step-content{min-height:400px;padding:30px}.step-content h3{color:#1a1f33;font-size:1.4rem;font-weight:600;margin:0 0 20px}.service-selection-hint{background:#f8f9fa;border-left:4px solid #17a2b8;border-radius:8px;color:#666;font-size:.95rem;margin-bottom:25px;padding:15px}.services-list{display:flex;flex-direction:column;gap:15px;margin-bottom:30px}.service-item{align-items:center;border:2px solid #e9ecef;border-radius:12px;cursor:pointer;display:flex;justify-content:space-between;padding:20px;transition:all .3s ease}.service-item:hover{background:#f0f9ff;border-color:#17a2b8;transform:translateY(-2px)}.service-item.selected{background:#e6fffa;border-color:#17a2b8;box-shadow:0 4px 12px #17a2b833}.service-details{flex:1 1}.service-name{color:#1a1f33;font-size:1.1rem;font-weight:600;margin-bottom:5px}.service-duration{color:#666;font-size:.9rem;margin-bottom:8px}.service-price{color:#17a2b8;font-size:1.2rem;font-weight:700}.service-checkbox{margin-left:15px}.service-select{accent-color:#17a2b8;cursor:pointer;height:20px;width:20px}.selected-services-container{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:20px}.selected-services-container h4{color:#1a1f33;font-size:1.1rem;font-weight:600;margin:0 0 15px}.selected-services-list{display:flex;flex-direction:column;gap:10px}.empty-selection{color:#666;font-style:italic;padding:20px;text-align:center}.selected-service-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:12px}.selected-service-name{color:#1a1f33;font-weight:500}.selected-service-price{color:#17a2b8;font-weight:600}.selected-service-remove{align-items:center;border-radius:50%;color:#dc3545;cursor:pointer;display:flex;font-size:1.2rem;height:24px;justify-content:center;transition:all .3s ease;width:24px}.selected-service-remove:hover{background:#dc3545;color:#fff}.date-selector{margin-bottom:30px}.date-selector label{color:#1a1f33;display:block;font-weight:600;margin-bottom:10px}.form-control{border:2px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:1rem;outline:none;padding:12px;transition:all .3s ease;width:100%}.form-control:focus{border-color:#17a2b8;box-shadow:0 0 0 3px #17a2b81a}.time-slots-section h4{color:#1a1f33;font-size:1.1rem;font-weight:600;margin:20px 0 15px}.time-slots{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.time-slot{background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-weight:500;padding:12px;text-align:center;transition:all .3s ease}.time-slot:hover{background:#f0f9ff;border-color:#17a2b8}.time-slot.selected{background:#17a2b8;border-color:#17a2b8;color:#fff;transform:scale(1.05)}.select-date-message{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;color:#666;font-style:italic;padding:40px 20px;text-align:center}.booking-summary{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;margin-bottom:30px;padding:25px}.summary-item{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:15px}.summary-item:last-child{border-bottom:none;font-size:1.1rem;font-weight:600;margin-bottom:0;padding-bottom:0}.summary-label{color:#1a1f33;font-weight:600;min-width:100px}.summary-services{display:flex;flex-direction:column;gap:8px}.summary-service-item{background:#fff;border:1px solid #e2e8f0;border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.summary-total{color:#17a2b8;font-size:1.3rem}.notes-section{margin-bottom:25px}.notes-section h4{color:#1a1f33;font-size:1.1rem;font-weight:600;margin:0 0 15px}.notes-section textarea{border:2px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:.95rem;line-height:1.5;outline:none;padding:15px;resize:vertical;transition:all .3s ease;width:100%}.notes-section textarea:focus{border-color:#17a2b8;box-shadow:0 0 0 3px #17a2b81a}.notes-section small{color:#666;display:block;font-size:.85rem;margin-top:5px;text-align:right}.booking-error{align-items:center;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:.95rem;gap:10px;margin-top:20px;padding:15px}.booking-error:before{content:"⚠️";font-size:1.1rem}.booking-modal-footer{background:#f8fafb;border-top:1px solid #e2e8f0;display:flex;gap:15px;justify-content:flex-end;padding:20px 30px 30px}.btn-secondary{background:#f3f4f6;border:2px solid #e5e7eb;border-radius:8px;color:#4b5563;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:all .3s ease}.btn-secondary:hover:not(:disabled){background:#e5e7eb;transform:translateY(-1px)}.btn-secondary:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-submit{align-items:center;background:linear-gradient(135deg,#17a2b8,#138496);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.btn-submit:hover:not(:disabled){box-shadow:0 6px 15px #17a2b84d;transform:translateY(-2px)}.btn-submit:disabled{cursor:not-allowed;opacity:.6;transform:none}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#9ca3af;cursor:pointer;display:flex;font-size:1.5rem;height:40px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .3s ease;width:40px;z-index:1001}.close-btn:hover{background:#f3f4f6;color:#4b5563}@media (max-width:768px){.booking-modal-overlay{padding:10px}.booking-modal{margin:10px;max-height:95vh;max-width:100%}.booking-modal-header{padding:20px 20px 15px}.booking-modal-header h2{font-size:1.5rem}.provider-info{text-align:center}.booking-steps,.provider-info{flex-direction:column;gap:10px}.booking-steps{padding:15px}.step{padding:8px 16px;text-align:center}.step-content{min-height:300px;padding:20px}.step-content h3{font-size:1.2rem}.services-list{gap:12px}.service-item{align-items:flex-start;flex-direction:column;gap:15px}.service-checkbox{align-self:flex-end;margin-left:0}.time-slots{gap:10px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.time-slot{font-size:.9rem;padding:10px 8px}.booking-summary{padding:20px}.summary-item{align-items:flex-start;flex-direction:column;gap:8px}.summary-services{width:100%}.booking-modal-footer{flex-direction:column;padding:15px}.btn-secondary,.btn-submit{justify-content:center;width:100%}}@media (max-width:480px){.booking-modal-header,.step-content{padding:15px}.provider-image{height:50px;width:50px}.booking-steps{padding:10px}.step{font-size:.8rem;padding:6px 12px}.time-slots{grid-template-columns:repeat(2,1fr)}}