/*
	Theme Name: Hello Elementor Child
	Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
	Description: A lightweight and minimalist WordPress theme for Elementor page builder.
	Author: Factoria Creativa
	Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
	Template: hello-elementor
  Text Domain: hello-elementor-child 
	Stable tag: 2.8.1
	Requires at least: 5.9
	Tested up to: 6.2
	Requires PHP: 8.0
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Description: A lightweight, plain-vanilla, best suited for building your site using Elementor website builder. Visit https://elementor.com/hello-theme/ to learn more.
	Tags: accessibility-ready, flexible-header, custom-colors, custom-menu, custom-logo, featured-images, rtl-language-support, threaded-comments, translation-ready,
*/
/******************************Global*******************************************/
:root {
	--color-primary900: #213B27;
	--color-primary700: #365F40;
	--color-primary500: #597D61;
	--color-primary300: #CBD8C6;
	--color-blanco: #fff;
	--color-grey: #F3F5EF;
	--color-background: #FFFCF4;
}

/*Boton*/
.btn {
	background-color: var(--color-primary700);
	color: var(--color-blanco);
	padding: 6px 16px;
	border-radius: 8px;
	font-weight: 600;
	font-size: 16px;
	text-transform: uppercase;
	position: relative;
	transition: background-color 0.3s ease;
}	


.btn::after {
  content: '';
  display: inline-block;
  width: 12px; 
  height: 12px;
  background-image: url('./assets/svg/icon-btn.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-left: 10px;
}

.btn:hover {
	background-color: var(--color-primary500);
	color: var(--color-blanco);
}

/***************************** Shortcode [list_social_icons] ********************/
.container-red_social_rrhh {
	display: flex;
	gap: 12px;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
}
.container-red_social_rrhh a,
.container-email-contact a {
	width: 32px;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px;
	border-radius: 50%;
	background-color: #0c2340;
}
.container-red_social_rrhh svg,
.container-email-contact svg{
	width: 100%;
	height: auto;
	aspect-ratio: 1/1;
}
.container-red_social_rrhh svg path,
.container-email-contact svg path {
	fill: #ffffff;
}
@media screen and ( max-width: 768px ) {
	.container-red_social_rrhh {
		gap: 8px;
	}
	.container-red_social_rrhh a,
	.container-email-contact a {
		width: 28px;
		padding: 6px;
	}
}
/***************************** End Shortcode [list_social_icons] ********************/


/***************************** Home ********************/

/*------------------------------- Shortcode [card-list-shortcode] --------------------------------*/
.container-classes {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
  align-items: unset;
}
.container-class {
  flex: 1;
  min-width: 240px;
  width: 20%;
  box-sizing: border-box;
  background: var(--color-grey);
  padding: 40px 30px;
  text-align: left;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
}

.container-class h3 {
	margin: 0;
	color: var(--color-primary700);
}

.container-class svg {
	width: 100%;
	height: auto;
	max-height: 120px; 
	margin-bottom: 10px;
}

.container-text {
	margin-bottom: 20px;
}

.container-class a {
	font-size: 14px;
}






/* ESTILOS CF7 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500&display=swap');

/* ============================================
   formulario solicitud demo CF7
   ============================================ */
.tai-form,
.tai-form * {
  box-sizing: border-box;
}

.tai-form {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #0c2340;
  max-width: 700px;
  line-height: 1.4;
}

/* Filas */
.tai-form .tai-row {
  margin: 0 0 1.75rem;
  padding: 0;
}

.tai-form .tai-row--triple {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
  align-items: end;
}

.tai-form .tai-row--triple .tai-field {
  margin: 0;
  min-width: 0;
}

/* Etiquetas */
.tai-form label {
  display: block;
  font-size: 16px;
  font-weight: 400;
  color: #0c2340;
  margin-bottom: 0.5rem;
}

/* Wrap interno que mete CF7 */
.tai-form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

/* Inputs, selects, textarea — solo subrayado */
.tai-form input.tai-input,
.tai-form select.tai-select,
.tai-form textarea.tai-textarea {
  width: 100%;
  border: none;
  border-bottom: 1px solid #0c2340;
  background: transparent;
  font-family: inherit;
  font-size: 16px;
  font-weight: 400;
  color: #0c2340;
  padding: 0.5rem 0;
  border-radius: 0;
  outline: none;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.tai-form input.tai-input:focus,
.tai-form select.tai-select:focus,
.tai-form textarea.tai-textarea:focus {
  border-bottom-width: 2px;
  padding-bottom: calc(0.5rem - 1px);
}

.tai-form textarea.tai-textarea {
  min-height: 2.25rem;
  resize: vertical;
}

/* Chevron del select */
.tai-form select.tai-select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%230c2340' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5l5 5 5-5'/></svg>");
  background-repeat: no-repeat;
  background-position: right 0 center;
  padding-right: 1.75rem;
  cursor: pointer;
}

/* Placeholder uniforme */
.tai-form input::placeholder,
.tai-form textarea::placeholder {
  color: #0c2340;
  opacity: 1;
}

/* Bloque de aceptación */
.tai-form .tai-row--consent {
  margin-top: 2.5rem;
}

.tai-form .tai-row--consent .wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
  display: inline-flex;
  align-items: center;
}

