/*
Theme Name: Phuket Life
Theme URI: https://phuketlife.ru
Author: sandrostarr
Author URI: https://phuketlife.ru
Description: Phuket Life.
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 7.2
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: phuketlife
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/********** Template CSS **********/
:root {
	--primary: #86B817;
	--secondary: #FE8800;
	--light: #F5F5F5;
	--dark: #14141F;
	--font-dark: #2C3E50;
	--font-grey: #808B8D;
}

.fw-medium {
	font-weight: 600 !important;
}

.fw-semi-bold {
	font-weight: 700 !important;
}

.back-to-top {
	position: fixed;
	display: none;
	right: 45px;
	bottom: 45px;
	z-index: 99;
}


/*** Main ***/
.h-60px {
	height: 60px;
}

.h-100px {
	height: 100px;
}

.h-250px {
	height: 250px;
}

.z-10 {
	z-index: 10;
}

.price-text {
	color: var(--font-dark) !important;
}

.preview-text {
	color: var(--font-grey) !important;
}

@media (max-width: 575px) {
	.btn.btn-wide {
		width: 100%;
	}
}


/*** Spinner ***/
#spinner {
	opacity: 0;
	visibility: hidden;
	transition: opacity .5s ease-out, visibility 0s linear .5s;
	z-index: 99999;
}

#spinner.show {
	transition: opacity .5s ease-out, visibility 0s linear 0s;
	visibility: visible;
	opacity: 1;
}

/*** Promotion ***/
.promotion-block {
	background: var(--primary) !important;
	color: #FFFFFF;
}


/*** Button ***/
.btn {
	font-family: 'Nunito', sans-serif;
	font-weight: 600;
	transition: .5s;
}

.btn.btn-primary,
.btn.btn-secondary {
	color: #FFFFFF;
}

.btn-square {
	width: 38px;
	height: 38px;
}

.btn-sm-square {
	width: 32px;
	height: 32px;
}

.btn-lg-square {
	width: 48px;
	height: 48px;
}

.btn-square,
.btn-sm-square,
.btn-lg-square {
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: normal;
	border-radius: 0px;
}


/*** Navbar ***/
.navbar-light .navbar-nav .nav-link {
	font-family: 'Nunito', sans-serif;
	position: relative;
	margin-right: 25px;
	padding: 35px 0;
	color: #FFFFFF;
	font-size: 18px;
	font-weight: 600;
	outline: none;
	transition: .5s;
}

