/*
 * Himalayan Outback - main styles.
 * Breakpoints match the original build: desktop >= 1025px, tablet 768-1024px, mobile <= 767px.
 */

:root {
	--ho-taupe: #9d897b;
	--ho-blue: #027fa3;
	--ho-text: #1e1e1e;
	--ho-bg: #f4f4f4;
	--ho-white: #fff;
	--ho-font: "Montserrat", sans-serif;
	--ho-container: 1140px;
	--ho-admin-bar: var(--wp-admin--admin-bar--height, 0px);
}

/* Site-wide type (same values as the Elementor kit). */
body {
	background-color: var(--ho-bg);
	color: var(--ho-text);
	font-family: var(--ho-font);
	font-size: 19px;
	line-height: 1.4em;
}

body a {
	color: var(--ho-blue);
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
	color: var(--ho-text);
	font-family: var(--ho-font);
}

body h3 {
	font-size: 20px;
}

body h4 {
	font-size: 16px;
}

.ho-container {
	max-width: var(--ho-container);
	margin-inline: auto;
	padding-inline: 10px;
}

.ho-section {
	padding-block: 50px;
}

.ho-icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	fill: currentColor;
	flex-shrink: 0;
}

/* Buttons --------------------------------------------------------------- */

.ho .ho-btn {
	display: inline-block;
	font-family: var(--ho-font);
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
	padding: 15px;
	border-radius: 4px;
	color: var(--ho-white);
	background-color: var(--ho-blue);
	text-align: center;
	text-decoration: none;
	transition: all 0.3s;
}

.ho .ho-btn:hover,
.ho .ho-btn:focus {
	color: var(--ho-white);
}

/* Social icons ---------------------------------------------------------- */

.ho-social {
	display: flex;
	flex-wrap: wrap;
	gap: 0 5px;
	line-height: 1;
	--ho-social-size: 17px;
}

.ho .ho-social__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: calc(var(--ho-social-size) * 2);
	height: calc(var(--ho-social-size) * 2);
	font-size: var(--ho-social-size);
	border-radius: 10%;
	background-color: var(--ho-white);
	color: var(--ho-taupe);
	transition: all 0.3s;
}

.ho .ho-social__link:hover {
	opacity: 0.9;
	color: var(--ho-taupe);
}

/* Header ---------------------------------------------------------------- */

.ho-topbar {
	display: none;
	background-color: var(--ho-taupe);
}

.ho-header {
	position: sticky;
	top: var(--ho-admin-bar);
	z-index: 99;
	margin-bottom: -15px;
	padding: 10px;
	background-color: var(--ho-taupe);
}

.ho-header__inner {
	display: flex;
	align-items: center;
}

.ho-header__logo {
	width: 13%;
	padding: 10px;
}

.ho-logo {
	display: block;
}

.ho-header__logo img {
	display: block;
	width: 100%;
	height: auto;
}

.ho-header__nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 74.664%;
	padding: 10px;
}

.ho-header__cta {
	display: flex;
	justify-content: flex-end;
	width: 12%;
	padding: 10px;
}

.ho-nav {
	width: 100%;
}

.ho-nav__list {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ho-nav__list li {
	position: relative;
}

.ho .ho-nav__list a {
	position: relative;
	display: flex;
	padding: 13px 11px;
	font-size: 16px;
	font-weight: 400;
	line-height: 20px;
	color: var(--ho-white);
	text-decoration: none;
}

/* White 5px dot under the hovered / current item. */
.ho-nav__list a::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 5px;
	height: 5px;
	margin: 0 auto;
	border-radius: 50%;
	background-color: var(--ho-white);
	opacity: 0;
	transition: opacity 0.3s;
}

.ho-nav__list a:hover::after,
.ho-nav__list a:focus-visible::after,
.ho-nav__list .current-menu-item > a::after,
.ho-nav__list .current_page_item > a::after {
	opacity: 1;
}

.ho-nav__list .sub-menu {
	display: none;
}

.ho .ho-header__inquire-sm,
.ho-menu-toggle,
.ho-dropdown {
	display: none;
}

.ho .ho-menu-toggle {
	align-items: center;
	justify-content: center;
	padding: 0.25em;
	font-size: 22px;
	line-height: 1;
	color: var(--ho-white);
	background: transparent;
	border: 0;
	border-radius: 3px;
}

.ho .ho-menu-toggle:hover,
.ho .ho-menu-toggle:focus {
	color: var(--ho-white);
	background: transparent;
}

