:root{--bg-body: #f1f3f5;--bg-card: #ffffff;--bg-dark: #2b2d42;--text-primary: #212529;--text-muted: #6c757d;--text-light: #adb5bd;--border-color: #dee2e6;--accent-blue: #1a73e8;--accent-blue-hover: #1557b0;--accent-green: #0f9d58;--accent-orange: #f4511e;--accent-yellow: #f9ab00;--rating-bg: #1a73e8}body{background-color:var(--bg-body);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.9rem}a{color:var(--accent-blue);text-decoration:none}a:hover{color:var(--accent-blue-hover);text-decoration:underline}.navbar-portal{background-color:var(--bg-dark);padding:.5rem 1rem;box-shadow:0 2px 4px #00000014}.navbar-portal .navbar-brand{color:#fff;font-weight:700;font-size:1.2rem;letter-spacing:-.02em}.navbar-portal .navbar-brand span{color:var(--accent-blue)}.navbar-portal .nav-link{color:#ffffffbf;font-size:.85rem;font-weight:500;padding:.5rem .85rem;transition:color .15s}.navbar-portal .nav-link:hover,.navbar-portal .nav-link.active{color:#fff}.navbar-portal .btn-outline-light{font-size:.82rem;padding:.35rem 1rem;border-radius:6px}.search-hero{background-color:var(--bg-dark);padding:2.5rem 0 3.5rem}.search-hero h1{color:#fff;font-weight:700;font-size:1.6rem;margin-bottom:.3rem}.search-hero p{color:#fff9;font-size:.9rem}.search-box{background:#fff;border-radius:12px;padding:1.25rem 1.5rem;box-shadow:0 8px 32px #0000001f}.search-box .form-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.25rem}.search-box .form-control,.search-box .form-select{border:1.5px solid var(--border-color);border-radius:8px;font-size:.88rem;padding:.55rem .75rem;transition:border-color .15s}.search-box .form-control:focus,.search-box .form-select:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #1a73e81a}.search-box .btn-search{background-color:var(--accent-blue);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.9rem;padding:.55rem 2rem;transition:background-color .15s;height:100%;min-height:42px}.search-box .btn-search:hover{background-color:var(--accent-blue-hover)}.search-bar-compact{background:var(--bg-dark);padding:1rem 0}.search-bar-compact .search-box{padding:.75rem 1rem;border-radius:10px}.stats-section{margin-top:-2rem;position:relative;z-index:10;margin-bottom:2rem}.stat-card{background:#fff;border-radius:10px;padding:1.25rem;border:1px solid var(--border-color);text-align:center;transition:box-shadow .2s}.stat-card:hover{box-shadow:0 4px 12px #0000000f}.stat-card .stat-icon{width:44px;height:44px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:.75rem}.stat-card .stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.2}.stat-card .stat-label{font-size:.78rem;color:var(--text-muted);margin-top:.15rem}.section-title{font-size:1.15rem;font-weight:700;color:var(--text-primary)}.destination-card{border-radius:12px;overflow:hidden;position:relative;cursor:pointer;transition:transform .2s}.destination-card:hover{transform:translateY(-2px)}.destination-card img{width:100%;height:180px;-o-object-fit:cover;object-fit:cover}.destination-card .overlay{position:absolute;bottom:0;left:0;right:0;padding:1rem;background:linear-gradient(transparent,#000000b3);color:#fff}.destination-card .overlay h6{font-weight:600;margin-bottom:.1rem}.destination-card .overlay small{opacity:.8}.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.results-header .results-count{font-size:.88rem;color:var(--text-muted)}.results-header .results-count strong{color:var(--text-primary)}.sort-dropdown .form-select{font-size:.82rem;border-radius:6px;padding:.4rem 2rem .4rem .65rem;border:1.5px solid var(--border-color)}.hotel-card{background:#fff;border-radius:10px;border:1px solid var(--border-color);overflow:hidden;margin-bottom:1rem;transition:box-shadow .2s}.hotel-card:hover{box-shadow:0 4px 16px #00000014}.hotel-card .hotel-img{width:100%;height:100%;min-height:200px;-o-object-fit:cover;object-fit:cover}.hotel-card .hotel-body{padding:1rem 1.25rem}.hotel-card .hotel-name{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin-bottom:.2rem;line-height:1.3}.hotel-card .hotel-name a{color:inherit;text-decoration:none}.hotel-card .hotel-name a:hover{color:var(--accent-blue)}.hotel-stars{color:var(--accent-yellow);font-size:.75rem;margin-bottom:.25rem}.hotel-location{font-size:.8rem;color:var(--text-muted);margin-bottom:.5rem}.hotel-location i{font-size:.72rem;margin-right:.2rem}.hotel-amenities{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}.hotel-amenities .badge{font-size:.7rem;font-weight:500;padding:.3rem .55rem;background-color:#f1f3f5;color:var(--text-muted);border-radius:4px}.hotel-price-section{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;padding:1rem 1.25rem;min-width:180px;border-left:1px solid var(--border-color)}.hotel-price-section .price-label{font-size:.72rem;color:var(--text-muted)}.hotel-price-section .price-original{font-size:.82rem;color:var(--text-light);text-decoration:line-through}.hotel-price-section .price-current{font-size:1.35rem;font-weight:700;color:var(--text-primary);line-height:1.2}.hotel-price-section .price-night{font-size:.72rem;color:var(--text-muted)}.hotel-price-section .price-tax{font-size:.7rem;color:var(--text-muted);margin-bottom:.75rem}.hotel-price-section .btn-book{background-color:var(--accent-blue);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.82rem;padding:.5rem 1.5rem;width:100%;transition:background-color .15s}.hotel-price-section .btn-book:hover{background-color:var(--accent-blue-hover)}.discount-badge{font-size:.7rem;font-weight:600;background-color:var(--accent-green);color:#fff;padding:.2rem .45rem;border-radius:4px;display:inline-block;margin-bottom:.35rem}.free-cancel{font-size:.75rem;color:var(--accent-green);font-weight:500}.rating-badge{display:inline-flex;align-items:center;gap:.4rem}.rating-badge .rating-score{background-color:var(--rating-bg);color:#fff;font-size:.78rem;font-weight:700;padding:.25rem .5rem;border-radius:6px 6px 6px 2px;min-width:32px;text-align:center}.rating-badge .rating-text{font-size:.78rem;font-weight:600;color:var(--text-primary)}.rating-badge .rating-reviews{font-size:.72rem;color:var(--text-muted)}.filters-sidebar{background:#fff;border-radius:10px;border:1px solid var(--border-color);padding:1.25rem}.filters-sidebar .filter-section{padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid #eee}.filters-sidebar .filter-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.filters-sidebar .filter-title{font-size:.85rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.filters-sidebar .form-check{margin-bottom:.4rem}.filters-sidebar .form-check-label{font-size:.82rem;color:var(--text-primary);cursor:pointer}.filters-sidebar .form-check-label .count{color:var(--text-muted);font-size:.75rem}.filters-sidebar .form-check-input{border-radius:3px}.filters-sidebar .form-check-input:checked{background-color:var(--accent-blue);border-color:var(--accent-blue)}.price-range-display{display:flex;justify-content:space-between;font-size:.82rem;color:var(--text-primary);font-weight:600;margin-bottom:.5rem}.form-range::-webkit-slider-thumb{background:var(--accent-blue)}.filters-sidebar .btn-clear{font-size:.78rem;color:var(--accent-blue);background:none;border:none;padding:0;cursor:pointer}.filters-sidebar .btn-clear:hover{text-decoration:underline}.map-placeholder{background:#e9ecef;border-radius:8px;height:140px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.82rem;margin-bottom:1rem;border:1px dashed var(--border-color)}.breadcrumb-section{background:#fff;border-bottom:1px solid var(--border-color);padding:.6rem 0}.breadcrumb-section .breadcrumb{margin-bottom:0;font-size:.8rem}.breadcrumb-section .breadcrumb-item a{color:var(--accent-blue)}.breadcrumb-section .breadcrumb-item.active{color:var(--text-muted)}.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:6px;border-radius:12px;overflow:hidden;max-height:400px}.gallery-grid .gallery-main{grid-row:1 / 3}.gallery-grid img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;cursor:pointer;transition:opacity .15s}.gallery-grid img:hover{opacity:.9}.gallery-more{position:relative}.gallery-more .overlay-more{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.95rem;cursor:pointer}.detail-header{padding:1.25rem 0}.detail-header .hotel-name{font-size:1.5rem;font-weight:700;margin-bottom:.2rem}.detail-header .hotel-address{font-size:.85rem;color:var(--text-muted)}.detail-header .hotel-address a{color:var(--accent-blue);font-weight:500}.detail-tabs .nav-link{font-size:.85rem;font-weight:600;color:var(--text-muted);padding:.65rem 1.25rem;border:none;border-bottom:2px solid transparent;background:none;border-radius:0}.detail-tabs .nav-link.active{color:var(--accent-blue);border-bottom-color:var(--accent-blue);background:none}.detail-tabs .nav-link:hover{color:var(--text-primary)}.room-table{border-radius:10px;overflow:hidden;border:1px solid var(--border-color);background:#fff}.room-table thead{background-color:#f8f9fa}.room-table thead th{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);padding:.75rem 1rem;border-bottom:1px solid var(--border-color);white-space:nowrap}.room-table tbody td{padding:1rem;vertical-align:middle;font-size:.85rem;border-bottom:1px solid #f1f3f5}.room-table .room-type-name{font-weight:700;color:var(--text-primary);font-size:.9rem}.room-table .room-detail{font-size:.78rem;color:var(--text-muted)}.room-table .room-price{font-size:1.15rem;font-weight:700;color:var(--text-primary)}.room-table .room-price-original{font-size:.8rem;color:var(--text-light);text-decoration:line-through}.room-table .btn-select{background-color:var(--accent-blue);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.82rem;padding:.45rem 1.25rem;transition:background-color .15s}.room-table .btn-select:hover{background-color:var(--accent-blue-hover)}.booking-sidebar{background:#fff;border-radius:10px;border:1px solid var(--border-color);padding:1.25rem;position:sticky;top:1rem}.booking-sidebar .sidebar-title{font-size:.95rem;font-weight:700;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.booking-sidebar .summary-item{display:flex;justify-content:space-between;font-size:.82rem;margin-bottom:.5rem}.booking-sidebar .summary-item .label{color:var(--text-muted)}.booking-sidebar .summary-total{display:flex;justify-content:space-between;font-size:1rem;font-weight:700;padding-top:.75rem;margin-top:.75rem;border-top:1.5px solid var(--text-primary)}.booking-sidebar .btn-book-now{background-color:var(--accent-blue);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.9rem;padding:.7rem;width:100%;margin-top:1rem;transition:background-color .15s}.booking-sidebar .btn-book-now:hover{background-color:var(--accent-blue-hover)}.amenities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}.amenity-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;padding:.5rem;color:var(--text-primary)}.amenity-item i{color:var(--accent-green);font-size:.9rem;width:20px;text-align:center}.review-card{background:#f8f9fa;border-radius:8px;padding:1rem;margin-bottom:.75rem}.review-card .reviewer-name{font-weight:600;font-size:.88rem}.review-card .review-date{font-size:.75rem;color:var(--text-muted)}.review-card .review-text{font-size:.85rem;color:var(--text-primary);margin-top:.5rem}.pagination .page-link{font-size:.82rem;color:var(--text-primary);border:1px solid var(--border-color);padding:.4rem .75rem}.pagination .page-item.active .page-link{background-color:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.footer-portal{background-color:var(--bg-dark);color:#fff9;padding:2rem 0 1rem;margin-top:3rem;font-size:.82rem}.footer-portal h6{color:#fff;font-weight:600;font-size:.88rem;margin-bottom:.75rem}.footer-portal a{color:#fff9;text-decoration:none;font-size:.82rem}.footer-portal a:hover{color:#fff;text-decoration:none}.footer-portal .footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1rem;margin-top:1.5rem}.dest-search-wrapper{position:relative}.dest-search-input{display:flex;align-items:center;background:#fff;border:1.5px solid var(--border-color);border-radius:8px;padding:.5rem .75rem;cursor:text;transition:border-color .15s;gap:.5rem}.dest-search-input:hover,.dest-search-input.active{border-color:var(--accent-blue);box-shadow:0 0 0 3px #1a73e81a}.dest-search-input>i{color:var(--text-muted);font-size:.9rem;flex-shrink:0}.dest-input{border:none;outline:none;font-size:.88rem;color:var(--text-primary);background:transparent;width:100%;padding:0}.dest-input::-moz-placeholder{color:var(--text-light)}.dest-input::placeholder{color:var(--text-light)}.dest-dropdown{display:none;position:absolute;top:calc(100% + 6px);left:0;min-width:360px;max-height:420px;overflow-y:auto;background:#fff;border:1px solid var(--border-color);border-radius:10px;box-shadow:0 8px 32px #0000001f;padding:.75rem 0;z-index:1050}.dest-dropdown.show{display:block}.dest-section-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:.5rem 1rem .35rem}.dest-item{display:flex;align-items:center;gap:.75rem;padding:.55rem 1rem;cursor:pointer;transition:background .12s}.dest-item:hover{background:#f5f7fa}.dest-icon{width:36px;height:36px;border-radius:8px;background:#eef1f6;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-muted);font-size:.9rem}.dest-icon.hotel-icon{background:#e8f0fe;color:var(--accent-blue)}.dest-name{font-size:.85rem;font-weight:600;color:var(--text-primary);line-height:1.3}.dest-sub{font-size:.72rem;color:var(--text-muted);margin-top:1px}.dest-divider{height:1px;background:#f1f3f5;margin:.5rem 0}.dest-item.hidden{display:none}.dest-no-results{padding:1rem;text-align:center;font-size:.82rem;color:var(--text-muted)}.guest-dropdown-wrapper{position:relative}.guest-dropdown-trigger{background:#fff;border:1.5px solid var(--border-color);border-radius:8px;font-size:.88rem;padding:.55rem .75rem;width:100%;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;color:var(--text-primary);transition:border-color .15s}.guest-dropdown-trigger:hover,.guest-dropdown-trigger.active{border-color:var(--accent-blue);box-shadow:0 0 0 3px #1a73e81a}.guest-dropdown-trigger i{font-size:.7rem;color:var(--text-muted);transition:transform .2s}.guest-dropdown-trigger.active i{transform:rotate(180deg)}.guest-dropdown-panel{display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:320px;background:#fff;border:1px solid var(--border-color);border-radius:10px;box-shadow:0 8px 32px #0000001f;padding:1.25rem;z-index:1050}.guest-dropdown-panel.show{display:block}.guest-row{display:flex;align-items:center;justify-content:space-between;padding:.65rem 0;border-bottom:1px solid #f1f3f5}.guest-row:last-of-type{border-bottom:none}.guest-row-label .guest-row-title{font-size:.88rem;font-weight:600;color:var(--text-primary)}.guest-row-label .guest-row-subtitle{font-size:.72rem;color:var(--text-muted)}.guest-counter{display:flex;align-items:center;gap:0}.guest-counter .btn-counter{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--border-color);background:#fff;color:var(--accent-blue);font-size:1rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;padding:0;line-height:1}.guest-counter .btn-counter:hover:not(:disabled){border-color:var(--accent-blue);background:#1a73e80d}.guest-counter .btn-counter:disabled{color:var(--text-light);border-color:#eee;cursor:not-allowed}.guest-counter .counter-value{width:36px;text-align:center;font-size:.95rem;font-weight:700;color:var(--text-primary)}.children-ages{padding:.75rem 0 0}.children-ages-title{font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.6rem}.children-ages-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.child-age-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.child-age-item label{font-size:.82rem;font-weight:500;color:var(--text-primary);white-space:nowrap}.child-age-item select{font-size:.82rem;padding:.3rem 1.8rem .3rem .5rem;border-radius:6px;border:1.5px solid var(--border-color);color:var(--text-primary);flex:1;max-width:100px}.child-age-item select:focus{border-color:var(--accent-blue);box-shadow:0 0 0 2px #1a73e81a;outline:none}.children-note{font-size:.72rem;color:var(--text-muted);margin-top:.5rem;padding-top:.5rem;border-top:1px solid #f1f3f5}.guest-dropdown-panel .btn-apply{background-color:var(--bg-dark);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.85rem;padding:.55rem 1.5rem;width:100%;margin-top:1rem;cursor:pointer;transition:opacity .15s}.guest-dropdown-panel .btn-apply:hover{opacity:.9}.text-accent{color:var(--accent-blue)}.bg-accent{background-color:var(--accent-blue)}.text-green{color:var(--accent-green)}.text-orange{color:var(--accent-orange)}@media (max-width: 991px){.hotel-price-section{border-left:none;border-top:1px solid var(--border-color);flex-direction:row;align-items:center;min-width:auto}.gallery-grid{grid-template-columns:1fr 1fr;max-height:300px}.gallery-grid .gallery-main{grid-row:1 / 3}}@media (max-width: 767px){.search-hero h1{font-size:1.25rem}.gallery-grid{grid-template-columns:1fr;grid-template-rows:auto;max-height:none}.gallery-grid .gallery-main{grid-row:auto}.filters-sidebar{margin-bottom:1rem}}
