/* ==========================================================
   Halong Cruise Booking – thẻ đặt phòng, khối hỗ trợ, popup tư vấn
   Thiết kế: Figma "Halonglanhacruises" – Trang chi tiết cruise / BOOKING CARD
   ========================================================== */

:root {
  --hlc-mau-chinh: #1a3c5e;
  --hlc-mau-nut: #1a7fc1;
  --hlc-mau-nut-dam: #156aa2;
  --hlc-mau-km: #e86346;
  --hlc-mau-xanhla: #2a9d5c;
  --hlc-mau-chu: #333333;
  --hlc-mau-chu-phu: #666666;
  --hlc-mau-nhan: #aaaaaa;
  --hlc-mau-vien: #e5e5e5;
  --hlc-mau-nen-nhat: #f7f8fa;
  --hlc-mau-loi: #c0392b;
  --hlc-font: "Inter", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --hlc-font-tieude: "Merriweather", Georgia, "Times New Roman", serif;
}

.halongcruise-chung-datphong,
.halongcruise-chung-datphong *,
.halongcruise-chung-hotro,
.halongcruise-chung-hotro *,
.halongcruise-chung-tuvanpopup,
.halongcruise-chung-tuvanpopup * {
  box-sizing: border-box;
}
.halongcruise-chung-datphong p,
.halongcruise-chung-hotro p,
.halongcruise-chung-tuvanpopup p {
  margin: 0;
  padding: 0;
}
.halongcruise-chung-datphong [hidden],
.halongcruise-chung-hotro [hidden],
.halongcruise-chung-tuvanpopup[hidden] {
  display: none !important;
}
.halongcruise-chung-datphong button,
.halongcruise-chung-hotro button,
.halongcruise-chung-tuvanpopup button,
.halongcruise-chung-datphong input[type="submit"] {
  -webkit-appearance: none;
  appearance: none;
  font-family: inherit;
  cursor: pointer;
  margin: 0;
  text-transform: none;
  letter-spacing: normal;
  box-shadow: none;
  min-height: 0;
  line-height: 1.5;
}
.halongcruise-chung-datphong img,
.halongcruise-chung-hotro img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* ===== Khung thẻ ===== */
.halongcruise-chung-datphong {
  width: 100%;
  max-width: 392px;
  background: #fff;
  border: 1px solid var(--hlc-mau-vien);
  border-radius: 10px;
  font-family: var(--hlc-font);
  font-size: 14px;
  line-height: 1.5;
  color: var(--hlc-mau-chu);
  text-align: left;
}
.halongcruise-chung-dpform {
  margin: 0;
}

/* ===== Phần đầu xanh đậm ===== */
.halongcruise-chung-dpdau {
  background: var(--hlc-mau-chinh);
  border-radius: 9px 9px 0 0;
  padding: 20px 20px 20px;
  color: #fff;
}
.halongcruise-chung-dphanhtrinh {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
  margin-bottom: 8px;
}
.halongcruise-chung-dphanhtrinh button {
  height: 33px;
  padding: 0 8px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 5px;
  background: transparent;
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.halongcruise-chung-dphanhtrinh button:hover {
  border-color: rgba(255, 255, 255, 0.7);
  color: #fff;
}
.halongcruise-chung-dphanhtrinh button[aria-pressed="true"] {
  background: #fff;
  border-color: #fff;
  color: var(--hlc-mau-chinh);
}
.halongcruise-chung-dpgia p:first-child {
  font-size: 12px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}
.halongcruise-chung-dpgia p:nth-child(2) {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 8px;
}
.halongcruise-chung-dpgia strong {
  font-family: var(--hlc-font-tieude);
  font-size: 28px;
  font-weight: 700;
  line-height: 42px;
  color: #fff;
}
.halongcruise-chung-dpgia del {
  font-size: 14px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.4);
}
.halongcruise-chung-dpgia p:last-child {
  color: rgba(255, 255, 255, 0.55);
}
.halongcruise-chung-dpkm {
  margin-top: 8px;
  padding: 6px 10px;
  border-radius: 4px;
  background: rgba(232, 99, 70, 0.85);
  text-align: center;
}
.halongcruise-chung-dpkm p {
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
  color: #fff;
}

