@charset "UTF-8";

/* Desktop layout (width >= 850px) */
@media (min-width: 850px) {
    /* Hide the bottom buttons wrapper completely on desktop */
    .post-booking-buttons {
        display: none !important;
    }
}

/* Mobile layout (width < 850px) */
@media (max-width: 849px) {
    /* Make the visible bottom button full width on mobile */
    .post-booking-buttons .button {
        display: block !important;
        margin: 10px 0 !important;
        width: 100% !important;
    }

    /* --- Sidebar Buttons (in the sidebar block) --- */
    /* Commented out to display both 'Đặt phòng' and 'Đặt tour' buttons on mobile, just like desktop
    .category-homestay .sidebar-booking .btn-sidebar-room {
        display: none !important;
    }
    .category-tour-kham-pha .sidebar-booking .btn-sidebar-tour {
        display: none !important;
    }
    */

    /* Reduce banner title font size on mobile to be slightly larger than the menu */
    .page-title h1.entry-title {
        font-size: 24px !important;
        line-height: 1.3 !important;
    }

    /* Scale down headings inside post content on mobile to maintain proper visual hierarchy */
    .entry-content h1 {
        font-size: 24px !important;
        line-height: 1.3 !important;
    }
    .entry-content h2 {
        font-size: 20px !important;
        line-height: 1.3 !important;
    }
    .entry-content h3 {
        font-size: 18px !important;
        line-height: 1.3 !important;
    }
    .entry-content h4 {
        font-size: 16px !important;
        line-height: 1.3 !important;
    }
}

/**
 * _base.scss
 * 
 * 1/ biến màu săc
 * 2/ biến kích thước font chữ
 * 3/ Cấu hình border
 * 4/ Mixin
 * 5/ Responsive
*/
.br-8 {
  border-radius: 8px;
  overflow: hidden;
}

@media (min-width: 768px) {
  .nav-dropdown-has-border header#header .nav-dropdown ul.sub-menu {
    border-style: solid;
    border-width: 2px;
  }
  header#header .nav-dropdown {
    display: block;
    padding: 20px 0;
  }
  header#header .nav-dropdown ul.sub-menu {
    position: absolute;
    left: 100%;
    top: 0;
    width: 250px;
    padding: 0;
    display: none !important;
  }
  header#header .nav-dropdown ul.sub-menu a {
    white-space: normal;
    margin: 0;
    padding: 10px 15px;
    border: 0;
    font-weight: 400;
  }
  header#header .nav-dropdown li {
    border-right: 0;
    white-space: normal;
    width: 100%;
    display: block;
    position: relative;
  }
  header#header .nav-dropdown li:hover > ul.sub-menu {
    display: block !important;
  }
  header#header .nav-dropdown li.menu-item-has-children > a {
    font-weight: 400;
    text-transform: none;
  }
}
.entry-content ul li ul {
  margin-left: 10px;
  margin-top: 10px;
  margin-bottom: 10px;
}

.blog-wrapper.blog-archive {
  padding-top: 0;
}

.select-resize-ghost,
.select2-container .select2-choice,
.select2-container .select2-selection,
input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url],
select,
textarea {
  box-shadow: none !important;
}

.wp-block-search .wp-block-search__inside-wrapper .wp-block-search__input {
  margin-bottom: 0;
}
.wp-block-search .wp-block-search__inside-wrapper .wp-block-search__button {
  font-size: 0;
  height: unset;
  min-height: unset;
  padding: 0 10px;
}
.wp-block-search .wp-block-search__inside-wrapper .wp-block-search__button::before {
  content: "\eb1c";
  font-family: "matbaows-icons";
  font-size: 1rem;
  color: inherit;
}

.widget_price_filter .price_slider_wrapper .ui-slider.price_slider .ui-slider-handle {
  background-color: var(--fs-color-primary);
}
.widget_price_filter .price_slider_wrapper .ui-slider.price_slider .ui-slider-range {
  background-color: var(--fs-color-secondary);
}
.widget_price_filter .price_slider_wrapper .price_slider_amount .button {
  background-color: var(--fs-color-primary);
}

.wpcf7-form .wpcf7-form-control-wrap input {
  margin-bottom: 0;
}
.wpcf7-form .wpcf7-form-control-wrap textarea {
  margin-bottom: 0;
}
.wpcf7-form .form-dk {
  display: flex;
  width: 100%;
}
.wpcf7-form .form-dk .wpcf7-spinner {
  display: none;
}
.wpcf7-form .form-dk .wpcf7-submit {
  margin-right: 0;
}

.box-contact p i {
  color: var(--fs-color-primary);
  width: 23px;
  text-align: center;
}

