@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap");:root{--brand-50:#f5f3ff;--brand-100:#ede9fe;--brand-200:#c19ee0;--brand-300:#8187dc;--brand-400:#E6E6FA;--brand-500:#815ac0;--brand-600:#6a4a9e;--brand-700:#573a7d;--brand-800:#4c1d95;--brand-900:#2e1065;--accent-500:#815ac0;--accent-600:#6a4a9e;--pastel-purple:#f3e8ff;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px}.bookings-page{padding:2rem 0 4rem}.bookings-shell{display:flex;flex-direction:column;gap:1.25rem;max-width:1180px}.bookings-hero{display:flex;justify-content:space-between;gap:1.5rem;padding:1.75rem;border-radius:28px;border:1px solid var(--border-color);box-shadow:var(--shadow-md)}.bookings-hero-copy{max-width:720px}.bookings-eyebrow{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-500);font-weight:700;margin-bottom:.5rem}.bookings-title{font-size:clamp(2.2rem,3vw,3.2rem);letter-spacing:-.04em;margin-bottom:.6rem;color:var(--text-primary)}.bookings-subtitle{color:var(--text-secondary);font-size:1rem;max-width:56ch}.bookings-hero-meta{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:1rem;min-width:260px}.bookings-hero-stat{padding:1rem 1.1rem;border-radius:20px;background:rgba(255,255,255,.72);border:1px solid rgba(129,90,192,.12)}.bookings-hero-stat-value{display:block;font-size:1.8rem;font-weight:700;color:var(--text-primary);line-height:1}.bookings-hero-stat-label{display:block;font-size:.85rem;color:var(--text-secondary);margin-top:.45rem}.bookings-tabs{display:flex;gap:.4rem;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding:.35rem;border-radius:16px;background:rgba(129,90,192,.05);border:1px solid rgba(129,90,192,.1);scrollbar-width:none}.bookings-tabs::-webkit-scrollbar{display:none}.bookings-tab{border:1px solid transparent;background:transparent;color:var(--text-secondary);border-radius:12px;padding:.65rem 1rem;font-weight:600;font-size:.88rem;transition:.2s ease;flex:1 0 auto;min-width:max-content;scroll-snap-align:start;white-space:nowrap}.bookings-tab:hover{transform:translateY(-1px);border-color:rgba(129,90,192,.28)}.bookings-tab.active{background:var(--gradient-brand);color:white;box-shadow:var(--shadow-brand);border-color:transparent}.bookings-alert{padding:.9rem 1rem;border-radius:16px;font-size:.95rem;border:1px solid transparent}.bookings-alert-error{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.16);color:#b91c1c}.bookings-empty,.bookings-state-card{padding:3rem 1.5rem;border-radius:24px;text-align:center}.bookings-state-card{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text-secondary)}.bookings-empty-icon{width:82px;height:82px;margin:0 auto 1rem;border-radius:24px;display:grid;place-items:center;background:rgba(129,90,192,.08);color:var(--brand-500)}.bookings-empty-title{font-size:1.45rem;margin-bottom:.4rem}.bookings-empty-copy{color:var(--text-secondary);margin-bottom:1.5rem}.bookings-list{gap:.85rem}.booking-card,.bookings-list{display:flex;flex-direction:column}.booking-card{overflow:hidden;border-radius:18px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;border:1px solid rgba(129,90,192,.12);background:var(--bg-card);box-shadow:0 2px 12px rgba(17,24,39,.06)}.booking-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(129,90,192,.14);border-color:rgba(129,90,192,.22)}.booking-card-body{padding:1rem 1.1rem .9rem}.booking-card-top{display:flex;gap:.85rem;align-items:flex-start}.booking-thumb{width:72px;height:72px;flex-shrink:0;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,rgba(129,90,192,.12),rgba(129,135,220,.12));border:1px solid rgba(129,90,192,.1)}.booking-thumb-image{width:100%;height:100%;object-fit:cover;display:block}.booking-thumb-placeholder{width:100%;height:100%;display:grid;place-items:center;color:var(--brand-500)}.booking-card-main{flex:1 1;min-width:0}.booking-card-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem .65rem;align-items:start}.booking-card-header>div:first-child{min-width:0}.booking-card-heading{font-size:1.05rem;font-weight:700;line-height:1.3;margin-bottom:.2rem;overflow-wrap:anywhere;color:var(--text-primary)}.booking-card-service{color:var(--text-secondary);font-size:.88rem;line-height:1.35;overflow-wrap:anywhere}.booking-card-pro{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-muted);font-size:.82rem;margin-top:.35rem}.booking-card-info{margin-top:.75rem;padding-top:.7rem;border-top:1px dashed rgba(129,90,192,.14);display:flex;flex-direction:column;gap:.4rem}.booking-card-inline{display:flex;align-items:flex-start;gap:.45rem;color:var(--text-secondary);font-size:.82rem;line-height:1.4;margin-top:0}.booking-card-inline svg{flex-shrink:0;margin-top:.12rem;color:var(--brand-500)}.booking-card-inline-text{min-width:0;overflow-wrap:anywhere}.booking-card-meta{margin-top:.85rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.booking-meta-item{padding:.65rem .75rem;border-radius:12px;background:rgba(129,90,192,.04);border:1px solid rgba(129,90,192,.08);min-width:0}.booking-meta-item--price{background:rgba(129,90,192,.09);border-color:rgba(129,90,192,.18)}.booking-meta-item--price .booking-meta-value{color:var(--brand-600);font-size:.95rem;font-weight:700}.booking-meta-label,.bookings-input-label,.bookings-modal-stat-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600}.booking-meta-value,.bookings-modal-stat-value{margin-top:.35rem;display:inline-flex;align-items:center;gap:.45rem;font-weight:600;color:var(--text-primary)}.booking-card-actions{display:flex;flex-direction:column;align-items:stretch;gap:.55rem;padding:.85rem 1.1rem 1rem;width:100%;box-sizing:border-box;border-top:1px solid rgba(129,90,192,.1);background:rgba(129,90,192,.03)}.booking-card-actions .calendar-export-actions{width:100%;margin:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;order:3}.booking-card-actions .booking-btn{min-height:44px;padding:.55rem .85rem;font-size:.84rem;font-weight:600;gap:.35rem;line-height:1.25;width:100%;border-radius:12px}.booking-card-actions .calendar-export-actions .booking-btn,.booking-card-actions-toolbar .booking-btn{width:100%}.booking-card-actions .booking-btn svg{width:15px;height:15px;flex-shrink:0}.booking-card-actions-toolbar,.bookings-modal-footer-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:.5rem}.booking-card-actions-toolbar{order:2}.booking-card-actions-toolbar .booking-btn-view-details{grid-column:1/-1;width:100%;min-height:46px;font-size:.88rem;order:-1;border-radius:12px}.bookings-card-actions-note{order:1;width:100%;margin:0;padding:.55rem .65rem;border-radius:10px;background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.14);font-size:.82rem;line-height:1.4}.bookings-modal-footer-toolbar{gap:.65rem}.bookings-modal-footer-toolbar .booking-btn-block{grid-column:1/-1}.bookings-modal-footer{display:flex;flex-direction:column;gap:.75rem}.bookings-modal-actions,.bookings-modal-footer{flex-shrink:0;padding:1.15rem 1.5rem 1.5rem;border-top:1px solid rgba(129,90,192,.1);background:#fff}.bookings-modal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;width:100%;box-sizing:border-box}.booking-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.75rem 1rem;border-radius:999px;font-weight:600;border:1px solid transparent;transition:.2s ease}.booking-btn:hover{transform:translateY(-1px)}.booking-btn-primary{background:var(--gradient-brand);color:white;box-shadow:var(--shadow-brand)}.booking-btn-secondary{background:rgba(129,90,192,.08);color:var(--brand-700);border-color:rgba(129,90,192,.14)}.booking-btn-danger{background:rgba(239,68,68,.08);color:#b91c1c;border-color:rgba(239,68,68,.16)}.booking-btn-push{margin-left:0}.booking-btn-block{width:100%}.booking-status{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap;flex-shrink:0;line-height:1.2}.booking-card-header .booking-status{justify-self:end;align-self:start}.booking-status--confirmed{background:rgba(34,197,94,.1);color:#15803d}.booking-status--pending{background:rgba(245,158,11,.14);color:#b45309}.booking-status--completed{background:rgba(59,130,246,.1);color:#1d4ed8}.booking-status--cancelled{background:rgba(239,68,68,.1);color:#b91c1c}.booking-status--neutral{background:rgba(148,163,184,.12);color:var(--text-secondary)}.bookings-modal-backdrop{position:fixed;inset:0;z-index:60;background:rgba(17,24,39,.45);display:flex;align-items:center;justify-content:center;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.bookings-modal-card{width:min(100%,860px);max-height:90vh;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid rgba(129,90,192,.12);border-radius:28px;box-shadow:var(--shadow-lg);isolation:isolate;transform:translateZ(0)}.bookings-modal-card-compact{width:min(100%,700px)}.bookings-modal-header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.4rem 1.5rem;background:#fff;border-bottom:1px solid rgba(129,90,192,.08)}.bookings-modal-title{font-size:1.55rem;margin-bottom:.3rem}.bookings-modal-subtitle{color:var(--text-secondary);font-size:.92rem}.bookings-modal-close{width:44px;height:44px;border-radius:999px;border:1px solid rgba(129,90,192,.12);background:rgba(129,90,192,.06);color:var(--text-secondary)}.bookings-modal-body{flex:1 1;min-height:0;overflow-y:auto;padding:1.5rem}.bookings-divider+.bookings-modal-section,.bookings-modal-section+.bookings-divider{margin-top:1.25rem}.bookings-divider{border:0;border-top:1px solid rgba(129,90,192,.08)}.bookings-section-title{font-size:1rem;margin-bottom:.85rem}.bookings-modal-entity{display:flex;gap:1rem;align-items:flex-start}.bookings-modal-entity-image{width:96px;height:96px;object-fit:cover;border-radius:20px}.bookings-modal-entity-title,.bookings-strong{font-weight:700;color:var(--text-primary)}.bookings-muted-text{color:var(--text-secondary);font-size:.94rem;line-height:1.7}.bookings-professional-row{display:flex;align-items:center;gap:.85rem}.bookings-professional-avatar{width:52px;height:52px;border-radius:999px;object-fit:cover}.bookings-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.bookings-modal-stat{padding:.95rem 1rem;border-radius:18px;background:rgba(129,90,192,.04);border:1px solid rgba(129,90,192,.08)}.bookings-price{font-size:1.8rem;font-weight:800;color:var(--brand-600)}.bookings-reschedule-summary{padding:1rem 1.1rem;border-radius:20px;background:rgba(129,90,192,.05);border:1px solid rgba(129,90,192,.1);display:grid;gap:.3rem}.bookings-input{width:100%;margin-top:.55rem;border-radius:16px;border:1px solid rgba(129,90,192,.14);background:rgba(255,255,255,.94);color:var(--text-primary);padding:.9rem 1rem;font-size:.95rem}.bookings-slots-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.85rem}.bookings-slots-loading{color:var(--text-secondary);font-size:.9rem}.bookings-empty-slots{padding:1rem;text-align:center;border-radius:18px;color:var(--text-secondary);background:rgba(129,90,192,.04);border:1px dashed rgba(129,90,192,.16)}.bookings-slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.bookings-slot-button{border-radius:16px;border:1px solid rgba(129,90,192,.12);background:rgba(255,255,255,.92);color:var(--text-primary);padding:.8rem .9rem;font-weight:600;transition:.2s ease}.bookings-slot-button:hover{border-color:rgba(129,90,192,.3)}.bookings-slot-button.active{background:var(--gradient-brand);color:white;border-color:transparent;box-shadow:var(--shadow-brand)}.bookings-modify-slots-wrap{margin-top:.5rem}.bookings-modify-slots-legend{display:flex;flex-wrap:wrap;gap:1rem 1.25rem;margin-bottom:.85rem}.bookings-modify-legend-item{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:500;color:var(--text-secondary)}.bookings-modify-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.bookings-modify-legend-dot.available{background:var(--brand-500)}.bookings-modify-legend-dot.held{background:#fbbf24}.bookings-modify-legend-dot.booked{background:#ef4444}.bookings-modify-slots-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;max-height:min(42vh,320px);overflow-y:auto;padding:2px;-webkit-overflow-scrolling:touch}.bookings-modify-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-height:52px;padding:.65rem .5rem;border-radius:10px;border:1.5px solid rgba(129,90,192,.14);background:#fff;font-size:.88rem;font-weight:600;color:var(--text-primary);cursor:pointer;text-align:center;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.bookings-modify-slot-time{line-height:1.25}.bookings-modify-slot-badge{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;line-height:1.1}.bookings-modify-slot--available:hover:not(:disabled){border-color:var(--brand-300);background:rgba(129,90,192,.06)}.bookings-modify-slot--selected{border-color:var(--brand-500);background:rgba(129,90,192,.1);color:var(--brand-600);box-shadow:0 2px 10px rgba(129,90,192,.18)}.bookings-modify-slot--held{border-color:#fbbf24;background:rgba(251,191,36,.1);color:#92400e;cursor:not-allowed;opacity:.85}.bookings-modify-slot--booked{border-color:#fca5a5;background:rgba(239,68,68,.06);color:#991b1b;cursor:not-allowed;opacity:.75}.bookings-modify-slot--booked .bookings-modify-slot-time{text-decoration:line-through}.bookings-modify-slot:disabled{pointer-events:none}.bookings-review-section{margin-top:.25rem}.bookings-review-intro{margin:0 0 1rem;font-size:.9rem}.bookings-reservation-review .sp-review-card{margin-top:0;border:1px solid rgba(129,90,192,.14);border-radius:16px;padding:1.1rem 1.15rem;background:rgba(129,90,192,.03)}.bookings-review-form-title{font-size:.95rem;font-weight:700;margin:0 0 .65rem;color:var(--text-primary)}.bookings-review-textarea{display:block;width:100%;margin-top:.65rem;min-height:100px;padding:.75rem .85rem;border-radius:12px;border:1px solid rgba(129,90,192,.18);background:#fff;font-family:inherit;font-size:.92rem;line-height:1.45;resize:vertical}.bookings-review-textarea:focus{outline:none;border-color:var(--brand-400);box-shadow:0 0 0 3px rgba(129,90,192,.12)}.bookings-review-submit{margin-top:.25rem}.bookings-review-error{color:#dc2626;font-size:.85rem;margin:0 0 .65rem}.bookings-auth-card{padding:3rem 2rem;border-radius:28px;text-align:center}.bookings-auth-card h2{margin-bottom:.5rem}.bookings-auth-card p{color:var(--text-secondary);margin-bottom:1.4rem}@media (min-width:640px){.bookings-tab{flex:1 1;text-align:center;min-width:0}.booking-card-body{padding:1.15rem 1.25rem 1rem}.booking-thumb{width:84px;height:84px}.booking-card-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}}@media (min-width:900px){.bookings-list{gap:1rem}.booking-card{border-radius:20px}.booking-card-body{padding:1.25rem 1.5rem 1.1rem}.booking-card-top{gap:1.1rem}.booking-thumb{width:96px;height:96px;border-radius:16px}.booking-card-heading{font-size:1.12rem}.booking-card-actions{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.9rem 1.5rem 1.1rem;gap:.65rem}.booking-card-actions-toolbar{width:auto;max-width:100%;grid-template-columns:repeat(3,auto);justify-content:flex-end;order:2}.booking-card-actions-toolbar .booking-btn-view-details{grid-column:auto;width:auto;min-width:8.5rem;order:3}.booking-card-actions .calendar-export-actions{width:auto;margin-right:auto;order:1;grid-template-columns:repeat(2,auto)}.booking-card-actions .booking-btn,.booking-card-actions .calendar-export-actions .booking-btn,.booking-card-actions-toolbar .booking-btn{width:auto;min-width:7.5rem}.bookings-card-actions-note{flex:1 1 100%;order:0}}@media (max-width:900px){.bookings-hero{flex-direction:column}.bookings-hero-meta{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}}@media (max-width:720px){.bookings-modal-backdrop{align-items:flex-end;padding:0}.bookings-modal-card{border-radius:28px 28px 0 0;max-height:85vh;animation:slideUp .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bookings-page{padding-top:.55rem;padding-bottom:1.5rem}.bookings-shell{gap:.6rem}.booking-card-actions,.booking-card-body,.bookings-hero,.bookings-modal-actions,.bookings-modal-body,.bookings-modal-footer,.bookings-modal-header{padding-left:.75rem;padding-right:.75rem}.bookings-hero{padding-top:.95rem;padding-bottom:.95rem;border-radius:16px}.bookings-title{font-size:1.35rem;margin-bottom:.25rem}.bookings-subtitle{font-size:.82rem;line-height:1.35}.bookings-hero-stat{padding:.65rem .75rem;border-radius:12px}.bookings-hero-stat-value{font-size:1.15rem}.bookings-hero-stat-label{font-size:.72rem;margin-top:.2rem}.bookings-modal-entity{flex-direction:column}.booking-card{border-radius:14px}.booking-card-body{padding-top:.72rem;padding-bottom:.72rem}.booking-card-top{gap:.62rem}.booking-card-heading{font-size:1rem;margin-bottom:.1rem}.booking-card-service{font-size:.8rem;line-height:1.25}.booking-thumb{width:56px;min-width:56px;height:56px;border-radius:10px}.bookings-tab{padding:.55rem .85rem;font-size:.8rem}.booking-card-meta{margin-top:.65rem;gap:.45rem}.booking-meta-item{padding:.45rem .52rem;border-radius:10px}.booking-meta-label{font-size:.6rem;letter-spacing:.05em}.booking-meta-value{font-size:.75rem;margin-top:.1rem;gap:.28rem}.booking-card-inline{font-size:.72rem;margin-top:.24rem;gap:.3rem}.booking-card-pro{font-size:.74rem;margin-top:.28rem}.booking-status{padding:.32rem .52rem;font-size:.68rem;gap:.28rem}.booking-card-actions{gap:.5rem;padding-top:.75rem;padding-bottom:.8rem}.booking-card-actions .booking-btn{min-height:44px;font-size:.82rem}.bookings-modal-actions,.bookings-modal-footer-toolbar{grid-template-columns:1fr;gap:.5rem}.booking-btn{min-height:44px;font-size:.84rem;padding:.5rem .85rem}.bookings-modal-grid,.bookings-modify-slots-grid,.bookings-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.bookings-hero-meta,.bookings-modal-grid,.bookings-modify-slots-grid,.bookings-slot-grid{grid-template-columns:1fr}.booking-card-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-thumb{width:64px;height:64px}}:root{--bg-primary:#f9fafb;--bg-secondary:#f3f4f6;--bg-card:#ffffff;--bg-card-hover:#f3e8ff;--bg-glass:rgba(255,255,255,0.96);--text-primary:#111827;--text-secondary:#6b7280;--text-muted:#9ca3af;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--brand-soft:#e8dff7;--gradient-bg:linear-gradient(180deg,#ffffff,#f9fafb);--gradient-brand:linear-gradient(135deg,#815ac0,#b185db);--gradient-subtle:linear-gradient(135deg,rgba(129,90,192,0.05),rgba(177,133,219,0.02));--shadow-sm:0 1px 3px rgba(129,90,192,0.04);--shadow-md:0 4px 14px rgba(129,90,192,0.06);--shadow-lg:0 8px 24px rgba(129,90,192,0.08);--shadow-brand:0 4px 18px rgba(129,90,192,0.2);--border-color:#e5e7eb}[data-theme=dark]{color-scheme:dark;--bg-primary:#0b0e14;--bg-secondary:#111827;--bg-card:#1f2937;--bg-card-hover:#374151;--bg-glass:rgba(17,24,39,0.8);--text-primary:#f9fafb;--text-secondary:#9ca3af;--text-muted:#6b7280;--brand-soft:rgba(129,90,192,0.15);--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--gradient-brand:linear-gradient(135deg,#815ac0,#b185db);--gradient-subtle:linear-gradient(135deg,rgba(129,90,192,0.12),rgba(177,133,219,0.08));--shadow-sm:0 1px 2px rgba(0,0,0,0.3);--shadow-md:0 4px 12px rgba(0,0,0,0.4);--shadow-lg:0 8px 24px rgba(0,0,0,0.5);--shadow-brand:0 4px 24px rgba(129,90,192,0.3);--border-color:rgba(255,255,255,0.1)}[data-theme=light]{color-scheme:light;--bg-primary:#fbfaff;--bg-secondary:#f6f2ff;--bg-card:rgba(255,255,255,0.92);--bg-card-hover:rgba(255,255,255,0.98);--bg-glass:rgba(255,255,255,0.86);--text-primary:#1a1428;--text-secondary:#51455c;--text-muted:#7a6f86;--gray-50:#fbfaff;--gray-100:#f6f2ff;--gray-200:#ece6f7;--gray-300:#ddd5ee;--gray-400:#b5aacb;--gray-500:#8b7fa2;--gray-600:#6d607f;--gray-700:#52465f;--gray-800:#2f2739;--gray-900:#1a1428;--brand-soft:rgba(193,158,224,0.28);--gradient-bg:radial-gradient(1200px 600px at 10% 0%,rgba(193,158,224,0.22) 0%,rgba(255,255,255,0) 60%),radial-gradient(900px 500px at 100% 10%,rgba(129,135,220,0.18) 0%,rgba(255,255,255,0) 60%),linear-gradient(180deg,#fbfaff,#f6f2ff);--gradient-brand:linear-gradient(135deg,#815ac0,#8187dc 55%,#b185db);--gradient-subtle:linear-gradient(135deg,rgba(129,90,192,0.06),rgba(129,135,220,0.04));--shadow-sm:0 1px 3px rgba(106,74,158,0.08);--shadow-md:0 8px 22px rgba(106,74,158,0.12);--shadow-lg:0 18px 50px rgba(106,74,158,0.14);--shadow-brand:0 14px 34px rgba(129,90,192,0.22);--border-color:rgba(129,90,192,0.14)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;color-scheme:light}body,html{overflow-x:hidden}body{font-family:Poppins,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--gradient-bg);background-attachment:fixed;min-height:100vh;color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--gray-600);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--accent-500)}h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:700}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer}button,input,select,textarea{font-family:inherit}.container{max-width:1280px;margin:0 auto;padding:0 1.5rem}@media (max-width:768px){.container{padding:0 1.1rem}}@media (max-width:520px){.container{padding:0 .9rem}}.table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll>table{min-width:720px}.text-gradient{background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--gradient-brand);color:white;font-weight:600;font-size:.9rem;padding:.75rem 1.75rem;border-radius:var(--radius-full);border:none;transition:all .25s ease;box-shadow:var(--shadow-brand);cursor:pointer}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 28px rgba(236,72,153,.45)}.btn-primary:active{transform:translateY(0)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:transparent;color:var(--text-primary);font-weight:600;font-size:.9rem;padding:.75rem 1.75rem;border-radius:var(--radius-full);border:1px solid var(--border-color);transition:all .25s ease;cursor:pointer}.btn-secondary:hover{background:var(--bg-card);border-color:var(--brand-500);color:var(--brand-400)}.btn-ghost{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--text-secondary);font-weight:500;font-size:.875rem;padding:.5rem 1rem;border-radius:var(--radius-md);border:none;transition:all .2s ease;cursor:pointer}.btn-ghost:hover{color:var(--text-primary)}.btn-ghost:hover,.card{background:var(--bg-card)}.card{border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:all .3s ease}.card:hover{border-color:rgba(236,72,153,.3);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.glass{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.glass,.input-field{border:1px solid var(--border-color)}.input-field{width:100%;background:var(--bg-secondary);border-radius:var(--radius-md);padding:.75rem 1rem;color:var(--text-primary);font-size:.9rem;transition:border-color .2s ease,box-shadow .2s ease;outline:none}.input-field:focus{border-color:var(--brand-500);box-shadow:0 0 0 3px rgba(236,72,153,.15)}.input-field::placeholder{color:var(--text-muted)}.badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;padding:.25rem .625rem;border-radius:var(--radius-full)}.badge-brand{background:rgba(236,72,153,.15);color:var(--brand-400);border:1px solid rgba(236,72,153,.25)}.badge-accent{background:rgba(168,85,247,.15);color:#c084fc;border:1px solid rgba(168,85,247,.25)}.badge-success{background:rgba(16,185,129,.1);color:#10b981;border:1px solid rgba(16,185,129,.2)}.badge-danger,.badge-error{background:rgba(239,68,68,.1);color:#ef4444;border:1px solid rgba(239,68,68,.2)}.badge-warning{background:rgba(234,179,8,.12);color:#facc15;border:1px solid rgba(234,179,8,.2)}.stars{display:flex;align-items:center;gap:2px;color:#facc15}.section{padding:5rem 0}.divider{height:1px;background:var(--border-color);width:100%}.spinner{width:24px;height:24px;border:2px solid var(--border-color);border-top-color:var(--brand-500);border-radius:50%;animation:spin .7s linear infinite}.glow-brand{box-shadow:0 0 30px rgba(236,72,153,.2),0 0 60px rgba(236,72,153,.1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fade-in{animation:fadeIn .4s ease forwards}.animate-float{animation:float 3s ease-in-out infinite}.salon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:1.5rem}.landing-section{padding:3rem 0;overflow-x:hidden}.landing-section-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);text-align:center;margin-bottom:2rem}.featured-salons-section{padding-top:2rem;padding-bottom:2.5rem;background:transparent}.featured-salons-header{margin-bottom:1.5rem;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem}.featured-salons-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem;width:100%}.featured-salons-subtitle{font-size:.95rem;color:var(--text-muted);margin:0;width:100%}.featured-salons-view-all{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem;font-weight:600;color:var(--accent-500);transition:color .2s,transform .2s}.featured-salons-view-all:hover{color:var(--accent-600);transform:translateX(4px)}.featured-salons-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}.featured-salons-card{position:relative;display:flex;flex-direction:column;background:var(--bg-card);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;color:inherit;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease,border-color .2s;animation:featuredCardFadeIn .5s ease forwards;opacity:0}.featured-salons-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg),0 12px 28px rgba(219,39,119,.15);border-color:rgba(219,39,119,.25)}@keyframes featuredCardFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.featured-salons-card-image{position:relative;aspect-ratio:4/3;overflow:hidden}.featured-salons-card-img{object-fit:cover;transition:transform .4s ease}.featured-salons-card:hover .featured-salons-card-img{transform:scale(1.05)}.featured-salons-card-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.5) 0,transparent 50%);pointer-events:none}.featured-salons-card-badges{position:absolute;bottom:.75rem;left:.75rem;display:flex;flex-wrap:wrap;gap:.35rem}.featured-salons-badge{font-size:.7rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--radius-full);background:rgba(255,255,255,.95);color:var(--accent-600);border:1px solid rgba(219,39,119,.2)}.featured-salons-badge-price{background:var(--pastel-yellow-soft,#fef9c3);color:var(--brand-700)}.featured-salons-card-cta{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:.35rem;font-size:.875rem;font-weight:700;color:#fff;background:var(--gradient-brand);padding:.6rem 1rem;border-radius:0 0 var(--radius-lg) var(--radius-lg);opacity:0;transform:translateY(100%);transition:opacity .25s ease,transform .25s ease;box-shadow:var(--shadow-brand)}.featured-salons-card:hover .featured-salons-card-cta{opacity:1;transform:translateY(0)}.featured-salons-card-body{padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.35rem}.featured-salons-card-name{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.3}.featured-salons-card-meta{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-muted)}.featured-salons-card-meta svg{flex-shrink:0;color:var(--accent-500)}.featured-salons-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.featured-salons-price{font-size:.9rem;font-weight:600;color:var(--accent-500)}.featured-salons-stars{display:flex;align-items:center;gap:2px;color:#f59e0b}.featured-salons-empty,.featured-salons-loading{text-align:center;padding:2rem}.featured-salons-loading .spinner{margin:0 auto .75rem}.featured-salons-empty p,.featured-salons-loading p{color:var(--text-muted);margin-bottom:1rem}@media (max-width:1024px){.featured-salons-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.featured-salons-section{padding-top:1.5rem;padding-bottom:1.5rem}.featured-salons-title{font-size:1.25rem}.featured-salons-subtitle{font-size:.9rem}.featured-salons-header{flex-direction:column;align-items:flex-start}.featured-salons-grid{display:flex;gap:.9rem;overflow-x:auto;overflow-y:hidden;padding:.25rem .25rem .75rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.featured-salons-grid::-webkit-scrollbar{height:8px}.featured-salons-grid::-webkit-scrollbar-thumb{background:rgba(0,0,0,.12);border-radius:999px}.featured-salons-card{min-width:78vw;max-width:78vw;flex:0 0 auto;scroll-snap-align:start;opacity:1}.featured-salons-card-image{aspect-ratio:16/10}.featured-salons-card-body{padding:.9rem 1rem}.featured-salons-card-name{font-size:1rem}.featured-salons-card-cta{opacity:1;transform:translateY(0)}}.features-section{background:transparent}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.feature-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:1.75rem;border:1px solid var(--border-color);transition:box-shadow .2s,transform .2s}.feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.feature-icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--gradient-subtle);color:var(--accent-500);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.feature-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.feature-text{font-size:.95rem;color:var(--text-secondary);line-height:1.5}.steps-section{background:transparent}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:2rem}.step-card{text-align:center;padding:1.5rem}.step-num{width:36px;height:36px;border-radius:50%;background:var(--gradient-brand);color:white;font-weight:800;font-size:1rem;line-height:36px;margin-bottom:1rem;justify-content:center;display:inline-flex}.step-title{font-size:1.15rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.step-text{font-size:.9rem;color:var(--text-secondary)}.steps-cta{text-align:center}.link-arrow{display:inline-flex;align-items:center;gap:.5rem;color:var(--accent-500);font-weight:600;transition:gap .2s}.link-arrow:hover{gap:.75rem}.nearest-salons-section{padding-top:2rem;padding-bottom:2.5rem}.nearest-salons-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.nearest-salons-title{text-align:left;margin-bottom:.25rem}.nearest-salons-subtitle{font-size:.85rem;color:var(--text-muted);margin:0}.nearest-view-all{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;color:var(--accent-500);white-space:nowrap;flex-shrink:0;transition:gap .2s}.nearest-view-all:hover{gap:.6rem}.nearest-salons-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.nearest-salon-card{border-radius:var(--radius-xl);overflow:hidden;background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;text-decoration:none}.nearest-salon-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.nearest-salon-img-wrap{position:relative;height:140px;flex-shrink:0;background:var(--bg-secondary)}.nearest-salon-img{object-fit:cover}.nearest-salon-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.35) 0,transparent 60%)}.nearest-salon-body{padding:.875rem;display:flex;flex-direction:column;gap:.3rem;flex:1 1}.nearest-salon-name{font-size:.95rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.3}.nearest-salon-meta{display:flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--text-muted)}.nearest-salon-meta svg{flex-shrink:0}.nearest-salon-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.4rem}.nearest-salon-price{font-size:.78rem;font-weight:700;color:var(--accent-500)}.nearest-salon-stars{display:flex;align-items:center;gap:1px;color:#f59e0b}.nearest-salon-reviews{font-size:.72rem;color:var(--text-muted);margin-left:3px}.explore-section{background:transparent}.explore-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem}.explore-block{background:var(--bg-card);border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--border-color)}.explore-block-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.explore-links{list-style:none}.explore-links li{margin-bottom:.5rem}.explore-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.95rem;transition:color .2s}.explore-link:hover{color:var(--accent-500)}.cta-section{position:relative;padding:4rem 1.5rem;text-align:center;border-radius:var(--radius-xl);overflow:hidden}.cta-bg{position:absolute;inset:0;background:transparent}.cta-content{position:relative;z-index:1}.cta-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;color:var(--text-primary);margin-bottom:.75rem}.cta-text{font-size:1.05rem;color:var(--text-secondary);margin-bottom:1.5rem}.cta-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn-cta,.btn-cta-outline{padding:.875rem 1.75rem}.btn-cta-outline{border:2px solid var(--border-color);border-radius:var(--radius-full);font-weight:600;color:var(--text-secondary);transition:all .2s}.btn-cta-outline:hover{border-color:var(--accent-500);color:var(--accent-500)}@media (max-width:768px){.container{padding:0 1rem}.section{padding:3rem 0}.salon-grid{grid-template-columns:1fr}}.customer-dashboard{min-height:100vh;background:transparent;display:flex;flex-direction:column}.customer-header{position:sticky;top:0;z-index:50;background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color);box-shadow:0 1px 0 rgba(255,255,255,.03);overflow:visible}body:has(.mobile-nav-drawer) .customer-header{z-index:10001}.customer-header-inner{max-width:1280px;margin:0 auto;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.customer-logo,.site-logo-link{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.25rem;color:var(--text-primary);transition:opacity .2s}.customer-logo:hover,.site-logo-link:hover{opacity:.9}.site-logo-img{display:block;width:auto;height:auto;max-height:100%;object-fit:contain}.logo-icon{color:var(--accent-500)}.customer-nav{display:flex;align-items:center;gap:1.5rem}.nav-link{font-weight:500;color:var(--text-secondary);transition:color .2s}.nav-link-active,.nav-link:hover{color:var(--accent-500)}.nav-link-active{font-weight:600}.header-icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);transition:all .2s}.header-icon-btn:hover{background:var(--bg-card);color:var(--accent-500)}.customer-header-actions,.header-quick-nav{display:flex;align-items:center;gap:.5rem}.header-quick-link{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.875rem;font-weight:600;color:var(--accent-600);background:var(--pink-soft,#fce7f3);border-radius:var(--radius-full);border:1px solid transparent;transition:color .2s,background .2s,border-color .2s,transform .2s}.header-quick-link:hover{color:var(--accent-600);background:var(--brand-100);border-color:var(--border-color);transform:translateY(-1px)}.header-quick-link-ghost{background:transparent;color:var(--text-secondary)}.header-quick-link-ghost:hover{color:var(--accent-600);background:var(--pink-soft,#fce7f3)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);transition:all .2s}.theme-toggle:hover{background:var(--bg-card);color:var(--accent-500);border-color:rgba(168,85,247,.3)}.profile-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius-full);background:var(--gradient-brand);color:white;font-weight:600;font-size:.875rem;transition:all .2s}.profile-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-brand)}.search-bar-wrapper{position:relative;display:flex;align-items:center;gap:.25rem;width:100%;max-width:640px;margin:0 auto;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);transition:border-color .2s,box-shadow .2s}.search-bar-wrapper:focus-within{border-color:var(--accent-500);box-shadow:0 0 0 3px rgba(168,85,247,.2),var(--shadow-md)}.search-icon{position:absolute;left:1.25rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;flex-shrink:0}.search-input{flex:1 1;min-width:0;padding:1rem 1.25rem 1rem 2.75rem;background:transparent;border:none;color:var(--text-primary);font-size:1rem;transition:none;outline:none}.search-input.search-input-with-actions{padding-right:.5rem}.search-input:focus{outline:none;box-shadow:none}.search-input::placeholder{color:var(--text-muted)}.search-clear-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:color .2s,background .2s;flex-shrink:0}.search-clear-btn:hover{color:var(--text-primary);background:var(--bg-secondary)}.search-submit-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;margin-right:.25rem;border-radius:var(--radius-full);background:var(--gradient-brand);border:none;color:white;font-size:.9rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;flex-shrink:0}.search-submit-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-brand)}.filter-clear-btn{padding:.5rem 1rem;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:border-color .2s,color .2s}.filter-clear-btn:hover{border-color:var(--accent-500);color:var(--accent-500)}.customer-main{flex:1 1;min-height:0;overflow-x:hidden}.customer-main:has(.sp-page),html.sp-salon-active,html.sp-salon-active body{overflow-x:visible}.dashboard-main{max-width:1280px;margin:0 auto;padding:2rem 1.5rem 4rem}.hero-section{position:relative;text-align:center;margin-bottom:3rem;padding:3rem 1.5rem;border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--border-color);background:radial-gradient(circle at 15% 20%,rgba(139,92,246,.14),transparent 38%),radial-gradient(circle at 90% 10%,rgba(59,130,246,.14),transparent 35%),var(--bg-card);box-shadow:var(--shadow-sm)}.hero-section.hero-compact{padding:2.5rem 1.5rem;margin-bottom:2rem}.hero-bg{position:absolute;inset:0;background:transparent}.hero-content{position:relative;z-index:1}.hero-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-500);margin-bottom:.5rem}.hero-title{font-size:clamp(1.875rem,4.5vw,2.75rem);font-weight:800;line-height:1.15;margin-bottom:.75rem;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;letter-spacing:-.02em}.hero-title,.hero-title--glow{-webkit-text-fill-color:transparent}.hero-title--glow{position:relative;display:inline-block;background:linear-gradient(100deg,#815ac0,#9b6fd4 38%,#e9d5ff 46%,rgba(255,255,255,.92) 50%,#e9d5ff 54%,#9b6fd4 62%,#815ac0);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;animation:hero-title-shine-sweep 3.2s ease-in-out infinite,hero-title-glow-pulse 2.8s ease-in-out infinite}.hero-title--glow:before{content:"";position:absolute;left:50%;top:55%;z-index:-1;width:108%;height:140%;transform:translate(-50%,-50%);border-radius:999px;background:radial-gradient(ellipse at center,rgba(196,181,253,.28) 0,rgba(221,214,254,.14) 45%,transparent 72%);filter:blur(12px);animation:hero-title-halo-pulse 2.8s ease-in-out infinite;pointer-events:none}@keyframes hero-title-shine-sweep{0%,to{background-position:120% 50%}50%{background-position:-20% 50%}}@keyframes hero-title-glow-pulse{0%,to{text-shadow:0 0 10px rgba(196,181,253,.22),0 0 20px rgba(221,214,254,.14)}50%{text-shadow:0 0 16px rgba(196,181,253,.34),0 0 32px rgba(221,214,254,.22),0 0 48px rgba(237,233,254,.14)}}@keyframes hero-title-halo-pulse{0%,to{opacity:.4;transform:translate(-50%,-50%) scale(.98)}50%{opacity:.65;transform:translate(-50%,-50%) scale(1.03)}}@media (prefers-reduced-motion:reduce){.hero-title--glow{background:var(--gradient-brand);background-size:100% 100%;animation:none;text-shadow:0 0 12px rgba(196,181,253,.24),0 0 24px rgba(221,214,254,.16)}.hero-title--glow:before{animation:none;opacity:.5}}.hero-subtitle{font-size:1.05rem;color:var(--text-secondary);max-width:620px;margin:0 auto 2rem;line-height:1.6}.dashboard-guest-banner{margin:0 auto 1rem;max-width:640px;text-align:left;border-radius:var(--radius-lg)}.dashboard-guest-text{margin-bottom:.75rem;color:var(--text-secondary)}.dashboard-guest-actions{display:flex;gap:.75rem;flex-wrap:wrap}.hero-compact .hero-subtitle{margin-bottom:1.5rem}.quick-access-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem 1rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border-color)}.quick-access-item{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-full);transition:color .2s,background .2s,border-color .2s,transform .2s}.quick-access-item:hover{color:var(--accent-600);background:var(--pink-soft,#f3e8ff);border-color:rgba(219,39,119,.25);transform:translateY(-2px)}.quick-access-item svg{flex-shrink:0;color:var(--accent-500)}.hero-search-form{display:flex;justify-content:center;max-width:560px;margin:0 auto}.hero-search-bar.search-bar-wrapper{max-width:100%}.search-section{display:flex;justify-content:center;margin-bottom:1.5rem}.filters-row{gap:.75rem}.dashboard-stats-row,.filters-row{display:flex;flex-wrap:wrap;justify-content:center}.dashboard-stats-row{margin-top:1rem;gap:.5rem}.dashboard-stat-chip{font-size:.78rem;font-weight:600;color:var(--text-secondary);padding:.4rem .7rem;border-radius:var(--radius-full);background:var(--bg-glass)}.dashboard-stat-chip,.filter-select{border:1px solid var(--border-color)}.filter-select{padding:.625rem 1.25rem;background:var(--bg-card);border-radius:var(--radius-full);color:var(--text-primary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.filter-select:focus,.filter-select:hover{border-color:var(--accent-500);box-shadow:0 0 0 2px rgba(219,39,119,.2);outline:none}.salons-section{margin-top:2rem;padding:2rem 0 3rem;background:transparent}.container-wide{max-width:1400px;margin:0 auto;padding:0 1.5rem}.salons-section-with-sidebar .container-wide{padding-top:.5rem}.salons-layout{display:grid;grid-template-columns:310px 1fr;gap:2.5rem;align-items:start}.salons-sidebar{position:sticky;top:100px;background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:1.75rem;box-shadow:var(--shadow-lg),0 4px 20px rgba(0,0,0,.05);display:flex;flex-direction:column;gap:1.75rem;transition:all .3s ease}.sidebar-header{display:flex;align-items:center;gap:1rem;padding-bottom:.5rem}.sidebar-header-icon{width:40px;height:40px;background:var(--gradient-subtle);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--accent-500);flex-shrink:0}.sidebar-title{font-size:1.15rem;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.01em}.sidebar-subtitle{font-size:.8rem;color:var(--text-muted);margin:2px 0 0}.sidebar-filters{gap:1.5rem}.filter-section,.sidebar-filters{display:flex;flex-direction:column}.filter-section{gap:1.25rem}.filter-section-title{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:0}.filter-section-header{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:0;cursor:default;text-align:left;margin-bottom:.25rem}.filter-section-chevron{display:none;transition:transform .25s ease;color:var(--text-muted);flex-shrink:0}.filter-section-chevron.open{transform:rotate(180deg)}.filter-section-body{display:flex;flex-direction:column;gap:1.25rem}.filter-divider{height:1px;background:linear-gradient(to right,var(--border-color) 0,transparent 100%);margin:.25rem 0}.filter-group{display:flex;flex-direction:column;gap:.5rem}.sidebar-label{display:flex;align-items:center;gap:.6rem;font-size:.85rem;font-weight:600;color:var(--text-secondary);transition:color .2s}.sidebar-label svg{color:var(--accent-500);opacity:.7}.sidebar-search .search-input{width:100%;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.9rem;transition:all .2s}.sidebar-search .search-input:focus{border-color:var(--accent-500);background:var(--bg-card);box-shadow:0 0 0 3px rgba(124,58,237,.1)}.select-wrapper{position:relative}.sidebar-select{width:100%;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);font-size:.9rem;appearance:none;cursor:pointer;transition:all .2s}.select-wrapper:after{content:"";position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:10px;height:10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236B7280' stroke-width='3'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;pointer-events:none;opacity:.7}.sidebar-select:focus,.sidebar-select:hover{border-color:var(--accent-500)}.sidebar-select:focus{outline:none;background:var(--bg-card);box-shadow:0 0 0 3px rgba(124,58,237,.1)}.sidebar-date{padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);font-size:.9rem;cursor:pointer;width:100%}.filter-toggle-group{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0}.toggle-label-info{display:flex;flex-direction:column}.toggle-description{font-size:.75rem;color:var(--text-muted);margin-top:2px}.premium-toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.premium-toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--gray-200);transition:.4s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:white;transition:.4s;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.1)}.premium-toggle input:checked+.toggle-slider{background:var(--gradient-brand)}.premium-toggle input:checked+.toggle-slider:before{transform:translateX(20px)}.sidebar-actions{margin-top:.5rem}.sidebar-clear-premium{width:100%;padding:.875rem;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:.9rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s;cursor:pointer}.sidebar-clear-premium:hover{background:var(--gray-50);color:var(--text-primary);border-color:var(--gray-300)}.sidebar-clear-premium svg{transition:transform .3s}.sidebar-clear-premium:hover svg{transform:rotate(90deg)}.results-header.section-header{margin-bottom:1.25rem}.results-header-with-sort{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem}.results-sort{display:flex;align-items:center;gap:.5rem}.sort-label{font-size:.9rem;font-weight:500;color:var(--text-secondary)}.sort-select{min-width:160px}.salon-card-content .salon-price{font-size:.875rem;font-weight:600;color:var(--accent-500)}.salons-results{min-width:0}.salon-grid-results{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}.section-header{margin-bottom:1.5rem}.section-header h2{font-size:1.125rem;font-weight:600;color:var(--text-secondary);letter-spacing:-.01em}.dashboard-results-title{color:var(--text-primary)}.dashboard-results-subtitle{margin-top:.35rem;color:var(--text-muted);font-size:.9rem}.dashboard-loading-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.dashboard-loading-card{height:320px;border-radius:var(--radius-xl);background:linear-gradient(90deg,var(--bg-secondary),var(--bg-card),var(--bg-secondary));background-size:200% 100%;animation:dashboardShimmer 1.4s ease-in-out infinite}@keyframes dashboardShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.section-header .search-result-count{margin-top:.25rem;font-size:.9rem;color:var(--text-muted)}.search-loading{text-align:center;padding:3rem 1.5rem}.search-loading .spinner{margin:0 auto}.search-loading p{margin-top:1rem;font-size:.95rem;color:var(--text-muted)}.salon-card-content .review-count{font-size:.8rem;color:var(--text-muted);margin-left:4px}.salon-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;animation:fadeIn .4s ease forwards;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:transform .2s ease,box-shadow .2s ease}.salon-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.salon-card-image{position:relative;aspect-ratio:4/3;background:var(--gray-800);overflow:hidden}.salon-card-img{object-fit:cover;transition:transform .5s ease}.salon-card:hover .salon-card-img{transform:scale(1.06)}.salon-card-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.5) 0,transparent 50%);pointer-events:none}.salon-card-badges{left:.75rem;gap:.5rem}.salon-card-arrow,.salon-card-badges{position:absolute;bottom:.75rem;display:flex;z-index:1}.salon-card-arrow{right:.75rem;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.9);color:var(--accent-600);align-items:center;justify-content:center;opacity:0;transform:translateX(-4px);transition:all .25s ease}.salon-card:hover .salon-card-arrow{opacity:1;transform:translateX(0)}.salon-card-content{padding:1.35rem;display:flex;flex-direction:column;gap:.5rem}.salon-card-content h3{font-size:1.2rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.salon-address,.salon-hours{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--text-secondary)}.salon-services-preview{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.5rem}.service-tag{font-size:.7rem;padding:.2rem .5rem;background:var(--gradient-subtle);border-radius:var(--radius-sm);color:var(--accent-500);font-weight:500}.empty-state,.service-tag.more{color:var(--text-muted)}.empty-state{text-align:center;padding:4rem 2rem;background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px dashed var(--border-color)}.empty-state-icon{width:80px;height:80px;margin:0 auto 1.25rem;border-radius:50%;background:var(--gradient-subtle);opacity:.7}.empty-state h3{font-size:1.25rem;color:var(--text-secondary);margin-bottom:.5rem}.empty-state p{margin-bottom:1.5rem;font-size:.95rem}.public-footer{background:transparent;border-top:1px solid var(--border-color);padding:3rem 1.5rem 1.5rem;margin-top:auto}.public-footer-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.public-footer-brand{max-width:320px}.public-footer-logo{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.35rem;color:var(--text-primary);margin-bottom:.75rem}.public-footer-logo:hover{opacity:.9}.public-footer-tagline{font-size:.95rem;color:var(--text-secondary);line-height:1.5;margin-bottom:1rem}.public-footer-contact{display:flex;flex-wrap:wrap;gap:.75rem}.footer-contact-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary);transition:color .2s}.footer-contact-link:hover{color:var(--accent-500)}.public-footer-links{display:flex;gap:3rem;flex-wrap:wrap}.public-footer-col-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:1rem}.public-footer-list{list-style:none}.public-footer-list li{margin-bottom:.5rem}.public-footer-link{font-size:.95rem;color:var(--text-secondary);transition:color .2s}.public-footer-link:hover{color:var(--accent-500)}.public-footer-bottom{max-width:1280px;margin:0 auto;padding-top:1.5rem;text-align:center}.public-footer-copy{font-size:.875rem;color:var(--text-muted)}.page-content{padding:2rem 0 4rem}.back-link-inline{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary);margin-bottom:2rem;transition:color .2s}.back-link-inline:hover{color:var(--accent-500)}.page-header{margin-bottom:2.5rem}.page-title{font-size:clamp(1.75rem,4vw,2.25rem);font-weight:800;color:var(--text-primary);margin-bottom:.75rem}.page-lead{font-size:1.1rem;color:var(--text-secondary);max-width:560px}.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2.5rem}.about-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.75rem}.about-card-icon{width:52px;height:52px;border-radius:var(--radius-md);background:var(--gradient-subtle);color:var(--accent-500);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.about-card h2{font-size:1.15rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.about-card p{font-size:.95rem;color:var(--text-secondary);line-height:1.6}.about-cta{text-align:center;padding-top:1rem}.about-cta p{margin-bottom:1rem;color:var(--text-secondary)}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2.5rem}.contact-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;transition:border-color .2s,box-shadow .2s}a.contact-card{text-decoration:none;color:inherit;display:block}a.contact-card:hover{border-color:var(--accent-500);box-shadow:var(--shadow-sm)}.contact-card h3{font-size:1rem;font-weight:700;color:var(--text-primary);margin:.75rem 0 .25rem}.contact-card p{font-size:.95rem;color:var(--text-secondary)}.contact-card-muted{opacity:.85}.contact-card-hint{font-size:.8rem;color:var(--text-muted);margin-top:.5rem;display:block}.contact-section h2{font-size:1.2rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.faq-list{list-style:none}.faq-list li{padding:1rem 0;border-bottom:1px solid var(--border-color);font-size:.95rem;color:var(--text-secondary);line-height:1.6}.faq-list li:last-child{border-bottom:none}.faq-list strong{color:var(--text-primary);display:block;margin-bottom:.25rem}.how-steps{list-style:none;margin-bottom:2.5rem}.how-step{display:grid;grid-template-columns:50px 1fr;grid-template-rows:auto auto auto;gap:.75rem 1.25rem;margin-bottom:2rem;align-items:start}.how-step-num{grid-column:1;grid-row:1/-1;width:40px;height:40px;border-radius:50%;background:var(--gradient-brand);color:white;font-weight:800;font-size:1.1rem}.how-step-icon,.how-step-num{display:flex;align-items:center;justify-content:center}.how-step-icon{grid-column:2;grid-row:1;width:56px;height:56px;border-radius:var(--radius-md);background:var(--gradient-subtle);color:var(--accent-500)}.how-step-title{grid-column:2;grid-row:2;font-size:1.2rem;font-weight:700;color:var(--text-primary);margin:0}.how-step-text{grid-column:2;grid-row:3;font-size:.95rem;color:var(--text-secondary);line-height:1.6;margin:0}.bookings-placeholder{text-align:center;padding:3rem 2rem;background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px dashed var(--border-color)}.bookings-placeholder-icon{color:var(--text-muted);opacity:.6;margin-bottom:1rem}.bookings-placeholder h2{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.bookings-placeholder p{font-size:.95rem;color:var(--text-secondary);margin-bottom:1.5rem}.salon-detail-page{padding:2rem 0 4rem;background:transparent}.salon-detail-page .back-link{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1.5rem}.salon-hero-split-media{display:grid;grid-template-columns:2fr 340px;gap:1.5rem;margin-bottom:2.5rem;align-items:flex-start}.salon-identity-strip{margin-bottom:1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem}.salon-identity-name{margin:0;font-size:1.35rem}.salon-identity-rating{color:#e5a84b;font-weight:600}.salon-identity-location,.salon-identity-rating{margin-top:.35rem;display:inline-flex;align-items:center;gap:.35rem}.salon-identity-location{color:var(--text-secondary);font-size:.9rem}.salon-identity-share{flex-shrink:0}.salon-hero-featured-image{position:relative;height:420px;border-radius:20px;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.25),0 5px 15px rgba(0,0,0,.1);background:var(--gray-800);border:1px solid rgba(255,255,255,.05)}.salon-hero-img{object-fit:cover;transition:transform 1.2s cubic-bezier(.2,0,.2,1)}.salon-hero-featured-image:hover .salon-hero-img{transform:scale(1.05)}.salon-hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.8) 0,rgba(0,0,0,.2) 50%,transparent);pointer-events:none}.salon-hero-title{position:absolute;bottom:2.5rem;left:2.5rem;margin:0;font-size:clamp(2rem,5vw,3.25rem);font-weight:800;color:white;letter-spacing:-.04em;text-shadow:0 4px 12px rgba(0,0,0,.5)}.salon-gallery-cards-panel{display:flex;flex-direction:column;gap:.75rem;height:100%}.salon-gallery-cards-container{display:flex;flex-direction:column;gap:.75rem;flex:1 1}.salon-gallery-card{position:relative;width:100%;height:100px;border-radius:12px;overflow:hidden;border:1.5px solid var(--border-color);background:var(--bg-secondary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);padding:0}.salon-gallery-card:hover{border-color:var(--brand-500);box-shadow:0 8px 16px rgba(177,133,219,.2);transform:translateY(-2px)}.salon-gallery-card-img{object-fit:cover}.salon-gallery-show-more{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;height:auto;background:var(--brand-500);color:white;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.salon-gallery-show-more:hover{background:var(--brand-600);transform:translateY(-2px);box-shadow:0 8px 16px rgba(177,133,219,.3)}@media (max-width:1024px){.salon-hero-split-media{grid-template-columns:1fr;gap:1.5rem}.salon-hero-featured-image{height:320px}.salon-gallery-cards-panel{display:flex;flex-direction:row;gap:1rem;height:auto}.salon-gallery-cards-container{flex-direction:row;gap:1rem;flex:1 1}.salon-gallery-card{flex:1 1;min-height:120px}.salon-gallery-show-more{flex-shrink:0;min-width:120px}}@media (max-width:640px){.salon-hero-split-media{grid-template-columns:1fr;gap:1rem}.salon-hero-featured-image{height:260px}.salon-gallery-cards-panel{display:flex;flex-direction:row;gap:.5rem;height:auto}.salon-gallery-cards-container{flex-direction:row;gap:.5rem;flex:1 1}.salon-gallery-card{flex:1 1;height:90px;border-radius:8px}.salon-gallery-show-more{flex-shrink:0;width:50px;height:90px;font-size:0}.salon-gallery-show-more svg{width:20px;height:20px}.salon-booking-cta-sticky{position:static!important;top:auto!important}}.salon-gallery-modal{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;padding:1rem;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.salon-gallery-modal-inner{position:relative;width:100%;max-width:1100px;max-height:90vh;background:var(--bg-card);border-radius:var(--radius-xl);padding:2.5rem 1.5rem 1.5rem;overflow-y:auto;cursor:default;box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.salon-gallery-close{position:absolute;top:1.25rem;right:1.25rem;width:44px;height:44px;border:none;background:white;color:var(--text-primary);font-size:1.75rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);cursor:pointer;z-index:10;box-shadow:var(--shadow-md);transition:all .2s}.salon-gallery-close:hover{transform:rotate(90deg);background:var(--brand-50);color:var(--brand-500)}.salon-gallery-modal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;width:100%}.salon-gallery-modal-item{position:relative;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-secondary);box-shadow:var(--shadow-sm);transition:transform .3s ease}.salon-gallery-modal-item:hover{transform:scale(1.02)}.salon-gallery-modal-item img{object-fit:cover}.salon-gallery-modal.slider-view{padding:0;background:rgba(0,0,0,.95)}.salon-gallery-modal-inner.slider-inner{max-width:100vw;max-height:100vh;width:100%;height:100vh;border-radius:0;padding:0;background:transparent;display:flex;flex-direction:column;overflow:hidden}.slider-header-top{position:absolute;top:0;left:0;right:0;height:80px;display:flex;justify-content:flex-end;align-items:center;padding:0 2rem;z-index:20;pointer-events:none}.salon-gallery-close.top-close{position:static;pointer-events:auto;background:rgba(255,255,255,.1);color:white;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.salon-gallery-close.top-close:hover{background:white;color:black;transform:rotate(180deg)}.salon-gallery-slider-layout{display:flex;width:100%;height:100%}.slider-main-view{flex:1 1;position:relative;background:#000;overflow-y:scroll;scroll-snap-type:y mandatory;scrollbar-width:none;-ms-overflow-style:none}.slider-main-view::-webkit-scrollbar{display:none}.slider-main-item{height:100vh;width:100%;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;padding:2rem}.slider-active-container{position:relative;width:100%;height:100%;max-width:1000px;max-height:80vh}.slider-main-img{object-fit:contain!important;transition:opacity .4s ease-in-out}.slider-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:white;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.slider-nav-btn:hover{background:white;color:black;transform:translateY(-50%) scale(1.1)}.slider-nav-btn.prev{left:-28px}.slider-nav-btn.next{right:-28px}.slider-counter{position:absolute;bottom:-40px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.6);font-size:.875rem;letter-spacing:2px;font-weight:500}.slider-sidebar{width:250px;background:rgba(0,0,0,.3);border-left:1px solid rgba(255,255,255,.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.slider-thumbs-scroll{display:flex;flex-direction:column;gap:1.5rem;padding:45vh 2rem;overflow-y:auto;height:100%;width:100%;scrollbar-width:none;-ms-overflow-style:none;-webkit-mask-image:linear-gradient(180deg,transparent,black 15%,black 85%,transparent);mask-image:linear-gradient(180deg,transparent,black 15%,black 85%,transparent);scroll-snap-type:y mandatory}.slider-thumbs-scroll::-webkit-scrollbar{display:none}.slider-thumb-item{position:relative;width:100%;aspect-ratio:4/3;border-radius:var(--radius-md);overflow:hidden;border:2px solid transparent;background:#111;flex-shrink:0;transition:all .4s cubic-bezier(.23,1,.32,1);transform:scale(.9);opacity:.4;scroll-snap-align:center}.slider-thumb-item:hover{opacity:.8;transform:scale(.95)}.slider-thumb-item.active{opacity:1;transform:scale(1.05);border-color:var(--brand-500);box-shadow:0 0 30px rgba(124,58,237,.3)}.slider-thumb-item img{object-fit:cover}.thumb-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.4),transparent);opacity:.6}@media (max-width:1024px){.slider-sidebar{width:180px}.slider-nav-btn.prev{left:0}.slider-nav-btn.next{right:0}}@media (max-width:768px){.salon-gallery-slider-layout{flex-direction:column}.slider-sidebar{width:100%;height:150px;border-left:none;border-top:1px solid rgba(255,255,255,.1)}.slider-thumbs-scroll{flex-direction:row;padding:1.5rem;-webkit-mask-image:linear-gradient(90deg,transparent,black 15%,black 85%,transparent);mask-image:linear-gradient(90deg,transparent,black 15%,black 85%,transparent)}.slider-thumb-item{width:120px;height:90px}}.salon-info-bar{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;padding:1rem 0;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.salon-info-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary)}.salon-info-item svg{flex-shrink:0;color:var(--accent-500)}.salon-detail-layout{display:grid;grid-template-columns:1fr 420px;gap:2.5rem;align-items:start}.salon-detail-layout-v2{grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:clamp(1.5rem,3vw,2.75rem);margin-top:.25rem}.salon-detail-main-col{gap:2.25rem}.salon-detail-right{display:flex;flex-direction:column;gap:1.5rem}.salon-detail-right-stack{position:sticky;top:92px;display:flex;flex-direction:column;gap:.75rem;align-self:start;width:100%}.salon-detail-right-stack .salon-booking-panel{position:static;top:auto;padding:1.25rem 1.1rem;border:1px solid rgba(129,90,192,.08);box-shadow:none;background:rgba(255,255,255,.65)}.salon-booking-summary-card{padding:1.25rem 1.15rem;border:1px solid rgba(129,90,192,.1);border-radius:var(--radius-lg);background:rgba(255,255,255,.72);box-shadow:0 1px 0 rgba(17,24,39,.04)}.salon-booking-summary-card .salon-booking-summary-cta{position:sticky;top:.8rem;z-index:2}.salon-booking-summary-title{font-size:1.05rem;font-weight:600;line-height:1.4;letter-spacing:-.015em;margin:0 0 .85rem;color:var(--text-primary)}.salon-booking-summary-rating{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .45rem;margin-bottom:.5rem}.salon-booking-summary-rating-num{font-weight:600;font-size:.9375rem;color:var(--text-primary)}.salon-booking-summary-stars{display:flex;color:#e5a84b;gap:1px;opacity:.95}.salon-booking-summary-reviews{font-size:.8125rem;font-weight:500;color:var(--brand-500)}.salon-booking-summary-badge{display:inline-block;font-size:.65rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.2rem .5rem;border-radius:var(--radius-full);background:rgba(193,158,224,.35);color:var(--brand-600);margin-bottom:.85rem}.salon-booking-summary-cta{margin-bottom:.5rem}.salon-booking-summary-cta.btn-primary{background:linear-gradient(135deg,var(--brand-500),var(--brand-600));box-shadow:0 10px 24px rgba(129,90,192,.28);border:1px solid color-mix(in srgb,var(--brand-500) 72%,#ffffff 28%);font-weight:700;letter-spacing:.01em;padding:.78rem 1rem;border-radius:var(--radius-md);transform:translateY(0);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.salon-booking-summary-cta.btn-primary:hover{background:linear-gradient(135deg,var(--brand-500),var(--brand-600));transform:translateY(-1px);box-shadow:0 14px 30px rgba(129,90,192,.34);filter:saturate(1.04)}.salon-booking-cta-sticky{position:sticky;top:1rem;z-index:100;margin-bottom:1.5rem;padding:.75rem 1.5rem!important;font-size:1rem!important;font-weight:700!important;box-shadow:0 8px 24px rgba(177,133,219,.3)!important}.salon-booking-summary-hours{display:flex;align-items:center;gap:.5rem;padding:.65rem 0 0;margin-top:.25rem;background:transparent;font-size:.8125rem;font-weight:450;color:var(--text-muted);cursor:pointer;text-align:left;border:none;border-top:1px solid rgba(129,90,192,.08)}.salon-booking-summary-hours svg:last-child{transition:transform .2s ease;flex-shrink:0;color:var(--text-muted);opacity:.7}.salon-booking-chevron-open{transform:rotate(180deg)}.salon-booking-hours-detail{font-size:.78rem;color:var(--text-muted);margin:.35rem 0 0;line-height:1.5}.salon-booking-summary-location{display:flex;align-items:flex-start;gap:.45rem;font-size:.8125rem;line-height:1.45;font-weight:450;color:var(--text-secondary);margin-top:.85rem}.salon-booking-summary-location svg{flex-shrink:0;margin-top:3px;color:var(--brand-400);opacity:.85}.salon-booking-directions-link{display:inline-flex;margin-top:.5rem;font-weight:500;font-size:.8125rem;color:var(--brand-500);text-decoration:none}.salon-booking-directions-link:hover{color:var(--brand-600);text-decoration:underline;text-underline-offset:3px}.salon-services-showcase,.salon-team-showcase{padding:0}.salon-services-showcase,.salon-services-showcase.card,.salon-team-showcase,.salon-team-showcase.card{border:none;background:transparent;box-shadow:none}.salon-services-showcase.card:hover,.salon-team-showcase.card:hover{transform:none;box-shadow:none;border-color:transparent}.salon-showcase-title{font-size:1.125rem;font-weight:600;margin:0 0 1.1rem;letter-spacing:-.02em;padding-left:4px;color:var(--text-primary)}.salon-service-pills{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.25rem}.salon-service-pill{border:none;background:rgba(129,90,192,.06);color:var(--text-secondary);font-size:1rem;font-weight:500;padding:.4rem .75rem;border-radius:var(--radius-full);cursor:pointer;transition:background .15s ease,color .15s ease}.salon-service-pill:hover{background:rgba(129,90,192,.1);color:var(--text-primary)}.salon-service-pill.is-active{background:rgba(129,90,192,.18);color:var(--brand-600)}.salon-service-rows{display:flex;flex-direction:column;margin-top:1rem;border-top:1px solid rgba(129,90,192,.1)}.salon-service-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(129,90,192,.08);background:transparent;border-radius:0}.salon-service-row:last-child{border-bottom:none}.salon-service-row-main{min-width:0;flex:1 1}.salon-service-row-name{font-weight:600;font-size:1rem;color:var(--text-primary);margin-bottom:.2rem;letter-spacing:-.01em}.salon-service-row-meta{font-size:.75rem;color:var(--text-muted);font-weight:450}.salon-service-row-price{font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-top:.15rem}.salon-service-row-book{flex-shrink:0;border:none;background:transparent;color:var(--brand-600);font-weight:600;font-size:.8125rem;padding:.35rem .5rem;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease,color .15s ease}.salon-service-row-book:hover{background:rgba(129,90,192,.08);color:var(--brand-500)}.salon-see-all-services{margin-top:.25rem;padding:.5rem 0;width:auto;max-width:none;align-self:flex-start;border:none;background:transparent;font-weight:500;font-size:.8125rem;color:var(--brand-500);cursor:pointer;text-decoration:underline;text-underline-offset:4px}.salon-see-all-services:hover{color:var(--brand-600)}.salon-team-note{font-size:.8125rem;color:var(--text-muted);margin:0 0 1.1rem;font-weight:450;line-height:1.45}.salon-team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1.25rem 1rem;justify-items:center}.salon-team-member{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.45rem;max-width:100px}.salon-team-avatar{width:56px;height:56px;min-width:56px;border-radius:50%;overflow:hidden;border:1px solid rgba(129,90,192,.12);background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.salon-team-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.salon-team-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:.75rem}.salon-team-card{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);min-width:0}.salon-team-details{display:flex;flex-direction:column;gap:.2rem;min-width:0}.salon-team-details strong{overflow-wrap:anywhere}.salon-team-role{font-size:.8rem;color:var(--text-muted)}.salon-team-name{font-size:.75rem;font-weight:500;line-height:1.35;color:var(--text-secondary);display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.salon-detail-secondary{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(129,90,192,.08)}.salon-detail-secondary .salon-about-block,.salon-detail-secondary .salon-reviews-block{padding:1.15rem 1.1rem;border:1px solid rgba(129,90,192,.08);border-radius:var(--radius-md);background:rgba(255,255,255,.5);box-shadow:none}.salon-map-block{padding:1.5rem}.salon-map-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;color:var(--accent-500)}.salon-map-header .salon-detail-section-title{margin-bottom:0}.salon-map-iframe-container{overflow:hidden;border-radius:var(--radius-md);margin-bottom:1rem;background:var(--bg-secondary);position:relative;aspect-ratio:4/3}.salon-map-address{font-size:.9rem;color:var(--text-secondary);line-height:1.5;margin-bottom:.75rem}.map-dir-link{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:.85rem;padding:.5rem .75rem;margin-left:-.75rem;color:var(--accent-500)}.salon-detail-left{display:flex;flex-direction:column;gap:1.5rem}.salon-about-block,.salon-reviews-block{padding:1.5rem}.salon-reviews-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.salon-reviews-header .salon-detail-section-title{margin-bottom:0;display:flex;align-items:center;gap:.5rem}.salon-see-all{font-size:.875rem;font-weight:600;color:var(--accent-500)}.salon-reviews-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.salon-review-item{padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.salon-review-item:last-child{border-bottom:none;padding-bottom:0}.salon-review-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.35rem}.salon-review-author{font-weight:600;font-size:.9rem}.salon-review-stars{display:flex;color:var(--pastel-yellow-soft,#fef08a)}.salon-review-date{font-size:.8rem;color:var(--text-muted)}.salon-review-text{font-size:.9rem;color:var(--text-secondary);line-height:1.5;margin:0}.salon-reviews-modal{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:1.5rem;cursor:pointer}.salon-reviews-modal-inner{max-width:520px;max-height:80vh;overflow-y:auto;padding:2rem;cursor:default}.salon-reviews-modal-inner h2{margin:0 0 1.25rem;font-size:1.25rem}.salon-booking-panel{position:sticky;top:100px;padding:2rem}.booking-progress{justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.booking-progress,.progress-step{display:flex;align-items:center;gap:.25rem}.progress-step{flex:1 1;flex-direction:column}.progress-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;background:var(--bg-secondary);border:2px solid var(--border-color);color:var(--text-muted);transition:all .2s}.progress-step.active .progress-dot,.progress-step.done .progress-dot{background:var(--accent-500);border-color:var(--accent-500);color:white}.progress-label{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase}.progress-step.active .progress-label,.progress-step.done .progress-label{color:var(--accent-500)}.booking-step-title{font-size:1.125rem;font-weight:700;margin:0 0 1.25rem;color:var(--text-primary)}.booking-services-by-category{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.booking-category-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 .5rem}.booking-service-cards{display:flex;flex-direction:column;gap:.5rem}.booking-service-card{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.15rem;text-align:left;background:var(--bg-secondary);border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;position:relative}.booking-service-card:hover:not(.selected){border-color:rgba(219,39,119,.3)}.booking-service-card.selected{border-color:var(--accent-500);background:rgba(219,39,119,.08)}.booking-service-name{font-weight:600;font-size:1rem}.booking-service-meta{font-size:.875rem;color:var(--text-muted)}.booking-service-check{position:absolute;right:.75rem;color:var(--accent-500);flex-shrink:0}.booking-continue{margin-top:.5rem}.booking-professionals{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.booking-professional-card{display:flex;align-items:center;gap:.75rem;padding:1rem;text-align:left;background:var(--bg-secondary);border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;position:relative}.booking-professional-card:hover:not(.fully-booked):not(.selected){border-color:rgba(219,39,119,.3)}.booking-professional-card.selected{border-color:var(--accent-500);background:rgba(219,39,119,.08)}.booking-professional-card.fully-booked{opacity:.6;cursor:not-allowed;pointer-events:none}.booking-professional-card .booking-prof-check{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--accent-500)}.booking-prof-name{font-weight:600;font-size:.9rem}.booking-prof-sub{font-size:.8rem;color:var(--text-muted);display:block;margin-top:.15rem}.booking-prof-avatar{width:40px;height:40px;border-radius:50%;background:var(--gradient-brand);color:white;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.booking-professional-card:first-child .booking-prof-avatar{background:var(--bg-secondary);color:var(--accent-500)}.booking-professional-card:first-child .booking-prof-avatar svg{width:24px;height:24px}.booking-prof-rating{font-size:.8rem;color:var(--text-muted)}.booking-prof-badge{font-size:.7rem;font-weight:600;color:var(--text-muted);background:var(--bg-secondary);padding:.2rem .5rem;border-radius:var(--radius-sm)}.booking-step-actions{display:flex;gap:.75rem;justify-content:space-between;margin-top:1rem}.booking-calendar{margin-bottom:1rem}.booking-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.booking-calendar-header button{padding:.5rem;background:transparent;border:none;cursor:pointer;color:var(--text-primary);border-radius:var(--radius-md)}.booking-calendar-header button:hover:not(:disabled){background:var(--bg-secondary)}.booking-calendar-header button:disabled{opacity:.4;cursor:not-allowed}.booking-calendar-month{font-size:.9rem;font-weight:600;color:var(--text-primary)}.booking-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.calendar-day-name{font-size:.65rem;font-weight:600;color:var(--text-muted);text-align:center;padding:.25rem}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:500;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);transition:all .2s}.calendar-day.empty{cursor:default}.calendar-day.past{color:var(--text-muted);cursor:not-allowed;opacity:.5}.calendar-day.unavailable:not(.past){color:var(--text-muted);text-decoration:line-through;cursor:not-allowed}.calendar-day:not(.empty):not(.past):not(.unavailable):hover{background:rgba(219,39,119,.15)}.calendar-day.selected{background:var(--accent-500);color:white}.booking-slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1rem}.booking-slot-btn{padding:.5rem .75rem;font-size:.85rem;font-weight:600;border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);cursor:pointer;color:var(--text-primary);transition:all .2s;animation:slot-fade-in .3s ease both}@keyframes slot-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.booking-slot-btn:hover:not(.booked):not(:disabled){border-color:var(--accent-500);background:rgba(219,39,119,.08)}.booking-slot-btn.selected{background:var(--accent-500);border-color:var(--accent-500);color:white}.booking-slot-btn.booked,.booking-slot-btn:disabled{color:var(--text-muted);text-decoration:line-through;cursor:not-allowed;opacity:.6}.booking-summary-panel{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.booking-summary-panel .booking-summary-title{margin-bottom:1rem}.booking-summary-rows{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.booking-summary-row{display:flex;justify-content:space-between;font-size:.9rem;gap:1rem}.booking-summary-row span:first-child{color:var(--text-muted);font-weight:500}.booking-summary-row span:last-child{font-weight:600;text-align:right}.booking-summary-actions{display:flex;flex-direction:column;gap:.5rem}.salon-desktop-booking-sticky,.salon-mobile-booking-sticky{display:none}@media (min-width:901px){.salon-desktop-booking-sticky{position:fixed;right:clamp(1rem,3vw,2rem);bottom:1.25rem;z-index:55;display:block}.salon-desktop-booking-sticky-cta{min-width:180px;padding:.8rem 1.15rem;border-radius:999px;font-size:.95rem;font-weight:700;letter-spacing:.01em;background:linear-gradient(135deg,var(--brand-500),var(--brand-600));box-shadow:0 14px 30px rgba(129,90,192,.35);border:1px solid color-mix(in srgb,var(--brand-500) 70%,#ffffff 30%)}.salon-desktop-booking-sticky-cta:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(129,90,192,.4)}}@media (max-width:900px){.salon-detail-page{padding-bottom:calc(6.5rem + env(safe-area-inset-bottom))}.salon-detail-layout{grid-template-columns:1fr}.salon-detail-layout-v2 .salon-detail-main-col{order:2}.salon-detail-layout-v2 .salon-detail-right{order:1}.salon-detail-right-stack{position:static;top:auto}.salon-booking-panel,.salon-booking-summary-card .salon-booking-summary-cta{position:static}.salon-mobile-booking-sticky{position:fixed;left:0;right:0;bottom:0;z-index:50;display:block;padding:.65rem 1rem calc(.65rem + env(safe-area-inset-bottom));background:color-mix(in srgb,#ffffff 92%,var(--brand-100) 8%);border-top:1px solid rgba(129,90,192,.14);box-shadow:0 -8px 20px rgba(15,23,42,.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.salon-mobile-booking-sticky-inner{width:min(100%,820px);margin:0 auto;display:flex;align-items:center;gap:.75rem}.salon-mobile-booking-sticky-meta{min-width:0;display:flex;flex-direction:column;flex:1 1}.salon-mobile-booking-sticky-name{font-size:.88rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.salon-mobile-booking-sticky-rating{margin-top:.1rem;font-size:.75rem;color:var(--text-muted);display:inline-flex;align-items:center;gap:.35rem}.salon-mobile-booking-sticky-stars{display:inline-flex;gap:1px;color:#e5a84b;line-height:1}.salon-mobile-booking-sticky-cta{flex-shrink:0;min-width:130px;font-weight:600}.booking-slots-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.salon-hero-image{aspect-ratio:16/9;min-height:140px}.salon-gallery-strip{flex-wrap:wrap}.salon-identity-strip{flex-direction:column;align-items:flex-start}.salon-info-bar{flex-direction:column;gap:.5rem}.booking-progress{flex-wrap:wrap}.progress-label{display:none}.salon-mobile-booking-sticky{padding-left:.75rem;padding-right:.75rem}.salon-mobile-booking-sticky-inner{gap:.5rem}.salon-mobile-booking-sticky-cta{min-width:116px;padding:.62rem .9rem}}.salon-detail-card{overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.salon-detail-image{position:relative;aspect-ratio:21/9;min-height:220px;background:var(--gray-800);overflow:hidden}.salon-detail-img{object-fit:cover}.salon-detail-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6) 0,transparent 60%);pointer-events:none}.salon-detail-content{padding:2rem 2rem 2.5rem}.salon-detail-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.salon-detail-header h1{font-size:1.75rem}.salon-detail-badges{display:flex;gap:.5rem}.salon-detail-desc{color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}.salon-detail-info{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);margin-bottom:.5rem}.salon-detail-section-title{margin-bottom:1.5rem;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.salon-detail-grid{display:grid;grid-template-columns:1fr 340px;gap:2rem;margin-top:2rem}.booking-summary-card{position:sticky;top:100px;padding:1.5rem}.booking-summary-title{margin-bottom:1.25rem;display:flex;align-items:center;gap:8px;font-size:1.1rem;font-weight:700;color:var(--text-primary)}.booking-summary-empty{text-align:center;padding:2rem 0;color:var(--text-muted)}.booking-summary-empty p{font-size:.9rem;margin-top:12px}.booking-summary-empty svg{opacity:.3}.summary-services{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.summary-service-row{display:flex;justify-content:space-between;font-size:.9rem}.summary-service-row span:first-child{color:var(--text-secondary)}.summary-service-row span:last-child{font-weight:600}.summary-totals{margin-bottom:1.5rem}.summary-row{margin-bottom:.5rem;color:var(--text-muted)}.summary-total{font-size:1.1rem;font-weight:800;color:var(--text-primary)}.btn-full{width:100%;padding:1rem}.booking-summary-note{margin-top:1rem;font-size:.75rem;color:var(--text-muted);text-align:center}.salon-services-list{gap:.5rem}.service-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:var(--radius-md);font-size:.9rem}.service-item span:last-child{color:var(--accent-500);font-weight:600}.profession-block{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.profession-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;margin-bottom:.5rem}.profession-professionals{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.professional-badge{font-size:.8rem;color:var(--text-secondary);padding:.25rem .5rem;background:var(--bg-secondary);border-radius:var(--radius-sm)}.profession-services{display:flex;flex-direction:column;gap:.5rem}.service-item-clickable{text-decoration:none;color:inherit;cursor:pointer;transition:all .2s}.service-item-clickable:hover{background:var(--bg-card-hover);border-color:rgba(168,85,247,.3)}.service-meta{display:flex;align-items:center;gap:.5rem}.book-cta{font-size:.8rem;color:var(--accent-500);margin-left:.25rem}.checkout-main{max-width:640px}.back-link{margin-bottom:1.5rem}.checkout-flow{display:flex;flex-direction:column;gap:1.5rem}.checkout-summary{padding:0;overflow:hidden;border-radius:var(--radius-xl)}.checkout-summary-visual{position:relative;height:140px;background:var(--gray-800);overflow:hidden}.checkout-summary-img{object-fit:cover}.checkout-summary-overlay{position:absolute;inset:0;background:linear-gradient(to top,var(--bg-card) 0,transparent 70%);pointer-events:none}.checkout-summary-body{padding:1.25rem}.checkout-summary h3{font-size:1.25rem;margin-bottom:.25rem}.summary-meta{font-size:.9rem;color:var(--accent-500);font-weight:600;margin-bottom:.25rem}.summary-salon{font-size:.875rem;color:var(--text-secondary)}.checkout-steps{gap:1.25rem}.checkout-step,.checkout-steps{display:flex;flex-direction:column}.checkout-step{gap:.75rem}.step-label{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem}.date-grid{display:flex;flex-wrap:wrap;gap:.5rem}.date-btn{display:flex;flex-direction:column;align-items:center;min-width:56px;padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:all .2s}.date-btn:hover:not(.disabled){border-color:var(--accent-500);background:var(--gradient-subtle)}.date-btn.selected{background:var(--gradient-brand);border-color:transparent;color:white}.date-btn.disabled{opacity:.5;cursor:not-allowed}.date-day{font-size:.7rem;opacity:.9}.date-num{font-weight:700}.slot-grid{display:flex;flex-wrap:wrap;gap:.5rem}.slot-btn{padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:.125rem}.slot-btn:hover:not(.booked):not(:disabled){border-color:var(--accent-500);background:var(--gradient-subtle)}.slot-btn.selected{background:var(--gradient-brand);border-color:transparent;color:white}.slot-btn.booked{opacity:.5;cursor:not-allowed;text-decoration:line-through}.booked-label{font-size:.65rem;opacity:.8}.slot-hint{color:var(--text-muted);font-size:.9rem}.checkout-form .form-row{display:flex;flex-direction:column;gap:.75rem}.confirm-btn{width:100%;padding:1rem;font-size:1rem}.confirm-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.checkout-success{text-align:center;padding:3rem 2rem}.success-icon{width:88px;height:88px;margin:0 auto 1.5rem;background:rgba(34,197,94,.15);color:#4ade80;border-radius:50%;display:flex;align-items:center;justify-content:center;animation:scaleIn .4s ease}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.checkout-success h2{font-size:1.5rem;margin-bottom:.5rem}.checkout-success p{color:var(--text-secondary);margin-bottom:.5rem}.success-note{font-size:.875rem;color:var(--text-muted);margin-top:1rem}@media (max-width:768px){.customer-header-inner{padding:.75rem 1rem;gap:.75rem}.header-quick-nav{gap:.35rem}.header-quick-link span,.header-quick-link-ghost span{display:none}.header-quick-link,.header-quick-link-ghost{padding:.5rem}.customer-nav,.profile-btn span{display:none}.dashboard-main{padding:1.5rem 1rem 3rem}.public-footer-inner{grid-template-columns:1fr;gap:2rem}.public-footer-links{gap:2rem}.steps-section{padding:1.5rem 0}.steps-section .landing-section-title{margin-bottom:1rem;font-size:1.25rem}.steps-grid{grid-template-columns:1fr;gap:0}.step-card{display:flex;align-items:center;gap:1rem;text-align:left;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.step-card:last-child{border-bottom:none}.step-num{width:32px;height:32px;line-height:32px;font-size:.875rem;flex-shrink:0;margin-bottom:0}.step-title{font-size:.95rem;margin-bottom:.15rem}.step-text{font-size:.82rem;margin:0}.nearest-salons-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.nearest-salon-img-wrap{height:110px}.nearest-salon-body{padding:.625rem}.nearest-salons-title{font-size:1.15rem}.salon-detail-grid{grid-template-columns:1fr}.booking-summary-card{position:static}.salons-section .container-wide{padding-left:1rem;padding-right:1rem;max-width:100%}.salons-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:1.25rem;width:100%;min-width:0}.filter-section-header{cursor:pointer;padding:.25rem 0;margin-bottom:0}.filter-section-chevron{display:block}.filter-section-body{display:none;gap:.5rem;margin-top:.5rem}.filter-section-body.open{display:grid;grid-template-columns:1fr 1fr;column-gap:.625rem;row-gap:.5rem;align-items:end}.filter-section-body .filter-toggle-group{grid-column:1/-1}.sidebar-header{gap:.625rem;padding-bottom:.25rem}.sidebar-header-icon{width:32px;height:32px;flex-shrink:0}.sidebar-title{font-size:1rem}.sidebar-subtitle{display:none}.sidebar-filters{gap:.625rem}.filter-section{display:flex;flex-direction:column;gap:0}.filter-section .filter-group{gap:.3rem}.filter-section-title{font-size:.7rem}.filter-toggle-group{padding:.25rem 0;gap:.5rem}.filter-divider{margin:.1rem 0}.sidebar-label{font-size:.78rem;gap:.4rem}.sidebar-date,.sidebar-select{padding:.5rem .75rem;font-size:.85rem;min-height:40px}.toggle-description{display:none}.sidebar-actions{margin-top:.25rem}.sidebar-clear-premium{padding:.625rem;font-size:.85rem}.salons-results{order:2;width:100%;min-width:0;padding:0;box-sizing:border-box}.salon-grid-results{display:flex;gap:.9rem;overflow-x:auto;overflow-y:hidden;padding:.25rem .25rem .75rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;min-width:0}.salon-card{min-width:78vw;max-width:78vw;flex:0 0 auto;scroll-snap-align:start;width:auto}.salon-grid-results::-webkit-scrollbar{height:8px}.salon-grid-results::-webkit-scrollbar-thumb{background:rgba(0,0,0,.12);border-radius:999px}.salon-card-content{min-width:0;padding:1rem;overflow-wrap:break-word}.salon-card-content h3{font-size:1rem;line-height:1.3;word-wrap:break-word}.salon-card-content .salon-address span,.salon-card-content .salon-hours span{overflow-wrap:break-word;word-break:break-word}.results-header-with-sort{flex-direction:column;align-items:stretch;gap:.75rem}.results-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;width:100%}.results-sort,.sort-select{width:100%;min-width:0}.sort-select{max-width:100%}.container-wide{padding:0 1rem}}@media (max-width:1024px){.salons-layout{grid-template-columns:1fr;gap:1.5rem}.salons-sidebar{position:static;width:100%;max-width:100%}}.header-user-wrap{display:flex;align-items:center;gap:1.25rem;position:relative}.header-action-btn{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-weight:600;font-size:.9rem;padding:8px 12px;border-radius:var(--radius-md);transition:all .2s cubic-bezier(.4,0,.2,1)}.header-action-btn:hover{background:var(--bg-card);color:var(--brand-500);box-shadow:0 2px 8px rgba(0,0,0,.05)}.user-profile-trigger{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 6px;background:rgba(255,255,255,.5);border:1px solid var(--border-color);border-radius:var(--radius-full);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-weight:600;font-size:.9rem;color:var(--text-primary)}.user-profile-trigger.active,.user-profile-trigger:hover{background:white;border-color:var(--brand-500);box-shadow:0 4px 12px rgba(0,0,0,.05)}.avatar-circle{width:32px;height:32px;background:var(--gradient-brand);color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}.chevron-icon{color:var(--text-muted);transition:transform .3s ease}.rotate-180{transform:rotate(180deg)}.header-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:240px;background:white;border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:8px;z-index:101;transform-origin:top right;box-shadow:0 8px 30px rgba(0,0,0,.12)}.dropdown-header{padding:12px 16px}.user-email{font-size:.85rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role-badge{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;color:var(--brand-600);background:var(--brand-50);padding:2px 8px;border-radius:4px;margin-top:4px}.dropdown-divider{height:1px;background:var(--border-color);margin:8px 0}.dropdown-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;color:var(--text-primary);transition:all .2s;cursor:pointer;width:100%;border:none;background:transparent;text-align:left}.dropdown-item:hover{background:var(--gray-100);color:var(--brand-600)}.logout-item{color:#dc2626}.logout-item:hover{background:rgba(220,38,38,.05);color:#dc2626}.login-btn-premium{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--gradient-brand);color:white;border-radius:var(--radius-full);font-weight:700;font-size:.9rem;box-shadow:var(--shadow-brand);transition:all .3s}.login-btn-premium:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(236,72,153,.4)}.mobile-menu-btn{display:none}.mobile-nav-drawer{position:fixed;inset:0;z-index:10000;display:flex;justify-content:flex-end;pointer-events:auto}.mobile-nav-drawer__backdrop{position:absolute;inset:0;border:none;background:rgba(15,10,25,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);pointer-events:auto;cursor:pointer}.mobile-nav-drawer__panel{position:relative;z-index:1;width:min(300px,88vw);max-width:100%;height:100%;min-height:100dvh;display:flex;flex-direction:column;padding:1rem 1rem 2rem;background:var(--bg-glass,var(--bg-card));border-left:1px solid var(--border-color);box-shadow:-8px 0 32px rgba(0,0,0,.12);pointer-events:auto;overflow-y:auto}.mobile-nav-drawer__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.mobile-nav-drawer__title{font-size:1.125rem;font-weight:700;color:var(--text-primary)}.mobile-nav-drawer__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.mobile-nav-drawer__link{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;font-size:1rem;font-weight:600;color:var(--text-secondary);border-radius:var(--radius-md);transition:background .2s,color .2s}.mobile-nav-drawer__link:hover{background:var(--bg-input);color:var(--accent-600)}.mobile-nav-drawer__link--active{color:var(--accent-600);background:var(--pink-soft,rgba(236,72,153,.08))}.mobile-nav-drawer__link svg{flex-shrink:0;color:var(--accent-500)}@media (min-width:769px){.mobile-nav-drawer{display:none!important}}@media (max-width:768px){.mobile-menu-btn{display:inline-flex}.hide-mobile-menu,.quick-access-strip{display:none}}@media (max-width:640px){.logo-icon-wrapper{background:var(--gradient-brand);padding:8px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:white;box-shadow:0 4px 12px rgba(236,72,153,.2)}.hide-mobile{display:none}.header-user-wrap{gap:.5rem;position:static}.header-dropdown{position:fixed;top:60px;right:.75rem;left:.75rem;width:auto;border-radius:var(--radius-lg);box-shadow:0 12px 40px rgba(0,0,0,.15)}.user-profile-trigger{padding:4px 8px 4px 4px;gap:6px}.user-profile-trigger .chevron-icon{display:none}.customer-header-actions{gap:.35rem}}.auth-page-wrapper{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 80px);padding:4rem 1rem;position:relative;overflow:hidden;background:radial-gradient(circle at top right,rgba(236,72,153,.08) 0,transparent 40%),radial-gradient(circle at bottom left,rgba(168,85,247,.08) 0,transparent 40%)}.auth-page-wrapper:before{top:10%;left:20%;width:400px;height:400px;background:var(--brand-500);animation:float 8s ease-in-out infinite alternate}.auth-page-wrapper:after,.auth-page-wrapper:before{content:"";position:absolute;border-radius:50%;filter:blur(120px);opacity:.15;z-index:0}.auth-page-wrapper:after{bottom:10%;right:20%;width:350px;height:350px;background:var(--accent-500);animation:float 10s ease-in-out infinite alternate-reverse}.auth-card{width:100%;max-width:440px;background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:3rem 2.5rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.1),var(--shadow-brand);position:relative;overflow:hidden;z-index:10}.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-brand)}.auth-header{text-align:center;margin-bottom:2.5rem}.auth-title{font-size:2rem;font-weight:800;margin-bottom:.75rem;background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.auth-subtitle{color:var(--text-secondary);font-size:.95rem;line-height:1.5}.auth-form{gap:1.25rem}.auth-form,.auth-input-group{display:flex;flex-direction:column}.auth-input-group{gap:.5rem}.auth-label{font-size:.85rem;font-weight:600;color:var(--text-primary);margin-left:.25rem;opacity:.9}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;left:1rem;color:var(--text-muted);transition:all .3s ease;pointer-events:none}.auth-input{width:100%;padding:.875rem 1rem .875rem 2.75rem;background:rgba(255,255,255,.6);border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:1rem;color:var(--text-primary);transition:all .3s cubic-bezier(.4,0,.2,1)}.auth-input:focus{outline:none;background:#ffffff;border-color:var(--brand-500);box-shadow:0 0 0 4px rgba(236,72,153,.1);transform:translateY(-1px)}.auth-input:focus+.auth-input-icon{color:var(--brand-500);transform:scale(1.1)}.auth-error{background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.2);color:#dc2626;border-radius:var(--radius-md);font-weight:500;display:flex;align-items:center;gap:.5rem}.auth-error,.auth-success{padding:.875rem 1rem;font-size:.9rem;margin-bottom:1rem}.auth-success{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.22);color:#166534;border-radius:var(--radius-md);font-weight:600}.auth-btn{width:100%;padding:.875rem;background:var(--gradient-brand);color:#fff;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-brand);margin-top:.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.auth-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 30px rgba(236,72,153,.45)}.auth-btn:active:not(:disabled){transform:translateY(0)}.auth-btn:disabled{opacity:.65;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:1rem;margin:.25rem 0}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--border-color)}.auth-divider span{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase}.auth-btn-google{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:#fff!important;color:#1f1f1f!important;border:1px solid var(--border-color)!important;text-decoration:none;box-shadow:var(--shadow-sm)!important}.auth-btn-google:hover{background:var(--bg-secondary)!important;border-color:#dadce0!important;box-shadow:var(--shadow-md)!important}.auth-switch{margin-top:2rem;text-align:center;font-size:.95rem;color:var(--text-secondary)}.auth-switch a{color:var(--brand-600);font-weight:700;margin-left:.35rem;transition:all .2s;position:relative}.auth-switch a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1.5px;background:var(--brand-500);transition:width .3s ease}.auth-switch a:hover{color:var(--brand-500)}.auth-switch a:hover:after{width:100%}.back-home-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.9rem;font-weight:500;margin-bottom:2rem;transition:all .2s}.back-home-link:hover{color:var(--brand-500);transform:translateX(-4px)}.salon-public-page .salon-hero{margin-bottom:2rem}.salon-public-page .salon-hero-cover{position:relative;width:100%;aspect-ratio:21/9;min-height:200px;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-card)}.salon-public-page .salon-hero-img{object-fit:cover}.salon-public-page .salon-hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 50%)}.salon-public-page .salon-hero-content{position:absolute;bottom:0;left:0;right:0;padding:1.5rem 2rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.salon-public-page .salon-hero-title{color:#fff;font-size:1.75rem;font-weight:700;margin:0;flex:1 1 100%}.salon-public-page .salon-hero-rating,.salon-public-page .salon-hero-rating-placeholder{color:rgba(255,255,255,.9);font-size:.95rem;margin:0;display:flex;align-items:center;gap:.25rem}.salon-public-page .salon-hero-book{margin-top:.5rem}.salon-public-page .salon-section{margin-bottom:2.5rem}.salon-public-page .salon-section-title{font-size:1.25rem;font-weight:700;margin-bottom:1rem}.salon-public-page .salon-about-desc{color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}.salon-public-page .salon-about-list{list-style:none;padding:0;margin:0}.salon-public-page .salon-about-list li{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.salon-public-page .salon-about-list a{color:var(--accent-500)}.salon-public-page .salon-empty-state{color:var(--text-muted);margin:0}.salon-public-page .salon-map-embed{border-radius:var(--radius-sm);overflow:hidden}.salon-public-page .salon-services-list{list-style:none;padding:0;margin:0}.salon-public-page .salon-service-item{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:1rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);margin-bottom:.75rem;background:var(--bg-card)}.salon-public-page .salon-service-name{font-weight:600;display:block}.salon-public-page .salon-service-meta{font-size:.875rem;color:var(--text-muted)}.salon-public-page .salon-service-right{display:flex;align-items:center;gap:1rem;margin-top:.5rem;width:100%}.salon-public-page .salon-service-price{font-weight:700;color:var(--accent-500)}.salon-public-page .btn-sm{padding:.35rem .75rem;font-size:.875rem}.salon-public-page .salon-team-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.salon-public-page .salon-team-card{display:flex;gap:1rem;padding:1rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card)}.salon-public-page .salon-team-avatar{width:56px;height:56px;border-radius:50%;background:var(--gray-100);display:flex;align-items:center;justify-content:center;flex-shrink:0}.salon-public-page .salon-team-details{display:flex;flex-direction:column;gap:.25rem}.salon-public-page .salon-team-role{font-size:.875rem;color:var(--text-muted)}.salon-public-page .salon-team-services{font-size:.8rem;color:var(--text-secondary);margin:.25rem 0 0}.salon-public-page .salon-gallery-empty{text-align:center;padding:2rem;color:var(--text-muted)}.salon-public-page .salon-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem}.salon-public-page .salon-gallery-item{position:relative;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;background:var(--gray-100)}.salon-public-page .salon-reviews-summary{margin-bottom:1rem}.salon-public-page .salon-reviews-form-placeholder{padding:1rem;border:1px dashed var(--border-color);border-radius:var(--radius-sm);display:flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.9rem}.booking-flow-page .booking-flow-title{font-size:1.5rem;margin-bottom:2rem;font-weight:800}.booking-flow-page .booking-step{margin-bottom:2.5rem;animation:fadeIn .4s ease-out}.booking-flow-page .booking-step-heading{font-size:1.25rem;margin-bottom:1.5rem;color:var(--text-primary)}.booking-flow-page .booking-step-label{font-size:.9rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem;display:block}.booking-flow-page .booking-dates,.booking-flow-page .booking-slots{display:flex;flex-wrap:wrap;gap:.75rem}.booking-flow-page .spin{animation:spin .8s linear infinite}.booking-flow-page .booking-nav-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.booking-flow-page .booking-nav-actions--spaced{margin-top:2rem}.booking-flow-page .booking-nav-actions .btn-primary,.booking-flow-page .booking-nav-actions .btn-secondary,.booking-flow-page .booking-nav-actions button{min-height:48px}.booking-flow-page .service-professional-item{margin-bottom:2rem;padding:1.25rem;border:1px solid var(--border-color);border-radius:12px}.booking-flow-page .service-professional-item h3{margin-bottom:1rem;font-size:1.05rem;overflow-wrap:anywhere}.booking-layout{display:grid;grid-template-columns:1fr 380px;gap:3rem;align-items:start}.booking-main-content{min-width:0}.booking-sidebar{position:sticky;top:6rem}.booking-summary-card.live-summary{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:1.75rem;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:1.5rem}.summary-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.summary-salon-name{font-size:1rem;color:var(--text-primary)}.summary-date{font-size:.9rem;color:var(--accent-500);font-weight:600}.summary-items{gap:1.25rem}.summary-item,.summary-items{display:flex;flex-direction:column}.summary-item{gap:.25rem}.summary-item-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.summary-item-name{font-size:.95rem;font-weight:600;color:var(--text-primary)}.summary-item-price{font-size:.9rem;font-weight:700;color:var(--text-primary)}.summary-item-meta{font-size:.8rem;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:.35rem}.summary-footer{margin-top:.5rem;padding-top:1.25rem;border-top:1px dashed var(--border-color);display:flex;flex-direction:column;gap:.75rem}.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.summary-row.total{color:var(--text-secondary)}.summary-row.total-price{font-size:1.15rem;font-weight:800;color:var(--accent-600)}.salon-services-list{list-style:none;display:flex;flex-direction:column;gap:1rem}.salon-service-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;transition:all .2s ease}.salon-service-item:hover{border-color:var(--accent-500);background:var(--bg-card-hover)}.salon-service-name{font-weight:600;font-size:1.05rem;color:var(--text-primary)}.salon-service-meta{font-size:.875rem;color:var(--text-muted)}.reservation-number{background:var(--brand-50);padding:.75rem 1.5rem;border-radius:var(--radius-md);display:inline-block;border:1px dashed var(--brand-300)}@media (max-width:992px){.booking-layout{grid-template-columns:1fr}.booking-sidebar{position:static;margin-top:2rem}.header-auth-sign-in-button{display:none}.salon-public-page .salon-team-list{grid-template-columns:1fr}}@media (max-width:768px){.booking-flow-page .booking-nav-actions{flex-direction:column-reverse;align-items:stretch}.booking-flow-page .booking-nav-actions .btn-primary,.booking-flow-page .booking-nav-actions .btn-secondary,.booking-flow-page .booking-nav-actions button{width:100%;justify-content:center}.salon-team-list{grid-template-columns:1fr}.booking-flow-page .service-professional-item{padding:1rem}}@keyframes booking-spin{to{transform:rotate(1turn)}}.spin{animation:booking-spin .8s linear infinite}.sp-page{--sp-sticky-top:4rem;--sp-nav-height:3rem;--sp-sidebar-sticky-top:calc(var(--sp-sticky-top) + var(--sp-nav-height) + 0.5rem);min-height:100vh;background:#fff;overflow-x:visible;max-width:100vw}.sp-container{max-width:1200px;margin:0 auto;padding:0 1.25rem 6rem;overflow-x:visible}.sp-skeleton-gallery{display:grid;grid-template-columns:3fr 1fr;gap:.5rem;margin-bottom:1rem;height:400px}.sp-skel{background:#f3f3f3;border-radius:12px;animation:sp-pulse 1.5s infinite}.sp-skel-cover{grid-row:1/3}.sp-skel-side{display:flex;flex-direction:column;gap:.5rem}.sp-skel-sm{flex:1 1}.sp-skel-strip{height:60px;margin-bottom:1rem}.sp-skel-content{height:300px}@keyframes sp-pulse{0%,to{opacity:1}50%{opacity:.5}}.sp-empty{text-align:center;padding:5rem 1rem}.sp-info-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 0 .75rem;min-width:0;max-width:100%}.sp-info-left{min-width:0;flex:1 1;overflow:hidden}.sp-salon-name{font-size:1.6rem;font-weight:700;margin:0 0 .35rem;letter-spacing:-.02em;color:#1a1a2e;overflow-wrap:break-word;word-break:break-word}.sp-salon-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.85rem;color:#555;min-width:0}.sp-rating{font-weight:700;color:#1a1a2e}.sp-stars{display:inline-flex;gap:1px}.sp-reviews{color:#555}.sp-dot{color:#ccc}.sp-open-status{color:#16a34a}.sp-address,.sp-open-status{display:inline-flex;align-items:center;gap:.25rem}.sp-address{color:#1a1a2e;text-decoration:none;overflow-wrap:break-word;word-break:break-word;min-width:0}.sp-directions{color:var(--brand-500);font-weight:600;text-decoration:none}.sp-directions:hover{text-decoration:underline}.sp-info-actions{display:flex;gap:.5rem;flex-shrink:0}.sp-action-btn{width:40px;height:40px;border-radius:50%;border:1px solid #e0e0e0;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#555;transition:all .2s}.sp-action-btn:hover{background:#f5f5f5;border-color:#ccc}.sp-action-btn-whatsapp{color:#fff;background:#25d366;border-color:#20bd5a}.sp-action-btn-whatsapp:hover{background:#20bd5a;border-color:#1da851;color:#fff}.sp-whatsapp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.65rem 1rem;border-radius:10px;background:#25d366;color:#fff;font-weight:600;font-size:.9rem;text-decoration:none;border:none;transition:background .2s}.sp-whatsapp-btn:hover{background:#20bd5a;color:#fff}.sp-whatsapp-btn-compact{width:auto;padding:.5rem .85rem;font-size:.8rem;white-space:nowrap}.sp-gallery-hero{display:grid;grid-template-columns:1.8fr 1fr;gap:.5rem;border-radius:16px;overflow:hidden;margin-bottom:0;height:420px;max-width:100%}.sp-gallery-cover{position:relative;cursor:pointer;border:none;padding:0;background:#eee}.sp-gallery-side{display:flex;flex-direction:column;gap:.5rem}.sp-gallery-side-img{position:relative;flex:1 1;cursor:pointer;border:none;padding:0;background:#eee;overflow:hidden}.sp-gallery-img{object-fit:cover}.sp-see-all-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);color:#fff;display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.85rem;font-weight:600;transition:background .2s}.sp-gallery-side-img:hover .sp-see-all-overlay{background:rgba(0,0,0,.55)}.sp-lightbox{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center}.sp-lightbox-inner{position:relative;width:90vw;height:85vh}.sp-lightbox-close{position:absolute;top:1rem;right:1rem;z-index:10;background:rgba(255,255,255,.15);border:none;color:#fff;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.sp-lb-main{position:relative;width:100%;height:100%;border-radius:12px;overflow:hidden}.sp-lb-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;background:rgba(255,255,255,.2);border:none;color:#fff;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sp-lb-nav:hover{background:rgba(255,255,255,.35)}.sp-lb-nav.prev{left:1rem}.sp-lb-nav.next{right:1rem}.sp-lb-counter{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);color:#fff;font-size:.85rem;background:rgba(0,0,0,.4);padding:.25rem .75rem;border-radius:20px}.sp-section-nav{display:flex;gap:0;border-bottom:1px solid #eee;margin:0 0 1.5rem;position:sticky;top:var(--sp-sticky-top,4rem);background:#fff;z-index:20;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;max-width:100%}.sp-section-nav:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:8px;background:#fff;pointer-events:none}.sp-section-nav::-webkit-scrollbar{display:none}.sp-nav-link{padding:.85rem 1.25rem;font-size:.9rem;font-weight:500;color:#888;text-decoration:none;border-bottom:2px solid transparent;transition:all .2s;white-space:nowrap;flex-shrink:0}.sp-nav-link.active,.sp-nav-link:hover{color:var(--brand-600,#6a4a9e);border-bottom-color:var(--brand-500)}.sp-layout{display:grid;grid-template-columns:1fr 340px;gap:2.5rem;align-items:start;padding-top:0;min-width:0}.sp-recently-viewed-below{margin-top:2.5rem;padding-top:.5rem;border-top:1px solid rgba(0,0,0,.06)}.sp-page .sp-recently-viewed-below .nearest-salons-title{font-size:1.35rem}.sp-main-col{display:flex;flex-direction:column;gap:2.5rem;min-width:0;overflow:hidden}.sp-section{scroll-margin-top:calc(var(--sp-sticky-top, 5.25rem) + var(--sp-nav-height, 3rem) + .5rem)}.sp-section-title{font-size:1.35rem;font-weight:700;color:#1a1a2e;margin:0 0 1rem}.sp-cat-tabs{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;margin-bottom:.5rem;scrollbar-width:none;max-width:100%;-webkit-overflow-scrolling:touch}.sp-cat-tabs::-webkit-scrollbar{display:none}.sp-cat-tab{white-space:nowrap;padding:.5rem 1rem;border-radius:999px;border:1px solid #e0e0e0;background:#fff;font-size:.85rem;font-weight:500;cursor:pointer;color:#555;transition:all .2s;flex-shrink:0}.sp-cat-tab.active{background:var(--brand-500);color:#fff;border-color:var(--brand-500)}.sp-cat-tab:hover:not(.active){border-color:var(--brand-300,#b89fe0);color:var(--brand-600)}.sp-cat-heading{font-size:1.1rem;font-weight:700;color:#1a1a2e;margin:.75rem 0 .5rem}.sp-service-list{display:flex;flex-direction:column;gap:0}.sp-service-card{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid #f0f0f0;transition:background .15s}.sp-service-card:hover{background:rgba(129,90,192,.02)}.sp-service-card.in-cart{background:rgba(129,90,192,.05);border-radius:10px;padding-left:.75rem;padding-right:.75rem;border-left:3px solid var(--brand-500)}.sp-svc-body{flex:1 1;min-width:0}.sp-svc-name{font-size:.95rem;font-weight:600;color:#1a1a2e;margin-bottom:.2rem}.sp-svc-meta{font-size:.8rem;color:#888;margin-bottom:.3rem}.sp-svc-gender{font-weight:500;color:var(--brand-500)}.sp-svc-desc{font-size:.8rem;color:#666;margin:.25rem 0;line-height:1.45}.sp-svc-desc,.sp-svc-notes{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sp-svc-notes{font-size:.75rem;color:#999;font-style:italic;margin:.2rem 0}.sp-svc-price{font-size:.85rem;font-weight:600;color:#1a1a2e;margin-top:.35rem}.sp-svc-actions{flex-shrink:0;padding-top:.25rem}.sp-svc-actions,.sp-svc-book{display:flex;align-items:center}.sp-svc-book{width:36px;height:36px;border-radius:50%;border:1.5px solid #ddd;background:#fff;cursor:pointer;justify-content:center;color:#777;transition:all .2s}.sp-svc-book:hover{border-color:var(--brand-500);color:var(--brand-500);background:rgba(129,90,192,.04)}.sp-svc-check{width:36px;height:36px;border-radius:50%;border:none;background:var(--brand-500);cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:transform .15s}.sp-svc-check:hover{transform:scale(1.08)}.sp-empty-cat{color:#999;font-size:.9rem;padding:1rem 0}.sp-see-all-btn{padding:.6rem 1.2rem;border:1px solid #ddd;border-radius:999px;background:#fff;font-size:.85rem;font-weight:600;cursor:pointer;color:#1a1a2e;margin-top:.5rem;transition:all .2s}.sp-see-all-btn:hover{background:#f5f5f5;border-color:#ccc}.sp-team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1.25rem}.sp-team-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;min-width:0}.sp-team-avatar{position:relative;width:80px;height:80px;border-radius:50%;overflow:hidden;flex-shrink:0}.sp-team-img{object-fit:cover;object-position:center;display:block}.sp-team-img,.sp-team-placeholder{width:100%;height:100%;border-radius:50%}.sp-team-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#3d3d5c,#2a2a3e);font-size:1.1rem;font-weight:600;color:#e8e6f4}.sp-team-name{overflow-wrap:anywhere;max-width:100%;font-size:.82rem;font-weight:600;color:#1a1a2e}.sp-team-badge{position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);background:#1a1a2e;color:#e5a84b;font-size:.65rem;font-weight:700;padding:.1rem .4rem;border-radius:10px;display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.sp-team-role{font-size:.72rem;color:#888}.sp-reviews-summary{margin-bottom:1.25rem}.sp-reviews-stars{display:flex;gap:2px;margin-bottom:.3rem}.sp-reviews-score{font-size:1rem;font-weight:700;color:#1a1a2e}.sp-reviews-score span{font-weight:400;color:#888}.sp-reviews-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.sp-review-card{border:1px solid #f0f0f0;border-radius:12px;padding:1rem;transition:box-shadow .2s}.sp-review-card:hover{box-shadow:0 2px 12px rgba(0,0,0,.05)}.sp-review-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem}.sp-review-avatar{width:36px;height:36px;border-radius:50%;background:var(--brand-100,#e8d5f5);color:var(--brand-600,#6b3fa0);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0}.sp-review-author{font-weight:600;font-size:.85rem;color:#1a1a2e}.sp-review-date{font-size:.72rem;color:#999}.sp-review-stars{display:flex;gap:1px;margin-bottom:.4rem}.sp-review-text{font-size:.82rem;color:#555;line-height:1.5;margin:0}.sp-reviews-page{max-width:1260px;margin:0 auto;padding:2rem 1rem 4rem}.sp-page-header{display:flex;flex-direction:column;gap:1.2rem;margin-bottom:2rem}.sp-page-back{display:flex;align-items:center}.sp-back-link{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;text-decoration:none}.sp-page-back:hover{text-decoration:underline}.sp-page-title-wrap{max-width:720px}.sp-page-overline{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700;color:#6b7280;margin-bottom:.5rem}.sp-page-title{font-size:clamp(2rem,2.4vw,2.6rem);font-weight:800;line-height:1.05;margin:0 0 .75rem;color:#1a1a2e}.sp-page-description{max-width:720px;margin:0;color:#555;font-size:.95rem;line-height:1.75}.sp-reviews-page-layout{display:grid;grid-template-columns:280px 1fr;gap:1.5rem}.sp-review-sidebar{display:flex;flex-direction:column;gap:1.25rem}.sp-review-distribution-card,.sp-review-filters-card,.sp-review-summary-card{border:1px solid #e5e7eb;border-radius:18px;background:#fff;padding:1.25rem}.sp-review-summary-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.sp-review-summary-label{display:block;font-size:.85rem;font-weight:700;color:#1f2937}.sp-review-summary-score{display:inline-flex;align-items:baseline;gap:.25rem;font-size:2.2rem;font-weight:800;color:#1a1a2e}.sp-review-summary-score span{font-size:1rem;font-weight:500;color:#6b7280}.sp-review-summary-stars{display:flex;gap:.25rem;margin-bottom:.8rem}.sp-review-summary-count{font-size:.9rem;color:#4b5563;margin:0}.sp-review-filter-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.sp-filter-clear{border:none;background:transparent;color:var(--brand-500);font-size:.8rem;font-weight:700;cursor:pointer}.sp-rating-filter-list{display:grid;gap:.75rem}.sp-rating-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem .95rem;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#1f2937;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.sp-rating-pill.active{background:#f5f3ff;border-color:var(--brand-300);color:#3730a3}.sp-rating-pill:hover{background:#fafafa}.sp-sort-section{margin-top:1rem}.sp-sort-label{display:block;margin-bottom:.75rem;font-size:.85rem;color:#4b5563;font-weight:700}.sp-sort-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.sp-sort-pill{padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:999px;background:#fff;color:#1f2937;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s}.sp-sort-pill.active{background:var(--brand-500);border-color:var(--brand-500);color:#fff}.sp-review-distribution-title{font-size:.95rem;font-weight:700;color:#111827;margin-bottom:1rem}.sp-distribution-row{display:grid;grid-template-columns:72px 1fr auto;gap:.75rem;align-items:center;margin-bottom:.8rem}.sp-distribution-label{font-size:.82rem;color:#4b5563}.sp-distribution-bar-wrap{width:100%;height:.85rem;border-radius:999px;background:#f3f4f6;overflow:hidden}.sp-distribution-bar{height:100%;background:var(--brand-500);border-radius:999px}.sp-distribution-count{font-size:.82rem;color:#6b7280;font-weight:700}.sp-review-main{display:flex;flex-direction:column;gap:1.2rem}.sp-review-main-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.sp-review-meta{display:flex;flex-wrap:wrap;gap:.75rem}.sp-review-meta-pill{display:inline-flex;align-items:center;padding:.65rem .95rem;border-radius:999px;background:#f8fafc;color:#374151;font-size:.8rem;font-weight:700}.sp-review-list{display:grid;gap:1rem}.sp-review-card-large{border:1px solid #e5e7eb;border-radius:18px;padding:1.2rem;background:#fff;transition:box-shadow .2s}.sp-review-card-large:hover{box-shadow:0 10px 30px rgba(15,23,42,.06)}.sp-review-empty{padding:2rem;border:1px dashed #d1d5db;border-radius:18px;text-align:center;color:#6b7280;background:#f8fafc}.sp-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem}.sp-pagination-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1rem;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#1f2937;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s}.sp-pagination-btn:disabled{opacity:.45;cursor:not-allowed}.sp-pagination-pages{display:flex;flex-wrap:wrap;gap:.55rem}.sp-pagination-page{min-width:40px;padding:.7rem .9rem;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#374151;font-size:.85rem;font-weight:700;cursor:pointer}.sp-pagination-page.active{border-color:var(--brand-500);background:var(--brand-500);color:#fff}@media (max-width:980px){.sp-reviews-page-layout{grid-template-columns:1fr}.sp-review-sidebar{order:2}}@media (max-width:720px){.sp-reviews-page{padding:1.5rem .75rem 3rem}.sp-page-header{gap:.9rem}.sp-page-title{font-size:2rem}.sp-review-distribution-card,.sp-review-filters-card,.sp-review-summary-card{padding:1rem}.sp-review-main-header{flex-direction:column;align-items:stretch}.sp-review-meta{justify-content:flex-start}.sp-distribution-row{grid-template-columns:1fr auto}}.sp-about-text{font-size:.9rem;color:#555;line-height:1.65}.sp-about-map,.sp-about-text{margin-bottom:1.25rem}.sp-about-addr{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:#555;margin-top:.6rem;flex-wrap:wrap;overflow-wrap:break-word}.sp-opening-times h3{font-size:1rem;font-weight:700;color:#1a1a2e;margin-bottom:.75rem}.sp-hours-grid{display:flex;flex-direction:column;gap:.35rem}.sp-hours-row{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#555;padding:.3rem 0}.sp-hours-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex-shrink:0}.sp-sidebar{position:sticky;top:var(--sp-sidebar-sticky-top,6rem);align-self:start;z-index:18;max-height:calc(100vh - var(--sp-sidebar-sticky-top, 6rem) - 1rem)}.sp-sidebar-sticky{position:static;top:auto}.sp-sidebar-card{border:1px solid #eee;border-radius:16px;padding:1.25rem 1.25rem 1.35rem;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.04);max-height:calc(100vh - var(--sp-sidebar-sticky-top, 6rem) - 1rem);overflow-y:auto;overscroll-behavior:contain;scroll-padding-top:.5rem}.sp-sidebar-title{font-size:1.15rem;font-weight:700;color:#1a1a2e;margin:0 0 .5rem;line-height:1.3}.sp-sidebar-rating{display:flex;align-items:center;gap:.4rem;margin-bottom:1rem;font-size:.9rem;font-weight:600}.sp-stars-sm{display:inline-flex;gap:1px}.sp-sidebar-reviews{font-weight:400;color:#888}.sp-book-now-btn{width:100%;padding:.9rem;border:none;border-radius:999px;background:var(--brand-500);color:#fff;font-size:.95rem;font-weight:700;cursor:pointer;margin-bottom:1rem;transition:all .2s;box-shadow:0 4px 14px rgba(129,90,192,.25)}.sp-book-now-btn:hover{background:var(--brand-600);box-shadow:0 6px 20px rgba(129,90,192,.35);transform:translateY(-1px)}.sp-sidebar-hours{color:#16a34a}.sp-sidebar-hours,.sp-sidebar-location{display:flex;align-items:center;gap:.4rem;font-size:.82rem;margin-bottom:.4rem}.sp-sidebar-location{color:#555}.sp-sidebar-directions{font-size:.82rem;color:var(--brand-500);font-weight:600;text-decoration:none}.sp-sidebar-directions:hover{text-decoration:underline}.sp-cart-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid #eee;box-shadow:0 -4px 20px rgba(0,0,0,.08);padding:.65rem 1rem calc(.65rem + env(safe-area-inset-bottom))}.sp-cart-bar-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.sp-cart-info{display:flex;flex-direction:column}.sp-cart-count{font-size:.8rem;color:#888}.sp-cart-total{font-size:1rem;font-weight:700;color:#1a1a2e}.sp-cart-continue{padding:.75rem 2rem;border:none;border-radius:999px;background:var(--brand-500);color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;box-shadow:0 4px 14px rgba(129,90,192,.25);transition:all .2s}.sp-cart-continue:hover{background:var(--brand-600);box-shadow:0 6px 20px rgba(129,90,192,.35)}.sp-mobile-book-bar{display:none}.sp-modal-overlay{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:1rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sp-modal{position:relative;background:#fff;border-radius:16px;max-width:620px;width:100%;max-height:85vh;overflow-y:auto;padding:1.75rem;box-shadow:0 20px 60px rgba(0,0,0,.15)}.sp-modal-wide{max-width:820px}.sp-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;color:#555;padding:4px}.sp-modal-close:hover{color:#111}.sp-modal-title{font-size:1.25rem;font-weight:700;margin:0 0 .35rem;color:#1a1a2e}.sp-modal-gender{font-size:.8rem;color:var(--brand-500);display:block;margin-bottom:.5rem}.sp-modal-desc{font-size:.85rem;color:#555;line-height:1.55;margin-bottom:1rem}.sp-modal-select-label{font-size:.95rem;font-weight:700;color:#1a1a2e;margin-bottom:.75rem}.sp-sub-list{display:flex;flex-direction:column;gap:0}.sp-sub-card{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 0;background:none;border:none;border-bottom:1px solid #f0f0f0;cursor:pointer;text-align:left;width:100%;transition:opacity .2s}.sp-sub-card.dimmed{opacity:.4}.sp-sub-card.selected{opacity:1}.sp-sub-info{flex:1 1;min-width:0}.sp-sub-name{font-size:.9rem;font-weight:600;color:#1a1a2e;margin-bottom:.15rem}.sp-sub-meta{font-size:.78rem;color:#888;margin-bottom:.25rem}.sp-sub-desc{font-size:.78rem;color:#666;line-height:1.45;margin:.25rem 0}.sp-sub-price{font-size:.85rem;font-weight:600;color:#1a1a2e;margin-top:.3rem}.sp-sub-radio{width:22px;height:22px;border-radius:50%;border:2px solid #ccc;flex-shrink:0;margin-top:.2rem;transition:all .15s}.sp-sub-radio.checked{border-color:var(--brand-500);background:var(--brand-500);box-shadow:inset 0 0 0 3px #fff}.sp-modal-add{width:100%;padding:.85rem;border:none;border-radius:999px;background:var(--brand-500);color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;margin-top:1rem;transition:all .2s;box-shadow:0 4px 14px rgba(129,90,192,.2)}.sp-modal-add:hover{background:var(--brand-600);box-shadow:0 6px 20px rgba(129,90,192,.3)}.sp-modal-add:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.sp-booking-overlay{position:fixed;inset:0;z-index:80;background:var(--gradient-bg);display:flex;flex-direction:column;overflow:hidden}.sp-booking-header{display:flex;align-items:center;gap:1.25rem;padding:1.25rem 2.5rem;border-bottom:1px solid var(--border-color);flex-shrink:0;background:var(--bg-card);box-shadow:var(--shadow-sm)}.sp-booking-back,.sp-booking-close{background:none;border:none;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;transition:all .3s ease;flex-shrink:0}.sp-booking-back:hover,.sp-booking-close:hover{background:var(--bg-secondary);color:var(--brand-500)}.sp-booking-breadcrumb{flex:1 1;display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:var(--text-muted)}.sp-breadcrumb-item{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:.9rem;font-weight:500;padding:.5rem 0;transition:all .3s ease}.sp-breadcrumb-item:hover:not(:disabled){color:var(--brand-500);font-weight:600}.sp-breadcrumb-item.active{color:var(--brand-500);font-weight:700}.sp-breadcrumb-item.done{color:var(--brand-500);font-weight:600;opacity:.8}.sp-breadcrumb-item:disabled{cursor:not-allowed;opacity:.5}.sp-booking-close{margin-left:auto}.sp-booking-body{flex:1 1;display:grid;grid-template-columns:1fr 400px;overflow:hidden;gap:0}.sp-booking-main{padding:2.5rem 3rem;overflow-y:auto;background:var(--bg-primary)}.sp-booking-sidebar{padding:2.5rem 2rem;border-left:1px solid var(--border-color);overflow-y:auto;background:var(--bg-secondary)}.sp-booking-footer{border-top:1px solid var(--border-color);padding:1.5rem 2.5rem;display:flex;justify-content:center;flex-shrink:0;background:var(--bg-card);box-shadow:0 -2px 8px rgba(0,0,0,.04)}.sp-continue-btn{padding:1.1rem 3.5rem;border:none;border-radius:12px;background:var(--gradient-brand);color:#fff;font-size:1.05rem;font-weight:700;cursor:pointer;min-width:300px;text-align:center;transition:all .3s ease;box-shadow:0 6px 24px rgba(129,90,192,.25)}.sp-continue-btn:hover{background:var(--brand-600);box-shadow:0 8px 32px rgba(129,90,192,.35);transform:translateY(-2px)}.sp-continue-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.sp-step-title{font-size:1.75rem;font-weight:800;color:var(--text-primary);margin:0 0 2rem;letter-spacing:-.015em}.sp-step-title--time{margin-bottom:.6rem}.sp-time-seq-explainer{margin:0 0 1.35rem;font-size:.9rem;line-height:1.55;color:var(--text-secondary);max-width:40rem}.sp-time-seq-explainer strong{color:var(--text-primary);font-weight:700}.sp-step-content{width:100%;max-width:100%}.sp-sidebar-salon{display:flex;gap:1.25rem;margin-bottom:2rem;padding-bottom:1.75rem;border-bottom:1.5px solid var(--border-color)}.sp-sidebar-thumb{position:relative;width:64px;height:64px;border-radius:12px;overflow:hidden;flex-shrink:0;background:var(--bg-secondary);box-shadow:0 2px 8px rgba(0,0,0,.08)}.sp-sidebar-name{font-size:1rem;font-weight:700;color:var(--text-primary)}.sp-sidebar-meta{font-size:.85rem;color:#e5a84b;display:flex;align-items:center;gap:.4rem;font-weight:500}.sp-sidebar-addr{font-size:.85rem;color:var(--text-muted);line-height:1.4}.sp-sidebar-datetime{display:flex;flex-direction:column;gap:.6rem;font-size:.95rem;color:var(--text-secondary);margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1.5px solid var(--border-color);font-weight:500}.sp-sidebar-datetime div{display:flex;align-items:center;gap:.5rem}.sp-sidebar-items{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;max-height:300px;overflow-y:auto}.sp-sidebar-item{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem 0}.sp-sidebar-item-name{font-size:.95rem;font-weight:600;color:var(--text-primary)}.sp-sidebar-item-meta{font-size:.8rem;color:var(--text-muted)}.sp-sidebar-item-price{font-size:.95rem;font-weight:700;color:var(--brand-600);white-space:nowrap}.sp-sidebar-total{display:flex;justify-content:space-between;align-items:center;font-size:1.1rem;font-weight:700;color:var(--text-primary);padding:1.25rem 0 0;border-top:1.5px solid var(--border-color);gap:1rem}.sp-pro-list{display:flex;flex-direction:column;gap:.8rem}.sp-pro-card{display:flex;align-items:center;gap:1.25rem;padding:1.25rem;border:1.5px solid var(--border-color);border-radius:12px;background:var(--bg-card);cursor:pointer;width:100%;text-align:left;transition:all .3s ease}.sp-pro-card.selected{border-color:var(--brand-500);background:rgba(129,90,192,.08);box-shadow:0 4px 12px rgba(129,90,192,.12)}.sp-pro-card:hover{border-color:var(--brand-300);background:var(--bg-secondary);transform:translateY(-1px)}.sp-pro-avatar{width:60px;height:60px;border-radius:50%;background:var(--brand-100);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.35rem;color:var(--brand-600);flex-shrink:0;box-shadow:0 2px 8px rgba(129,90,192,.15)}.sp-pro-avatar-any{background:#e8e8e8;color:#666}.sp-pro-info{flex:1 1;display:flex;flex-direction:column;gap:.3rem}.sp-pro-name{font-size:1rem;font-weight:700;color:var(--text-primary)}.sp-pro-role{font-size:.85rem;color:var(--text-muted)}.sp-pro-rating{font-size:.85rem;color:#e5a84b;display:inline-flex;align-items:center;gap:.35rem;font-weight:600}.sp-pro-select-btn{padding:.6rem 1.2rem;border:1.5px solid #ddd;border-radius:10px;font-size:.85rem;font-weight:600;color:var(--text-primary);background:#fff;transition:all .3s ease;cursor:pointer}.sp-pro-select-btn:hover{border-color:var(--brand-500);color:var(--brand-500);background:rgba(129,90,192,.04)}.sp-pro-check{color:var(--brand-500);flex-shrink:0;font-weight:700}.sp-pro-step-root .sp-step-title{margin-bottom:.75rem}.sp-pro-step-intro{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0 0 1.25rem;max-width:36rem}.sp-pro-quick-apply{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:.85rem 1rem;margin-bottom:1.25rem;border-radius:12px;border:1px dashed var(--border-color);background:rgba(129,90,192,.06)}.sp-pro-quick-apply-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.sp-pro-quick-apply-text strong{font-size:.88rem;font-weight:700;color:var(--text-primary)}.sp-pro-quick-apply-text span{font-size:.8rem;color:var(--text-muted)}.sp-pro-quick-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.55rem 1rem;border-radius:10px;border:1.5px solid var(--brand-400);background:var(--bg-card);color:var(--brand-600);font-size:.82rem;font-weight:700;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.sp-pro-quick-btn:hover{background:rgba(129,90,192,.12);border-color:var(--brand-500)}.sp-pro-quick-btn.selected{background:var(--gradient-brand);border:2px solid var(--brand-700);color:#fff;box-shadow:0 0 0 2px rgba(129,90,192,.35)}.sp-pro-quick-check{flex-shrink:0;opacity:.95}.sp-pro-service-list{display:flex;flex-direction:column;gap:1.25rem}.sp-pro-service-panel{border:1.5px solid var(--border-color);border-radius:14px;padding:1rem 1.1rem 1.1rem;background:var(--bg-card);box-shadow:0 1px 0 rgba(0,0,0,.04)}.sp-pro-service-panel-head{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.65rem}.sp-pro-step-badge{flex-shrink:0;width:28px;height:28px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;background:var(--brand-500);color:#fff;line-height:1}.sp-pro-service-title{font-size:1.02rem;font-weight:700;color:var(--text-primary);line-height:1.25}.sp-pro-service-sub{font-size:.82rem;color:var(--text-muted);font-weight:500;margin-top:.15rem}.sp-pro-choice-prompt{margin:0 0 .65rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.sp-pro-chip-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:stretch}.sp-pro-chip{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.4rem .85rem;border-radius:999px;border:1.5px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:.85rem;font-weight:600;cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,opacity .2s ease;text-align:left}.sp-pro-chip:not(.selected){opacity:.78}.sp-pro-chip:hover{border-color:var(--brand-300);background:var(--bg-card);opacity:1}.sp-pro-chip.selected{border-width:2px;border-color:var(--brand-600);background:linear-gradient(145deg,rgba(129,90,192,.22),rgba(129,90,192,.08));box-shadow:0 0 0 2px rgba(129,90,192,.28),0 4px 14px rgba(129,90,192,.12);color:var(--brand-800);opacity:1}.sp-pro-chip-any{font-weight:700}.sp-pro-chip-check{flex-shrink:0;color:var(--brand-600)}.sp-pro-chip.selected .sp-pro-chip-check{color:var(--brand-700)}.sp-pro-chip.selected .sp-pro-chip-initial{background:var(--brand-500);color:#fff}.sp-pro-chip-initial{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;background:var(--brand-100);color:var(--brand-600);flex-shrink:0}.sp-pro-chip-label{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;min-width:0}.sp-pro-chip-name{max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-pro-chip-price{font-size:.72rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.sp-pro-chip.selected .sp-pro-chip-price{color:var(--brand-700)}.sp-pro-chip-rate{font-size:.72rem;color:#c08421;font-weight:600;margin-left:.1rem}.sp-pro-empty-msg{margin:0;font-size:.85rem;color:#d97706;line-height:1.45}.sp-time-month{margin-bottom:2rem}.sp-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.sp-cal-label{font-size:1.2rem;font-weight:700;color:var(--text-primary)}.sp-cal-arrows{display:flex;gap:.6rem}.sp-cal-arrows button{background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:10px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:all .3s ease;font-weight:600}.sp-cal-arrows button:hover:not(:disabled){border-color:var(--brand-500);color:var(--brand-500);background:rgba(129,90,192,.06)}.sp-cal-arrows button:disabled{opacity:.35;cursor:not-allowed}.sp-day-calendar{margin-bottom:1rem}.sp-day-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;margin-bottom:.4rem;padding:0 .15rem}.sp-day-wd{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);text-align:center}.sp-day-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.45rem;align-items:stretch}.sp-day-cell{min-height:52px;display:flex;align-items:stretch}.sp-day-cell-pad{min-height:0;pointer-events:none}.sp-day-chip{position:relative;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:52px;padding:.35rem .2rem;border-radius:10px;border:1.5px solid var(--border-color);background:var(--bg-card);cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,color .2s ease,opacity .2s ease}.sp-day-chip.out-of-range{opacity:.28;cursor:default;pointer-events:none;background:transparent;border-color:transparent}.sp-day-chip.selected{background:var(--gradient-brand);border-color:var(--brand-500);color:#fff;box-shadow:0 4px 16px rgba(129,90,192,.22)}.sp-day-chip:hover:not(.selected):not(.disabled):not(.out-of-range){border-color:var(--brand-300);background:var(--bg-secondary)}.sp-day-chip.disabled{opacity:.45;cursor:not-allowed}.sp-day-num{font-size:1.05rem;font-weight:800;line-height:1.1}.sp-day-name{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px;margin-top:.15rem;line-height:1}.sp-slots-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.sp-slot-btn{padding:1rem .75rem;border:1.5px solid var(--border-color);border-radius:10px;background:var(--bg-card);font-size:.95rem;font-weight:600;cursor:pointer;text-align:center;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;position:relative;box-sizing:border-box}.sp-slot-btn.available:hover{border-color:var(--brand-300);background:var(--bg-secondary);transform:translateY(-2px)}.sp-slot-btn.selected{border-color:var(--brand-500);background:rgba(129,90,192,.08);font-weight:700;color:var(--brand-600);box-shadow:0 4px 12px rgba(129,90,192,.15)}.sp-slot-btn.held{border-color:#fbbf24;background:rgba(251,191,36,.08);color:#92400e;cursor:not-allowed;opacity:.7}.sp-slot-btn.booked{border-color:#ef4444;background:rgba(239,68,68,.06);color:#991b1b;cursor:not-allowed;opacity:.6;text-decoration:line-through}.sp-slot-btn.booked:hover,.sp-slot-btn.held:hover{transform:none}.sp-slot-badge{display:block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.sp-no-slots{color:var(--text-muted);font-size:1rem;text-align:center;padding:3rem 0;grid-column:1/-1;font-weight:500}.sp-day-chip.fully-booked{opacity:.55}.sp-day-badge{font-size:.5rem;font-weight:700;text-transform:uppercase;color:#ef4444;letter-spacing:.2px;margin-top:.1rem;line-height:1}@keyframes sp-guide-shimmer{0%{opacity:0;background-position:120% 50%}12%{opacity:1}to{opacity:0;background-position:-20% 50%}}.sp-day-chip.sp-pulse-guide:before,.sp-slot-btn.sp-pulse-guide:before{content:"";position:absolute;inset:-2px;border-radius:inherit;pointer-events:none;z-index:2;box-sizing:border-box;border:2px solid rgba(129,90,192,.45);background:linear-gradient(105deg,rgba(255,255,255,0),rgba(255,255,255,0) 38%,rgba(129,90,192,.28) 50%,rgba(255,255,255,0) 62%,rgba(255,255,255,0));background-size:220% 100%;background-position:120% 50%;animation:sp-guide-shimmer 1.35s cubic-bezier(.4,0,.2,1) 1 forwards}.sp-slot-btn.sp-pulse-guide:before{inset:-3px}.sp-slots-legend{display:flex;gap:1.25rem;margin-bottom:1rem;padding:.5rem 0}.sp-legend-item{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--text-secondary);font-weight:500}.sp-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.sp-legend-dot.available{background:var(--brand-500)}.sp-legend-dot.held{background:#fbbf24}.sp-legend-dot.booked{background:#ef4444}.sp-slots-section{position:relative}.sp-slots-loading{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 0;gap:1rem;color:var(--text-secondary)}.sp-slots-spinner{width:28px;height:28px;border:3px solid var(--border-color);border-top-color:var(--brand-500);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.sp-hold-loading-overlay{position:absolute;inset:0;background:rgba(255,255,255,.85);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;z-index:10;border-radius:12px;color:var(--brand-600);font-weight:600;font-size:.9rem}.sp-time-footer-hint{text-align:center;padding:.75rem;color:var(--text-secondary);font-size:.85rem;font-weight:500}.sp-confirm-card{border:1.5px solid var(--border-color);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;background:var(--bg-secondary)}.sp-confirm-card h4{font-size:1rem;font-weight:700;color:var(--text-primary);margin:0 0 .75rem}.sp-confirm-card p{font-size:.95rem;color:var(--text-secondary);margin:0;line-height:1.6}.sp-confirm-section{margin-bottom:2rem}.sp-confirm-section>h4{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.sp-confirm-add{display:flex;justify-content:space-between;align-items:center;cursor:pointer;background:var(--bg-secondary);width:100%;border:1.5px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:all .3s ease}.sp-confirm-add:hover{background:var(--bg-card);border-color:var(--brand-300)}.sp-add-label{font-weight:700;color:var(--brand-500);font-size:.9rem}.sp-notes-input{width:100%;border:1.5px solid var(--border-color);border-radius:10px;padding:1rem;font-size:.95rem;resize:vertical;font-family:inherit;background:var(--bg-card);color:var(--text-primary);transition:all .3s ease}.sp-notes-input:focus{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 4px rgba(129,90,192,.1);background:var(--bg-card)}.sp-timer-alert{border:2px solid #3b82f6;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;background:linear-gradient(135deg,rgba(59,130,246,.05),rgba(59,130,246,.02));animation:slideIn .4s ease-out}.sp-timer-alert.sp-timer-urgent{border-color:#ef4444;background:linear-gradient(135deg,rgba(239,68,68,.08),rgba(239,68,68,.03));animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.sp-timer-alert.sp-timer-expired{border-color:#dc2626;background:linear-gradient(135deg,rgba(220,38,38,.1),rgba(220,38,38,.05))}.sp-timer-content{display:flex;align-items:center;gap:1.5rem}.sp-timer-display{font-size:3rem;font-weight:800;font-family:Monaco,Courier New,monospace;min-width:120px;text-align:center;color:#3b82f6;letter-spacing:2px}.sp-timer-alert.sp-timer-urgent .sp-timer-display{color:#ef4444}.sp-timer-alert.sp-timer-expired .sp-timer-display{display:none}.sp-timer-expired-icon{font-size:2.5rem;display:flex;align-items:center;justify-content:center}.sp-timer-message{flex:1 1}.sp-timer-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem;line-height:1.5}.sp-timer-subtitle{font-size:.9rem;color:var(--text-secondary);margin:0;line-height:1.4}.sp-timer-alert.sp-timer-urgent .sp-timer-subtitle{color:#dc2626}.sp-confirm-expired{background:linear-gradient(135deg,rgba(220,38,38,.08),rgba(220,38,38,.02));border-color:#dc2626}.sp-confirm-expired p{color:var(--text-secondary)}.sp-back-link{background:none;border:none;color:var(--brand-500);font-weight:600;cursor:pointer;text-decoration:underline;font-size:inherit;padding:0;margin:0}.sp-back-link:hover{color:var(--brand-600)}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.sp-phone-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1001;padding:1.25rem;animation:fadeIn .3s ease-out}.sp-phone-modal-content{background:var(--bg-primary);border-radius:16px;padding:2rem;width:100%;max-width:420px;box-shadow:0 8px 40px rgba(0,0,0,.15);animation:slideUp .3s ease-out}.sp-phone-modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.sp-phone-modal-title{font-size:1.35rem;font-weight:700;color:var(--text-primary);margin:0}.sp-phone-modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;margin:-.5rem -.5rem -.5rem 0;transition:color .2s}.sp-phone-modal-close:hover{color:var(--text-primary)}.sp-phone-modal-subtitle{font-size:.9rem;color:var(--text-secondary);margin:0 0 1.5rem;line-height:1.6}.sp-phone-form{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem}.sp-phone-input-wrapper{display:flex;flex-direction:column;gap:.5rem}.sp-phone-input-label{font-size:.85rem;font-weight:600;color:var(--text-primary)}.sp-required-mark{color:#ef4444;font-weight:700}.sp-phone-input{padding:.85rem 1rem;font-size:1rem;border:1.5px solid var(--border-color);border-radius:10px;background:var(--bg-card);color:var(--text-primary);transition:all .3s ease;font-family:inherit}.sp-phone-input:focus{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 4px rgba(129,90,192,.1);background:var(--bg-card)}.sp-phone-input::placeholder{color:var(--text-secondary)}.sp-phone-submit{padding:.95rem 1.5rem;font-size:.95rem;font-weight:700;border:none;border-radius:10px;background:linear-gradient(135deg,var(--brand-500) 0,var(--brand-600) 100%);color:white;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px rgba(129,90,192,.3)}.sp-phone-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(129,90,192,.4)}.sp-phone-submit:active:not(:disabled){transform:translateY(0)}.sp-phone-submit:disabled{opacity:.5;cursor:not-allowed}.sp-phone-privacy{font-size:.75rem;color:var(--text-secondary);text-align:center;line-height:1.5;margin:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:900px){.sp-container,.sp-page{max-width:100vw}.sp-container{padding:0 1rem calc(5rem + env(safe-area-inset-bottom))}.sp-layout{grid-template-columns:1fr}.sp-sidebar{display:none}.sp-mobile-book-bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:38;background:#fff;border-top:1px solid #eee;box-shadow:0 -4px 20px rgba(0,0,0,.08);padding:.55rem 1rem calc(.55rem + env(safe-area-inset-bottom));box-sizing:border-box}.sp-mobile-book-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.sp-mobile-book-meta{display:flex;flex-direction:column;gap:.12rem;min-width:0}.sp-mobile-book-name{font-size:.85rem;font-weight:700;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-mobile-book-rating{font-size:.78rem;color:#666;display:inline-flex;align-items:center;gap:.25rem}.sp-mobile-book-btn{flex-shrink:0;padding:.65rem 1.35rem;border:none;border-radius:999px;background:var(--brand-500);color:#fff;font-weight:700;font-size:.85rem;cursor:pointer;box-shadow:0 4px 14px rgba(129,90,192,.25)}.sp-mobile-book-btn:hover{background:var(--brand-600)}.sp-gallery-hero{height:260px;grid-template-columns:1.5fr 1fr}.sp-booking-body{grid-template-columns:1fr}.sp-booking-sidebar{display:block;border-left:none;border-top:1.5px solid var(--border-color);padding:1.5rem 1.25rem;background:var(--bg-secondary)}.sp-booking-main{padding:1.75rem 1.25rem 1.25rem}.sp-booking-header{padding:1.25rem 1rem;gap:.75rem}.sp-booking-breadcrumb{font-size:.8rem;gap:.35rem}.sp-booking-footer{padding:1.25rem 1rem}.sp-continue-btn{width:100%;min-width:auto;padding:1rem 1.5rem;font-size:1rem;height:52px}.sp-step-title{font-size:1.5rem;margin-bottom:1.75rem}.sp-pro-list{gap:.7rem}.sp-pro-card{padding:1rem;gap:1rem}.sp-pro-avatar{width:56px;height:56px;font-size:1.25rem}.sp-pro-name{font-size:.95rem}.sp-day-grid{gap:.35rem}.sp-day-chip{min-height:48px;padding:.3rem .15rem}.sp-slots-list{grid-template-columns:repeat(2,1fr);gap:.85rem}.sp-slot-btn{padding:.9rem .6rem;font-size:.9rem}.sp-sidebar-salon{gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem}.sp-sidebar-thumb{width:60px;height:60px}.sp-sidebar-name{font-size:.95rem}.sp-sidebar-items{gap:.65rem}.sp-phone-modal{align-items:flex-end;padding:1rem}.sp-phone-modal-content{max-width:100%;width:100%;border-radius:16px 16px 0 0;animation:slideUpTablet .3s ease-out}@keyframes slideUpTablet{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}}@media (max-width:600px){.sp-container{padding-left:.75rem;padding-right:.75rem}.sp-gallery-hero{grid-template-columns:1fr;height:auto}.sp-gallery-cover{height:220px}.sp-gallery-side{flex-direction:row;height:100px}.sp-gallery-side-img{flex:1 1}.sp-nav-link{padding:.7rem .9rem;font-size:.82rem}.sp-team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.sp-team-avatar{width:72px;height:72px}.sp-cat-tab{font-size:.78rem;padding:.4rem .75rem}.sp-step-title{font-size:1.3rem;margin-bottom:1.5rem;font-weight:800}.sp-modal{border-radius:16px 16px 0 0;max-height:90vh;align-self:flex-end}.sp-booking-overlay{background:var(--bg-primary);padding-bottom:0}.sp-booking-header{padding:.85rem 1rem;gap:.75rem;background:var(--bg-card);border-bottom:1.5px solid var(--border-color)}.sp-booking-body{display:flex;flex-direction:column;max-height:calc(100vh - 150px);overflow:hidden}.sp-booking-main{padding:1.25rem 1rem;overflow-y:auto;flex:1 1;-webkit-overflow-scrolling:touch}.sp-booking-sidebar{padding:1.25rem 1rem;background:var(--bg-secondary);border-top:1.5px solid var(--border-color);border-left:none;order:2}.sp-booking-footer{padding:1rem 1rem 1.25rem;order:3;background:var(--bg-card)}.sp-continue-btn{padding:.9rem 1.5rem;font-weight:700;border-radius:10px;font-size:1rem;height:48px;width:100%}.sp-pro-list{gap:.7rem}.sp-pro-card{border-radius:10px;padding:1rem;min-height:68px;gap:1rem;border-width:1.5px}.sp-pro-avatar{width:52px;height:52px;min-width:52px;border-radius:50%;font-size:1.1rem}.sp-pro-name{font-size:.95rem;font-weight:600}.sp-pro-role{font-size:.8rem}.sp-pro-select-btn{padding:.5rem 1rem;font-size:.8rem;border-radius:8px}.sp-pro-check{width:20px;height:20px}.sp-slots-list{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:1.25rem}.sp-slot-btn{padding:.85rem;min-height:48px;font-size:.9rem;border-radius:10px;border-width:1.5px}.sp-slot-btn.selected{font-weight:700}.sp-time-month{margin-bottom:1.5rem}.sp-cal-nav{margin-bottom:1rem}.sp-cal-label{font-size:1rem;font-weight:700}.sp-day-grid{gap:.3rem;margin-bottom:.75rem}.sp-day-chip{min-height:44px;border-radius:9px}.sp-day-num{font-size:1.1rem;font-weight:800}.sp-day-name{font-size:.7rem;font-weight:600}.sp-sidebar-salon{gap:1rem;margin-bottom:1.25rem;border-bottom-width:1.5px}.sp-sidebar-items{gap:.75rem}.sp-confirm-card{border-width:1.5px;padding:1.25rem;margin-bottom:1.25rem}.sp-confirm-card h4{font-size:.95rem;margin-bottom:.5rem}.sp-confirm-card p{font-size:.9rem}.sp-phone-modal{align-items:flex-end;padding:0}.sp-phone-modal-content{max-width:100%;width:100%;border-radius:20px 20px 0 0;max-height:85vh;padding:1.5rem 1.25rem 2rem;animation:slideUpMobile .3s ease-out}.sp-phone-modal-title{font-size:1.25rem}.sp-phone-modal-subtitle{font-size:.85rem}.sp-phone-input{padding:.8rem 1rem;font-size:1rem;min-height:48px}.sp-phone-submit{padding:.85rem 1.25rem;min-height:48px;font-size:.95rem}@keyframes slideUpMobile{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}}@keyframes successPop{0%{opacity:0;transform:scale(.72) translateY(16px)}60%{opacity:1;transform:scale(1.04) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes checkDraw{0%{stroke-dashoffset:100;opacity:0}to{stroke-dashoffset:0;opacity:1}}@keyframes circleGrow{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes confettiFade{0%{opacity:1;transform:translateY(0) rotate(0deg)}to{opacity:0;transform:translateY(-40px) rotate(20deg)}}.sp-success-overlay{position:fixed;inset:0;z-index:100;background:rgba(17,24,39,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:max(1rem,env(safe-area-inset-top,0px)) 1rem max(1.25rem,env(safe-area-inset-bottom,0px));animation:fadeIn .22s ease}@media (min-width:640px){.sp-success-overlay{align-items:center;padding:1.5rem}}.sp-success-page{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.sp-success-card{width:min(100%,480px);margin:auto 0;background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(129,90,192,.14);border-radius:20px;box-shadow:0 24px 64px rgba(129,90,192,.18),0 4px 16px rgba(0,0,0,.08);overflow:hidden;animation:successPop .45s cubic-bezier(.34,1.56,.64,1) both}@media (min-width:640px){.sp-success-card{margin:0;border-radius:24px}}.sp-success-header{background:linear-gradient(135deg,#815ac0,#6a4a9e);padding:2rem 1.75rem 1.5rem;text-align:center;position:relative}.sp-success-icon-wrap{margin-bottom:1rem}.sp-success-circle,.sp-success-icon-wrap{display:flex;align-items:center;justify-content:center}.sp-success-circle{width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.22);border:3px solid rgba(255,255,255,.5);animation:circleGrow .35s cubic-bezier(.34,1.56,.64,1) .15s both}.sp-success-check-svg{width:38px;height:38px;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke-dasharray:100;stroke-dashoffset:0;animation:checkDraw .4s ease .4s both}.sp-success-heading{font-size:1.5rem;font-weight:800;color:#fff;margin:0 0 .35rem;letter-spacing:-.02em}.sp-success-subheading{font-size:.9rem;color:rgba(255,255,255,.78);margin:0}.sp-success-ref{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:.35rem .9rem;font-size:.82rem;font-weight:700;color:#fff;letter-spacing:.04em}.sp-success-ref-label{opacity:.7;font-weight:500;letter-spacing:0}.sp-success-body{padding:1.25rem 1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem}@media (min-width:480px){.sp-success-body{padding:1.5rem 1.75rem 1.75rem}}.sp-success-meta{display:flex;flex-direction:column;gap:.65rem}.sp-success-salon-name{font-size:1.05rem;font-weight:700;color:var(--text-primary);line-height:1.3;overflow-wrap:anywhere}.sp-success-info-grid{display:grid;grid-template-columns:1fr;gap:.5rem}@media (min-width:400px){.sp-success-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.sp-success-info-chip{display:flex;align-items:flex-start;gap:.45rem;min-width:0;padding:.65rem .75rem;border-radius:12px;background:rgba(129,90,192,.05);border:1px solid rgba(129,90,192,.1);font-size:.82rem;font-weight:500;color:var(--text-secondary);line-height:1.4}.sp-success-info-chip svg{flex-shrink:0;margin-top:.1rem;color:var(--brand-600)}.sp-success-info-chip span{min-width:0;overflow-wrap:anywhere}.sp-success-info-chip:last-child:nth-child(odd){grid-column:1/-1}.sp-success-datetime{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.87rem;color:var(--text-secondary);font-weight:500}.sp-success-datetime-item{display:inline-flex;align-items:center;gap:.35rem}.sp-success-receipt{border:1px solid rgba(129,90,192,.12);border-radius:16px;background:#faf9fc;overflow:hidden}.sp-success-services-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0;padding:.85rem 1rem .5rem}.sp-success-service-list{padding:0 1rem}.sp-success-service-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.65rem 1rem;padding:.75rem 0;border-bottom:1px solid rgba(129,90,192,.08)}.sp-success-service-row:last-child{border-bottom:none}.sp-success-svc-details{min-width:0}.sp-success-svc-name{font-size:.9rem;font-weight:600;color:var(--text-primary);overflow-wrap:anywhere}.sp-success-svc-meta{font-size:.78rem;color:var(--text-muted);margin-top:.15rem;overflow-wrap:anywhere}.sp-success-svc-price{font-size:.88rem;font-weight:700;color:var(--brand-600);text-align:right;white-space:nowrap}.sp-success-total{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:0;padding:.9rem 1rem;border-top:1px solid rgba(129,90,192,.12);background:rgba(129,90,192,.07)}.sp-success-total-label{font-size:.9rem;font-weight:600;color:var(--text-secondary)}.sp-success-total-value{font-size:1.1rem;font-weight:800;color:var(--brand-600)}.sp-success-note{display:flex;align-items:flex-start;gap:.6rem;margin-top:0;padding:.75rem .9rem;border-radius:12px;background:rgba(245,158,11,.07);border:1px solid rgba(245,158,11,.15);font-size:.8rem;color:#92400e;line-height:1.5}.sp-success-note--success{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.28);color:#166534}.sp-success-note-icon{font-size:1rem;flex-shrink:0;margin-top:.05rem}.sp-success-calendar-block{display:flex;flex-direction:column;gap:.5rem}.sp-success-calendar-block .calendar-export-actions{margin-top:0}.sp-success-actions{display:grid;grid-template-columns:1fr;gap:.5rem;margin-top:.25rem}@media (min-width:520px){.sp-success-actions{grid-template-columns:1fr 1fr}.sp-success-btn-primary{grid-column:1/-1}}.sp-success-calendar-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:0}.calendar-export-actions{display:grid;grid-template-columns:1fr;gap:.5rem;width:100%}@media (min-width:400px){.calendar-export-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.calendar-export-actions .booking-btn,.calendar-export-actions .sp-success-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;width:100%;min-width:0;min-height:44px;padding:.7rem .85rem;font-size:.82rem;white-space:normal;text-align:center;line-height:1.3}.sp-success-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:48px;padding:.85rem 1.25rem;border-radius:14px;background:linear-gradient(135deg,#815ac0,#6a4a9e);color:#fff;font-size:.93rem;font-weight:700;border:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 4px 14px rgba(129,90,192,.3);text-decoration:none}.sp-success-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(129,90,192,.38)}.sp-success-btn-secondary{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:.85rem 1rem;border-radius:14px;background:rgba(129,90,192,.07);color:var(--brand-700);font-size:.88rem;font-weight:600;border:1px solid rgba(129,90,192,.14);cursor:pointer;transition:transform .15s ease,background .15s ease;text-decoration:none;text-align:center;line-height:1.3}.sp-success-btn-block{width:100%}.sp-success-btn-secondary:hover{background:rgba(129,90,192,.13);transform:translateY(-1px)}@media (max-width:480px){.sp-success-header{padding:1.5rem 1.25rem 1.25rem}.sp-success-heading{font-size:1.25rem}.sp-success-service-row{grid-template-columns:1fr;gap:.35rem}.sp-success-svc-price{text-align:left}}.sp-next-booking-card{border-radius:14px;padding:1rem 1.1rem;background:linear-gradient(135deg,rgba(124,58,237,.12),rgba(59,130,246,.08));border:1px solid rgba(124,58,237,.25);margin-bottom:1rem}.sp-next-booking-card--compact{padding:.75rem .9rem;margin-bottom:.75rem}.sp-next-booking-card__eyebrow{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--brand-400);margin:0 0 .35rem}.sp-next-booking-card__when{font-size:1.05rem;font-weight:800;margin:0 0 .25rem}.sp-next-booking-card__salon{margin:0;font-size:.88rem;color:var(--text-secondary)}.sp-next-booking-card__service{margin:.2rem 0 0;font-size:.82rem;color:var(--text-muted)}.sp-next-booking-card__link{display:inline-block;margin-top:.55rem;font-size:.82rem;font-weight:600;color:var(--brand-400)}.sp-day-chip--next-visit{box-shadow:0 0 0 2px rgba(34,197,94,.45);border-color:rgba(34,197,94,.6)!important}.sp-day-chip--next-visit .sp-day-badge{background:rgba(34,197,94,.2);color:#4ade80}.sp-draft-banner{margin:.85rem 0;padding:.75rem .85rem;border-radius:12px;background:rgba(255,255,255,.05);border:1px dashed rgba(124,58,237,.35)}.sp-draft-banner__text{margin:0 0 .5rem;font-size:.82rem;line-height:1.4}.sp-draft-banner__actions{display:flex;gap:.5rem;flex-wrap:wrap}.sp-draft-banner__discard,.sp-draft-banner__resume{font-size:.78rem;font-weight:600;padding:.35rem .75rem;border-radius:8px;border:none;cursor:pointer}.sp-draft-banner__resume{background:var(--gradient-brand);color:#fff}.sp-draft-banner__discard{background:transparent;color:var(--text-muted);border:1px solid rgba(255,255,255,.12)}.sp-sidebar-next-visit{margin-top:.75rem}.sp-time-next-visit{margin-bottom:.5rem}.sp-review-photos{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.65rem}.sp-review-photo{position:relative;width:88px;height:88px;border-radius:10px;overflow:hidden;display:block;border:1px solid rgba(255,255,255,.08)}.sp-review-photo-kind{position:absolute;left:4px;bottom:4px;font-size:.6rem;text-transform:capitalize;background:rgba(0,0,0,.55);color:#fff;padding:2px 5px;border-radius:4px}.sp-review-photos-awaiting{margin:.4rem 0 0;font-size:.75rem;color:var(--text-muted);line-height:1.4}.sp-review-photo-remove{position:absolute;top:4px;right:4px;background:rgba(0,0,0,.65);border:none;color:#fff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;cursor:pointer}.sp-review-photos-hint{font-size:.75rem;color:var(--text-muted);margin:.5rem 0 .35rem}.sp-review-photo-add{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.35rem}.sp-review-photo-add-btn{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;padding:.35rem .6rem;border-radius:8px;border:1px dashed rgba(124,58,237,.4);cursor:pointer;text-transform:capitalize}.bookings-next-section{margin-bottom:1.25rem;display:grid;gap:1rem}.bookings-mini-cal{padding:1rem;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}.bookings-mini-cal-label{font-size:.85rem;font-weight:700;margin:0 0 .65rem}.bookings-mini-cal-grid{grid-template-columns:repeat(7,1fr);gap:.25rem}.bookings-mini-cal-day{pointer-events:none;min-height:44px}.hero-search-form{max-width:720px}.hero-search-bar--combo{max-width:100%;padding:.35rem .35rem .35rem 0;border-radius:999px;overflow:hidden}.hero-location-segment{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0;max-width:42%;padding:.65rem .85rem .65rem 1rem;border:none;background:transparent;color:var(--text-primary);font-size:.88rem;font-weight:600;cursor:pointer;transition:color .2s,opacity .2s;border-radius:999px 0 0 999px}.hero-location-segment:hover{color:var(--brand-400)}.hero-location-segment__icon{color:var(--brand-400);flex-shrink:0}.hero-location-segment__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-location-segment__chev{opacity:.45;flex-shrink:0}.hero-location-segment:hover .hero-location-segment__chev{opacity:.75}.hero-search-divider{width:1px;align-self:stretch;background:var(--border-color);flex-shrink:0}.hero-search-bar--combo .hero-search-icon-inner{position:static;left:auto;top:auto;transform:none;margin-left:.5rem;margin-right:.15rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;align-self:center;color:var(--text-muted);pointer-events:none}.hero-search-input-combo{padding-left:.35rem!important}.hero-search-submit-label{display:inline}.hero-search-hint{display:flex;align-items:center;justify-content:center;gap:.35rem;margin:.65rem auto 0;max-width:520px;font-size:.8rem;color:var(--text-muted);text-align:center}@media (max-width:640px){.hero-search-bar--combo{flex-wrap:wrap;border-radius:20px;padding:.5rem}.hero-location-segment{max-width:100%;width:100%;border-radius:14px;justify-content:flex-start}.hero-search-divider{display:none}.hero-search-input-combo{width:100%;padding:.5rem .75rem .5rem 2.25rem!important}.hero-search-bar--combo{position:relative}.hero-search-bar--combo .hero-search-icon-inner{position:absolute;left:1rem;top:50%;transform:translateY(-50%);margin:0}.search-submit-btn{width:100%;margin:.25rem 0 0;justify-content:center}.hero-search-submit-label{display:inline}}.explore-page{min-height:calc(100vh - 64px);display:flex;flex-direction:column;background:#f4f2f8}.explore-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.06);box-shadow:0 4px 24px rgba(15,10,40,.06)}.explore-header__inner{max-width:1400px;margin:0 auto;padding:.85rem 1rem .75rem}.explore-header__row{display:flex;align-items:center;gap:.65rem}.explore-back{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;border:1px solid rgba(0,0,0,.08);background:#fff;color:var(--text-secondary);flex-shrink:0;box-shadow:0 1px 3px rgba(0,0,0,.04)}.explore-back:hover{color:var(--text-primary);border-color:var(--brand-300)}.explore-search-combo{flex:1 1;display:flex;align-items:center;min-width:0;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:999px;overflow:hidden;box-shadow:0 2px 12px rgba(15,10,40,.06)}.explore-location-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.6rem .9rem;border:none;background:transparent;color:var(--text-primary);font-size:.84rem;font-weight:600;cursor:pointer;max-width:40%;flex-shrink:0}.explore-location-btn__pin{color:var(--brand-500);flex-shrink:0}.explore-location-btn__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.explore-location-btn__chev{opacity:.45;flex-shrink:0;transition:transform .2s}.explore-location-btn--open .explore-location-btn__chev{transform:rotate(180deg)}.explore-search-divider{width:1px;align-self:stretch;margin:.45rem 0;background:rgba(0,0,0,.08);flex-shrink:0}.explore-search-icon{margin-left:.45rem;color:var(--text-muted);flex-shrink:0;display:flex;align-items:center}.explore-search-input{flex:1 1;min-width:0;border:none;background:transparent;padding:.6rem .5rem;color:var(--text-primary);font-size:.9rem;outline:none}.explore-search-submit{margin:.2rem;padding:.5rem 1rem;border:none;border-radius:999px;background:var(--gradient-brand);color:#fff;font-weight:600;font-size:.85rem;cursor:pointer;flex-shrink:0}.explore-area-edit{display:flex;align-items:center;gap:.5rem;margin-top:.65rem;padding:.35rem .35rem .35rem .75rem;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px}.explore-area-edit input{flex:1 1;min-width:0;border:none;background:transparent;color:var(--text-primary);font-size:.88rem;outline:none}.explore-area-edit__go{border:none;background:transparent;color:var(--brand-500);font-weight:700;font-size:.82rem;cursor:pointer;padding:.4rem .65rem;white-space:nowrap}.explore-area-edit__locate{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:none;border-radius:10px;background:rgba(124,58,237,.08);color:var(--brand-500);cursor:pointer;flex-shrink:0}.explore-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-top:.75rem;padding-top:.65rem;border-top:1px solid rgba(0,0,0,.06)}.explore-result-count{margin:0;font-size:.88rem;font-weight:600;color:var(--text-secondary)}.explore-toolbar__actions{display:flex;gap:.4rem;flex-wrap:wrap}.explore-tool-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);font-size:.78rem;font-weight:600;cursor:pointer;text-decoration:none}.explore-tool-btn.active{background:var(--brand-500);border-color:var(--brand-500);color:#fff}.explore-tool-btn:hover{border-color:var(--brand-300);color:var(--text-primary)}.explore-tool-btn--ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.explore-tool-btn--ghost:hover{color:var(--brand-500)}.explore-tool-btn--active{border-color:var(--brand-400)!important;color:var(--brand-600)!important;background:var(--brand-50,#f5f3ff)!important}.explore-tool-btn--mobile{display:none}.explore-layout{flex:1 1;display:grid;grid-template-columns:minmax(340px,440px) 1fr;gap:0;min-height:0;max-width:1600px;width:100%;margin:0 auto;padding:0 .75rem .75rem}.explore-layout--map-hidden{grid-template-columns:1fr}.explore-list-panel{overflow-y:auto;padding:.5rem .75rem .5rem 0;max-height:calc(100vh - 168px)}.explore-venue-list{display:flex;flex-direction:column;gap:.65rem}.explore-venue-card{border-radius:14px;overflow:hidden;border:1px solid rgba(0,0,0,.06);background:#fff;transition:box-shadow .2s,border-color .2s}.explore-venue-card--selected{border-color:var(--brand-400);box-shadow:0 0 0 2px rgba(124,58,237,.2),0 8px 24px rgba(124,58,237,.12)}.explore-venue-card:hover{box-shadow:0 8px 28px rgba(15,10,40,.1)}.explore-venue-card__link{display:flex;align-items:stretch;color:inherit;text-decoration:none;min-height:112px}.explore-venue-card__media{position:relative;width:118px;min-width:118px;background:#e8e4f0}.explore-venue-card__img{object-fit:cover}.explore-venue-card__rating{position:absolute;top:8px;left:8px;display:inline-flex;align-items:center;gap:3px;padding:.15rem .4rem;border-radius:6px;background:rgba(255,255,255,.95);color:#b45309;font-size:.72rem;font-weight:800;box-shadow:0 1px 4px rgba(0,0,0,.12)}.explore-venue-card__body{flex:1 1;min-width:0;padding:.75rem .85rem;display:flex;flex-direction:column;justify-content:center}.explore-venue-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.35rem}.explore-venue-card__name{margin:0;font-size:.95rem;font-weight:800;line-height:1.25}.explore-venue-card__arrow{color:var(--text-muted);opacity:.5;flex-shrink:0;margin-top:2px}.explore-venue-card__meta{margin:.2rem 0 0;font-size:.78rem;color:var(--text-muted);line-height:1.35}.explore-venue-card__distance{color:var(--brand-500);font-weight:700}.explore-venue-card__addr{display:flex;align-items:flex-start;gap:.3rem;margin:.3rem 0 0;font-size:.74rem;color:var(--text-muted);line-height:1.35}.explore-venue-card__addr span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.explore-venue-card__footer{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.35rem;flex-wrap:wrap}.explore-venue-card__hours{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;color:var(--text-muted)}.explore-venue-card__price{font-size:.78rem;font-weight:700;color:var(--text-primary)}.explore-venue-card--skeleton{min-height:112px;background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-card) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:explore-shimmer 1.2s infinite}@keyframes explore-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.explore-map-panel{position:relative;min-height:400px;height:calc(100vh - 168px);border-radius:16px;overflow:hidden;border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 24px rgba(15,10,40,.08);background:#e8e4f0}.explore-map-leaflet{width:100%;height:100%;z-index:1;border-radius:16px}.explore-map-skeleton{width:100%;height:100%;min-height:320px;background:var(--bg-secondary)}.explore-map-skeleton__pulse{width:100%;height:100%;background:linear-gradient(110deg,var(--bg-secondary) 30%,var(--bg-card) 50%,var(--bg-secondary) 70%);background-size:200% 100%;animation:explore-shimmer 1.2s infinite}.explore-map-pin-wrap{background:transparent!important;border:none!important}.explore-map-pin{display:flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 7px;border-radius:999px;background:#1a1a2e;color:#fff;font-size:.78rem;font-weight:800;box-shadow:0 4px 12px rgba(0,0,0,.28);border:2.5px solid #fff;transform:translateY(-4px)}.explore-map-pin--selected{background:linear-gradient(135deg,#a855f7,#7c3aed);transform:scale(1.1) translateY(-4px);z-index:10;box-shadow:0 6px 20px rgba(124,58,237,.45)}.explore-map-pin--user{width:14px;height:14px;min-width:14px;padding:0;border-radius:50%;background:#3b82f6;border:3px solid #fff;box-shadow:0 0 0 4px rgba(59,130,246,.35)}.explore-empty{padding:3rem 1.5rem;text-align:center}.explore-list-loading{display:grid;gap:1rem}@media (max-width:900px){.explore-tool-btn--desktop{display:none}.explore-tool-btn--mobile{display:inline-flex}.explore-layout{grid-template-columns:1fr;grid-template-rows:1fr}.explore-layout--mobile-list .explore-map-panel,.explore-layout--mobile-map .explore-list-panel{display:none}.explore-list-panel{max-height:none;border-right:none}.explore-map-panel{height:calc(100vh - 200px);min-height:50vh;border-radius:12px}.explore-layout{padding:0 .5rem .5rem}.explore-list-panel{padding:.5rem 0}.explore-search-combo{flex-wrap:wrap;border-radius:16px}.explore-location-btn{max-width:100%;width:100%;justify-content:flex-start}.explore-search-divider{display:none}.explore-search-submit{width:calc(100% - .4rem);margin-top:.25rem}.explore-venue-card__media{width:100px;min-width:100px}}html.filter-sheet-scroll-lock{overflow:hidden}.explore-drawer-overlay,.salons-filter-sheet-overlay{display:none;touch-action:none;overscroll-behavior:none}.explore-drawer,.salons-sidebar.salons-filter-sheet--open{position:fixed;bottom:0;left:0;right:0;z-index:400;background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -4px 32px rgba(0,0,0,.14);transform:translateY(100%);transition:transform .32s cubic-bezier(.32,.72,0,1);max-height:88dvh;display:flex;flex-direction:column;overflow:hidden;pointer-events:none;visibility:hidden}.explore-drawer--open,.salons-sidebar.salons-filter-sheet--open{transform:translateY(0);pointer-events:auto;visibility:visible}.explore-drawer-handle{width:40px;height:4px;border-radius:2px;background:var(--border-color,#e5e7eb);margin:12px auto 0;flex-shrink:0}.explore-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .75rem;border-bottom:1px solid var(--border-color,#f3f4f6);flex-shrink:0}.explore-drawer-title{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1rem;color:var(--text-primary,#111)}.explore-drawer-close{background:none;border:none;cursor:pointer;padding:4px;color:var(--text-muted,#6b7280);display:flex;align-items:center}.explore-drawer-body,.salons-sidebar.salons-filter-sheet--open .sidebar-filters{overflow-y:auto;overflow-x:hidden;padding:1rem 1.25rem;flex:1 1;min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}.explore-drawer-body{padding:1rem 1.25rem}.explore-drawer-body .filter-section,.salons-sidebar.salons-filter-sheet--open .filter-section{margin-bottom:0}.explore-drawer-body .filter-section-header,.salons-sidebar.salons-filter-sheet--open .filter-section-header{cursor:pointer;padding:.35rem 0;touch-action:manipulation}.explore-drawer-body .filter-section-chevron,.salons-sidebar.salons-filter-sheet--open .filter-section-chevron{display:block}.explore-drawer-body .filter-section-body,.salons-sidebar.salons-filter-sheet--open .filter-section-body{display:none;margin-top:.5rem;gap:.75rem}.explore-drawer-body .filter-section-body.open,.salons-sidebar.salons-filter-sheet--open .filter-section-body.open{display:flex!important;flex-direction:column!important;grid-template-columns:unset!important;align-items:stretch!important}.explore-drawer-body .filter-select,.explore-drawer-body .sidebar-date,.explore-drawer-body .sidebar-select,.salons-sidebar.salons-filter-sheet--open .filter-select,.salons-sidebar.salons-filter-sheet--open .sidebar-date,.salons-sidebar.salons-filter-sheet--open .sidebar-select{font-size:16px;min-height:44px;touch-action:manipulation}.explore-drawer-body .premium-toggle,.salons-sidebar.salons-filter-sheet--open .premium-toggle{touch-action:manipulation;min-height:44px;min-width:44px}.explore-drawer-footer,.salons-filter-sheet-footer{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem calc(.875rem + env(safe-area-inset-bottom));border-top:1px solid var(--border-color,#f3f4f6);flex-shrink:0;background:#fff}.salons-filter-sheet-footer{display:none}.explore-drawer-apply{flex:1 1;text-align:center;justify-content:center}.explore-filter-badge{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--brand-600,#7c3aed);margin-left:2px;flex-shrink:0}@media (min-width:901px){.explore-drawer,.explore-drawer-overlay{display:none!important}.explore-tool-btn--ghost.explore-tool-btn--mobile{display:none}}.salons-filter-sheet-trigger{display:none}@media (max-width:900px){.explore-drawer-overlay,.salons-filter-sheet-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:399}.salons-filter-sheet-trigger{display:inline-flex;align-items:center;gap:.4rem}}.salons-filter-sheet-close{display:none}@media (max-width:768px){.salons-sidebar{display:none}.salons-sidebar.salons-filter-sheet--open{display:flex;position:fixed;top:auto;width:auto;max-width:none;padding:0;gap:0;border:none;-webkit-backdrop-filter:none;backdrop-filter:none}.salons-sidebar.salons-filter-sheet--open .sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .75rem;margin:0;border-bottom:1px solid var(--border-color,#f3f4f6);flex-shrink:0}.salons-sidebar.salons-filter-sheet--open .sidebar-actions,.salons-sidebar.salons-filter-sheet--open .sidebar-header-icon,.salons-sidebar.salons-filter-sheet--open .sidebar-subtitle{display:none}.salons-sidebar.salons-filter-sheet--open .toggle-description{display:block}.salons-filter-sheet-footer{display:flex}.salons-filter-sheet-close{background:var(--bg-secondary,#f3f4f6);border:none;cursor:pointer;width:32px;height:32px;border-radius:50%;color:var(--text-secondary,#4b5563);display:flex;align-items:center;justify-content:center;touch-action:manipulation;margin-left:auto;transition:background-color .2s ease,color .2s ease}.salons-filter-sheet-close:hover{background:var(--bg-hover,#e5e7eb);color:var(--text-primary,#111827)}.salons-sidebar:not(.salons-filter-sheet--open) .salons-filter-sheet-close,.salons-sidebar:not(.salons-filter-sheet--open) .salons-filter-sheet-footer,.salons-sidebar:not(.salons-filter-sheet--open) .salons-filter-sheet-handle{display:none}.salons-filter-sheet-handle{width:40px;height:4px;border-radius:2px;background:var(--border-color,#e5e7eb);margin:12px auto 0;flex-shrink:0}.bookings-page{padding:1rem 0 2rem!important}.bookings-shell{gap:1rem!important}.bookings-empty,.bookings-state-card{padding:1.5rem 1rem!important}.booking-btn,.bookings-slot-button,.bookings-tab{min-height:44px!important}.bookings-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.bookings-modal-backdrop{align-items:flex-end!important;padding:0!important}.bookings-modal-card{border-radius:28px 28px 0 0!important;max-height:90vh!important;width:100%!important;margin:0!important;border:none!important;animation:slideUp .3s ease-out forwards}.hero-search-bar--combo{flex-direction:column!important;align-items:stretch!important;height:auto!important;border-radius:16px!important;padding:8px!important}.hero-location-segment,.search-input{width:100%!important;height:44px!important;justify-content:flex-start!important}.hero-search-divider{display:none!important}.search-submit-btn{width:100%!important;height:44px!important;border-radius:12px!important;margin-top:8px!important}.nearest-salons-grid{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;scroll-snap-type:x mandatory!important;gap:1rem!important;padding-bottom:1rem!important}.nearest-salon-card{flex:0 0 85%!important;scroll-snap-align:center!important;max-width:none!important}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.booking-meta-item:first-child .booking-meta-value,.booking-meta-item:nth-child(2) .booking-meta-value{color:var(--brand-600)!important;font-size:1.05rem!important}