.ho-menu-toggle__close,
.ho-menu-toggle[aria-expanded="true"] .ho-menu-toggle__open {
	display: none;
}

.ho-menu-toggle[aria-expanded="true"] .ho-menu-toggle__close {
	display: inline-block;
}

/* Full-width dropdown under the toggle (tablet and mobile). */
.ho-dropdown {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(50% + 16.5px + 24px);
	background-color: var(--ho-white);
}

.ho-dropdown__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ho .ho-dropdown__list a {
	display: block;
	padding: 10px 20px;
	font-family: var(--ho-font);
	font-size: 16px;
	font-weight: 500;
	line-height: 20px;
	color: var(--ho-taupe);
	text-decoration: none;
}

.ho .ho-dropdown__list a:hover,
.ho .ho-dropdown__list a:focus-visible,
.ho .ho-dropdown__list .current-menu-item > a,
.ho .ho-dropdown__list .current_page_item > a {
	color: var(--ho-white);
	background-color: var(--ho-taupe);
}

.ho-dropdown__list .sub-menu {
	padding: 0 0 0 20px;
	list-style: none;
}

@media (max-width: 1024px) {
	.ho-topbar {
		display: block;
		padding: 20px 10px 15px;
	}

	.ho-social--header {
		justify-content: flex-end;
	}

	.ho-header {
		margin-bottom: 0;
	}

	.ho-header__logo {
		width: 20%;
		padding: 0;
	}

	.ho-header__nav {
		width: 80%;
		padding: 0;
	}

	.ho-header__cta,
	.ho-nav {
		display: none;
	}

	.ho .ho-header__inquire-sm {
		display: inline-block;
		margin-right: 10px;
	}

	.ho .ho-menu-toggle {
		display: flex;
	}

	.ho-dropdown:not([hidden]) {
		display: block;
	}
}

@media (max-width: 800px) {
	.ho-dropdown__list {
		padding: 20px 0;
	}
}

@media (max-width: 767px) {
	.ho-header__logo {
		width: 40%;
	}

	.ho-header__nav {
		width: 60%;
	}

	.ho .ho-header__inquire-sm {
		font-size: 16px;
	}

	.ho .ho-menu-toggle {
		font-size: 25px;
	}

	.ho-dropdown {
		top: calc(50% + 18.75px + 22px);
	}
}

/* Footer ---------------------------------------------------------------- */

.ho-footer {
	padding: 60px 10px 20px;
	background-color: var(--ho-taupe);
	color: var(--ho-white);
}

.ho-footer__inner {
	display: flex;
	max-width: var(--ho-container);
	margin: 0 auto;
}

.ho-footer__col {
	padding: 10px;
}

.ho-footer__col > :not(:last-child) {
	margin-bottom: 20px;
}

.ho-footer__brand {
	width: 20%;
	text-align: center;
}

.ho-footer__links {
	width: 16%;
}

.ho-footer__contact {
	width: 30%;
}

.ho-footer__featured {
	width: 33.972%;
}

.ho-footer__logo,
.ho-footer__featured-logo {
	display: table;
}

.ho-footer__logo {
	margin-inline: auto;
}

.ho-footer__logo img {
	display: block;
	width: 248px;
}

.ho .ho-footer__title {
	margin: 0 0 20px;
	font-size: 26px;
	font-weight: 600;
	line-height: 1;
	color: var(--ho-white);
}

.ho-social--footer {
	justify-content: center;
}

.ho-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ho .ho-list a {
	display: flex;
	align-items: center;
	color: var(--ho-white);
	font-size: 17px;
	line-height: 1.4;
	text-decoration: none;
}

.ho-list__icon {
	width: 1.25em;
}

.ho-list a > span,
.ho-list a > .ho-list__icon + * {
	padding-left: 5px;
}

.ho-list--links .ho-list__icon {
	font-size: 14px;
}

.ho-list--links li:not(:last-child) {
	padding-bottom: 4.5px;
}

.ho-list--links li:not(:first-child) {
	margin-top: 4.5px;
}

.ho .ho-list--contact a {
	color: #f8f8f8;
	font-weight: 400;
}

.ho-list--contact .ho-list__icon {
	margin-top: 8px;
	font-size: 22px;
	color: var(--ho-white);
}

.ho-list--contact li:not(:last-child) {
	padding-bottom: 8px;
}

.ho-list--contact li:not(:first-child) {
	margin-top: 8px;
}

.ho .ho-footer__featured-text {
	margin-top: 0;
	font-size: 17px;
	font-weight: 400;
	line-height: 1;
	color: var(--ho-white);
}

