.booking-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--spacing-md);animation:fadeIn .3s ease}.booking-modal{background:var(--color-white);border-radius:var(--radius-xl);width:100%;max-width:900px;max-height:90vh;overflow-y:auto;position:relative;animation:slideInUp .4s ease}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.booking-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-beige);color:var(--color-text);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);z-index:10}.booking-close:hover{background:var(--color-primary);color:var(--color-white)}.booking-header{text-align:center;padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-md);border-bottom:1px solid var(--color-gray-light)}.booking-header h2{font-family:var(--font-heading);font-size:1.75rem;color:var(--color-text-dark);margin-bottom:var(--spacing-xs)}.booking-header p{color:var(--color-gray-dark);margin:0}.booking-steps{display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg) var(--spacing-xl);background:var(--color-beige);gap:var(--spacing-sm)}.booking-step{display:flex;align-items:center;gap:var(--spacing-xs);opacity:.5;transition:all var(--transition-fast)}.booking-step.active{opacity:1}.booking-step__number{width:28px;height:28px;border-radius:var(--radius-sm);background:var(--color-gray-light);color:var(--color-gray);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;transition:all var(--transition-fast)}.booking-step.active .booking-step__number{background:var(--color-primary);color:var(--color-white)}.booking-step.completed .booking-step__number{background:#4a9d7c;color:var(--color-white)}.booking-step__label{font-size:.9rem;font-weight:500;color:var(--color-text)}.booking-step__line{width:40px;height:2px;background:var(--color-gray-light)}.booking-content{padding:var(--spacing-xl)}.booking-back{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-primary-dark);font-size:.9rem;font-weight:500;margin-bottom:var(--spacing-md);transition:color var(--transition-fast)}.booking-back:hover{color:var(--color-primary)}.booking-services h3{font-family:var(--font-heading);font-size:1.25rem;color:var(--color-text-dark);margin-bottom:var(--spacing-lg);text-align:center}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-md);align-items:stretch;justify-items:stretch}.booking-loading{grid-column:1 / -1;text-align:center;color:var(--color-gray);padding:var(--spacing-md)}.booking-alert{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:.9rem;margin-bottom:var(--spacing-md)}.booking-alert--error{background:#fee2e2;color:#dc2626}.booking-alert--info{background:#e0f2fe;color:#0369a1}.service-option{background:var(--color-white);border:1px solid var(--color-gray-light);border-radius:var(--radius-lg);padding:var(--spacing-lg);cursor:pointer;transition:all var(--transition-normal);display:flex;flex-direction:column;min-height:150px;width:100%;height:100%;box-sizing:border-box}.service-option:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-3px)}.service-option h4{font-family:var(--font-body);font-size:.95rem;font-weight:700;color:var(--color-text-dark);margin-bottom:auto;line-height:1.4;text-transform:uppercase;letter-spacing:.3px}.service-duration{color:var(--color-gray);font-size:.85rem;margin:var(--spacing-md) 0 var(--spacing-sm)}.service-days{font-size:.75rem;color:var(--color-gray-dark);margin-bottom:var(--spacing-sm)}.service-select-btn{width:100%;padding:.75rem;background:var(--color-secondary);color:var(--color-text-dark);border-radius:var(--radius-md);font-size:.9rem;font-weight:500;transition:all var(--transition-fast)}.service-option:hover .service-select-btn{background:var(--color-primary);color:var(--color-white)}.selected-service-badge{display:inline-flex;align-items:center;gap:var(--spacing-sm);background:var(--color-primary-light);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.service-days-note{color:var(--color-gray-dark);font-size:.9rem;margin-bottom:var(--spacing-md)}.selected-service-badge span:first-child{font-weight:600;color:var(--color-text-dark)}.badge-duration{background:var(--color-primary);color:var(--color-white);padding:.2rem .6rem;border-radius:var(--radius-md);font-size:.75rem;font-weight:500}.datetime-container{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl)}.calendar-section h3,.time-section h3{display:flex;align-items:center;gap:var(--spacing-xs);font-family:var(--font-heading);font-size:1.1rem;color:var(--color-text-dark);margin-bottom:var(--spacing-md)}.calendar{background:var(--color-beige);border-radius:var(--radius-lg);padding:var(--spacing-md)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.calendar-nav{width:36px;height:36px;border-radius:var(--radius-md);background:var(--color-white);color:var(--color-text);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.calendar-nav:hover{background:var(--color-primary);color:var(--color-white)}.calendar-title{font-weight:600;color:var(--color-text-dark)}.calendar-days-header{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:var(--spacing-xs)}.calendar-days-header span{text-align:center;font-size:.75rem;font-weight:600;color:var(--color-gray);padding:var(--spacing-xs)}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-day{aspect-ratio:1;border-radius:var(--radius-md);background:var(--color-white);color:var(--color-text);font-size:.9rem;font-weight:500;transition:all var(--transition-fast)}.calendar-day:hover:not(:disabled){background:var(--color-primary-light)}.calendar-day.empty{background:transparent}.calendar-day.disabled{background:var(--color-gray-light);color:var(--color-gray);cursor:not-allowed}.calendar-day.blackout,.calendar-day.blackout.disabled{background:#fee2e2;color:#b91c1c}.calendar-day.today{border:2px solid var(--color-primary)}.calendar-day.selected{background:var(--color-primary);color:var(--color-white)}.calendar-blackouts{margin-top:var(--spacing-md);padding:var(--spacing-sm);background:#fff7ed;border-radius:var(--radius-md);border:1px solid #fed7aa}.calendar-blackouts h4{margin:0 0 var(--spacing-xs);font-size:.95rem;color:#9a3412}.calendar-blackouts ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.calendar-blackouts li{display:flex;flex-direction:column;gap:.15rem;font-size:.85rem;color:#7c2d12}.calendar-blackouts__error{color:#b91c1c;font-size:.85rem}.selected-date-text{color:var(--color-primary-dark);font-weight:500;margin-bottom:var(--spacing-md);text-transform:capitalize}.time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xs);max-height:300px;overflow-y:auto;padding-right:var(--spacing-xs)}.time-slot{padding:.75rem;background:var(--color-beige);border-radius:var(--radius-md);font-size:.9rem;font-weight:500;color:var(--color-text);transition:all var(--transition-fast)}.time-slot:hover:not(:disabled){background:var(--color-primary-light)}.time-slot.unavailable{background:var(--color-gray-light);color:var(--color-gray);text-decoration:line-through;cursor:not-allowed}.time-slot.selected{background:var(--color-primary);color:var(--color-white)}.select-date-message{color:var(--color-gray);font-style:italic;text-align:center;padding:var(--spacing-xl);background:var(--color-beige);border-radius:var(--radius-lg)}.booking-summary{background:var(--color-beige);border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.booking-summary h4{font-family:var(--font-heading);font-size:1rem;color:var(--color-text-dark);margin-bottom:var(--spacing-sm)}.summary-details{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-xs)}.summary-details p{font-size:.9rem;color:var(--color-text);margin:0}.booking-form h3{font-family:var(--font-heading);font-size:1.25rem;color:var(--color-text-dark);margin-bottom:var(--spacing-lg)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.9rem;font-weight:500;color:var(--color-text-dark);margin-bottom:var(--spacing-xs)}.form-group label svg{color:var(--color-primary)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.875rem;border:1px solid var(--color-gray-light);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.95rem;color:var(--color-text);transition:all var(--transition-fast)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #d4a57433}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-gray)}.form-group select{background-color:var(--color-white);appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--color-primary) 50%),linear-gradient(135deg,var(--color-primary) 50%,transparent 50%),linear-gradient(to right,var(--color-gray-light),var(--color-gray-light));background-position:calc(100% - 20px) calc(50% - 2px),calc(100% - 15px) calc(50% - 2px),calc(100% - 2.75rem) 50%;background-size:5px 5px,5px 5px,1px 1.6rem;background-repeat:no-repeat;padding-right:2.5rem}.form-group select:disabled{background-color:var(--color-cream);color:var(--color-gray);cursor:not-allowed}.form-group textarea{resize:vertical;min-height:80px}.booking-actions{margin-top:var(--spacing-lg);text-align:center}.btn-lg{padding:1rem 3rem;font-size:1rem}.btn:disabled{opacity:.5;cursor:not-allowed}.booking-confirmed{text-align:center;padding:var(--spacing-xl) 0}.confirmed-icon{width:80px;height:80px;background:#4a9d7c;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--color-white);margin:0 auto var(--spacing-lg);animation:pulse .5s ease}.booking-confirmed h3{font-family:var(--font-heading);font-size:1.75rem;color:var(--color-text-dark);margin-bottom:var(--spacing-xs)}.booking-confirmed>p{color:var(--color-gray-dark);margin-bottom:var(--spacing-lg)}.confirmed-details{background:var(--color-beige);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);text-align:left;max-width:400px;margin-left:auto;margin-right:auto}.confirmed-details p{font-size:.95rem;color:var(--color-text);margin:var(--spacing-xs) 0}.confirmed-notice{background:var(--color-primary-light);border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);max-width:500px;margin-left:auto;margin-right:auto}.confirmed-notice p{font-size:.9rem;color:var(--color-text-dark);margin:var(--spacing-xs) 0}@media(max-width:768px){.booking-modal{max-height:100vh;border-radius:0;height:100%}.booking-content{padding:var(--spacing-md)}.services-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.service-option{padding:var(--spacing-md);min-height:130px}.service-option h4{font-size:.85rem}.datetime-container{grid-template-columns:1fr;gap:var(--spacing-lg)}.time-slots{grid-template-columns:repeat(4,1fr)}.booking-steps{padding:var(--spacing-md);gap:var(--spacing-xs)}.booking-step__label{display:none}.form-row,.summary-details{grid-template-columns:1fr}}@media(max-width:480px){.services-grid{grid-template-columns:1fr}.time-slots{grid-template-columns:repeat(3,1fr)}.booking-header{padding:var(--spacing-lg) var(--spacing-md) var(--spacing-md)}.booking-header h2{font-size:1.35rem}}.simple-home{min-height:100vh;background:var(--color-cream);color:var(--color-text)}.simple-home__main{display:flex;flex-direction:column;gap:var(--spacing-xxl);padding:calc(var(--spacing-xxl) + 40px) 0 var(--spacing-xxl)}.simple-home__hero{display:flex;justify-content:center;align-items:center;padding:0 var(--spacing-md);text-align:center}.simple-home__hero-content{max-width:680px;background:var(--color-white);border-radius:var(--radius-lg);padding:var(--spacing-xxl);box-shadow:var(--shadow-md);border:1px solid var(--color-gray-light)}.simple-home__eyebrow{font-size:.9rem;text-transform:uppercase;letter-spacing:2px;color:var(--color-primary-dark);margin-bottom:var(--spacing-sm)}.simple-home__hero h1{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3rem);color:var(--color-text-dark);margin-bottom:var(--spacing-xs)}.simple-home__subtitle{font-size:1rem;color:var(--color-gray-dark);margin-bottom:var(--spacing-lg)}.simple-home__contact{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin:0 var(--spacing-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-gray-light)}.simple-home__contact h2{font-family:var(--font-heading);font-size:1.5rem;color:var(--color-text-dark);margin-bottom:var(--spacing-lg);text-align:center}.simple-home__contact-lead{text-align:center;color:var(--color-gray);margin:-8px 0 var(--spacing-lg)}.simple-home__contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-lg)}.simple-home__contact-card{background:var(--color-beige);border:1px solid var(--color-gray-light);border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;gap:var(--spacing-sm);align-items:flex-start;font-size:.95rem;color:var(--color-text)}.simple-home__contact-card svg{color:var(--color-primary);margin-top:2px}.simple-home__contact-card a{color:inherit;font-weight:600}.simple-home__contact-link{display:inline-flex;margin-top:var(--spacing-xs);color:var(--color-primary-dark);font-weight:500}.simple-home__contact-link:hover{color:var(--color-primary)}@media(max-width:900px){.simple-home__contact-grid{grid-template-columns:1fr}.simple-home__hero-content{padding:var(--spacing-xl)}}@media(max-width:600px){.simple-home__main{padding-top:var(--spacing-xl)}.simple-home__contact{margin:0 var(--spacing-sm)}}:root{--color-primary: #d4a574;--color-primary-dark: #c49464;--color-primary-light: #e8c9a8;--color-secondary: #b8a69a;--color-secondary-dark: #8b6f5c;--color-accent: #c17d7d;--color-accent-dark: #a65a5a;--color-white: #ffffff;--color-cream: #faf8f5;--color-beige: #f5f0ea;--color-gray-light: #e8e4e0;--color-gray: #9a9590;--color-gray-dark: #6b6560;--color-text: #4a4540;--color-text-dark: #2d2a26;--gradient-hero: linear-gradient(135deg, rgba(212, 165, 116, .9) 0%, rgba(184, 166, 154, .85) 100%);--gradient-overlay: linear-gradient(to bottom, rgba(250, 248, 245, 0) 0%, rgba(250, 248, 245, 1) 100%);--font-heading: "Playfair Display", Georgia, serif;--font-body: "Poppins", -apple-system, BlinkMacSystemFont, sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-xxl: 5rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 50%;--shadow-sm: 0 2px 8px rgba(74, 69, 64, .08);--shadow-md: 0 4px 20px rgba(74, 69, 64, .12);--shadow-lg: 0 8px 40px rgba(74, 69, 64, .16);--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-cream);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit;transition:color var(--transition-fast)}ul,ol{list-style:none}button{font-family:inherit;cursor:pointer;border:none;background:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text-dark);line-height:1.3;font-weight:600}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.75rem,4vw,2.75rem)}h3{font-size:clamp(1.25rem,3vw,1.75rem)}h4{font-size:clamp(1.1rem,2.5vw,1.35rem)}p{margin-bottom:var(--spacing-sm)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.section{padding:var(--spacing-xxl) 0;content-visibility:auto;contain-intrinsic-size:800px}.section-title{text-align:center;margin-bottom:var(--spacing-xl);position:relative}.section-title:after{content:"";display:block;width:80px;height:3px;background:var(--color-primary);margin:var(--spacing-sm) auto 0;border-radius:var(--radius-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:.875rem 2rem;font-size:.95rem;font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-normal);text-transform:uppercase;letter-spacing:.5px}.btn-primary{background:var(--color-primary);color:var(--color-white);box-shadow:0 4px 15px #d4a5744d}.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 6px 20px #d4a57466}.btn-secondary{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-secondary:hover{background:var(--color-primary);color:var(--color-white)}.btn-outline-light{background:transparent;color:var(--color-white);border:2px solid var(--color-white)}.btn-outline-light:hover{background:var(--color-white);color:var(--color-primary)}.card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.animate-fadeInUp{animation:fadeInUp .8s ease forwards}.animate-fadeIn{animation:fadeIn .6s ease forwards}.animate-slideInLeft{animation:slideInLeft .8s ease forwards}.animate-slideInRight{animation:slideInRight .8s ease forwards}.text-center{text-align:center}.text-primary{color:var(--color-primary)}.text-accent{color:var(--color-accent)}.bg-cream{background-color:var(--color-cream)}.bg-beige{background-color:var(--color-beige)}.bg-white{background-color:var(--color-white)}@media(max-width:768px){html{font-size:15px}.section{padding:var(--spacing-xl) 0}}@media(max-width:480px){html{font-size:14px}.container{padding:0 var(--spacing-sm)}}.admin-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-cream);gap:var(--spacing-md)}.admin-loading-spinner{width:40px;height:40px;border:3px solid var(--color-gray-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.admin-loading p{color:var(--color-gray);font-size:.9rem}
