/*
Theme Name: Vestige Collection 2
Description: Custom web application by Program Studio
Author: Program
Author URI: https://www.program.studio
Version: 1.0.0
License: GNU General Public License v3 or later
License URI: http://opensource.org/licenses/MIT
Text Domain: programstudio
Tags: 
*/
.c-post a:not(.o-font-display-button) {
	text-decoration: underline;
}

b,
strong {
	font-weight: bolder;
}

.c-post ul {
	list-style-type: inherit;
	margin: 0px 1rem;
}
.b-header {
	z-index: 10;
}
.b-header.has-transform {
	transform: unset !important;
}

#yoast-breadcrumbs {
	text-align: center;
	font-family: "Brown LL";
	font-size: 16px;
	font-style: normal;
	font-weight: 300;
	line-height: normal;
	text-transform: uppercase;
	z-index: 10;
}

.text-left {
	text-align: left !important;
}

.bc-absolute {
	position: absolute;
	top: 120px;
	left: 0;

	width: 100%;
	max-width: 1610px;
	display: flex;
	position-area: center;
}

@media screen and (max-width: 1666px) {
	.bc-absolute {
		left: 25px;
	}
}

.c-text-flex {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	align-self: stretch;
}

.c-text-flex h2 {
	color: var(--Green, #295a5e);
	font-family: Jazmin;
	font-size: 40px;
	font-style: normal;
	font-weight: 300;
	line-height: normal;
	text-transform: uppercase;
	text-align: left;

	max-width: 355px;
}

.c-text-flex .c-text__col--texts {
	max-width: 662px;
	text-align: left;
}

/* CUSTOM POPUP */
#pum-2485,
#pum-2487,
#pum-2489,
#pum-2794,
#pum-2799,
#pum-2802 {
	background-color: unset !important;
	.pum-container {
		max-width: 650px !important;
		display: flex !important;
		padding: 32px;
		flex-direction: column;
		background: #e6e5e0;
		gap: 24px;

		.pum-close {
			width: 24px;
			height: 24px;
			color: #295a5e;
			font-size: 32px;
			font-weight: 100;
		}
		.pum-title {
			margin: 0;

			color: #295a5e;
			font-family: Jazmin;
			font-size: 24px;
			font-style: normal;
			font-weight: 300;
			line-height: normal;
			text-transform: uppercase;
		}
		.pum-content {
			display: flex;
			flex-direction: column;
			gap: 24px;

			.svp-body {
				.text {
					color: #474842;
					font-family: "Brown LL";
					font-size: 22px;
					font-style: normal;
					font-weight: 300;
					line-height: normal;
				}
			}
			.svp-footer {
				a.js-toggle-menu-booking {
					display: flex;
					width: fit-content;
					padding: 14px 25px;
					background: #295a5e;

					color: #e6e5e0;
					font-family: "Brown LL";
					font-size: 16px;
					font-style: normal;
					font-weight: 300;
					line-height: normal;
					text-transform: uppercase;
				}
			}
		}
	}
}