/* ===== Thân thẻ ===== */
.halongcruise-chung-dpthan {
  padding: 20px;
}
.halongcruise-chung-formo {
  position: relative;
  margin-bottom: 12px;
}
.halongcruise-chung-formo > label {
  display: block;
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
  text-transform: uppercase;
  color: var(--hlc-mau-nhan);
  cursor: pointer;
}
.halongcruise-chung-datphong input[type="text"],
.halongcruise-chung-datphong input[type="number"],
.halongcruise-chung-datphong select,
.halongcruise-chung-dptreemnut {
  display: block;
  width: 100%;
  height: 40px;
  margin: 0;
  padding: 0 12px;
  border: 1px solid var(--hlc-mau-vien);
  border-radius: 5px;
  background: #fff;
  font-family: inherit;
  font-size: 14px;
  line-height: 38px;
  color: var(--hlc-mau-chu);
  box-shadow: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.halongcruise-chung-datphong input[type="text"]:focus,
.halongcruise-chung-datphong input[type="number"]:focus,
.halongcruise-chung-datphong select:focus,
.halongcruise-chung-dptreemnut:focus-visible,
.halongcruise-chung-dptreemnut[aria-expanded="true"] {
  outline: none;
  background-color: #fff;
  border-color: var(--hlc-mau-nut);
  box-shadow: 0 0 0 3px rgba(26, 127, 193, 0.15);
}

/* Ngày khởi hành */
.halongcruise-chung-dpngayo {
  position: relative;
}
.halongcruise-chung-dpngayo input[type="text"] {
  padding-right: 40px;
  cursor: pointer;
}
.halongcruise-chung-dpngayo input[type="text"]::placeholder {
  color: #9a9a9a;
}
.halongcruise-chung-dpngaynut {
  position: absolute;
  top: 50%;
  right: 8px;
  width: 28px;
  height: 28px;
  padding: 5px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  transform: translateY(-50%);
}
.halongcruise-chung-dpngaynut:hover {
  background: var(--hlc-mau-nen-nhat);
}
.halongcruise-chung-dpngaynut img {
  width: 18px;
  height: 18px;
}

/* Lịch popup */
.halongcruise-chung-dplich {
  position: absolute;
  z-index: 30;
  top: calc(100% + 6px);
  left: 0;
  width: 100%;
  min-width: 280px;
  padding: 12px;
  border: 1px solid var(--hlc-mau-vien);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(26, 60, 94, 0.18);
}
.halongcruise-chung-dplichdau {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.halongcruise-chung-dplichdau strong {
  font-size: 15px;
  font-weight: 600;
  color: var(--hlc-mau-chinh);
}
.halongcruise-chung-dplichdau button {
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid var(--hlc-mau-vien);
  border-radius: 6px;
  background: #fff;
  font-size: 20px;
  line-height: 28px;
  color: var(--hlc-mau-chinh);
}
.halongcruise-chung-dplichdau button:hover:not(:disabled) {
  border-color: var(--hlc-mau-nut);
  color: var(--hlc-mau-nut);
}
.halongcruise-chung-dplichdau button:disabled {
  opacity: 0.35;
  cursor: default;
}
.halongcruise-chung-dplichthu,
.halongcruise-chung-dplichngay {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 2px;
  text-align: center;
}
.halongcruise-chung-dplichthu p {
  padding: 4px 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--hlc-mau-nhan);
}
.halongcruise-chung-dplichngay button {
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  font-size: 14px;
  color: var(--hlc-mau-chu);
}
.halongcruise-chung-dplichngay button:hover:not(:disabled) {
  background: #e8f2fa;
  color: var(--hlc-mau-nut);
}
.halongcruise-chung-dplichngay button[aria-current="date"] {
  font-weight: 700;
  box-shadow: inset 0 0 0 1px var(--hlc-mau-vien);
}
.halongcruise-chung-dplichngay button[aria-pressed="true"] {
  background: var(--hlc-mau-nut);
  color: #fff;
  font-weight: 600;
}
.halongcruise-chung-dplichngay button:disabled {
  color: #c8c8c8;
  text-decoration: line-through;
  cursor: default;
}

/* Loại cabin */
.halongcruise-chung-datphong select {
  -webkit-appearance: none;
  appearance: none;
  height: 39px;
  padding-right: 36px;
  color: #1d1d1d;
  background: #fff url("../images/icons/icon-muiten-xuong.png") no-repeat right 8px center / 21px 21px;
  text-overflow: ellipsis;
  cursor: pointer;
}
.halongcruise-chung-dpgoiy p {
  margin-top: 4px;
  font-size: 12px;
  line-height: 18px;
  color: #8a8a8a;
}

/* Người lớn / Trẻ em */
.halongcruise-chung-dpkhach {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 24px;
}
.halongcruise-chung-dpkhach .halongcruise-chung-formo {
  position: static;
}
.halongcruise-chung-dpdem {
  position: relative;
  display: flex;
  align-items: center;
}
.halongcruise-chung-dpnguoilon .halongcruise-chung-dpdem input[type="number"] {
  height: 37px;
  padding: 0 40px;
  text-align: center;
  -moz-appearance: textfield;
}
.halongcruise-chung-dpdem input[type="number"]::-webkit-outer-spin-button,
.halongcruise-chung-dpdem input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.halongcruise-chung-dpdem button {
  position: absolute;
  top: 50%;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: var(--hlc-mau-nen-nhat);
  font-size: 18px;
  font-weight: 600;
  line-height: 28px;
  color: var(--hlc-mau-chinh);
  transform: translateY(-50%);
  transition: background 0.2s, color 0.2s;
}
.halongcruise-chung-dpdem button[data-dem="-1"] {
  left: 5px;
}
.halongcruise-chung-dpdem button[data-dem="1"] {
  right: 5px;
}
.halongcruise-chung-dpdem button:hover:not(:disabled) {
  background: var(--hlc-mau-nut);
  color: #fff;
}
.halongcruise-chung-dpdem button:disabled {
  opacity: 0.35;
  cursor: default;
}
.halongcruise-chung-dptreemnut {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 37px;
  text-align: left;
  cursor: pointer;
}
.halongcruise-chung-dptreemnut span {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.halongcruise-chung-dptreemnut img {
  flex: 0 0 auto;
  width: 21px;
  height: 21px;
  margin-right: -4px;
  transition: transform 0.2s;
}
.halongcruise-chung-dptreemnut[aria-expanded="true"] img {
  transform: rotate(180deg);
}

/* Popup chọn trẻ em */
.halongcruise-chung-dptreempop {
  position: absolute;
  z-index: 30;
  top: calc(100% - 6px);
  left: 0;
  right: 0;
  padding: 12px 14px;
  border: 1px solid var(--hlc-mau-vien);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(26, 60, 94, 0.18);
}
.halongcruise-chung-dptreemtieude {
  padding-bottom: 6px;
  border-bottom: 1px solid #eeeeee;
}
.halongcruise-chung-dptreemtieude strong {
  font-size: 13px;
  font-weight: 600;
  color: var(--hlc-mau-chinh);
}
.halongcruise-chung-dptreemdong {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid #f0f0f0;
}
.halongcruise-chung-dptreemten {
  min-width: 0;
}
.halongcruise-chung-dptreemten strong {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--hlc-mau-chu);
}
.halongcruise-chung-dptreemten p:last-child {
  font-size: 12px;
  line-height: 17px;
  color: #8a8a8a;
}
.halongcruise-chung-dptreemdong .halongcruise-chung-dpdem {
  flex: 0 0 112px;
}
.halongcruise-chung-dptreemdong .halongcruise-chung-dpdem input[type="number"] {
  height: 34px;
  padding: 0 34px;
  text-align: center;
  -moz-appearance: textfield;
  cursor: default;
}
.halongcruise-chung-dptreemdong .halongcruise-chung-dpdem button {
  width: 26px;
  height: 26px;
  line-height: 26px;
}
.halongcruise-chung-dptreemxong {
  padding-top: 10px;
  text-align: right;
}
.halongcruise-chung-dptreemxong button {
  height: 34px;
  padding: 0 22px;
  border: 0;
  border-radius: 6px;
  background: var(--hlc-mau-nut);
  font-size: 14px;
  font-weight: 600;
  color: #fff;
}
.halongcruise-chung-dptreemxong button:hover {
  background: var(--hlc-mau-nut-dam);
}

/* ===== Bảng giá ===== */
.halongcruise-chung-dpbang {
  padding: 16px 12px;
  border-radius: 7px;
  background: var(--hlc-mau-nen-nhat);
}
.halongcruise-chung-dpdong,
.halongcruise-chung-dptong {
  display: grid;
  grid-template-columns: minmax(0, 57%) minmax(0, 43%);
  gap: 8px;
}
.halongcruise-chung-dpdong + .halongcruise-chung-dpdong {
  margin-top: 8px;
}
.halongcruise-chung-dpdong p {
  font-size: 14px;
  line-height: 21px;
  color: var(--hlc-mau-chu-phu);
}
.halongcruise-chung-dpdong-km p {
  color: var(--hlc-mau-xanhla);
}
.halongcruise-chung-dptong {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #e8e8e8;
}
.halongcruise-chung-dptong p {
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  color: var(--hlc-mau-chinh);
}

/* Thông báo lỗi / demo */
.halongcruise-chung-dploi {
  margin-top: 12px;
  padding: 8px 12px;
  border-radius: 6px;
  background: #fdecea;
}
.halongcruise-chung-dploi p {
  font-size: 13px;
  line-height: 19px;
  color: var(--hlc-mau-loi);
}
.halongcruise-chung-dploi[data-kieu="ok"] {
  background: #e9f6ef;
}
.halongcruise-chung-dploi[data-kieu="ok"] p {
  color: #1f7a47;
}

/* Nút Đặt phòng */
.halongcruise-chung-dpgui {
  margin-top: 12px;
}
.halongcruise-chung-dpgui input[type="submit"] {
  display: block;
  width: 100%;
  height: 45px;
  padding: 0 16px;
  border: 0;
  border-radius: 7px;
  background: var(--hlc-mau-nut);
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  transition: background 0.2s, transform 0.2s;
}
.halongcruise-chung-dpgui input[type="submit"]:hover {
  background: var(--hlc-mau-nut-dam);
}
.halongcruise-chung-dpgui input[type="submit"]:active {
  transform: translateY(1px);
}

/* ===== Khối hỗ trợ [halong_hotro] ===== */
.halongcruise-chung-hotro {
  margin-top: 12px;
  font-family: var(--hlc-font);
  font-size: 14px;
  line-height: 1.5;
  color: #555555;
}
.halongcruise-chung-hotronut button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  height: 39px;
  padding: 0 16px;
  border: 1px solid var(--hlc-mau-chinh);
  border-radius: 7px;
  background: #fff;
  font-size: 14px;
  font-weight: 600;
  color: var(--hlc-mau-chinh);
  transition: background 0.2s;
}
.halongcruise-chung-hotronut button:hover {
  background: #eef3f8;
}
.halongcruise-chung-hotronut img {
  width: 16px;
  height: 16px;
}
.halongcruise-chung-hotrocamket {
  margin-top: 12px;
  text-align: center;
}
.halongcruise-chung-hotrocamket p {
  font-size: 12px;
  line-height: 18px;
  color: var(--hlc-mau-nhan);
}
.halongcruise-chung-hotrolienhe {
  margin-top: 12px;
}
.halongcruise-chung-hotrolienhe p {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 4px;
  font-size: 14px;
  line-height: 21px;
}
.halongcruise-chung-hotrolienhe p + p {
  margin-top: 8px;
}
.halongcruise-chung-hotrolienhe img {
  width: 16px;
  height: 16px;
  margin-right: 4px;
}
.halongcruise-chung-hotrolienhe strong {
  font-weight: 600;
}
.halongcruise-chung-hotrolienhe a {
  color: #555555;
  text-decoration: none;
}
.halongcruise-chung-hotrolienhe a:hover {
  color: var(--hlc-mau-nut);
}
.halongcruise-chung-hotrohuyhieu {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 11px;
  margin-top: 16px;
}
.halongcruise-chung-hotrohuyhieuitem {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 68px;
  padding: 4px 6px 6px;
  border-radius: 6px;
  background: var(--hlc-mau-nen-nhat);
  text-align: center;
}
.halongcruise-chung-hotrohuyhieuitem img {
  width: 20px;
  height: 20px;
}
.halongcruise-chung-hotrohuyhieuitem p:last-child {
  margin-top: 4px;
  text-wrap: balance;
  font-size: 12px;
  line-height: 18px;
  color: #888888;
}

