/*
Theme Name: Aspire Lifestyles - VIB
Theme URI: https://egd.vn
Author: thanhnv@egdgroup.com
Author URI: https://egd.vn
Description: Wordpress Theme for Aspire Lifestyles Project
Requires at least: 4.9.6
Requires PHP: 5.2.4
Version: 1.0
License: GNU General Public License v2 or laterg
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aspirelifestyles
*/
@charset "UTF-8";
@import "css/bootstrap.min.css";
@import "css/fontawesome/css/all.css";
@import url('https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@100..900&display=swap');

@font-face {
  font-family: 'Inter';
  src: local("Inter"),
    url(fonts/static/Inter_18pt-Regular.ttf) format("ttf"),
    url(fonts/static/Inter_18pt-Regular.ttf) format("ttf"),
    url(fonts/static/Inter_18pt-Regular.ttf) format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap
}

@font-face {
  font-family: 'Inter';
  src: local("Inter"), local("Inter"),
    url(fonts/static/Inter_18pt-Medium.ttf) format("ttf"),.content-block
    url(fonts/static/Inter_18pt-Medium.ttf) format("ttf"),
    url(fonts/static/Inter_18pt-Medium.ttf) format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap
}

@font-face {
  font-family: 'Inter';
  src: local("Inter"), local("Inter"),
    url(fonts/static/Inter_18pt-SemiBold.ttf) format("ttf"),
    url(fonts/static/Inter_18pt-SemiBold.ttf) format("ttf"),
    url(fonts/static/Inter_18pt-SemiBold.ttf) format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap
}

@font-face {
  font-family: 'Inter';
  src: local("Inter"), local("Inter"),
    url(fonts/static/Inter_18pt-Bold.ttf) format("ttf"),
    url(fonts/static/Inter_18pt-Bold.ttf) format("ttf"),
    url(fonts/static/Inter_18pt-Bold.ttf) format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap
}


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html, body {
  touch-action: manipulation;    
}
body {
  background: #f9fafb;;
  font-family: 'Inter' !important;
}

.site {
  /*overflow-x: hidden;*/
}

.container {
    max-width: 1440px !important;
    padding: 70px 0 0 0;
    margin: 0 auto;
}
#page {
    position: relative;    
}
#page:before {
    margin: -150px 0 0 0;
    content: "";
    background: #f9fafb;
    width: 100%;
    height: 150px;
    left: 0;
    right: 0;
    top: 0;
    z-index: 9999999999999999;
    display: block;
    position: fixed;
}
#page::after {
  margin: 0 0 -150px 0;
  content: "";
  background: #f9fafb;
  width: 100%;
  height: 150px;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999999999999999;
  display: block;
  position: fixed;
}
a {
  text-decoration: none !important;
}

a:hover {
    color: inherit;
}

p{
    color: #4D5562;
    font-size: 15px;
    line-height: 20px;
}
body .gform-body label {
    position: absolute;
    top: 0;
    left: 16px;
    background: #fff;
    height: 45px;
    align-content: center;
}
.positionFixed{
    position: fixed;
    height: 100vh;
    overflow: hidden;
}
.custom-shadow{
    box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.05) !important;
}

body.gf-popup-open {
    overflow: hidden !important;
}
#gform_wrapper_5.gf-popup-scroll-locked {
    overflow: hidden !important;
}
#gform_wrapper_4.gf-popup-scroll-locked {
    overflow: hidden !important;
}
#gf-popup {
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.gform-theme--framework input[type]:where(:not(.gform-text-input-reset):not([type=hidden])):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):focus,
.gform-theme--framework select:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):focus{
    --gf-local-bg-color: white !important;
    --gf-local-border-color: white !important;
    --gf-local-outline-color: white !important;
    --gf-local-outline-width: var(--gf-ctrl-outline-width-focus) !important;
}
.gfield_description{
    margin: 0 0 10px 0 !important;
}
.hidefield{
  display: none !important;  
}
.quocte .popup_companion_typedoc, 
.quocte .popup_companion_cccd {
    display: none;
}
/*
.booking-ui .hide-cccd,
.booking-ui .ho-chieu,
div[class*="gfield"].hide-cccd,
div[class*="gfield"].ho-chieu {
    display: none;
}
*/
/*.js-hidden-field {*/
/*    display: none !important;*/
/*}*/
.no-copy {
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Chrome/Safari/Opera */
  -khtml-user-select: none; /* Konqueror */
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
  user-select: none; /* Standard syntax */
}


/* HEADER */
.header {
  background: white;
  padding: 20px 0;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.header h2 {
  font-size: 22px;
}


/* TOP */

.airport-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 20px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  /*height: 70px;*/
  z-index: 9999;
  background-color: #f9fafb;
}

.airport-header .header-title {
  font-size: 16px;
  font-weight: 600;
  color: #121826;
  line-height: 22px;
  margin: 0;
}
.airport-header .icon-btn i{
  color: #121826;
}

.airport-header .icon-btn {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
}

.airport-header .icon-btn svg {
  transition: 0.2s;
}

.airport-header .icon-btn:hover svg {
  transform: scale(1.15);
}

/* END TOP */

/* CARD */
.points-card {
  /* display: flex; */
  justify-content: space-between;
  text-align: center;
  align-items: center;
  background: linear-gradient(180deg, #ff8a00, #ff5f00);
  border-radius: 22px;
  color: white;
  margin: 0 19px;
  padding: 26px 25px;
  position: relative;
  z-index: 3;
}

.points-card h1 {
  font-size: 34px;
  font-weight: 700;
  color: #F9FAFB;
  line-height: 41px;
  letter-spacing: -1%;
}
.points-card .points-left p{
    color: #fff;
    margin-bottom: 30px;
}

.points-right {
  display: flex;
  justify-content: center;
  gap: 15px;
}

.btn-white {
    font-size: 15px;
    font-weight: 500;
  padding: 10px 60px;
  border-radius: 25px;
  border: 2px solid #E5E7EB;
  background: transparent;
  color: white;
  cursor: pointer;
  transition: 0.3s;
  width: 100%;
}

/*.btn-white:hover {*/
/*  color: #fff;*/
/*  background: transparent;*/
/*  border: 2px solid #fff;*/
/*}*/

/*popup lượt tặng thêm*/
.overlay {
  display: none; 
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.popup-box {
  max-height: 768px;
  background-color: #ffffff;
  width: 100%;
  min-height: 200px;
  border-radius: 20px 20px 0 0;
  padding: 12px 24px 40px 24px;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
  box-sizing: border-box;
  overflow-y: auto;
  transform: translateY(100%);
  transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1);
}

.overlay.show {
  opacity: 1;
  visibility: visible;
}

.overlay.show .popup-box {
  transform: translateY(0);
}

.popup-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.popup-header h2 {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  color: #121826;
  flex-grow: 1;
  text-align: center;
}

.close-icon {
  color: #121826;
  display: flex;
  text-decoration: none;
}

.close-icon svg {
  pointer-events: none;
}
.popup-body p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
  color: #6C727F !important;
  text-align: left;
}
.overlay {
  display: none;
}
.overlay.show {
  display: flex;
}
.icon-link {
  display: inline-block;
  color: #333;
  transition: color 0.2s ease;
}
.icon-link:hover {
    cursor: pointer;
}
.icon-link svg {
  pointer-events: none; 
}



