@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@600;700;800;900&family=Inter:wght@400;500;600;700;800;900&display=swap");

html {
	scroll-behavior: smooth;
}

/* Page Banner - Admin controlled */
.page-banner {
	position: relative;
	width: min(100% - clamp(28px, 8vw, 220px), 1180px);
	margin: clamp(16px, 2vw, 28px) auto 0;
	aspect-ratio: var(--banner-aspect, 16 / 6);
	min-height: clamp(220px, 32vw, 430px);
	max-height: min(78vh, 760px);
	height: auto;
	overflow: hidden;
	background: #f5efe4;
	border-radius: 4px;
	transition: aspect-ratio 240ms ease, min-height 240ms ease;
}

.page-banner .banner-slider {
	display: flex;
	transition: transform 0.5s ease-in-out;
	height: 100%;
}

.page-banner .banner-slide {
	min-width: 100%;
	position: relative;
	overflow: hidden;
	background: #f5efe4;
}

.page-banner .banner-slide::before {
	position: absolute;
	inset: 0;
	content: "";
	background-image: inherit;
	background-position: center;
	background-size: cover;
	filter: blur(18px) saturate(0.95);
	opacity: 0.32;
	transform: scale(1.08);
}

.page-banner .banner-slide img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
	background: transparent;
}

/* Slider Navigation */
.banner-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 50px;
	height: 50px;
	background: rgba(0, 0, 0, 0.5);
	color: #fff;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	transition: background 0.3s;
	z-index: 10;
}

.banner-nav:hover {
	background: rgba(0, 0, 0, 0.8);
}

.banner-nav.prev { left: 20px; }
.banner-nav.next { right: 20px; }

.banner-nav svg {
	width: 24px;
	height: 24px;
}

/* Slider Dots */
.banner-dots {
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 10px;
	z-index: 10;
}

.banner-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.5);
	border: 2px solid #fff;
	cursor: pointer;
	transition: all 0.3s;
}

.banner-dot.active {
	background: #c4a052;
	border-color: #c4a052;
	transform: scale(1.2);
}

/* Slider Responsive */
@media (max-width: 768px) {
	.page-banner {
		width: calc(100% - 24px);
		margin-top: 12px;
		min-height: clamp(190px, 64vw, 380px);
		max-height: 72vh;
	}

	.page-banner .banner-slide img {
		height: 100%;
	}

	.banner-nav {
		width: 40px;
		height: 40px;
		font-size: 16px;
	}

	.banner-nav.prev { left: 10px; }
	.banner-nav.next { right: 10px; }

	.banner-dots {
		bottom: 10px;
	}

	.banner-dot {
		width: 10px;
		height: 10px;
	}
}

body {
	margin: 0;
	font-family: Roboto, Manrope, Arial, sans-serif;
	background: #f5f5f5;
	color: #1a1a1a;
	line-height: 1.5;
}

a {
	color: inherit;
	text-decoration: none;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

button,
input,
textarea {
	font: inherit;
}

.elementor-element[data-element_type="container"] {
	box-sizing: border-box;
}

.e-con-inner {
	width: min(100%, 1200px);
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}

.e-con,
.e-flex,
.e-grid {
	box-sizing: border-box;
}

.e-flex {
	display: flex;
	gap: 24px;
	align-items: center;
}

.e-grid {
	display: grid;
	gap: 24px;
}

.e-parent,
.e-child {
	min-width: 0;
}

.elementor-widget {
	max-width: 100%;
}

.site-sticky,
.site-sticky .e-con-inner,
.site-sticky .elementor-element {
	background: #ffffff !important;
}

.site-sticky .elementor-nav-menu a {
	color: #111;
}

.site-sticky .elementor-nav-menu--dropdown {
	background: #fff;
	color: #111;
}

/* Back to top button */
#back-to-top {
	position: fixed;
	bottom: 24px;
	right: 24px;
	width: 48px;
	height: 48px;
	background: #333;
	color: #fff;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 16px rgba(0,0,0,0.2);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s, visibility 0.3s, transform 0.3s;
	z-index: 999;
}

#back-to-top.visible {
	opacity: 1;
	visibility: visible;
}

#back-to-top:hover {
	background: #555;
	transform: translateY(-4px);
}

.elementor-nav-menu--dropdown[aria-hidden="true"] {
	display: none;
}

.elementor-nav-menu--dropdown {
	background: #333;
	color: #fff;
	border-radius: 16px;
	padding: 12px 0;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.18);
}

.elementor-nav-menu--main {
	display: flex;
	align-items: center;
}

.elementor-menu-toggle {
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.elementor-menu-toggle .elementor-menu-toggle__icon--close {
	display: none;
}

.elementor-menu-toggle.is-open .elementor-menu-toggle__icon--open {
	display: none;
}

.elementor-menu-toggle.is-open .elementor-menu-toggle__icon--close {
	display: inline-block;
}

.elementor-nav-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.elementor-menu-toggle .e-font-icon-svg {
	color: #111;
}

.elementor-nav-menu a {
	display: block;
	padding: 12px 18px;
	color: #111 !important;
}

.site-sticky .elementor-nav-menu a {
	color: #111 !important;
}

.elementor-nav-menu .elementor-item {
	color: #111 !important;
	opacity: 1 !important;
}

.elementor-nav-menu .elementor-item:hover,
.elementor-nav-menu .elementor-item.elementor-item-active {
	color: #333 !important;
	opacity: 1 !important;
}

.site-sticky .elementor-nav-menu--dropdown {
	background: #fff;
	color: #111;
	box-shadow: 0 8px 30px rgba(0,0,0,0.15);
}

.elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 24px;
	border-radius: 999px;
	background: #444;
	color: #fff;
	border: 0;
	text-decoration: none;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.elementor-button:hover {
	transform: translateY(-2px);
}

.elementor-gallery__container {
	display: grid;
	gap: 12px;
}

.elementor-spacer-inner {
	height: 1px;
}

.elementor-heading-title {
	margin: 0;
	line-height: 1.1;
}

.elementor-widget-text-editor p {
	margin: 0 0 12px;
}

.elementor-widget-image img {
	width: 100%;
	height: auto;
}

@media (min-width: 768px) {
	.elementor-nav-menu {
		display: flex;
		gap: 8px;
	}

	.elementor-nav-menu a {
		padding: 10px 14px;
	}
}

@media (max-width: 767px) {
	.e-con-inner {
		padding-left: 16px;
		padding-right: 16px;
	}

	.e-flex,
	.e-grid {
		gap: 16px;
	}
}

/* Header logo stability */
.elementor-location-header .elementor-widget-image a,
.elementor-location-header .elementor-widget-image img {
	display: block;
}

.elementor-location-header .elementor-widget-image img {
	width: auto;
	max-width: 100%;
	height: auto;
	object-fit: contain;
}

.elementor-location-header .elementor-element[data-widget_type="image.default"] img {
	max-height: 72px;
}

.lang-switcher {
	position: fixed;
	top: 20px;
	right: 20px;
	z-index: 2000;
}

.lang-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border-radius: 10px;
	background: #333;
	border: none;
	cursor: pointer;
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.18);
}

.lang-toggle:hover {
	opacity: 0.95;
}

.lang-menu {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	display: grid;
	gap: 10px;
	width: 66px;
	padding: 12px 0;
	border-radius: 7px;
	background: #333;
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
	justify-items: center;
}

.lang-menu[hidden] {
	display: none;
}

.lang-menu__option {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 24px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	opacity: 0.82;
}

.lang-menu__option:hover,
.lang-menu__option.is-active {
	opacity: 1;
}

.language-flag {
	display: block;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
	overflow: hidden;
}