#related_posts {
  border-top: 4px double #e8e8e8;
  padding-top: 10px;
}
#related_posts .col {
  float: left;
  margin-left: 0;
  list-style: none;
}
#related_posts li:nth-child(1) {
  padding-left: 0 !important;
}
#related_posts li:nth-child(2) {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
#related_posts li:nth-child(3) {
  padding-right: 0 !important;
}
#related_posts .relatedthumb img {
  height: 100%;
}

.relatedcontent h3 {
  font-size: 16px;
  margin-top: 7px;
}

#header .mbws-header-booking-button i {
  font-size: 18px;
}
#header .sticky-logo {
  display: none;
}
#header .sticky-logo .ux-logo-link {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
#header .stuck .sticky-logo {
  display: inline-block;
}
#header .stuck .header-bottom .flex-center {
  width: 100%;
}
#header .stuck .header-bottom .flex-center .nav {
  width: 100%;
  justify-content: flex-end;
}
#header .header-block,
#header .header-block-block-2 {
  width: fit-content;
}

.off-canvas #header-contact > li {
  padding-left: 0;
}
.off-canvas #header-contact > li a {
  padding: 15px 20px;
}
.off-canvas .nav-vertical a {
  font-size: 14px;
}
.off-canvas .header-block {
  padding: 15px 20px;
}
.off-canvas .header-block .button {
  margin: 0;
}

body p {
  margin-bottom: 10px;
}
body .hover-shrink {
  transition: all 0.3s;
  position: relative;
}
body .hover-shrink:hover {
  transform: scale(0.98);
}
body .hover-shrink:hover::before {
  opacity: 1;
}
body .hover-shrink::before {
  content: "";
  display: block;
  width: calc(100% - 80px);
  height: calc(100% - 80px);
  border: 2px solid var(--fs-color-primary);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
  opacity: 0;
  transition: all 0.3s;
}
body .booking-button::before {
  content: "\f073";
  font-family: "Fontawesome";
}
body .searchform .button.icon {
  background-color: var(--fs-color-primary);
}

.wpcf7-form label {
  color: var(--text-color);
  font-size: 14px;
  font-weight: 400;
}
.wpcf7-form .flex-row {
  gap: 0 30px;
  flex-wrap: wrap;
}
.wpcf7-form .flex-row .flex-col {
  width: calc(50% - 15px);
}
@media (max-width: 767px) {
  .wpcf7-form .flex-row .flex-col {
    width: 100%;
  }
}
.wpcf7-form input[type=date], .wpcf7-form input[type=email], .wpcf7-form input[type=number], .wpcf7-form input[type=search], .wpcf7-form input[type=tel], .wpcf7-form input[type=text], .wpcf7-form input[type=url], .wpcf7-form textarea, .wpcf7-form select {
  height: 52px;
  background-color: var(--color-mbws-bgr);
  border-color: var(--color-mbws-border);
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 20px;
}
.wpcf7-form textarea {
  margin-bottom: 20px !important;
}
.wpcf7-form input[type=submit] {
  height: 42px;
  padding-left: 30px;
  padding-right: 30px;
}
.wpcf7-form .wpcf7-spinner {
  display: none;
}

.mbws-service-tabs .nav {
  padding-bottom: 15px;
  margin-bottom: 30px;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 20%, rgba(0, 0, 0, 0.55) 50%, rgba(0, 0, 0, 0.41) 83%, rgba(0, 0, 0, 0) 100%);
}
.mbws-service-tabs .nav > li {
  margin: 0 20px;
  position: relative;
}
.mbws-service-tabs .nav > li + li::before {
  display: none;
}
.mbws-service-tabs .nav > li > a {
  padding: 10px 20px;
  font-weight: normal;
  font-size: 20px;
  border-radius: 99px;
  color: #ffffff;
  text-shadow: 0 5px 3px rgba(0, 0, 0, 0.5);
}
.mbws-service-tabs .nav > li:hover > a, .mbws-service-tabs .nav > li.active > a {
  color: #ffffff;
  background: linear-gradient(90deg, rgb(104, 99, 45) 0%, rgb(71, 75, 50) 100%);
  box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
  text-shadow: 0 1px 5px rgba(0, 0, 0, 0.5);
}
.mbws-service-tabs .nav > li:hover > a span, .mbws-service-tabs .nav > li.active > a span {
  color: inherit;
}
.mbws-service-tabs .tab-panels {
  position: relative;
  border: 3px solid var(--color-mbws-custom-1);
  border-radius: 30px;
  overflow: hidden;
  padding-top: unset;
  box-shadow: rgba(0, 0, 0, 0.3) 0px 19px 38px, rgba(0, 0, 0, 0.22) 0px 15px 12px;
}
.mbws-service-tabs .tab-panels::before {
  content: "";
  display: none;
  width: 50%;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  background: radial-gradient(circle, rgb(255, 250, 232) 22%, rgba(255, 196, 33, 0.28) 100%);
}
@media (max-width: 767px) {
  .mbws-service-tabs .tab-panels::before {
    width: 100%;
  }
}
.mbws-service-tabs .tab-panels .button:not(.icon) {
  color: var(--fs-color-primary);
}

