:root{--hb-primary:#1a56db;--hb-primary-h:#1e429f;--hb-accent:#f59e0b;--hb-success:#10b981;--hb-danger:#ef4444;--hb-gray-50:#f9fafb;--hb-gray-100:#f3f4f6;--hb-gray-200:#e5e7eb;--hb-gray-700:#374151;--hb-gray-900:#111827;--hb-radius:12px;--hb-shadow:0 4px 24px rgba(0, 0, 0, 0.1);--hb-shadow-lg:0 12px 40px rgba(0, 0, 0, 0.18);--hb-font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}.hb-hotel-grid{display:grid;gap:24px;margin:32px 0;align-items:stretch}.hb-cols-2{grid-template-columns:repeat(2,1fr)}.hb-cols-3{grid-template-columns:repeat(3,1fr)}.hb-cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width:1200px){.hb-cols-4{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.hb-cols-3,.hb-cols-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.hb-cols-2,.hb-cols-3,.hb-cols-4{grid-template-columns:1fr}}.hb-card-image{height:210px;flex-shrink:0;background-size:cover;background-position:center;position:relative;margin:0 10px;border-radius:22px;overflow:hidden}.hb-card-image::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgb(0 0 0 / .08),rgb(0 0 0 / .28))}.hb-hotel-card{position:relative;background:#fff;width:100%;max-width:100%;display:flex;flex-direction:column;height:100%;margin:0;border-top:8px solid rgb(118 34 22 / .95);border-radius:26px;padding-top:8px;overflow:hidden;box-shadow:var(--hb-shadow);transition:transform 0.25s ease,box-shadow 0.25s ease;cursor:pointer;box-sizing:border-box}.hb-hotel-card:hover{transform:translateY(-4px);box-shadow:var(--hb-shadow-lg)}.hb-card-badge{position:static;display:inline-flex;align-items:center;gap:7px;background:#f5e8fb;color:#7c3d90;font-size:13px;font-weight:600;padding:10px 14px;border-radius:12px;text-transform:none;letter-spacing:0;align-self:flex-start}.hb-card-badge::before{content:"🕉";font-size:14px}.hb-card-body{position:relative;background:#fff;margin-top:-24px;border-radius:30px 30px 0 0;padding:24px 22px 22px;display:flex;flex-direction:column;flex:1;z-index:5}.hb-card-title{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:700;color:#5d241d;line-height:1.3;margin:0 0 14px;font-family:Georgia,serif;white-space:normal;overflow:visible;text-overflow:unset;min-height:2.6em}.hb-card-title::after{content:"";flex:1;height:1px;background:#d7b5af;margin-top:3px}.hb-stars{color:var(--hb-accent);font-size:14px;margin-bottom:6px;min-height:22px}.hb-stars-lg{font-size:20px}.hb-card-address{font-size:15px;line-height:1.55;color:#6e6e6e;flex:1;min-height:3.1em;margin:0 0 24px;display:flex;align-items:flex-start;gap:4px}.hb-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:18px;border-top:1px dashed #ead8d4;margin-bottom:18px;margin-top:auto}.hb-price{font-size:20px;font-weight:700;color:#5d241d;font-family:Georgia,serif}.hb-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;outline:none;cursor:pointer;text-decoration:none;transition:all 0.25s ease;font-family:var(--hb-font)}.hb-btn-view,button.hb-btn-view,a.hb-btn-view{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;min-width:150px;padding:13px 24px;border-radius:50px;background:#ffffff!important;border:1.5px solid rgb(118 34 22 / .95)!important;color:rgb(118 34 22 / .95)!important;font-size:15px;font-weight:700;text-decoration:none;transition:all 0.25s ease;cursor:pointer}.hb-btn-view:hover,button.hb-btn-view:hover,a.hb-btn-view:hover{background:rgb(118 34 22 / .95)!important;color:#ffffff!important;transform:translateY(-2px)}.hb-btn-book{display:flex!important;align-items:center;justify-content:center;gap:12px;width:100%;margin-top:18px;border:none!important;border-radius:50px;background:linear-gradient(180deg,#b53828 0%,#8f1f14 100%)!important;color:#ffffff!important;padding:17px 24px;font-size:17px;font-weight:700;cursor:pointer;text-decoration:none;box-shadow:0 8px 20px rgb(143 31 20 / .25);transition:all 0.3s ease}.hb-btn-book:hover{transform:translateY(-2px);background:linear-gradient(180deg,#c54332 0%,#7d160d 100%)!important}.hb-btn-book::after{content:"→";font-size:22px;line-height:1}.hb-btn-book:disabled{opacity:.6;cursor:not-allowed}.hb-modal-overlay{position:fixed;inset:0;background:rgb(0 0 0 / .55);z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto;backdrop-filter:blur(2px)}.hb-modal{background:#fff;border-radius:10px;width:100%;max-width:860px;max-height:85vh;overflow-y:auto;position:relative;animation:hbSlideUp 0.25s ease}@keyframes hbSlideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hb-modal-close{padding:13px;position:sticky;top:0;float:right;margin:12px 12px 0 0;background:#7d2d22;border:none;width:40px;height:40px;border-radius:50%;font-size:14px;cursor:pointer;z-index:10;transition:background 0.15s;display:flex;align-items:center;justify-content:center}.hb-modal-close:hover{background:var(--hb-gray-200)}.hb-modal-loading{text-align:center;padding:60px 40px;color:#7d2d22}.hb-spinner{display:inline-block;width:40px;height:40px;border:3px solid var(--hb-gray-200);border-top-color:var(--hb-primary);border-radius:50%;animation:hbSpin 0.7s linear infinite;margin-bottom:12px}@keyframes hbSpin{to{transform:rotate(360deg)}}.hb-detail{font-family:var(--hb-font)}.hb-detail-gallery{position:relative}.hb-gallery-main{height:320px;background-size:cover;background-position:center;border-radius:16px 16px 0 0;transition:background-image 0.3s}.hb-gallery-thumbs{display:flex;gap:8px;padding:10px 20px;overflow-x:auto}.hb-thumb{width:70px;height:50px;border-radius:6px;background-size:cover;background-position:center;cursor:pointer;flex-shrink:0;border:2px solid #fff0;transition:border-color 0.15s}.hb-thumb.active{border-color:var(--hb-primary)}.hb-detail-info{padding:20px 28px 0}.hb-detail-info h2{font-size:26px;font-weight:800;margin:0 0 8px;color:var(--hb-gray-900)}.hb-address{color:#6b7280;font-size:14px;margin:6px 0}.hb-tags{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.hb-tag{background:var(--hb-gray-100);color:var(--hb-gray-700);padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.hb-desc{font-size:14px;line-height:1.6;color:#4b5563;margin:14px 0}.hb-amenities h4{font-size:14px;font-weight:700;margin-bottom:8px}.hb-amenities ul{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none;margin:0 0 16px}.hb-amenities li{background:#ecfdf5;color:#065f46;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.hb-amenities li::before{content:"✓  "}.hb-booking-form-wrap{padding:20px 28px 28px;border-top:1px solid var(--hb-gray-200);margin-top:16px}.hb-booking-form-wrap h3{font-size:18px;font-weight:700;margin:0 0 18px}.hb-form-row{display:flex;gap:16px}.hb-two-col .hb-form-group{flex:1}.hb-form-group{display:flex;flex-direction:column;margin-bottom:16px}.hb-form-group label{font-size:13px;font-weight:600;color:var(--hb-gray-700);margin-bottom:6px}.hb-form-group label .required{color:var(--hb-danger)}.hb-form-group input[type="date"],.hb-form-group select{padding:10px 12px;border:1.5px solid var(--hb-gray-200);border-radius:8px;font-size:14px;transition:border-color 0.15s;background:#fff}.hb-form-group input:focus,.hb-form-group select:focus{outline:none;border-color:var(--hb-primary);box-shadow:0 0 0 3px rgb(26 86 219 / .12)}.hb-room-types{display:flex;flex-direction:column;gap:10px}.hb-room-option{cursor:pointer;display:block}.hb-room-option input[type="radio"]{display:none}.hb-room-card{border:2px solid var(--hb-gray-200);border-radius:10px;padding:14px 16px;transition:border-color 0.15s,background 0.15s}.hb-room-option input:checked+.hb-room-card{border-color:var(--hb-primary);background:#eff6ff}.hb-room-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.hb-room-name{font-weight:700;font-size:15px}.hb-ac-badge{background:#dbeafe;color:var(--hb-primary);font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}.hb-room-desc{font-size:13px;color:#6b7280;margin:0 0 8px}.hb-room-meta{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#6b7280}.hb-room-price{font-weight:700;color:var(--hb-primary);font-size:15px}.hb-price-summary{background:var(--hb-gray-50);border-radius:10px;padding:14px 18px;margin:16px 0}.hb-price-row{display:flex;justify-content:space-between;font-size:14px;padding:4px 0;color:var(--hb-gray-700)}.hb-price-total{border-top:1px solid var(--hb-gray-200);margin-top:8px;padding-top:10px;font-size:16px;font-weight:700;color:var(--hb-gray-900)}.hb-form-messages{margin:12px 0;font-size:14px;min-height:20px}.hb-msg-error{color:var(--hb-danger);background:#fef2f2;padding:10px 14px;border-radius:8px}.hb-msg-success{color:#065f46;background:#ecfdf5;padding:10px 14px;border-radius:8px}.hb-msg-loading{color:var(--hb-primary)}.hb-checkout-summary{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:18px 20px;margin-bottom:24px}.hb-checkout-summary h3{font-size:16px;font-weight:700;margin:0 0 12px}.hb-summary-table{width:100%;border-collapse:collapse}.hb-summary-table th,.hb-summary-table td{padding:6px 8px;text-align:left;font-size:14px}.hb-summary-table th{font-weight:600;color:var(--hb-gray-700);width:130px}.hb-traveler-fields{margin-top:8px}.hb-traveler-fields h3{font-size:16px;font-weight:700;margin-bottom:12px}@media (max-width:600px){.hb-hotel-card{max-width:100%}.hb-card-image{height:200px}.hb-card-body{padding:22px 18px 20px}.hb-card-title{font-size:17px}.hb-card-address{font-size:14px}.hb-price{font-size:18px}.hb-btn-book{font-size:16px;padding:16px 18px}.hb-modal{border-radius:12px}.hb-detail-info{padding:16px 16px 0}.hb-booking-form-wrap{padding:16px}.hb-form-row.hb-two-col{flex-direction:column}}