/* TABS */
.list-contents-services h4{
    font-size: 16px;
    font-weight: 600;
    height: 46px;
    padding: 12px 19px;
    margin: 0;
    padding-top: 16px;
}
.list-contents-services .list-box{
    background: #fff;
}
.tabs {
  display: flex;
  border-bottom: 1px solid #F3F4F6;
  margin-bottom: 15px;
}
.list-contents-services .tabs{
    display: flex; 
    overflow-x: auto; 
    white-space: nowrap; 
    width: 100%; 
    height: 48px;
    padding: 0 16px; 
    margin-bottom: 0; 
    gap: 8px;
    scrollbar-width: none; 
   -ms-overflow-style: none;
}
.list-content-services .tabs::-webkit-scrollbar {
  display: none; 
}

.tab {
  flex: 1;
  text-align: center;
  padding: 12px 10px 12px 10px;
  background: none;
  border: none;
  font-weight: 500;
  cursor: pointer;
  position: relative;
  color: #6C727F;
  font-size: 15px;
}

.tab.active {
  color: #121826;
}

.tab.active::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 4px;
    background: linear-gradient(90deg,#FE9B25, #FF5922);
  border-radius: 3px;
}

.tab-content {
    display: none !important;
    animation: fade .25s ease;
}

.tab-content.active {
    display: block !important;
    padding: 0 !important;
}

@keyframes fade {
    from {
        opacity: 0;
        transform: translateY(5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* SEARCH */

.search-box {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin-top: 18px;
    margin-bottom: 18px;
    padding: 0 16px;
}

.search-box input {
    width: 100%;
    height: 40px;
    padding: 8px 10px 8px 37px;
    border-radius: 6px;
    border: none;
    background: #F9FAFB;
    font-size: 15px;
    outline: none;
    color: #121826;
    line-height: 20px;
}
.search-box input:focus {
  border: 1px solid #9DA3AE !important; 
  outline: none !important;
  background-color: #F9FAFB;
}

/* icon */
.search-icon {
    position: absolute;
    left: 30px;
    top: 35%;
    transform: translateY(-50%);
    width: 16px;
    height: 17px;
    color: #4D5562;
    pointer-events: none; /* click xuyên qua input */
}
.search-icon .icon-svg-search path {
  stroke: #ff5722;
}

.lounge-item {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 16px 19px;
  background: #fff;
  text-decoration: none;
  color: #121826;
  border-bottom: 1px solid #cccccc40;
  /* margin-bottom: 15px; */
  transition: 0.3s;
  /* box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05); */
}

.lounge-thumb img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 4px;
}

.lounge-info {
  flex: 1;
}

.lounge-info h3 {
  font-size: 15px;
  margin-bottom: 6px;
}

.lounge-info .location {
  font-size: 14px;
  color: #6C727F;
}

.arrow {
  font-size: 30px;
  color: #121826;
  font-weight: 300;
}

#phongcho,
#nhanh {
  /*background: #fff;*/
  /*border-radius: 10px;*/
  display: flex;
  flex-direction: column;
  /* gap: 15px; */
  max-height: calc((95px * 10));
  /*overflow-y: auto;
  overflow-x: hidden;*/
  transition: all .25s ease;
  /*box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.05);*/
  position: relative;
  min-height: calc(100vh - 200px);
}

/* Scroll đẹp hơn */
#phongcho::-webkit-scrollbar, 
#nhanh::-webkit-scrollbar{
  width: 6px;
}

#phongcho::-webkit-scrollbar-thumb,
#nhanh::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 10px;
}
#phongcho.hide,
#nhanh.hide {
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
}

/* PAGE SINGLE SERVICE */


/* TOP SECTION */
.detail-top {
  margin-bottom: 16px;
  background: #fff;
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.05);
}

.detail-image img{
  width: 100%;
  height: 230px;
  object-fit: fill;
}

.detail-info {
  padding: 16px 19px;
}

.detail-info h1 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 15px;
  line-height: 24px;
  letter-spacing: -1%;
}

.rating {
  color: #F47920;
  margin-bottom: 15px;
}
.meta .sevice,
.info .sevice{
    font-size: 15px;
}
.meta .location,
.info .location{
    font-size: 13px;
}
.meta p {
  color: #4D5562;
  margin-bottom: 5px;
  line-height: 20px;
  font-weight: 400;
}
.detail-info .meta p {
    margin-left: 30px;
    position: relative;
}
.detail-info .meta p svg {
    position: absolute;
    top: 0;
    left: -30px;
}
.meta p i {
  width: 20px;
  color: #000;
}
.exchange-points{
  background: #fff;
  padding: 16px 19px;
  margin-top: 35px;
  position: fixed;
  width: 100%;
  bottom: 0;
  z-index: 999;
  left: 0;
}

.exchange {
  /* margin: 25px 0; */
  padding: 5px;
  /* background: #fff3e6; */
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
  font-weight: 600;
  font-size: 16px;
  line-height: 22px;
}
.exchange-points .exchange h2{
  font-size: 20px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -1%;
}

.btn-qr{
    display: block;
    width: 60%;
    margin: 0 auto;
  padding: 13px 24px 13px 24px;
  background: linear-gradient(135deg, #FE9B25, #FF5922);
  border: 1px solid #FE9B25;
  border-radius: 100px;
  color: white;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  line-height: 22px;
}

.btn-book {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 13px 24px 13px 24px;
  background: linear-gradient(135deg, #FE9B25, #FF5922);
  border: 1px solid transparent;
  border-radius: 100px;
  color: white;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  line-height: 18px;
  position: relative;
}

/*.btn-book:hover{*/
/*    opacity: 0.9;*/
/*    border: 1px solid transparent;*/
/*    background: transparent;*/
/*    background-image: linear-gradient(135deg, #FE9B25, #FF5922);*/
/*    -webkit-background-clip: text;*/
/*    -webkit-text-fill-color: transparent;*/
    
/*}*/

/*.btn-book:hover {*/
/*  position: relative;*/
/*}*/

/*.btn-book:hover::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 30px;
  padding: 1px;
  background: linear-gradient(135deg, #ff8a00, #ff5f00);
  -webkit-mask: 
    linear-gradient(#fff 0 0) content-box, 
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  
  pointer-events: none;
}
*/
.btn-book.disabled-btn {
    background: #ccc !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}

/* CONTENT BLOCKS */
.detail-content {
  border-radius: 15px;
  padding-bottom: 150px;
}

.content-block {
  background: white;
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.05);
}
.content-block-description {
  padding: 16px 19px;
}
.content-block h3 {
  margin-bottom: 15px;
  font-size: 16px;
  font-weight: 600;
  border-bottom: 1px solid #f0f0f0;
  padding-bottom: 5px;
}

.amenities {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  list-style: none;
  padding: 0;
}
.amenities-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 40px;
    list-style: none;
    padding: 0;
    margin-top: 15px;
}

.amenity-item {
    display: flex;
    align-items: center;
    font-size: 15px;
    color: #6C727F;
}

.amenity-item .icon {
    width: 28px;
    color: #000000;
    font-size: 16px;
}

/*dieukhoan-dieukien*/

.terms-toggle {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 19px;
    background: #ffffff;
    border: none;
    font-size: 15px;
    color: #1a1a1a;
    cursor: pointer;
}

.popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.6);
    display: none;
    justify-content: center;
    align-items: flex-end;
    z-index: 99999;
}

.popup-overlay.active {
    display: flex;  
}

