
@font-face {
  font-family: antonio-regular;
  src: url('../fonts/Antonio/static/Antonio-Regular.ttf');
}

@font-face {
  font-family: 'BebasBeue';
  src: url('../fonts/Bebas-Neue-Cyrillic.ttf');
}

:root {
  --main-width: 1270px;
  --color-active: #152046;
  --main-color: #152046;
  --secondary-color: #D7A34F;
  --main-color-text: #152046;
}
*,
html,
body {
  margin: 0;
  padding: 0;
  font-family: "Calibri (MS)", sans-serif;
  font-size: 13px;
  scroll-behavior: smooth;
}
body {
  color: var(--main-color-text);
}

/* ===== Màu text nội dung (không áp dụng header/footer) ===== */
#main,
#main-tour,
.introduce-wrapper,
.main-wrapper,
.main-tours-wrapper,
#search-result {
  color: var(--main-color-text);
}

#main p,
#main li,
#main .card-text,
#main .icon-text,
#main .text-mute,
.introduce-wrapper p,
.introduce-wrapper li,
.introduce-wrapper .card-text,
.introduce-wrapper .meet-us,
.introduce-wrapper .icon-text,
.main-wrapper p,
.main-wrapper .card-text,
.main-wrapper .icon-text,
.main-wrapper .meet-us,
.main-tours-wrapper p,
.main-tours-wrapper li,
.main-tours-wrapper .card-text,
.main-tours-wrapper .tour-hightlight ul li span,
.main-tours-wrapper .overview-tour-detail p.text-justify,
.main-tours-wrapper .overview-tour-detail p.text-justify span,
.main-tours-wrapper .overview-tour-detail p.text-justify font,
.main-tours-wrapper .overview-tour-detail p.text-justify div,
.main-tours-wrapper .overview-tour-detail p.text-justify p,
.main-tours-wrapper .overview-tour-detail p.text-justify li,
.main-tours-wrapper .panel-body,
.main-tours-wrapper .panel-body p,
.main-tours-wrapper .panel-body span,
.main-tours-wrapper .panel-body li,
.main-tours-wrapper .accordion-body,
.main-tours-wrapper .accordion-body p,
.main-tours-wrapper .accordion-body span,
.main-tours-wrapper .accordion-body li,
.tour-container .card-text,
.tour-container .icon-text,
#search-result .intro .icon-area p,
#search-result .result .filter-zone .card .card-body h5,
.tour-item .card-body > p:nth-child(3) span,
.breadcrumb-wrapper nav ol li a,
.timeline-content {
  color: var(--main-color-text) !important;
}

#main .text-muted,
#main-tour .text-muted,
.introduce-wrapper .text-muted,
.main-wrapper .text-muted,
.main-tours-wrapper .text-muted,
#search-result .text-muted {
  color: var(--main-color-text) !important;
}

/* Override Bootstrap .text-black trong vùng nội dung */
#search-result .text-black,
#search-result .text-black b,
#search-result .text-black strong,
#search-result .text-black span,
#search-result .text-black p,
#search-result .info-text p,
#main .text-black,
#main .text-black b,
.introduce-wrapper .text-black,
.main-wrapper .text-black,
.main-tours-wrapper .text-black {
  color: var(--main-color-text) !important;
}

a {
  -webkit-transition: 0.3s all ease;
  -o-transition: 0.3s all ease;
  transition: 0.3s all ease;
}
a,
a:hover {
  text-decoration: none !important;
}


#header {
  width: 100%;
  height: 85px;
  text-align: center;
  background-color: #152046;
}
#header-info {
  width: 100%;
  text-align: center;
  background-color: #D7A34F;
  color: #fff;
}

/* Sticky header (PC): header-info + header cố định khi cuộn */
@media (min-width: 992px) {
  #site-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    width: 100%;
  }

  #site-header.is-stuck {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  }
}

#banner {
  width: 100%;
  height: 500px;
  overflow-y: hidden;
  position: relative;
  text-align: center;
  background-color: #fafafa;
}

#main {
  width: 100%;
  /* height: 2800px; */
  text-align: center;
  background-color: #fff;
}

#introduce {
  width: 100%;
  /* height: 3800px; */
  margin: 0 auto;
  text-align: center;
  border-bottom: 3px solid var(--color-active);
}

#footer {
  width: 100%;
  padding: 30px;
  text-align: center;
  background-color: var(--main-color);
  color: #fff;
}

