:root{--bg:#f9f6f7;--bg-card:#fff;--bg-card-hover:#fef9f0;--gold:#d7be54;--gold-dim:#d7be5426;--gold-glow:#d7be5440;--text:#1a1714;--text-dim:#5a5044;--text-muted:#9c8e80;--border:#0000001a;--border-hover:#d7be5480;--success:#4caf50;--danger:#e05252;--glass:#fff;--glass-border:#00000014}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulseGold{0%,to{box-shadow:0 0 #b8960c4d}50%{box-shadow:0 0 0 6px #b8960c00}}@keyframes checkDraw{0%{stroke-dashoffset:50px}to{stroke-dashoffset:0}}@keyframes circleDraw{0%{stroke-dashoffset:220px}to{stroke-dashoffset:0}}@keyframes confettiFall{0%{opacity:1;transform:translateY(-100%)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes triOrbit{0%{transform:rotate(0)translate(28px)rotate(0)}to{transform:rotate(360deg)translate(28px)rotate(-360deg)}}@keyframes triOrbitSm{0%{transform:rotate(0)translate(9px)rotate(0)}to{transform:rotate(360deg)translate(9px)rotate(-360deg)}}.cal-loading{text-align:center;grid-column:1/-1;padding:40px 0}@keyframes fadeOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.animate-in{opacity:0;animation:.5s forwards fadeInUp}.grecaptcha-badge{visibility:hidden!important}@media (hover:none){.pro-card .card-arrow{opacity:1;color:var(--gold);transform:translate(0)}}.floating-call{z-index:999;background:var(--gold);color:#0d0d0d;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.3rem;text-decoration:none;transition:transform .2s,box-shadow .2s;display:none;position:fixed;bottom:24px;right:20px;box-shadow:0 4px 20px #b8960c66}.floating-call.visible{display:flex}.floating-call:hover{transform:scale(1.08);box-shadow:0 6px 28px #b8960c80}.floating-call:active{transform:scale(.96)}.floating-call-dot{border:2px solid var(--bg);background:#22c55e;border-radius:50%;width:11px;height:11px;display:none;position:absolute;top:2px;right:2px}.floating-call-dot.active{animation:2s ease-in-out infinite dot-pulse;display:block}@keyframes dot-pulse{0%,to{box-shadow:0 0 #22c55eb3}50%{box-shadow:0 0 0 5px #22c55e00}}.trust-strip{flex-wrap:wrap;justify-content:center;gap:20px;max-width:560px;margin:0 auto;padding:12px 28px;display:flex}.trust-strip-item{color:var(--text-dim);letter-spacing:.3px;text-transform:uppercase;align-items:center;gap:6px;font-size:.75rem;display:flex}.trust-strip-item svg{color:var(--gold);flex-shrink:0}.animate-in-delay-1{animation-delay:.1s}.animate-in-delay-2{animation-delay:.2s}.animate-in-delay-3{animation-delay:.3s}.loading-screen{min-height:420px;color:var(--text-dim);background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:.95rem;display:flex}.loading-screen .spinner{border:2px solid #b8960c26;border-top-color:var(--gold);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}.offline-msg{text-align:center;color:var(--text-dim);padding:80px 24px;font-size:1rem;display:none}.offline-msg h2{color:var(--text);margin-bottom:12px;font-size:1.4rem}.cover{background:#111;flex-direction:column;justify-content:center;align-items:center;width:100%;height:55vh;min-height:380px;max-height:520px;display:flex;position:relative;overflow:hidden}.cover img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0}.cover .overlay{background:linear-gradient(#0a0a0a4d 0%,#0a0a0a80 50%,#0a0a0af2 100%);width:100%;height:100%;position:absolute;top:0;left:0}.cover-content{z-index:1;text-align:center;padding:0 24px;animation:1s fadeIn;position:relative}.cover-logo{border:2px solid var(--gold);border-radius:50%;width:80px;height:80px;margin:0 auto 18px;display:none;overflow:hidden;box-shadow:0 4px 24px #b8960c4d}.cover-logo.visible{display:block}.cover-logo img{object-fit:contain;width:100%;height:100%;padding:10px;position:static}.cover h1{color:#fff;letter-spacing:3px;text-transform:uppercase;text-shadow:0 2px 20px #00000080;margin-bottom:8px;font-size:2rem;font-weight:700}.cover-subtitle{color:var(--gold);letter-spacing:4px;text-transform:uppercase;font-size:.85rem;font-weight:500}.container{background:#fff;border:1px solid #0000000f;border-top:2px solid #b8960c59;border-radius:20px;max-width:560px;margin:-24px auto 0;padding:28px 28px 60px;position:relative;box-shadow:0 -4px 24px #b8960c14,0 12px 48px #0000000f}.progress-wrapper{padding:28px 0 8px}.progress-bar{justify-content:center;align-items:center;gap:0;display:flex}.progress-step-wrapper{flex-direction:column;align-items:center;gap:6px;min-width:60px;display:flex}.progress-step{width:36px;height:36px;color:var(--text-dim);background:#0000000d;border:2px solid #00000026;border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.progress-step.active{background:var(--gold);border-color:var(--gold);color:#fff;box-shadow:0 0 20px #b8960c4d}.progress-step.done{border-color:var(--gold);color:var(--gold);background:0 0}.progress-step-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;font-size:.65rem;font-weight:500;transition:color .3s}.progress-step.active~.progress-step-label,.progress-step-wrapper:has(.progress-step.active) .progress-step-label{color:var(--gold)}.progress-step-wrapper:has(.progress-step.done) .progress-step-label{color:var(--gold);opacity:.7}.progress-line{background:var(--border);flex:1;min-width:24px;max-width:48px;height:1px;margin-bottom:22px;transition:background .4s}.progress-line.active{background:var(--gold)}.progress-info{text-align:center;color:var(--text-dim);letter-spacing:.5px;padding:12px 0 4px;font-size:.75rem}.progress-info span{color:var(--gold);font-weight:600}.step{display:none}.step.active{animation:.35s fadeInUp;display:block}.step.leaving{pointer-events:none;animation:.18s forwards fadeOutDown;display:block!important}.step-title{text-align:center;color:var(--text);margin-bottom:20px;font-size:1.4rem;font-weight:600}.step-title .gold{color:var(--gold)}.back-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;margin-bottom:8px;padding:10px 0;font-family:inherit;font-size:.85rem;transition:color .2s;display:inline-flex}.back-btn:hover{color:var(--gold)}.pro-list{flex-direction:column;gap:12px;display:flex}.pro-card{background:var(--glass);border:1px solid var(--glass-border);cursor:pointer;-webkit-backdrop-filter:blur(10px);border-radius:11px;align-items:center;gap:11px;padding:12px 14px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.pro-card:before{content:"";opacity:0;background:linear-gradient(135deg,#b8960c0d 0%,#0000 60%);transition:opacity .3s;position:absolute;inset:0}.pro-card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 8px 32px #00000014,0 0 0 1px #b8960c33}.pro-card:hover:before{opacity:1}.pro-card:active{transform:translateY(0)}.pro-card .card-arrow{color:var(--text-muted);opacity:0;margin-left:auto;font-size:1rem;transition:all .3s;transform:translate(-8px)}.pro-card:hover .card-arrow{opacity:1;color:var(--gold);transform:translate(0)}.pro-avatar{background:linear-gradient(135deg, var(--bg-card), var(--bg-card-hover));width:56px;height:56px;color:var(--gold);border:2px solid var(--gold-dim);z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.3rem;font-weight:600;transition:border-color .3s;display:flex;position:relative;overflow:hidden}.pro-card:hover .pro-avatar{border-color:var(--gold)}.pro-avatar img{object-fit:cover;width:100%;height:100%}.pro-name{z-index:1;font-size:1.05rem;font-weight:700;position:relative}.pro-card.sem-pref{border-style:dashed;border-color:var(--border)}.pro-card.sem-pref .pro-avatar{display:none}.pro-card.sem-pref:hover{border-color:var(--gold)}.service-category{margin-bottom:20px}.category-header{cursor:pointer;user-select:none;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:14px 0 10px;display:flex;position:relative}.category-header:after{content:"";background:var(--gold);border-radius:1px;width:40px;height:2px;position:absolute;bottom:0;left:0}.category-name{letter-spacing:2.5px;color:#fff;text-transform:uppercase;background:var(--gold);border-radius:4px;padding:3px 10px;font-size:.75rem;font-weight:700}.category-arrow{color:var(--text-dim);font-size:.7rem;transition:transform .3s}.category-arrow.collapsed{transform:rotate(-90deg)}.category-services{overflow:hidden}.category-services.collapsed{display:none}.service-card{cursor:pointer;border:1px solid #b8960c33;border-left:4px solid var(--gold);background:linear-gradient(135deg,#b8960c12 0%,#fffc 100%);border-radius:12px;margin:6px 0;padding:16px;transition:all .25s cubic-bezier(.4,0,.2,1)}.service-card-top{justify-content:space-between;align-items:center;display:flex}.service-card:hover{border-left-color:var(--gold);background:linear-gradient(135deg,#b8960c1f 0%,#fff 100%);transform:translateY(-3px);box-shadow:0 8px 24px #00000014}.service-info .service-name{color:var(--text);align-items:center;margin-bottom:4px;font-size:.95rem;font-weight:600;display:flex}.service-info .service-duration{color:var(--text-dim);align-items:center;gap:4px;font-size:.8rem;display:flex}.service-price{white-space:nowrap;color:var(--gold);font-size:1.1rem;font-weight:700}.service-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:8px;font-size:.8rem;line-height:1.5;display:-webkit-box;overflow:hidden}.service-desc.expanded{-webkit-line-clamp:unset;display:block}.service-desc-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 0 0;font-family:inherit;font-size:.75rem;font-weight:500}.service-desc-toggle:hover{text-decoration:underline}.service-card.service-selected{transform:translateY(-1px);box-shadow:0 6px 20px #b8960c40;border-color:var(--gold)!important;border-width:1.5px 1.5px 1.5px 6px!important;border-left-color:var(--gold)!important;background:linear-gradient(135deg,#b8960c29 0%,#fff 100%)!important}.service-card.service-selected .service-color-dot{justify-content:center;align-items:center;width:18px;height:18px;display:flex;background:#2e7d32!important}.service-card.service-selected .service-color-dot:after{content:"✓";color:#fff;font-size:.65rem;font-weight:900;line-height:1}.service-card.service-selected .service-check{display:none!important}.service-card.service-selected .premium-badge{color:#0a0a0a;background:#00000026}.service-check{background:var(--gold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-left:10px;display:none}.service-check svg{stroke:#0a0a0a;stroke-width:3px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.premium-badge{color:var(--gold);letter-spacing:.5px;text-transform:uppercase;background:#b8960c1f;border-radius:20px;align-items:center;gap:4px;margin-top:5px;margin-left:16px;padding:2px 8px;font-size:.6rem;font-weight:700;display:inline-flex}.trust-signals{flex-direction:column;gap:8px;margin-bottom:8px;padding:16px 0;display:flex}.trust-item{color:var(--text-dim);align-items:center;gap:8px;font-size:.78rem;display:flex}.trust-item .trust-icon{flex-shrink:0;font-size:.9rem}.booking-counter{text-align:center;color:var(--text-dim);letter-spacing:.3px;padding:10px 0 4px;font-size:.75rem}.booking-counter span{color:var(--gold);font-weight:600}.google-rating{color:#ffffffd9;z-index:1;justify-content:center;align-items:center;gap:6px;margin-top:6px;font-size:.8rem;display:flex;position:relative}.google-rating .stars{color:var(--gold);letter-spacing:1px}.google-rating .rating-text{color:#fff9}.service-color-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-right:10px;display:inline-block;background:var(--gold)!important}.calendar-nav{justify-content:space-between;align-items:center;margin-bottom:20px;padding:0 4px;display:flex}.calendar-nav button{cursor:pointer;width:44px;height:44px;color:var(--text);background:#0000000a;border:1px solid #0000001f;border-radius:10px;justify-content:center;align-items:center;font-size:1rem;transition:all .2s;display:flex}.calendar-nav button:hover{border-color:var(--gold-dim);background:#b8960c14}.calendar-nav button:disabled{opacity:.2;cursor:not-allowed}.calendar-month{text-transform:capitalize;color:var(--text);font-size:1rem;font-weight:600}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:12px 6px;margin-bottom:24px;display:grid;overflow:visible}.calendar-grid .day-name{text-align:center;color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;padding:4px 0 10px;font-size:.65rem;font-weight:600}.calendar-grid .day-cell{text-align:center;cursor:pointer;color:var(--text-muted);background:0 0;border-radius:20px;padding:9px 4px;font-size:.875rem;font-weight:400;transition:all .15s;position:relative}.calendar-grid .day-cell:not(.disabled):not(.empty){color:var(--text);background:#b8960c14;font-weight:500}.calendar-grid .day-cell:hover:not(.disabled):not(.empty):not(.selected){background:#b8960c29}.calendar-grid .day-cell.empty{cursor:default}.calendar-grid .day-cell.disabled,.calendar-grid .day-cell.cheio{color:var(--text-muted);opacity:.3;cursor:not-allowed;background:0 0;font-weight:400}.calendar-grid .day-cell.today{border:1.5px solid var(--gold);color:var(--gold);font-weight:600}.calendar-grid .day-cell.selected,.calendar-grid .day-cell.selected.today{font-weight:700;box-shadow:0 4px 16px #b8960c4d;background:var(--gold)!important;color:#0a0a0a!important;border:none!important}.slots-columns{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:12px;margin-top:20px;display:grid}.slots-label{color:var(--text-muted);letter-spacing:1.5px;text-transform:uppercase;text-align:center;margin-bottom:10px;font-size:.65rem;font-weight:700}.slots-grid{flex-direction:column;gap:8px;display:flex}.slot-btn{width:100%;color:var(--text);cursor:pointer;text-align:center;background:0 0;border:1px solid #00000026;border-radius:24px;padding:10px 8px;font-family:inherit;font-size:.875rem;font-weight:500;transition:all .15s}.slot-btn:hover{border-color:var(--border-hover);background:#b8960c0f}.slot-btn.selected{background:var(--gold);color:#0a0a0a;border-color:var(--gold);font-weight:700;box-shadow:0 4px 16px #b8960c4d}.scarce-badge{color:#fff;white-space:nowrap;z-index:1;background:#e03e3e;border-radius:4px;padding:2px 5px;font-size:8px;font-weight:700;line-height:1;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)}.no-slots{text-align:center;color:var(--text-dim);background:var(--glass);border:1px dashed var(--border);border-radius:16px;padding:32px 20px;font-size:.9rem}.slots-loading{text-align:center;color:var(--text-dim);padding:32px}.form-group{margin-bottom:20px;position:relative}.form-group label{color:var(--text-dim);letter-spacing:.3px;margin-bottom:8px;font-size:.8rem;font-weight:500;transition:color .3s;display:block}.form-group:focus-within label{color:var(--gold)}.form-group input,.form-group textarea,.form-group select{width:100%;color:var(--text);background:#fafaf7;border:1px solid #00000026;border-radius:12px;padding:14px 16px;font-family:inherit;font-size:.95rem;transition:all .3s}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #b8960c1a}.form-group select option{background:var(--bg);color:var(--text)}.form-group input:-webkit-autofill{caret-color:var(--text);-webkit-text-fill-color:var(--text)!important;-webkit-box-shadow:inset 0 0 0 30px #fafaf7!important}.form-group input:-webkit-autofill:focus{caret-color:var(--text);-webkit-text-fill-color:var(--text)!important;-webkit-box-shadow:inset 0 0 0 30px #fafaf7!important}.form-group input:-webkit-autofill:hover{caret-color:var(--text);-webkit-text-fill-color:var(--text)!important;-webkit-box-shadow:inset 0 0 0 30px #fafaf7!important}.form-group textarea{resize:vertical;min-height:70px}.form-group .required-mark{color:var(--gold)}.phone-field{gap:0;display:flex}.phone-field .country-btn{color:var(--text);cursor:pointer;white-space:nowrap;background:#fafaf7;border:1px solid #00000026;border-right:none;border-radius:12px 0 0 12px;flex-shrink:0;align-items:center;gap:6px;padding:14px 12px;font-size:.9rem;transition:all .3s;display:flex}.phone-field .country-btn:focus,.phone-field .country-btn.open{border-color:var(--gold);outline:none}.phone-field .country-btn .cb-arrow{color:var(--text-dim);font-size:.65rem}.phone-field input[type=tel]{flex:1;color:var(--text)!important;background:#fafaf7!important;border-radius:0 12px 12px 0!important}.phone-field input[type=tel]:-webkit-autofill{-webkit-text-fill-color:var(--text)!important;-webkit-box-shadow:inset 0 0 0 30px #fafaf7!important}.phone-field input[type=tel]:-webkit-autofill:focus{-webkit-text-fill-color:var(--text)!important;-webkit-box-shadow:inset 0 0 0 30px #fafaf7!important}.phone-field:focus-within .country-btn{border-color:var(--gold)}.phone-field:focus-within input{border-color:var(--gold);box-shadow:0 0 0 3px #b8960c1a}.country-dropdown{z-index:999;background:#fff;border:1px solid #0000001f;border-radius:12px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 8px 32px #0000001a}.country-search{width:100%;color:var(--text);background:#f8f5ee;border:none;border-bottom:1px solid #0000001a;outline:none;padding:10px 14px;font-family:inherit;font-size:.9rem}.country-search::placeholder{color:var(--text-muted)}.country-list{max-height:220px;overflow-y:auto}.country-item{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:.88rem;transition:background .15s;display:flex}.country-item:hover,.country-item.selected{background:#b8960c1f}.country-item .ci-left{align-items:center;gap:8px;display:flex}.country-item .ci-code{color:var(--text-dim);flex-shrink:0;margin-left:auto;font-size:.82rem}.country-sep{background:#00000014;height:1px;margin:4px 0}.checkbox-group{align-items:center;gap:10px;min-height:44px;margin-bottom:14px;padding:8px 0;display:flex}.checkbox-group input[type=checkbox]{width:22px;height:22px;accent-color:var(--gold);cursor:pointer;flex-shrink:0}.checkbox-group label{color:var(--text);cursor:pointer;font-size:.82rem;font-weight:400;line-height:1.5}.booking-summary{background:var(--glass);border:1px solid var(--glass-border);border-radius:16px;margin-bottom:24px;padding:20px;position:relative;overflow:hidden}.booking-summary:before{content:"";background:linear-gradient(90deg, var(--gold), transparent);height:2px;position:absolute;top:0;left:0;right:0}.summary-row{justify-content:space-between;align-items:center;padding:8px 0;font-size:.9rem;display:flex}.summary-row .label{color:var(--text-dim)}.summary-row .value{color:var(--text);font-weight:600}.summary-divider{border:none;border-top:1px solid var(--border);margin:6px 0}.confirm-btn{background:linear-gradient(135deg, var(--gold) 0%, #d4b45a 100%);color:#0a0a0a;cursor:pointer;letter-spacing:.5px;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;padding:18px 24px;font-family:inherit;font-size:1.05rem;font-weight:700;transition:all .3s;display:flex;box-shadow:0 4px 24px #b8960c4d}.confirm-btn:hover{transform:translateY(-1px);box-shadow:0 8px 32px #b8960c66}.confirm-btn:active{transform:translateY(0)}.confirm-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.success-screen{text-align:center;padding:80px 24px 60px;display:none;position:relative;overflow:hidden}.success-animation{width:88px;height:88px;margin:0 auto 28px;position:relative}.success-animation svg{width:100%;height:100%}.success-circle{fill:none;stroke:var(--gold);stroke-width:3px;stroke-dasharray:220;stroke-dashoffset:220px;transform-origin:50%;animation:.6s forwards circleDraw}.success-check{fill:none;stroke:var(--gold);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:50;stroke-dashoffset:50px;animation:.4s .5s forwards checkDraw}.success-screen h2{color:var(--text);opacity:0;margin-bottom:12px;font-size:1.5rem;animation:.5s .6s forwards fadeInUp}.success-screen p{color:var(--text-dim);opacity:0;margin-bottom:6px;font-size:.95rem;animation:.5s .7s forwards fadeInUp}.success-actions{opacity:0;flex-direction:column;align-items:center;gap:12px;margin-top:32px;animation:.5s .9s forwards fadeInUp;display:flex}.success-screen .whatsapp-btn{background:var(--gold);color:#0d0d0d;cursor:pointer;border:none;border-radius:12px;align-items:center;gap:8px;padding:14px 32px;font-family:inherit;font-size:.95rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.success-screen .whatsapp-btn:hover{background:#cfa50e;transform:translateY(-1px)}.success-screen .new-booking-btn{color:var(--text-dim);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:12px;padding:14px 32px;font-family:inherit;font-size:.9rem;font-weight:500;transition:all .2s}.success-screen .new-booking-btn:hover{border-color:var(--gold-dim);color:var(--text)}.confetti-piece{z-index:999;pointer-events:none;border-radius:2px;width:8px;height:14px;animation:linear forwards confettiFall;position:fixed;top:-10px}.footer-notes{background:var(--glass);border:1px solid var(--glass-border);color:var(--text-dim);white-space:pre-wrap;border-radius:16px;margin-top:40px;padding:20px;font-size:.92rem;line-height:1.6}.site-footer{text-align:center;border-top:1px solid #b8960c33;margin-top:48px;padding:28px 0 20px}.footer-logo{margin-bottom:14px}.footer-logo img{opacity:.65;width:52px;height:auto}.footer-info{flex-direction:column;align-items:center;gap:6px;margin-bottom:14px;display:flex}.footer-item{color:var(--text-dim);align-items:center;gap:7px;font-size:.78rem;display:flex}.footer-item svg{opacity:.65;flex-shrink:0}.footer-social{margin:16px 0 20px}.footer-social a{color:var(--gold);letter-spacing:.03em;border:1px solid #b8960c4d;border-radius:50px;padding:6px 16px;font-size:.72rem;font-weight:600;text-decoration:none;transition:opacity .2s,border-color .2s;display:inline-block}.footer-social a:hover{opacity:.75;border-color:#b8960c99}.footer-slogan{color:var(--gold);letter-spacing:2px;text-transform:uppercase;margin-top:18px;margin-bottom:4px;font-size:.68rem;font-weight:700}.footer-copyright{color:var(--text-muted);opacity:.5;font-size:.66rem}.footer-legal-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 8px;margin-bottom:0;display:flex}.footer-legal-links a{color:var(--gold);letter-spacing:.04em;opacity:.75;font-size:.72rem;text-decoration:none;transition:opacity .2s}.footer-legal-links a:hover{opacity:1;text-decoration:underline}.legal-modal-overlay{z-index:1000;background:#000000d9;padding:24px 16px;display:none;position:fixed;inset:0;overflow-y:auto}.legal-modal-overlay.open{justify-content:center;align-items:flex-start;display:flex}.legal-modal{background:var(--surface,#fff);border-radius:16px;width:100%;max-width:640px;margin:auto;padding:32px 28px;position:relative}.legal-modal-close{color:var(--text-muted,#888);cursor:pointer;background:0 0;border:none;font-size:1.5rem;line-height:1;position:absolute;top:16px;right:16px}.legal-modal h2{margin:0 0 20px;padding-right:32px;font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:700}.legal-modal-body{color:var(--text-dim,#aaa);white-space:pre-wrap;font-size:.88rem;line-height:1.7}@media (width<=480px){.cover{height:70vh;min-height:360px;max-height:none}.cover h1{letter-spacing:2px;font-size:1.5rem}.container{margin:-16px 8px 0;padding:20px 16px 80px}.progress-step-wrapper{min-width:50px}.progress-step{width:32px;height:32px;font-size:.75rem}.progress-step-label{font-size:.65rem}.progress-line{min-width:16px}.pro-card{padding:16px}.pro-avatar{width:48px;height:48px}.confirm-btn-fixed{background:linear-gradient(to top, var(--bg) 80%, transparent);z-index:100;padding:16px;position:fixed;bottom:0;left:0;right:0}}@media (width<=360px){.cover{height:40vh;min-height:220px}.cover h1{font-size:1.25rem}.container{margin:-12px 6px 0;padding:16px 12px 80px}.progress-step-wrapper{min-width:44px}.progress-step{width:28px;height:28px;font-size:.7rem}.progress-step-label{font-size:.6rem}.progress-line{min-width:10px}.pro-avatar{width:42px;height:42px}.pro-name{font-size:.9rem}.service-card{padding:14px}.calendar-nav button{width:40px;height:40px}.booking-summary{padding:16px}}@media (width>=481px){.confirm-btn-fixed{display:contents}}button,.pro-card,.service-card,.slot-btn,.day-cell{min-height:44px}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.footer-notes{background:#00000008;border-color:#00000014}.slots-continue-btn{background:linear-gradient(135deg, var(--gold) 0%, #d4b45a 100%);color:#0a0a0a;cursor:pointer;letter-spacing:.5px;border:none;border-radius:14px;width:100%;margin-top:20px;padding:16px 24px;font-family:inherit;font-size:1rem;font-weight:700;transition:all .3s;display:none}.slots-continue-btn.visible{animation:.6s cubic-bezier(.4,0,.2,1) fadeInUp;display:block}.slots-continue-btn{position:relative;overflow:hidden}.slots-continue-btn:after{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 0%,#ffffff59 50%,#0000 100%);width:60%;height:100%;transition:left .45s;position:absolute;top:0;left:-100%}.slots-continue-btn:hover:after{left:150%}.slots-continue-btn:active{opacity:.85}.slots-continue-btn.has-total{flex-direction:column;align-items:center;gap:2px;display:flex}.btn-continue-total{opacity:.75;font-size:.78rem;font-weight:600}.maps-btn{background:linear-gradient(135deg, var(--gold) 0%, #d4b45a 100%);color:#0d0d0d;letter-spacing:.5px;text-transform:uppercase;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:13px 20px;font-size:.82rem;font-weight:700;text-decoration:none;transition:box-shadow .3s,transform .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #b8960c4d}.maps-btn:after{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 0%,#ffffff59 50%,#0000 100%);width:60%;height:100%;transition:left .45s;position:absolute;top:0;left:-100%}.maps-btn:hover{transform:translateY(-1px);box-shadow:0 8px 32px #b8960c66}.maps-btn:hover:after{left:150%}.maps-btn:active{opacity:.85;transform:translateY(0)}.zone-picker{border-top:1px solid #0000002e;margin-top:12px;padding-top:12px}.zone-picker-label{color:#0a0a0a;margin-bottom:8px;font-size:.8rem;font-weight:700}.zone-chips{flex-wrap:wrap;gap:7px;display:flex}.zone-chip{color:#0a0a0a;cursor:pointer;background:#0000000a;border:1px solid #0003;border-radius:999px;padding:6px 11px;font-size:.8rem;font-weight:600;transition:background .15s,color .15s,opacity .15s,box-shadow .15s}.zone-chip.selected{background:var(--gold);color:#0a0a0a;border-color:var(--gold);font-weight:700;box-shadow:0 4px 16px #b8960c4d}.zone-chip.disabled{opacity:.38;pointer-events:none}.zone-picker.zone-picker-warn{border-top-color:#c0392b}.zone-picker.zone-picker-warn .zone-picker-label{color:#7a1f14}.zone-picker.zone-picker-warn .zone-chips{outline-offset:4px;border-radius:8px;outline:2px solid #c0392bb3}