.popup-modal {
    background-color: #ffffff;
    width: 100%;
    max-width: 100%;
    border-radius: 30px 30px 0 0;
    padding: 20px 20px 16px 20px;
    max-height: 768px;
    min-height: 300px;
    overflow-y: auto;
    box-shadow: 0 -5px 25px rgba(0, 0, 0, 0.2);
    animation: slideUp 0.3s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

@keyframes slideUp {
    from { transform: translateY(100%); }
    to { transform: translateY(0); }
}

.popup-header {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-bottom: 16px;
    margin-top: 16px; 
}

.popup-header h2{
    margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #121826;
  flex-grow: 1;
  text-align: center;
  line-height: 22px;
}

.popup-title {
    font-size: 17px;
    font-weight: 700;
    color: #1a1a1a;
    text-align: center;
}

.popup-close-btn {
    position: absolute;
    right: 0;
    top: -13px;
    background: none;
    border: none;
    font-size: 30px;
    color: #121826;
    cursor: pointer;
}

/* Format chữ trong Popup */
.popup-section {
    color: #4D5562;
    font-size: 15px;
    font-weight: 400;
    line-height: 20px;
}

.popup-section h3 {
     font-size: 16px;
     font-weight: 600;
     color: #121826;
    margin-top: 16px;
    margin-bottom: 8px;
    line-height: 22px;
}

.popup-section ul { list-style: none; padding: 0; margin: 0; }

.dash-list > li {
    position: relative;
    padding-left: 16px;
    margin-bottom: 8px;
    line-height: 25px;
}
.dash-list > li::before {
    content: "-";
    position: absolute;
    left: 0;
}
.dash-list li strong{
    font-weight: 600 !important;
}

.bullet-list {
    padding-left: 16px;
    margin-top: 4px;
}
.bullet-list > li {
    position: relative;
    padding-left: 14px;
    margin-bottom: 4px;
    line-height: 25px;
}
.bullet-list > li::before {
    content: "•";
    position: absolute;
    left: 0;
}

.note {
    margin-top: 12px;
    font-size: 15px;
    color: #666;
}


/* END SINGLE LOUNGE */


/* BOOKING FORM */


.booking-form h4{
  font-size: 16px;
  font-weight: 600;
  line-height: 22px;
}
/* ===== WRAPPER ===== */
/*.booking-ui {*/
/*    max-width: 480px;*/
/*    margin: 0 auto;*/
/*    background: #f4f4f4;*/
/*    border-radius: 20px;*/
/*    overflow: hidden;*/
/*    padding-bottom: 20px;*/
/*}*/

/* ===== SECTION TITLE ===== */
/*.booking-ui .gsection {*/
/*    background: #e9e9e9;*/
/*    padding: 12px 16px;*/
/*    font-weight: 600;*/
/*    font-size: 14px;*/
/*    color: #333;*/
/*}*/



#field_4_43{
    padding: 0 !important;
}
.repeater-field-item{
    position: relative;
}
.ginput_container .repeater-field-item{
    margin-bottom: 5px !important;
}
#gform_4 .repeater-field-item .repeater-field-header{
    position: absolute;
    right: 0;
    z-index: 99;
    margin-top: 10px;
}
#gform_4 .repeater-field-item .repeater-field-header .repeater-field-header-title,
#gform_5 .repeater-field-item .repeater-field-header .repeater-field-header-title{
    display: none;
}

#gform_4 .repeater-field-item .repeater-field-header .repeater-field-header-acctions{
  position: absolute;
  right: 0;
  bottom: -21px;
  width: 11% !important;
}
#gform_4 .gform-body .repeater-field-item .repeater-field-header .repeater-field-header-acctions ul li .repeater-field-header-acctions-toogle,
#gform_5 .gform-body .repeater-field-item .repeater-field-header .repeater-field-header-acctions ul li .repeater-field-header-acctions-toogle{
    display: none !important;
}

#gform_4 .gform-body .repeater-field-item .repeater-field-header .repeater-field-header-acctions ul li .repeater-field-header-acctions-remove,
#gform_5 .gform-body .repeater-field-item .repeater-field-header .repeater-field-header-acctions ul li .repeater-field-header-acctions-remove,
#gform_5 .gform-body .repeater-field-item .repeater-field-header .repeater-field-header-acctions ul li .repeater-field-header-acctions-toogle{
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  background-color: #ADAFB4;
  color: #121826 !important;
  border-radius: 50%;
  border: none;
  font-size: 11px;
  cursor: pointer;
  line-height: 1;
  padding: 0;
  transition: background-color 0.2s ease;
}
.repeater-icon:before{
    margin-left: .3em;
    margin-top: 0 !important;
    font-size: 12px !important;
}

.repeater-field-header-acctions li i,
.repeater-field-header-title span{
    font-size: 15px !important;
}
.repeater-field-header-title{
    padding-left: 16px !important;
}
.repeater-field-header-acctions{
    text-align: end !important;
      padding: 5px 16px !important;
}

.repeater-field-content .container-repeater-field{
    background-color: #fff;
    grid-row-gap: 3px !important
}
.repeater-field-content .container-repeater-field .ginput_container{
    background: #fff;
}
.repeater-field-content .container-repeater-field .gfield .ginput_container input{
    width: 90%;
}
.gfield_validation_message{
    padding: 0 16px !important;
}
#field_4_42 .ginput_container{
    display: none;
}
#field_4_43 .ginput_container{
    background-color: transparent !important;
}
/*#field_4_43 .ginput_container input{*/
/*    margin: 0 -10px !important;*/
/*}*/
body .ginput_container .repeater-field-footer{
  margin: 0 !important;
}

.repeater-field-footer{
  background: #fff !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  text-align: start !important;
  margin: 0 !important;
}

body .set-spacing .repeater-field-footer{
    margin-top: 16px !important;
}

.repeater-field-footer .gf-repeater-field-button-add {
    background-color: transparent !important;
    border-radius: unset !important;
    width: 100%;
    height: 52px;
    padding: 16px 16px 16px 45px!important;
    color: #F47920 !important;
    text-decoration: none !important;
    display: inline-block !important;
    background-image: url('images/svg-code-48x48-orange.png') !important;
    background-repeat: no-repeat !important;
    background-position: 10px center !important;
    background-size: 25px auto !important;
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.05);
}
body .gf-repeater-field-button-add:hover {
    box-shadow: none !important;
}
#gf_progressbar_wrapper_4{
    display: none !important;
}

.gform-body .gform_page .gform_page_fields .gform_fields .ginput_container{
    text-align: right;
  width: 100%;
  font-size: 14px;
  background-color: #fff;
  margin: 0 auto;
  padding: 6px 0;
}
.gform-body .gform_page .gform_page_fields .gform_fields .ginput_container input{
    width: 96%;
    margin: 0 6px;
    /*padding: 20px 4px 17px 0 !important;*/
}

.gform-body .gform_page .gform_page_fields .gform_fields .ginput_container input[type="text"],
.gform-body .gform_page .gform_page_fields .gform_fields .ginput_container input[type="email"]{
    padding-right: 30px !important;
    background-image: url('/wp-content/themes/aspirelifestyles-vib/images/icons/Vector-right.svg') !important;
    background-repeat: no-repeat !important;
    background-position: calc(100% - 10px) center !important;
    background-size: 7px auto !important;
    color: #121826;
    font-weight: 500;    
}
.gform-body .gform_page .gform_page_fields .gform_fields .ginput_container select{
    padding-right: 30px !important;
    background-image: url('/wp-content/themes/aspirelifestyles-vib/images/icons/Vector-right.svg') !important;
    background-repeat: no-repeat !important;
    background-position: calc(100% - 10px) center !important;
    background-size: 7px auto !important;
}