/* Selector de idioma del header */
.b-languages__lang {
	background: #e6e5e0;
	width: 44px;
	padding: 10px;
}
.b-languages__lang a {
	color: #295a5e;
}
.b-languages__lang a:hover {
	text-decoration: underline;
}
.is-alt .b-languages__button svg path {
	fill: var(--color-header-items);
}
.is-active .b-languages__button {
	color: var(--color-black);
}
.is-active .b-languages__button svg path {
	fill: var(--color-black);
}
/* Migas de pan */
.s-template-collection #yoast-breadcrumbs {
	text-align: left;
	margin: 120px auto 0 auto;
	color: #295a5e;
	max-width: 100%;
	padding-left: calc(var(--grid-gutter) / 2);
	padding-right: calc(var(--grid-gutter) / 2);
	width: calc(var(--container-width) + var(--container-padding) * 2);
}
.hero-breadcrumbs #yoast-breadcrumbs {
	text-align: left;
	margin-top: 36px;
	color: #295a5e;
}
/* Popup template collection */
.t-collection-popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(0, 0, 0, 0.6);
	padding: 15px;
	z-index: -1;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s;
}
.t-collection-popup.show {
	opacity: 1;
	visibility: visible;
	z-index: 99;
}
.t-collection-popup .inner-popup {
	max-width: 798px;
	background: #e6e5e0;
	padding: 32px;
	height: 100%;
	max-height: max-content;
	overflow-y: scroll;
}
.t-collection-popup .inner-popup::-webkit-scrollbar {
	display: none;
}
.t-collection-popup .columns {
	display: flex;
	gap: 27px;
}
.t-collection-popup .columns .image,
.t-collection-popup .columns .form {
	width: calc(50% - 13.5px);
}
.t-collection-popup .columns .image img {
	width: 100%;
	height: 100%;
	min-height: 515px;
	object-fit: cover;
}
.t-collection-popup .inner-popup > button {
	display: flex;
	margin-left: auto;
	background: none;
	border: none;
	outline: none;
	cursor: pointer;
}
.t-collection-popup .inner-popup > .title {
	margin-bottom: 32px;
	font-size: 24px;
	line-height: 100%;
	color: #295a5e;
	padding-bottom: 0;
}
.t-collection-popup .description {
	font-size: 16px;
	line-height: 120%;
	margin-top: 0;
	margin-bottom: 16px;
	padding-bottom: 0;
}
.t-collection-popup .c-form__wrapper-field {
	margin-top: 8px;
}
.t-collection-popup .c-form__wrapper-field:has(.wpcf7-not-valid-tip) {
	margin-bottom: 20px;
}
.t-collection-popup .c-form__wrapper-submit {
	padding-top: 16px;
	position: relative;
}
.t-collection-popup .wpcf7-spinner {
	position: absolute;
	width: 30px;
	height: 30px;
	bottom: 0;
	left: 0;
	margin: 0;
}
.t-collection-popup .c-form__wrapper-field .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
	position: initial;
	width: auto;
	margin-bottom: -26px;
	font-size: 14px;
}
.t-collection-popup .is-active .o-input-anim__label {
	transform: none;
}
.t-collection-popup .wpcf7 form.sent .wpcf7-response-output {
	margin: 0;
	padding: 0;
	border: none;
	font-size: 24px;
	line-height: 100%;
	color: #295a5e;
}
.t-collection-popup:has(.sent) .c-form {
	display: none;
}
/* Component c-text-section */
.c-text-section > div {
	padding-top: 0;
}
.c-text-section .text-content {
	display: flex;
	flex-wrap: wrap;
	column-gap: 60px;
	row-gap: 32px;
	align-items: center;
}
.c-text-section .title {
	font-size: 80px;
	line-height: 96px;
	color: #295a5e;
	font-weight: 300;
	font-family: var(--font-a);
	display: flex;
	flex-direction: column;
	min-width: 420px;
	max-width: 100%;
}
.c-text-section .title span:first-child {
	text-align: left;
}
.c-text-section .title span:last-child {
	text-align: right;
}
.c-text-section .text-content > div {
	width: calc(100% - 480px);
}
.c-text-section .text {
	text-align: left;
}
.c-text-section .o-button {
	margin-right: auto;
	display: flex;
	width: fit-content;
	margin-top: 48px;
}

/* Template default */
.bc-background-color .o-bg-color-white {
	background: #e6e5e0;
}
.bc-background-color .c-image-text__title {
	color: #295a5e;
}
.bc-background-color .c-text .c-text__inner {
	padding-top: 80px;
}
.bc-background-color .c-text .o-font-display-2 {
	font-size: 32px;
	line-height: 46px;
}
.bc-background-color .c-image-text .c-image-text__inner {
	padding-top: 20px;
}