/* ===== Popup "Yêu cầu tư vấn" ===== */
html.halongcruise-chung-khoacuon {
  overflow: hidden;
}
.halongcruise-chung-tuvanpopup {
  position: fixed;
  z-index: 100000;
  inset: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 40px 16px;
  overflow-y: auto;
  font-family: var(--hlc-font);
  font-size: 14px;
  line-height: 1.5;
  color: #000;
}
.halongcruise-chung-tuvannen {
  position: fixed;
  inset: 0;
  background: rgba(92, 92, 92, 0.54);
  animation: hlcHien 0.2s ease;
}
.halongcruise-chung-tuvanhop {
  position: relative;
  width: 100%;
  max-width: 624px;
  margin: auto;
  padding: 24px 33px 36px;
  border-radius: 9px;
  background: #fff8f8;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
  animation: hlcTruot 0.25s ease;
}
@keyframes hlcHien {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes hlcTruot {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: none; }
}
.halongcruise-chung-tuvandong {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  font-size: 28px;
  line-height: 36px;
  color: #555;
}
.halongcruise-chung-tuvandong:hover {
  background: rgba(26, 60, 94, 0.08);
  color: var(--hlc-mau-chinh);
}
.halongcruise-chung-tuvantieude {
  margin-bottom: 18px;
  text-align: center;
}
.halongcruise-chung-tuvantieude strong {
  font-family: var(--hlc-font-tieude);
  font-size: 28px;
  font-weight: 700;
  line-height: 42px;
  color: var(--hlc-mau-chinh);
}
.halongcruise-chung-tuvantrong p {
  text-align: center;
}
.halongcruise-chung-tuvantrong a {
  color: var(--hlc-mau-nut);
  font-weight: 600;
}

