.location-dialog{background:var(--cream);color:var(--ink);border:1px solid var(--line);padding:48px;width:min(760px,calc(100% - 32px));max-height:90vh;overflow:auto}.location-dialog::backdrop{background:rgba(25,35,25,.65);backdrop-filter:blur(4px)}.location-dialog h2{font-size:43px}.dialog-close{position:absolute;right:18px;top:12px;border:0;background:none;color:var(--ink);font-size:30px}.dialog-intro{font-size:0.875rem;line-height:1.7;color:var(--muted)}.location-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:25px}.location-option{background:transparent;border:1px solid var(--line);padding:25px;text-align:left;color:var(--ink);display:flex;flex-direction:column;align-items:start}.location-option:hover{border-color:var(--wine);background:var(--blush)}.location-option .eyebrow{font-size:0.875rem;letter-spacing:1.4px;margin-bottom:16px}.location-option strong{font-family:Georgia,serif;font-size:27px;font-weight:400}.location-address{display:block;font-size:0.875rem;line-height:1.8;color:var(--muted);margin:15px 0 24px}.location-action{font-size:0.875rem;margin-top:auto;color:var(--wine)}.location-list{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:30px}.location-entry{border-top:1px solid var(--line);padding-top:22px}.location-entry h3{font:30px Georgia,serif;margin:0 0 12px}.location-entry p{font-size:0.875rem;line-height:1.8;color:var(--muted)}.contact-book{margin-bottom:12px}.booking-wrap{max-width:1080px;margin:auto;padding:55px 6% 80px}.back-link{font-size:0.875rem;color:var(--muted);display:inline-block;margin-bottom:35px}.booking-heading h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(42px,5vw,65px);letter-spacing:-2px;margin:0 0 18px}.booking-heading h1 em{color:var(--wine)}.booking-heading p{color:var(--muted);line-height:1.8;max-width:650px;font-size:0.875rem}.booking-bar{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:32px 0 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}.booking-bar strong{font:24px Georgia,serif}.booking-bar p{margin:8px 0 0;font-size:0.875rem;color:var(--muted);line-height:1.7;max-width:500px}.service-label{display:block;font-size:0.875rem;margin-bottom:9px;letter-spacing:1px}#booking-service{font:0.875rem Arial,sans-serif;color:var(--ink);background:var(--white);border:1px solid var(--line);padding:14px;width:100%;max-width:450px;margin-bottom:25px}.calendar-container{background:#fff;min-height:240px;border:1px solid var(--line)}.booking-empty{padding:55px 7%;text-align:center}.booking-empty h3{font:32px Georgia,serif;margin:0 0 15px}.booking-empty p{font-size:0.875rem;color:var(--muted);line-height:1.8;max-width:530px;margin:0 auto 24px}.calendar-help{font-size:0.875rem;padding:0 20px 20px;color:var(--muted);text-align:center}.calendar-help a{text-decoration:underline}.booking-tip{font-size:0.875rem;line-height:1.8;color:var(--muted);margin-top:22px}@media(max-width:650px){.location-dialog{padding:35px 22px}.location-dialog h2{font-size:34px}.location-options,.location-list{grid-template-columns:1fr}.location-option{padding:20px}.booking-bar{align-items:start;flex-direction:column}.booking-wrap{padding-top:35px}.booking-empty{padding:35px 20px}}

.booking-kind{display:block;font-size:0.875rem;color:var(--wine);letter-spacing:.4px;margin:0 0 16px}.appointment-picker{padding:28px}.appointment-meta{display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--line);padding-bottom:22px}.appointment-meta strong{font:26px Georgia,serif}.appointment-meta span,.appointment-meta small{font-size:0.875rem;color:var(--muted)}.booking-connection{font-size:0.875rem;line-height:1.7;background:var(--cream);padding:14px 18px}.appointment-columns{display:grid;grid-template-columns:1fr 1fr;gap:35px}.month-nav{display:flex;justify-content:space-between;align-items:center}.month-nav h3,.time-panel h3,.appointment-details h3{font:23px Georgia,serif}.month-nav button{border:1px solid var(--line);background:var(--cream);padding:7px 12px;color:var(--ink)}.weekday-grid,.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekday-grid span{text-align:center;font-size:0.875rem;color:var(--muted);padding:8px 0}.date-grid button{border:1px solid var(--line);background:transparent;padding:11px 0;font:0.875rem Arial;color:var(--ink)}button:disabled{opacity:.35;cursor:not-allowed}.date-grid button.selected,.time-button.selected{background:var(--olive);color:white}.time-panel p{font-size:0.875rem;line-height:1.8;color:var(--muted)}.time-list{display:flex;flex-wrap:wrap;gap:8px;font-size:0.875rem;line-height:1.8}.time-button{background:var(--cream);border:1px solid var(--line);padding:10px 14px;font-size:0.875rem}.appointment-details{margin-top:30px;border-top:1px solid var(--line);padding-top:20px}.appointment-details p{font-size:0.875rem;line-height:1.8}.customer-form{display:grid;grid-template-columns:1fr 1fr;gap:17px}.customer-form label{font-size:0.875rem;display:flex;flex-direction:column;gap:8px}.customer-form input,.customer-form select,.setup-input{background:#fff;border:1px solid var(--line);padding:12px;color:var(--ink);font:0.875rem Arial;width:100%}.customer-form p,.customer-form button{grid-column:1/-1}.booking-consent{color:var(--muted);font-size:0.875rem!important}.setup-section{padding:30px 0;border-top:1px solid var(--line)}.setup-section h2{font-size:28px;letter-spacing:-.6px}.setup-section p{font-size:0.875rem;line-height:1.9;color:var(--muted)}.setup-section a{text-decoration:underline}.setup-input{margin-bottom:18px}.setup-code{display:block;overflow-wrap:anywhere;background:var(--blush);padding:17px;font-size:0.875rem}.setup-error{background:#f1d9da;color:#702b37;padding:17px}.setup-success{color:#345d39!important;font-weight:bold}@media(max-width:650px){.appointment-picker{padding:18px}.appointment-columns,.customer-form{grid-template-columns:1fr}.appointment-columns{gap:15px}.month-nav h3{font-size:21px}}

.location-dialog{border-radius:12px;box-shadow:0 30px 90px #2d1c3050}.location-option{border-radius:7px}.location-option:hover{background:var(--blush)}.service-select,#booking-service{border-radius:5px}.location-dialog::backdrop{background:rgba(43,25,34,.65)}.calendar-container{border-radius:10px}.booking-empty{background:var(--white)}.booking-progress{color:var(--wine)}