#header-info .header-info-content {
  width: var(--main-width);
  padding: 5px 0;
}
#header-info .header-info-content i {
  cursor: pointer;
}

#header-info .header-info-content .line-vertical {
  width: 20px;
  height: 50%;
  content: " ";
  border-right: 1px solid #000;
}

#header-info .header-info-content .icon-social i {
  cursor: pointer;
  font-size: 22px;
  margin-right: 1.5rem !important;
}

#header-info .header-info-content .fa-chevron-down {
  font-size: 16px !important;
}

#header-info .header-info-content .input-group .input-group-append {
  background-color: #F8F9FA;
  border-top-right-radius: var(--bs-border-radius);
  border-bottom-right-radius: var(--bs-border-radius);
}

#header-info .header-info-content .input-group input {
  font-size: 12px;
}

#header-info .header-info-content .icon-phone_in_talk {
  margin-left: 20px;
}
#header-info .header-info-content .button-language-selector {
  background: transparent;
  border: none;
  color: #555;
  font-size: 14px;
}

.favourite .fa-solid {
  color: #F47921;
}
.favourite .number-favourites {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 25%;
  transform: translate(-50%, -50%);
}

#header .header-content {
  width: var(--main-width);
  margin: 0 auto;
}

#header .img-logo-site {
  width: 319px;
  height: 85px;
  padding: 5px 0;
}
#header .img-logo-site:hover {
  cursor: pointer;
}

#banner #searching {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  top: 78%;
  z-index: 2;
  width: 50%;
  margin: 0 auto;
  background-color: #fafafa;
  padding: 5px 5px;
  border-radius: 40px;
}

#banner #searching .searching-wrapper {
  width: 100%;
}

#banner #searching .searching-wrapper .tab-content {
  border-bottom: 3px solid var(--color-active);
  padding-bottom: 20px;
}

h2 {
  font-size: 20px;
}
#banner #searching .searching-wrapper .nav-tabs {
  border: none;
}
#banner #searching .searching-wrapper .nav-tabs .nav-link {
  color: #fff;
  font-weight: 600;
  background-color: var(--color-active);
  border: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

#banner #searching .searching-wrapper .nav-tabs .nav-link span {
  margin-right: 5px;
}

#banner #searching .searching-wrapper .nav-tabs .nav-item .active {
  color: var(--color-active);
  font-weight: 600;
  background-color: #fafafa;
}

#banner #searching .searching-wrapper .tab-content label {
  font-weight: 600;
}

.slick-dots {
  bottom: 0;
}

.ui-datepicker {
  background: #ffffff;
  border-radius: 15px;
}
.ui-datepicker-header {
  height: 50px;
  line-height: 50px;
  color: #ffffff;
  background: var(--main-color);
  margin-bottom: 10px;
}
.ui-datepicker-prev,
.ui-datepicker-next {
  width: 20px;
  height: 20px;
  text-indent: 9999px;
  border-radius: 100%;
  cursor: pointer;
  overflow: hidden;
  margin-top: 12px;
}
.ui-datepicker-prev {
  float: left;
  margin-left: 12px;
}
.ui-datepicker-prev:after {
  transform: rotate(45deg);
  margin: -43px 0px 0px 8px;
}
.ui-datepicker-next {
  float: right;
  margin-right: 12px;
}
.ui-datepicker-next:after {
  transform: rotate(-135deg);
  margin: -43px 0px 0px 6px;
}
.ui-datepicker-prev:after,
.ui-datepicker-next:after {
  content: '';
  position: absolute;
  display: block;
  width: 8px;
  height: 8px;
  border-left: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
}
.ui-datepicker-prev:hover,
.ui-datepicker-next:hover,
.ui-datepicker-prev:hover:after,
.ui-datepicker-next:hover:after {
  border-color: #333333;
}
.ui-datepicker-title {
  text-align: center;
  font-size:25px;
}
.ui-datepicker-calendar {
  /* width: 100%; */
  text-align: center;
}
.ui-datepicker-calendar thead tr th span {
  display: block;
  width: 40px;
  color: var(--main-color);
  margin-bottom: 5px;
  font-size: 18px;
}
.ui-state-default {
  display: block;
  text-decoration: none;
  color: var(--main-color-text);
  line-height: 40px;
  font-size: 16px;
}
.ui-state-default:hover {
  color: #ffffff;
  background:var(--main-color);
  border-radius:50px;
  transition: all 0.25s cubic-bezier(0.7, -0.12, 0.2, 1.12);
}
.ui-state-highlight {
  color: var(--main-color-text);
  border: 1px solid var(--main-color);
  border-radius:50px;
}
.ui-state-active {
  color: #ffffff;
  background-color:var(--main-color);
  border-radius:50px;
}
.ui-datepicker-unselectable .ui-state-default {
  color: #eee;
  border: 2px solid transparent;
}
.ui-datepicker td span, .ui-datepicker td a {
  text-align: center;
}