.ho-footer__featured-logo img {
	display: block;
	width: 150px;
}

.ho .ho-footer__copy {
	max-width: var(--ho-container);
	margin: 35px auto 10px;
	padding: 0 10px;
	font-size: 16px;
	font-weight: 300;
	line-height: 1;
	text-align: center;
	color: var(--ho-white);
}

.ho .ho-footer__copy a {
	color: var(--ho-white);
	font-size: inherit;
}

@media (max-width: 1024px) {
	.ho-footer {
		padding: 50px 10px 50px;
	}

	.ho-footer__brand {
		width: 21%;
		padding: 0;
	}

	.ho-footer__links {
		width: 18%;
		padding: 0 0 0 10px;
	}

	.ho-footer__contact {
		width: 40%;
		padding: 0 0 0 10px;
	}

	.ho-footer__featured {
		width: 19%;
		padding: 0;
	}

	.ho .ho-footer__title {
		font-size: 20px;
	}

	.ho-social--footer {
		--ho-social-size: 15px;
	}

	.ho .ho-list a {
		font-size: 16px;
	}

	.ho-list--contact li:not(:last-child) {
		padding-bottom: 5px;
	}

	.ho-list--contact li:not(:first-child) {
		margin-top: 5px;
	}

	.ho .ho-footer__featured-text {
		font-size: 16px;
		line-height: 20px;
	}

	.ho-footer__featured-logo img {
		width: 100px;
	}
}

@media (max-width: 767px) {
	.ho-footer__inner {
		flex-wrap: wrap;
	}

	.ho-footer__col,
	.ho-footer__brand,
	.ho-footer__links,
	.ho-footer__contact,
	.ho-footer__featured {
		width: 100%;
		padding: 0;
	}

	.ho-footer__brand,
	.ho-footer__links,
	.ho-footer__contact {
		margin-bottom: 20px;
	}

	.ho-footer__brand {
		text-align: left;
	}

	.ho-footer__logo {
		margin-inline: 0;
	}

	.ho-footer__logo img {
		width: 200px;
	}

	.ho .ho-footer__title {
		font-size: 22px;
	}

	.ho-social--footer {
		justify-content: flex-start;
	}

	.ho .ho-footer__featured-text {
		font-size: 18px;
		line-height: 25px;
	}

	.ho .ho-footer__copy {
		margin: 25px 0 0;
		padding: 0;
		line-height: 24px;
	}
}

/* Inquire popup --------------------------------------------------------- */

.ho-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ho-modal[hidden] {
	display: none;
}

.ho-modal__overlay {
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.8);
}

.ho-modal__box {
	position: relative;
	width: 640px;
	max-width: 100%;
	max-height: 100vh;
	background-color: var(--ho-white);
	box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.2);
}

.ho-modal.is-open .ho-modal__box {
	animation: ho-zoom-in 0.9s;
}

@keyframes ho-zoom-in {
	from {
		opacity: 0;
		transform: scale3d(0.3, 0.3, 0.3);
	}

	50% {
		opacity: 1;
	}
}

.ho-modal__body {
	max-height: 100vh;
	overflow-y: auto;
	padding: 40px;
}

.ho .ho-modal__close {
	position: absolute;
	z-index: 1;
	top: -3%;
	right: -2%;
	display: flex;
	padding: 5px;
	font-size: 18px;
	line-height: 1;
	color: var(--ho-white);
	background-color: var(--ho-taupe);
	border: 0;
	border-radius: 50px;
}

.ho .ho-modal__close:hover,
.ho .ho-modal__close:focus {
	color: var(--ho-white);
	background-color: var(--ho-taupe);
}

.ho-form--popup {
	padding: 10px;
	border: 1px solid var(--ho-taupe);
}

@media (max-width: 1024px) {
	.ho-modal__body {
		padding: 40px 10px 50px;
	}
}

@media (max-width: 767px) {
	.ho-modal__box {
		width: 320px;
	}

	.ho-modal__body {
		padding: 10px;
	}

	.ho .ho-modal__close {
		right: -3%;
		font-size: 13px;
	}
}

body.ho-modal-open {
	overflow: hidden;
}

/* Thank-you popup (shown after a successful inquiry). */
.ho-modal--thanks .ho-modal__box {
	background-color: var(--ho-taupe);
}

.ho-modal--thanks .ho-modal__body {
	padding: 0;
}

.ho .ho-modal--thanks .ho-modal__close {
	top: 20px;
	right: 20px;
	padding: 0;
	font-size: 15px;
	color: #1f2124;
	background: transparent;
}