/* Form tư vấn (Contact Form 7 – mẫu docs/cf7-mau-form.txt) */
.halongcruise-chung-tuvanpopup .wpcf7 form,
.halongcruise-chung-tuvanform {
  margin: 0;
}
.halongcruise-chung-tuvanform br {
  display: none;
}
.halongcruise-chung-tuvanhang {
  display: grid;
  grid-template-columns: minmax(0, 325px) minmax(0, 1fr);
  gap: 12px 23px;
  align-items: end;
  margin-bottom: 14px;
}
.halongcruise-chung-tuvanhang-ba {
  grid-template-columns: 120px minmax(0, 1fr) 171px;
  gap: 12px 18px;
}
.halongcruise-chung-tuvanform .halongcruise-chung-formo {
  margin: 0;
}
.halongcruise-chung-tuvanform .halongcruise-chung-formo > label {
  display: block;
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
  text-transform: none;
  color: #000;
}
.halongcruise-chung-tuvanform .wpcf7-form-control-wrap {
  display: block;
  position: relative;
}
.halongcruise-chung-tuvanform input[type="text"],
.halongcruise-chung-tuvanform input[type="email"],
.halongcruise-chung-tuvanform input[type="tel"],
.halongcruise-chung-tuvanform select,
.halongcruise-chung-tuvanform textarea {
  display: block;
  width: 100%;
  height: 47px;
  margin: 0;
  padding: 0 13px;
  border: 1px solid #cccccc;
  border-radius: 9px;
  background-color: #fff;
  font-family: inherit;
  font-size: 14px;
  color: #000;
  box-shadow: none;
}
.halongcruise-chung-tuvanform select {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 34px;
  background: #fff url("../images/icons/icon-muiten-xuong.png") no-repeat right 8px center / 21px 21px;
  cursor: pointer;
}
.halongcruise-chung-tuvanform textarea {
  height: 121px;
  padding: 10px 13px;
  resize: vertical;
}
.halongcruise-chung-tuvanform input:focus,
.halongcruise-chung-tuvanform select:focus,
.halongcruise-chung-tuvanform textarea:focus {
  outline: none;
  background-color: #fff;
  border-color: var(--hlc-mau-nut);
  box-shadow: 0 0 0 3px rgba(26, 127, 193, 0.15);
}
.halongcruise-chung-tuvansdt {
  display: flex;
  align-items: stretch;
  border: 1px solid #cccccc;
  border-radius: 9px;
  background: #fff;
}
.halongcruise-chung-tuvansdt:focus-within {
  border-color: var(--hlc-mau-nut);
  box-shadow: 0 0 0 3px rgba(26, 127, 193, 0.15);
}
.halongcruise-chung-tuvansdt > .wpcf7-form-control-wrap:first-child,
.halongcruise-chung-tuvansdt > select {
  flex: 0 0 112px;
}
.halongcruise-chung-tuvansdt > .wpcf7-form-control-wrap:last-child,
.halongcruise-chung-tuvansdt > input {
  flex: 1 1 auto;
  min-width: 0;
}
.halongcruise-chung-tuvanform .halongcruise-chung-tuvansdt select,
.halongcruise-chung-tuvanform .halongcruise-chung-tuvansdt input {
  height: 45px;
  border: 0;
  border-radius: 9px;
  box-shadow: none;
}
.halongcruise-chung-tuvanghichu p {
  padding-bottom: 6px;
  font-size: 12px;
  font-style: italic;
  line-height: 18px;
  color: #000;
}
.halongcruise-chung-tuvanyeucau {
  margin: 10px 0 16px;
}
.halongcruise-chung-tuvanyeucau .halongcruise-chung-formo > label {
  margin-bottom: 4px;
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
}
.halongcruise-chung-tuvanyeucau .halongcruise-chung-formo > p {
  margin-bottom: 10px;
  font-size: 12px;
  line-height: 18px;
}
.halongcruise-chung-tuvangui {
  text-align: center;
}
.halongcruise-chung-tuvangui input[type="submit"] {
  -webkit-appearance: none;
  appearance: none;
  min-width: 226px;
  height: 47px;
  padding: 0 24px;
  border: 0;
  border-radius: 0;
  background: var(--hlc-mau-chinh);
  font-family: var(--hlc-font-tieude);
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  cursor: pointer;
  transition: background 0.2s;
}
.halongcruise-chung-tuvangui input[type="submit"]:hover {
  background: #102a44;
}
.halongcruise-chung-tuvanform .wpcf7-spinner {
  display: block;
  margin: 8px auto 0;
}
.halongcruise-chung-tuvanform .wpcf7-not-valid-tip {
  margin-top: 4px;
  font-size: 12px;
  color: var(--hlc-mau-loi);
}
.halongcruise-chung-tuvanpopup .wpcf7-response-output {
  margin: 14px 0 0 !important;
  padding: 8px 12px !important;
  border-radius: 6px;
  font-size: 13px;
  text-align: center;
}