.lang-switcher .language-flag {
	width: 22px;
	height: 22px;
	box-shadow: none;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.lang-menu .language-flag {
	width: 18px;
	height: 18px;
}

.language-flag--czech {
	background-image: url("../images/wp/2024/11/czech-republic.png");
}

.language-flag--english {
	background-image: url("../images/wp/2024/11/united-kingdom.png");
}

.language-flag--ukraine {
	background: linear-gradient(to bottom, #0057b7 0 50%, #ffd700 50% 100%);
}

.language-flag--germany {
	background: linear-gradient(to bottom, #000 0 33.333%, #dd0000 33.333% 66.666%, #ffce00 66.666% 100%);
}

.language-flag--spain {
	background: linear-gradient(to bottom, #aa151b 0 25%, #f1bf00 25% 75%, #aa151b 75% 100%);
}

.language-flag--russia {
	background: linear-gradient(to bottom, #fff 0 33.333%, #0039a6 33.333% 66.666%, #d52b1e 66.666% 100%);
}

.elementor-73 .elementor-element.elementor-element-f60635c {
	--justify-content: flex-start;
	--align-items: center;
	--gap: 0px 8px;
	--column-gap: 8px;
	max-width: 432px;
}

.elementor-73 .elementor-element.elementor-element-4e8db9c,
.elementor-73 .elementor-element.elementor-element-12c1e6b,
.elementor-73 .elementor-element.elementor-element-0371187,
.elementor-73 .elementor-element.elementor-element-ukraine-flag,
.elementor-73 .elementor-element.elementor-element-germany-flag,
.elementor-73 .elementor-element.elementor-element-spain-flag,
.elementor-73 .elementor-element.elementor-element-russia-flag {
	--width: 64px;
	width: 64px;
	flex: 0 0 64px;
}

.elementor-73 .elementor-element.elementor-element-55c48a0 img,
.elementor-73 .elementor-element.elementor-element-43f4a69 img,
.elementor-73 .elementor-element.elementor-element-70f801d img,
.elementor-73 .elementor-element.elementor-element-f60635c .language-flag {
	width: 64px;
	height: 64px;
	object-fit: contain;
}

@media (min-width: 768px) {
	.elementor-73 .elementor-element.elementor-element-f60635c {
		--footer-flag-size: clamp(40px, 3.6vw, 56px);
		display: grid !important;
		grid-template-columns: repeat(6, var(--footer-flag-size));
		gap: 12px;
		width: max-content;
		max-width: 100%;
	}

	.elementor-73 .elementor-element.elementor-element-f60635c > .elementor-element {
		--width: var(--footer-flag-size);
		width: var(--footer-flag-size) !important;
		height: var(--footer-flag-size);
		flex: 0 0 var(--footer-flag-size);
		align-items: center;
		justify-content: center;
	}

	.elementor-73 .elementor-element.elementor-element-f60635c .elementor-widget,
	.elementor-73 .elementor-element.elementor-element-f60635c .elementor-widget-container {
		width: var(--footer-flag-size) !important;
		height: var(--footer-flag-size);
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.elementor-73 .elementor-element.elementor-element-f60635c img,
	.elementor-73 .elementor-element.elementor-element-f60635c .language-flag {
		width: var(--footer-flag-size) !important;
		min-width: var(--footer-flag-size);
		max-width: var(--footer-flag-size);
		height: var(--footer-flag-size) !important;
		aspect-ratio: 1;
		border-radius: 50%;
		display: block;
		object-fit: contain;
	}
}

@media (max-width: 1080px) and (min-width: 768px) {
	.elementor-73 .elementor-element.elementor-element-f60635c {
		grid-template-columns: repeat(3, var(--footer-flag-size));
	}
}

.cash-payment-note {
	width: min(100%, 640px);
	margin: 10px auto 18px;
	text-align: center;
	font-family: Manrope, Roboto, Arial, sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.45;
	color: #4a4a4a;
}

@media (max-width: 767px) {
	.lang-switcher {
		display: block !important;
		position: fixed !important;
		top: max(12px, env(safe-area-inset-top)) !important;
		right: 12px !important;
		bottom: auto !important;
		left: auto !important;
		z-index: 2147483001 !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
	}

	.lang-menu {
		top: calc(100% + 8px);
		right: 0;
		bottom: auto;
	}

	.cash-payment-note {
		margin: 6px auto 14px;
		padding: 0 8px;
		font-size: 14px;
	}

	#back-to-top {
		bottom: 90px;
		right: 16px;
		width: 40px;
		height: 40px;
	}
}


.elementor-element-ecb3683 {
	justify-content: center;
}

.location-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 2px 0;
	color: inherit;
	text-decoration: none;
}

.location-link__icon {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	color: #111;
}

.location-link__icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.location-link__text {
	display: flex;
	flex-direction: column;
	line-height: 1.25;
}

.elementor-element-ecb3683 > .e-con-inner {
	justify-content: center;
	text-align: center;
}

.elementor-element-ecb3683 .e-child {
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
}

.elementor-element-ecb3683 .elementor-element-f1bbaa6,
.elementor-element-ecb3683 .elementor-element-22bc325,
.elementor-element-ecb3683 .elementor-element-b95ce80,
.elementor-element-ecb3683 .elementor-element-6854eb2 {
	width: 100%;
	text-align: center;
}

.elementor-element-ecb3683 .elementor-element-6854eb2 {
	justify-content: center;
	align-items: center;
}

.elementor-element-ecb3683 .elementor-element-d42dcc5 {
	max-width: 320px;
	margin-left: auto;
	margin-right: auto;
	color: #111;
	font-size: clamp(18px, 2vw, 24px);
	font-weight: 700;
	line-height: 1.35;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
}

.elementor-element-ecb3683 .elementor-element-404ef38,
.elementor-element-ecb3683 .elementor-element-b95ce80 {
	justify-content: center;
}

.elementor-element-ecb3683 .elementor-element-b95ce80 h5 {
	margin: 0;
}

.elementor-element-ecb3683 .elementor-element-b95ce80 a {
	color: #0877d8;
	font-size: clamp(22px, 2.5vw, 30px);
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
}

.elementor-element-ecb3683 .elementor-element-b95ce80 a:hover {
	color: #005fae;
	text-decoration: underline;
}

@media (max-width: 767px) {
	.elementor-location-header .elementor-element[data-widget_type="image.default"] img {
		max-height: 76px;
	}

	.elementor-location-header .elementor-element-c08408f img {
		width: clamp(96px, 26vw, 132px);
	}

	.elementor-location-header .elementor-element-0099a94 > .e-con-inner {
		min-height: 92px;
		align-items: center;
	}

	.elementor-location-header .elementor-element-8a984bc {
		position: relative;
	}

	.elementor-location-header .elementor-element-8a984bc .elementor-nav-menu--main {
		display: none;
	}

	.elementor-location-header .elementor-element-8a984bc .elementor-menu-toggle {
		position: relative;
		z-index: 3;
		width: 44px;
		height: 44px;
	}

	.elementor-location-header .elementor-element-8a984bc .elementor-nav-menu--dropdown {
		position: absolute;
		top: calc(100% + 12px);
		right: 0;
		z-index: 2;
		width: min(78vw, 320px);
		border-radius: 10px;
		overflow: hidden;
	}

	.elementor-location-header .elementor-element-8a984bc .elementor-nav-menu--dropdown a {
		padding: 14px 18px;
	}
}

.static-lightbox {
	position: fixed;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(0, 0, 0, 0.88);
	z-index: 2000;
}

.static-lightbox.is-visible {
	display: flex;
}

.static-lightbox__image {
	max-width: min(92vw, 1400px);
	max-height: 88vh;
	width: auto;
	height: auto;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
}

.static-lightbox__close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.15);
	color: #fff;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}

.elementor-element-d85b9cb {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 22px;
	width: min(100%, 520px);
	margin: 0 auto;
	padding: clamp(34px, 4vw, 56px) clamp(22px, 3.5vw, 42px);
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 22px;
	background: #f8f8f8;
	color: #1a1a1a;
	text-align: center;
	text-shadow: none;
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.08);
}

.elementor-element-d85b9cb::before {
	content: none;
}

.elementor-element-d85b9cb .elementor-heading-title {
	color: #111;
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 700;
	line-height: 1.15;
}

.elementor-element-d85b9cb .elementor-element-177db8e {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.elementor-element-d85b9cb .elementor-element-98d20e7 {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	padding: 36px 24px;
	border-radius: 12px;
	background-image: linear-gradient(rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.82)), url("../../images/shop/anh_cua_hang_2.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.elementor-element-d85b9cb .elementor-element-38a3bfd {
	max-width: 360px;
	color: #111;
}

.elementor-element-d85b9cb .elementor-element-38a3bfd p {
	margin-bottom: 18px;
	color: #111;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.35;
}

.elementor-element-d85b9cb .elementor-element-38a3bfd .contact-payment-notice {
	width: min(100%, 320px);
	margin: 0 auto 24px;
	color: #4a4a4a;
	line-height: 1.45;
}

.elementor-element-d85b9cb .elementor-element-38a3bfd .contact-payment-notice strong {
	font-size: 15px;
	line-height: inherit;
}

.elementor-element-d85b9cb .elementor-element-38a3bfd strong {
	display: inline-block;
	margin-bottom: 2px;
	color: #111;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0;
}

.elementor-element-d85b9cb .elementor-icon-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
}

.elementor-element-d85b9cb .elementor-element-05a69d1 {
	width: 100%;
	min-height: clamp(240px, 28vw, 320px);
	margin-top: 6px;
	border-radius: 8px;
	background-image: url("../../images/shop/anh_cua_hang.jpg");
	background-size: cover;
	background-position: center;
	box-shadow: none;
}

.elementor-element-d85b9cb .elementor-button {
	min-width: 150px;
	border-radius: 4px;
	background: #555;
	color: #fff;
	font-weight: 600;
}

.elementor-element-d85b9cb .elementor-custom-embed iframe {
	width: 100%;
	min-height: 320px;
	border-radius: 0;
}

[data-wrapper-href] {
	cursor: pointer;
}

[data-wrapper-href]:focus-visible {
	outline: 3px solid rgba(202, 159, 79, 0.9);
	outline-offset: 4px;
}

@media (min-width: 768px) {
	.elementor-45 .elementor-element.elementor-element-840a3a1 {
		--min-height: 420px;
		--justify-content: center;
		--padding-top: 56px;
		--padding-bottom: 56px;
		--padding-left: 0px;
		--padding-right: 0px;
	}

	.elementor-45 .elementor-element.elementor-element-840a3a1 > .e-con-inner {
		gap: 18px;
	}

	.elementor-45 .elementor-element.elementor-element-c59074b {
		margin-bottom: 0;
	}
}

.elementor-element-4d0a8e7 .elementor-widget-text-editor,
.elementor-element-4d0a8e7 .elementor-widget-text-editor p,
.elementor-element-4d0a8e7 .elementor-widget-text-editor span {
	white-space: normal !important;
	white-space-collapse: collapse !important;
	overflow-wrap: normal;
	word-break: normal;
	text-align: center;
}

.elementor-element-4d0a8e7 .elementor-widget-text-editor {
	width: min(100%, 360px);
	margin-left: auto;
	margin-right: auto;
}

.elementor-45 .elementor-element.elementor-element-4d0a8e7 > .e-con-inner {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	column-gap: clamp(18px, 2vw, 32px);
	row-gap: 34px;
	align-items: start;
}

.elementor-45 .elementor-element.elementor-element-payment-method,
.elementor-45 .elementor-element.elementor-element-493c3b0,
.elementor-45 .elementor-element.elementor-element-8244e79,
.elementor-45 .elementor-element.elementor-element-315d7f9,
.elementor-45 .elementor-element.elementor-element-4a54570 {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	--width: 100%;
	--align-items: center;
	text-align: center;
}

.elementor-element-4d0a8e7 .elementor-heading-title {
	text-wrap: balance;
}

@media (max-width: 1180px) and (min-width: 768px) {
	.elementor-45 .elementor-element.elementor-element-4d0a8e7 > .e-con-inner {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.elementor-45 .elementor-element.elementor-element-payment-method,
	.elementor-45 .elementor-element.elementor-element-493c3b0,
	.elementor-45 .elementor-element.elementor-element-8244e79 {
		grid-column: span 2;
	}

	.elementor-45 .elementor-element.elementor-element-315d7f9,
	.elementor-45 .elementor-element.elementor-element-4a54570 {
		grid-column: span 3;
	}
}

@media (max-width: 767px) {
	.elementor-45 .elementor-element.elementor-element-4d0a8e7 > .e-con-inner {
		grid-template-columns: 1fr;
		row-gap: 28px;
	}
}

.elementor-element-video-gallery {
	padding-top: 24px;
	padding-bottom: 24px;
}

.elementor-element-video-title {
	text-align: center;
}

.elementor-element-295f765 {
	padding-top: 24px;
	padding-bottom: 24px;
}

.elementor-element-interior-title {
	text-align: center;
}

.elementor-element-b0407f5 {
	padding-bottom: 0;
}

.elementor-element-b0407f5 > .e-con-inner {
	padding-bottom: 0;
}

.elementor-element-b0407f5 .elementor-heading-title {
	margin-bottom: 0;
}

.elementor-element-295f765 {
	padding-top: 0;
}

.elementor-element-295f765 > .e-con-inner {
	padding-top: 0;
}

.elementor-element-interior-title {
	margin-top: -4px;
	margin-bottom: 14px;
}

.elementor-element-interior-title p {
	margin-bottom: 0;
}

.static-interior-gallery {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	width: 100%;
}

.static-interior-gallery__item {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 8px;
	background: #111;
}

.static-interior-gallery__item::after {
	position: absolute;
	inset: 0;
	content: "";
	background: rgba(0, 0, 0, 0);
	transition: background 180ms ease;
}

.static-interior-gallery__item:hover::after {
	background: rgba(0, 0, 0, 0.18);
}

.static-interior-gallery__item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 220ms ease;
}

.static-interior-gallery__item:hover img {
	transform: scale(1.04);
}

.contact-form-status {
	width: 100%;
	margin: 2px 5px 0;
	font-size: 13px;
	line-height: 1.4;
	color: #ffffff;
}

.elementor-element-977a217 .elementor-gallery__container {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px !important;
	height: auto !important;
	--columns: 4 !important;
	--hgap: 8px !important;
	--vgap: 8px !important;
}

.elementor-element-977a217 .e-gallery-item {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	display: block;
	width: auto !important;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 8px;
	background: #111;
	transform: none !important;
}

.elementor-element-977a217 .e-gallery-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background-position: center;
	background-size: cover;
	transition: transform 220ms ease;
}

.elementor-element-977a217 .e-gallery-item:hover .e-gallery-image {
	transform: scale(1.04);
}

.elementor-element-b48375f > .e-con-inner {
	align-items: stretch;
}

.elementor-element-b48375f .elementor-element-a7ce55c,
.elementor-element-b48375f .elementor-element-c5de495 {
	align-self: stretch;
}

.elementor-element-b48375f .elementor-element-0a48b2f {
	height: 100%;
	grid-auto-rows: 1fr;
	align-content: stretch;
}

.elementor-element-b48375f .elementor-element-0a48b2f .elementor-widget-image,
.elementor-element-b48375f .elementor-element-0a48b2f .elementor-widget-container {
	height: 100%;
}

.elementor-element-b48375f .elementor-element-0a48b2f img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.elementor-element-c5de495 .elementor-element-8a77a00 {
	display: grid;
	grid-template-columns: minmax(0, 1fr) max-content;
	column-gap: 18px;
	align-items: start;
	width: 100%;
}

.elementor-element-c5de495 .elementor-element-2ae0127 {
	min-width: 0;
}

.elementor-element-c5de495 .elementor-element-cdf1a9c {
	justify-self: end;
	min-width: 58px;
	text-align: right;
	white-space: nowrap;
}

.elementor-element-c5de495 .elementor-element-cdf1a9c p {
	white-space: nowrap;
}

.static-video-gallery {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	width: 100%;
}

.static-video-gallery__item {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	height: auto;
	border: 0;
	border-radius: 8px;
	background: #111;
	object-fit: cover;
}

@media (max-width: 767px) {
	.elementor-element-d85b9cb {
		padding: 34px 20px;
	}

	.elementor-element-d85b9cb .elementor-element-38a3bfd p {
		font-size: 15px;
	}

	.elementor-element-d85b9cb .elementor-element-05a69d1 {
		width: 100%;
		min-height: 240px;
	}

	.elementor-element-4d0a8e7 .elementor-widget-text-editor {
		width: min(100%, 300px);
	}

	.elementor-element-4d0a8e7 .elementor-widget-text-editor p {
		margin-left: auto;
		margin-right: auto;
		line-height: 1.45;
	}

	.elementor-element-b1eadb5 {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: center !important;
		flex-wrap: nowrap !important;
		gap: 8px;
		width: 100%;
	}

	.elementor-element-b1eadb5 .elementor-element-54916ff,
	.elementor-element-b1eadb5 .elementor-element-f8e5d0f {
		flex: 0 0 auto;
		width: auto !important;
		max-width: none !important;
	}

	.elementor-element-b1eadb5 .elementor-element-54916ff .elementor-heading-title {
		margin: 0;
		line-height: 1;
	}

	.elementor-element-b1eadb5 .elementor-element-f8e5d0f img {
		width: min(150px, 44vw) !important;
		max-width: none;
	}

	.elementor-45 .elementor-element.elementor-element-840a3a1 {
		--min-height: auto;
		--padding-top: 24px;
		--padding-bottom: 24px;
		--padding-left: 18px;
		--padding-right: 18px;
	}

	.elementor-45 .elementor-element.elementor-element-840a3a1 > .e-con-inner {
		gap: 10px;
		align-items: center;
	}

	.elementor-45 .elementor-element.elementor-element-c59074b {
		margin-bottom: 0;
		text-align: center;
	}

	.elementor-45 .elementor-element.elementor-element-74d3523 {
		--width: 72%;
		max-width: 360px;
	}

	.elementor-45 .elementor-element.elementor-element-2187291 img {
		width: min(58px, 18vw) !important;
	}

	.elementor-45 .elementor-element.elementor-element-c59074b .elementor-heading-title {
		font-size: 24px;
		line-height: 1.2;
	}

	.elementor-45 .elementor-element.elementor-element-2109fda,
	.elementor-45 .elementor-element.elementor-element-a5188c7,
	.elementor-45 .elementor-element.elementor-element-f2c07dc {
		--spacer-size: 12px;
	}

	.elementor-45 .elementor-element.elementor-element-5fc04af {
		--spacer-size: 8px;
	}

	.elementor-45 .elementor-element.elementor-element-b48375f {
		--padding-top: 18px;
		--padding-bottom: 18px;
	}

	.elementor-45 .elementor-element.elementor-element-c5de495 {
		--gap: 8px 0px;
		--row-gap: 8px;
	}

	.elementor-element-c5de495 .elementor-element-8a77a00 {
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.elementor-45 .elementor-element.elementor-element-4d0a8e7 {
		--padding-top: 34px;
		--padding-bottom: 34px;
	}

	.elementor-45 .elementor-element.elementor-element-4d0a8e7 > .e-con-inner {
		row-gap: 34px;
	}

	.elementor-45 .elementor-element.elementor-element-493c3b0,
	.elementor-45 .elementor-element.elementor-element-8244e79,
	.elementor-45 .elementor-element.elementor-element-315d7f9,
	.elementor-45 .elementor-element.elementor-element-4a54570 {
		--gap: 10px 0px;
		--row-gap: 10px;
	}

	.elementor-45 .elementor-element.elementor-element-87772ff img,
	.elementor-45 .elementor-element.elementor-element-9ff0f97 img,
	.elementor-45 .elementor-element.elementor-element-53299c1 img,
	.elementor-45 .elementor-element.elementor-element-ebbe6a0 img {
		width: 24%;
		max-width: 74px;
	}

	.elementor-45 .elementor-element.elementor-element-18400ff {
		--padding-top: 18px;
		--padding-bottom: 10px;
	}

	.elementor-73 .elementor-element.elementor-element-acea1ce {
		--padding-top: 8px;
		--padding-bottom: 0px;
	}

	.elementor-73 .elementor-element.elementor-element-acea1ce > .e-con-inner {
		padding-bottom: 0;
	}

	.elementor-73 .elementor-element.elementor-element-95dc3c6 {
		margin-bottom: 0;
	}

	.elementor-73 .elementor-element.elementor-element-95dc3c6 img {
		width: 88px !important;
		max-width: 88px;
		margin-left: auto;
		margin-right: auto;
	}

	.elementor-73 .elementor-element.elementor-element-5281c0e {
		--gap: 12px 0px;
		--row-gap: 12px;
		--padding-top: 6px;
		--padding-bottom: 28px;
		--padding-left: 28px;
		--padding-right: 28px;
	}

	.elementor-73 .elementor-element.elementor-element-a303413 {
		--gap: 6px 0px;
		--row-gap: 6px;
		align-items: center;
		text-align: center;
	}

	.elementor-73 .elementor-element.elementor-element-9e2152c {
		width: 100%;
		max-width: 360px;
		margin-left: auto;
		margin-right: auto;
		--flex-direction: column;
		--justify-content: center;
		--align-items: center;
		--gap: 4px 0px;
		--row-gap: 4px;
		--column-gap: 0px;
	}

	.elementor-73 .elementor-element.elementor-element-9d81c74 {
		margin-bottom: 2px;
		text-align: center;
		font-size: 20px;
	}

	.elementor-73 .elementor-element.elementor-element-f60635c {
		--width: 100%;
		--justify-content: center;
		--align-items: center;
		--gap: 0px 8px;
		--column-gap: 8px;
		width: 100%;
		display: grid !important;
		grid-template-columns: repeat(3, 64px);
		justify-content: center;
		max-width: 232px;
	}

	.elementor-73 .elementor-element.elementor-element-4e8db9c,
	.elementor-73 .elementor-element.elementor-element-12c1e6b,
	.elementor-73 .elementor-element.elementor-element-0371187,
	.elementor-73 .elementor-element.elementor-element-ukraine-flag,
	.elementor-73 .elementor-element.elementor-element-germany-flag,
	.elementor-73 .elementor-element.elementor-element-spain-flag,
	.elementor-73 .elementor-element.elementor-element-russia-flag {
		--width: 64px;
		width: 64px;
		flex: 0 0 64px;
	}

	.elementor-73 .elementor-element.elementor-element-55c48a0 img,
	.elementor-73 .elementor-element.elementor-element-43f4a69 img,
	.elementor-73 .elementor-element.elementor-element-70f801d img {
		width: 64px;
		height: 64px;
		object-fit: contain;
	}

	.elementor-73 .elementor-element.elementor-element-2195b9d {
		--gap: 10px 0px;
		--row-gap: 10px;
	}

	.elementor-73 .elementor-element.elementor-element-1dbd2e1 {
		margin-bottom: 0;
	}

	.elementor-element-c5de495 .elementor-element-8a77a00 {
		grid-template-columns: minmax(0, 1fr) auto;
		column-gap: 12px;
	}

	.elementor-element-c5de495 .elementor-element-cdf1a9c {
		min-width: 54px;
	}

	.static-video-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 4px;
	}

	.elementor-element-295f765 {
		padding-top: 14px;
		padding-bottom: 14px;
	}

	.static-interior-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 4px;
	}

	.elementor-element-977a217 .elementor-gallery__container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 4px !important;
		--columns: 2 !important;
		--hgap: 4px !important;
		--vgap: 4px !important;
	}

	.static-video-gallery__item {
		aspect-ratio: 9 / 16;
		max-height: 70vh;
		object-fit: contain;
	}
}