.ho-thanks {
	display: flex;
	align-items: center;
	padding: 45px 0;
}

.ho-thanks__media {
	width: 17.344%;
	padding: 10px;
	border-right: 1px solid var(--ho-white);
}

.ho-thanks__media img {
	display: block;
	margin: 0 auto;
}

.ho-thanks__text {
	width: 82.656%;
	padding: 10px;
	color: #fff4f4;
}

.ho .ho-thanks__title {
	margin: 0 0 20px;
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
	color: var(--ho-white);
}

.ho-thanks__text p {
	margin: 0;
}

@media (max-width: 767px) {
	.ho-thanks {
		flex-wrap: wrap;
	}

	.ho-thanks__media,
	.ho-thanks__text {
		width: 100%;
	}
}

/* Forms (Contact Form 7, styled like the original Elementor forms) --------- */

.ho-cf7 .hidden-fields-container {
	display: none;
}

.ho-field {
	margin-bottom: 10px;
	font-size: 19px;
	line-height: 1.5;
}

.ho-field .wpcf7-form-control-wrap {
	position: relative;
	display: block;
}

.ho .ho-cf7 input[type="text"],
.ho .ho-cf7 input[type="email"],
.ho .ho-cf7 input[type="tel"],
.ho .ho-cf7 select,
.ho .ho-cf7 textarea {
	display: block;
	width: 100%;
	margin: 0;
	padding: 12px 15px 13px;
	font-family: var(--ho-font);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ho-taupe);
	background-color: var(--ho-white);
	border: 1px solid rgba(157, 137, 123, 0.24);
	border-radius: 0;
	box-shadow: none;
	transition: none;
}

.ho .ho-cf7 textarea {
	padding: 5px 14px;
	resize: vertical;
}

.ho .ho-cf7 select {
	padding-right: 20px;
	-webkit-appearance: none;
	appearance: none;
}

.ho .ho-cf7 :is(input, select, textarea):focus {
	outline: 0;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
}

.ho-cf7 ::placeholder {
	color: inherit;
	opacity: 0.6;
}

/* Caret: Elementor's eicons caret-down glyph. */
.ho-field--country .wpcf7-form-control-wrap::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	width: 12px;
	height: 21px;
	transform: translateY(-50%);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 571 1000'%3E%3Cpath fill='%239d897b' d='M571 393Q571 407 561 418L311 668Q300 679 286 679Q272 679 261 668L11 418Q0 407 0 393Q0 379 11 368Q22 357 36 357H536Q550 357 561 368Q572 379 571 393Z'/%3E%3C/svg%3E") no-repeat center / contain;
	pointer-events: none;
	z-index: 1;
}

.ho-field__label {
	display: block;
	font-size: 19px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--ho-text);
}

.ho-cf7 .wpcf7-checkbox,
.ho-cf7 .wpcf7-radio {
	display: flex;
	flex-wrap: wrap;
}

.ho-cf7 .wpcf7-list-item {
	margin: 0;
	padding-right: 10px;
}

.ho-cf7 .wpcf7-list-item label {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 17px;
	font-weight: 600;
	line-height: 28.5px;
	color: var(--ho-text);
	cursor: pointer;
}

/* "Interested In" is an optional single choice (exclusive checkbox), drawn as a radio. */
.ho-cf7 .wpcf7-exclusive-checkbox input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	width: 13px;
	height: 13px;
	margin: 0;
	border: 1px solid #767676;
	border-radius: 50%;
	background: var(--ho-white);
	cursor: pointer;
}

