html {
	-webkit-text-size-adjust: none;
}
html,body {
    min-height: 100%;
    min-height: 100vh;
    /*position: relative;*/
    /*overflow-x: clip;*/
    --bs-body-bg: #1a1a1a;
    --bs-border-color: #3a3a3a;
}
body {
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
    background-color: var(--color-black);
    color: var(--color-white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
}
:focus {
  outline: 0 !important;
}

::selection {
  background: var(--color-black);
  color: var(--color-white);
}

::-moz-selection {
  background: var(--color-black);
  color: var(--color-white);
}
.modal {
    --bs-modal-border-color: #333;
}
.btn-close {
    --bs-btn-close-color: #fff;
    --bs-btn-close-bg: none;
}

p {
	margin-bottom: 0.6rem;
}
a {
	text-decoration: none!important;
	color: #b3b3b3;
}
a:focus {
	outline: none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
  line-height: 1.4;
}
ol, ul {
	padding-left: 1.3rem;
}
/* Make sure embeds and iframes fit their containers. */
embed,
iframe:not([src^="https://www.facebook.com"]),
object,
video {
	max-width: 100%;
	height: auto;
}
img {
    height: auto;
}
img, iframe, embed {
    max-width: 100%;
}
.container, .container-fluid, .container-xxl, .container-xl, .container-lg, .container-md, .container-sm {
    --bs-gutter-x: 40px;
    --bs-gutter-y: 40px;
}
.row:not(.gy-3):not(.gy-4):not(.gy-5) {
  --bs-gutter-y: 20px;
}

.container-fluid {
  max-width: 1960px;
}

*>p:last-child {
  margin-bottom: 0;
}

.text-red {
    color: #f00;
}
.gradient-top::before,
.gradient-bottom::after {
    position: absolute;
    width: 100%;
    height: 29.5202952%;
    max-height: 240px;
    background: linear-gradient(360deg, rgba(0, 0, 0, 0) 0%, #000 100%);
    left: 0;
    content: '';
    z-index: 2;
}
.gradient-top::before {
    top: -1px;
}
.gradient-bottom::after {
    bottom: -1px;
    transform: matrix(1, 0, 0, -1, 0, 0);
}
.luxury-button {
    border-radius: 43px;
}
.luxury-button,
.luxury-button:active,
.luxury-button:focus,
.luxury-button:hover {
    background: #003c91;
}
.luxury-button span {
    display: block;
    font-weight: 700;
    background: linear-gradient(135deg, #c7ac43, #f8f594);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.view-detail.luxury-button span {
    font-weight: normal;
}
.luxury-button-secondary:hover,
.luxury-button-secondary:focus,
.luxury-button-secondary:active,
.luxury-button-secondary {
    background: #cbcbcb;
    color: var(--color-black);
}
#footer-buttons-fixed {
    padding-left: 12px;
    padding-right: 12px;
    width: 100%;
    bottom: 5px;
    z-index: 999;
}
.swiper-slide {
    width: fit-content;
}
.swiper-button-disabled {
    opacity: .2;
    pointer-events: none;
    cursor: default;
}
.cover-wrap {
    position: relative;
    line-height: 0;
}
.cover-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.cover-wrap::after {
    background: rgba(0, 0, 0, 0.2);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    content: '';
}
/*Custom*/
.button {
  display: inline-flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 20px;
  gap: 10px;
  background: var(--color-black);
  border: none;
  position: relative;
  overflow: hidden;
  color: var(--color-white);
  font: normal 500 20px/1.30 'Inter', sans-serif;
  z-index: 1;
}

.button-block {
  width: 100%;
  display: flex;
}

.button::after,
.button::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transform: translate3d(0, 100%, 0);
  z-index: -1;
  pointer-events: none
}

.button::before {
  background-color: #aaa;
  transition: transform .8s cubic-bezier(.52, .08, .18, 1);
}

.button::after {
  background-color: #8e8e8e;
  transition: transform .7s cubic-bezier(.37, .16, .12, 1), background .3s ease-in-out;
}

.button:hover {
  color: var(--color-white);
}

.button:hover::before {
  transform: translate3d(0, 0, 0);
  transition: transform .6s cubic-bezier(.37, .16, .12, 1);
}

.button:hover::after {
  transform: translate3d(0, 0, 0);
  transition: transform .8s cubic-bezier(.52, .08, .18, 1), background .3s ease-in-out;
}

.button-capsule {
  font: normal 300 16px/1.50 'Inter', sans-serif;
  color: #FFF6EA;
  border-radius: 9999px;
  padding: 8px 20px;
  gap: 10px;
}

.button.is-sending {
  background-color: var(--color-black);
  color: var(--color-white);
  pointer-events: none
}

.button.is-sending span {
  opacity: .5
}

.button span {
  font: inherit;
  position: relative;
  transition: opacity .35s cubic-bezier(.52, .08, .18, 1);
  z-index: 1
}

.button-outline {
  background: transparent;
  border: 1px solid var(--color-white);
}

.button-outline:hover {
  color: var(--color-black);
}

.button-outline::before {
  background-color: var(--color-light);
}

.button-outline::after {
  background-color: var(--color-white);
}
#modal-popup-content iframe:not([src^="https://www.facebook.com"]), object, video {
    width: 100%;
    height: 100%;
}
.modal {
    --bs-modal-margin: 12px;
    --bs-modal-zindex: 99999;
}
#modal-popup-content {
    overflow: hidden;
}
#modal-popup-content .close-button {
    width: 30px;
    height: 30px;
    top: 0;
    left: 0;
    border-top: 0;
    border-left: 0;
    border-bottom: 0;
    border-right: var(--color-black) 1px solid;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #1c1c1c;
}
body #modal-popup-content .modal-dialog {
    max-width: unset;
    top: 15px;
    left: 15px;
    width: calc(100vw - 30px);
    height: calc(100vh - 30px);
}
body.has-popup::before {
    display: block;
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 31px;
    background: var(--color-black);
    z-index: 9999;
}
body.has-popup {
    padding-top: 31px;
}

