/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Color text */
.text-rd{
	color: #e73137;
}

.column-cc:hover{
    background-color: #e73137;
}
.column-cc .icon-wh{
	display: none;
}
.column-residencial.column-cc:hover .icon-wh,
.column-serviplazas.column-cc:hover .icon-wh{
    display: block;
}
.column-residencial.column-cc:hover .icon-dr,
.column-serviplazas.column-cc:hover .icon-dr{
    opacity: 0;
}
.column-cc:hover .column-text{
	color: #ffffff;
}
.title-h1 h1:before {
    content: "";
    width: 90px;
    height: 6px;
    background-color: #e73137;
    display: block;
    margin-bottom: 30px;
}
/**/
a.elementor-cta:hover h2 {
    display: none;
}
.elementor-content-item.elementor-cta__content-item.elementor-icon-wrapper.elementor-cta__icon.elementor-view-stacked.elementor-shape-circle.elementor-animated-item--grow {
    display: none;
}
a.elementor-cta:hover .elementor-content-item.elementor-cta__content-item.elementor-icon-wrapper.elementor-cta__icon.elementor-view-stacked.elementor-shape-circle.elementor-animated-item--grow {
	display: block;
}
/* Contact Form */
input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
    background-color: transparent;
    border: 0;
    border-bottom: 1px solid #ffffff;
    border-radius: 0;
}
form span.wpcf7-list-item-label {
    color: #fff;
}
[type=submit]{
	border-radius: 25px;
    color: #ffffff;
    font-weight: 600;
    background-color: #e73137;
    padding: 14px 50px;
    letter-spacing: 2px;
}
::-webkit-input-placeholder {
  color: #ffffff; 
  opacity: 1;
}
.ggi-form form p, .ggi-form, .ggi-form input::placeholder, .ggi-form form select, input:not([type="submit"]), textarea, select {
    color: #ffffff !important;
    text-align: left;
}
/* Download cards */
.inicio-icon::before {
    content: "\f015"; /* Código Unicode de la casita en Font Awesome */
    font-family: "Font Awesome 5 Free"; /* Asegúrate de que Font Awesome esté activo */
    font-weight: 900; /* Esto es necesario para que funcione correctamente */
    margin-right: 8px; /* Espaciado entre el ícono y el texto */
}
.card-download .text-box-hover {
    display: none;
}
.card-download .elementor-icon-box-content{
	box-shadow: 4px 4px 20px 0 rgba(0, 0, 0, 0.2);
    width: 100% !important;
    min-width: 100%;
    padding-left: 40px;
    display: flex;
    align-items: center;
	height: 105px;
}

.card-download .elementor-icon-box-icon {
    padding: 18px;
    border-radius: 50%;
    color: #fff;
    box-shadow: 4px 4px 20px 0 rgba(0, 0, 0, 0.2);
    position: relative;
    left: 46px;
    z-index: 2;
    background-color: #E93F33;
}
.card-download.card-icon-black .elementor-icon-box-icon {
    background-color: #000000;
}
.card-download.card-icon-gray .elementor-icon-box-icon {
    background-color: #9b9b9b;
}
.card-download:hover .elementor-icon-box-content{
	background: rgb(231 49 55 / 80%) !important;
}
.card-download:hover .elementor-icon-box-icon{
	background-color: #ffffff;
}
.card-download:hover .text-box{
	display: none;
}
.card-download:hover .text-box-hover{
	display: block;
	font-weight: 600;
}
/* Icono normal (PDF) */
.card-download .elementor-icon i:before {
    content: "\f1c1"; /* PDF */
}

/* Icono en hover (Descargar) */
.card-download:hover .elementor-icon i:before {
    content: "\f019"; /* Download */
}
@media (max-width: 767px) {
	.card-download .elementor-icon-box-content{
		width: auto;
		min-width: auto;
	}
	.card-download .elementor-icon-box-wrapper{
		position: relative;
		left: -25px;
	}
	.card-download .elementor-icon-box-icon{
		padding: 14px;
		left: 40px;
	}
}


/**/
.form-agwa-bosques input[type=email], 
.form-agwa-bosques input[type=tel], 
.form-agwa-bosques input[type=text], 
.form-agwa-bosques select, 
.form-agwa-bosques textarea {
    border-bottom: 2px solid #1a1449;
	color: #1a1449 !important;
}
.btn-snd-agwabosques, .btn-snd-agwabosques:hover {
    background: #99BAD9;
    border: 2px solid #99BAD9;
    padding: 10px 30px;
}
.form-agwa-bosques input::placeholder, .form-agwa-bosques textarea::placeholder{
	color: #002D74 !important;
}
/**/
.form-2cols {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}

.form-2cols .col {
    width: 50%;
    display: flex;
    flex-direction: column;
}

.form-2cols .col label {
    text-align: left;
    font-weight: 600;
    margin-bottom: 6px;
    display: block;
}

.form-2cols .col input,
.form-2cols .col textarea,
.form-2cols .col select {
    border-bottom: 1px solid #646363 !important;
    padding: 10px;
    width: 100%;
    box-sizing: border-box;
    color: #000000 !important;
}
input[type="date"].has-value::-webkit-datetime-edit,
input[type="date"].has-value::-webkit-datetime-edit-text,
input[type="date"].has-value::-webkit-datetime-edit-month-field,
input[type="date"].has-value::-webkit-datetime-edit-day-field,
input[type="date"].has-value::-webkit-datetime-edit-year-field {
  color: #000 !important;
}

/* Firefox */
input[type="date"].has-value {
  color: #000 !important;
}