.text-shadow * {
  text-shadow: 0 5px 3px rgba(0, 0, 0, 0.5);
}

.accordion {
  background-color: white;
}
.accordion .toggle {
  right: 0;
  left: auto !important;
}
.accordion .accordion-title {
  padding: 10px 40px 10px 15px;
  font-family: var(--heading-font-family);
  color: var(--fs-color-secondary);
  font-weight: bold;
}
@media (max-width: 767px) {
  .accordion .accordion-inner {
    padding: 20px 15px;
  }
}

.mbws-map p {
  margin-bottom: 0;
  line-height: 0;
}

.bg-gradient {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 20%, rgba(0, 0, 0, 0.55) 50%, rgba(0, 0, 0, 0.41) 83%, rgba(0, 0, 0, 0) 100%);
}

.widget .widget-title {
  color: var(--heading-color);
  display: block;
  font-family: var(--heading-font-family);
  font-size: 18px;
  margin-bottom: 15px;
}
.widget .widget-title::before {
  content: "\f32b";
  font-family: "Fontawesome";
  margin-right: 10px;
  color: var(--fs-color-primary);
}
.widget .is-divider {
  display: none;
}
.widget .tagcloud {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}
.widget .tagcloud a {
  font-size: 12px !important;
  padding: 5px 10px;
  background-color: var(--fs-color-primary);
  color: white;
}
.widget.widget-posts-by-category.current-cat {
  display: none;
}

.sidebar-booking .button.is-outline.secondary {
  color: white;
  border-color: var(--fs-color-secondary);
}

.mbws-blog-header {
  margin-bottom: 65px;
}

.post-item .box-text {
  padding-top: 45px;
  position: relative;
}
.post-item .post-title {
  font-size: 24px;
}
.post-item .post-meta {
  font-size: 14px;
  position: absolute;
  top: 20px;
  left: 0;
}
.post-item .post-meta::before {
  content: "\f073";
  font-family: "Fontawesome";
  margin-right: 5px;
}
.post-item .is-divider {
  display: none;
}
.post-item .button {
  text-transform: unset;
}
.post-item .button::before {
  content: "\f101";
  font-family: "Fontawesome";
  margin-right: 5px;
}

.single-post .blog-wrapper {
  padding-top: 0;
}
.single-post .entry-header .entry-meta {
  font-size: 15px;
  opacity: 1;
}
.single-post .entry-header .entry-meta::before {
  content: "\f073";
  font-family: "Fontawesome";
}
.single-post footer.entry-meta {
  padding: 0;
  border: none !important;
  font-size: 15px;
  text-transform: uppercase;
}
.single-post footer.entry-meta span::before {
  content: "\f02b";
  font-family: "Fontawesome";
}
.single-post footer.entry-meta a {
  background-color: var(--fs-color-primary);
  padding: 5px 10px;
  color: white;
  font-size: 12px;
}

.mbws-related-posts {
  padding-top: 30px;
  margin-top: 30px;
  border-top: 1px solid var(--color-mbws-border);
}
.mbws-related-posts .related-posts-title {
  margin-bottom: 20px;
}
.mbws-related-posts .related-posts-title::before {
  content: "\f32b";
  font-family: "Fontawesome";
  margin-right: 10px;
  color: var(--fs-color-primary);
}
.mbws-related-posts .post-title {
  font-size: 16px !important;
  line-height: 1.3 !important;
}

/* Center and align custom featured boxes in homepage slider */
.custom-featured-box.icon-box-left {
  display: flex !important;
  flex-flow: row nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
}

.custom-featured-box.icon-box-left .icon-box-text {
  flex: 0 0 auto !important;
  width: auto !important;
}

.custom-featured-box.icon-box-left .icon-box-img + .icon-box-text {
  padding-left: 8px !important; /* Khoảng cách nhỏ gọn giữa icon và chữ */
}

