.payment-form-container{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:24px}.payment-form-title{color:var(--text-primary);margin:0 0 24px;font-size:24px;font-weight:700}.payment-form{flex-direction:column;gap:24px;display:flex}.payment-form-section{border-bottom:1px solid var(--border-color);padding-bottom:24px}.payment-form-section:last-of-type{border-bottom:none}.payment-form-section-title{color:var(--text-primary);margin:0 0 20px;font-size:18px;font-weight:600}.payment-form-field{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.payment-form-field:last-child{margin-bottom:0}.payment-form-label{color:var(--text-primary);font-size:14px;font-weight:600}.payment-form-input{border:2px solid var(--border-color);border-radius:8px;outline:none;width:100%;height:48px;padding:0 16px;font-size:16px;transition:all .15s}.payment-form-input:hover{border-color:var(--border-color-hover)}.payment-form-input:focus{border-color:var(--primary-color-dark);box-shadow:0 0 0 3px #0035801a}.payment-form-input.error{border-color:#ff4d4f}.payment-form-input.error:focus{border-color:#ff4d4f;box-shadow:0 0 0 3px #ff4d4f1a}.payment-form-error{color:#ff4d4f;margin-top:-4px;font-size:12px}.payment-form-row{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.payment-form-summary{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:20px}.payment-form-total{color:var(--text-primary);justify-content:space-between;align-items:center;font-size:20px;font-weight:600;display:flex}.payment-form-amount{color:var(--primary-color);font-size:28px;font-weight:700}.payment-form-actions{justify-content:flex-end;gap:16px;display:flex}.payment-form-button{cursor:pointer;border:none;border-radius:8px;padding:12px 32px;font-size:16px;font-weight:600;transition:all .15s}.payment-form-button-secondary{background:var(--bg-primary);color:var(--text-primary);border:2px solid var(--border-color)}.payment-form-button-secondary:hover{background:var(--bg-tertiary);border-color:var(--border-color-hover)}.payment-form-button-primary{background:var(--primary-color-dark);color:var(--bg-primary)}.payment-form-button-primary:hover:not(:disabled){background:var(--primary-color-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0035804d}.payment-form-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width:768px){.payment-form-row{grid-template-columns:1fr}.payment-form-actions{flex-direction:column}.payment-form-button{width:100%}}
.booking-page{background:var(--bg-tertiary);min-height:100vh;padding:48px 0}.container{max-width:1200px;margin:0 auto;padding:0 24px}.booking-header{text-align:center;margin-bottom:48px}.booking-title{color:var(--text-primary);margin:0 0 12px;font-size:32px;font-weight:700}.booking-subtitle{color:var(--text-tertiary);margin:0;font-size:18px}.booking-steps{justify-content:space-between;margin-bottom:48px;display:flex;position:relative}.booking-steps:before{content:"";background:var(--border-color);z-index:0;height:2px;position:absolute;top:24px;left:0;right:0}.booking-step{z-index:1;flex-direction:column;flex:1;align-items:center;gap:12px;display:flex;position:relative}.booking-step-number{background:var(--bg-primary);border:2px solid var(--border-color);width:48px;height:48px;color:var(--text-tertiary);border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-weight:700;transition:all .15s;display:flex}.booking-step.active .booking-step-number{background:var(--primary-color-dark);border-color:var(--primary-color-dark);color:var(--bg-primary)}.booking-step.completed .booking-step-number{color:var(--bg-primary);background:#52c41a;border-color:#52c41a}.booking-step-title{color:var(--text-tertiary);text-align:center;font-size:14px;font-weight:500}.booking-step.active .booking-step-title{color:var(--primary-color-dark);font-weight:600}.booking-step.completed .booking-step-title{color:#52c41a}.booking-content-wrapper{grid-template-columns:1fr 400px;gap:48px;margin-bottom:48px;display:grid}.booking-main-content{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:32px}.booking-step-content{flex-direction:column;gap:32px;display:flex}.booking-section-title{color:var(--text-primary);margin:0 0 24px;font-size:24px;font-weight:700}.booking-date-selection{margin-bottom:32px}.booking-date-field{flex-direction:column;gap:8px;display:flex}.booking-label{color:var(--text-primary);font-size:14px;font-weight:600}.booking-date-inputs{align-items:center;gap:16px;display:flex}.booking-date-input{border:2px solid var(--border-color);border-radius:8px;outline:none;flex:1;height:48px;padding:0 16px;font-size:16px;transition:all .15s}.booking-date-input:hover{border-color:var(--border-color-hover)}.booking-date-input:focus{border-color:var(--primary-color-dark);box-shadow:0 0 0 3px #0035801a}.booking-date-separator{color:var(--text-tertiary);font-size:18px;font-weight:600}.booking-loading-text{color:var(--text-tertiary);margin-top:8px;font-size:14px}.booking-rooms-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.booking-room-card{background:var(--bg-primary);border:2px solid var(--border-color);cursor:pointer;border-radius:12px;transition:all .15s;overflow:hidden}.booking-room-card:hover{border-color:var(--primary-color-dark);box-shadow:0 4px 12px #00358026}.booking-room-card.selected{border-color:var(--primary-color-dark);background:#f0f7ff}.booking-room-image{background:var(--bg-secondary);width:100%;height:150px;overflow:hidden}.booking-room-image img{object-fit:cover;width:100%;height:100%}.booking-room-content{padding:16px}.booking-room-name{color:var(--text-primary);margin:0 0 8px;font-size:18px;font-weight:700}.booking-room-description{color:var(--text-tertiary);margin:0 0 12px;font-size:14px;line-height:1.5}.booking-room-features{color:var(--text-secondary);margin-bottom:12px;font-size:14px}.booking-room-price{align-items:baseline;gap:4px;display:flex}.booking-room-price-amount{color:var(--primary-color);font-size:24px;font-weight:700}.booking-room-price-unit{color:var(--text-quaternary);font-size:14px}.booking-pet-selection{flex-direction:column;gap:24px;display:flex}.booking-pet-field{flex-direction:column;gap:8px;display:flex}.booking-select{border:2px solid var(--border-color);background:var(--bg-primary);cursor:pointer;border-radius:8px;outline:none;width:100%;height:48px;padding:0 16px;font-size:16px;transition:all .15s}.booking-select:hover{border-color:var(--border-color-hover)}.booking-select:focus{border-color:var(--primary-color-dark);box-shadow:0 0 0 3px #0035801a}.booking-pet-selected{border:2px solid var(--primary-color-dark);background:#f0f7ff;border-radius:12px;gap:16px;padding:20px;display:flex}.booking-pet-image{object-fit:cover;border-radius:8px;flex-shrink:0;width:80px;height:80px}.booking-pet-details{flex:1}.booking-pet-name{color:var(--text-primary);margin:0 0 8px;font-size:18px;font-weight:700}.booking-pet-breed{color:var(--text-tertiary);margin:0;font-size:14px}.booking-special-requests{flex-direction:column;gap:8px;display:flex}.booking-textarea{border:2px solid var(--border-color);resize:vertical;border-radius:8px;outline:none;width:100%;padding:12px 16px;font-family:inherit;font-size:16px;transition:all .15s}.booking-textarea:hover{border-color:var(--border-color-hover)}.booking-textarea:focus{border-color:var(--primary-color-dark);box-shadow:0 0 0 3px #0035801a}.booking-payment-info{text-align:center;background:#f0f9ff;border:2px solid #0ea5e9;border-radius:8px;padding:16px}.booking-payment-info h3{color:#0369a1;margin:0 0 8px;font-size:18px;font-weight:600}.booking-payment-info p{color:#0369a1;margin:0;font-size:14px}.booking-message{text-align:center;padding:48px}.booking-message p{color:var(--text-tertiary);margin-bottom:24px;font-size:16px}.booking-success{text-align:center;padding:48px}.booking-success svg{margin-bottom:24px}.booking-success h2{color:var(--text-primary);margin:0 0 12px;font-size:28px;font-weight:700}.booking-success p{color:var(--text-tertiary);margin:0 0 32px;font-size:16px}.booking-success-actions{justify-content:center;gap:16px;display:flex}.booking-sidebar{height:-webkit-fit-content;height:fit-content;position:-webkit-sticky;position:sticky;top:96px}.booking-summary{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000d}.booking-summary-title{color:var(--text-primary);border-bottom:1px solid var(--border-color);margin:0 0 24px;padding-bottom:16px;font-size:20px;font-weight:700}.booking-summary-item{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.booking-summary-item:last-of-type{border-bottom:none}.booking-summary-label{color:var(--text-tertiary);font-size:14px}.booking-summary-value{color:var(--text-primary);text-align:right;font-size:14px;font-weight:600}.booking-summary-total{border-top:2px solid var(--border-color);justify-content:space-between;align-items:center;margin-top:20px;padding:20px 0 0;display:flex}.booking-summary-total-label{color:var(--text-primary);font-size:18px;font-weight:700}.booking-summary-total-value{color:var(--primary-color);font-size:28px;font-weight:700}.booking-actions{border-top:1px solid var(--border-color);justify-content:space-between;gap:16px;padding-top:24px;display:flex}.booking-button-primary,.booking-button-secondary{cursor:pointer;border:none;border-radius:8px;padding:12px 32px;font-size:16px;font-weight:600;transition:all .15s}.booking-button-primary{background:var(--primary-color-dark);color:var(--bg-primary)}.booking-button-primary:hover:not(:disabled){background:var(--primary-color-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0035804d}.booking-button-primary:disabled{opacity:.6;cursor:not-allowed}.booking-button-secondary{background:var(--bg-primary);color:var(--text-primary);border:2px solid var(--border-color)}.booking-button-secondary:hover{background:var(--bg-tertiary);border-color:var(--border-color-hover)}.booking-loading,.booking-error{text-align:center;padding:64px 24px}.booking-error h2{color:var(--text-primary);margin:0 0 12px;font-size:24px;font-weight:700}.booking-error p{color:var(--text-tertiary);margin:0 0 24px;font-size:16px}.booking-loading{color:var(--text-tertiary);font-size:18px}@media (max-width:1200px){.booking-content-wrapper{grid-template-columns:1fr}.booking-sidebar{margin-top:32px;position:static}}@media (max-width:768px){.booking-page{padding:24px 0}.booking-title{font-size:24px}.booking-steps{flex-wrap:wrap;gap:16px}.booking-step{flex:0 0 calc(50% - 8px)}.booking-rooms-grid{grid-template-columns:1fr}.booking-success-actions{flex-direction:column}.booking-button-primary,.booking-button-secondary{width:100%}}