@media (max-width: 767px) {
	.elementor-element-0099a94 > .e-con-inner {
		min-height: 76px;
		align-items: center;
		gap: 8px;
		padding-top: 6px;
		padding-bottom: 6px;
	}

	.elementor-element-6651ae5 {
		--width: 74px;
		width: 74px;
		max-width: 74px;
		flex: 0 0 74px;
		justify-content: center;
	}

	.elementor-element-6651ae5 .elementor-widget-image,
	.elementor-element-6651ae5 .elementor-widget-image a {
		width: 100%;
	}

	.elementor-element-6651ae5 img {
		width: 64px !important;
		max-width: 64px !important;
		margin: 0 auto;
	}

	.elementor-element-ab58b41 {
		--gap: 6px 8px;
		--column-gap: 8px;
	}

	.elementor-45 .elementor-element.elementor-element-4d0a8e7 {
		--padding-top: 20px;
		--padding-bottom: 20px;
	}

	.elementor-45 .elementor-element.elementor-element-4d0a8e7 > .e-con-inner {
		row-gap: 12px;
	}

	.elementor-45 .elementor-element.elementor-element-493c3b0,
	.elementor-45 .elementor-element.elementor-element-payment-method,
	.elementor-45 .elementor-element.elementor-element-8244e79,
	.elementor-45 .elementor-element.elementor-element-315d7f9,
	.elementor-45 .elementor-element.elementor-element-4a54570 {
		--gap: 4px 0px;
		--row-gap: 4px;
	}

	.elementor-45 .elementor-element.elementor-element-87772ff img,
	.elementor-45 .elementor-element.elementor-element-payment-icon img,
	.elementor-45 .elementor-element.elementor-element-9ff0f97 img,
	.elementor-45 .elementor-element.elementor-element-53299c1 img,
	.elementor-45 .elementor-element.elementor-element-ebbe6a0 img {
		width: 42px !important;
		max-width: 42px;
	}

	.elementor-element-4d0a8e7 .elementor-heading-title {
		margin-bottom: 2px;
		font-size: 22px;
		line-height: 1.15;
	}

	.elementor-element-4d0a8e7 .elementor-widget-text-editor p {
		margin-bottom: 0;
		line-height: 1.32;
	}

	.elementor-45 .elementor-element.elementor-element-18400ff,
	.elementor-element-b0407f5,
	.elementor-element-295f765,
	.elementor-element-video-gallery,
	.elementor-element-2eb49ae {
		--padding-top: 6px;
		--padding-bottom: 6px;
		padding-top: 6px;
		padding-bottom: 6px;
	}

	.elementor-element-b0407f5 {
		--padding-bottom: 0;
		padding-bottom: 0;
	}

	.elementor-element-295f765 {
		--padding-top: 0;
		padding-top: 0;
	}

	.elementor-element-interior-title {
		margin-top: 8px;
		margin-bottom: 8px;
	}

	.elementor-element-b0407f5 > .e-con-inner,
	.elementor-element-295f765 > .e-con-inner,
	.elementor-element-video-gallery > .e-con-inner {
		gap: 6px;
	}

	.elementor-element-295f765 + .elementor-element-6e84318,
	.elementor-element-6e84318 + .elementor-element-video-gallery {
		--padding-top: 0;
		padding-top: 0;
		margin-top: 0;
	}
}

/* Footer background image */
.elementor-element-3f740f9 {
	background-image: url("../../images/shop/anh_cua_hang_2.jpg");
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	min-height: 600px;
}

/* Features section background image */
.elementor-element-4d0a8e7 {
	background-image: linear-gradient(rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.35)), url("../../images/shop/anh_cua_hang_2.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* Mobile responsive */
@media (max-width: 767px) {
	.elementor-element-3f740f9 {
		background-attachment: scroll;
		min-height: 800px;
	}

	.elementor-73 .elementor-element.elementor-element-5281c0e {
		--padding-top: 20px;
		--padding-bottom: 40px;
		--padding-left: 16px;
		--padding-right: 16px;
	}

	.elementor-73 .elementor-element.elementor-element-9e2152c {
		max-width: 100%;
	}

	.elementor-73 .elementor-element.elementor-element-2195b9d {
		--padding-top: 20px;
		--padding-bottom: 20px;
		--padding-left: 16px;
		--padding-right: 16px;
	}
}

	.elementor-element-295f765 + .elementor-element-6e84318 > .e-con-inner,
	.elementor-element-6e84318 + .elementor-element-video-gallery > .e-con-inner {
		gap: 4px;
		padding-top: 0;
	}

	.elementor-element-b0407f5 .elementor-heading-title {
		font-size: 34px;
		line-height: 1.05;
		margin: 0;
	}

	.elementor-element-interior-title,
	.elementor-element-video-title {
		margin: 0;
		padding: 0;
	}

	.elementor-element-interior-title p,
	.elementor-element-video-title p {
		margin: 0 0 6px;
	}

	.elementor-element-295f765 + .elementor-element-6e84318 {
		margin-top: -58px;
	}

	.elementor-element-6e84318 .elementor-element-45d7d7c {
		margin-top: 8px !important;
		margin-bottom: 8px !important;
		padding: 0;
		text-align: center;
	}

	.elementor-element-6e84318 .elementor-element-45d7d7c p {
		margin: 0 !important;
	}

	.elementor-element-6e84318 + .elementor-element-video-gallery {
		margin-top: -42px;
	}

	.elementor-element-video-title {
		margin-top: 8px !important;
		margin-bottom: 8px !important;
		padding: 0;
		text-align: center;
	}

	.elementor-element-video-title p {
		margin: 0 !important;
	}

	.static-interior-gallery,
	.elementor-element-977a217 .elementor-gallery__container,
	.static-video-gallery {
		gap: 3px !important;
	}

	.elementor-element-2109fda .elementor-spacer-inner,
	.elementor-element-a5188c7 .elementor-spacer-inner,
	.elementor-element-f2c07dc .elementor-spacer-inner,
	.elementor-element-a012bfe .elementor-spacer-inner {
		height: 4px !important;
	}

	.elementor-element-d85b9cb {
		margin-top: 8px;
		padding-top: 24px;
		padding-bottom: 24px;
	}

/* Layout polish: consistent page rhythm and premium hero */
.elementor-45 {
	--site-content-width: 1180px;
	--section-space: clamp(56px, 7vw, 96px);
	--section-space-sm: clamp(34px, 5vw, 64px);
	--section-pad-x: clamp(18px, 4vw, 36px);
}

.elementor-45 > .elementor-element.e-con-boxed > .e-con-inner,
.elementor-45 .elementor-element.e-con-boxed > .e-con-inner {
	width: min(100%, var(--site-content-width));
	padding-left: var(--section-pad-x);
	padding-right: var(--section-pad-x);
}

.elementor-45 .elementor-element-3283a78,
.elementor-45 .elementor-element-b48375f,
.elementor-45 .elementor-element-4d0a8e7,
.elementor-45 .elementor-element-b0407f5,
.elementor-45 .elementor-element-295f765,
.elementor-45 .elementor-element-6e84318,
.elementor-45 .elementor-element-video-gallery,
.elementor-45 .elementor-element-1e85c06 {
	padding-top: var(--section-space-sm);
	padding-bottom: var(--section-space-sm);
}

.elementor-45 .elementor-element-1501768,
.elementor-45 .elementor-element-2eb49ae {
	display: none;
}

.elementor-45 .elementor-element-295f765 + .elementor-element-6e84318,
.elementor-45 .elementor-element-6e84318 + .elementor-element-video-gallery {
	margin-top: 0;
}

.elementor-45 .elementor-element-ecb3683 {
	width: 100%;
	max-width: none !important;
	--width: 100%;
	padding: 0;
	background: #111 !important;
}

.elementor-45 .elementor-element-ecb3683 > .e-con-inner {
	width: min(100%, 100%);
	max-width: none;
	padding: 0;
	align-items: stretch;
}

.elementor-45 .elementor-element-f1bbaa6 {
	position: relative;
	isolation: isolate;
	display: flex;
	flex: 1 1 100%;
	align-self: stretch;
	justify-content: center;
	align-items: center;
	width: 100% !important;
	max-width: none !important;
	--width: 100%;
	min-height: clamp(640px, 78vh, 860px);
	padding: clamp(72px, 9vw, 128px) var(--section-pad-x);
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	overflow: hidden;
	background-size: cover !important;
	background-position: center !important;
}

.elementor-45 .elementor-element-f1bbaa6::before {
	position: absolute;
	inset: 0;
	z-index: 0;
	content: "";
	background:
		linear-gradient(90deg, rgba(0, 0, 0, 0.78) 0%, rgba(0, 0, 0, 0.58) 48%, rgba(0, 0, 0, 0.34) 100%),
		radial-gradient(circle at 50% 45%, rgba(196, 160, 82, 0.2), rgba(0, 0, 0, 0) 38%);
}

.elementor-45 .elementor-element-f1bbaa6 > * {
	position: relative;
	z-index: 1;
}

.elementor-45 .elementor-element-d0641e4 p {
	margin: 0 0 10px;
	color: #c4a052;
	font-size: clamp(14px, 1.2vw, 18px);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.14em;
}

.elementor-45 .elementor-element-c551ffd img {
	width: clamp(112px, 13vw, 190px) !important;
	margin: 0 auto clamp(20px, 3vw, 34px);
	filter: drop-shadow(0 12px 28px rgba(0, 0, 0, 0.45));
}

.elementor-45 .elementor-element-3b1718c .elementor-heading-title {
	margin: 0;
	color: #fff;
	font-size: clamp(48px, 8vw, 112px);
	font-weight: 900;
	line-height: 0.96;
	text-shadow: 0 18px 52px rgba(0, 0, 0, 0.58);
}

.elementor-45 .elementor-element-6854eb2 {
	margin-top: clamp(18px, 2.5vw, 30px);
	color: #fff;
}

.elementor-45 .elementor-element-ecb3683 .elementor-element-d42dcc5 {
	color: #fff;
	font-size: clamp(18px, 2vw, 26px);
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.62);
}

.elementor-45 .elementor-element-b95ce80 a {
	color: #fff;
	font-size: clamp(22px, 2.5vw, 34px);
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.62);
}

.elementor-45 .elementor-element-404ef38 .elementor-button,
.elementor-45 .elementor-element-c81d271 .elementor-button {
	border-radius: 4px;
	background: #c4a052;
	color: #111;
	font-weight: 800;
	letter-spacing: 0;
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.24);
}

.elementor-45 .elementor-element-840a3a1 {
	min-height: clamp(420px, 52vw, 620px);
	padding-top: var(--section-space);
	padding-bottom: var(--section-space);
}

.elementor-45 .elementor-element-840a3a1 > div[style*="rgba(255,255,255"] {
	background: rgba(0, 0, 0, 0.5) !important;
}

.elementor-45 .elementor-element-840a3a1 .elementor-heading-title {
	color: #fff;
	font-size: clamp(34px, 5vw, 72px);
	font-weight: 900;
	line-height: 1.02;
	text-shadow: 0 12px 34px rgba(0, 0, 0, 0.55);
}

.elementor-45 .elementor-element-74d3523 {
	width: min(100%, 380px) !important;
	margin-left: auto;
	margin-right: auto;
	padding: 16px 22px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.2);
	gap: 12px;
}

.elementor-45 .elementor-element-74d3523 .elementor-element-fb714f3 {
	flex: 0 0 auto;
	width: auto !important;
}

.elementor-45 .elementor-element-74d3523 .elementor-element-2187291 img {
	width: 58px !important;
	max-width: 58px;
}

.elementor-45 .elementor-element-74d3523 .elementor-element-95c5001 {
	flex: 1 1 auto;
	width: auto !important;
}

.elementor-45 .elementor-element-74d3523 .elementor-element-b1eadb5 {
	gap: 14px;
	align-items: center;
	justify-content: center;
}

.elementor-45 .elementor-element-74d3523 .elementor-element-54916ff .elementor-heading-title {
	font-size: 20px;
	line-height: 1;
}

.elementor-45 .elementor-element-74d3523 .elementor-element-f8e5d0f img {
	width: 132px !important;
	max-width: 132px;
}