@media screen and (max-width: 768px) {
	.c-text-flex {
		flex-direction: column;
	}
	.c-text-flex h2,
	.c-text-flex .c-text__col--texts {
		max-width: 100%;
	}
	/* Popup template collection */
	.t-collection-popup {
		padding: 0;
	}
	.t-collection-popup .columns .image {
		display: none;
	}
	.t-collection-popup .columns .form {
		width: 100%;
	}
	.t-collection-popup .inner-popup {
		max-height: 100%;
	}
	/* Component c-text-section */
	.c-text-section .title {
		font-size: 64px;
		line-height: 80px;
		min-width: auto;
		width: 100%;
	}
	.c-text-section > div {
		padding-top: 40px;
	}
	.c-text-section .text-content {
		flex-direction: column;
	}
	.c-text-section .text-content > div {
		width: 100%;
	}
	.c-text-section .o-button {
		width: 100%;
		justify-content: center;
	}
}

@media screen and (max-width: 991px) {
	.c-related-list-2__wrapper-ctas-inner--mobile {
		display: flex;
		gap: 24px;
	}

	.c-related-list-2__cta1 {
		color: var(--color-brand-primary);
		border-color: var(--color-brand-primary);
	}

	.c-related-list-2__cta2 {
		color: #ffffff;
		background-color: var(--color-brand-primary);
		border-color: var(--color-brand-primary);
	}
}

@media screen and (min-width: 900px) {
	.b-footer .b-footer__grid {
		padding-right: calc(var(--grid-gutter) / 2 + 288px);
		position: relative;
	}
	.b-footer .logo-calidad {
		position: absolute;
		top: 50%;
		right: calc(var(--grid-gutter) / 2);
		transform: translate(0%, -50%);
	}
}
@media screen and (max-width: 500px) {
	.b-footer .logo-calidad {
		width: 100px;
		margin-left: auto;
		margin-right: auto;
	}
}
.t-config-popup {
    position: fixed;
    bottom: 24px;
    right: -100%;
    width: 300px;
    max-width: 100%;
    background: var(--color-background-dark);
    transition: all 0.3s;
	z-index: 10;
    &.show {
        right: 24px;
    }
    .image {
        height: 240px;
        display: flex;
        position: relative;
        padding: 24px;
        align-items: end;
        justify-content: center;
		&::before {
			content: '';
			width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
			background: rgba(0, 0, 0, 0.4);
		}
        .close {
            position: absolute;
            top: 24px;
            right: 24px;
            background: none;
            border: none;
			z-index: 2;
			cursor: pointer;
        }
        img {
			z-index: 0;
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            object-fit: cover;
        }
        .title {
			position: relative;
			z-index: 3;
            margin-top: auto;
            text-align: center;
            color: white;
            font-size: 20px;
	        line-height: 100%;
        }
    }
    .text {
        padding: 8px 24px 24px 24px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 12px;
        .description {
            font-size: 16px;
	        line-height: 120%;
            color: black;
            p {
                margin: 0;
                font-size: 16px;
	            line-height: 120%;
            }
			strong {
				font-weight: bold;
			}
        }
        .link {
            display: flex;
            font-size: 16px;
            font-weight: 300;
            letter-spacing: .2em;
            line-height: 15px;
            padding: 16px 20px;
            background: var(--color-brand-primary);
            color: var(--color-background-dark);
            outline: 0;
            transition: all .2s ease-in-out;
            border: 1px solid var(--color-brand-primary);
            &:hover {
                background: transparent;
                color: var(--color-brand-primary);
            }
        }
    }
    @media (max-width: 500px) {
        width: calc(100% - 40px);
        right: 20px;
        left: 20px;
        top: auto;
		bottom: -100%;
        transform: translateY(-50%);
		height: fit-content;
		&.show {
			top: 50%;
			bottom: auto;
		}
    }
}
/* Single post */
.c-post {
	p {
		font-weight: initial;
	}
}
