.booking-widget{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;max-width:600px;margin:0 auto;padding:20px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a}.booking-widget h2{font-size:24px;font-weight:600;margin-bottom:20px;color:#1f2937}.booking-widget .form-group{margin-bottom:16px}.booking-widget label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.booking-widget input,.booking-widget select{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:16px;transition:border-color .2s,box-shadow .2s}.booking-widget input:focus,.booking-widget select:focus{outline:none;border-color:var(--primary-color, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.booking-widget .date-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-widget .btn{width:100%;padding:14px;font-size:16px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s,transform .1s}.booking-widget .btn:active{transform:scale(.98)}.booking-widget .btn-primary{background-color:var(--primary-color, #2563eb);color:#fff}.booking-widget .btn-primary:hover{background-color:var(--primary-color-hover, #1d4ed8)}.booking-widget .btn-primary:disabled{background-color:#9ca3af;cursor:not-allowed}.booking-widget .rooms-list{margin-top:20px}.booking-widget .room-card{border:1px solid #e5e7eb;border-radius:10px;padding:16px;margin-bottom:12px;cursor:pointer;transition:border-color .2s,box-shadow .2s}.booking-widget .room-card:hover{border-color:var(--primary-color, #2563eb);box-shadow:0 2px 8px #00000014}.booking-widget .room-card.selected{border-color:var(--primary-color, #2563eb);background-color:#2563eb0d}.booking-widget .room-name{font-size:18px;font-weight:600;color:#1f2937;margin-bottom:4px}.booking-widget .room-type{font-size:14px;color:#6b7280;margin-bottom:8px}.booking-widget .room-price{font-size:20px;font-weight:700;color:var(--primary-color, #2563eb)}.booking-widget .room-price span{font-size:14px;font-weight:400;color:#6b7280}.booking-widget .loading{text-align:center;padding:40px;color:#6b7280}.booking-widget .error{background-color:#fef2f2;color:#dc2626;padding:12px;border-radius:8px;margin-bottom:16px}.booking-widget .success{background-color:#f0fdf4;color:#16a34a;padding:20px;border-radius:8px;text-align:center}.booking-widget .success h3{font-size:20px;margin-bottom:12px}.booking-widget .success a{color:var(--primary-color, #2563eb);text-decoration:none;font-weight:600}.booking-widget .success a.btn-primary{color:#fff}.booking-widget .step-indicator{display:flex;margin-bottom:24px}.booking-widget .step{flex:1;text-align:center;padding:8px;font-size:14px;color:#9ca3af;border-bottom:2px solid #e5e7eb}.booking-widget .step.active{color:var(--primary-color, #2563eb);border-bottom-color:var(--primary-color, #2563eb);font-weight:600}.booking-widget .step.completed{color:#16a34a;border-bottom-color:#16a34a}.booking-widget .warning-message{background-color:#fef3c7;color:#92400e;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;line-height:1.5;border:1px solid #fcd34d}.booking-widget .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.booking-widget .modal-content{background:#fff;border-radius:16px;padding:24px;max-width:400px;width:100%;text-align:center;box-shadow:0 20px 40px #0003;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.booking-widget .modal-icon{font-size:48px;margin-bottom:16px}.booking-widget .modal-content h3{font-size:20px;font-weight:600;color:#1f2937;margin-bottom:12px}.booking-widget .modal-content p{color:#4b5563;font-size:15px;line-height:1.6}.booking-widget .categories-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}@media (max-width: 600px){.booking-widget .categories-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 400px){.booking-widget .categories-grid{grid-template-columns:1fr}}.booking-widget .category-card{text-align:center;padding:24px 16px;margin-bottom:0}.booking-widget .category-card .room-name{font-size:18px;margin-bottom:8px}.booking-widget .category-card .room-type{font-size:13px;color:#6b7280}.booking-widget .payment-methods{display:flex;flex-direction:column;gap:12px}.booking-widget .payment-option{display:flex;align-items:flex-start;gap:14px;padding:16px;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s}.booking-widget .payment-option:hover{border-color:#d1d5db;background:#f9fafb}.booking-widget .payment-option.selected{border-color:var(--primary-color, #2563eb);background:#2563eb0d}.booking-widget .payment-radio{width:22px;height:22px;min-width:22px;border:2px solid #d1d5db;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px}.booking-widget .payment-option.selected .payment-radio{border-color:var(--primary-color, #2563eb)}.booking-widget .radio-dot{width:12px;height:12px;border-radius:50%;background:transparent;transition:background .2s}.booking-widget .radio-dot.active{background:var(--primary-color, #2563eb)}.booking-widget .payment-info{flex:1}.booking-widget .payment-title{font-weight:600;font-size:16px;color:#1f2937;margin-bottom:4px}.booking-widget .payment-desc{font-size:14px;color:#6b7280;margin-bottom:6px}.booking-widget .payment-price{font-weight:600;font-size:15px;color:var(--primary-color, #2563eb)}.booking-widget .consents-block{margin-top:20px;margin-bottom:20px;padding:16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.booking-widget .consent-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px;cursor:pointer}.booking-widget .consent-row:last-child{margin-bottom:0}.booking-widget .consent-row input[type=checkbox]{width:20px;height:20px;min-width:20px;margin-top:2px;accent-color:var(--primary-color, #2563eb);cursor:pointer;flex-shrink:0}.booking-widget .consent-row span{font-size:14px;line-height:1.45;color:#374151}.booking-widget .consent-row .consent-required{color:#6b7280;font-size:13px}