.ho-cf7 .wpcf7-exclusive-checkbox input[type="checkbox"]:checked {
	border-color: #0075ff;
	background: radial-gradient(circle, #0075ff 0 3.5px, var(--ho-white) 4px);
}

.ho .ho-cf7 input[type="submit"] {
	display: inline-block;
	width: auto;
	padding: 15px 20px;
	font-family: var(--ho-font);
	font-size: 16px;
	font-weight: 500;
	line-height: 17px;
	color: var(--ho-white);
	background-color: var(--ho-taupe);
	border: 0;
	border-radius: 50px;
	cursor: pointer;
	transition: all 0.3s;
}

.ho .ho-cf7 input[type="submit"]:hover,
.ho .ho-cf7 input[type="submit"]:focus {
	color: var(--ho-white);
	background-color: var(--ho-taupe);
}

.ho-field--submit {
	position: relative;
	display: flex;
	align-items: center;
	margin-bottom: 0;
}

.ho-cf7 .wpcf7-spinner {
	margin: 0 10px;
}

.ho-cf7 .wpcf7-not-valid-tip {
	margin-top: 4px;
	font-size: 14px;
	line-height: 1.3;
	color: #f00;
}

.ho .ho-cf7 .wpcf7-response-output {
	margin: 10px 0 0;
	padding: 0;
	font-size: 16px;
	line-height: 1.4;
	color: #f00;
	border: 0;
}

.ho .ho-cf7.sent .wpcf7-response-output {
	color: var(--ho-taupe);
}

@media (max-width: 767px) {
	.ho .ho-form--popup .ho-cf7 :is(input[type="text"], input[type="email"], select, textarea) {
		font-size: 15px;
		line-height: 20px;
	}

	.ho-form--popup .wpcf7-list-item label {
		font-size: 15px;
	}
}

/* Lightbox (converted pages) ------------------------------------------- */

.ho-lightbox {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(0, 0, 0, 0.9);
}

.ho-lightbox[hidden] {
	display: none;
}

.ho-lightbox__figure {
	max-width: 90vw;
	max-height: 90vh;
	margin: 0;
	text-align: center;
}

.ho-lightbox__img {
	max-width: 90vw;
	max-height: 84vh;
	object-fit: contain;
}

.ho-lightbox__caption {
	margin-top: 8px;
	font-size: 14px;
	color: #ddd;
}

.ho .ho-lightbox__close,
.ho .ho-lightbox__nav {
	position: absolute;
	padding: 0 10px;
	font-size: 44px;
	line-height: 1;
	color: #fff;
	background: transparent;
	border: 0;
	opacity: 0.8;
	cursor: pointer;
}

.ho .ho-lightbox__close:hover,
.ho .ho-lightbox__nav:hover,
.ho .ho-lightbox__close:focus,
.ho .ho-lightbox__nav:focus {
	color: #fff;
	background: transparent;
	opacity: 1;
}

.ho-lightbox__close {
	top: 14px;
	right: 18px;
}

.ho-lightbox__prev {
	left: 10px;
}

.ho-lightbox__next {
	right: 10px;
}

.ho-lightbox.is-single .ho-lightbox__nav {
	display: none;
}

body.ho-lightbox-open {
	overflow: hidden;
}

/* Contact Form 7 inside converted page forms: let CF7's field wrappers behave
   like the original form's direct fields (full-width rows, labels above). */
.elementor-form .hidden-fields-container {
	display: none;
}

.elementor-form .elementor-field-group > .wpcf7-form-control-wrap,
.elementor-form .elementor-select-wrapper > .wpcf7-form-control-wrap,
.elementor-form .elementor-field-subgroup > .wpcf7-form-control-wrap {
	display: block;
	flex-basis: 100%;
	max-width: 100%;
	width: 100%;
}

.elementor-form .elementor-field-group > .wpcf7-form-control-wrap .elementor-field,
.elementor-form .elementor-select-wrapper select {
	width: 100%;
	max-width: 100%;
}

.elementor-labels-above .elementor-field-group > .elementor-field-label {
	flex-basis: 100%;
}

.elementor-form .elementor-select-wrapper {
	position: relative;
	width: 100%;
}

.elementor-form .wpcf7-list-item {
	margin: 0 10px 0 0;
}

.elementor-form .wpcf7-list-item label {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	cursor: pointer;
}

.elementor-form input.elementor-button {
	cursor: pointer;
}

.elementor-form .wpcf7-not-valid-tip {
	margin-top: 4px;
	font-size: 14px;
	color: #f00;
}

.elementor-form .wpcf7-spinner {
	margin: 0 10px;
}

.wpcf7 .elementor-form + .wpcf7-response-output,
.wpcf7-form.elementor-form .wpcf7-response-output {
	flex-basis: 100%;
	margin: 10px 0 0;
	padding: 0;
	border: 0;
	font-size: 16px;
}

.elementor-form .elementor-select-wrapper .select-caret-down-wrapper {
	z-index: 2;
	pointer-events: none;
}

/* Optional single-choice fields (exclusive checkboxes) look like radio buttons, as before. */
.elementor-form .wpcf7-exclusive-checkbox input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	width: 13px;
	height: 13px;
	margin: 0 4px 0 0;
	border: 1px solid #767676;
	border-radius: 50%;
	background: #fff;
	vertical-align: middle;
	cursor: pointer;
}

.elementor-form .wpcf7-exclusive-checkbox input[type="checkbox"]:checked {
	border-color: #0075ff;
	background: radial-gradient(circle, #0075ff 0 3.5px, #fff 4px);
}
