/*
Theme Name: Machupicchu Team
Description: Machupicchu Team
Author: Tecnodus
Author URI: https://tecnodus.com
Version: 1.0.159
Text Domain: theme
Domain Path: /languages
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* Add your custom CSS codes in assets/less/style.less */

/* Our Team - linear design */
.mpt-team-linear-page,
.mpt-team-linear-page .mpt-section,
.mpt-team-linear-page .mpt-section-sm,
.mpt-team-linear-page .mpt-team-intro-line {
	background: #ffffff;
}

.mpt-team-linear-page .mpt-card {
	background: #ffffff;
}

.mpt-team-intro-photos {
	display: grid;
	grid-template-columns: 1fr 42%;
	gap: 16px;
	align-items: end;
}

.mpt-team-intro-photo-main,
.mpt-team-intro-photo-small {
	width: 100%;
	border-radius: 8px;
	object-fit: cover;
	box-shadow: 0 18px 50px rgba(2, 107, 57, 0.12);
}

.mpt-team-intro-photo-main {
	aspect-ratio: 4 / 5;
}

.mpt-team-intro-photo-small {
	aspect-ratio: 3 / 4;
	margin-bottom: 28px;
}

.mpt-team-index-shell {
	display: grid;
	gap: 16px;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: #ffffff;
	box-shadow: none;
}

.mpt-team-index-label {
	display: inline-flex;
	align-items: center;
	color: #026b39;
	font-size: .92rem;
	font-weight: 850;
}

.mpt-team-index {
	display: grid;
	grid-template-columns: repeat(9, minmax(0, 1fr));
	gap: 8px;
}

.mpt-team-index a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 82px;
	padding: 10px 6px;
	border: 1px solid rgba(2, 107, 57, 0.12);
	border-radius: 8px;
	background: rgba(2, 107, 57, 0.06);
	color: #026b39;
	font-size: .78rem;
	font-weight: 700;
	text-decoration: none;
	text-align: center;
	transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease, color .25s ease, transform .25s ease;
}

.mpt-team-index a i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #ffffff;
	color: #026b39;
	font-size: 1rem;
	box-shadow: 0 8px 18px rgba(2, 107, 57, 0.1);
	transition: background-color .25s ease, color .25s ease, transform .25s ease;
}

.mpt-team-index a span {
	min-width: 0;
	line-height: 1.1;
}

.mpt-team-index a:hover {
	background: #026b39;
	border-color: #026b39;
	color: #ffffff;
	box-shadow: 0 14px 30px rgba(2, 107, 57, 0.16);
	transform: translateY(-2px);
}

.mpt-team-index a:hover i {
	background: #ffd715;
	color: #026b39;
	transform: scale(1.05);
}

.mpt-team-line-section {
	border-top: 1px solid rgba(2, 107, 57, 0.14);
}

.mpt-team-section-heading {
	max-width: 760px;
	margin-bottom: 92px;
}

.mpt-team-section-heading h2 {
	margin: 14px 0 16px;
	color: #026b39;
	font-size: clamp(2rem, 4vw, 3.5rem);
	font-weight: 850;
	letter-spacing: 0;
}

.mpt-team-member-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 92px 26px;
}

.mpt-team-line-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	border: 1px solid rgba(2, 107, 57, 0.14);
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 14px 38px rgba(2, 107, 57, 0.08);
	text-align: center;
	transition: background-color .35s ease, border-color .35s ease, box-shadow .35s ease, transform .35s ease;
}

.mpt-team-line-card::before {
	display: none;
}

.mpt-team-line-card:hover {
	background: #026b39;
	border-color: #026b39;
	box-shadow: 0 24px 58px rgba(2, 107, 57, 0.2);
	transform: translateY(-8px);
}

.mpt-team-line-photo {
	position: relative;
	width: 150px;
	height: 150px;
	margin: -72px auto 26px;
	overflow: hidden;
	border: 8px solid #ffffff;
	border-radius: 50%;
	background: #ffffff;
	box-shadow: 0 16px 34px rgba(2, 107, 57, 0.14);
	transition: border-color .35s ease, box-shadow .35s ease, transform .35s ease;
}

.mpt-team-line-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
	filter: saturate(.96);
	transform: scale(1);
	transition: transform .35s ease, filter .35s ease;
}

.mpt-team-line-card:hover .mpt-team-line-photo {
	border-color: #ffffff;
	box-shadow: 0 18px 38px rgba(2, 107, 57, 0.24);
	transform: translateY(-4px);
}

.mpt-team-line-card:hover .mpt-team-line-photo img {
	filter: saturate(1.08) contrast(1.05);
	transform: scale(1.06);
}

.mpt-team-line-photo::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: rgba(2, 107, 57, 0.16);
	opacity: 0;
	transition: opacity .25s ease;
	z-index: 1;
}

.mpt-team-line-card:hover .mpt-team-line-photo::after {
	opacity: 1;
}

.mpt-team-line-photo-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: #026b39;
	font-size: 3rem;
	font-weight: 850;
	background: rgba(255, 215, 21, 0.16);
	border-radius: 50%;
	transition: color .35s ease, background-color .35s ease;
}

.mpt-team-line-card:hover .mpt-team-line-photo-empty {
	background: #ffffff;
	color: #026b39;
}

.mpt-team-line-body {
	display: flex;
	flex-direction: column;
	flex: 1;
	justify-content: flex-start;
	min-width: 0;
	padding: 0 26px 34px;
	transition: color .35s ease;
}