.custom-featured-box.icon-box-left .icon-box-text p,
.custom-featured-box.icon-box-left .icon-box-text h3 {
  margin: 0 !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

/* Customize booking sidebar post boxes */
.booking-sidebar-posts .box-text {
  padding: 8px 15px !important;
}

.booking-sidebar-posts .box-text-inner {
  padding: 0 !important;
}

.booking-sidebar-posts .post-title {
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
}

.booking-sidebar-posts .is-divider {
  display: none !important;
}

/* Chỉ ngắt dòng trên điện thoại di động */
@media (max-width: 767px) {
  .mobile-br {
    display: inline !important;
  }
}
@media (min-width: 768px) {
  .mobile-br {
    display: none !important;
  }
}

/* --- Contact Form 7 Style Fixes --- */
.wpcf7-form select,
.wpcf7-form input[type="date"] {
  font-size: 14px !important;
  height: 40px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  line-height: 40px !important;
}

.wpcf7-form select option {
  font-size: 14px !important;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"] {
  font-size: 14px !important;
  height: 40px !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
}

/* --- Booking Form Room Quantity Selection --- */
.room-quantity-table {
  width: 100%;
  margin-top: 10px;
  margin-bottom: 25px;
}
.room-quantity-table .rq-header {
  font-weight: bold;
  border-bottom: 2px solid var(--color-mbws-border);
  padding-bottom: 8px;
  margin-bottom: 12px;
  display: flex;
}
.room-quantity-table .rq-row {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
}
.room-quantity-table .rq-col-name {
  width: 50%;
  font-weight: bold;
  color: var(--text-color);
  font-size: 14px;
}
.room-quantity-table .rq-col-input {
  width: 50%;
  display: flex;
  align-items: center;
  gap: 10px;
}
.room-quantity-table .rq-col-input input[type="number"] {
  width: 80px !important;
  margin-bottom: 0 !important;
  text-align: center;
  font-size: 14px !important;
  height: 40px !important;
  padding: 0 10px !important;
  background-color: var(--color-mbws-bgr);
  border-color: var(--color-mbws-border);
}
.room-quantity-table .rq-unit {
  font-size: 14px;
  color: var(--text-color);
}

/* --- Align sub-content (excerpt and button) with title in homestay list --- */
.category-homestay .post-item .blog-post-inner > * {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* --- Floating Contact Box (Zalo & Messenger) --- */
.mbws-floating-contact {
  position: fixed;
  bottom: 90px;
  right: 25px;
  display: flex;
  flex-direction: column;
  gap: 15px;
  z-index: 999999;
}

.mbws-floating-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 55px;
  height: 55px;
  border-radius: 50%;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.mbws-floating-btn:hover {
  transform: translateY(-5px) scale(1.05);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.35);
}

.mbws-floating-btn .btn-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  z-index: 2;
}

.mbws-floating-btn .btn-icon i {
  font-size: 26px;
  color: #ffffff;
}

.mbws-floating-btn .btn-icon svg {
  width: 28px;
  height: 28px;
  fill: #ffffff;
}

/* Tooltip styles - aligned to slide out on the left */
.mbws-floating-btn .btn-tooltip {
  position: absolute;
  right: 70px;
  left: auto;
  background-color: rgba(36, 37, 42, 0.9);
  color: #ffffff;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 500;
  border-radius: 6px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transform: translateX(10px);
  transition: all 0.3s ease;
  pointer-events: none;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}

.mbws-floating-btn .btn-tooltip::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  right: auto;
  transform: translateY(-50%);
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent transparent rgba(36, 37, 42, 0.9);
}

.mbws-floating-btn:hover .btn-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

/* Pulse animation */
.mbws-floating-btn .btn-pulse {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 50%;
  z-index: 1;
  animation: mbws-pulse 2s infinite;
}

/* Zalo styles */
.zalo-btn {
  background: linear-gradient(135deg, #208cfd, #0056d2);
}

.zalo-btn .btn-pulse {
  background-color: rgba(32, 140, 253, 0.4);
}

/* Messenger styles */
.messenger-btn {
  background: linear-gradient(135deg, #0066ff, #a334fa, #ff5e62);
}

.messenger-btn .btn-pulse {
  background-color: rgba(163, 52, 250, 0.4);
  animation-delay: 0.5s;
}

@keyframes mbws-pulse {
  0% {
    transform: scale(1);
    opacity: 0.8;
  }
  100% {
    transform: scale(1.6);
    opacity: 0;
  }
}

/* Mobile responsive adjustments */
@media (max-width: 767px) {
  .mbws-floating-contact {
    bottom: 90px; /* Shift up to avoid overlap with mobile bottom bar or back-to-top button */
    right: 15px;
    left: auto;
    gap: 12px;
  }
  
  .mbws-floating-btn {
    width: 48px;
    height: 48px;
  }
  
  .mbws-floating-btn .btn-icon i {
    font-size: 22px;
  }
  
  .mbws-floating-btn .btn-icon svg {
    width: 24px;
    height: 24px;
  }
  
  .mbws-floating-btn .btn-tooltip {
    display: none; /* Hide tooltips on mobile since hover is not standard */
  }
}