/*----- CONFIRM FORM -------*/
.cinfo{
    display: flex; 
    justify-content: space-between; 
    padding: 16px 19px; 
    border-bottom: 1px solid #f3f4f6;
}
.cinfo span{
  color: #4D5562;
  font-size: 15px;
  font-weight: 400;
}
.cinfo strong{
    font-size: 15px;
    font-weight: 500;
    line-height: 20px;
    text-align: end;
    width: 65%;
    color: #121826;
}
.list-confirm{
    background: #fff;
    box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.05);
}
.confirm-passenger-info h4{
    font-size: 16px;
  font-weight: 600;
  padding: 25px 16px 10px 16px;
  line-height: 22px;
}
/* Ẩn nút Previous mặc định của Gravity Forms */
/*.gform_wrapper .gform_page_footer input[type="button"].gform_previous_button,*/
/*.gform_wrapper .gform_page_footer button.gform_previous_button {*/
/*    display: none !important;*/
/*}*/
/**/
.confirm-ct a{
    color: #4D5562;
    text-decoration: underline !important;
}

/* ===== FIELD ROW ===== */
.booking-ui .gfield .ginput_container{
    border-bottom: 1px solid #eee;
}
.booking-ui .gfield {
    /*background: #fff;*/
    /*padding: 5px 15px;*/
    /*border-bottom: 1px solid #eee;*/
    position: relative;
}
.booking-ui #field_4_23,
.booking-ui #field_4_9,
.booking-ui #field_4_26,
.booking-ui #field_4_27,
.booking-ui #field_5_23,
.booking-ui #field_5_29{
  background: transparent !important;
  border: none;
}
.booking-ui #field_4_23 p,
.booking-ui #field_4_9 p,
.booking-ui #field_4_26 p,
.booking-ui #field_4_27 p,
.booking-ui #field_5_23 p,
.booking-ui #field_5_29 p{
  color: #4D5562;
}
/* Label bên trái */
/*.booking-ui .gfield::before {*/
/*    content: attr(data-label);*/
/*    position: absolute;*/
/*    left: 16px;*/
/*    top: 50%;*/
/*    transform: translateY(-50%);*/
/*    font-size: 14px;*/
/*    color: #333;*/
/*}*/

/* Input */
.booking-ui input,
.booking-ui textarea,
.booking-ui select {
    border: none !important;
    background: transparent;
    box-shadow: none !important;
    text-align: right;
    width: 100%;
    font-size: 16px;
    padding: 12px 12px !important;
}

/* Placeholder màu cam */
.booking-ui input::placeholder,
.booking-ui textarea::placeholder {
    color: #F47920;
    font-weight: 500;
    /* padding-right: 5px; */
}

/* Mũi tên > */
.booking-ui .gfield::after {
    content: "";
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #999;
    font-size: 19px;
}

/* Button */
.booking-ui #gform_submit_button_4,
.booking-ui #gform_submit_button_5,
.booking-ui #gform_submit_button_4:hover,
.booking-ui #gform_submit_button_5:hover {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 12px 12px;
  margin: 0 10px;
  background: linear-gradient(135deg, #ff8a00, #ff5f00);
  border-radius: 30px;
  color: white;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  line-height: 22px;
}
/*
.booking-ui #gform_submit_button_4:hover,
.booking-ui #gform_submit_button_5:hover{
  opacity: 0.9;
  border: 1px solid transparent;
  background: transparent;
  background-image: linear-gradient(135deg, #ff8a00, #ff5f00);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.booking-ui #gform_submit_button_4:hover,
.booking-ui #gform_submit_button_5:hover{
    position: relative;
    border: 1px solid #ff8a00 !important;
}
*/

/* Full width button Gravity Forms */
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_footer button[type="submit"] {
    width: 100%;
    display: block;
}

.booking-lounge-info .lounge-list .lounge-thumb img {
    width: 90px !important;
    height: auto !important;
}
.booking-lounge-info .lounge-list .lounge-info h3{
  font-size: 15px;
  font-weight: 500;
  line-height: 20px;
}

.gform_wrapper .gform_required_legend {
    display: none !important;
}
.gform-theme--foundation .gform_fields{
  grid-column-gap: 0;
  grid-row-gap: 0 !important;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: repeat(auto-fill, auto);
  inline-size: 100%;
}


/* FOCUS INPUT*/
.booking-ui .gfield {
  position: relative !important;
}

/* label giả */
/*.booking-ui .gfield::before{*/
/*  content: attr(data-label) !important;*/
/*  position: absolute;*/
/*  left: 16px;*/
/*  top: 50%;*/
/*  transform: translateY(-50%);*/
/*  font-size: 14px;*/
/*  color: #333;*/
/*  transition: all .25s ease;*/
/*  pointer-events: none;*/
/*  background: #fff;*/
/*  padding: 0;*/
/*  z-index: 99;*/
/*}*/

.booking-ui .gfield:focus-within::before {
  top: -6px;
  font-size: 12px;
  color: #F47920;
  transform: none;
}
.gfield_required_asterisk{
    /*color: red !important;*/
    display: none !important;
}

/* khi đã nhập */
.booking-ui .gfield.filled::before {
  top: -6px;
  font-size: 12px;
  transform: none;
}



/*  */
.booking-success-wrapper{
  position:fixed;
  inset:0;
  backdrop-filter:blur(6px);
  background:rgba(0,0,0,.35);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9999;
}

.booking-success-card{
  position: relative;
  background:#fff;
  padding:40px;
  max-width: 450px;
  margin: 0 30px;
  border-radius:16px;
  text-align:center;
  animation:popupScale .4s ease;
}
.booking-success-card h2{
  font-size: 22px;
  font-weight: bold;
}
.popup-close{
  position:absolute;
  top:12px;
  right:14px;
  font-size:22px;
  text-decoration:none;
  color:#333;
  cursor:pointer;
}

.popup-close:hover{
  color:#ff7a00;
}

@keyframes popupScale{
  0%{
    transform:scale(.8);
    opacity:0;
  }
  100%{
    transform:scale(1);
    opacity:1;
  }
}

.success-icon{
  width:60px;
  height:60px;
  margin:auto;
}

.success-icon svg{
  width:100%;
  height:100%;
  stroke:#ff7a00;
  stroke-width:4;
  fill:none;
  stroke-dasharray:50;
  stroke-dashoffset:50;
  animation:tick .6s ease forwards;
}

@keyframes tick{
  to{
    stroke-dashoffset:0;
  }
}

.success-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  margin-top:20px;
}

.btn-outline{
  border:1px solid #ddd;
  padding:10px 18px;
  border-radius:25px;
}

