/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.5.6
Updated: 2024-11-08 08:45:27

*/
/* Tắt text-shadow cho toàn bộ nút trong site */
button,
input[type="button"],
input[type="submit"],
.elementor-button,
.elementor-kit-6 button,
.elementor-kit-6 input[type="button"],
.elementor-kit-6 input[type="submit"],
.elementor-kit-6 .elementor-button {
	text-shadow: none !important;
}

.roomv-panel-mid {
	overflow: scroll;
}

button.roomv-x.js-roomv-close {
	z-index: 999999999;
}

/* Tắt luôn ở các state để tránh rule khác lấn */
button:hover, button:focus, button:active,
input[type="button"]:hover, input[type="button"]:focus, input[type="button"]:active,
input[type="submit"]:hover, input[type="submit"]:focus, input[type="submit"]:active,
.elementor-button:hover, .elementor-button:focus, .elementor-button:active,
.elementor-kit-6 .elementor-button:hover,
.elementor-kit-6 .elementor-button:focus,
.elementor-kit-6 .elementor-button:active {
	text-shadow: none !important;
}

/* ===============================
VARIABLES
================================= */
:root{
	--brand:#19254F; --brand-2:#272165; --brand-3:#4b4dda; --accent:#e91e63;
	--danger:#e11; --ink:#111; --ink-2:#222; --muted:#6b7280; --line:#eee; --bg-soft:#fafafa;
	--site-header-h:72px; --wpbar:0px;
	--space-1:8px; --space-2:12px; --space-3:20px; --space-4:32px; --space-5:24px; --space-6:28px; --space-7:32px; --space-8:50px;
	--section-gap:var(--space-8); --title-gap:var(--space-4); --row-gap:var(--space-3);
	--sp-tabs-offset:16px;
}
body.admin-bar{ --wpbar:32px; } @media (max-width:782px){ body.admin-bar{ --wpbar:46px; } }
html{ scroll-padding-top: calc(var(--site-header-h) + var(--wpbar,0px) + var(--sp-tabs-offset) + 12px); }

/* ===============================
GLOBAL
================================= */
.sp-page.container{max-width:1200px;margin:0 auto;padding:0 16px;color:var(--ink);}
.sp-page img{max-width:100%;display:block;height:auto;}
.sp-page section,.sp-page .sp-map-card{margin-bottom:38px;}
@media (max-width:1200px){ .sp-page.container{ padding:0 12px; } }

/* ===============================
STICKY TABS
================================= */
.sp-page{ --sp-sticky-top: calc(var(--site-header-h) + var(--wpbar,0px)); }
.sp-tabs{ position:sticky; top:calc(var(--sp-sticky-top) + var(--sp-tabs-offset)); z-index:50; display:flex; gap:22px; align-items:center;
	margin:8px 0 16px; padding:10px 12px; background:#ffffffcc; -webkit-backdrop-filter:saturate(180%) blur(8px); backdrop-filter:saturate(180%) blur(8px);
	border-bottom:1px solid var(--line); transition:box-shadow .2s, background .2s; }