.sticky-top.navbar-light .navbar-nav .nav-link {
	padding: 20px 0;
	color: var(--dark) !important;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus {
	color: var(--primary);
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active {
	color: var(--primary) !important;
}

.navbar-light .navbar-brand img {
	max-height: 60px;
	transition: .5s;
}

.sticky-top.navbar-light .navbar-brand img {
	max-height: 45px;
}

.nav-item:hover > .nav-link,
.nav-item:has(.dropdown-menu:hover) > .nav-link {
	color: var(--primary);
	/*background-color: green;*/
}

@media (max-width: 991.98px) {
	.sticky-top.navbar-light {
		position: relative;
		background: #FFFFFF;
	}

	.navbar-light .navbar-collapse {
		margin-top: 15px;
		border-top: 1px solid #DDDDDD;
	}

	.navbar-light .navbar-nav .nav-link,
	.sticky-top.navbar-light .navbar-nav .nav-link {
		padding: 10px 0;
		margin-left: 0;
		color: var(--dark) !important;
	}

	.navbar-light .navbar-brand img {
		max-height: 45px;
	}
}

@media (min-width: 992px) {
	.navbar-light {
		position: absolute;
		width: 100%;
		top: 0;
		left: 0;
		border-bottom: 1px solid rgba(256, 256, 256, .1);
		z-index: 999;
	}

	.sticky-top.navbar-light {
		position: fixed;
		background: #FFFFFF;
	}

	.navbar-light .navbar-nav .nav-link::before {
		position: absolute;
		content: "";
		width: 0;
		height: 2px;
		bottom: -1px;
		left: 50%;
		background: var(--primary);
		transition: .5s;
	}

	.navbar-light .navbar-nav .nav-link:hover::before,
	.navbar-light .navbar-nav .nav-link.active::before {
		width: calc(100% - 2px);
		left: 1px;
	}

	.navbar-light .navbar-nav .nav-link.nav-contact::before {
		display: none;
	}
}


/*** Hero Header ***/
.hero-header {
	background: linear-gradient(rgba(20, 20, 31, .7), rgba(20, 20, 31, .7)), url('/wp-content/themes/phuketlife/assets/images/background-beach.webp');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.breadcrumb-item + .breadcrumb-item::before {
	color: rgba(255, 255, 255, .5);
}


/*** Section Title ***/
.section-title {
	position: relative;
	display: inline-block;
	text-transform: uppercase;
}

.section-title::before {
	position: absolute;
	content: "";
	width: calc(100% + 80px);
	height: 2px;
	top: 4px;
	left: -40px;
	background: var(--primary);
	z-index: -1;
}

.section-title::after {
	position: absolute;
	content: "";
	width: calc(100% + 120px);
	height: 2px;
	bottom: 5px;
	left: -60px;
	background: var(--primary);
	z-index: -1;
}

.section-title.text-start::before {
	width: calc(100% + 40px);
	left: 0;
}

.section-title.text-start::after {
	width: calc(100% + 60px);
	left: 0;
}


/*** About ***/
@media (max-width: 575px) {
	.about-section .service-categories {
		text-align: center;
	}
}


/*** Service ***/
.service-item {
	box-shadow: 0 0 45px rgba(0, 0, 0, .08);
	transition: .5s;
}

.service-item:hover {
	background: var(--primary);
}

.service-item * {
	transition: .5s;
}

.service-item:hover * {
	color: var(--light) !important;
}


/*** Destination ***/
.destination img {
	transition: .5s;
}

.destination a:hover img {
	transform: scale(1.1);
}


/*** Package ***/
.package-item {
	box-shadow: 0 0 45px rgba(0, 0, 0, .08);
}

.package-item img {
	transition: .5s;
	/*max-height: 300px;*/
}

.package-item:hover img {
	transform: scale(1.1);
}


/*** Booking ***/
.booking {
	background: linear-gradient(rgba(15, 23, 43, .7), rgba(15, 23, 43, .7)), url('/wp-content/themes/phuketlife/assets/images/background-resize.webp');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.booking p {
	margin-bottom: 0;
}

.booking input,
.booking textarea {
	color: #FFFFFF !important;
}

.booking input::placeholder,
.booking textarea::placeholder {
	color: #969696 !important;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active  {
	transition: background-color 5000s ease-in-out 0s;
	-webkit-text-fill-color: #FFFFFF !important;
	color: #FFFFFF !important;
}


/*** Team ***/
.team-item {
	box-shadow: 0 0 45px rgba(0, 0, 0, .08);
}

.team-item img {
	transition: .5s;
}

.team-item:hover img {
	transform: scale(1.1);
}

.team-item .btn {
	background: #FFFFFF;
	color: var(--primary);
	border-radius: 20px;
	border-bottom: 1px solid var(--primary);
}

.team-item .btn:hover {
	background: var(--primary);
	color: #FFFFFF;
}


/*** Testimonial ***/
.testimonial-carousel::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	height: 100%;
	width: 0;
	background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
	z-index: 1;
}

.testimonial-carousel::after {
	position: absolute;
	content: "";
	top: 0;
	right: 0;
	height: 100%;
	width: 0;
	background: linear-gradient(to left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
	z-index: 1;
}

@media (min-width: 768px) {
	.testimonial-carousel::before,
	.testimonial-carousel::after {
		width: 200px;
	}
}

@media (min-width: 992px) {
	.testimonial-carousel::before,
	.testimonial-carousel::after {
		width: 300px;
	}
}

.testimonial-carousel .owl-item .testimonial-item,
.testimonial-carousel .owl-item.center .testimonial-item * {
	transition: .5s;
}

.testimonial-carousel .owl-item.center .testimonial-item {
	background: var(--primary) !important;
	border-color: var(--primary) !important;
}

.testimonial-carousel .owl-item.center .testimonial-item * {
	color: #FFFFFF !important;
}

.testimonial-carousel .owl-dots {
	margin-top: 24px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.testimonial-carousel .owl-dot {
	position: relative;
	display: inline-block;
	margin: 0 5px;
	width: 15px;
	height: 15px;
	border: 1px solid #CCCCCC;
	border-radius: 15px;
	transition: .5s;
}

.testimonial-carousel .owl-dot.active {
	background: var(--primary);
	border-color: var(--primary);
}


.blog-pagination {
	left: 50%;
	position: absolute;
	transform: translate(-50%, -50%);
}


/*** Footer ***/
.footer .btn.btn-social {
	margin-right: 5px;
	width: 35px;
	height: 35px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--light);
	font-weight: normal;
	border: 1px solid #FFFFFF;
	border-radius: 35px;
	transition: .3s;
}

.footer .btn.btn-social:hover {
	color: var(--primary);
}

.footer .btn.btn-link {
	display: block;
	margin-bottom: 5px;
	padding: 0;
	text-align: left;
	color: #FFFFFF;
	font-size: 15px;
	font-weight: normal;
	text-transform: capitalize;
	transition: .3s;
}

.footer .btn.btn-link::before {
	position: relative;
	content: "\f105";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 10px;
}

.footer .btn.btn-link:hover {
	letter-spacing: 1px;
	box-shadow: none;
}

.footer .copyright {
	padding: 25px 0;
	font-size: 15px;
	border-top: 1px solid rgba(256, 256, 256, .1);
}

.footer .copyright a {
	color: var(--light);
}

.footer .footer-menu a {
	margin-right: 15px;
	padding-right: 15px;
	border-right: 1px solid rgba(255, 255, 255, .1);
}

.footer .footer-menu a:last-child {
	margin-right: 0;
	padding-right: 0;
	border-right: none;
}

.item-to-float-right {
	margin-left: auto;
}

.border-rounded {
	border-radius: 30px;
}

.wp-block-button [type=submit],
.wp-block-button__link {
	background-color: var(--primary);
	border: none;
	font-size: 1rem;
	padding: 1rem 3rem;
	margin-top: .5rem;
	transition: color 0.25s ease-in-out, background-color 0.25s ease-in-out, border-color 0.25s ease-in-out, box-shadow 0.25s ease-in-out;
}

.wp-block-button [type=submit]:hover,
.wp-block-button__link:hover {
	background-color: #98c33a;
	border-color: #92bf2e;
}

.fs-15 {
	font-size: 15px;
}

.glsr-review-author {
	font-weight: bold;
}

.information-message {
	box-shadow: 0 0 45px rgba(0, 0, 0, .08);
}

.tour-timing details {
	cursor: pointer;
}

.tour-timing summary {
	outline: none;
}

@media (max-width: 991px) {
	nav .dropdown-menu {
		border: none;
	}
}

nav .navbar-toggler {
	border: none;
	font-size: 1.75rem;
}

.slogan {
	font-size: calc(0.9rem + .9vw);
}

.disabled-block {
	position: relative;
	filter: grayscale(100%);
	opacity: 0.7;
	pointer-events: none; /* Отключает взаимодействие с элементом */
}

/* Если нужно сохранить возможность взаимодействия с элементом */
.disabled-block-interactive {
	position: relative;
	filter: grayscale(100%);
	opacity: 0.7;
}

/* Добавляет легкое затемнение поверх блока */
.disabled-block::after,
.disabled-block-interactive::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(128, 128, 128, 0.2);
	pointer-events: none;
}

/* Для текстов внутри блока */
.disabled-block *,
.disabled-block-interactive * {
	color: #666 !important;
}

/* Для текстов у ссылок внутри блока */
.disabled-block a,
.disabled-block-interactive a {
	color: var(--light) !important;
}

.tour-closed-badge {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-30deg);
	background-color: rgba(220, 53, 69, 0.85);
	color: white !important;
	font-weight: bold;
	padding: 8px 15px;
	z-index: 10;
	white-space: nowrap;
	font-size: 20px;
	letter-spacing: 1px;
	box-shadow: 0 0 10px rgba(0,0,0,0.3);
	display: none;
}

.disabled-block-interactive .tour-closed-badge {
	display: block;
}

.package-item hr {
	color: var(--font-grey) !important;
}

.tour-excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Стиль для отключенной кнопки */
.tour-disabled {
	pointer-events: auto !important;
	opacity: 0.6;
	cursor: not-allowed;
	background-color: #6c757d !important;
	border-color: #6c757d !important;
	position: relative;
}

/* Стиль для подсказки */
.tour-disabled[data-tooltip]::before {
	content: attr(data-tooltip);
	position: absolute;
	bottom: 125%;
	left: 50%;
	transform: translateX(-50%);
	padding: 8px 12px;
	background-color: #333;
	color: #fff;
	border-radius: 6px;
	width: max-content;
	max-width: 200px;
	text-align: center;
	font-size: 14px;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s;
	z-index: 10;
}

.tour-disabled[data-tooltip]::after {
	content: "";
	position: absolute;
	bottom: 125%;
	left: 50%;
	margin-bottom: -5px;
	margin-left: -5px;
	border-width: 5px;
	border-style: solid;
	border-color: #333 transparent transparent transparent;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s;
}

/* Показываем подсказку при наведении/клике */
.tour-disabled[data-tooltip]:hover::before,
.tour-disabled[data-tooltip]:hover::after {
	opacity: 1;
	visibility: visible;
}

/* Для мобильных */
@media (hover: none) {
	.tour-disabled[data-tooltip]:active::before,
	.tour-disabled[data-tooltip]:active::after {
		opacity: 1;
		visibility: visible;
	}
}

/* Для активного состояния на мобильных */
.tour-disabled[data-tooltip].tooltip-active::before,
.tour-disabled[data-tooltip].tooltip-active::after {
	opacity: 1;
	visibility: visible;
}

.promo-banner {
	height: 200px;
	overflow: hidden;
	position: relative;
}

.promo-banner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 0 -310px;
}

.promo-content {
	position: absolute;
	top: 0;
	left: 0;
	padding: 1rem;
	width: 100%;
	height: 100%;
	color: #fff;
	background: rgba(0, 0, 0, 0.4);
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.6);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.promo-title {
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 0.5rem;
	color: white;
}

.promo-subtitle {
	font-size: 1.1rem;
	margin-bottom: 0.75rem;
}

.promo-button {
	background-color: #86B817;
	color: #fff;
	font-weight: bold;
	font-size: 1rem;
	padding: 8px 18px;
	border-radius: 20px;
	text-decoration: none;
	cursor: pointer;
}

.promo-button {
	background-color: #86B817;
	color: #fff;
	font-weight: bold;
	font-size: 1rem;
	padding: 8px 18px;
	border-radius: 20px;
	text-decoration: none;
	cursor: pointer;
}

.promo-button:hover {
	color: #fff;
}

@media (max-width: 767.98px) {
	.promo-banner {
		height: 200px;
	}

	.promo-banner img {
		height: 500px;
		object-position: center -140px;
	}

	.promo-title {
		font-size: 1.4rem;
	}

	.promo-subtitle {
		font-size: 0.95rem;
	}

	.promo-button {
		font-size: 0.85rem;
		padding: 6px 14px;
	}
}