.btn-primary{
  background:linear-gradient(90deg,#ff9a2f,#F47920);
  color:#fff;
  padding:10px 18px;
  border-radius:25px;
}

.redirect-text{
  margin-top:15px;
  font-size:13px;
  color:#888;
}
.gform_validation_errors{
    display: none !important;
}
/*  */

/*Verify check-in form*/

.xdsoft_datetimepicker .xdsoft_calendar th{
    color: #666 !important;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default,
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current{
    background: #F47920 !important;
    box-shadow: #F47920 0 1px 3px 0 inset !important;
    color: #fff;
    font-weight: 700;
}

.booking-time-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  /*background: #f4792;*/
}
.booking-time-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.55);
}
.booking-time-modal__box {
  position: fixed;
  bottom: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.booking-time-modal__badge {
  position: absolute;
  top: -12px;
  left: 18px;
  background: #ff8a1f;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 4px;
}
.booking-time-modal__content {
  background: #fff;
  border-radius: 20px 20px 0 0;
  text-align: center;
  padding: 35px 20px 100px 20px;
  position: relative;
}
.booking-time-modal__content h3 {
  margin: 0 0 16px;
  font-size: 22px;
  font-weight: 700;
  color: #121826;
  line-height: 28px;
}
.booking-time-modal__content p {
  margin: 0;
  font-size: 17px;
  line-height: 24px;
  color: #4D5562;
}
.booking-time-modal__btn {
  border: none;
  background: linear-gradient(90deg, #ff8a1f, #ff6f1f);
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  padding: 12px 28px;
  border-radius: 999px;
  cursor: pointer;
}
.booking-date-disabled,
.booking-time-disabled {
  pointer-events: none !important;
  opacity: 0.35 !important;
  cursor: not-allowed !important;
}

#gform_5 .gform_ajax_spinner_5,
#gform_5 .gf_ajax_spinner,
#gform_wrapper_5 .gform_ajax_spinner_5,
#gform_wrapper_5 .gf_ajax_spinner,
#gform_wrapper_5 img.gform_ajax_spinner_5 {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}
#gform_4 #gform_fields_4 select,
#gform_5 #gform_fields_5 select{
  display: flex !important;
  align-items: center !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  padding-right: 30px !important;
  height: auto !important;
  line-height: normal !important;
  background-image: none;
}
#gform_5 #gform_fields_5 select .gf_placeholder{
    display: none;
}

#gform_4 #gform_fields_4 select.gfield_select,
#gform_5 #gform_fields_5 select.gfield_select {
    color: #F47920 !important; 
    font-weight: 500;
    width: 96%;
    margin: 0 6px;
}

#gform_4 #gform_fields_4 select.gfield_select:not([value=""]):not(:has(option[value=""]:checked)),
#gform_5 #gform_fields_5 select.gfield_select:not([value=""]):not(:has(option[value=""]:checked)) {
    color: #4D5562 !important; 
}

#gform_4 #gform_fields_4 select.gfield_select option,
#gform_5 #gform_fields_5 select.gfield_select option {
    color: #4D5562 !important; 
}

#gform_5 #gform_fields_5 select.gfield_select option[value=""],
#gform_5 #gform_fields_5 select.gfield_select option:first-child {
    color: #4D5562 !important;
}
#gf_progressbar_wrapper_5{
    display: none !important;
}
#gform_5 .gform-body .gform_page .gform_page_fields .gform_fields #field_5_36 .ginput_container{
    background: transparent;
}
#gform_5 .gform-body .gform_page .gform_page_fields .gform_fields #field_5_36 .container-repeater-field{
    grid-row-gap: 3px !important;
}
#gform_5 .gform-body .gfield--type-repeater_end{
    padding: 0 !important;
}


/*#gform_page_5_1:has(#gform_page_5_2) {*/
/*    display: block !important;*/
/*    visibility: visible;*/
/*    height: auto;*/
/*}*/

/* Ẩn các thành phần khác thuộc step 1 đi, chỉ chừa lại step 2 */
/*#gform_page_5_1:has(#gform_page_5_2) > .gform_page_fields,*/
/*#gform_page_5_1:has(#gform_page_5_2) > .gform_page_footer {*/
/*    display: none !important;*/
/*}*/

/*#gform_page_5_2 {*/
/*    display: block !important;*/
/*}*/


#gform_page_4_1 .gform-page-footer .gform_next_button,
#gform_page_4_2 .gform-page-footer .gform_next_button,
#gform_page_5_1 .gform-page-footer .gform_next_button,
#gform_page_5_2 .gform-page-footer .gform_next_button {
  border-radius: 30px;
  max-width: 100%;
  width: 100%;
  font-size: 16px;
  padding: 13px 24px 13px 24px !important;
  margin: 0 10px;
  background: linear-gradient(135deg, #ff8a00, #ff5f00);
  line-height: 22px;
}
#gform_page_4_1 .gform-page-footer .gform_next_button:disabled,
#gform_page_4_2 .gform-page-footer .gform_next_button:disabled,
#gform_page_5_1 .gform-page-footer .gform_next_button:disabled,
#gform_page_5_2 .gform-page-footer .gform_next_button:disabled {
    opacity: 1 !important;
    color: #9DA3AE !important;
    background: #E5E7EB !important;
}
#gform_page_4_1 .gform-page-footer .gform_previous_button svg,
#gform_page_4_2 .gform-page-footer .gform_previous_button svg,
#gform_page_5_1 .gform-page-footer .gform_previous_button svg,
#gform_page_5_2 .gform-page-footer .gform_previous_button svg{
    width: 25px !important;
    height: 25px !important;
}
#gform_page_4_1 .gform-page-footer .gform_previous_button,
#gform_page_4_2 .gform-page-footer .gform_previous_button,
#gform_page_5_1 .gform-page-footer .gform_previous_button,
#gform_page_5_2 .gform-page-footer .gform_previous_button{
    display: none !important;
}
#gform_page_4_1 .gform-page-footer,
#gform_page_4_2 .gform-page-footer,
#gform_page_5_1 .gform-page-footer,
#gform_page_5_2 .gform-page-footer{
    margin-top: 16px !important;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 99;
    width: 100%;
    background: #f9fafb;
    padding-bottom: 20px;
    padding-top: 10px;
}
#gform_page_4_1 .gform_page_fields,
#gform_page_4_2 .gform_page_fields,
#gform_page_5_1 .gform_page_fields,
#gform_page_5_2 .gform_page_fields{
    padding-bottom: 70px;
}

#gform_5 .gform-body .ginput_container .repeater-field-header{
    justify-content: end;
}
#field_5_35 .ginput_container{
    display: none;
}


#gform_page_4_2,
#gform_page_5_2{
    position: relative;
}
#gform_page_4_2 .gform-page-footer .gform_previous_button,
#gform_page_5_2 .gform-page-footer .gform_previous_button{
  position: absolute;
  top: 1%;
  left: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

#gform_wrapper_5 > .gform-page-footer {
    display: none !important;
}

.gform-page-footer{
    margin-top: 2px;
}



/* END BOOKING FORM */


/* CHI TIẾT DỊCH VỤ */


/* CARD */
.lounge-card{
  margin:auto;
  /*background:#fff;*/
  /*border-radius:18px;*/
  overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
}

/* IMAGE */
.card-image img{
  width: 100%;
  height: 230px;
  object-fit: cover;
}

/* CONTENT */
.card-content{
  padding: 16px;
}

.title{
  font-size:20px;
  margin-bottom:10px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -1%;
}

.rating{
  color:#ffb400;
  margin-bottom:10px;
}

.info p{
  color: #4D5562;
  font-size: 15px;
  margin-bottom: 6px;
  font-weight: 400;
  line-height: 20px;
}

/* QR BOX */
.qr-box{
  margin: 6px 0 16px 0;
}

.qr-title{
  font-size:15px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0%;
  margin-bottom:10px;
}

.qr-inner{
  display: flex;
  gap: 15px;
  align-items: center;
  background: #f3f4f6;
  padding: 16px 14px 16px 14px;
  border-radius: 10px;
  width: 100%;
}