.mpt-team-line-body h3 {
	margin: 0;
	color: #026b39;
	font-size: 1.35rem;
	font-weight: 850;
	letter-spacing: 0;
	transition: color .35s ease;
}

.mpt-team-line-body span {
	display: block;
	margin: 8px 0 24px;
	padding: 0;
	background: transparent;
	color: #026b39;
	font-weight: 700;
	font-style: italic;
	line-height: 1.25;
	opacity: .78;
	transition: color .35s ease, opacity .35s ease;
}

.mpt-team-line-body div {
	color: rgba(2, 107, 57, 0.78);
	font-size: 1rem;
	line-height: 1.8;
	transition: color .35s ease;
}

.mpt-team-line-body div p {
	color: inherit;
}

.mpt-team-line-card:hover .mpt-team-line-body,
.mpt-team-line-card:hover .mpt-team-line-body h3,
.mpt-team-line-card:hover .mpt-team-line-body span,
.mpt-team-line-card:hover .mpt-team-line-body div {
	color: #ffffff;
	opacity: 1;
}

.mpt-team-line-body p:last-child {
	margin-bottom: 0;
}

.mpt-team-socials {
	display: flex;
	justify-content: center;
	gap: 14px;
	margin-top: auto;
	padding-top: 26px;
}

.mpt-team-socials i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #026b39;
	color: #ffffff;
	font-size: 1.25rem;
	line-height: 1;
	transition: background-color .35s ease, color .35s ease, transform .35s ease;
}

.mpt-team-line-card:hover .mpt-team-socials i {
	background: #ffffff;
	color: #026b39;
	transform: translateY(-2px);
}

.mpt-team-empty-note {
	padding: 18px;
	border: 1px dashed rgba(2, 107, 57, 0.3);
	border-radius: 8px;
	color: #026b39;
	font-weight: 700;
	background: rgba(255, 215, 21, 0.12);
}

@media (max-width: 991.98px) {
	.mpt-team-index {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.mpt-team-member-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 575.98px) {
	.mpt-team-intro-photos,
	.mpt-team-index,
	.mpt-team-member-list {
		grid-template-columns: 1fr;
	}

	.mpt-team-intro-photo-small {
		margin-bottom: 0;
	}

	.mpt-team-line-photo {
		width: 138px;
		height: 138px;
		margin-top: -66px;
	}

	.mpt-team-line-body {
		padding: 0 22px 30px;
	}
}

/* === WhatsApp — native button, retaining the original icon transitions === */
button.wa__btn_popup {
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
    z-index: 1035;
}
/* === WhatsApp — icon dimensions for semantic inline elements === */
.wa__btn_popup .wa__btn_popup_icon { display: block; background: #25d366; }
/* === WhatsApp — panel fits short and narrow viewports === */
#mpt-whatsapp-panel {
    z-index: 1035;
    max-height: calc(100dvh - 128px);
    overflow-y: auto;
    overscroll-behavior: contain;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
}
/* === WhatsApp — WhatsApp green heading and readable introductory text === */
#mpt-whatsapp-panel .wa__popup_heading { background: #25d366; color: #171717; }
/* === WhatsApp — accessible secondary text contrast === */
#mpt-whatsapp-panel .wa__popup_notice { color: #737373; }
/* === WhatsApp — contact rows use WhatsApp green === */
#mpt-whatsapp-panel .wa__stt { border-left-color: #25d366; padding-right: 16px; }
/* === WhatsApp — one recognizable icon per contact === */
#mpt-whatsapp-panel .wa__stt::after { content: none; }
/* === WhatsApp — contact avatar uses the same local white icon === */
#mpt-whatsapp-panel .wa__popup_avatar {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    background: #25d366;
}
/* === WhatsApp — visible keyboard focus === */
.wa__btn_popup:focus-visible,
#mpt-whatsapp-panel .wa__stt:focus-visible { outline: 2px solid #171717; outline-offset: 4px; }
/* === WhatsApp — keep clear of the tour booking bar === */
body.mth-has-floating-price .wa__btn_popup { bottom: 112px; }
/* === WhatsApp — panel above the tour booking bar === */
body.mth-has-floating-price #mpt-whatsapp-panel { bottom: 176px; max-height: calc(100dvh - 200px); }
@media (max-width: 575.98px) {
    /* === WhatsApp — mobile safe-area positioning === */
    button.wa__btn_popup { right: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); }
    /* === WhatsApp — mobile panel stays within the viewport === */
    #mpt-whatsapp-panel { right: 16px; bottom: calc(80px + env(safe-area-inset-bottom)); max-width: calc(100% - 32px); }
}
@media (prefers-reduced-motion: reduce) {
    /* === WhatsApp — respect reduced-motion preferences throughout the widget === */
    .wa__btn_popup *, .wa__btn_popup *::before, .wa__btn_popup *::after,
    #mpt-whatsapp-panel, #mpt-whatsapp-panel * { transition: none !important; animation: none !important; }
}

/* === WhatsApp — agency name contrasts with the official green background === */
#mpt-whatsapp-panel .wa__popup_heading .wa__popup_title {
    color: #171717;
    font-weight: 600;
}
/* === WhatsApp — readable travel advisor label above each phone === */
#mpt-whatsapp-panel .wa__member_duty {
    display: block;
    padding: 0 0 4px;
    color: #737373;
    font-size: 12px;
}