body.has-popup #modal-popup-content .modal-dialog {
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
}
#modal-popup-content .modal-dialog .modal-content {
    height: 100%;
    background: var(--color-black);
}
#header {
    position: fixed;
    top: var(--wp-admin--admin-bar--height);
    left: 0;
    width: 100%;
    background: transparent;
    z-index: 1000;
    /* Quan trọng: Chỉ transition transform và shadow để tối ưu */
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
    will-change: transform;
}

#header.is-visible {
    transform: translateY(0);
}
#header.is-hidden {
    transform: translateY(-100%);
}
#header.is-sticky.has-shadow {
    background: linear-gradient(360deg, rgba(0, 0, 0, 0) 0%, #000 100%);
}

#header>div {
    display: flex;
    padding-top: clamp(13px, 0.29vw + 11.89px, 25px);
    padding-bottom: clamp(13px, 0.29vw + 11.89px, 25px);
}
.logo>img {
    height: clamp(28px, 2.10vw + 19.83px, 44px);
    width: auto;
}

#primary-navigation {
    display: flex;
}
#primary-navigation>ul {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    gap: 24px;
    justify-content: center;
}
#primary-navigation>ul>li>a {
    font: normal 400 16px / 1.38 'Inter', sans-serif;
    font-size: clamp(18px, 0.52vw + 13.96px, 24px);
    color: var(--color-white);
    position: relative;
    z-index: 1;
    display: inline-flex;
    transition: transform .25s cubic-bezier(.55, .055, .675, .19), opacity .25s cubic-bezier(.55, .055, .675, .19), color .8s cubic-bezier(.52, .08, .18, 1);
}

.nav-toggle>a>img {
    width: 32px;
    height: 32px;
    filter: brightness(0) invert(1);
}
body.nav-opened .nav-toggle>a>img:first-child {
    display: none;
}
body:not(.nav-opened) .nav-toggle>a>img:last-child {
    display: none;
}
.overlay-link {
    font-size: 0;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    z-index: 10;
    cursor: pointer;
}
.section-title {
    margin: 0;
    font: normal 600 clamp(36px, 2.67vw + 25.60px, 64px) / 1.25 'Inter', sans-serif;
    text-transform: uppercase;
}
main {
    background: var(--color-black);
    position: relative;
    z-index: 2;
}
.main-line {
    width: 100%;
    height: 1px;
    opacity: 0.2;
    display: block;
    content: "";
    background: var(--color-white);
}
#site-footer {
    padding-bottom: var(--footer-buttons-fixed--height) !important;
}
.footer-top {
    padding-top: 40px;
    padding-bottom: 80px;
}
.footer-bottom {
    text-align: center;
    padding-bottom: 32px;
    opacity: .6;
}
.textwidget {
    opacity: .6;
}
.fblock {
    display: flex;
    flex-direction: column;
    gap: 32px;
}
.widget.widget_nav_menu .menu {
    list-style: none;
    padding: 0;
    margin: 0;
}
.section-page-cover {
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.section-page-cover .section-cover {
    height: 100%;
}
.section-page-cover .section-cover img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center center;
}
.section-page-cover .section-cover::after {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.32), rgba(0, 0, 0, 0.32));
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    content: '';
}
.section-page-cover .section-title {
    font: normal 500 clamp(60px, 5.71vw + 37.71px, 120px) / 1.2 'Inter', sans-serif;
    text-transform: capitalize;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
}

.post-loop-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 1 / 0.773286467;
    transform: scale(1);
    transition: transform .8s cubic-bezier(.41, .12, .26, .97), opacity .4s cubic-bezier(.25, .25, .75, .75);
    transform-origin: center center;
    will-change: transform;
    background: var(--color-black);
}
.post-loop-thumbnail:hover img {
    transform: scale(1.04);
}
.post-loop-body {
    padding-top: 16px;
    position: static;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.post-loop-title {
    color: var(--color-white);
    font: normal 500 20px / 1.40 'Inter', sans-serif;
    margin: 0;
    position: relative;
    display: inline-flex;
    flex-wrap: wrap;
    z-index: 1;
}
.post-loop-meta {
    display: flex;
    flex-direction: row;
    gap: 16px;
}
.post-loop-meta>div {
    display: flex;
    flex-direction: column;
    min-width: 80px;
    gap: 4px;
}
.post-loop-meta>div>strong {
    font: normal 400 10px / 1 'Inter', sans-serif;
    color: var(--color-white);
    opacity: .6;
    text-transform: uppercase;
}
.post-loop-meta>div>span {
    font: normal 400 13px / 1 'Inter', sans-serif;
    color: var(--color-light);
}