.qr-inner img{
  width:100px;
  height: 100px;
}

.qr-text span{
  font-size: 15px;
  color: #4D5562;
  line-height: 20px;
  font-weight: 400;
}

.qr-text strong{
  display: block;
  font-size: 15px;
  font-weight: 500;
  line-height: 20px;
}

.qr-text small{
  color:#999;
}

/* META LIST */
.meta-list{
  /*margin: 20px 0;*/
  /*border-top:1px solid #eee;*/
  /*padding: none;*/
}
.meta-list{
    padding: unset !important;
}
.meta-list hr{
    margin: unset !important;
    border-top: 1px solid #f3f4f6;
}
.qr-lot .meta-row span{
    font-size: 15px;
    font-weight: 400;
    color: #4D5562;
    line-height: 20px;
  letter-spacing: 0%;
}
.qr-lot .meta-row{
    border-bottom: none !important;
    padding: 16px 19px;
}
.meta-row{
  display:flex;
  justify-content:space-between;
  /*padding:14px 0;*/
  /*border-bottom:1px solid #eee;*/
}

.meta-row span{
  color: #121826;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0%;
  line-height: 22px;
  align-content: center;
}

.meta-row strong{
  font-size:15px;
  line-height: 20px;
  letter-spacing: 0%;
  font-weight: 500;
}

/* DROPDOWN */
.terms-dropdown{
  /*margin-top:10px;*/
}

.terms-toggle{
  width:100%;
  background:#fff;
  border:none;
  font-size: 15px;
  font-weight:500;
  text-align:left;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.terms-dropdown .terms-toggle .arrow{
  transition: all 0.3s ease;
}

/* hidden mặc định */
.terms-content{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.35s ease;
  color:#666;
  font-size:14px;
}

/* khi mở */
.terms-dropdown.active .terms-content{
  max-height:100%;
  padding:10px 0;
}

.terms-dropdown.active .arrow{
  transform:rotate(90deg);
}

/* END CHI TIẾT */


/* HISTORY */
.history-box h4{
    font-size: 19px;
    font-weight: 600;
    padding: 20px 20px;
}

.history-card-content{
  /*background: #fff;
  padding: 16px;*/
  /*border-radius: 10px;*/
  /*box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.05);*/
}
.history-card-content.latest-booking {
    background: #fff;
}
.page-template-page-qr-code-manager .history-card-content {
  background: #fff;
}
.history-card-content .meta-list {
  border-top:1px solid #eee;
}
.history-card-content .meta-his .meta-row{
    padding: 16px 19px;
    border-bottom: 1px solid #f3f4f6;
    margin-bottom: 0;
}
.history-card-content .box-airport .inner {
    padding: 16px 19px;
    display:flex;
    gap:15px;
    align-items:center;
    background: #fff;
    /*border-bottom: 1px solid #F3F4F6;*/
}

.history-card-content .box-airport .inner img{
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 4px;
}
.history-card-content .box-airport .inner .des-air{
    font-size: 17px;
    font-weight: bold;
}

.history-card-content .box-airport .inner .des-air span{
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 400;
  color: #4D5562;
  line-height: 20px;
  height: 18px;
  
}
.history-card-content .box-airport .inner .des-air h3{
  font-size: 15px;
  font-weight: 500 !important;
  line-height: 20px;
  color: #212529;
}

/* END HISTORY */

/* QUẢN LÝ MÃ ĐẶT CHỖ  */

.manager-qr .list-contents-services .tabs .tab{
    height: 40px;
    line-height: 40px;
    padding: 0 16px;
    box-sizing: border-box;
    /*box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.05);*/
}

.manager-qr .list-contents-services .tabs .tab.active{
    color: #121826;
    background: #fff;
    border-radius: 100px;
    box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.05);
}
.manager-qr .list-contents-services .tabs .tab.active::after{
  background: transparent;
}
.manager-qr .list-contents-services .tabs{
  border-bottom: none;
  margin-bottom: 16px;
  padding: 5px 16px;
}

.manager-qr .list-contents-services #phongcho{
  background: transparent;
  box-shadow: none;
}
.manager-qr .list-contents-services #phongcho .lounge-list .meta-row{
    padding: 16px;
    border-bottom: 1px solid #f3f4f6;
    margin-bottom: 0;
}

.topp,
.card-contents .qr-box,
.card-contents .meta-list,
.card-contents .terms-dropdown{
    background: #fff;
    padding: 16px 19px;
    /*box-shadow: 0 3px 5px -3px rgba(0, 0, 0, 0.14);*/
}

.noti-empty{
  position: absolute;
  text-align: center;
  bottom: 50%;
  left: 0;
  right: 0;
  padding: 20px;
}
.noti-empty h4{
    font-size: 20px;
    font-weight: 600;
    line-height: 24px;
    letter-spacing: -1%;
    padding: 8px;
}
/* END QUẢN LÝ */


/* BOOKING FORM */
#gf-popup-overlay,
#gf-popup-message-overlay,
#gf-popup-loading,
#gf-popup-delete-overlay {
    padding: 0;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    background: rgba(0, 0, 0, 0.3);
    text-align: center;
    justify-content: center;
    display: grid;
    align-items: center;    
}
#gform_ajax_spinner_4, #gform_ajax_spinner_5 {display: none !important;}
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
#gf-popup-loading .spinner {
  animation: spin 1s linear infinite;
}
#gf-popup-title {
    margin-bottom: 35px;
    font-size: 16px;
    font-weight: 600;
    line-height: 22px;
    text-align: center;
}
#gf-popup-delete .gf-popup-container{
    height: 90% !important;
}
.gf-popup-container {
    padding: 35px 20px 100px 20px;
    height: 100%;
    position: relative;
    background: #fff;
    border-radius: 40px 40px 0 0;
}
.gf-companion .gf-popup-container {
    padding: 35px 20px 50px 20px;
}
.gf-companion .gf-popup-container #gf-popup-save {
    display: none;
}
#gf-popup-message .gf-popup-container {
    padding: 35px 35px 100px 35px;
    border-radius: 20px 20px 0 0;
}
.gf-popup-container .btn-book,
.booking-time-modal__box .btn-book {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    width: calc(100% - 40px);
}
.gf-popup-container .btn-book:disabled {
    color: #9DA3AE !important;
    background: #E5E7EB !important;
}
#gf-popup-delete .btn-book {
    width: 43%;
    left: auto;
}
#gf-popup-delete .btn-book.btn-book-close {
    right: auto;
    color: #000;
    border: solid 3px #E5E7EB;
    background: none;
}
#gf-popup-message .gf-popup-container .btn-book,
#booking-time-modal .booking-time-modal__box .btn-book {
    margin: 0 0 0 -75px;
    left: 50%;
    right: auto;
    width: 150px;
}
#gf-popup-message p {
    line-height: 150%;
    font-size: 110%;
}
#gf-popup-message h3 {
    margin: 20px 0;
}
#gf-popup-body .cinfo {
    margin: 0 -20px;
}
.companion-info .cinfo {
    padding: 0 20px 20px 20px;
}
.companion-info {
    background-image: url(/wp-content/themes/aspirelifestyles-vib/images/icons/Vector-right.svg);
    background-repeat: no-repeat !important;
    background-position: calc(100% - 10px) center !important;
    background-size: 7px auto !important;
}
.companion-info h5 {
    font-size: 16px;
    font-weight: 500;
    padding: 20px 20px 0 20px;
}
/* Ẩn thông báo lỗi */
.gfield_validation_message {
    display: none !important;
}
.gfield:has(.gfield_validation_message) .gfield_label,
.gfield:has(.gfield_validation_message) .gf-popup-display .gf-left {
    color: #ff0000 !important;
}

