*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--page-bg,#f4f5f9);color:#1a202c;min-height:100vh;padding:20px 16px 48px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.container{max-width:600px;margin:0 auto}.card{background:#fff;border-radius:30px;margin-bottom:40px;padding:22px 20px;position:relative;overflow:hidden;box-shadow:0 1px 4px #0000000f,0 4px 16px #0000000f}.loading-spinner{flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:40px;display:flex}.spinner{border:3px solid #f3f3f3;border-top:3px solid var(--accent-color,#667eea);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-card{text-align:center;padding:40px 24px}.error-title{color:#e53e3e;margin-bottom:12px;font-size:24px;font-weight:700}.error-message{color:#666;font-size:16px}.master-header{align-items:flex-start;gap:14px;margin-bottom:20px;padding-bottom:18px;display:flex}.banner-container{z-index:0;border-radius:16px 16px 0 0;width:100%;height:250px;position:absolute;top:0;left:0;right:0;overflow:hidden}.banner-image{object-fit:cover;object-position:center;width:100%;height:100%}@media (max-width:768px){.banner-container{height:200px}}.master-avatar{background:var(--accent-color,#e91e63);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:78px;min-width:78px;height:78px;font-size:24px;font-weight:700;display:flex;overflow:hidden}.master-avatar svg{fill:#fff;width:36px;height:36px}.avatar-image{object-fit:cover;width:100%;height:100%}.header{z-index:1;margin-bottom:20px;padding-top:260px;padding-bottom:18px;position:relative}@media (max-width:768px){.header{padding-top:220px}}.master-header-top{justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.master-left{flex:1;align-items:center;gap:12px;display:flex}.master-info-block{flex:1;min-width:0}.master-name{color:#1a202c;margin-bottom:4px;font-size:18px;font-weight:700;line-height:1.3}.master-location{color:#718096;font-size:13px;line-height:1.4}.master-instagram{background:var(--accent-color,#e91e63);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;text-decoration:none;transition:opacity .2s;display:flex}.master-instagram:hover{opacity:.85}.master-instagram svg{fill:#fff;width:20px;height:20px}.master-desc{color:#718096;margin-top:12px;font-size:14px;line-height:1.5}.posts-section{border-top:1px solid #f0f3f9;margin:20px -20px 8px;padding:20px 20px 4px}.posts-title{color:#a0aec0;letter-spacing:.6px;text-transform:uppercase;margin-bottom:12px;padding:0;font-size:12px;font-weight:700}.posts-slider{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;gap:12px;padding-bottom:16px;display:flex;overflow-x:auto}.posts-slider::-webkit-scrollbar{display:none}.post-card{scroll-snap-align:start;cursor:pointer;background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;flex:0 0 calc(50% - 6px);min-width:180px;padding:12px;transition:border-color .2s}.post-card:hover{border-color:var(--accent-color,#667eea)}.post-card-title{color:#1a202c;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:6px;font-size:13px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.post-card-desc{color:#718096;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.post-card-date{color:#a0aec0;font-size:10px;font-weight:500}.post-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.post-modal{background:#fff;border-radius:20px;width:100%;max-width:500px;max-height:80vh;padding:24px;animation:.3s slideUp;position:relative;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.post-modal-close{color:#495057;cursor:pointer;background:#f1f3f5;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:24px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.post-modal-close:hover{background:#e9ecef;transform:rotate(90deg)}.post-modal-title{color:#1a202c;margin-bottom:8px;padding-right:32px;font-size:20px;font-weight:700;line-height:1.3}.post-modal-date{color:#a0aec0;margin-bottom:16px;font-size:13px;font-weight:500}.post-modal-content{color:#4a5568;font-size:14px;line-height:1.6}.post-modal-content p{margin-bottom:12px}.post-modal-content p:last-child{margin-bottom:0}@media (max-width:768px){.posts-slider{gap:10px}.post-modal{max-height:90vh;padding:20px}.post-modal-title{font-size:18px}}@media (max-width:480px){.post-card{flex:0 0 100%;min-width:auto}}.section-title{color:#a0aec0;letter-spacing:.6px;text-transform:uppercase;margin-bottom:12px;font-size:12px;font-weight:700}.categories-tabs{margin-bottom:16px;margin-left:-20px;margin-right:-20px;padding:0 20px}.tabs-scroll{scrollbar-width:none;-ms-overflow-style:none;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.tabs-scroll::-webkit-scrollbar{display:none}.category-tab{color:#64748b;cursor:pointer;white-space:nowrap;background:#f8f9fa;border:2px solid #0000;border-radius:20px;flex-shrink:0;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.category-tab:hover{background:#f0f1f3}.category-tab.active{background:var(--accent-color,#e91e63);border-color:var(--accent-color,#e91e63);color:#fff}.custom-select{margin-bottom:24px;position:relative}.select-trigger{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1.5px solid #e8ecf4;border-radius:12px;justify-content:space-between;align-items:center;padding:13px 16px;transition:border-color .2s;display:flex}.select-trigger:hover{border-color:var(--accent-color,#667eea)}.select-placeholder{color:#a0aec0}.select-value{color:#2d3748;font-weight:500}.select-arrow{color:#718096;font-size:12px;transition:transform .2s}.select-arrow.open{transform:rotate(180deg)}.select-dropdown{z-index:50;background:#fff;border:1.5px solid #e8ecf4;border-radius:14px;max-height:280px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 28px #0000001f}.select-option{cursor:pointer;border-bottom:1px solid #f4f5f9;align-items:center;gap:10px;padding:11px 16px;transition:background .12s;display:flex}.select-option:last-child{border-bottom:none}.select-option:hover{background-color:#fafbff}.select-option.selected{background-color:#fdf5f9}.select-option input[type=checkbox]{cursor:pointer;width:18px;height:18px}.option-info{flex:1}.option-name{color:#2d3748;margin-bottom:4px;font-size:16px;font-weight:500}.option-details{color:#718096;font-size:14px}.services-list{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.service-item{cursor:pointer;border:2px solid #e2e8f0;border-radius:8px;align-items:center;gap:12px;padding:16px;transition:all .2s;display:flex}.service-item:hover{border-color:var(--accent-color,#667eea);background-color:#f7fafc}.service-item.selected{border-color:var(--accent-color,#667eea)}.service-item input[type=checkbox]{cursor:pointer;width:20px;height:20px}.service-details{color:#718096;font-size:14px}.no-services{text-align:center;color:#718096;padding:40px 20px}.calendar-wrap{border:1.5px solid #e8ecf4;border-radius:16px;margin-bottom:20px;overflow:hidden}.cal-header{background:#fafbff;border-bottom:1px solid #f0f3f9;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.cal-nav{cursor:pointer;color:#4a5568;background:0 0;border:none;border-radius:6px;padding:3px 8px;font-size:18px;font-weight:700;line-height:1;transition:background .15s}.cal-nav:hover:not(:disabled){background:#e2e8f0}.cal-nav:disabled{color:#cbd5e0;cursor:default}.cal-title{color:#2d3748;font-size:13px;font-weight:600}.cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;padding:8px;display:grid}.cal-day{text-align:center;cursor:pointer;color:#2d3748;aspect-ratio:1;-webkit-user-select:none;user-select:none;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:flex}.cal-day:not(.empty):not(.past):not(.selected):hover{background:#f0f4ff}.cal-day.empty{cursor:default}.cal-day.past{color:#cbd5e0;cursor:default}.cal-day.today{color:var(--accent-color,#e91e63);background:#e91e6312;font-weight:700}.cal-day.selected{background:var(--accent-color,#e91e63);color:#fff;font-weight:700}.time-section{margin-bottom:24px}.time-slots{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px;margin-top:10px;display:grid}.time-slot{color:#1a202c;cursor:pointer;text-align:center;aspect-ratio:1;background:#fff;border:1.5px solid #e8ecf4;border-radius:10px;justify-content:center;align-items:center;padding:12px 8px;font-family:inherit;font-size:16px;font-weight:500;transition:all .12s;display:flex}.time-slot:hover{border-color:var(--accent-color,#e91e63);background:#e91e630a}.time-slot.selected{background:var(--accent-color,#e91e63);border-color:var(--accent-color,#e91e63);color:#fff}.slots-loading{color:#718096;align-items:center;gap:10px;margin-top:10px;font-size:14px;display:flex}.slots-spinner{border:2px solid #e2e8f0;border-top-color:var(--accent-color,#667eea);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.8s linear infinite spin}.slots-empty{color:#a0aec0;margin-top:10px;font-size:14px}.summary{margin-bottom:20px}.summary-title{color:#a0aec0;text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px;font-size:11px;font-weight:700}.summary-items{gap:10px;display:flex}.summary-item{background:#f9fafc;border:1px solid #f0f3f9;border-radius:12px;flex:1;padding:12px 14px}.summary-label{color:#a0aec0;text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px;font-size:11px;font-weight:600}.summary-value{color:var(--accent-color,#e91e63);font-size:18px;font-weight:700}.error-banner{color:#c00;background-color:#fee;border:2px solid #fcc;border-radius:8px;align-items:center;gap:12px;margin-bottom:24px;padding:16px;display:flex}.error-icon{font-size:20px}.form-group{margin-bottom:20px}.form-label{color:#4a5568;letter-spacing:.3px;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.form-input,.form-textarea{color:#1a202c;background:#fff;border:1.5px solid #e8ecf4;border-radius:12px;width:100%;padding:12px 14px;font-family:inherit;font-size:16px;transition:border-color .2s}.form-input::placeholder,.form-textarea::placeholder{color:#c0c8d8}.form-input:focus,.form-textarea:focus{border-color:var(--accent-color,#e91e63);outline:none}.form-textarea{resize:vertical;min-height:88px}.success-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;padding:40px 24px;display:flex}.success-icon{margin-bottom:16px;font-size:64px}.success-title{color:#2d3748;margin-bottom:12px;font-size:24px;font-weight:700}.success-message{color:#718096;font-size:16px;line-height:1.6}.page-copyright{text-align:center;color:#a0aec0;margin-top:8px;margin-bottom:12px;padding:0 8px;font-size:12px}@media (max-width:600px){body{padding:0}.card{border-radius:25px;padding:18px 16px}.section-title{font-size:11px}.master-avatar{border-radius:50%;width:62px;min-width:62px;height:62px}.master-name{font-size:15px}.cal-day{font-size:12px}.summary-items{gap:8px}}.step-content{padding:8px 0}.services-list{flex-direction:column;gap:12px;margin-top:16px;padding-bottom:0;display:flex}.service-item{cursor:pointer;background:#f8f9fa;border:2px solid #0000;border-radius:14px;align-items:center;gap:14px;padding:14px 16px;transition:all .2s;display:flex}.service-item:hover{background:#f0f1f3}.service-item.selected{border-color:var(--accent-color,#e91e63);background:#fff}.service-check{color:#fff;border:2px solid #d0d5dd;border-radius:50%;justify-content:center;align-items:center;width:26px;min-width:26px;height:26px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.service-item.selected .service-check{background:var(--accent-color,#e91e63);border-color:var(--accent-color,#e91e63)}.service-info{flex:1}.service-name{color:#1a202c;margin-bottom:4px;font-size:15px;font-weight:500}.service-meta{color:#64748b;font-size:13px}.selection-summary{z-index:100;background:#fff;border-top:1px solid #e2e8f0;border-radius:30px 30px 0 0;justify-content:space-between;align-items:center;gap:16px;max-width:600px;margin:0 auto;padding:16px 20px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 12px #00000014}.summary-info{flex:1}.summary-label{color:#64748b;margin-bottom:4px;font-size:13px}.summary-details{color:#1a202c;font-size:16px;font-weight:600}.calendar-compact{margin:12px 0}.cal-grid-compact{grid-template-columns:repeat(7,1fr);justify-items:center;gap:3px;margin-top:8px;display:grid}.cal-grid-compact .cal-day{border-radius:100px;height:45px;padding:4px 0!important;font-size:11px!important}.cal-weekday{text-align:center;color:#64748b;text-transform:uppercase;padding:3px 0;font-size:9px;font-weight:600}.time-groups{margin-top:24px;padding-bottom:90px}.time-group{margin-bottom:20px}.time-group:last-child{margin-bottom:0}.time-group-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:13px;font-weight:600}.time-slots-compact{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.time-slot-compact{color:#1a202c;cursor:pointer;text-align:center;background:#f8f9fa;border:2px solid #0000;border-radius:10px;padding:10px 8px;font-size:14px;font-weight:500;transition:all .2s}.time-slot-compact:hover{background:#f0f1f3}.time-slot-compact.selected{background:var(--accent-color,#e91e63);border-color:var(--accent-color,#e91e63);color:#fff}.booking-summary-card{background:linear-gradient(135deg,#fafbff 0%,#f8f9fb 100%);border:1px solid #e8ecf4;border-radius:18px;margin:16px 0 24px;padding:20px;box-shadow:0 2px 8px #0000000a}.confirmation-block{background:#f8f9fb;border-radius:14px;align-items:center;gap:16px;margin-bottom:12px;padding:16px;display:flex}.confirmation-icon{background:#e8ecf4;border-radius:50%;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;display:flex}.confirmation-icon svg{fill:#64748b;width:24px;height:24px}.confirmation-content{flex:1}.confirmation-title{color:#1a202c;margin-bottom:4px;font-size:15px;font-weight:600}.confirmation-subtitle{color:#64748b;font-size:14px;font-weight:500}.services-summary-block{background:#f8f9fb;border-radius:14px;margin-bottom:24px;padding:16px}.services-summary-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.services-summary-title{color:#1a202c;font-size:16px;font-weight:700}.services-summary-duration{color:#64748b;font-size:14px;font-weight:500}.services-summary-list{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.service-summary-item{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.service-summary-info{flex:1}.service-summary-name{color:#1a202c;margin-bottom:4px;font-size:15px;font-weight:500}.service-summary-duration{color:#64748b;font-size:13px}.service-summary-price{color:#1a202c;white-space:nowrap;font-size:15px;font-weight:700}.services-summary-total{border-top:2px solid #e2e8f0;justify-content:space-between;align-items:center;padding-top:16px;display:flex}.services-total-label{color:#1a202c;font-size:16px;font-weight:600}.services-total-price{color:var(--accent-color,#e91e63);font-size:20px;font-weight:800}.summary-row{border-bottom:1px solid #e8ecf4;justify-content:space-between;align-items:flex-start;gap:20px;padding:14px 0;display:flex}.summary-row:first-child{padding-top:0}.summary-row:last-child{border-bottom:none;padding-bottom:0}.summary-row.summary-total{border-top:2px solid #e2e8f0;border-bottom:none;margin-top:8px;padding-top:16px}.summary-label-text{color:#64748b;letter-spacing:.2px;font-size:14px;font-weight:600}.summary-value{color:#1a202c;text-align:right;font-size:15px;font-weight:700}.summary-row.summary-total .summary-label-text{color:#1a202c;font-size:15px}.summary-row.summary-total .summary-value{color:var(--accent-color,#e91e63);font-size:22px;font-weight:800}.summary-services{text-align:right;color:#1a202c;font-size:15px;font-weight:700;line-height:1.6}.summary-services div{margin-bottom:6px}.summary-services div:last-child{margin-bottom:0}.back-button{color:#64748b;cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:6px;margin-bottom:16px;padding:8px 14px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.back-button:hover{background:#f8f9fa;border-color:#cbd5e0}.continue-button{background:var(--accent-color,#e91e63);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:12px;padding:12px 24px;font-size:15px;font-weight:600;transition:all .2s}.continue-button-fixed{z-index:100;background:#fff;border-top:1px solid #e2e8f0;border-radius:30px 30px 0 0;justify-content:center;align-items:center;max-width:600px;margin:0 auto;padding:16px 20px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 12px #00000014}.continue-button-fixed .continue-button{width:100%}.submit-button-fixed{z-index:100;background:#fff;border-top:1px solid #e2e8f0;border-radius:30px 30px 0 0;justify-content:center;align-items:center;max-width:600px;margin:0 auto;padding:16px 20px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 12px #00000014}.submit-button-fixed .continue-button{width:100%}.continue-button:hover{opacity:.9;transform:translateY(-1px)}.continue-button:active{transform:translateY(0)}.slots-loading{color:#64748b;justify-content:center;align-items:center;gap:12px;padding:32px 16px;font-size:14px;display:flex}.slots-spinner{border:2px solid #e2e8f0;border-top-color:var(--accent-color,#e91e63);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}.slots-empty{text-align:center;color:#64748b;padding:32px 16px;font-size:14px}@media (max-width:480px){.time-slots-compact{grid-template-columns:repeat(2,1fr)}.selection-summary{flex-direction:column;align-items:stretch}.continue-button{width:100%}}