/* Form Contact Form 7 bất kỳ dán vào ô "Shortcode form" – style chung theo thiết kế popup.
   Dùng :where() để độ ưu tiên = 2 class: thắng CSS của theme, nhưng nhường form mẫu (.halongcruise-chung-tuvanform). */
.halongcruise-chung-tuvannoidung .wpcf7 :where(form > p) {
  margin: 0 0 14px;
}
.halongcruise-chung-tuvannoidung .wpcf7 :where(form > p > label) {
  display: block;
  font-size: 14px;
  line-height: 21px;
  color: #000;
}
.halongcruise-chung-tuvannoidung .wpcf7 :where(label .wpcf7-form-control-wrap) {
  display: block;
  margin-top: 6px;
}
.halongcruise-chung-tuvannoidung .wpcf7 :where(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="date"], input[type="url"], select, textarea) {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 47px;
  margin: 0;
  padding: 10px 13px;
  border: 1px solid #cccccc;
  border-radius: 9px;
  background-color: #fff;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.5;
  color: #000;
  box-shadow: none;
}
.halongcruise-chung-tuvannoidung .wpcf7 :where(textarea) {
  height: 121px;
  resize: vertical;
}
.halongcruise-chung-tuvannoidung .wpcf7 :where(input, select, textarea):focus {
  outline: none;
  background-color: #fff;
  border-color: var(--hlc-mau-nut);
  box-shadow: 0 0 0 3px rgba(26, 127, 193, 0.15);
}
.halongcruise-chung-tuvannoidung .wpcf7 :where(input[type="submit"]) {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  min-width: 226px;
  height: 47px;
  margin: 6px auto 0;
  padding: 0 24px;
  border: 0;
  border-radius: 0;
  background: var(--hlc-mau-chinh);
  font-family: var(--hlc-font-tieude);
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  cursor: pointer;
  transition: background 0.2s;
}
.halongcruise-chung-tuvannoidung .wpcf7 :where(input[type="submit"]):hover {
  background: #102a44;
}
.halongcruise-chung-tuvannoidung .wpcf7 :where(.wpcf7-not-valid-tip) {
  margin-top: 4px;
  font-size: 12px;
  color: var(--hlc-mau-loi);
}