.gf-popup-display {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:15px;
    border-bottom:1px solid #ddd;
    cursor:pointer;
}
.gf-right{
    color:#ff6b00;
}
.gf-popup-data {
    padding: 0;
    position: fixed;
    bottom: 0;
    right: 0;
    width: 100%;
    /*height: 500px;*/
    z-index: 99999999;
}
#gf-popup-message.gf-popup-data {
    height: 400px;
}
#gf-popup-delete.gf-popup-data {
    height: 350px;
}
#gf-popup-delete.gf-popup-data,
#gf-popup-message, 
#booking-time-modal .booking-time-modal__box{
    position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 400px;
  max-height: 90vh;
  overflow-y: auto;
  z-index: 99999999;
}
#gf-popup-delete.gf-popup-data .gf-popup-container,
#gf-popup-message .gf-popup-container,
#booking-time-modal .booking-time-modal__box .booking-time-modal__content{
    border-radius: 12px;
}
#gf-popup-delete .gf-popup-container .gf-popup-message-body h3{
    font-size: 22px;
   font-weight: 700;
   line-height: 28px;
}
#gf-popup-delete .gf-popup-container .gf-popup-message-body p{
    font-size: 17px;
   font-weight: 400;
   line-height: 24px;
}

.gf-popup-data.gf-data-text,
.gf-popup-data.gf-data-number {
    height: 500px;    
}
.gf-popup-data.gf-data-nationality {
    height: calc(100% - 30px);
}
.gf-popup-data.gf-data-datetime {
    height: 580px;
}
.gform-body .gform_page .gform_page_fields .gform_fields .gf-popup-display {
    text-align: right;
    width: 100%;
    font-size: 15px;
    background-color: #fff;
    margin: 0 auto;
    padding: 8px 0;
    position: relative;
    /*height: 51px;*/
    border-bottom: 1px solid #eee;
}
.gform-body .gform_page .gform_page_fields .no-line .ginput_container,
.gform-body .gform_page .gform_page_fields .gform_fields .no-line .gf-popup-display{
    border-bottom: none !important
}
.gform-body .gform_page .gform_page_fields .gform_fields .gf-popup-display .gf-left {
    position: absolute;
    top: 0;
    left: 16px;
    background: #fff;
    height: 50px;
    align-content: center;
    color: #4D5562;
    margin: 2px 0;
    display: var(--gf-local-display);
    font-family: var(--gf-local-font-family);
    font-size: var(--gf-local-font-size);
    font-style: var(--gf-local-font-style);
    font-weight: 500;
    letter-spacing: var(--gf-local-letter-spacing);
    line-height: var(--gf-local-line-height);
    margin-block: var(--gf-local-margin-y);
    margin-inline: var(--gf-local-margin-x);                
}
.gform-body .gform_page .gform_page_fields .gform_fields .gf-popup-display .gf-left .gfield_required {
    margin-left: 5px;
}
.gform-body .gform_page .gform_page_fields .gform_fields .gf-popup-display .gf-right {
    margin: 0 6px;
    padding: 4px 0;
    width: 96%;
    display: block;
    /*height: 38px;*/
    line-height: 200%;
    padding-right: 30px !important;
    background-image: url(/wp-content/themes/aspirelifestyles-vib/images/icons/Vector-right.svg);
    background-repeat: no-repeat !important;
    background-position: calc(100% - 10px) center !important;
    background-size: 7px auto !important;
    color: #F47920;
}
#gform_4 .gform-body .gform_page .gform_page_fields .gform_fields .ginput_container .repeater-field-warp-item-data .repeater-field-warp-item .repeater-field-item .gf-popup-display .gf-right{
    background-image: none !important;
}
.gform-body .gform_page .gform_page_fields .gform_fields .gf-popup-display .gf-right.gf-inserted{
    color: #121826;
    font-weight: 500;
}
.gform-body .gform_page .gform_page_fields .gform_fields #field_4_19 .gf-popup-display .gf-right.gf-inserted,
.gform-body .gform_page .gform_page_fields .gform_fields #field_5_19 .gf-popup-display .gf-right.gf-inserted {
    text-indent: 170px;
}
#gf-popup-close {
    position: absolute;
    top: 30px;
    right: 35px;
}
.fieldDes {
    margin: 30px 0 20px 0;
    display: block;
    font-size: 20px;
    font-weight: 600;
    line-height: 20px;
}
.gf-popup-text {
    padding: 0 10% 0 0;
    width: 100%;
    height: 30px;
    border: none !important;
    font-size: 15px;
    font-weight: 500;
    line-height: 20px;
}
.gf-popup-text::-webkit-outer-spin-button,
.gf-popup-text::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.gf-popup-text[type=number] {
    -moz-appearance: textfield;
}
.gf-popup-text:focus-visible {
    border: none !important;
    outline: 0;
}
.fieldPlaceholder {
    font-size: 12px;
    font-weight: 500;
    line-height: 16px;
}
.fieldText {
    padding: 10px;
    margin-bottom: 10px;
    border: solid 1px #000;
    border-radius: 5px;
    position: relative;
}
.fieldClear {
    position: absolute;
    bottom: 25px;
    right: 15px;
    border: none;
    background: none;
    z-index: 99999;
}
.radio-groups {
    margin: 0 -20px;
    max-height: calc(100vh - 300px);
    overflow-y: scroll;
    display: block;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.radio-groups::-webkit-scrollbar {
    display: none;
}
.gf-popup-radio-item {
    display: flex;
    padding: 15px 20px;
    border-bottom: solid 1px #ccc;                
}
.gf-popup-radio-item span.fi {
    margin-right: 10px;
    border-radius: 5px !important;
    width: 24px !important;
    height: 20px !important;
    overflow: hidden;
}
.gf-popup-radio-item input {
    margin-left: auto;
}
.gf-popup-radio-item input[name="gf-popup-radio"] {
    margin: 0 0 0 auto;
	appearance: none;
	-webkit-appearance: none;
	width: 22px;
	height: 22px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: red;
	position: relative;
	cursor: pointer;
	flex-shrink: 0;
}
.gf-popup-radio-item input[name="gf-popup-radio"]:not(:checked) {
	background: #fff;
	border: solid 3px #E5E7EB;
}
.gf-popup-radio-item input[name="gf-popup-radio"]:checked {
	background: #eeeeee;
}
.gf-popup-radio-item input[name="gf-popup-radio"]:checked::after {
	content: "";
	position: absolute;
	width: 15px;
	height: 15px;
	background: #121826;
	border: solid 3px #FFF;
	border-radius: 50%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.gf-popup-container .search-box {
    padding: 0;
}
.gf-popup-container .search-box input {
    padding: 8px 10px 8px 40px;
}
.gf-popup-container .search-box .search-icon {
    left: 10px;
}

#gf-calendar {
    margin: 0 -20px;
    min-height: 340px;
}
.ui-datepicker {
    width: 100%;
    padding: 0;
    border: 0;
    background: #fff;
    font-family: inherit;
    box-sizing: border-box;
}
.ui-datepicker-header {
    position: relative;
    background: transparent;
    padding: 0 20px 15px 20px;
    margin: 0 0 15px;
    /*border-bottom: 1px solid #ECECEC;*/
}
.ui-datepicker-title {
    text-align: left;
    font-size: 16px;
    font-weight: 600;
    line-height: 22px;
}
.ui-datepicker-prev,
.ui-datepicker-next {
    position: absolute;
    top: 3px;
    width: 34px;
    height: 34px;
    cursor: pointer;
}
.ui-datepicker-prev {
    right: 55px;
    left: auto;
}
.ui-datepicker-next {
    right: 20px;
}
.ui-datepicker-prev span,
.ui-datepicker-next span {
    display: none;
}
.ui-datepicker-prev:before,
.ui-datepicker-next:before {
    display: block;
    font-size: 25px;
    color: #000;
    line-height: 25px;
    text-align: center;
}
.ui-datepicker-prev:before {
    content: "‹";
}
.ui-datepicker-next:before {
    content: "›";
}
.ui-datepicker table {
    padding: 0 20px;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}
.ui-datepicker thead tr {
    border-bottom: 1px solid #ECECEC;
}
.ui-datepicker thead th {
    /*padding: 18px 0;*/
    font-size: 15px;
    font-weight: 500;
    color: #9CA3AF;
    text-align: center;
}
.ui-datepicker td a,
.ui-datepicker td span {
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: none;
    background: transparent;
    color: #121826;
    font-size: 15px;
    font-weight: 500;
}
.ui-datepicker .ui-state-highlight {
    background: transparent !important;
    color: #121826 !important;
    position: relative;
}
.ui-datepicker .ui-state-highlight:before {
    position: absolute;
    width: 40px;
    height: 40px;
    border: 2px solid #E5E7EB !important;
    border-radius: 50px;
    content: "";
}
.ui-datepicker .ui-state-active {
    background: transparent !important;
    color: #121826 !important;
    position: relative;
}
.ui-datepicker .ui-state-active:before {
    position: absolute;
    width: 40px;
    height: 40px;
    border: 2px solid #F97316 !important;
    border-radius: 50px;
    content: "";
}
.ui-datepicker .ui-state-disabled span {
    color: #D1D5DB !important;
    opacity: 1;
}
.ui-datepicker .ui-state-disabled::before{
    color: #D1D5DB !important;
    opacity: 1;
}
.ui-datepicker-week-end a {
    color: #121826;
}

.ui-widget.ui-widget-content {
    border: 0;
}

.ui-widget-content {
    background: transparent;
}
.ui-state-default {
    border: 0 !important;
}
.ui-datepicker td {
    padding: 10px 0;
    text-align: center;    
}
.gf-time {
    display: flex;
}
.gf-time select {
    padding: 5px 15px;
    margin-left: auto;
    color: #000;
    background: #F3F4F6;
    border: none;
    border-radius: 8px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

#field_4_43 .gfield_label.gform-field-label {
    display: none;
}
#field_4_43 .repeater-field-warp-item .gfield_label.gform-field-label {
    display: block;
}
#field_5_36 .gfield_label.gform-field-label {
    display: none;
}
#field_5_36 .repeater-field-warp-item .gfield_label.gform-field-label {
    display: block;
}
/* END BOOKING FORM */