.icon {
    margin-left: -30px;
    margin-top: -26px;
    position: relative;
    color: var(--main-color);
    font-size:20px;
}

#banner h1 {
  position: absolute;
  color: #fff;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 4vw;
  z-index: 1;
  font-family: 'BebasBeue', sans-serif;
}

#banner #searching form .btn-searching {
  position: absolute;
  width: 50px;
  height: 50px;
  border-radius: 50% !important;
  right: 18px;
  bottom: 14px;
  background-color: var(--secondary-color);
}
#banner #searching form .btn-searching i {
  color: #fff;
  font-size: 20px;
}

#banner #searching form label {
  font-weight: 600;
}

#banner #searching form .where {
  border-right: 1px solid #ccc;
  width: 16vw;
  padding-right: 10px;
}

#banner #searching form .where select,
#banner #searching form #datepickerCustom {
  border: none;
  background: transparent;
  padding-left: 0;
}
#banner #searching form .where select:focus,
#banner #searching form #datepickerCustom:focus {
  box-shadow: none;
}
.main-color-text {
  color: var(--secondary-color);
  font-weight: 600;
}

.w-35 {
  width: 35%;
}

#banner .content-carousel,
#banner .content-carousel .banner-carousel {
  height: 100% !important;
}
#banner .banner-carousel .slick-slider .slick-track, .slick-slider .slick-list {
  height: 100% !important;
}

#banner .banner-carousel .slick-slider .slick-track, .slick-slider .slick-list .slick-track {
  height: 100% !important;
}


#banner .content-carousel .banner-carousel .slick-list .slick-track .slick-slide img {
  width: 100% !important;
}

/* .card-body .d-flex img 
{
  padding-right: 5px !important;
} */

.card.tour-item .d-flex img
{
  margin-right: 5px !important;
}
/* Responsive for mobile */
@media screen and (max-width: 767px) {
  :root {
    --main-width: 100% !important;
  }

  #header-info {
    display: none;
  }

  #header,
  #header .header-content {
    width: 100%;
    justify-content: space-between;
  }

  #header .img-logo-site {
    padding: 10px 20px;
  }

  #header .header-content .fa-bars {
    display: block !important;
    margin-right: 25px;
    font-size: 24px;
    color: #000;
    cursor: pointer;
  }

  #header .header-content>a,
  #header .header-content>.vl {
    display: none !important;
  }

  #banner h1 {
    display: none;
  }
  #banner #searching {
    width: 95%; margin: 0 auto; border-radius: 0;
  }
  #banner #searching form {display: block !important;}
  #banner #searching .form-group {
    width: 100% !important;
    text-align: start;
  }
  #banner #searching form {
    text-align: center !important;
  }
  #banner #searching form .btn-searching {
    position: unset;
    border-radius: unset !important;
  }

  .slick-slide {
    min-height: 300px;
  }
  
  .slick-slide img {
    min-height: 300px;
  }

  #footer {
    width: 100%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1270px) {
  :root {
    --main-width: 100% !important;
  }

  #header-info {
    display: none;
  }

  #header,
  #header .header-content {
    width: 100%;
    justify-content: space-between;
  }

  #header .img-logo-site {
    padding: 10px 20px;
  }

  #header .header-content .fa-bars {
    display: block !important;
    margin-right: 25px;
    font-size: 24px;
    color: #000;
    cursor: pointer;
  }

  #header .header-content>a,
  #header .header-content>.vl {
    display: none !important;
  }

  #banner h1 {
    display: none;
  }
  #banner #searching {
    width: 95%; margin: 0 auto; border-radius: 0;
  }
  #banner #searching form {display: block !important;}
  #banner #searching .form-group {
    width: 100% !important;
    text-align: start;
  }
  #banner #searching form {
    text-align: center !important;
  }
  #banner #searching form .btn-searching {
    position: unset;
    border-radius: unset !important;
  }

  .slick-slide {
    min-height: 300px;
  }
  
  .slick-slide img {
    min-height: 300px;
  }

  #footer {
    width: 100%;
  }
}