.elementor-45 .elementor-element-3283a78,
.elementor-45 .elementor-element-b48375f,
.elementor-45 .elementor-element-b0407f5,
.elementor-45 .elementor-element-295f765,
.elementor-45 .elementor-element-6e84318,
.elementor-45 .elementor-element-video-gallery,
.elementor-45 .elementor-element-1e85c06 {
	background-color: #e8e8e8;
}

.elementor-45 .static-interior-gallery,
.elementor-45 .elementor-element-977a217 .elementor-gallery__container,
.elementor-45 .static-video-gallery {
	gap: 10px !important;
}

.elementor-45 .elementor-element-1e85c06 {
	display: flex;
	justify-content: center;
	padding-left: var(--section-pad-x);
	padding-right: var(--section-pad-x);
}

.elementor-45 .elementor-element-d85b9cb {
	width: min(100%, var(--site-content-width));
	padding: clamp(36px, 5vw, 64px);
	border-radius: 8px;
}

.elementor-45 .elementor-element-d85b9cb .elementor-element-98d20e7 {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
	gap: clamp(24px, 4vw, 48px);
	align-items: stretch;
	padding: clamp(28px, 4vw, 48px);
	border-radius: 8px;
}

.elementor-45 .elementor-element-d85b9cb .elementor-element-38a3bfd {
	max-width: none;
	text-align: left;
}

.elementor-45 .elementor-element-d85b9cb .elementor-element-05a69d1 {
	min-height: clamp(360px, 38vw, 520px);
	margin-top: 0;
	border-radius: 8px;
}

.elementor-45 .elementor-element-d85b9cb .elementor-custom-embed iframe {
	min-height: clamp(360px, 40vw, 520px);
}

@media (max-width: 767px) {
	.elementor-45 {
		--section-space: 44px;
		--section-space-sm: 34px;
		--section-pad-x: 16px;
	}

	.elementor-45 .elementor-element-f1bbaa6 {
		min-height: 620px;
		padding-top: 72px;
		padding-bottom: 72px;
	}

	.elementor-45 .elementor-element-3b1718c .elementor-heading-title {
		font-size: clamp(42px, 15vw, 68px);
	}

	.elementor-45 .elementor-element-840a3a1 {
		min-height: 420px;
	}

	.elementor-45 .elementor-element-74d3523 {
		width: min(100%, 320px) !important;
		padding: 14px 16px;
	}

	.elementor-45 .elementor-element-74d3523 .elementor-element-2187291 img {
		width: 46px !important;
		max-width: 46px;
	}

	.elementor-45 .elementor-element-74d3523 .elementor-element-f8e5d0f img {
		width: 108px !important;
		max-width: 108px;
	}

	.elementor-45 .elementor-element-d85b9cb {
		padding: 24px 18px;
	}

	.elementor-45 .elementor-element-d85b9cb .elementor-element-98d20e7 {
		grid-template-columns: 1fr;
		padding: 22px;
	}

	.elementor-45 .elementor-element-d85b9cb .elementor-element-38a3bfd {
		text-align: center;
	}
}

/* Unified media ratio and clearer price list */
.elementor-45 {
	--media-ratio: 4 / 5;
}

.elementor-45 .elementor-element-b48375f .elementor-element-0a48b2f {
	grid-auto-rows: auto;
	gap: 10px;
}

.elementor-45 .elementor-element-b48375f .elementor-element-0a48b2f .elementor-widget-image,
.elementor-45 .elementor-element-b48375f .elementor-element-0a48b2f .elementor-widget-container,
.elementor-45 .static-interior-gallery__item,
.elementor-45 .elementor-element-977a217 .e-gallery-item,
.elementor-45 .static-video-gallery__item {
	aspect-ratio: var(--media-ratio) !important;
	border-radius: 8px;
	overflow: hidden;
}

.elementor-45 .elementor-element-b48375f .elementor-element-0a48b2f img,
.elementor-45 .static-interior-gallery__item img,
.elementor-45 .elementor-element-977a217 .e-gallery-image,
.elementor-45 .static-video-gallery__item {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}

.elementor-45 .elementor-element-c5de495 {
	gap: 16px;
	padding: clamp(28px, 4vw, 44px);
	border-radius: 8px;
	background: #f7f7f7;
	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.08);
}

.elementor-45 .elementor-element-c5de495 .elementor-element-cbdb867 {
	margin-bottom: 8px;
}

.elementor-45 .elementor-element-c5de495 .elementor-element-cbdb867 .elementor-heading-title {
	color: #111;
	font-size: clamp(34px, 4vw, 56px);
	font-weight: 900;
	line-height: 1;
}

