/* ===== Bổ sung cho web khách sạn (dựa trên template Cappa) ===== */
:root { --hv-gold: #aa8453; --hv-dark: #1b1b1b; --hv-dark2: #222; --hv-line: #2b2b2b; --hv-text: rgba(255,255,255,.6); }

/* Ô ngày dạng native nhưng giữ giao diện template */
.input1_inner input[type="date"] { color-scheme: dark; position: relative; min-height: 62px; }
.input1_inner input[type="date"]::-webkit-calendar-picker-indicator { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.form1 label { display: none; }
.booking-inner .form1 select.select2, .form1 select.hv-select { width: 100%; height: 62px; background: #222; color: var(--hv-text); border: 0; padding: 0 40px 0 20px; appearance: none; -webkit-appearance: none; font-size: 15px; }
.booking-inner .form1 select option { background: #222; }

/* Menu */
.navbar .nav-book .nav-link span { border: 1px solid var(--hv-gold); padding: 6px 14px; color: #fff; transition: .3s; }
.navbar .nav-book .nav-link:hover span { background: var(--hv-gold); }
.navbar .dropdown-menu { max-height: 70vh; overflow-y: auto; }

/* Nút liên hệ nổi */
.hv-quick { position: fixed; left: 18px; bottom: 18px; z-index: 999; display: flex; flex-direction: column; gap: 10px; }
.hv-quick a { display: flex; align-items: center; gap: 8px; height: 46px; padding: 0 16px 0 6px; border-radius: 30px; color: #fff; font-family: 'Barlow Condensed', sans-serif; letter-spacing: 1px; box-shadow: 0 6px 18px rgba(0,0,0,.35); text-decoration: none; }
.hv-quick a i { width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,.18); display: inline-flex; align-items: center; justify-content: center; font-size: 16px; }
.hv-quick-call { background: var(--hv-gold); animation: hv-pulse 2.4s infinite; }
.hv-quick-zalo { background: #0068ff; padding: 0 18px !important; font-weight: 500; }
@keyframes hv-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(170,132,83,.6); } 50% { box-shadow: 0 0 0 10px rgba(170,132,83,0); } }
@media (max-width: 767px) { .hv-quick a span { display: none; } .hv-quick a { padding: 0 6px; width: 46px; justify-content: center; } .hv-quick-zalo { width: auto !important; padding: 0 12px !important; } }

/* Thẻ phòng */
.hv-specs { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px 16px; }
.hv-specs li { color: var(--hv-text); font-size: 14px; display: inline-flex; align-items: center; gap: 6px; }
.hv-specs li i { color: var(--hv-gold); font-size: 16px; }
.rooms1 .item .con .hv-specs li { color: #fff; font-size: 13px; }
.hv-badge { position: absolute; left: 20px; top: 20px; z-index: 3; background: var(--hv-gold); color: #fff; font-family: 'Barlow Condensed', sans-serif; letter-spacing: 2px; text-transform: uppercase; font-size: 12px; padding: 3px 10px; }
.hv-price-old { text-decoration: line-through; opacity: .6; font-size: 13px; margin-left: 6px; }
.rooms1 .item { position: relative; }
.rooms1 .item img { height: 420px; object-fit: cover; width: 100%; }
.rooms2 figure img { height: 100%; min-height: 420px; object-fit: cover; }
.rooms2 .caption .hv-specs { margin: 18px 0 6px; }
.rooms2 .caption .hv-amen { margin-top: 10px; }
.hv-amen { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.hv-amen li { border: 1px solid var(--hv-line); padding: 3px 10px; font-size: 13px; color: var(--hv-text); }
.hv-amen li i { color: var(--hv-gold); margin-right: 4px; }

/* Bộ lọc danh mục */
.hv-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 40px; }
.hv-tabs a, .hv-gallery-filter button { border: 1px solid var(--hv-line); color: var(--hv-text); padding: 8px 18px; font-family: 'Barlow Condensed', sans-serif; letter-spacing: 2px; text-transform: uppercase; font-size: 14px; background: transparent; transition: .2s; }
.hv-tabs a:hover, .hv-tabs a.active, .hv-gallery-filter button:hover, .hv-gallery-filter button.active { border-color: var(--hv-gold); color: #fff; background: var(--hv-gold); }
.hv-tabs a small { opacity: .7; margin-left: 4px; }

/* Chi tiết phòng */
.hv-spec-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1px; background: var(--hv-line); border: 1px solid var(--hv-line); margin: 10px 0 40px; }
.hv-spec-grid > div { background: #1b1b1b; padding: 18px 16px; }
.hv-spec-grid i { color: var(--hv-gold); font-size: 22px; display: block; margin-bottom: 6px; }
.hv-spec-grid b { display: block; color: #fff; font-weight: 400; font-size: 16px; }
.hv-spec-grid span { font-size: 12px; text-transform: uppercase; letter-spacing: 1.5px; color: rgba(255,255,255,.4); }
.hv-content { color: var(--hv-text); }
.hv-content h1, .hv-content h2, .hv-content h3, .hv-content h4 { color: #fff; font-family: 'Gilda Display', serif; margin: 26px 0 12px; font-size: 24px; }
.hv-content table { width: 100%; border-collapse: collapse; margin: 16px 0; }
.hv-content table td, .hv-content table th { border: 1px solid var(--hv-line); padding: 8px 12px; color: var(--hv-text); }
.hv-content img { max-width: 100%; height: auto; }
.hv-content ul li { list-style: disc; margin-left: 20px; }
.hv-content blockquote { border-left: 3px solid var(--hv-gold); padding-left: 16px; font-style: italic; color: #fff; }
.hv-thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 0 0 40px; }
.hv-thumbs a { display: block; position: relative; overflow: hidden; }
.hv-thumbs img { width: 100%; height: 110px; object-fit: cover; transition: transform .4s; }
.hv-thumbs a:hover img { transform: scale(1.06); }
.hv-thumbs .more { position: absolute; inset: 0; background: rgba(0,0,0,.55); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 20px; font-family: 'Gilda Display', serif; }
@media (max-width: 575px) { .hv-thumbs { grid-template-columns: repeat(3, 1fr); } .hv-thumbs img { height: 80px; } }
.hv-book-card { background: #1b1b1b; border: 1px solid var(--hv-line); padding: 30px 26px; position: sticky; top: 100px; }
.hv-book-card .price { font-family: 'Gilda Display', serif; color: #fff; font-size: 30px; line-height: 1.2; }
.hv-book-card .price small { font-size: 14px; color: var(--hv-text); font-family: 'Barlow', sans-serif; }
.hv-book-card hr { border-color: var(--hv-line); opacity: 1; }
.hv-policy { list-style: none; padding: 0; }
.hv-policy li { padding: 10px 0; border-bottom: 1px solid var(--hv-line); color: var(--hv-text); }
.hv-policy li b { color: #fff; font-weight: 400; display: block; font-family: 'Barlow Condensed', sans-serif; letter-spacing: 1.5px; text-transform: uppercase; font-size: 14px; }

/* Form đặt phòng */
.hv-form label { display: block; color: rgba(255,255,255,.7); font-size: 13px; text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 6px; font-family: 'Barlow Condensed', sans-serif; }
.hv-form .form-control, .hv-form select { width: 100%; background: #222; border: 1px solid var(--hv-line); color: #fff; padding: 12px 14px; border-radius: 0; font-size: 15px; color-scheme: dark; }
.hv-form .form-control:focus, .hv-form select:focus { border-color: var(--hv-gold); box-shadow: none; background: #222; color: #fff; }
.hv-form .mb-3 { margin-bottom: 18px !important; }
.hv-form .btn-form1-submit { line-height: 54px; }
.hv-form .is-invalid { border-color: #c0392b !important; }
.hv-form .invalid-feedback { display: block; color: #e57373; font-size: 13px; }
.hv-btn-outline { display: block; text-align: center; border: 1px solid var(--hv-gold); color: #fff; line-height: 52px; font-family: 'Barlow Condensed', sans-serif; letter-spacing: 3px; text-transform: uppercase; font-size: 15px; transition: .3s; }
.hv-btn-outline:hover { background: var(--hv-gold); color: #fff; }
.hv-hp { position: absolute; left: -9999px; }
.hv-alert { border: 1px solid var(--hv-gold); background: rgba(170,132,83,.1); color: #fff; padding: 16px 20px; margin-bottom: 30px; }

/* Thư viện ảnh */
.hv-gallery-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 30px; }
.hv-gallery-grid { margin: 0 -6px; }
.hv-gallery-item { width: 33.333%; padding: 6px; }
.hv-gallery-item a { display: block; position: relative; overflow: hidden; }
.hv-gallery-item img { width: 100%; display: block; transition: transform .5s; }
.hv-gallery-item a:hover img { transform: scale(1.05); }
.hv-gallery-item .cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 30px 14px 10px; background: linear-gradient(transparent, rgba(0,0,0,.75)); color: #fff; font-size: 13px; opacity: 0; transition: .3s; }
.hv-gallery-item a:hover .cap { opacity: 1; }
@media (max-width: 991px) { .hv-gallery-item { width: 50%; } }

/* Điểm nổi bật */
.facilties .single-facility p { min-height: 52px; }
.hv-empty { padding: 60px 0; text-align: center; color: var(--hv-text); }
.pricing .pricing-card img { height: 240px; object-fit: cover; width: 100%; }
.news .item img { height: 260px; object-fit: cover; width: 100%; }
.services .img img { width: 100%; height: 100%; min-height: 380px; object-fit: cover; }
.testimonials .item .info .author-img img { width: 70px; height: 70px; object-fit: cover; }
.hv-source { color: var(--hv-gold); font-size: 12px; letter-spacing: 1px; text-transform: uppercase; }

/* Menu gọn trên desktop (tránh xuống dòng) */
@media (min-width: 992px) {
    .navbar .navbar-nav .nav-link { white-space: nowrap; padding-left: 9px !important; padding-right: 9px !important; letter-spacing: 1.5px; font-size: 14px; }
    .navbar .navbar-nav .nav-item { margin: 0; }
}
@media (min-width: 992px) and (max-width: 1299px) { .navbar .nav-book { display: none; } }
/* Thông số trong thẻ phòng: 1 dòng */
.rooms1 .item .con .facilities ul.hv-specs { display: flex; flex-wrap: nowrap; gap: 14px; }
.rooms1 .item .con .facilities ul.hv-specs li { display: inline-flex; margin: 0; padding: 0; letter-spacing: .5px; text-transform: none; font-size: 13px; white-space: nowrap; line-height: 1.6; }
.rooms1 .item .con .facilities ul.hv-specs li i { font-size: 15px; margin: 0; }
.hv-form label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; letter-spacing: 1px; }
.hv-form select { height: 50px; padding: 0 12px; line-height: 50px; }
.hv-form input.form-control { height: 50px; }
.hv-form textarea.form-control { height: auto; }