/* ===== Responsive ===== */
@media (max-width: 991px) {
  .halongcruise-chung-datphong {
    max-width: 100%;
  }
}
@media (max-width: 767px) {
  .halongcruise-chung-dpdong,
  .halongcruise-chung-dptong {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .halongcruise-chung-dpdong p:last-child,
  .halongcruise-chung-dptong p:last-child {
    text-align: right;
    white-space: nowrap;
  }
  .halongcruise-chung-tuvannoidung .wpcf7 :where(input[type="submit"]) {
    width: 100%;
    min-width: 0;
  }
  .halongcruise-chung-dpdau,
  .halongcruise-chung-dpthan {
    padding-left: 16px;
    padding-right: 16px;
  }
  .halongcruise-chung-dpkhach {
    gap: 0 12px;
  }
  .halongcruise-chung-tuvanpopup {
    padding: 16px 12px;
  }
  .halongcruise-chung-tuvanhop {
    padding: 20px 16px 24px;
  }
  .halongcruise-chung-tuvantieude {
    margin-bottom: 12px;
    padding: 0 30px;
  }
  .halongcruise-chung-tuvantieude strong {
    font-size: 22px;
    line-height: 32px;
  }
  .halongcruise-chung-tuvanhang,
  .halongcruise-chung-tuvanhang-ba {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }
  .halongcruise-chung-tuvanhang-ba {
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 12px;
  }
  .halongcruise-chung-tuvanhang-ba .halongcruise-chung-formo:last-child {
    grid-column: 1 / -1;
  }
  .halongcruise-chung-tuvanghichu p {
    padding-bottom: 0;
  }
  .halongcruise-chung-tuvangui input[type="submit"] {
    width: 100%;
  }
}
@media (max-width: 359px) {
  .halongcruise-chung-dpkhach {
    grid-template-columns: minmax(0, 1fr);
  }
  .halongcruise-chung-hotrohuyhieu {
    gap: 6px;
  }
}