.elementor-45 .elementor-element-c5de495 .elementor-element-8a77a00 {
	grid-template-columns: minmax(0, 1fr) minmax(94px, max-content);
	column-gap: clamp(18px, 3vw, 34px);
	align-items: center;
	padding: 18px 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

.elementor-45 .elementor-element-c5de495 .elementor-element-8a77a00:last-child {
	border-bottom: 0;
}

.elementor-45 .elementor-element-c5de495 .elementor-element-2ae0127 h4 {
	margin: 0 0 8px;
	color: #111;
	font-size: clamp(18px, 1.7vw, 24px);
	font-weight: 850;
	line-height: 1.18;
}

.elementor-45 .elementor-element-c5de495 .elementor-element-2ae0127 p {
	margin: 3px 0 0;
	color: #606060;
	font-size: clamp(13px, 1.05vw, 15px);
	font-weight: 500;
	line-height: 1.35;
}

.elementor-45 .elementor-element-c5de495 .elementor-element-cdf1a9c {
	min-width: 104px;
	align-self: stretch;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding-left: 16px;
	border-left: 1px solid rgba(0, 0, 0, 0.1);
}

.elementor-45 .elementor-element-c5de495 .elementor-element-cdf1a9c h5 {
	margin: 0;
	color: #b48328;
	font-size: clamp(22px, 2vw, 30px);
	font-weight: 900;
	line-height: 1;
	white-space: nowrap;
}

@media (max-width: 767px) {
	.elementor-45 {
		--media-ratio: 4 / 5;
	}

	.elementor-45 .elementor-element-c5de495 {
		padding: 24px 18px;
	}

	.elementor-45 .elementor-element-c5de495 .elementor-element-8a77a00 {
		grid-template-columns: minmax(0, 1fr) auto;
		column-gap: 12px;
		padding: 16px 0;
	}

	.elementor-45 .elementor-element-c5de495 .elementor-element-cdf1a9c {
		min-width: 82px;
		padding-left: 10px;
	}

	.elementor-45 .elementor-element-c5de495 .elementor-element-cdf1a9c h5 {
		font-size: 22px;
	}
}

/* Premium visual system */
:root {
	--ken-black: #0b0b0b;
	--ken-ink: #171411;
	--ken-cream: #f5f1e8;
	--ken-paper: #fffaf1;
	--ken-muted: #746d63;
	--ken-gold: #c59a43;
	--ken-gold-dark: #9d7425;
	--ken-line: rgba(23, 20, 17, 0.12);
	--ken-shadow: 0 18px 48px rgba(12, 10, 8, 0.12);
	--ken-shadow-soft: 0 10px 28px rgba(12, 10, 8, 0.09);
}

body {
	font-family: Inter, Manrope, Roboto, Arial, sans-serif;
	background: var(--ken-cream);
	color: var(--ken-ink);
}

h1,
h2,
h3,
.elementor-heading-title {
	font-family: Cinzel, "Cormorant Garamond", "Playfair Display", serif;
	letter-spacing: 0.02em;
}

p,
li,
a,
button,
input,
textarea,
.elementor-widget-text-editor {
	font-family: Inter, Manrope, Roboto, Arial, sans-serif;
}

.site-sticky,
.site-sticky .e-con-inner,
.site-sticky .elementor-element {
	background: rgba(255, 250, 241, 0.88) !important;
	backdrop-filter: blur(16px);
	box-shadow: 0 1px 0 rgba(23, 20, 17, 0.08);
}

.elementor-45 .elementor-element-3283a78,
.elementor-45 .elementor-element-b48375f,
.elementor-45 .elementor-element-b0407f5,
.elementor-45 .elementor-element-295f765,
.elementor-45 .elementor-element-6e84318,
.elementor-45 .elementor-element-video-gallery,
.elementor-45 .elementor-element-1e85c06 {
	background: var(--ken-cream) !important;
}

.elementor-45 .elementor-element-3283a78 > .e-con-inner,
.elementor-45 .elementor-element-b48375f > .e-con-inner,
.elementor-45 .elementor-element-1e85c06 > .e-con-inner {
	gap: clamp(28px, 4vw, 56px);
}

.elementor-45 .elementor-element-c5de495,
.elementor-45 .elementor-element-d85b9cb,
.elementor-45 .elementor-element-74d3523 {
	background: rgba(255, 250, 241, 0.96);
	border: 1px solid rgba(197, 154, 67, 0.22);
	box-shadow: var(--ken-shadow);
}

.elementor-45 .elementor-element-f1bbaa6 {
	text-align: center;
}

.elementor-45 .elementor-element-f1bbaa6::before {
	background:
		linear-gradient(90deg, rgba(8, 7, 6, 0.84) 0%, rgba(8, 7, 6, 0.58) 50%, rgba(8, 7, 6, 0.4) 100%),
		radial-gradient(circle at 50% 42%, rgba(197, 154, 67, 0.28), rgba(0, 0, 0, 0) 42%);
}

.elementor-45 .elementor-element-3b1718c .elementor-heading-title {
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
	color: #fffaf1;
	letter-spacing: 0.01em;
}

.elementor-45 .elementor-element-404ef38 .elementor-button,
.elementor-45 .elementor-element-c81d271 .elementor-button {
	transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.elementor-45 .elementor-element-404ef38 .elementor-button:hover,
.elementor-45 .elementor-element-c81d271 .elementor-button:hover {
	transform: translateY(-2px);
	background: #d9ad55;
	box-shadow: 0 18px 40px rgba(12, 10, 8, 0.24);
}

.elementor-45 .elementor-element-840a3a1 {
	display: flex;
	align-items: center;
	background-position: center !important;
}

.elementor-45 .elementor-element-840a3a1 > .e-con-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(24px, 5vw, 72px);
}

.elementor-45 .elementor-element-840a3a1 .elementor-heading-title {
	max-width: 560px;
	text-align: left;
	color: #fffaf1;
}

.elementor-45 .elementor-element-74d3523 {
	position: relative;
	width: min(100%, 340px) !important;
	padding: 18px 20px;
	justify-self: end;
	border-radius: 8px;
	transform: translateY(14px);
}

.elementor-45 .elementor-element-74d3523::before {
	position: absolute;
	top: 14px;
	left: 18px;
	content: "Google";
	color: var(--ken-muted);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.elementor-45 .elementor-element-74d3523 .elementor-element-b1eadb5 {
	padding-top: 14px;
}

.elementor-45 .elementor-element-74d3523 .elementor-element-54916ff .elementor-heading-title {
	color: var(--ken-ink);
	font-family: Inter, Manrope, Arial, sans-serif;
	font-size: 24px;
	font-weight: 900;
}

.elementor-45 .elementor-element-b48375f > .e-con-inner {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.78fr);
	align-items: start;
}

.elementor-45 .elementor-element-c5de495 {
	padding: clamp(34px, 4.5vw, 56px);
	background: var(--ken-paper);
}

.elementor-45 .elementor-element-c5de495 .elementor-element-cbdb867 .elementor-heading-title {
	color: var(--ken-ink);
	font-size: clamp(38px, 4.4vw, 64px);
}

.elementor-45 .elementor-element-c5de495 .elementor-element-8a77a00 {
	padding: 22px 0;
	border-bottom-color: var(--ken-line);
}

.elementor-45 .elementor-element-c5de495 .elementor-element-2ae0127 h4 {
	color: var(--ken-ink);
	font-size: clamp(19px, 1.7vw, 25px);
}

.elementor-45 .elementor-element-c5de495 .elementor-element-2ae0127 p {
	color: var(--ken-muted);
	line-height: 1.55;
}

.elementor-45 .elementor-element-c5de495 .elementor-element-cdf1a9c h5 {
	color: var(--ken-gold-dark);
	font-size: clamp(24px, 2.2vw, 34px);
}

.elementor-45 .elementor-element-b48375f .elementor-element-0a48b2f img,
.elementor-45 .static-interior-gallery__item img,
.elementor-45 .elementor-element-977a217 .e-gallery-image,
.elementor-45 .static-video-gallery__item {
	transition: transform 260ms ease, filter 260ms ease;
}

.elementor-45 .elementor-element-b48375f .elementor-element-0a48b2f .elementor-widget-image:hover img,
.elementor-45 .static-interior-gallery__item:hover img,
.elementor-45 .elementor-element-977a217 .e-gallery-item:hover .e-gallery-image,
.elementor-45 .static-video-gallery__item:hover {
	transform: scale(1.035);
	filter: contrast(1.04) saturate(1.04);
}

.elementor-45 .elementor-element-977a217 .e-gallery-item:nth-of-type(n+13) {
	display: none;
}

.elementor-45 .elementor-element-1e85c06 {
	padding-top: clamp(64px, 8vw, 110px);
	padding-bottom: clamp(64px, 8vw, 110px);
}

.elementor-45 .elementor-element-d85b9cb {
	width: min(100%, 1180px);
	padding: clamp(38px, 5vw, 68px);
	background: var(--ken-paper);
	text-align: left;
}

.elementor-45 .elementor-element-d85b9cb .elementor-heading-title {
	color: var(--ken-ink);
	font-size: clamp(36px, 4.2vw, 60px);
	line-height: 1.05;
}

.elementor-45 .elementor-element-d85b9cb .elementor-element-98d20e7 {
	grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
	background-image: linear-gradient(rgba(255, 250, 241, 0.9), rgba(255, 250, 241, 0.9)), url("../../images/shop/anh_cua_hang_2.jpg");
	box-shadow: var(--ken-shadow-soft);
}

.elementor-45 .elementor-element-d85b9cb .elementor-element-38a3bfd p {
	color: var(--ken-muted);
	font-size: 16px;
	line-height: 1.72;
}

.elementor-45 .elementor-element-d85b9cb .elementor-element-38a3bfd strong {
	color: var(--ken-ink);
	font-size: 17px;
}

.elementor-45 .elementor-element-d85b9cb .elementor-custom-embed iframe,
.elementor-45 .elementor-element-d85b9cb .elementor-element-05a69d1 {
	border-radius: 8px;
	box-shadow: var(--ken-shadow-soft);
}

.elementor-45 .elementor-element-3283a78,
.elementor-45 .elementor-element-b48375f,
.elementor-45 .elementor-element-4d0a8e7,
.elementor-45 .elementor-element-b0407f5,
.elementor-45 .elementor-element-295f765,
.elementor-45 .elementor-element-6e84318,
.elementor-45 .elementor-element-video-gallery,
.elementor-45 .elementor-element-1e85c06 {
	animation: kenFadeUp 600ms ease both;
}

@keyframes kenFadeUp {
	from {
		opacity: 0;
		transform: translateY(18px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.elementor-45 .elementor-element-3283a78,
	.elementor-45 .elementor-element-b48375f,
	.elementor-45 .elementor-element-4d0a8e7,
	.elementor-45 .elementor-element-b0407f5,
	.elementor-45 .elementor-element-295f765,
	.elementor-45 .elementor-element-6e84318,
	.elementor-45 .elementor-element-video-gallery,
	.elementor-45 .elementor-element-1e85c06 {
		animation: none;
	}
}

@media (max-width: 900px) {
	.elementor-45 .elementor-element-840a3a1 > .e-con-inner,
	.elementor-45 .elementor-element-b48375f > .e-con-inner {
		grid-template-columns: 1fr;
	}

	.elementor-45 .elementor-element-840a3a1 .elementor-heading-title {
		text-align: center;
		margin-left: auto;
		margin-right: auto;
	}

	.elementor-45 .elementor-element-74d3523 {
		justify-self: center;
		transform: none;
	}
}

@media (max-width: 767px) {
	body {
		padding-bottom: 70px;
	}

	.elementor-45 .elementor-element-c5de495 {
		padding: 26px 18px;
		border-radius: 8px;
	}

	.elementor-45 .elementor-element-c5de495 .elementor-element-8a77a00 {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 18px 0;
	}

	.elementor-45 .elementor-element-c5de495 .elementor-element-cdf1a9c {
		justify-content: flex-start;
		min-width: 0;
		padding-left: 0;
		border-left: 0;
	}

	.elementor-45 .elementor-element-977a217 .e-gallery-item:nth-of-type(n+9) {
		display: none;
	}

	.elementor-45 .static-video-gallery {
		grid-template-columns: 1fr;
	}

	.elementor-45 .elementor-element-d85b9cb .elementor-element-98d20e7 {
		grid-template-columns: 1fr;
	}

	.elementor-45 .elementor-element-404ef38 {
		position: fixed;
		right: 14px;
		bottom: 14px;
		z-index: 999;
	}

	.elementor-45 .elementor-element-404ef38 .elementor-button {
		padding: 13px 18px;
		box-shadow: 0 14px 34px rgba(12, 10, 8, 0.26);
	}
}

/* Price layout and section gap repair */
.elementor-45 .elementor-element-b48375f,
.elementor-45 .elementor-element-d27aab3 {
	background: var(--ken-cream) !important;
	margin: 0 !important;
}

.elementor-45 .elementor-element-b48375f {
	padding-top: clamp(44px, 5vw, 72px) !important;
	padding-bottom: clamp(44px, 5vw, 72px) !important;
}

.elementor-45 .elementor-element-b48375f > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(540px, 1.08fr) minmax(520px, 0.92fr);
	align-items: stretch;
	width: min(100%, 1360px) !important;
	max-width: 1360px !important;
	gap: clamp(32px, 5vw, 72px) !important;
}

.elementor-45 .elementor-element-b48375f .elementor-element-a7ce55c,
.elementor-45 .elementor-element-b48375f .elementor-element-c5de495 {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	--width: 100% !important;
}

.elementor-45 .elementor-element-b48375f .elementor-element-0a48b2f {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px !important;
	height: auto !important;
	align-content: start;
}

.elementor-45 .elementor-element-b48375f .elementor-element-0a48b2f .elementor-widget-image,
.elementor-45 .elementor-element-b48375f .elementor-element-0a48b2f .elementor-widget-container {
	width: 100% !important;
	min-width: 0 !important;
	height: auto !important;
	aspect-ratio: 3 / 4 !important;
	border-radius: 8px;
	overflow: hidden;
}

.elementor-45 .elementor-element-b48375f .elementor-element-0a48b2f img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center center;
	transform: none;
}

.elementor-45 .elementor-element-c5de495 {
	display: flex !important;
	flex-direction: column !important;
	align-self: stretch;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	--width: 100% !important;
}

.elementor-45 .elementor-element-c5de495 .elementor-element-8a77a00 {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(132px, max-content) !important;
	width: 100% !important;
	column-gap: clamp(20px, 3vw, 40px);
}

.elementor-45 .elementor-element-c5de495 .elementor-element-2ae0127 h4 {
	max-width: 620px;
	word-break: normal;
	overflow-wrap: normal;
}

.elementor-45 .elementor-element-c5de495 .elementor-element-2ae0127 p {
	max-width: 620px;
}

.elementor-45 .elementor-element-c5de495 .elementor-element-cdf1a9c {
	min-width: 132px;
}

.elementor-45 .elementor-element-d27aab3,
.elementor-45 .elementor-element-b0407f5,
.elementor-45 .elementor-element-295f765,
.elementor-45 .elementor-element-6e84318,
.elementor-45 .elementor-element-video-gallery,
.elementor-45 .elementor-element-2eb49ae {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.elementor-45 .elementor-element-d27aab3 > .e-con-inner,
.elementor-45 .elementor-element-b0407f5 > .e-con-inner,
.elementor-45 .elementor-element-295f765 > .e-con-inner,
.elementor-45 .elementor-element-6e84318 > .e-con-inner,
.elementor-45 .elementor-element-video-gallery > .e-con-inner {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.elementor-45 .elementor-element-b0407f5 {
	padding-top: clamp(36px, 5vw, 64px) !important;
}

.elementor-45 .elementor-element-video-gallery {
	padding-bottom: clamp(36px, 5vw, 64px) !important;
}

@media (max-width: 1100px) {
	.elementor-45 .elementor-element-b48375f > .e-con-inner {
		grid-template-columns: 1fr;
	}

	.elementor-45 .elementor-element-b48375f .elementor-element-0a48b2f {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.elementor-45 .elementor-element-b48375f {
		padding-top: 32px !important;
		padding-bottom: 32px !important;
	}

	.elementor-45 .elementor-element-c5de495 .elementor-element-8a77a00 {
		grid-template-columns: 1fr !important;
	}

	.elementor-45 .elementor-element-c5de495 .elementor-element-cdf1a9c {
		min-width: 0;
	}

	.elementor-45 .elementor-element-b48375f .elementor-element-0a48b2f {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px !important;
	}
}

/* Keep section backgrounds continuous across the one-page layout. */
.elementor-45 {
	background: var(--ken-cream);
}

.elementor-45 > .elementor-element {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.elementor-45 .elementor-element-1501768,
.elementor-45 .elementor-element-9d5b44e,
.elementor-45 .elementor-element-2eb49ae {
	display: none !important;
}

.elementor-45 .elementor-element-3283a78,
.elementor-45 .elementor-element-b48375f,
.elementor-45 .elementor-element-4d0a8e7,
.elementor-45 .elementor-element-18400ff,
.elementor-45 .elementor-element-d27aab3,
.elementor-45 .elementor-element-b0407f5,
.elementor-45 .elementor-element-295f765,
.elementor-45 .elementor-element-6e84318,
.elementor-45 .elementor-element-video-gallery,
.elementor-45 .elementor-element-1e85c06 {
	background-color: var(--ken-cream) !important;
}

.elementor-45 .elementor-element-3283a78,
.elementor-45 .elementor-element-b48375f,
.elementor-45 .elementor-element-4d0a8e7,
.elementor-45 .elementor-element-b0407f5,
.elementor-45 .elementor-element-295f765,
.elementor-45 .elementor-element-6e84318,
.elementor-45 .elementor-element-video-gallery,
.elementor-45 .elementor-element-1e85c06 {
	animation: none !important;
}

/* Hero and desktop price-media alignment fixes. */
.elementor-45 .elementor-element-ea8e286,
.elementor-45 .elementor-element-ecb3683 {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding-left: clamp(14px, 4vw, 80px) !important;
	padding-right: clamp(14px, 4vw, 80px) !important;
	padding-top: clamp(18px, 2.4vw, 34px) !important;
	padding-bottom: clamp(18px, 2.4vw, 34px) !important;
	background: transparent !important;
	overflow: visible;
}

.elementor-45 .elementor-element-ea8e286 > .e-con-inner,
.elementor-45 .elementor-element-ecb3683 > .e-con-inner {
	width: min(100%, 1180px) !important;
	max-width: 1180px !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.elementor-45 .elementor-element-f1bbaa6 {
	width: 100% !important;
	max-width: none !important;
	min-height: clamp(520px, 76vh, 820px);
	border-radius: 4px !important;
	background-size: cover !important;
	background-position: center center !important;
	overflow: hidden;
}

@media (min-width: 1101px) {
	.elementor-45 .elementor-element-b48375f > .e-con-inner {
		align-items: stretch !important;
	}

	.elementor-45 .elementor-element-b48375f .elementor-element-a7ce55c {
		display: flex !important;
		align-self: stretch !important;
		height: auto !important;
	}

	.elementor-45 .elementor-element-b48375f .elementor-element-0a48b2f {
		flex: 1 1 auto;
		height: 100% !important;
		min-height: 100%;
		grid-template-rows: repeat(3, minmax(0, 1fr));
		align-content: stretch !important;
	}

	.elementor-45 .elementor-element-b48375f .elementor-element-0a48b2f .elementor-widget-image,
	.elementor-45 .elementor-element-b48375f .elementor-element-0a48b2f .elementor-widget-container {
		height: 100% !important;
		aspect-ratio: auto !important;
	}
}

/* Footer language/form layout repair. */
.elementor-73 .elementor-element.elementor-element-5281c0e {
	display: grid !important;
	grid-template-columns: minmax(260px, 0.82fr) minmax(420px, 1fr);
	align-items: center !important;
	column-gap: clamp(36px, 6vw, 92px) !important;
	row-gap: 32px !important;
	width: 100%;
}

.elementor-73 .elementor-element.elementor-element-a303413,
.elementor-73 .elementor-element.elementor-element-7510d83 {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	--width: 100% !important;
}

.elementor-73 .elementor-element.elementor-element-9e2152c {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 12px !important;
	width: 100% !important;
	max-width: 440px !important;
	margin: 0 !important;
}

.elementor-73 .elementor-element.elementor-element-9d81c74 {
	margin: 0 !important;
	text-align: left !important;
	white-space: nowrap;
}

.elementor-73 .elementor-element.elementor-element-f60635c {
	display: grid !important;
	grid-template-columns: repeat(6, var(--footer-flag-size, 52px)) !important;
	justify-content: start !important;
	gap: 12px !important;
	width: max-content !important;
	max-width: 100% !important;
}

.elementor-73 .elementor-element.elementor-element-2195b9d,
.elementor-73 .elementor-element.elementor-element-934fa78,
.elementor-73 .elementor-element.elementor-element-934fa78 form {
	width: 100% !important;
	max-width: 560px !important;
}

.elementor-73 .elementor-element.elementor-element-2195b9d {
	justify-self: end;
}

@media (max-width: 1180px) and (min-width: 768px) {
	.elementor-73 .elementor-element.elementor-element-5281c0e {
		grid-template-columns: minmax(220px, 0.72fr) minmax(390px, 1fr);
		column-gap: 32px !important;
	}

	.elementor-73 .elementor-element.elementor-element-f60635c {
		grid-template-columns: repeat(3, var(--footer-flag-size, 52px)) !important;
	}
}

@media (max-width: 767px) {
	.elementor-73 .elementor-element.elementor-element-5281c0e {
		grid-template-columns: 1fr;
		justify-items: center;
	}

	.elementor-73 .elementor-element.elementor-element-9e2152c,
	.elementor-73 .elementor-element.elementor-element-2195b9d {
		align-items: center !important;
		justify-self: center;
		text-align: center;
	}

	.elementor-73 .elementor-element.elementor-element-9d81c74 {
		text-align: center !important;
	}

	.elementor-73 .elementor-element.elementor-element-f60635c {
		grid-template-columns: repeat(3, 56px) !important;
		justify-content: center !important;
	}
}

/* Mobile price list spacing repair. */
@media (max-width: 767px) {
	.elementor-45 .elementor-element-b48375f {
		padding-top: 24px !important;
		padding-bottom: 24px !important;
	}

	.elementor-45 .elementor-element-c5de495 {
		gap: 0 !important;
		padding: 24px 18px !important;
	}

	.elementor-45 .elementor-element-c5de495 .elementor-element-8a77a00 {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) max-content !important;
		column-gap: 14px !important;
		row-gap: 0 !important;
		align-items: start !important;
		padding: 18px 0 !important;
	}

	.elementor-45 .elementor-element-c5de495 .elementor-element-2ae0127 h4 {
		margin-bottom: 8px !important;
		font-size: 21px !important;
		line-height: 1.12 !important;
	}

	.elementor-45 .elementor-element-c5de495 .elementor-element-2ae0127 p {
		margin-top: 3px !important;
		font-size: 14px !important;
		line-height: 1.35 !important;
	}

	.elementor-45 .elementor-element-c5de495 .elementor-element-cdf1a9c {
		align-self: start !important;
		justify-content: flex-end !important;
		min-width: 76px !important;
		padding-left: 0 !important;
		border-left: 0 !important;
		text-align: right !important;
	}

	.elementor-45 .elementor-element-c5de495 .elementor-element-cdf1a9c h5 {
		font-size: 25px !important;
		line-height: 1.05 !important;
	}
}

/* Mobile hero typography balance. */
@media (max-width: 767px) {
	.elementor-45 .elementor-element-f1bbaa6 {
		min-height: calc(100svh - 70px) !important;
		padding: 56px 18px 62px !important;
	}

	.elementor-45 .elementor-element-d0641e4 p {
		font-size: clamp(14px, 3.9vw, 18px) !important;
		letter-spacing: 0.16em !important;
	}

	.elementor-45 .elementor-element-c551ffd img {
		width: clamp(112px, 34vw, 152px) !important;
		margin-bottom: 26px !important;
	}

	.elementor-45 .elementor-element-3b1718c .elementor-heading-title {
		font-size: clamp(34px, 9.2vw, 46px) !important;
		line-height: 1.05 !important;
	}

	.elementor-45 .elementor-element-6854eb2 {
		margin-top: 24px !important;
	}

	.elementor-45 .elementor-element-ecb3683 .elementor-element-d42dcc5 {
		font-size: clamp(22px, 6vw, 28px) !important;
		line-height: 1.22 !important;
	}

	.elementor-45 .elementor-element-b95ce80 a {
		font-size: clamp(28px, 7.5vw, 36px) !important;
		line-height: 1.1 !important;
	}

	.elementor-45 .elementor-element-404ef38 .elementor-button {
		padding: 14px 28px !important;
		font-size: 17px !important;
	}
}

/* Contact heading emphasis. */
.elementor-45 .elementor-element-d85b9cb .elementor-element-e7b6e81 .elementor-heading-title {
	font-size: clamp(44px, 5.2vw, 76px) !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	letter-spacing: 0.01em;
}

@media (max-width: 767px) {
	.elementor-45 .elementor-element-d85b9cb .elementor-element-e7b6e81 .elementor-heading-title {
		font-size: clamp(34px, 10vw, 46px) !important;
		line-height: 1.06 !important;
		text-align: center;
	}
}

/* Contact social links sit below the title, outside the info frame. */
.elementor-45 .elementor-element-d85b9cb .contact-social-links {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: -10px;
	margin-bottom: 10px;
}

.contact-social-links__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 999px;
	color: #fff;
	line-height: 1;
	text-decoration: none;
	box-shadow: 0 10px 24px rgba(12, 10, 8, 0.16);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.contact-social-links__icon {
	width: 24px;
	height: 24px;
	display: block;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
}

.contact-social-links__item--facebook .contact-social-links__icon,
.contact-social-links__item--tiktok .contact-social-links__icon {
	fill: currentColor;
	stroke: none;
}

.contact-social-links__item:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 28px rgba(12, 10, 8, 0.22);
}

.contact-social-links__item--instagram {
	background: radial-gradient(circle at 30% 105%, #fdf497 0 16%, #fd5949 42%, #d6249f 68%, #285aeb 100%);
}

.contact-social-links__item--facebook {
	background: #1877f2;
}

.contact-social-links__item--tiktok {
	background: #000;
	color: #fff;
	box-shadow: 0 10px 24px rgba(12, 10, 8, 0.2), -2px 0 0 rgba(37, 244, 238, 0.9), 2px 0 0 rgba(254, 44, 85, 0.9);
}

.contact-social-links__icon--tiktok {
	overflow: visible;
	fill: none !important;
	stroke: none !important;
}

.contact-social-links__icon--tiktok .tiktok-mark__cyan {
	fill: #25f4ee;
	transform: translate(-1px, 1px);
}

.contact-social-links__icon--tiktok .tiktok-mark__red {
	fill: #fe2c55;
	transform: translate(1px, -1px);
}

.contact-social-links__icon--tiktok .tiktok-mark__white {
	fill: #fff;
}

.elementor-45 .elementor-element-d85b9cb .elementor-element-98d20e7 .elementor-element-05a73cb {
	display: none !important;
}

@media (max-width: 767px) {
	.elementor-45 .elementor-element-d85b9cb .contact-social-links {
		margin-top: -4px;
		margin-bottom: 8px;
	}

	.contact-social-links__item {
		width: 42px;
		height: 42px;
	}

	.contact-social-links__icon {
		width: 22px;
		height: 22px;
	}
}

/* Priority UI repair pass. */
.page-banner {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	min-height: calc(100svh - 74px) !important;
	max-height: none !important;
	border-radius: 0 !important;
	background: #0d0b08;
}

.page-banner .banner-slide,
.page-banner .banner-slide img {
	background-color: #0d0b08;
}

.page-banner .banner-slide img {
	padding: clamp(16px, 3vw, 42px);
}

@media (max-width: 767px) {
	.page-banner {
		min-height: calc(100svh - 70px) !important;
	}

	.page-banner .banner-slide img {
		padding: 12px;
	}
}

.elementor-45 .elementor-element-74d3523 {
	display: grid !important;
	grid-template-columns: auto 1fr !important;
	align-items: center !important;
	gap: 14px !important;
	width: max-content !important;
	max-width: min(92vw, 330px) !important;
	padding: 14px 18px !important;
	border: 1px solid rgba(255, 255, 255, 0.36) !important;
	border-radius: 8px !important;
	background: rgba(255, 255, 255, 0.2) !important;
	box-shadow: 0 18px 46px rgba(8, 7, 6, 0.22) !important;
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	color: #111 !important;
}

.elementor-45 .elementor-element-74d3523::before {
	content: none !important;
}

.elementor-45 .elementor-element-74d3523 .elementor-element-fb714f3,
.elementor-45 .elementor-element-74d3523 .elementor-element-95c5001,
.elementor-45 .elementor-element-74d3523 .elementor-element-b1eadb5 {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	min-width: 0 !important;
	width: auto !important;
}

.elementor-45 .elementor-element-74d3523 .elementor-element-2187291 img {
	width: 38px !important;
	height: 38px !important;
	object-fit: contain !important;
}

.elementor-45 .elementor-element-74d3523 .elementor-element-54916ff .elementor-heading-title {
	color: #15110b !important;
	font-size: 30px !important;
	line-height: 1 !important;
}

.elementor-45 .elementor-element-74d3523 .elementor-element-f8e5d0f img {
	width: 96px !important;
	height: auto !important;
	object-fit: contain !important;
}

@media (max-width: 767px) {
	.elementor-45 .elementor-element-74d3523 {
		grid-template-columns: auto 1fr !important;
		justify-self: center !important;
		width: min(100%, 300px) !important;
		padding: 12px 14px !important;
	}
}

.elementor-45 .static-interior-gallery {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 10px !important;
	width: min(100%, 860px) !important;
	margin: 0 auto !important;
}

.elementor-45 .static-interior-gallery__item {
	aspect-ratio: 1 / 1 !important;
	border-radius: 4px !important;
	overflow: hidden !important;
}

.elementor-45 .static-interior-gallery__item img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
}

.elementor-45 .elementor-element-977a217 .elementor-gallery__container {
	position: static !important;
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	grid-auto-flow: dense !important;
	gap: 10px !important;
	width: min(100%, 860px) !important;
	height: auto !important;
	margin: 0 auto !important;
	aspect-ratio: auto !important;
}

.elementor-45 .elementor-element-977a217 .e-gallery-item {
	position: relative !important;
	inset: auto !important;
	display: block !important;
	width: 100% !important;
	aspect-ratio: 4 / 5 !important;
	border-radius: 4px !important;
	overflow: hidden !important;
	transform: none !important;
}

.elementor-45 .elementor-element-977a217 .e-gallery-item:nth-of-type(3n) {
	grid-row: span 2;
}

.elementor-45 .elementor-element-977a217 .e-gallery-image {
	width: 100% !important;
	height: 100% !important;
	padding-bottom: 0 !important;
	background-size: cover !important;
	background-position: center !important;
}

@media (max-width: 900px) {
	.elementor-45 .static-interior-gallery,
	.elementor-45 .elementor-element-977a217 .elementor-gallery__container {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		width: min(100%, 680px) !important;
	}
}

@media (max-width: 767px) {
	.elementor-45 .static-interior-gallery,
	.elementor-45 .elementor-element-977a217 .elementor-gallery__container {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 8px !important;
	}
}

.elementor-73.elementor-location-footer {
	background: #111 !important;
	color: #fffaf1;
}

.elementor-73 .elementor-element-b5988ed {
	padding: 30px 18px !important;
	background: #111 !important;
}

.ken-footer-summary {
	display: grid;
	grid-template-columns: 1.15fr repeat(3, minmax(160px, 1fr));
	gap: 18px;
	width: min(100%, 1180px);
	margin: 0 auto 22px;
	padding-bottom: 22px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	color: rgba(255, 250, 241, 0.78);
}

.ken-footer-summary__brand {
	color: #fffaf1;
	font-family: Cinzel, serif;
	font-size: 24px;
	font-weight: 900;
	letter-spacing: 0.04em;
}

.ken-footer-summary__item strong {
	display: block;
	margin-bottom: 6px;
	color: #c4a052;
	font-size: 13px;
	text-transform: uppercase;
}

.ken-footer-summary__item a {
	color: #fffaf1;
	text-decoration: none;
}

.elementor-73 .elementor-element-b479d68 {
	color: rgba(255, 250, 241, 0.62) !important;
	text-align: center;
}

@media (max-width: 900px) {
	.ken-footer-summary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.ken-footer-summary {
		grid-template-columns: 1fr;
		text-align: center;
	}
}

/* Modern smoothing pass. */
:root {
	--ken-radius-soft: 16px;
	--ken-radius-large: 22px;
	--ken-surface: rgba(255, 250, 241, 0.88);
	--ken-glass: rgba(255, 255, 255, 0.2);
	--ken-glass-border: rgba(255, 255, 255, 0.38);
}

.elementor-45 .elementor-element-840a3a1 {
	min-height: clamp(360px, 42vw, 520px) !important;
	padding: clamp(42px, 6vw, 82px) clamp(18px, 5vw, 80px) !important;
}

.elementor-45 .elementor-element-840a3a1 > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(0, 280px) minmax(180px, 260px) !important;
	justify-content: center !important;
	align-items: center !important;
	gap: clamp(18px, 3vw, 34px) !important;
	width: min(100%, 620px) !important;
	max-width: 620px !important;
}

.elementor-45 .elementor-element-c59074b {
	width: 100% !important;
	max-width: 280px !important;
	justify-self: end !important;
	padding: 14px 16px !important;
	border: 1px solid var(--ken-glass-border);
	border-radius: var(--ken-radius-soft);
	background: rgba(8, 7, 6, 0.32);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.elementor-45 .elementor-element-840a3a1 .elementor-heading-title {
	font-size: clamp(20px, 2.4vw, 34px) !important;
	line-height: 1.08 !important;
	text-align: left !important;
}

.elementor-45 .elementor-element-74d3523 {
	justify-self: start !important;
	max-width: 248px !important;
	padding: 12px 14px !important;
	gap: 10px !important;
	border-radius: var(--ken-radius-soft) !important;
	background: var(--ken-glass) !important;
}

.elementor-45 .elementor-element-74d3523 .elementor-element-2187291 img {
	width: 30px !important;
	height: 30px !important;
}

.elementor-45 .elementor-element-74d3523 .elementor-element-54916ff .elementor-heading-title {
	font-size: 23px !important;
}

.elementor-45 .elementor-element-74d3523 .elementor-element-f8e5d0f img {
	width: 82px !important;
}

.elementor-45 .elementor-element-c5de495,
.elementor-45 .elementor-element-d85b9cb,
.elementor-45 .elementor-element-98d20e7,
.elementor-45 .elementor-element-74d3523,
.elementor-73 .elementor-element-5281c0e {
	border-radius: var(--ken-radius-large) !important;
}

.elementor-45 .elementor-widget-image,
.elementor-45 .elementor-widget-image .elementor-widget-container,
.elementor-45 .elementor-widget-image img,
.elementor-45 .elementor-element-b48375f .elementor-element-0a48b2f .elementor-widget-image,
.elementor-45 .elementor-element-b48375f .elementor-element-0a48b2f .elementor-widget-container,
.elementor-45 .static-interior-gallery__item,
.elementor-45 .elementor-element-977a217 .e-gallery-item,
.elementor-45 .static-video-gallery__item,
.elementor-45 .elementor-element-d85b9cb .elementor-element-05a69d1,
.elementor-45 .elementor-element-d85b9cb iframe {
	border-radius: var(--ken-radius-soft) !important;
	overflow: hidden !important;
}

.elementor-45 .static-interior-gallery__item,
.elementor-45 .elementor-element-977a217 .e-gallery-item,
.elementor-45 .elementor-element-b48375f .elementor-element-0a48b2f .elementor-widget-image {
	box-shadow: 0 10px 26px rgba(18, 14, 9, 0.12);
}

.elementor-45 .static-interior-gallery,
.elementor-45 .elementor-element-977a217 .elementor-gallery__container,
.elementor-45 .elementor-element-b48375f .elementor-element-0a48b2f {
	gap: 12px !important;
}

.elementor-45 .elementor-element-3283a78,
.elementor-45 .elementor-element-b48375f,
.elementor-45 .elementor-element-b0407f5,
.elementor-45 .elementor-element-295f765,
.elementor-45 .elementor-element-6e84318,
.elementor-45 .elementor-element-video-gallery,
.elementor-45 .elementor-element-1e85c06 {
	background-color: #f3eee4 !important;
}

@media (max-width: 767px) {
	.elementor-45 .elementor-element-840a3a1 > .e-con-inner {
		grid-template-columns: 1fr !important;
		width: min(100%, 320px) !important;
		gap: 14px !important;
	}

	.elementor-45 .elementor-element-c59074b,
	.elementor-45 .elementor-element-74d3523 {
		justify-self: center !important;
		max-width: 100% !important;
	}

	.elementor-45 .elementor-element-840a3a1 .elementor-heading-title {
		text-align: center !important;
	}
}

/* Repair Top #1 layout and mobile banner scale. */
.elementor-45 .elementor-element-840a3a1 > .e-con-inner {
	grid-template-columns: minmax(340px, 430px) minmax(190px, 260px) !important;
	width: min(100%, 760px) !important;
	max-width: 760px !important;
	gap: clamp(16px, 2.4vw, 28px) !important;
}

.elementor-45 .elementor-element-c59074b {
	max-width: 430px !important;
	padding: 16px 18px !important;
}

.elementor-45 .elementor-element-c59074b .elementor-heading-title {
	font-size: clamp(26px, 2.2vw, 34px) !important;
	line-height: 1.08 !important;
	text-wrap: balance;
}

.elementor-45 .elementor-element-c59074b .elementor-heading-title br {
	display: none;
}

.elementor-45 .elementor-element-74d3523 {
	display: grid !important;
	grid-template-columns: 34px minmax(0, 1fr) !important;
	max-width: 260px !important;
	min-width: 220px !important;
}

.elementor-45 .elementor-element-74d3523 .elementor-element-95c5001,
.elementor-45 .elementor-element-74d3523 .elementor-element-b1eadb5 {
	width: 100% !important;
	justify-content: flex-start !important;
}

.elementor-45 .elementor-element-74d3523 .elementor-element-b1eadb5 {
	display: grid !important;
	grid-template-columns: auto 1fr !important;
	column-gap: 8px !important;
}

@media (max-width: 767px) {
	.page-banner {
		min-height: 0 !important;
		height: auto !important;
		aspect-ratio: auto !important;
		background: #0d0b08 !important;
	}

	.page-banner .banner-slider,
	.page-banner .banner-slide {
		height: auto !important;
		min-height: 0 !important;
	}

	.page-banner .banner-slide {
		display: flex;
		align-items: flex-start;
	}

	.page-banner .banner-slide::before {
		opacity: 0.18;
	}

	.page-banner .banner-slide img {
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		padding: 0 !important;
		object-fit: contain !important;
		object-position: top center !important;
	}

	.elementor-45 .elementor-element-840a3a1 > .e-con-inner {
		grid-template-columns: 1fr !important;
		width: min(100%, 360px) !important;
		max-width: 360px !important;
	}

	.elementor-45 .elementor-element-c59074b {
		max-width: 360px !important;
		justify-self: center !important;
	}

	.elementor-45 .elementor-element-c59074b .elementor-heading-title {
		font-size: clamp(24px, 7vw, 32px) !important;
		text-align: center !important;
	}

	.elementor-45 .elementor-element-74d3523 {
		width: min(100%, 260px) !important;
		min-width: 0 !important;
		justify-self: center !important;
	}
}

/* Banner height correction: keep the hero visible without page-scale overflow. */
.page-banner {
	width: min(100% - clamp(24px, 5vw, 96px), 1680px) !important;
	max-width: 1680px !important;
	margin: clamp(18px, 3vw, 42px) auto clamp(20px, 3vw, 44px) !important;
	min-height: 0 !important;
	height: clamp(360px, 58vh, 680px) !important;
	max-height: calc(100svh - 150px) !important;
	aspect-ratio: auto !important;
	border-radius: var(--ken-radius-large) !important;
}

.page-banner .banner-slider,
.page-banner .banner-slide {
	height: 100% !important;
}

.page-banner .banner-slide img {
	width: 100% !important;
	height: 100% !important;
	padding: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
}

@media (max-width: 767px) {
	.page-banner {
		width: calc(100% - 20px) !important;
		margin: 10px auto 18px !important;
		height: clamp(260px, 66vh, 520px) !important;
		max-height: calc(100svh - 116px) !important;
		border-radius: 14px !important;
	}

	.page-banner .banner-slider,
	.page-banner .banner-slide {
		height: 100% !important;
	}

	.page-banner .banner-slide img {
		height: 100% !important;
		object-fit: contain !important;
	}
}

/* ========== HERO SECTION ANIMATION & TRANSPARENCY ========== */

/* Keyframe animation cho ảnh hero - Zoom in nhẹ + Fade in */
@keyframes heroZoomIn {
	from {
		opacity: 0;
		transform: scale(1.08);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

/* Keyframe animation cho subtle parallax effect */
@keyframes heroParallax {
	0%, 100% {
		transform: translateY(0px);
	}
	50% {
		transform: translateY(-4px);
	}
}

/* Keyframe animation cho subtle zoom pulse */
@keyframes heroBreathingZoom {
	0%, 100% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.02);
	}
}

/* Áp dụng animation cho hero section */
.elementor-45 .elementor-element-f1bbaa6 {
	/* Làm background khoảng trống transparent */
	background-color: transparent !important;
}

.elementor-45 .elementor-element-f1bbaa6 > .elementor-element-c551ffd img {
	animation: heroZoomIn 1.2s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.elementor-45 .elementor-element-22bc325,
.elementor-45 .elementor-element-f1bbaa6 .elementor-element-404ef38 {
	animation: heroZoomIn 1s cubic-bezier(0.34, 1.56, 0.64, 1) 0.2s forwards;
	opacity: 0;
}

.elementor-45 .elementor-element-f1bbaa6 .elementor-element-3b1718c {
	animation: heroZoomIn 1s cubic-bezier(0.34, 1.56, 0.64, 1) 0.15s forwards;
	opacity: 0;
}

.elementor-45 .elementor-element-f1bbaa6 .elementor-element-b95ce80 {
	animation: heroZoomIn 0.9s cubic-bezier(0.34, 1.56, 0.64, 1) 0.25s forwards;
	opacity: 0;
}

/* Add breathing effect cho logo */
.elementor-45 .elementor-element-c551ffd {
	animation: heroBreathingZoom 3.5s ease-in-out 1.3s infinite;
}

/* Parallax effect cho text subtitle */
.elementor-45 .elementor-element-6854eb2 {
	animation: heroParallax 4s ease-in-out 2s infinite;
}

/* Responsive animation adjustments */
@media (max-width: 767px) {
	.elementor-45 .elementor-element-c551ffd img {
		animation: heroZoomIn 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
	}

	.elementor-45 .elementor-element-22bc325,
	.elementor-45 .elementor-element-f1bbaa6 .elementor-button {
		animation: heroZoomIn 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) 0.15s forwards;
	}

	.elementor-45 .elementor-element-c551ffd {
		animation: heroBreathingZoom 3s ease-in-out 0.9s infinite;
	}

	.elementor-45 .elementor-element-6854eb2 {
		animation: heroParallax 3.5s ease-in-out 1.5s infinite;
	}
}

/* Respect user preference for reduced motion */
@media (prefers-reduced-motion: reduce) {
	.elementor-45 .elementor-element-f1bbaa6 > .elementor-element-c551ffd img,
	.elementor-45 .elementor-element-22bc325,
	.elementor-45 .elementor-element-f1bbaa6 .elementor-element-404ef38,
	.elementor-45 .elementor-element-f1bbaa6 .elementor-element-3b1718c,
	.elementor-45 .elementor-element-f1bbaa6 .elementor-element-b95ce80,
	.elementor-45 .elementor-element-c551ffd,
	.elementor-45 .elementor-element-6854eb2 {
		animation: none !important;
		opacity: 1 !important;
	}
}

/* Banner social overlay. */
.page-banner .banner-social-links {
	position: absolute;
	right: clamp(16px, 3vw, 42px);
	bottom: clamp(16px, 3vw, 42px);
	z-index: 8;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 999px;
	background: rgba(13, 11, 8, 0.52);
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.page-banner .banner-slide {
	background-color: #16110b !important;
}

.page-banner .banner-slide::before {
	z-index: 0;
	background-position: center !important;
	background-size: cover !important;
	filter: blur(24px) saturate(1.04) brightness(0.78);
	opacity: 0.68 !important;
	transform: scale(1.12);
	animation: bannerBackdropDrift 16s ease-in-out infinite alternate;
}

.page-banner .banner-slide::after {
	position: absolute;
	inset: 0;
	z-index: 0;
	content: "";
	background: rgba(13, 11, 8, 0.12);
	pointer-events: none;
}

.page-banner .banner-slide img {
	background: transparent !important;
	transform-origin: center;
	animation: bannerImageFloat 12s ease-in-out infinite alternate;
}

.page-banner .banner-slider {
	will-change: transform;
}

.page-banner .banner-slide {
	isolation: isolate;
}

.page-banner .banner-social-links {
	animation: bannerSocialIn 700ms ease 180ms both;
}

@keyframes bannerBackdropDrift {
	from {
		transform: scale(1.12) translate3d(-1.5%, -1%, 0);
	}
	to {
		transform: scale(1.18) translate3d(1.5%, 1%, 0);
	}
}

@keyframes bannerImageFloat {
	from {
		transform: scale(1) translate3d(0, 0, 0);
	}
	to {
		transform: scale(1.025) translate3d(0, -6px, 0);
	}
}

@keyframes bannerSocialIn {
	from {
		opacity: 0;
		transform: translate3d(0, 12px, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.banner-social-links__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	color: #fff;
	line-height: 1;
	text-decoration: none;
	transition: transform 180ms ease, box-shadow 180ms ease, opacity 180ms ease;
}

.banner-social-links__item:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.28);
	opacity: 0.96;
}

.banner-social-links__icon {
	display: block;
	width: 23px;
	height: 23px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
}

.banner-social-links__item--facebook .banner-social-links__icon,
.banner-social-links__item--tiktok .banner-social-links__icon {
	fill: currentColor;
	stroke: none;
}

.banner-social-links__item--instagram {
	background: radial-gradient(circle at 30% 105%, #fdf497 0 16%, #fd5949 42%, #d6249f 68%, #285aeb 100%);
}

.banner-social-links__item--facebook {
	background: #1877f2;
}

.banner-social-links__item--tiktok {
	background: #000;
	box-shadow: -2px 0 0 rgba(37, 244, 238, 0.9), 2px 0 0 rgba(254, 44, 85, 0.9);
}

.banner-social-links__item--tiktok {
	position: relative;
}

.banner-social-links__item--tiktok::before {
	content: "\266A";
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: #fff;
	font-size: 25px;
	font-weight: 900;
	line-height: 1;
	text-shadow: -2px 0 0 #25f4ee, 2px 0 0 #fe2c55;
}

.banner-social-links__item--tiktok .banner-social-links__icon {
	opacity: 0;
}

@media (max-width: 767px) {
	.page-banner .banner-social-links {
		right: 12px;
		bottom: 12px;
		gap: 8px;
		padding: 7px;
	}

	.banner-social-links__item {
		width: 38px;
		height: 38px;
	}

	.banner-social-links__icon {
		width: 20px;
		height: 20px;
	}

	.page-banner .banner-slide::before {
		filter: blur(20px) saturate(1.05) brightness(0.78);
		opacity: 0.7 !important;
		transform: scale(1.16);
	}

	.banner-social-links__item--tiktok::before {
		font-size: 22px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.page-banner .banner-slide::before,
	.page-banner .banner-slide img,
	.page-banner .banner-social-links {
		animation: none !important;
	}
}

/* Google rating badge: prevent the Google icon from being clipped on desktop. */
.elementor-45 .elementor-element-74d3523 {
	grid-template-columns: 34px minmax(0, 1fr) !important;
	align-items: center !important;
	overflow: visible !important;
}

.elementor-45 .elementor-element-74d3523 .elementor-element-fb714f3,
.elementor-45 .elementor-element-74d3523 .elementor-element-2187291,
.elementor-45 .elementor-element-74d3523 .elementor-element-2187291 .elementor-widget-container {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 34px !important;
	min-width: 34px !important;
	height: 34px !important;
	min-height: 34px !important;
	overflow: visible !important;
}

.elementor-45 .elementor-element-74d3523 .elementor-element-2187291 img {
	display: block !important;
	width: 24px !important;
	min-width: 24px !important;
	height: 24px !important;
	min-height: 24px !important;
	max-width: none !important;
	object-fit: contain !important;
	object-position: center !important;
	overflow: visible !important;
}

@media (min-width: 768px) {
	.elementor-45 .elementor-element-74d3523 {
		min-width: 238px !important;
		max-width: 280px !important;
	}
}

/* Haircuts gallery: keep the 12 photos in a clean grid without masonry gaps. */
.elementor-45 .elementor-element-977a217 .elementor-gallery__container {
	grid-auto-flow: row !important;
	align-items: stretch !important;
}

.elementor-45 .elementor-element-977a217 .e-gallery-item,
.elementor-45 .elementor-element-977a217 .e-gallery-item:nth-of-type(3n) {
	grid-row: auto !important;
	aspect-ratio: 1 / 1 !important;
}

/* Keep photo galleries the same width as the video gallery on desktop and mobile. */
.elementor-45 .elementor-element-interior-gallery,
.elementor-45 .elementor-element-977a217,
.elementor-45 .elementor-element-video-grid,
.elementor-45 .static-interior-gallery,
.elementor-45 .elementor-element-977a217 .elementor-gallery__container,
.elementor-45 .static-video-gallery {
	width: 100% !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

@media (max-width: 900px) {
	.elementor-45 .static-interior-gallery,
	.elementor-45 .elementor-element-977a217 .elementor-gallery__container,
	.elementor-45 .static-video-gallery {
		width: 100% !important;
		max-width: none !important;
	}
}

/* Mobile header booking button: keep it visible above the banner and overlays. */
@media (max-width: 767px) {
	.elementor-location-header,
	.elementor-location-header .elementor-element-0099a94 {
		position: sticky !important;
		top: 0 !important;
		z-index: 3000 !important;
		overflow: visible !important;
	}

	.elementor-location-header .elementor-element-0099a94 > .e-con-inner {
		display: grid !important;
		grid-template-columns: minmax(72px, 0.34fr) minmax(150px, 0.66fr) !important;
		align-items: center !important;
		gap: 8px !important;
		width: 100% !important;
		min-height: 86px !important;
		overflow: visible !important;
	}

	.elementor-location-header .elementor-element-ab58b41,
	.elementor-location-header .elementor-element-f89ca3b {
		position: relative !important;
		z-index: 3002 !important;
		display: flex !important;
		justify-content: flex-end !important;
		align-items: center !important;
		min-width: 0 !important;
		overflow: visible !important;
	}

	.elementor-location-header .elementor-element-f89ca3b .elementor-button {
		position: relative !important;
		z-index: 3003 !important;
		display: inline-flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		width: auto !important;
		min-width: 138px !important;
		max-width: calc(100vw - 128px) !important;
		min-height: 44px !important;
		padding: 12px 22px !important;
		white-space: nowrap !important;
		box-shadow: 0 12px 28px rgba(12, 10, 8, 0.22) !important;
	}
}

/* Mobile hero reservation CTA. */
@media (max-width: 767px) {
	.elementor-45 .elementor-element-22bc325 {
		transform: none !important;
		animation: none !important;
		opacity: 1 !important;
		visibility: visible !important;
	}

	.elementor-45 .elementor-element-f1bbaa6 .elementor-element-3b1718c,
	.elementor-45 .elementor-element-f1bbaa6 .elementor-element-6854eb2 {
		opacity: 1 !important;
		visibility: visible !important;
		animation: none !important;
	}

	.elementor-45 .elementor-element-f1bbaa6 .elementor-element-404ef38 {
		position: relative !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		bottom: auto !important;
		z-index: 2 !important;
		display: flex !important;
		justify-content: center !important;
		width: auto !important;
		margin: 0 !important;
		pointer-events: auto !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		animation: none !important;
		will-change: auto;
	}

	body > .elementor-element-404ef38.is-floating-cta {
		position: relative !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		bottom: auto !important;
		z-index: 2 !important;
		display: flex !important;
		justify-content: center !important;
		width: auto !important;
		margin: 0 !important;
		pointer-events: auto !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		animation: none !important;
		will-change: auto;
		backface-visibility: hidden;
		-webkit-backface-visibility: hidden;
	}

	.elementor-45 .elementor-element-f1bbaa6 .elementor-element-404ef38 .elementor-button,
	body > .elementor-element-404ef38.is-floating-cta .elementor-button {
		min-width: 156px !important;
		min-height: 48px !important;
		padding: 13px 28px !important;
		border-radius: 999px !important;
		background: #d2a447 !important;
		color: #111 !important;
		font-size: 17px !important;
		font-weight: 800 !important;
		line-height: 1 !important;
		box-shadow: 0 16px 34px rgba(12, 10, 8, 0.28), 0 0 0 1px rgba(255, 255, 255, 0.18) inset !important;
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
		transform: translateZ(0);
		transition: transform 220ms ease, box-shadow 220ms ease, background 220ms ease !important;
	}

	.elementor-45 .elementor-element-f1bbaa6 .elementor-element-404ef38 .elementor-button:hover,
	.elementor-45 .elementor-element-f1bbaa6 .elementor-element-404ef38 .elementor-button:focus-visible,
	body > .elementor-element-404ef38.is-floating-cta .elementor-button:hover,
	body > .elementor-element-404ef38.is-floating-cta .elementor-button:focus-visible {
		background: #deb75f !important;
		transform: translate3d(0, -3px, 0) !important;
		box-shadow: 0 20px 42px rgba(12, 10, 8, 0.34), 0 0 0 1px rgba(255, 255, 255, 0.22) inset !important;
	}

	.elementor-45 .elementor-element-f1bbaa6 .elementor-element-404ef38 .elementor-button:active,
	body > .elementor-element-404ef38.is-floating-cta .elementor-button:active {
		transform: translate3d(0, 0, 0) scale(0.98) !important;
	}
}

@keyframes mobileReserveFloatIn {
	from {
		opacity: 0;
		transform: translate3d(-50%, calc(-50% + 18px), 0) scale(0.96);
	}
	to {
		opacity: 1;
		transform: translate3d(-50%, -50%, 0) scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.elementor-45 .elementor-element-f1bbaa6 .elementor-element-404ef38,
	body > .elementor-element-404ef38.is-floating-cta {
		animation: none !important;
	}
}

/* Align gallery/contact content width with the price section columns. */
.elementor-45 {
	--site-wide-content-width: 1360px;
}

.elementor-45 .elementor-element-18400ff {
	width: 100% !important;
	max-width: none !important;
	--padding-left: 0px !important;
	--padding-right: 0px !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.elementor-45 .elementor-element-d27aab3 {
	width: 100% !important;
	max-width: none !important;
	--padding-left: 0px !important;
	--padding-right: 0px !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.elementor-45 .elementor-element-d27aab3 > .e-con-inner {
	width: 100% !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.elementor-45 .elementor-element-b0407f5,
.elementor-45 .elementor-element-295f765,
.elementor-45 .elementor-element-6e84318,
.elementor-45 .elementor-element-video-gallery {
	width: 100% !important;
	max-width: none !important;
	--padding-left: 0px !important;
	--padding-right: 0px !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.elementor-45 .elementor-element-b0407f5 > .e-con-inner,
.elementor-45 .elementor-element-295f765 > .e-con-inner,
.elementor-45 .elementor-element-6e84318 > .e-con-inner,
.elementor-45 .elementor-element-video-gallery > .e-con-inner {
	width: min(100%, var(--site-wide-content-width)) !important;
	max-width: var(--site-wide-content-width) !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.elementor-45 .elementor-element-interior-gallery,
.elementor-45 .elementor-element-977a217,
.elementor-45 .elementor-element-video-grid,
.elementor-45 .static-interior-gallery,
.elementor-45 .elementor-element-977a217 .elementor-gallery__container,
.elementor-45 .static-video-gallery {
	width: 100% !important;
	max-width: none !important;
}

.elementor-45 .elementor-element-1e85c06 {
	padding-left: var(--section-pad-x) !important;
	padding-right: var(--section-pad-x) !important;
}

.elementor-45 .elementor-element-d85b9cb {
	width: min(100%, var(--site-wide-content-width)) !important;
	max-width: var(--site-wide-content-width) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Compact mobile pass: reduce long phone scrolling without changing desktop. */
@media (max-width: 767px) {
	body {
		line-height: 1.38;
		padding-bottom: 0 !important;
	}

	.elementor-45 {
		--section-space: 24px;
		--section-space-sm: 18px;
		--section-pad-x: 12px;
	}

	.elementor-location-header .elementor-element-0099a94 > .e-con-inner {
		min-height: 68px !important;
		padding-top: 4px !important;
		padding-bottom: 4px !important;
	}

	.elementor-element-6651ae5 {
		width: 58px !important;
		max-width: 58px !important;
		flex-basis: 58px !important;
	}

	.elementor-element-6651ae5 img {
		width: 50px !important;
		max-width: 50px !important;
	}

	.elementor-location-header .elementor-element-f89ca3b .elementor-button {
		min-width: 118px !important;
		min-height: 38px !important;
		padding: 10px 14px !important;
		font-size: 14px !important;
	}

	.page-banner {
		width: calc(100% - 16px) !important;
		height: clamp(190px, 46vh, 360px) !important;
		max-height: calc(100svh - 96px) !important;
		margin: 8px auto 12px !important;
		border-radius: 10px !important;
	}

	.page-banner .banner-social-links {
		right: 8px;
		bottom: 8px;
		gap: 6px;
		padding: 6px;
	}

	.banner-social-links__item {
		width: 34px;
		height: 34px;
	}

	.elementor-45 .elementor-element-ea8e286,
	.elementor-45 .elementor-element-ecb3683 {
		padding: 10px 10px 14px !important;
	}

	.elementor-45 .elementor-element-f1bbaa6 {
		min-height: auto !important;
		padding: 34px 14px 38px !important;
		border-radius: 12px !important;
	}

	.elementor-45 .elementor-element-c551ffd img {
		width: clamp(82px, 25vw, 112px) !important;
		margin-bottom: 14px !important;
	}

	.elementor-45 .elementor-element-3b1718c .elementor-heading-title {
		font-size: clamp(28px, 8.2vw, 38px) !important;
		line-height: 1.02 !important;
	}

	.elementor-45 .elementor-element-6854eb2 {
		margin-top: 14px !important;
	}

	.elementor-45 .elementor-element-ecb3683 .elementor-element-d42dcc5 {
		font-size: clamp(17px, 4.8vw, 22px) !important;
		line-height: 1.18 !important;
	}

	.elementor-45 .elementor-element-b95ce80 a {
		font-size: clamp(22px, 6.2vw, 28px) !important;
	}

	.elementor-45 .elementor-element-f1bbaa6 .elementor-element-404ef38 .elementor-button,
	body > .elementor-element-404ef38.is-floating-cta .elementor-button {
		min-width: 134px !important;
		min-height: 42px !important;
		padding: 11px 22px !important;
		font-size: 15px !important;
	}

	.elementor-45 .elementor-element-840a3a1 {
		min-height: 300px !important;
		padding: 26px 12px !important;
	}

	.elementor-45 .elementor-element-c59074b {
		padding: 12px 14px !important;
	}

	.elementor-45 .elementor-element-c59074b .elementor-heading-title {
		font-size: clamp(20px, 6vw, 27px) !important;
		line-height: 1.08 !important;
	}

	.elementor-45 .elementor-element-74d3523 {
		width: min(100%, 238px) !important;
		padding: 10px 12px !important;
	}

	.elementor-45 .elementor-element-3283a78,
	.elementor-45 .elementor-element-b48375f,
	.elementor-45 .elementor-element-4d0a8e7,
	.elementor-45 .elementor-element-b0407f5,
	.elementor-45 .elementor-element-295f765,
	.elementor-45 .elementor-element-6e84318,
	.elementor-45 .elementor-element-video-gallery,
	.elementor-45 .elementor-element-1e85c06 {
		padding-top: 16px !important;
		padding-bottom: 16px !important;
	}

	.elementor-45 .elementor-element-b48375f {
		padding-top: 18px !important;
		padding-bottom: 18px !important;
	}

	.elementor-45 .elementor-element-c5de495 {
		padding: 18px 14px !important;
		border-radius: 14px !important;
	}

	.elementor-45 .elementor-element-c5de495 .elementor-element-cbdb867 .elementor-heading-title {
		font-size: 30px !important;
	}

	.elementor-45 .elementor-element-c5de495 .elementor-element-8a77a00 {
		padding: 12px 0 !important;
		column-gap: 10px !important;
	}

	.elementor-45 .elementor-element-c5de495 .elementor-element-2ae0127 h4 {
		margin-bottom: 4px !important;
		font-size: 18px !important;
	}

	.elementor-45 .elementor-element-c5de495 .elementor-element-2ae0127 p {
		font-size: 12px !important;
		line-height: 1.25 !important;
	}

	.elementor-45 .elementor-element-c5de495 .elementor-element-cdf1a9c h5 {
		font-size: 21px !important;
	}

	.elementor-45 .elementor-element-4d0a8e7 > .e-con-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		row-gap: 14px !important;
		column-gap: 10px !important;
	}

	.elementor-45 .elementor-element-4d0a8e7 .elementor-widget-text-editor {
		width: 100% !important;
	}

	.elementor-element-4d0a8e7 .elementor-heading-title {
		font-size: 18px !important;
	}

	.elementor-element-4d0a8e7 .elementor-widget-text-editor p {
		font-size: 12px !important;
		line-height: 1.25 !important;
	}

	.elementor-45 .elementor-element.elementor-element-87772ff img,
	.elementor-45 .elementor-element.elementor-element-payment-icon img,
	.elementor-45 .elementor-element.elementor-element-9ff0f97 img,
	.elementor-45 .elementor-element.elementor-element-53299c1 img,
	.elementor-45 .elementor-element.elementor-element-ebbe6a0 img {
		width: 36px !important;
		max-width: 36px !important;
	}

	.elementor-element-b0407f5 .elementor-heading-title {
		font-size: 28px !important;
	}

	.elementor-45 .static-interior-gallery,
	.elementor-45 .elementor-element-977a217 .elementor-gallery__container,
	.elementor-45 .static-video-gallery {
		gap: 6px !important;
	}

	.elementor-45 .static-video-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.static-video-gallery__item {
		aspect-ratio: 4 / 5 !important;
		max-height: none !important;
		object-fit: cover !important;
	}

	.elementor-45 .elementor-element-1e85c06 {
		padding-top: 18px !important;
		padding-bottom: 20px !important;
	}

	.elementor-45 .elementor-element-d85b9cb {
		padding: 18px 14px !important;
		border-radius: 14px !important;
	}

	.elementor-45 .elementor-element-d85b9cb .elementor-element-e7b6e81 .elementor-heading-title {
		font-size: clamp(28px, 8.4vw, 38px) !important;
	}

	.elementor-45 .elementor-element-d85b9cb .elementor-element-98d20e7 {
		gap: 14px !important;
		padding: 16px !important;
		border-radius: 14px !important;
	}

	.elementor-45 .elementor-element-d85b9cb .elementor-element-38a3bfd p {
		margin-bottom: 10px !important;
		font-size: 13px !important;
		line-height: 1.4 !important;
	}

	.elementor-45 .elementor-element-d85b9cb .elementor-element-38a3bfd .contact-payment-notice {
		margin-bottom: 14px !important;
	}

	.elementor-45 .elementor-element-d85b9cb .elementor-element-05a69d1 {
		min-height: 160px !important;
	}

	.elementor-45 .elementor-element-d85b9cb .elementor-custom-embed iframe {
		min-height: 220px !important;
		height: 220px !important;
	}

	.elementor-element-3f740f9 {
		min-height: 0 !important;
	}

	.elementor-73 .elementor-element.elementor-element-5281c0e {
		row-gap: 18px !important;
		padding: 18px 14px 24px !important;
		border-radius: 0 !important;
	}

	.elementor-73 .elementor-element.elementor-element-f60635c {
		grid-template-columns: repeat(6, 34px) !important;
		gap: 8px !important;
		width: max-content !important;
	}

	.elementor-73 .elementor-element.elementor-element-f60635c > .elementor-element,
	.elementor-73 .elementor-element.elementor-element-f60635c .elementor-widget,
	.elementor-73 .elementor-element.elementor-element-f60635c .elementor-widget-container,
	.elementor-73 .elementor-element.elementor-element-f60635c img,
	.elementor-73 .elementor-element.elementor-element-f60635c .language-flag {
		width: 34px !important;
		min-width: 34px !important;
		max-width: 34px !important;
		height: 34px !important;
	}

	.elementor-73 .elementor-element.elementor-element-9d81c74 {
		font-size: 16px !important;
	}

	.elementor-73 .elementor-element.elementor-element-2195b9d {
		padding: 0 !important;
	}

	.elementor-form textarea {
		min-height: 96px !important;
		height: 96px !important;
	}

	.elementor-field,
	.elementor-field-textual {
		min-height: 40px !important;
		padding: 9px 12px !important;
	}

	.elementor-73 .elementor-element-b5988ed {
		padding: 20px 14px !important;
	}

	.ken-footer-summary {
		gap: 10px;
		margin-bottom: 14px;
		padding-bottom: 14px;
	}

	.ken-footer-summary__brand {
		font-size: 20px;
	}
}

/* Phone video gallery: 2 videos per row, matching the photo grid. */
@media (max-width: 767px) {
	.elementor-45 .elementor-element-video-gallery > .e-con-inner {
		width: 100% !important;
		max-width: none !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		align-items: stretch !important;
	}

	.elementor-45 .elementor-element-video-grid,
	.elementor-45 .static-video-gallery {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 6px !important;
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.elementor-45 .elementor-element-video-grid {
		--width: 100% !important;
		flex: 0 0 100% !important;
		align-self: stretch !important;
	}

	.elementor-45 .static-video-gallery__item {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 1 / 1 !important;
		max-height: none !important;
		object-fit: cover !important;
	}
}

/* Phone feature grid: center the fifth item under the two-column rows. */
@media (max-width: 767px) {
	.elementor-45 .elementor-element-4d0a8e7 > .e-con-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		justify-items: center !important;
	}

	.elementor-45 .elementor-element.elementor-element-4a54570 {
		grid-column: 1 / -1 !important;
		width: calc((100% - 10px) / 2) !important;
		max-width: 180px !important;
		justify-self: center !important;
	}
}

/* Final phone video width fix: make video grid use the same full row width as photos. */
@media (max-width: 767px) {
	.elementor-45 .elementor-element-video-gallery {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.elementor-45 .elementor-element-video-gallery > .e-con-inner {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.elementor-45 .elementor-element-video-grid,
	.elementor-45 .elementor-element-video-grid .elementor-widget-container,
	.elementor-45 .static-video-gallery {
		display: grid !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.elementor-45 .elementor-element-video-grid,
	.elementor-45 .elementor-element-video-grid .elementor-widget-container {
		display: block !important;
	}

	.elementor-45 .static-video-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 6px !important;
	}

	.elementor-45 .static-video-gallery__item {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		aspect-ratio: 1 / 1 !important;
		height: auto !important;
		object-fit: cover !important;
	}
}