.late_voucher {
    padding: 30px 25px 10px 25px;
    background: #FFF6EB;
    display: block;
    margin: -20px 19px 0 19px;
    border-radius: 0 0 22px 22px;
    position: relative;
    z-index: 2;
    font-size: 90%;
}

.link-color.link-grey {
    color: #121826;
}
.popup_booker_passport .gf-right.gf-inserted,
.popup_booker_flyno .gf-right.gf-inserted {
    text-transform: uppercase;
}
.textUppercase #gf-popup-input {
    text-transform: uppercase;
}

/***** FIRE THEME *****/
.link-color,
span.link-color {
    color: #ff6a00;
}
.tab.active::after {
  background: linear-gradient(90deg,#FE9B25, #FF5922);
}

/***** ICE THEME *****/
.theme-ice .points-card {
  background: linear-gradient(180deg, #007FFF, #134DD3);
}
.theme-ice .link-color,
.theme-ice span.link-color {
    color: #0F5BDF;
}
.theme-ice .tab.active::after {
    background: linear-gradient(90deg, #007FFF, #134DD3);
}
.theme-ice .btn-qr {
    background: linear-gradient(135deg, #007FFF, #134DD3);
    border: 1px solid #007FFF;
}
.theme-ice .btn-book {
    background: linear-gradient(135deg, #007FFF, #134DD3);
}
.theme-ice .manager-qr .list-contents-services .tabs .tab.active {
    color: #007FFF;
    border-bottom: 1px solid #134DD3;
    box-shadow: 0px 2px 5px #134dd31a;
}
.theme-ice .gform-body .gform_page .gform_page_fields .gform_fields .gf-popup-display .gf-right {
    color: #0F5BDF;
}
.theme-ice .gform-body .gform_page .gform_page_fields .gform_fields .gf-popup-display .gf-right.gf-inserted {
    color: #121826;
}
.theme-ice .repeater-field-footer .gf-repeater-field-button-add {
    color: #0F5BDF !important;
    background-image: url('images/svg-code-48x48-blue.png') !important;
}
.theme-ice #gform_page_4_1 .gform-page-footer .gform_next_button,
.theme-ice #gform_page_4_2 .gform-page-footer .gform_next_button,
.theme-ice #gform_page_5_1 .gform-page-footer .gform_next_button,
.theme-ice #gform_page_5_2 .gform-page-footer .gform_next_button {
    background: linear-gradient(135deg, #007FFF, #134DD3);
}
.theme-ice .ui-datepicker .ui-state-active::before {
    border: 2px solid #134DD3 !important;
}
.theme-ice .booking-time-modal__icon {
    background: linear-gradient(90deg, #007FFF, #134DD3);
}
.theme-ice .booking-ui #gform_submit_button_4,
.theme-ice .booking-ui #gform_submit_button_5,
.theme-ice .booking-ui #gform_submit_button_4:hover,
.theme-ice .booking-ui #gform_submit_button_5:hover {
    background: linear-gradient(135deg, #007FFF, #134DD3);
}
.theme-ice .sk-orange-card {
    background: linear-gradient(180deg, #007FFF 0%, #134DD3 100%);
}
.theme-ice .sk-tab.active::after {
    background: #134DD3;
}
.theme-ice .sk-bottom-button {
  background: linear-gradient(90deg, #007FFF, #134DD3);
}

/* RESPONSIVE */
@media only screen and (max-width: 992px) {
  .service-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .btn-white {
    padding: 8px 12px 8px 12px;
    width: 100%;
  }

  .detail-top {
    grid-template-columns: 1fr;
  }
  .qr-inner{
      display: flex;
      gap: 15px;
      align-items: center;
      background: #f3f4f6;
      padding: 16px 14px 16px 14px;
      border-radius: 10px;
      width: 100%;
      flex: 1 0 95%;
    }
  
}
@media only screen and (max-width: 767px) {
  .booking-lounge-info .lounge-list .lounge-thumb img{
    width: 81px !important;
    height: 81px !important;
  }
  .booking-lounge-info .lounge-list .lounge-info h3{
    /*font-size: 15px;*/
  }
}


@media (max-width: 600px) {
  .points-card {
    flex-direction: column;
    gap: 20px;
    text-align: center;
  }

  .service-grid {
    grid-template-columns: 1fr;
  }
}