.sp-tabs a{ position:relative; text-decoration:none; color:#7a8892; font-weight:700; padding:6px 2px; }
.sp-tabs a.is-active{ color:var(--danger); }
.sp-tabs a.is-active:after{ content:""; position:absolute; left:0; right:0; bottom:-8px; height:3px; background:var(--danger); border-radius:2px; }
@media (max-width:767px){ 
	.sp-tabs{ gap:14px; padding:8px 10px; } .sp-tabs a{ font-size:14px; } 
	.roomv-panel-mid {
		overflow: hidden;
	}
}

/* ===============================
HEADER
================================= */
.sp-head{ margin:14px 0 22px; }
.sp-head-row{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.sp-head-col{ min-width:0; }
.sp-title{ margin:0 0 12px; font-size:22px; font-weight:700; line-height:1.3; }
.sp-meta{ display: flex; flex-direction: row; gap: 8px; color: #555; }
.sp-stars{ display:flex; gap:4px; align-items:center; line-height:1; }
.sp-address{ font-size:14px; color:#444; }
.sp-sec-title{ font-size:23px; font-weight:800; margin:0 0 14px; color:#0f172a; }
.sp-rating-row{ display:flex; align-items:center; gap:8px; }
.sp-rating-badge{ min-width:58px; text-align:center; background:#1f2937; color:#fff; font-weight:800; padding:8px 14px; border-radius:12px; font-size:14px; line-height:1.2; }
.sp-rating-note{ font-weight:400; color:var(--ink-2); font-size:14px; }
.btn-book-now{ display:inline-block; padding:10px 16px; background:var(--brand); color:#fff; border-radius:10px; font-weight:400; text-decoration:none; white-space:nowrap; transition:background .2s; }
.btn-book-now:hover{ background:#0f1a40; }

/* ===============================
GALLERY – ngoài
================================= */
.pg-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:stretch; margin-bottom:24px;margin-top:-30px; }
.pg-main,.pg-item{ display:block; border:0; padding:0; background:none; cursor:pointer; border-radius:12px; overflow:hidden; position:relative; }
.pg-main img,.pg-item img{ width:100%; height:100%; object-fit:cover; transition:transform .25s; }
.pg-side{ display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:12px; }
.pg-main:hover img,.pg-item:hover img{ transform:scale(1.02); }
.pg-more-badge{ position:absolute; right:10px; bottom:10px; background:rgba(0,0,0,.55); color:#fff; font-weight:700; padding:6px 10px; border-radius:10px; font-size:14px; }

/* Cho phép dùng <a> thay <button> cho các ô ảnh ngoài */
a.pg-main, a.pg-item{ text-decoration:none; color:inherit; }
a.pg-main img, a.pg-item img{ display:block; }

/* ===============================
POPUP 1 – Grid
================================= */
.pg-no-scroll{ overflow:hidden; }
.pg-lightbox[hidden]{ display:none!important; }
.pg-lightbox{ position:fixed; inset:0; z-index:9999; display:grid; place-items:center; }
.pg-lightbox__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.55); }
.pg-lightbox__wrap{ position:relative; width:min(1140px,98vw); height:min(92vh,1000px); background:#fff; border-radius:14px; display:flex; flex-direction:column; padding:14px; box-shadow:0 18px 52px rgba(0,0,0,.22); overflow:hidden; }
.pg-close{ position:absolute; top:10px; right:12px; width:36px; height:36px; border:0; border-radius:999px; background:#f3f4f6; color:#111; font-size:24px; line-height:1; cursor:pointer; display:grid; place-items:center; }
.pg-close:hover{ background:#e9e9ee; }
.pg-topbar{ display:flex; align-items:center; justify-content:center; gap:16px; padding:8px 6px 14px; border-bottom:1px solid var(--line); }
.pg-title{ margin:0; font-size:18px; font-weight:800; color:var(--ink); }
.pg-book-now{ display:inline-block; padding:5px 10px; border-radius:10px; background:#1A2754; color:#fff; text-decoration:none; font-weight:500; font-size:15px}
.pg-book-now:hover{ background:#c2185b; }
.pg-grid-only{  padding:18px 8px 8px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; scrollbar-gutter:stable; }
.pg-grid-only > *{ position:static!important; margin:0!important; transform:none!important; width:auto!important; height:auto!important; display:block!important; }
.pg-grid-item{ display:block; border-radius:12px; background:#fff; box-sizing:border-box; cursor:zoom-in; overflow:hidden; aspect-ratio:4/3; }
.pg-grid-item img{ width:100%; height:100%; object-fit:cover; }
@media (max-width:1024px){ .pg-grid-only{ grid-template-columns:repeat(4,1fr); } }
@media (max-width:768px){  .pg-grid-only{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:540px){  .pg-grid-only{ grid-template-columns:repeat(2,1fr); } }

/* Cho phép dùng <a> thay <button> trong popup grid */
a.pg-grid-item{ text-decoration:none; color:inherit; }
a.pg-grid-item img{ display:block; }

/* ===============================
POPUP 2 – Viewer (nền trắng)
================================= */
.pgv-backdrop{ position:fixed; inset:0; }
.pg-viewer[hidden]{ display:none!important; }
.pg-viewer{ position:fixed; inset:0; z-index:99999; display:flex; flex-direction:column; }
.pgv-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 16px; background:#fff; border-bottom:1px solid var(--line); position:relative; z-index:2; }
.pgv-back{ border:0; background:transparent; color:var(--brand); font-weight:400; cursor:pointer; }
.pgv-mid{ display:flex; align-items:center; gap:12px; }
.pgv-title{ font-weight:800; color:#111; }
.pgv-book{ display:inline-block; padding:8px 12px; border-radius:999px; background:var(--brand); color:#fff; text-decoration:none; font-weight:700; }
.pgv-close{ width:34px; height:34px; border:0; border-radius:999px; background:#f3f4f6; color:#111; font-size:22px; line-height:1; cursor:pointer; display:grid; place-items:center; }

.pgv-stage{ position:relative; flex:1; background:#fff; display:grid; place-items:center; padding:16px; }
.pgv-img{ max-width:min(1200px,92vw); width:auto; height:auto; max-height:73vh; border-radius:12px; box-shadow:0 10px 26px rgba(0,0,0,.08); }
.pgv-nav{ position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border:0; border-radius:999px; display:grid; place-items:center; cursor:pointer; background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:#fff; box-shadow:0 6px 18px rgba(25,37,79,.28); }
.pgv-prev{ left:16px; } .pgv-next{ right:16px; }
.pgv-counter{ text-align:center; padding:10px 0; font-weight:700; color:#333; background:#fff; }
.pgv-thumbs{ display:flex; gap:8px; overflow-x:auto; padding:10px 14px 16px; background:#fff; border-top:1px solid var(--line); }
.pgv-thumb{ flex:0 0 auto; width:90px; height:68px; border:2px solid transparent; border-radius:8px; overflow:hidden; background:#f7f7f7; cursor:pointer; }
.pgv-thumb.is-active{ border-color:var(--brand-3); }
.pgv-thumb img{ width:100%; height:100%; object-fit:cover; }

/* Dùng <a> thay <button> cho các nút viewer */
a.pgv-back,
a.pgv-book,
a.pgv-close,
a.pgv-nav,
a.pgv-thumb{
	text-decoration:none;
	color:inherit;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
}
.pgv-back {
	display: inline-flex;
	align-items: center;      /* căn giữa icon với chữ */
	gap: 8px;                 /* khoảng cách giữa mũi tên và chữ */
	font-size: 16px;
	line-height: 1;
}

.pgv-back .pgv-back-back {
	font-size: 26px;          /* kích thước mũi tên */
	line-height: 1;
	font-weight: 700;
	display: inline-block;
	transform: translateY(-3px); /* chỉnh căn giữa đẹp hơn */
}
/* <a> thumbnail fill */
a.pgv-thumb{ display:block; }
a.pgv-thumb img{ display:block; }
/* ===== PGV TOP — chỉnh mũi tên & tắt hover đỏ trên nút Đóng ===== */

.pgv-close-close {
	font-size: 50px; /* chỉnh size ở đây nếu muốn to hơn */
	font-weight: 200;
	line-height: 1;
	display: inline-block;
	transform: translateY(-1px);
}

/* TẮT MÀU hover */
.pgv-close:hover,
.pgv-close:focus,
.pgv-close:active {
	color: #111 !important;
	background: none !important;
	text-decoration: none !important;
}
/* ===============================
HIGHLIGHTS
================================= */
.sp-highlights{ margin-top:4px; margin-bottom:20px; }
.sp-hi-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	flex-wrap: wrap;
	gap: 10px;
}
.hi-card{ width:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:8px; padding:12px 10px; background:#f5f7f9; border:1px solid var(--line); border-radius:12px; }
.hi-ic{ height:44px; display:flex; align-items:center; justify-content:center; }
.hi-ic img{ width:34px; height:34px; object-fit:contain; }
.hi-txt{ font-size:14px; line-height:1.35; text-align:center; padding:0 6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.hi-card--more{ background:#f3f4f6; border:1px dashed #e5e7eb; cursor:pointer; }
.hi-more-text{ font-size:18px; }
.sp-highlights .is-extra[hidden], .sp-highlights:not(.is-expanded) .is-extra{ display:none!important; }
.sp-highlights.is-expanded .hi-card--more{ display:none!important; }
.hi-card.hi-card--more:hover {
	background: #e5e5e5 !important;  /* xám nhạt khi hover */
}

@media (max-width:640px){ .sp-hi-grid{ --hi-w:calc(50% - 7px); --hi-h:120px; } .hi-txt{ -webkit-line-clamp:3; } }

/* ===============================================
ƯU ĐIỂM (CÁC Ô ĐỀU NHAU, KHÔNG KHUNG NGOÀI)
=============================================== */
:root{
	--pros-bg: #fff1f7;         /* nền từng ô */
	--pros-bd: #ffd7e6;         /* viền từng ô */
	--pros-spot: #ffe3ef;       /* nền icon */
	--pros-pink: #ff3d9a;       /* màu điểm nhấn */
	--pros-ink: #0f172a;        /* màu chữ */
}

/* ====== KHUNG CHÍNH ====== */
.sp-pros{
	margin-top: 24px;
}

/* ====== LƯỚI ====== */
.sp-pros .pros-list{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px 26px;
	align-items: stretch; /* chiều cao đều nhau */
}

/* ====== Ô MỖI ITEM ====== */
.sp-pros .pros-item{
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 18px;
	background: var(--pros-bg);
	border: 1px solid var(--pros-bd);
	border-radius: 14px;
	transition: background .25s, box-shadow .25s, transform .25s;
	min-height: 72px;           /* đảm bảo chiều cao đồng đều */
	box-sizing: border-box;
}

/* Hover */
.sp-pros .pros-item:hover{
	background: #fff;
	box-shadow: 0 3px 12px rgba(255, 61, 154, .15);
	transform: translateY(-2px);
}

/* ====== ICON (ẢNH) ====== */
.sp-pros .pros-ic{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px; height: 24px;
	padding: 10px;
	border-radius: 999px;
	background: var(--pros-spot);
	box-shadow: inset 0 0 0 6px rgba(255, 61, 154, .06);
}
.sp-pros .pros-ic[src]{
	width: 24px; height: 24px;
	object-fit: contain;
}

/* ====== ICON TEXT ====== */
.sp-pros .pros-ic-txt{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px; height: 44px;
	border-radius: 999px;
	background: var(--pros-spot);
	color: var(--pros-pink);
	font-weight: 700;
	font-size: 17px;
	box-shadow: inset 0 0 0 6px rgba(255, 61, 154, .06);
}

/* ====== TEXT ====== */
.sp-pros .pros-txt{
	color: var(--pros-ink);
	font-size: 15px;
	line-height: 1.5;
	flex: 1;
}

/* ====== RESPONSIVE ====== */
@media (max-width: 720px){
	.sp-pros .pros-list{
		grid-template-columns: 1fr;
		gap: 14px;
	}
	.sp-pros .pros-item{
		padding: 14px 16px;
		min-height: 64px;
	}
	.sp-page .pg-grid {
		display: flex;
		flex-direction: column;
	}
}

/* ===============================
AMENITIES – NGOÀI
================================= */
.sp-amen--outside{ margin-top:80px; }
.amen-grid{ column-count:4; column-gap:24px; }
.amen-col{ display:inline-block; width:100%; break-inside:avoid; margin:0 0 22px; }
.amen-head{ display:flex; align-items:center; gap:10px; margin:0 0 8px; }
.amen-ic{ width:20px; height:20px; object-fit:contain; flex:0 0 20px; }
.amen-ic--text{ display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; border-radius:50%; background:#f3f4f6; color:#333; font-size:11px; }
.amen-ttl{ margin:0; font-size:16px; font-weight:700; }
.amen-list{ list-style:none; margin:0; padding:0; }
.amen-list li{ display:flex; align-items:flex-start; gap:8px; margin:8px 0; line-height:1.7; color:#1f2937; }
.amen-bullet{ color:#0a8f5a; font-weight:900; font-size:13px; }
.amen-text{ flex:1;font-size:13px; }
@media (max-width:1200px){ .amen-grid{ column-count:3; } }
@media (max-width:992px){ .amen-grid{ column-count:2; } }
@media (max-width:640px){ .amen-grid{ column-count:1; } }

/* ===============================
MAIN GRID
================================= */
.sp-main-grid{ display:grid; grid-template-columns:1fr 340px; gap:16px; row-gap:22px; align-items:start; margin-top:8px; }
@media (max-width:992px){ .sp-main-grid{ grid-template-columns:1fr; } }

/* ===============================
BEDS
================================= */
.beds-list{ display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.bed-item{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.bed-type img{ width:20px; height:20px; object-fit:contain; display:inline-block; }
.bed-note{ color:var(--muted); }
.bed-desc{ width:100%; margin-left:28px; font-size:13px; color:#4b5563; }

/* ===============================
BOOKING (CF7) – FULL + FIX DATE ROW
================================= */

/* Khung */
.booking-box{background:#fff;border:1px solid #eee;border-radius:14px;padding:18px 14px;box-shadow:0 4px 16px rgba(0,0,0,.06)}
.bk-fallback.bk-cf7{display:block}

/* Title */
.bk-fallback.bk-cf7 .bk-title{margin:0 0 12px;font-size:20px;font-weight:700;color:#19254F;text-align:center}

/* Rows (giảm khoảng cách) */
.bk-fallback.bk-cf7 .bk-row{display:flex;flex-direction:column;margin-bottom:8px!important}
.bk-fallback.bk-cf7 .bk-row>span{font-size:13px;font-weight:600;margin-bottom:4px;color:#444}

/* ===== NGÀY NHẬN – NGÀY TRẢ: nằm 1 hàng, chống theme phá layout ===== */
.bk-fallback.bk-cf7 .bk-dategrid{display:grid!important;grid-template-columns:minmax(140px,1fr) auto minmax(140px,1fr)!important;gap:6px!important;align-items:center;width:100%}
@media(max-width:360px){.bk-fallback.bk-cf7 .bk-dategrid{grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr)!important}}
/* CF7/Theme hay chèn p/br -> triệt để ép về 1 hàng */
.bk-fallback.bk-cf7 .bk-dategrid>p{margin:0!important;display:contents!important}
.bk-fallback.bk-cf7 .bk-dategrid br{display:none!important}
.bk-fallback.bk-cf7 .bk-dategrid>span.wpcf7-form-control-wrap{display:block!important;width:100%!important}
.bk-fallback.bk-cf7 .bk-dategrid input[type=date]{width:100%!important;height:40px}

/* Dấu mũi tên giữa */
.bk-fallback.bk-cf7 .bk-sep{font-weight:700;color:#666;margin:0 2px}

/* Inputs */
.bk-fallback.bk-cf7 .wpcf7-form-control-wrap{display:block;width:100%}
.bk-fallback.bk-cf7 input[type=text],
.bk-fallback.bk-cf7 input[type=tel],
.bk-fallback.bk-cf7 input[type=email],
.bk-fallback.bk-cf7 input[type=number],
.bk-fallback.bk-cf7 input[type=date],
.bk-fallback.bk-cf7 textarea{width:100%;height:40px;padding:8px 10px;border:1px solid #ddd;border-radius:10px;background:#fafafa;font-size:14px;transition:.2s;box-sizing:border-box;outline:none}
.bk-fallback.bk-cf7 textarea{min-height:48px;max-height:110px;resize:vertical;height:auto}
.bk-fallback.bk-cf7 input:focus,
.bk-fallback.bk-cf7 textarea:focus{border-color:#272165;background:#fff;box-shadow:0 0 0 2px rgba(39,33,101,.2);outline:none}

/* Ẩn hint ngày khi chưa focus (nếu dùng class:no-hint) */
.bk-fallback.bk-cf7 input[type=date].no-hint:not(.has-value):not(:focus){color:transparent;caret-color:transparent}
.bk-fallback.bk-cf7 input[type=date].no-hint:not(.has-value):not(:focus)::-webkit-datetime-edit{color:transparent}
.bk-fallback.bk-cf7 input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer}

/* Submit */
.bk-fallback.bk-cf7 .bk-submit{margin-top:8px;width:100%;background:linear-gradient(135deg,#272165,#4b4dda);color:#fff;border:0;border-radius:10px;padding:12px;font-weight:700;font-size:15px;cursor:pointer;transition:.25s}
.bk-fallback.bk-cf7 .bk-submit:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(75,77,218,.3)}

/* CF7 messages */
.bk-fallback.bk-cf7 .wpcf7-response-output{margin:8px 0 0;padding:8px 10px;border-radius:8px;font-size:13px}
.bk-fallback.bk-cf7 .wpcf7 form.invalid .wpcf7-response-output{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}
.bk-fallback.bk-cf7 .wpcf7 form.sent .wpcf7-response-output{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}
.bk-fallback.bk-cf7 .wpcf7-not-valid-tip{display:none!important}
.bk-fallback.bk-cf7 .wpcf7-form-control.wpcf7-not-valid{border-color:#e63946!important;box-shadow:0 0 0 1px rgba(230,57,70,.18)}

.bk-row.bk-dates > p > span {
	font-size: 13px !important;
	font-weight: 500!important;

}

/* ✅ FIX nút submit bị trắng */
.bk-fallback.bk-cf7 .bk-submit,
.bk-fallback.bk-cf7 .bk-submit:hover,
.bk-fallback.bk-cf7 .bk-submit:focus {
	background: linear-gradient(135deg,#272165,#4b4dda) !important;
	color: #fff !important;
	border: none !important;
}

/* Ép không cho CSS global làm hỏng nút CF7 */
.bk-fallback.bk-cf7 input[type=submit] {
	background: linear-gradient(135deg,#272165,#4b4dda) !important;
	color: #fff !important;
	text-shadow: none !important;
}
/* Chữ ngày hiển thị bình thường sau khi đã chọn */
.bk-fallback.bk-cf7 input[type="date"].has-value{
	color:inherit !important;
}
/* SHOW placeholder cho input date, không cần click mới thấy */
.bk-fallback.bk-cf7 input[type="date"].no-hint:not(.has-value){
	color:#888 !important;
	caret-color:auto !important;
}
.bk-fallback.bk-cf7 input[type="date"].no-hint:not(.has-value)::-webkit-datetime-edit{
	color:#888 !important;
}
/* Khi đã có giá trị thì hiện chữ thường */
.bk-fallback.bk-cf7 input[type="date"].has-value{
	color:#111 !important;
}


/* ===============================
NOTICES
================================= */
.notice{ border-radius:10px; padding:10px 12px; margin:12px 0; font-size:14px; line-height:1.5; }
.notice.success{ background:#ecfdf5; border:1px solid #a7f3d0; color:#065f46; }
.notice.error{ background:#fef2f2; border:1px solid #fecaca; color:#991b1b; }

/* ===============================
Q&A
================================= */
.sp-qna{ margin-top:8px; }
.qna-list{ display:flex; flex-direction:column; gap:10px; }
.qna-item{ border:1px solid #e7e7e7; background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 2px 6px rgba(0,0,0,.05); }
.qna-item:hover{ border-color:var(--accent); box-shadow:0 4px 12px rgba(0,0,0,.08); }
.qna-q{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 14px; background:#fff; border:0; cursor:pointer; font-weight:700; text-align:left; color:var(--ink); }
.qna-q:focus-visible{ outline:2px solid var(--brand-2); outline-offset:2px; }
.qna-caret{ transition:transform .2s; } .qna-item.is-open .qna-caret{ transform:rotate(180deg); }
.qna-a{ padding:0 14px 16px; font-size:14px; line-height:1.6; } .qna-a[hidden]{ display:none!important; }
.qna-meta{ margin-top:6px; display:flex; gap:12px; font-size:12px; color:#777; }

/* ===============================
RELATED
================================= */
.sp-woo-related{ margin:22px 0 38px; }
.sp-woo-related .related.products>h2{ margin:0 0 14px; font-size:26px; font-weight:800; color:var(--ink); text-align:left; }
.sp-woo-related .related.products{ margin:0!important; padding:0!important; }
.sp-woo-related .related.products ul.products{ list-style:none!important; margin:0!important; padding:0!important; display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; column-gap:18px!important; row-gap:24px!important; }
@media (min-width:1200px){ .sp-woo-related .related.products ul.products{ grid-template-columns:repeat(4,minmax(0,1fr))!important; } }
@media (max-width:700px){ .sp-woo-related .related.products ul.products{ grid-template-columns:1fr!important; } }
.sp-woo-related .related.products ul.products li.product{ float:none!important; margin:0!important; width:auto!important; box-sizing:border-box!important; background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 6px 16px rgba(0,0,0,.06); transition:transform .18s, box-shadow .18s; }
.sp-woo-related .related.products ul.products li.product:hover{ transform:translateY(-2px); box-shadow:0 10px 22px rgba(0,0,0,.1); }
.sp-woo-related .related.products ul.products li.product a img{ width:100%; height:210px; object-fit:cover; border-bottom:1px solid #f1f1f1; }

/* ===============================
RESPONSIVE layout
================================= */
@media (max-width:992px){ .pg-grid{ grid-template-columns:1fr 1fr; } .pg-side{ grid-template-columns:repeat(4,1fr); grid-template-rows:auto; } }
@media (max-width:640px){ .sp-title{ font-size:22px; } .pg-grid{ gap:10px; } .pg-side{ grid-template-columns:1fr 1fr; } }

/* Vertical rhythm */
.sp-page{ --section-gap:var(--space-8); --title-gap:var(--space-4); --row-gap:var(--space-3); }
.sp-page > section,.sp-map-card,.sp-head,.pg-grid,.sp-main-grid,.sp-woo-related{ margin-bottom:var(--section-gap)!important; }
.sp-tabs{ margin:var(--space-2) 0 var(--section-gap)!important; }
.sp-sec-title{ margin:0 0 var(--title-gap)!important; }
.sp-meta{ row-gap:var(--space-2)!important; }
.sp-hi-grid{ gap:var(--row-gap)!important; }
.pros-grid{ row-gap:var(--row-gap)!important; }
.qna-list{ row-gap:var(--row-gap)!important; }
.booking-box .bk-row{ margin-bottom:var(--row-gap)!important; }
.amen-grid{ column-gap:var(--space-6)!important; }
.amen-col{ margin-bottom:var(--space-5)!important; }
.sp-woo-related .related.products>h2{ margin:0 0 var(--title-gap)!important; }
.sp-woo-related{ margin-top:var(--section-gap)!important; margin-bottom:calc(var(--section-gap)*1.2)!important; }
@media (max-width:768px){ .sp-page{ --section-gap:32px; --title-gap:16px; --row-gap:14px; } }

/* ===============================
TINH CHỈNH RIÊNG
================================= */
/* text màu */
button.pgv-back.js-viewer-close{ color:#000; }
button.qna-q{ color:#000;font-weight:400 }
/* ẩn nút add-to-cart trong related */
.woocommerce ul.products li.product .button{ display:none; margin-top:1em; }

/* Grid ảnh ngoài tự-fill */
.pg-grid-only{ display:grid; grid-template-columns: repeat(5, 1fr) !important; gap:10px; }
.pg-grid-only .pg-grid-item{ position:relative; display:block; width:100%; padding:0; border:none; background:none; cursor:pointer; overflow:hidden; border-radius:10px; }
.pg-grid-only .pg-grid-item img{ width:100%; height:100%; object-fit:cover; display:block; border:none; margin:0; padding:0; transition:transform .3s ease; }
.pg-grid-only .pg-grid-item:hover img{ transform:scale(1.03); }

/* ===== FIX POPUP VIEWER – ghi đè nhẹ để vừa màn + dễ bấm ===== */

.pgv-top{ background:#fff; }
.pgv-stage{ background:#fff; padding:12px; }
/* .pgv-img{ max-height:60vh!important; }  */

/* Thumbs */
.pgv-thumbs{
	display:flex; gap:10px; overflow-x:auto; padding:12px 14px 18px;
	background:#fff; border-top:1px solid var(--line); position:relative; z-index:2; scrollbar-gutter:stable both-edges;
}
.pgv-thumb{ flex:0 0 auto; width:106px; height:78px; border-radius:10px; overflow:hidden; background:#f7f7f7; cursor:pointer; border:2px solid transparent; }
.pgv-thumb.is-active{ border-color:var(--brand-3); }
.pgv-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

/* ===== NÚT ĐÓNG – dấu × to, phẳng ===== */
.pgv-close{
	width:auto; height:auto; padding:0; margin:0; background:none!important; border:none!important; box-shadow:none!important;
	color:#000!important; font-size:42px!important; font-weight:400; line-height:1; cursor:pointer; display:inline-block; transform:translateY(-1px);
}


/* ===== NÚT "THƯ VIỆN ẢNH" – tắt hover đổi màu ===== */
.pgv-back{ color:#000!important; background:none!important; border:none!important; box-shadow:none!important; transition:none!important; }
.pgv-back:hover,.pgv-back:focus,.pgv-back:active{ color:#000!important; background:none!important; box-shadow:none!important; }

/* ===== NÚT CHUYỂN ẢNH – bo tròn, dấu to ===== */
.pgv-nav{ border-radius:50%!important; font-size:25px!important; line-height:1; }

/* ===== HỖ TRỢ <a> THAY CHO <button> Ở VIEWER ===== */
a.pg-main, a.pg-item, a.pg-grid-item, a.pgv-back, a.pgv-book, a.pgv-close, a.pgv-nav, a.pgv-thumb{
	text-decoration:none; color:inherit; cursor:pointer;
}
a.pg-main, a.pg-item, a.pg-grid-item{ display:block; }
a.pgv-nav, a.pgv-close, a.pgv-back, a.pgv-book{ display:inline-flex; align-items:center; justify-content:center; }
a.pgv-thumb{ display:block; }
a.pgv-thumb.is-active{ box-shadow:inset 0 0 0 3px var(--brand-3); }
/* ===== BỎ HOÀN TOÀN BO TRÒN TRONG VIEWER ===== */
.pgv-top,
.pgv-stage,
.pgv-counter,
.pgv-thumbs,
.pgv-thumb,
.pgv-close,
.pgv-back,
.pgv-book,
.pgv-nav {
	border-radius: 0 !important;
}
/* Bo tròn nhẹ cho nút Đặt ngay */
.pgv-book{

	border-radius: 10px !important;  /* bo tròn vừa phải */
	padding: 8px 14px;               /* giữ tỉ lệ đẹp */
}
a.pgv-book{
	color:#fff;
}

.pg-grid-only a {
	display: inline-block;
	width: calc(20% - 8px);        /* 5 ảnh / hàng, trừ khoảng cách nhỏ */
	height: 150px;
	margin-right: 10px;
	border-radius: 8px;
	overflow: hidden;
	vertical-align: middle;

}
.pg-lightbox__wrap {
	overflow-y: auto;
	border-radius: 14px;

}

.pgv-nav{
	border-radius:50% !important}

button.pgv-back.js-viewer-close {
	font-weight: 500;
}
.pgv-top {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	padding: 10px 16px;
	background: #fff;
	border-bottom: 1px solid #eee;
}

/* Nút quay lại */
.pgv-back {
	justify-self: start;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: none;
	border: none;
	color: #111;
	font-size: 13px;
	cursor: pointer;
}
.pgv-back-ic svg { display: block; }

/* Tiêu đề động + đặt ngay */
.pgv-mid {
	justify-self: center;
	display: flex;
	align-items: center;
	gap: 12px;
}

.pgv-book {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 14px;
	border-radius: 10px;
	background: #1A2754;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	font-size: 14px;
}

/* Nút đóng */
.pgv-close {
	justify-self: end;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: none;
	border: none;
	color: #111;
	cursor: pointer;
}
.pgv-close-text {
	font-size: 13px;
	color: #333;
}
.pgv-close-ic svg { display: block; width: 18px; height: 18px; }

/* Hiệu ứng hover nhẹ */
.pgv-back:hover,
.pgv-close:hover { color: #e11; }

/* Tắt hoàn toàn blur + nền trong suốt ở thanh tabs */
.sp-tabs{
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
	background: #fff !important;          /* thay vì #ffffffcc (trong suốt) */
}

/* (Tùy chọn) Chỉ tắt khi popup ảnh mở */
.pg-viewer:not([hidden]) ~ .sp-tabs{
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
	background:#fff !important;
}
/* ===== Nút đóng × phẳng, chỉ hiện dấu đen ===== */
.pg-close {
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	width: auto !important;
	height: auto !important;
	color: #000 !important;
	font-size: 40px !important;    /* to hơn chút cho dễ thấy */
	line-height: 1;
	cursor: pointer;
	padding: 0;
}

.pg-close:hover {
	background: none !important;
	color: #000 !important;        /* không đổi màu khi hover */
}
.pg-title {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: var(--ink);
}
/* POPUP CONTAINER */
.pg-popup {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,.7);
	display: flex;
	justify-content: center;
	align-items: center;
	overflow-y: auto;
	overflow-x: hidden;
	z-index: 999;
}

/* KHUNG TRẮNG BÊN TRONG */
.pg-inner {
	position: relative;
	background: #fff;
	border-radius: 12px;

	width: 95%;
	margin: 40px auto;
	overflow: visible; /* rất quan trọng: để nút X không bị cắt */
}

/* THANH TOP */
.pg-topbar {
	position: sticky;
	top: -14px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding: 4px 6px 10px; /* giảm padding trên cho thanh lên cao */
	border-bottom: 1px solid var(--line, #eee);
	background: #fff;
	z-index: 10;
}

/* NÚT ĐÓNG (DẤU X) */
.pg-close {
	position: absolute;
	top: 0px;   /* căn vừa đủ cao */
	right: 12px; /* sát góc phải */
	background: none;
	border: none;
	font-size: 28px;
	line-height: 1;
	color: #000;
	cursor: pointer;
	z-index: 30;
}
.pg-close:hover {
	opacity: 0.6;
}
/* ===== ĐỊA CHỈ TRONG HEADER ===== */
.sp-address {
	display: flex;
	align-items: center;
	gap: 8px;              /* khoảng cách giữa icon và text */
	font-size: 15px;
	color: #222;
	line-height: 1.4;
}

/* ===== ICON ĐỊA CHỈ ===== */
.sp-address img,
.sp-address i,
.sp-address svg {
	width: 20px;           /* tăng kích thước icon */
	height: 20px;
	flex-shrink: 0;
	object-fit: contain;
	color: #1A2754;        /* đổi màu nếu dùng SVG có fill currentColor */
}


/* Hover nút "Đặt ngay" trong POPUP 1 (Grid) -> đỏ */
.pg-lightbox .pg-book-now:hover{
	background: var(--danger) !important; /* --danger = #e11 */
	color: #fff;                           /* giữ chữ trắng */
}

/* (tuỳ chọn) Khi focus/active cũng đỏ đồng bộ */
.pg-lightbox .pg-book-now:focus,
.pg-lightbox .pg-book-now:active{
	background: var(--danger) !important;
	color:#fff;
}
.hi-more-text {
	color: black;
	font-size: 18px;
}
[type=button]:focus, [type=button]:hover, [type=submit]:focus, [type=submit]:hover, button:focus, button:hover {
	color: #fff;
	background-color: #1A2754;
	text-decoration: none;
}
/* Fix nút đóng popup phòng không bị đổi màu khi hover */
.roomv-x,
.roomv-x:hover,
.roomv-x:focus,
.roomv-x:active {
	background: none !important;
	border: none !important;
	color: #000 !important;
	box-shadow: none !important;
}

img.pgv-img {
	max-width: 60%;
}
/* #pg-lightbox {
position: fixed;
inset: 0; /* tương đương top:0; left:0; right:0; bottom:0 */
width: 100vw;
height: 100vh;
z-index: 9999;
background: rgba(0,0,0,.8); /* nền tối để nổi bật ảnh */
display: flex;
align-items: center;
justify-content: center;
}

#pg-lightbox .pg-lightbox__wrap {
	width: 100%;
	height: 100%;
	background: #fff;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
}
*/

/* Khung tổng thể */
.qna-item {
	background: #fff !important;
	border: 1px solid transparent;
	border-radius: 12px;
	transition: border-color .2s ease;
}
.qna-item {
	border: 1px solid #e5e7eb !important;  /* viền xám nhạt */
	box-shadow: none !important;           /* bỏ đổ bóng loang */
	background: #fff !important;
}

/* Câu hỏi */
.qna-q {
	color: #000 !important;
	background: #fff !important;
}

/* Khi mở ra: chữ hỏi đổi màu chủ đạo */
.qna-item.is-open .qna-q {
	color: #1A2754 !important;
	font-weight: 700;
}
/* ===== Q&A – căn chữ giữa theo chiều dọc trong khung trả lời ===== */
.qna-a {
	display: flex;
	align-items: center;          /* căn giữa theo chiều dọc */
	padding: 14px 16px;           /* tăng nhẹ padding cho thoáng */
	background: #fff;
	border-top: 1px solid #eee;
}

.qna-a-inner {
	position: relative;
	padding-left: 14px;
	text-align: left;
	width: 100%;
}

/* Thanh dọc bên trái */
.qna-a-inner::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background-color: #1A2754;
	border-radius: 2px;
}

/* Giãn dòng để nhìn đều và mềm hơn */
.qna-a-inner p {
	margin: 0;
	line-height: 1.7;
	font-size: 15px;
	color: #000;
}


.btn-book-now:hover {

	color: #fff !important;  /* giữ màu chữ trắng */
}
/* đảm bảo hiển thị khi bỏ hidden */
.sp-highlights .hi-card.is-extra[hidden]{ display:none !important; }
.sp-highlights .hi-card.is-extra{ display:inline-flex !important; } /* hoặc inline-block tùy layout */
.sp-highlights .sp-hi-grid{ overflow:visible !important; max-height:none !important; }


/* =========================================================
ROOMS (HEADER RIÊNG + BODY + POPUP THEO ID)
Scope an toàn: .sp-rooms, .roomv
========================================================= */

:root{
	--rooms-gap:16px; --rooms-radius:12px; --rooms-line:#eceff3;
	--brand:#251a63; --ink:#111827; --muted:#6b7280;
}

/* ===== wrap & card ===== */
.sp-rooms .rooms-list{ display:flex; flex-direction:column; gap:var(--rooms-gap); gap: 20px }
.sp-rooms .room-row{
	border:1px solid var(--rooms-line);
	border-radius:var(--rooms-radius);
	background:#fff;
	overflow:hidden;
}

/* ===== header tím (khối riêng) ===== */
.sp-rooms .room-hd{
	background:var(--brand); color:#fff;
	padding:10px 14px;
	display:flex; justify-content:space-between; align-items:center;
	border-radius:12px 12px 0 0;
}
.sp-rooms .room-ttl{ margin:0;  font-weight:400 }
.sp-rooms .room-hd-meta{ display:flex; gap:10px; flex-wrap:wrap; }
.sp-rooms .room-chip{
	display:inline-flex; align-items:center; gap:6px;
	padding:4px 10px; border-radius:999px; background:rgba(255,255,255,.14);
	font-size:13px;
}

/* ===== body grid (đặt grid 4 cột tại đây) ===== */
.sp-rooms .room-body{
	display:grid; gap:var(--rooms-gap);

	padding:12px;
}
.sp-rooms .room-col{ padding:0 12px; }

/* responsive */
@media(max-width:1100px){
	.sp-rooms .room-body{ grid-template-columns:1fr; }
	.sp-rooms .room-col{ padding:0; }
}

/* ===== media ===== */
.sp-rooms .room-col--media .room-cover img{
	width:100%; height:340px; object-fit:cover; border-radius:12px; display:block;
}
.sp-rooms .room-col--media .room-cover.ph{
	display:block; width:100%; height:340px; border-radius:12px; background:#f5f6fa;
}
.sp-rooms .room-thumbs{ display:flex; gap:8px; margin-top:8px; overflow:auto; padding-bottom:2px; }
.sp-rooms .room-thumb img{ width:100px; height:70px; object-fit:cover; border-radius:8px; display:block; }

/* ===== sections common ===== */
.sp-rooms .room-sec-ttl{ font-weight:400; margin-bottom:8px; color:var(--ink); }
.sp-rooms .muted{ color:var(--muted); font-size:13px; }

/* features */
.sp-rooms .room-feats{ display:flex; flex-wrap:wrap; gap:8px; }
.sp-rooms .room-feat{
	background:#f3f4f6; border:1px solid #e5e7eb; color:#374151;
	padding:6px 12px; border-radius:999px; font-size:14px; line-height:1.2;
}

/* beds: icon ngang, text dưới */
.sp-rooms .room-beds-mini .beds-ul{
	display:flex; flex-wrap:wrap; gap:16px 20px;
	margin:8px 0 0; padding:0; list-style:none;
}
.sp-rooms .room-beds-mini .beds-ul li{
	display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center;
}
.sp-rooms .room-beds-mini .beds-ul .bed-icons{
	display:flex; align-items:center; justify-content:center; gap:6px; line-height:0;
}
.sp-rooms .room-beds-mini .beds-ul img{ width:26px; height:26px; object-fit:contain; display:block; }
.sp-rooms .room-beds-mini .beds-ul .bed-title{ font-size:13px; line-height:1.3; color:#374151; }
.sp-rooms .room-beds-mini .beds-ul .bed-dot{ display:none; }

/* price */
.sp-rooms .room-col--price{ align-self:start; }
.sp-rooms .room-price{ font-size:20px; font-weight:800; color:#c2185b; }

.sp-rooms .room-book-btn{
	display:inline-flex; align-items:center; justify-content:center;
	background:#111827; color:#fff; text-decoration:none; padding:10px 14px; border-radius:10px; font-weight:700;
}
.room-hot{
	display:flex; align-items:center; gap:10px;
	padding:12px 14px;
	background:#FFF7E6;                 /* vàng nhạt */
	color:#B45309;                       /* cam nâu */
	border:1px solid #FFE3B3;            /* viền nhẹ */
	border-radius:12px;
	line-height:1.5;
	font-size:13px;
	margin:10px 0 12px;                  /* tách với nút dưới */
}
.room-hot .hot-ic{
	width:18px; height:18px; flex:0 0 18px;
	object-fit:contain;
	filter: drop-shadow(0 0 0 rgba(0,0,0,0)); /* tránh viền lạ */
}
.room-hot .hot-text{ display:block; }

/* (tùy chọn) nếu card chưa đủ cao, thêm min-height nhẹ cho hàng */
.sp-rooms .room-row{ min-height: 260px; } /* chỉnh theo layout của bạn */
/* popover “(xem chi tiết)” */
.cap-more{ color:#fff; text-decoration:underline; opacity:.95; }
.cap-pop{ position:absolute; z-index:9998; }
.cap-pop[hidden]{ display:none; }
.cap-pop .cap-pop-inner{
	background:#1e1a63; color:#fff; font-size:13px; line-height:1.5;
	padding:8px 10px; border-radius:10px; box-shadow:0 6px 20px rgba(0,0,0,.18);
	max-width:460px; position:relative;
}
.cap-pop .cap-pop-inner::after{
	content:""; position:absolute; left:22px; bottom:-10px;
	border:6px solid transparent; border-top-color:#1e1a63;
}
/* bỏ transform lệch vị trí (JS đã tính top/left) */
.cap-pop{ transform:none; }

/* giúp thumbnail click được & không bị lớp khác đè */
#pg-viewer .pgv-thumbs{position:relative;z-index:5;background:#fff;padding:8px 12px;overflow-x:auto;white-space:nowrap}
#pg-viewer .pgv-stage{position:relative;z-index:1}
#pg-viewer .pgv-top{position:relative;z-index:6}
html.pg-no-scroll, body.pg-no-scroll{overflow:hidden !important}


/* =========================================================
ROOM POPUP – COMPACT FINAL
========================================================= */

/* Container */
.roomv{position:fixed;inset:0;z-index:9999}
.roomv[hidden]{display:none!important}
.roomv-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.roomv-wrap{
	position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
	width:min(1040px,92vw);height:min(510px,88vh);
	background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.25);
	display:flex;flex-direction:column;overflow:hidden
}
.roomv-x{position:absolute;right:12px;background:0;border:0;font-size:26px;line-height:1;color:#111;cursor:pointer}

/* Grid */
.roomv-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:10px;padding:12px;height:100%;z-index: 9999;}
@media(max-width:1000px){.roomv-grid{grid-template-columns:1fr}.roomv-wrap{width:94vw;height:min(86vh,640px)}}
@media (max-width: 640px) {
	.roomv-grid {
		display: block;
		height: 90vh !important;
		overflow-y: scroll !important;
	}
}

/* ---------- Left: Media ---------- */
.roomv-left{display:flex;flex-direction:column;min-height:0}
.roomv-stage{
	position:relative;flex:1;border-radius:12px;overflow:hidden;
	display:flex;align-items:center;justify-content:center
}

/* Nav arrows (centered) */
.roomv-prev,.roomv-next{
	position:absolute;top:50%;transform:translateY(-50%);
	;color:#fff;border:2px solid #fff;
	width:38px;height:38px;border-radius:50%;font-size:25px;line-height:1;
	display:flex;align-items:center;justify-content:center;cursor:pointer;
	box-shadow:0 2px 8px rgba(0,0,0,.25);z-index:2;transition:background .2s,transform .2s
}
.roomv-prev{left:10px}.roomv-next{right:10px}
.roomv-prev:hover,.roomv-next:hover{background:#111b44;transform:translateY(-50%) scale(1.05)}


.roomv-thumbs img{width:70px;height:60px;object-fit:cover;border-radius:8px;display:block;border:2px solid transparent}
.roomv-thumbs img.active{border-color:#c2185b}

/* ---------- Right: Info (3 panels) ---------- */
.roomv-right{display:flex;flex-direction:column;height:100%;min-height:0}
.roomv-panel-top{flex:0 0 auto;margin-bottom:8px}
.roomv-ttl{margin:0 0 6px;font-size:16px;font-weight:700;color:#19254F;line-height:1.3}

/* meta row */
.roomv-meta3{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px}
.roomv-meta3 .meta-chip{
	display:inline-flex;align-items:center;gap:6px;background:#f8fafc;border:1px solid #e5e7eb;
	color:#111827;padding:6px 10px;border-radius:999px;font-size:12px;line-height:1
}
.roomv-meta3 img{width:14px;height:14px;object-fit:contain}

/* Mid: scroll content */
.roomv-panel-mid{
	flex:1 1 auto;min-height:0;padding-right:6px;
	display:flex;flex-direction:column;gap:10px;border:0
}
.roomv-panel-mid::-webkit-scrollbar{width:6px}
.roomv-panel-mid::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}

/* Only description has a box */
/* FORCE giữ khung mô tả + chữ 13px */
.roomv .roomv-panel-mid .roomv-box.roomv-desc{
	font-size:13px;
	line-height:1.55;
	padding:8px 10px;
	border:1px solid #FFF7E6 !important;   /* đường viền */
	border-radius:10px;
	/* có thể bỏ nếu không cần */

	display:block;
	width:100%;
	background: #FFF4FB;
}

/* Nếu vẫn chưa thấy viền rõ, dùng viền đậm hơn một chút: */
.roomv .roomv-panel-mid .roomv-box.roomv-desc{
	box-shadow: inset 0 0 0 1px #d1d5db; /* viền “ảo” chống bị override */
}


.roomv-box-ttl{font-weight:700;margin:8px 0 6px;color:#19254F;font-size:15px}

/* Lists */
.roomv-feats,.roomv-beds{margin:0;padding-left:18px}
.roomv-feats li,.roomv-beds li{line-height:1.6;font-size:13px;color:#111;margin-bottom: 6px}

/* Amenities repeater */
.roomv-amenities{display:flex;flex-direction:column;gap:10px}
.roomv-amen-item{display:flex;align-items:flex-start;gap:10px}
.roomv-amen-icon img{width:24px;height:24px;object-fit:contain}
.roomv-amen-title{font-weight:600;margin-bottom:2px}
.roomv-amen-text{color:#374151;font-size:14px;line-height:1.4}

/* Bottom: Book button (stays at bottom via flex) */
.roomv-panel-btm{margin-top:12px;flex:0 0 auto}
.roomv-panel-btm .roomv-book{
	display:block;width:100%;text-align:center;padding:12px 14px;border-radius:10px;
	background:#e11d48;color:#fff;font-weight:700;text-decoration:none;transition:background .2s
}
.roomv-panel-btm .roomv-book:hover{background:#c2185b}

/* Small screens */
@media(max-width:768px){
	.pg-topbar {
		justify-content: flex-start;
	}
	.sp-rooms .room-feats {
		flex-wrap: wrap;
		align-items: flex-start;
	}
	.room-col--price .room-book-btn {
		margin-top: 0 !important;
	}
	.roomv-right{height:auto}.roomv-panel-mid{max-height:100%}
}

.roomv-grid {
	padding-bottom: 60px;
}
/* --- POPUP MEDIA: ép ảnh fill khung, không còn viền đen --- */
.roomv-stage{
	position: relative;
	flex: 1 1 auto;
	width: 100%;
	height: 60%;

	border-radius: 12px;
	overflow: hidden;
	display: flex;
	align-items: stretch;   /* quan trọng: con cao = cha */
	justify-content: stretch;
	padding: 0;
	margin: 0;
	line-height: 0;        /* diệt kẽ hở baseline 1-4px của ảnh inline */
}

/* XÓA hết giới hạn cũ rồi ép fill */
.roomv-img{
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;   /* lấp đầy khung, không méo tỉ lệ */
	object-position: center center !important;
	display: block !important;
	border-radius: 5px;            /* trùng bán kính với stage để không lộ nền */
	background: #000;
	image-rendering: auto;          /* ảnh photo mượt, không răng cưa */
}
/* Thêm dấu tích V cho tiện ích */
.roomv-feats li {
	position: relative;
	list-style: none;
	padding-left: 20px; /* chừa chỗ cho icon */
}

.roomv-feats li::before {
	content: "✔"; /* dấu tích */
	position: absolute;
	left: 0;
	top: 0;
	color: #16a34a; /* màu xanh đẹp */
	font-size: 14px;
	line-height: 1.4;
}


/* Nếu theme cũ còn rule kiểu .pgv-img {...} thì chặn luôn */
.pgv-img{ width:100% !important; height:100% !important; }
/* ===========================
ROOMS — COMPACT OVERRIDES
(giữ full width, giảm chiều cao)
=========================== */

/* giảm khoảng cách tổng thể trong card */
.sp-rooms { --rooms-gap: 12px; }

/* header gọn hơn */
.sp-rooms .room-hd{
	padding: 8px 12px !important;
}
.sp-rooms .room-ttl{ font-size: 16.5px !important; }

/* TĂNG cột Tiện ích, GIẢM cột Giường & Giá
media | features | beds | price */
.sp-rooms .room-body{
	grid-template-columns: 360px 1.5fr 0.5fr 240px !important;
	gap: var(--rooms-gap) !important;
	padding: 8px !important;
	margin-left:-12px;
}

/* MEDIA: hạ chiều cao ảnh + thumb nhỏ hơn để giảm chiều cao khung */
.sp-rooms .room-col--media .room-cover img{
	height: 225px !important;   /* trước: 340px */
	border-radius: 5px !important;
}
.sp-rooms .room-col--media .room-cover.ph{
	height: 220px !important;
	border-radius: 10px !important;
}
.sp-rooms .room-thumbs{
	gap: 4px !important;
	margin-top: 4px !important;
	padding-bottom: 0 !important;
}
.sp-rooms .room-thumb img{
	width: 100px !important;
	height: 58px !important;
	border-radius: 5px !important;
}

/* FEATURES (Tiện ích): cho nhiều chỗ hơn + chip gọn để không kéo dài dọc */
.sp-rooms .room-sec-ttl{ margin-bottom: 14px !important; }
.sp-rooms .room-feats{ gap: 6px !important; }
.sp-rooms .room-feat{
	padding: 5px 10px !important;
	font-size: 13px !important;
	line-height: 1.15 !important;
}

/* BEDS: thu nhỏ icon + siết khoảng cách để cột thấp hơn */
.sp-rooms .room-beds-mini .beds-ul{
	gap: 12px 16px !important;
	margin: 6px 0 0 !important;
}
.sp-rooms .room-beds-mini .beds-ul img{
	width: 22px !important;   /* trước: 26px */
	height: 22px !important;
}
.sp-rooms .room-beds-mini .beds-ul .bed-title{
	font-size: 12px !important;
	line-height: 1.2 !important;
}

/* PRICE: thu nhỏ chữ + siết margin để không làm cột cao */
.sp-rooms .room-col--price{ align-self: start !important; }
.sp-rooms .room-price{
	font-size: 18px !important;   /* trước: 20px */
	font-weight: 800;
}

.sp-rooms .room-book-btn{
	margin-top: 8px ;   /* trước: 10px */
	padding: 16px 14px !important;
	border-radius: 9px !important;
	font-weight: 400;
	font-size: 15px !important;
}
.room-book-btn {
	transition: transform .25s ease, box-shadow .25s ease;
}

.room-book-btn:hover {
	transform: translateY(-3px); /* nảy nhẹ lên */
	box-shadow: 0 6px 18px rgba(0,0,0,.15); /* đổ bóng mềm cho sang */
}

/* Beds row: icons ngang, chữ bên dưới */
.room-beds-mini{
	display:flex; flex-direction:column; align-items:center; gap:6px;
}
.bed-icons{
	display:flex; align-items:center; gap:6px; flex-wrap:wrap;
}
.bed-icons img,
.bed-icons .bed-ic{
	width:22px; height:auto !important; display:inline-block; vertical-align:middle;
}
.bed-text{
	font-size:14px; line-height:1.5; text-align:center; color:#111;
}

/* Xoá style cũ nếu còn */
.beds-ul, .bed-li, .bed-title{ all: unset; display: contents; }

/* CAPTION POPOVER: giữ nguyên vị trí, gọn lại chút */
.cap-pop .cap-pop-inner{
	font-size: 12.5px !important;
	padding: 7px 9px !important;
	max-width: 420px !important;
}
.cap-pop {
	transform: translateY(-10px) !important; /* Đẩy lên 30px */
}

/* RESPONSIVE: vẫn xếp 1 cột ở <1100px nhưng giữ ảnh thấp để tổng chiều cao nhỏ */
@media(max-width:1100px){
	.sp-rooms .room-body{
		grid-template-columns: 1fr !important;
		gap: 10px !important;
		padding: 10px !important;

	}
	.sp-rooms .room-col--media .room-cover img,
	.sp-rooms .room-col--media .room-cover.ph{
		height: 230px !important; /* giảm thêm trên mobile/tablet */
	}
}
.roomv-panel-btm{
	display: flex;
	justify-content: center;
}

/* ===== Divider cho danh sách phòng (sp-rooms) ===== */
/* ===== Chia layout phòng rõ ràng – kẻ dọc + kẻ ngang ===== */
.sp-rooms .room-card {
	border-bottom: 2px solid #e5e5e5;
	padding-bottom: 18px;
	margin-bottom: 18px;
	border-radius: 0;
}

.sp-rooms .room-body {
	position: relative;

}

/* Kẻ dọc chia cột */
.sp-rooms .room-body::before,
.sp-rooms .room-body::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 2px;
	background: #e5e5e5;
}

/* sau ảnh */
.sp-rooms .room-body::after { right: 250px; }  /* trước giá */

/* Kẻ giữa Tiện ích | Giường ngủ */
.sp-rooms .room-col--beds {
	position: relative;
}
.sp-rooms .room-col--beds::before {
	content: "";
	position: absolute;
	left: -10px;
	top: 0;
	bottom: 0;
	width: 2px;
	background: #e5e5e5;
}

/* Ẩn đường kẻ khi về mobile */
@media (max-width: 1100px) {
	.sp-rooms .room-body::before,
	.sp-rooms .room-body::after,
	.sp-rooms .room-col--beds::before {
		display: none;
	}
}

.sp-rooms .room-col--beds .room-sec-ttl {
	text-align: center;
}
.sp-rooms .room-col--price .room-price-top{
	text-align: center;

}
/*cap xem chi tiet*/
.cap-more:hover,
.cap-more:focus,
.cap-more:active {
	color: #fff !important; /* Giữ trắng khi hover */
	text-decoration: underline !important; /* Không đổi style */
}
/* đảm bảo các cột trong 1 hàng kéo cao bằng nhau */
.room-row .room-body{ align-items:stretch; }

/* cột Giá phòng là flex dọc */
.room-col--price {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	justify-content: space-between;
}


/* khoảng cách nhẹ giữa badge và nút */
.room-col--price .room-book-btn{ margin-top:8px; }
.room-foot {
	display: flex;
	align-content: space-between;
	justify-content: center;
	flex-wrap: wrap;
}
/*nút giá*/
button.room-book-btn.js-open-quote {
	background: #1A2754;
}
/* ====== POPUP YÊU CẦU BÁO GIÁ (CF7) ====== */
/* ===== POPUP BÁO GIÁ ===== */
#rq-popup {display:block;}
.rqp[hidden]{display:none!important;}
.rqp{
	position:fixed; inset:0; z-index:9999;
	font-family:inherit;
}
.rqp-backdrop{
	position:absolute; inset:0;
	background:rgba(0,0,0,.55);
}
.rqp-wrap{
	position:absolute;
	left:50%; top:50%;
	transform:translate(-50%, -50%);
	width:750px !important;
	height:455px !important;
	max-width:750px;
	max-height:455px;
	background:#fff;
	border-radius:10px;
	overflow:hidden;
	display:flex;
	flex-direction:column;
	box-shadow:0 20px 80px rgba(0,0,0,.35);
}



/* ===== Header ===== */
.rqp-head{
	padding:10px 14px;
	border-bottom:1px solid #eee;
}
.rqp-title{
	font-size:17px; margin:0; font-weight:700;
}
.rqp-note{
	font-size:12px; margin:3px 0 0; color:#666;
}

/* ===== Body 2 Cột ===== */
.rqp-grid{
	flex:1;
	display:grid;
	grid-template-columns:1fr 1fr;
	height:100%;
}
.rqp-left{
	border-right:1px solid #eee;
	padding:12px;
	overflow-y:auto;
}
.rqp-right{
	padding:12px;
	overflow-y:auto;
}

/* ===== FORM LEFT ===== */
.rqp .wpcf7 form{
	display:flex;
	flex-direction:column;
	gap:8px;
}
.rqp .wpcf7 input,
.rqp .wpcf7 textarea{
	width:100%;
	padding:6px 10px;
	font-size:13px;
	border:1px solid #ddd;
	border-radius:6px;
	outline:none;
}
.rqp .wpcf7 textarea{
	min-height:40px;
	max-height:65px;
	resize:vertical;
}
.rqp .cf7-date-wrap{
	display:flex;
	gap:8px;
}
.rqp .wpcf7 input[type="submit"]{
	margin-top:4px;
	background:#19254F;
	color:#fff;
	border:none;
	padding:9px;
	border-radius:6px;
	font-weight:600;
	cursor:pointer;
}
.rqp .wpcf7 input[type="submit"]:hover{
	background:#111c3a;
}
.rqp .cf7-quote label {
	font-size:13px;
}
/* ===== CHỈ SỬA PHẦN NGÀY TRONG POPUP BÁO GIÁ ===== */
/* Đặt 2 ô ngày nằm ngang và chia 50/50 */
.rqp .cf7-date-wrap{
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	margin-bottom:15px;

}

/* CF7/Elementor hay tự bọc <p> và chèn <br> → ép bỏ ảnh hưởng */
.rqp .cf7-date-wrap > p{
	margin: 0 !important;
	display: contents !important;   /* p “trong suốt”, không phá grid */
}
.rqp .cf7-date-wrap br{ display: none !important; }

/* Ô input full chiều rộng mỗi cột */
.rqp .cf7-date-wrap .wpcf7-form-control-wrap{
	display: block !important;
	width: 100% !important;
}
.rqp .cf7-date-wrap input[type="date"]{
	width: 100% !important;
	height: 40px;                   /* đồng bộ chiều cao */
}

/* (tuỳ chọn) mobile rất hẹp thì xếp dọc */
@media (max-width: 480px){
	.rqp .cf7-date-wrap{ grid-template-columns: 1fr !important; }
}

/* ===== CHỈ HIỆN VIỀN ĐỎ KHI LỖI - ẨN THÔNG BÁO ===== */

/* Ẩn hẳn text báo lỗi dưới mỗi ô */
.rqp .wpcf7-not-valid-tip {
	display: none !important;
}

/* Ẩn thông báo chung của CF7 */
.rqp .wpcf7-response-output {
	display: none !important;
}

/* Chỉ viền đỏ nhẹ khi lỗi */
.rqp .wpcf7-not-valid {
	border-color: #e63946 !important;
	box-shadow: 0 0 0 1px rgba(230,57,70,0.25) !important;
}


/* ===== RIGHT ROOM INFO ===== */
.rqp-room-img-wrap{
	width:100%;
	height:200px;
	border-radius:8px;
	overflow:hidden;
	background:#f2f2f2;
	margin-bottom:10px;
}
.rqp-room-img{
	width:100%; height:100%; object-fit:cover;
}
.rqp-room-name{
	font-weight:600;
	font-size:14px;
	margin-bottom:6px;
}
.rqp-meta{
	display: flex !important;
	flex-direction: column !important;
	font-size:13px;
	margin-left:-40px;

}

.rqp-meta li{
	display: block !important;
}

.rqp-meta li::after{
	display: none !important;
}
/* Fix nút đóng bị lệch + mờ */
/* Nút đóng gọn đẹp */
/* Chỉ giữ mỗi dấu X, bỏ nền - bỏ khung */
/* Nút đóng popup – tối giản */
.rqp-x{
	position: absolute;
	top: 10px;
	right: 12px;
	background: none !important;
	border: none !important;
	padding: 0;
	margin: 0;
	font-size: 35px; /* chỉnh size tại đây */
	font-weight: 400;
	color: #000 !important; /* màu đen */
	line-height: 1;
	cursor: pointer;
}



#rq-popup .rqp-meta li {
	position: relative;
	padding-left: 14px; /* Giảm khoảng cách thụt vào */
	margin-left: 0; /* đảm bảo không bị lệch */
}

#rq-popup .rqp-meta li::before {
	content: "●";
	position: absolute;
	left: 0; /* Đẩy bullet sát trái */

	font-size: 10px;
	color: #111;
}
/* Địa chỉ cụ thể trong popup báo giá – cho phép xuống dòng */
#rq-popup .rqp-hotel-addrline{
	display:flex;
	align-items:flex-start;   /* icon bám trên cùng, chữ bọc xuống dưới */
	gap:8px;
	margin-top:6px;
	min-width:0;
}

#rq-popup .rqp-hotel-addrline img{
	flex:0 0 14px;            /* cố định rộng icon */
	margin-top:2px;           /* căn nhẹ cho đẹp */
}

#rq-popup .rqp-addr-text{
	font-size:12px;
	color:#111;
	/* BỎ ellipsis & cho phép wrap */
	overflow:visible;
	white-space:normal;
	word-break:break-word;     /* hoặc dùng: overflow-wrap:anywhere; */
	line-height:1.4;
	margin-bottom:5px;
}
.rqp-hotel-name {
	font-weight: 600;
}
/* Căn thẳng hàng meta bên phải popup */
/* Căn thẳng hàng gọn đẹp cho meta */
.rqp-meta {
	list-style: none;
	margin: 8px 0 0;
	padding: 0;
}

.rqp-meta li {
	display: flex;
	align-items: center;
	font-size: 13px;
	color: #333;
	line-height: 1.5;
}

/* Cột label bên trái có cùng độ rộng để thẳng hàng */
.rqp-meta li .label {
	display: inline-block;
	width: 60px; /* chỉnh độ rộng cột label ở đây */

}

/* Giá trị bên phải */
.rqp-meta li span {
	flex: 2;
}
/* Tăng khoảng cách sau dấu ":" */
.rqp-meta li span:not(.label) {
	margin-left: 6px; /* tăng số này nếu muốn rộng hơn */
}



/* ===== Responsive ===== */
@media(max-width:768px){
	.rqp-wrap{
		width:92vw !important;
		height:auto !important;
		max-height:92vh;
	}
	.rqp-grid{
		grid-template-columns:1fr;
	}
	.rqp-left{border-right:none; border-bottom:1px solid #eee;}
}
/* ===== GIỮ PHÒNG (thay cho giá) ===== */
/* ==== GIỮ PHÒNG: icon trên, chữ giá dưới ==== */
.room-col--price{display:flex;flex-direction:column;justify-content:space-between}

.room-hold-top{
	display:flex;flex-direction:column;align-items:center;
	gap:10px; padding-top:2px; 
}

.room-hold-ttl{
	font-weight:400;              /* bỏ in đậm */
	font-size:17px;
	margin-top:-2px;              /* nằm lui lên */
	color:#0f172a;
}

.room-dealline{
	display:flex; flex-direction:column; align-items:center; gap:6px; /* icon trên, text dưới */
}

.room-gift-ic{width:26px;height:26px}

.room-deal-text{
	font-size:15px; font-weight:400; color:#fb923c; line-height:1.2;
}

/*cf7*/
.rqp .rqp-toast{
	position:absolute; left:50%; top:10px; transform:translate(-50%,-6px);
	background:#16a34a; color:#fff; padding:8px 12px; border-radius:999px;
	font-size:13px; font-weight:600; box-shadow:0 8px 24px rgba(0,0,0,.15);
	opacity:0; transition:opacity .18s ease, transform .18s ease; pointer-events:none;
}
.rqp .rqp-toast.is-show{ opacity:1; transform:translate(-50%,0); }

/* Close button in room popup: always visible styles */
.roomv-x{
	font-size:35px;
}

.cap-pop-inner.content ul {
	margin-left: 0;
	padding-left: 16px; /* chỉnh khoảng cách dấu chấm tròn */
}
.roomv-box.roomv-desc ul {
	margin-left: 0;
	padding-left: 18px;
	list-style: disc;
}

.roomv-box.roomv-desc li {
	margin-bottom: 6px;
	line-height: 1.5;
	color: #333;
}

.cap-pop-inner.content li {
	margin-bottom: 6px;
	line-height: 1.5;
}

.room-row {
	border: 4px solid transparent;   /* giữ chỗ để không giật layout */
	border-radius: 10px;
	transition: border-color .2s ease;
}

.room-row:hover {
	border-color: #251A63;           /* xám trung tính; đổi #cbd5e1 nếu muốn rõ hơn */
	background: transparent;
	box-shadow: none;
	transform: none;
}


/* Ẩn thông báo lỗi dưới nút gửi */
.bk-fallback.bk-cf7 .wpcf7-response-output {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}
/* ===== Style thông báo CF7 ===== */
.wpcf7 form.sent .wpcf7-response-output {
	background: #16A34A !important;       /* xanh nhạt */
	border: 1px solid #91d5ff !important;  /* viền xanh */
	color: #fff !important;            /* chữ xanh đậm */
	border-radius: 8px !important;        /* bo góc mềm */
	padding: 10px 14px !important;
	font-size: 14px !important;
	margin-top:2px;
}

/* Thông báo lỗi chung */
.wpcf7 form.invalid .wpcf7-response-output {
	background: #fff2f0 !important;
	border: 1px solid #ffccc7 !important;
	color: #a8071a !important;
	border-radius: 8px !important;
	padding: 10px 14px !important;
	font-size: 14px !important;
	margin-top: -10px !important;
}

/* Ẩn khoảng trống khó chịu mặc định */

/*sản phẩm liên quan*/
.sp-woo-related .sp-sec-title{
	text-align:center;
	margin-bottom:20px;
	font-size:23px;
}
/* Tiện nghi phòng */
.roomv-box .roomv-box-ttl{
	margin-bottom:20px;
}
.roomv-box .amen-ttl{
	font-weight:400;

}
.roomv-box ul.amen-list {
	margin-left: 18px;
	padding-left: 0;
}
.roomv-box .roomv-amenities{
	gap:0px;
}
.rqp .cf7-quote label {
	margin-top: 14px;
	display: block;
	margin-bottom:10px;
}
.rqp .cf7-quote label:first-of-type {
	margin-top: 0;
}

/* Bỏ nền trắng + viền khung booking-box */
.booking-box.bk-fallback.bk-cf7 {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
}
/* Mobile ≤640px */


.svc-grid{
	display:grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 14px 28px;  /* hàng 14px, cột 28px */
}
@media (max-width: 640px){
	.svc-grid{ 
		gap:12px 16px; }
}

.svc-item{ 
	display:grid; 
	grid-template-columns: 26px 1fr; 
	align-items: center;
	column-gap:10px;
	min-height:30px;
}
.svc-ic{ 
	width:26px; height:26px; display:flex; align-items:center; justify-content:center;
}
.svc-ic img, .svc-ic .svc-ic-img{
	display:block; width:22px; height:22px; object-fit:contain;
}
.svc-text{
	font-size:16px; line-height:1.45; color:#111;
	/* nếu muốn “đậm hơn” giống caption mẫu: */
	/* font-weight:600; */
}

/* ============================================
MOBILE TWEAK PACK (≤640px)
- Tắt Viewer (PGV) trên mobile
- Popup Grid = flex: 1 ngang + 2 dọc
- Q&A wrap tiêu đề + caret phải
============================================ */
@media (max-width:640px){


	/* Ngăn layout rung lắc nếu lỡ thêm class no-scroll */

	/* ===== 2) POPUP GRID → FLEX LẶP MẪU 1 NGANG + 2 DỌC =====
	Pattern: 1 (full ngang) → 2 (nửa) → 1 (full) → 2 (nửa) ...
	*/
	#pg-lightbox .pg-grid-only{
		display:flex !important;
		flex-wrap:wrap !important;
		gap:10px !important;
		padding:10px 12px 16px !important;
	}
	#pg-lightbox .pg-grid-only .pg-grid-item{
		display:block !important;
		border-radius:14px !important;
		overflow:hidden !important;
		/* mặc định là ảnh dọc (nửa hàng) */
		flex:0 0 calc(50% - 5px) !important;
		aspect-ratio: 3 / 4 !important;
	}
	/* Mỗi phần tử thứ 1 trong nhóm 3 sẽ là ảnh ngang full hàng */
	#pg-lightbox .pg-grid-only .pg-grid-item:nth-child(3n+1){
		flex-basis:100% !important;
		aspect-ratio: 16 / 9 !important; /* ảnh ngang */
	}
	#pg-lightbox .pg-grid-only .pg-grid-item img{
		width:100% !important;
		height:100% !important;
		object-fit:cover !important;
		display:block !important;
	}

	/* ===== 3) Q&A – TIÊU ĐỀ XUỐNG DÒNG, CARET BÊN PHẢI ===== */
	.qna-q{
		display:flex !important;
		align-items:flex-start !important;
		gap:10px !important;
		padding:12px 14px !important;
		white-space:normal !important;       /* cho phép xuống dòng */
		word-break:break-word !important;    /* bọc từ dài */
	}
	/* Nếu tiêu đề nằm trong thẻ span/strong/b bất kỳ */
	.qna-q > span,
	.qna-q > strong,
	.qna-q > b{
		flex:1 1 auto !important;
		white-space:normal !important;
		overflow:visible !important;
	}
	/* Icon caret luôn ép về phải */
	.qna-caret{
		margin-left:auto !important;
		flex:0 0 auto !important;
	}

	/* Giảm padding câu trả lời cho gọn màn nhỏ */
	.qna-a{
		padding:12px 14px !important;
	}

	/* ===== 4) MỘT VÀI NÉT NHỎ CHO MOBILE “MƯỢT” HƠN ===== */
	/* Tabs không blur + sát nền trắng (bạn đã có, nhấn mạnh thêm) */
	.sp-tabs{
		-webkit-backdrop-filter:none !important;
		backdrop-filter:none !important;
		background:#fff !important;
		gap:12px !important;
		padding:8px 10px !important;
	}

	/* Gallery ngoài: bớt cao ảnh con cho đỡ dài trang */
	.pg-side{ gap:8px !important; }
	.pg-main, .pg-item{ border-radius:12px !important; }
}
/* ===== FIX “VŨNG TÀU” CUỐI TRANG CHỈ BÊN MOBILE ===== */
@media (max-width:640px){
	.room-foot, .footer-cta, .page-end-cta{
		display:flex;
		flex-direction:column;
		align-items:center;
		justify-content:center;
		gap:6px;
		text-align:center;
		background:#e8eef7; /* nền sáng nhẹ */
		padding:16px 12px;
		margin-top: -5px;
		border-radius:12px;
	}

	/* Nút “Vũng Tàu” */
	.room-foot .city-pill,
	.footer-cta .city-pill,
	.page-end-cta .city-pill{
		display:inline-flex;
		align-items:center;
		justify-content:center;
		padding:10px 20px;
		background:#1A2754;
		color:#fff !important;
		font-weight:700;
		border-radius:999px;
		min-width:120px;
		text-decoration:none;
		position:static !important;
	}

	/* Text bên dưới */
	.room-foot p,
	.footer-cta p,
	.page-end-cta p{
		margin:0;
		color:#111;
		font-size:14px;
		line-height:1.6;
	}
}
/* ===== HẠNG PHÒNG – MOBILE: BEDS & HOLD TRONG 1 KHUNG ===== */
@media (max-width:640px){
	/* Bố cục 2 cột cho hàng trên, hàng dưới full-width */
	.room-body{
		display:grid;
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"media media"       /* ảnh */
			"features features" /* tiện ích ngắn */
			"beds hold"         /* hàng trên: Giường | Giữ phòng */
			"foot foot";        /* hàng dưới: banner + nút */
		column-gap: 0;        /* không có khe giữa 2 cột để dính khung */
		row-gap: 12px;
		align-items: start;
	}
	.room-col--media   { grid-area: media; }
	.room-col--features{ grid-area: features; }
	.room-col--beds    { grid-area: beds; }
	/* Biến .room-col--price thành "container trong suốt"
	để 2 phần con trở thành item của grid */
	.room-col--price   { display: contents; }
	.room-hold-top     { grid-area: hold; }
	.room-foot         { grid-area: foot; }

	/* Khung chung cho BEDS & HOLD (bo góc + viền) */
	.room-col--beds,
	.room-hold-top{
		background:#fff;
		border:1px solid var(--line,#eee);
		padding:12px 14px;
	}
	.room-col--beds{             /* nửa trái */
		border-right:none;         /* để gộp khung */
		border-radius:12px 0 0 12px;
	}
	.room-hold-top{              /* nửa phải */
		border-left:1px dashed #ddd; /* gạch dọc như ảnh */
		border-radius:0 12px 12px 0;
		display:flex; flex-direction:column; gap:6px;
		align-items:center; text-align:center;
	}

	/* Nội dung mini của BEDS */
	.room-beds-mini{display:flex;align-items:center;gap:8px}
	.bed-icons{display:flex;gap:4px}
	.bed-icons img{width:18px;height:18px}
	.bed-text{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

	/* “Giữ phòng” */
	.room-hold-ttl{font-size:14px;font-weight:700}
	.room-dealline{display:flex;align-items:center;gap:6px}
	.room-deal-text{font-size:12px;color:#f97316}

	/* Hàng dưới: banner + nút full-width */
	.room-hot{
		margin:0 0 10px;
		padding:10px 12px;
		border:1px solid #fde68a; background:#fff7ed;
		border-radius:10px; font-size:12px; line-height:1.4;
		display:flex; align-items:center; gap:8px;
	}
	.room-book-btn{
		width:100%; padding:12px 14px; border-radius:12px;
		background:#19254F; color:#fff; font-weight:700; font-size:14px;
	}

	/* Ảnh/Thumbs gọn lại (tuỳ chọn) */
	.room-cover img{width:100%;height:180px;object-fit:cover;border-radius:12px}
	.room-thumbs{display:flex;gap:6px;margin-top:6px}
	.room-thumb img{width:72px;height:56px;object-fit:cover;border-radius:8px}
}
/* Fix lề trái bị dính ở mobile */
@media (max-width: 640px){
	.sp-rooms .room-body{
		margin-left: 0 !important;     /* huỷ margin âm */
		padding: 12px !important;       /* có gutter quanh khung */
	}
}

/* Tuỳ chọn: tạo khoảng thở nhẹ giữa khung và mép card khi mobile */
@media (max-width: 640px){
	.sp-rooms .room-row{ padding: 0 2px; }   /* rất nhẹ, tránh “dính mép” */
}
@media (max-width: 640px){ 
	/* Stack: Title trên, thông số dưới (áp dụng cho mọi màn hình) */
	.sp-rooms .room-hd{
		display:flex !important;
		flex-direction: column !important;   /* xếp dọc */
		align-items: flex-start !important;
		justify-content: flex-start !important; /* bỏ space-between */
		gap: 8px !important;
	}

	.sp-rooms .room-ttl{
		margin: 0 !important;
		line-height: 1.3 !important;
		font-weight: 700;                     /* tuỳ thích */
	}

	.sp-rooms .room-hd-meta {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 0;
		width: 100%;
		justify-content: space-between;
	}

	/* Chip thông số */
	.sp-rooms .room-chip{
		padding: 4px 10px !important;
		border-radius: 999px !important;
		background: rgba(255,255,255,.14) !important;
		font-size: 13px !important;
		line-height: 1.2 !important;
	}

}
@media (max-width:640px){
	/* Ẩn tất cả nhóm tiện ích từ nhóm thứ 2 trở đi */
	.sp-amen--outside .amen-grid.amen-collapsed .amen-col:nth-child(n+2){
		display:none!important;
	}

	/* Khi mở rộng thì hiển thị tất cả */
	.sp-amen--outside .amen-grid.amen-expanded .amen-col{
		display:block!important;
	}

	/* Thanh tiêu đề + nút “Xem tất cả” */
	.sp-amen--outside .sp-sec-title-wrap{
		display: flex;
		justify-content: space-between;
		margin-bottom: 10px;
		align-items: flex-start;
	}

	.sp-amen--outside .amen-toggle{
		font-size:14px;
		font-weight:600;
		color:#2563eb;
		background:none;
		border:0;
		cursor:pointer;
		display:flex;
		align-items:center;
		gap:4px;
		padding:0;
	}
	#amenities .amen-grid {
		max-height: 400px; /* chiều cao ban đầu */
		overflow: hidden;
		transition: max-height 0.4s ease;
	}

	#amenities.open .amen-grid {
		max-height: 100%; /* đủ lớn để mở hết */
	}

	.amen-toggle {
		cursor: pointer;
	}
	.sp-amen--outside .amen-toggle .chev{
		transition:transform .2s ease;
	}
	.sp-amen--outside .amen-grid.amen-expanded ~ .sp-sec-title-wrap .amen-toggle .chev,
	.sp-amen--outside .sp-sec-title-wrap.expanded .chev{
		transform:rotate(180deg);
	}
}
@media (max-width: 767px) {
	.sp-hi-grid {
		grid-template-columns: repeat(4, 1fr);
		display: grid;
		gap: 4px !important;
	}
	.hi-ic img {
		width: 25px;
		height: 25px;
	}
	.hi-ic {
		height: auto;
	}
	.hi-txt {
		font-size: 12px;
	}
	/* Container chính: xếp dọc và canh giữa */
	.elementor-element-43ddcd0.e-con {
		display:none;
	}

	@media (max-width: 640px) {
		.room-book-btn {
			font-size: 12px;
			margin-top: -20px;
		}