.tai-form .tai-row--consent .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  margin: 0;
  cursor: pointer;
}

.tai-form .tai-row--consent .wpcf7-list-item-label {
  font-size: 14px;
  color: #0c2340;
  margin-left: 0.6rem;
}

.tai-form .tai-row--consent input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  border: 1px solid #0c2340;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  margin: 0;
}

.tai-form .tai-row--consent input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: #0c2340;
}

/* Botón Enviar */
.tai-form .tai-row--submit {
  display: flex;
  justify-content: flex-end;
  margin-top: 1.5rem;
}

.tai-form input.tai-submit {
  background: transparent;
  color: #0c2340;
  border: 1px solid #0c2340;
  border-radius: 999px;
  padding: 0.75rem 2.5rem;
  font-family: inherit;
  font-size: 16px;
  font-weight: 400;
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}

.tai-form input.tai-submit:hover,
.tai-form input.tai-submit:focus {
  background: #0c2340;
  color: #fff;
  outline: none;
}

/* Mensajes de CF7 */
.tai-form .wpcf7-response-output {
  margin: 1.25rem 0 0;
  padding: 0.75rem 1rem;
  font-size: 14px;
  border-radius: 0;
}

.tai-form .wpcf7-not-valid-tip {
  color: #d83a3a;
  font-size: 13px;
  margin-top: 0.35rem;
}

.tai-form .wpcf7-spinner {
  margin-left: 0.75rem;
}

/* Móvil — apilan los 3 campos */
@media (max-width: 768px) {
  .tai-form .tai-row--triple {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
  .tai-form .tai-row--submit {
    justify-content: stretch;
  }
  .tai-form input.tai-submit {
    width: 100%;
  }
}





/* ===== HEADER desktop estrecho (1151-1450): menú en una línea (encoger) ===== */
@media (min-width:1151px) and (max-width:1450px){
  .elementor-location-header .elementor-nav-menu > li > a.elementor-item{ padding-left:9px !important; padding-right:9px !important; font-size:14px !important; }
  .elementor-location-header .elementor-button{ padding-left:16px !important; padding-right:16px !important; font-size:13px !important; white-space:nowrap !important; }
  .elementor-location-header .elementor-button .elementor-button-text{ white-space:nowrap !important; }
}
/* ===== HEADER <=1150: como móvil — nav y botones fuera, hamburguesa a la DERECHA ===== */
@media (max-width:1150px){
  .elementor-location-header .elementor-element-f4e3232{ display:none !important; }
  .elementor-location-header .elementor-element-2709b22{ display:inline-flex !important; margin-left:auto !important; }
}

/* ===== Conmutador idiomas header: botón navy (gemelo Contacto) + desplegable ===== */
/* TOGGLE = botón colapsado */
.elementor-location-header .cpel-switcher--layout-dropdown .cpel-switcher__toggle a{
  background:#0c2340 !important;
  color:#ffffff !important;
  border:1px solid #ffffff !important;
  border-radius:10px !important;
  text-decoration:none !important;
  line-height:39px !important;
  padding:3px 16px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  box-shadow:none !important;
}
.elementor-location-header .cpel-switcher--layout-dropdown .cpel-switcher__toggle .cpel-switcher__code{
  font-family:'Inter',sans-serif !important;
  font-size:12px !important; font-weight:600 !important; text-transform:uppercase !important;
  letter-spacing:.02em; padding:0 !important;
}
.elementor-location-header .cpel-switcher--layout-dropdown .cpel-switcher__toggle .cpel-switcher__icon,
.elementor-location-header .cpel-switcher--layout-dropdown .cpel-switcher__toggle a i{
  color:#ffffff !important;
}
/* LISTA = panel desplegable */
.elementor-location-header .cpel-switcher--layout-dropdown .cpel-switcher__list{
  background:#0c2340 !important;
  border:1px solid transparent !important;
  border-radius:10px !important;
  overflow:hidden !important;
  min-width:100% !important;
  margin-top:6px !important;
}
.elementor-location-header .cpel-switcher--layout-dropdown .cpel-switcher__list .cpel-switcher__lang a{
  background:#0c2340 !important;
  color:#ffffff !important;
  text-decoration:none !important;
  border:0 !important;
  font-family:'Inter',sans-serif !important;
  font-size:12px !important; font-weight:600 !important; text-transform:uppercase !important;
  padding:11px 18px !important; text-align:center !important; line-height:1.2 !important;
}
.elementor-location-header .cpel-switcher--layout-dropdown .cpel-switcher__list .cpel-switcher__lang a:hover,
.elementor-location-header .cpel-switcher--layout-dropdown .cpel-switcher__list .cpel-switcher__lang a:focus{
  background:#16375f !important; color:#ffffff !important;
}
@media (pointer:fine){
  .elementor-location-header .cpel-switcher--drop-on-hover .cpel-switcher__nav:hover .cpel-switcher__list{
    border-color:#ffffff !important;
  }
}