/* Para que los inputs tipo date también usen texto negro */
input[type="date"] {
    color: rgba(0, 0, 0, 0.9) !important;
}

/* Texto cuando ya se seleccionó fecha */
input[type="date"] {
    color: #000 !important;
}

/* Ícono del calendario (Chrome/Webkit) */
input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(0); /* asegura que el ícono no se vuelva blanco */
}
.ctn-form-vacante input[type="submit"] {
    background: #EA0029;
    border: 1px solid #EA0029;
    color: #ffffff;
    font-family: 'century-gothic';
    text-transform: uppercase;
    cursor: pointer;
	padding: 14px 24px !important;
}

.ctn-form-vacante input[type="submit"]:hover {
    background: #ffffff;
    border: 1px solid #EA0029;
    color: #EA0029;
    font-family: 'century-gothic';
    text-transform: uppercase;
}

/* 📱 Responsive: columnas al 100% */
@media (max-width: 768px) {
    .form-2cols {
        flex-direction: column;
    }

    .form-2cols .col {
        width: 100%;
    }
}

/* CV */


/**/
@media (min-width: 768px) {
    .ctn-form-vacante{
        display: inline-flex;
    }
    .form-3cols .col {
        padding: 0 30px;
    }
}
.upload-cv {
    font-family: 'century-gothic';
    border-radius: 8px;
    padding: 8px;
    background: #fff;
    color: #EA0029;
    cursor: pointer;
    width: fit-content;     /* el botón solo ocupa el ancho necesario */
}

/* Estilo del texto del nombre del archivo */
.upload-cv::file-selector-button {
    padding: 8px 16px;
    border-radius: 8px;
    border: none;
    background: #EA0029;
    color: #fff;
    cursor: pointer;
    font-family: 'century-gothic';
}

/* Hover */
.upload-cv:hover::file-selector-button {
    background: #fff;
    color: #EA0029;
    border: 1px solid #EA0029;
}

.upload-cv {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
	line-height: normal;
}
input.wpcf7-form-control.wpcf7-file.upload-cv{
    color: #000 !important;
}
/* Usamos el wrap que CF7 genera */
.wpcf7-form-control-wrap[data-name="cv"] {
    display: flex;
    flex-direction: column; /* vertical: botón arriba, texto abajo */
    align-items: center;    /* centra horizontalmente */
}

/* Input file: botón */
.upload-cv {
    display: block;
    width: auto;           /* solo lo que necesita el texto del botón */
    margin-bottom: 8px;    /* separa del nombre del archivo */
    color: #000 !important; /* nombre del archivo visible */
}

/* Estilo del botón */
.upload-cv::file-selector-button {
    background: #EA0029;
    color: #fff;
    border-radius: 8px;
    padding: 8px 16px;
    cursor: pointer;
    font-weight: 600;
}

.upload-cv:hover::file-selector-button {
    background: #fff;
    color: #EA0029;
    border: 1px solid #EA0029;
}

/* Single page Vacancy */
.vacancy-detail{
	padding-top: 50px;
	padding-bottom: 80px;
}
.vacancy-detail h1{
	font-size: 36px;
    line-height: 38px;
	font-weight: 700;
    color: #ea0029 !important;
}
@media (max-width: 768px) {
	.vacancy-detail h1{
		font-size: 28px;
		line-height: 32px;
	}
}
.vacancy-detail h5 {
    font-size: 1.25rem;
    margin-top: 35px;
	font-weight: 700 !important;
}
/* Table vacancies */
table.table-vacancies td {
    padding: 40px 15px;
    border: 0;
	font-size: 18px !important;
	line-height: 22px !important;
}
table.table-vacancies tbody>tr:nth-child(odd)>td, table tbody>tr:nth-child(odd)>th {
    background-color: transparent;
	font-size: 20px;
}
table.table-vacancies tr {
    box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.20) !important;
}
.btn-apply-now{
	border: 1px solid rgb(234, 0, 41);
    color: rgb(234, 0, 41) !important;
    background-color: #ffffff;
	padding: 13px 19px;
	border-radius: 2em;
	font-weight: 600;
	font-size: 16px;
}
.btn-apply-now:hover{
    color: #ffffff !important;
    background-color:rgb(234, 0, 41);
}
.title-vacancy{
	font-weight: 600;
	font-size: 18px !important; 
}
/* Floating button */
.btn-flotante {
	font-size: 14px; 
	color: #ffffff; 
	border-radius: 25px; 
	background-color: #ffffff; 
	position: fixed;
	right: 18px;
	box-shadow: 5px 5px 20px 0 rgb(0 0 0 / 20%);
	z-index: 999;
	color: #373737;
	display: flex;
    align-items: center;
	justify-content: center;
	width: 50px;
    height: 50px;
	text-decoration: none;
}
a.btn-flotante:hover {
    color: inherit;
}
.btn-top{
	bottom: 90px;
}
.btn-bottom{
	bottom: 150px;
}
a.btn-flotante i {
    font-size: 32px;
	color: #145195;
}
/**/
.home footer .elementor-element.elementor-element-11566bb1.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded{
	background-color: #fff !important;
}
/**/
.form-3cols label {
    margin-bottom: 20px;
}
/**/
.ctn-date-degrade{
    position: relative;
    z-index: 1;
}
.ctn-date-degrade:before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #e73137;
    filter: contrast(163%) brightness(77%);
    opacity: .45;
    z-index: -1;
}
/**/
.vacancy-detail {
    padding-top: 50px;
    padding-bottom: 80px;
}