.header{background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);height:var(--header-height);position:sticky;top:0;z-index:100}.header-inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-4);height:100%;display:flex;align-items:center;justify-content:space-between}.header-logo{display:flex;flex-direction:column;line-height:1.1;text-decoration:none}.logo-text{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700;color:var(--color-gold)}.logo-sub{font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.1em;text-transform:uppercase}.header-nav{display:flex;gap:var(--space-6)}.nav-link{color:var(--color-text-muted);font-weight:500;font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:color var(--transition-fast)}.nav-link:hover{color:var(--color-text)}.nav-link.active{color:var(--color-gold)}.menu-toggle{display:none;flex-direction:column;gap:4px;padding:var(--space-2);min-width:44px;min-height:44px;align-items:center;justify-content:center}.menu-bar{display:block;width:20px;height:2px;background:var(--color-text);border-radius:1px;transition:transform var(--transition-fast)}@media(max-width:768px){.menu-toggle{display:flex}.header-nav{display:none;position:absolute;top:var(--header-height);left:0;right:0;background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);flex-direction:column;padding:var(--space-4);gap:var(--space-2)}.header-nav.open{display:flex}.nav-link{padding:var(--space-3) var(--space-4);font-size:var(--text-base)}}.footer{background:var(--color-bg-elevated);border-top:1px solid var(--color-border);padding:var(--space-6) var(--space-4);margin-top:auto}.footer-inner{max-width:var(--max-width);margin:0 auto;display:flex;justify-content:space-between;align-items:center}.footer-brand{display:flex;flex-direction:column;gap:var(--space-1)}.footer-name{font-family:var(--font-heading);font-weight:600;color:var(--color-gold)}.footer-est{font-size:var(--text-xs);color:var(--color-text-dim)}.footer-contact{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1)}.footer-phone{font-weight:600;font-size:var(--text-sm)}.footer-address{font-size:var(--text-xs);color:var(--color-text-muted)}.footer-recaptcha{width:100%;text-align:center;font-size:var(--text-xs);color:var(--color-text-dim);margin-top:var(--space-3)}.footer-recaptcha a{color:var(--color-text-dim);text-decoration:underline}@media(max-width:480px){.footer-inner{flex-direction:column;gap:var(--space-4);text-align:center}.footer-contact{align-items:center}}.loading-spinner{display:flex;justify-content:center;padding:var(--space-8)}.spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast-container{position:fixed;bottom:var(--space-4);right:var(--space-4);z-index:1000;display:flex;flex-direction:column;gap:var(--space-2)}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);box-shadow:var(--shadow-lg);animation:slide-in .3s ease;min-width:280px;max-width:400px}@keyframes slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-info{background:var(--color-bg-card);border:1px solid var(--color-border);color:var(--color-text)}.toast-success{background:var(--color-success-bg);border:1px solid var(--color-success);color:var(--color-success)}.toast-error{background:var(--color-error-bg);border:1px solid var(--color-error);color:var(--color-error)}.toast-close{margin-left:auto;font-size:var(--text-lg);color:inherit;opacity:.6;min-width:24px;min-height:24px}.toast-close:hover{opacity:1}.skip-link{position:absolute;top:-100px;left:var(--space-4);background:var(--color-gold);color:var(--color-bg);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:600;z-index:200;transition:top .2s}.skip-link:focus{top:var(--space-2)}.stepper{margin-bottom:var(--space-8)}.stepper-list{display:flex;list-style:none;justify-content:space-between;position:relative}.stepper-list:before{content:"";position:absolute;top:14px;left:10%;right:10%;height:2px;background:var(--color-border)}.stepper-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);position:relative;z-index:1;flex:1}.stepper-number{width:30px;height:30px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:600;border:2px solid var(--color-border);background:var(--color-bg);color:var(--color-text-dim);transition:all var(--transition-normal)}.stepper-label{font-size:var(--text-xs);color:var(--color-text-dim);text-align:center;transition:color var(--transition-normal)}.stepper-item.active .stepper-number{border-color:var(--color-gold);background:var(--color-gold);color:var(--color-bg)}.stepper-item.active .stepper-label{color:var(--color-gold);font-weight:600}.stepper-item.done .stepper-number{border-color:var(--color-success);background:var(--color-success);color:#fff}.stepper-item.done .stepper-label{color:var(--color-text-muted)}@media(max-width:480px){.stepper-label{display:none}}.service-selector{margin-bottom:var(--space-8)}.section-desc{color:var(--color-text-muted);margin-bottom:var(--space-6)}.service-cards{display:grid;gap:var(--space-4)}.service-card{background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);text-align:left;transition:all var(--transition-fast);position:relative;cursor:pointer;min-height:44px}.service-card:hover{border-color:var(--color-gold-muted);background:var(--color-bg-elevated)}.service-card.selected{border-color:var(--color-gold);background:var(--color-gold-muted)}.service-badge{position:absolute;top:var(--space-3);right:var(--space-3);background:var(--color-gold);color:var(--color-bg);font-size:var(--text-xs);font-weight:700;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full)}.service-card-title{font-family:var(--font-heading);font-size:var(--text-lg);margin-bottom:var(--space-2);color:var(--color-text)}.service-card-desc{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5}.calendar{margin-bottom:var(--space-6)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.calendar-month{font-size:var(--text-lg)}.calendar-nav{font-size:var(--text-xl);min-width:44px;min-height:44px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-day-label{text-align:center;font-size:var(--text-xs);font-weight:600;color:var(--color-text-dim);padding:var(--space-2)}.calendar-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;min-width:44px;min-height:44px;transition:all var(--transition-fast);background:transparent;color:var(--color-text);border:1px solid transparent}.calendar-cell.empty{cursor:default}.calendar-cell.available{cursor:pointer;color:var(--color-available);border-color:#22c55e33}.calendar-cell.available:hover{background:#22c55e1a}.calendar-cell.limited{cursor:pointer;color:var(--color-limited);border-color:#f59e0b33}.calendar-cell.limited:hover{background:#f59e0b1a}.calendar-cell.full{color:var(--color-text-dim);cursor:not-allowed}.calendar-cell.holiday{color:#e879f9;border-color:#e879f933;cursor:not-allowed}.calendar-cell.past,.calendar-cell.weekend{color:var(--color-text-dim);opacity:.4;cursor:not-allowed}.calendar-cell.selected{background:var(--color-gold);color:var(--color-bg);border-color:var(--color-gold);font-weight:700}.calendar-legend{display:flex;gap:var(--space-6);margin-top:var(--space-4);justify-content:center}.legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}.legend-dot{width:8px;height:8px;border-radius:var(--radius-full)}.legend-dot.available{background:var(--color-available)}.legend-dot.limited{background:var(--color-limited)}.legend-dot.full{background:var(--color-full)}.legend-dot.holiday{background:#e879f9}.time-slots{margin-top:var(--space-6)}.time-slots h3{margin-bottom:var(--space-4)}.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-3)}.slot-card{background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);text-align:center;cursor:pointer;transition:all var(--transition-fast);min-height:44px}.slot-card:hover:not(.booked){border-color:var(--color-gold-muted)}.slot-card.selected{border-color:var(--color-gold);background:var(--color-gold-muted)}.slot-card.booked{opacity:.4;cursor:not-allowed}.slot-time{display:block;font-weight:600;font-size:var(--text-lg);color:var(--color-text)}.slot-avail{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.text-muted{color:var(--color-text-muted)}.date-time-picker h2,.contact-form h2{margin-bottom:var(--space-2)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-6)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted)}.form-error{font-size:var(--text-xs);color:var(--color-error)}.form-error-banner{background:var(--color-error-bg);border:1px solid var(--color-error);color:var(--color-error);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--text-sm)}.toggle-label{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;font-size:var(--text-sm);color:var(--color-text)}.toggle-label input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.toggle-switch{position:relative;width:44px;height:24px;background:var(--color-border);border-radius:var(--radius-full);transition:background var(--transition-fast);flex-shrink:0}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:var(--color-text);border-radius:var(--radius-full);transition:transform var(--transition-fast)}.toggle-label input:checked+.toggle-switch{background:var(--color-gold)}.toggle-label input:checked+.toggle-switch:after{transform:translate(20px)}.toggle-label input:focus-visible+.toggle-switch{box-shadow:0 0 0 2px var(--color-gold-muted)}.btn-full{width:100%;margin-top:var(--space-4)}.review-confirm h2{margin-bottom:var(--space-2)}.review-cards{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-6)}.review-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.review-dl{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-4)}.review-dl dt{font-size:var(--text-sm);color:var(--color-text-muted)}.review-dl dd{font-size:var(--text-sm);color:var(--color-text)}.confirmation{text-align:center}.confirmation-icon{width:64px;height:64px;border-radius:var(--radius-full);background:var(--color-success-bg);color:var(--color-success);display:flex;align-items:center;justify-content:center;font-size:var(--text-2xl);margin:0 auto var(--space-4)}.confirmation h2{margin-bottom:var(--space-6)}.confirmation-card{text-align:left;margin-bottom:var(--space-6)}.conf-number{display:flex;flex-direction:column;align-items:center;padding-bottom:var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.conf-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.conf-value{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;color:var(--color-gold)}.notification-chips{display:flex;gap:var(--space-2);justify-content:center;margin-bottom:var(--space-6)}.chip{font-size:var(--text-xs);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full)}.chip-success{background:var(--color-success-bg);color:var(--color-success)}.chip-warn{background:var(--color-error-bg);color:var(--color-warning)}.whats-next{text-align:left;margin-bottom:var(--space-6)}.whats-next h3{margin-bottom:var(--space-3)}.whats-next ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.whats-next li{font-size:var(--text-sm);color:var(--color-text-muted);padding-left:var(--space-4);position:relative}.whats-next li:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-gold)}.confirmation-actions{display:flex;gap:var(--space-4);justify-content:center}@media(max-width:768px){.form-grid{grid-template-columns:1fr}.confirmation-actions{flex-direction:column}}.detail-card{margin-bottom:var(--space-6)}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.status-badge{font-size:var(--text-xs);font-weight:600;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full)}.status-scheduled{background:var(--color-success-bg);color:var(--color-success)}.status-hold{background:#f59e0b1a;color:var(--color-warning)}.status-done{background:var(--color-gold-muted);color:var(--color-gold)}.status-cancelled{background:var(--color-error-bg);color:var(--color-error)}.conf-highlight{font-family:var(--font-heading);font-weight:700;color:var(--color-gold)}.detail-actions{display:flex;gap:var(--space-4);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.policy-notice{font-size:var(--text-sm);color:var(--color-text-muted)}.reschedule-comparison{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-6) 0}.reschedule-comparison .card{flex:1;text-align:center}.comparison-arrow{font-size:var(--text-2xl);color:var(--color-gold)}@media(max-width:480px){.detail-actions,.reschedule-comparison{flex-direction:column}.comparison-arrow{transform:rotate(90deg)}}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.profile-card,.appointments-section{margin-bottom:var(--space-8)}.appointments-section h3{margin-bottom:var(--space-4)}.appt-list{display:flex;flex-direction:column;gap:var(--space-3)}.appt-card{display:flex;align-items:center;gap:var(--space-4);text-decoration:none;transition:border-color var(--transition-fast)}.appt-card:hover{border-color:var(--color-gold-muted)}.appt-card.past{opacity:.6}.appt-title{flex:1;font-weight:500;color:var(--color-text)}.appt-date{font-size:var(--text-sm);color:var(--color-text-muted)}.appt-conf{font-size:var(--text-sm);color:var(--color-gold);font-weight:600}.appt-status{font-size:var(--text-xs);color:var(--color-text-dim)}.empty-card{text-align:center;color:var(--color-text-muted)}.auth-links{display:flex;justify-content:center;gap:var(--space-4);margin-top:var(--space-4)}.account-page{max-width:480px;margin:0 auto}.admin-page{max-width:600px;margin:0 auto;padding:var(--space-8) var(--space-4)}.admin-login{text-align:center;padding-top:var(--space-16)}.admin-login h1{font-family:var(--font-heading);font-size:var(--text-2xl);margin-bottom:var(--space-2)}.admin-login p{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-6)}.admin-login form{display:flex;flex-direction:column;gap:var(--space-3);max-width:300px;margin:0 auto}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8)}.admin-header h1{font-family:var(--font-heading)}.admin-section{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.admin-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.admin-section-header h2{font-family:var(--font-heading);font-size:var(--text-lg)}.admin-section-actions{display:flex;gap:var(--space-3)}.admin-section-actions select{width:auto}.admin-error{color:var(--color-error);font-size:var(--text-sm);margin-bottom:var(--space-4)}.admin-empty{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-4)}.admin-list{list-style:none;margin-bottom:var(--space-4)}.admin-list li{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}.admin-list li:last-child{border-bottom:none}.admin-date{color:var(--color-text-muted);min-width:100px}.admin-delete{margin-left:auto;color:var(--color-error);font-size:var(--text-xs)}.admin-add{display:flex;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.admin-add .input{flex:1}@media(max-width:768px){.admin-section-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.admin-add{flex-wrap:wrap}}:root{--color-bg: #111010;--color-bg-elevated: #1A1919;--color-bg-card: #222121;--color-bg-input: #1A1919;--color-gold: #C9A84C;--color-gold-hover: #D4B85E;--color-gold-muted: rgba(201, 168, 76, .15);--color-text: #F8F4EC;--color-text-muted: #A8A29E;--color-text-dim: #6B6560;--color-border: #2E2D2D;--color-border-focus: #C9A84C;--color-error: #EF4444;--color-error-bg: rgba(239, 68, 68, .1);--color-success: #22C55E;--color-success-bg: rgba(34, 197, 94, .1);--color-warning: #F59E0B;--color-available: #22C55E;--color-limited: #F59E0B;--color-full: #6B6560;--font-heading: "Playfair Display", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .4);--transition-fast: .15s ease;--transition-normal: .25s ease;--max-width: 1280px;--header-height: 64px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:600;line-height:1.3}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}a{color:var(--color-gold);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-gold-hover)}button{font-family:var(--font-body);cursor:pointer;border:none;background:none;font-size:var(--text-base)}input,select,textarea{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);width:100%;transition:border-color var(--transition-fast)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 2px var(--color-gold-muted)}input::placeholder,textarea::placeholder{color:var(--color-text-dim)}.app-layout{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;width:100%;max-width:var(--max-width);margin:0 auto;padding:var(--space-8) var(--space-4)}.page-container{max-width:720px;margin:0 auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-weight:600;font-size:var(--text-base);transition:all var(--transition-fast);min-height:44px;min-width:44px}.btn-primary{background:var(--color-gold);color:var(--color-bg)}.btn-primary:hover{background:var(--color-gold-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--color-gold);border:1px solid var(--color-gold)}.btn-secondary:hover{background:var(--color-gold-muted)}.btn-ghost{background:transparent;color:var(--color-text-muted)}.btn-ghost:hover{color:var(--color-text);background:var(--color-bg-card)}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.grecaptcha-badge{visibility:hidden!important}@media(max-width:768px){h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}.main-content{padding:var(--space-4) var(--space-4)}}
