/*
Theme Name: Astra Child Grupo VAM
Theme URI: https://web2.grupovam.net
Description: Tema hijo personalizado para Grupo VAM
Author: Tu Nombre
Author URI: https://tusitio.com
Template: astra
Version: 1.0
*/

/* =========================
   ESTILOS BASE PREMIUM
========================= */
/*
Theme Name: Astra Child Grupo VAM
Template: astra
Version: 1.0
*/

body {
    font-family: Arial, sans-serif;
    color: #1a1a1a;
    margin: 0;
}

#primary{
	margin:0px;
}
.entry-content.clear{
	background:white;
}


//proyectos
.proyectos-grid > div {
    width:100%;
}

/*Servicios*/
.container-servicio-box{
	margin:0px;
	padding:0px 10px;
}
#container-main-servicios-grid {
	gap:0;
}

/*Linea de tiempo*/
#container-linea-time{
	background:white!important;
}
#container-linea-time .wpr-label,
#container-linea-time .wpr-button-next i ,
#container-linea-time .wpr-button-prev i
{
	color:#aa212a !important;
}
#container-linea-time span.swiper-pagination-progressbar-fill
{
	background-color:#aa212a !important;
}
#container-linea-time .wpr-animation-wrap.wpr-timeline-media img{
	height:200px;
	width:auto;
	
}




//proyectos
#listado-experiencia .elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-content-box .eael-feature-list-content{
	font-size:23px!important;
}




/*********************************/
/**********TIPOGRAFIAS************/
/*********************************/

.number-color h2{
	font-weight: bold;
    font-size: 64px;
    text-shadow: 1px 0px 6px #998b8b;
    color: #aa212a;
}
.txt-mini,
.txt-mini h2{
	text-transform:uppercase;
	font-size:20px!important;
}
.txt-mini.txt-yellow,
.txt-mini.txt-yellow h2{
	color:#dfac3a;
}
.txt-mini-red{
	text-transform:uppercase;
	color:#c8424f!important;
}
.txt-color{
	color:#aa212a!important;
}

.title-left-sub{
	text-align:left!important;
	border-left: solid 5px #6d0816;
	padding: 20px 10px;
}
/*subrayado en txt-color .sub-color*/
.txt-color.sub-color {
  position: relative;
  display: inline-block;
  color: #aa212a !important;
}

/* LÍNEA SIEMPRE VISIBLE */
.txt-color.sub-color::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 3px;
  background-color: #aa212a;
  border-radius: 2px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
/*animacion sub*/
.txt-color.sub-color:hover::after {
  transform: scaleX(1.1);
  opacity: 0.8;
}
/****************************************/
/********FINAL TIPOGRAFIAS***************/
/****************************************/


#container-titulo-especialidades{
	background:white!important;
}

/*Home proyectos que hablan por si mismos*/
.title-card-proyectos-hablan h2{
	color: white;
    font-size: 16px;
    text-align: center;
}
.card-home-proyectos-que-hablan{
	width:100%;
	height:200px;
	
}
.card-home-proyectos-que-hablan:before{
	    background-image: linear-gradient(183deg, #02020214 61%, #000000 81%)!important;
}
.title-card-proyectos-hablan{
	position:absolute;
	bottom:0;
	left: 0;
    right: 0;
    padding: 5px;
}
/**/





/****************************************/
/********CONSTRUIMOS TUS IDEAS***********/
/****************************************/
#construimos-container-right #container-iconos{
	display: flex;
    gap: 5px;
    flex-wrap: wrap;
	margin:0px;
	border:0;
}
#construimos-container-right .container-icono{
	width: 200px;
    height: 250px;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
	gap:10;
	background:white;
	border:0;
}
#construimos-container-right #container-iconos  .e-con-inner{
	display: flex;
    gap: 4px;
    justify-content: center;
}
#construimos-container-right #container-iconos .e-con:before{
	border:0;
}
.b0{
	border:0px!important;
}
#contruimos-container-right .titulo-recuadro-construimos,
.elementor-element-5b546eb p{
	width:100px!important;
	margin:0 auto!important;
}
/****************************************/
/****FINAL CONSTRUIMOS TUS IDEAS*********/
/****************************************/




/*Servicios*/
.container-card-servicio{
	margin: 0;
    padding: 0;
	background:white!important;
	border: solid 1px slategray;
    box-shadow: 4px 7px 0px #ad1a27a1;
} 
.container-card-servicio::hover{
	 box-shadow: 4px 7px 0px #ad1a27;
}
.icono-card-servicio{
	background: #ad1a27;
    padding: 10px;
    border-radius: 50%;
    position: absolute;
    top: 150px;
	left:20px;
}
.titulo-card-servicio h2{
	font-size: 18px!important;
    padding: 20px;
}

.descripcion-card-servicio {
	width: 100%;
    padding: 0px 20px;
}
.link-card-servicio{
	width: 100%;
    text-align: center;
}
.link-card-servicio .elementor-button-content-wrapper{
	
    width: 128px;
    display: flex;
    color: #c53945;
    font-weight: bold;
}
/* HEADER */
.vam-header {
    position: sticky;
    top: 0;
    z-index: 9999;
    background: #ffffff;
    border-bottom: 1px solid #e9e9e9;
}

.vam-header__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.vam-header__logo img {
    max-height: 48px;
    width: auto;
    display: block;
}

.vam-header__site-name {
    font-size: 20px;
    font-weight: 700;
    color: #111;
}

.vam-header__nav {
    flex: 1;
    display: flex;
    justify-content: center;
}

.vam-menu {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 28px;
    margin: 0;
    padding: 0;
}

.vam-menu li {
    margin: 0;
    padding: 0;
}

.vam-menu li a {
    text-decoration: none;
    color: #111111;
    font-size: 15px;
    font-weight: 600;
    transition: color 0.25s ease;
}

.vam-menu li a:hover,
.vam-menu li.current-menu-item > a,
.vam-menu li.current_page_item > a {
    color: #c62828;
}

.vam-header__cta {
    display: flex;
    align-items: center;
}

.vam-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #c62828;
    color: #fff;
    text-decoration: none;
    padding: 12px 22px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 700;
    transition: background 0.25s ease;
}

.vam-btn:hover {
    background: #a61f1f;
    color: #fff;
}

.vam-header__toggle {
    display: none;
    background: none!important;
    border: 0;
    padding: 0;
    cursor: pointer;
    flex-direction: column;
    gap: 5px;
	
	position: absolute;
	    right: 30px;
    background: none;
}

.vam-header__toggle span {
    display: block;
    width: 26px;
    height: 2px;
    background: #111;
}

/* RESPONSIVE */
@media (max-width: 991px) {
    .vam-header__container {
        flex-wrap: wrap;
		width:100%;
		flex-direction:column;
    }

    .vam-header__nav {
        order: 4;
        width: 100%;
        display: none;
        justify-content: flex-start;
    }

    .vam-header__nav.is-open {
        display: flex;
    }

    .vam-menu {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        width: 100%;
        padding-top: 15px;
    }

    .vam-header__cta {
        display: none;
    }

    .vam-header__toggle {
        display: flex;
        margin-left: auto;
    }
}

//proyectos
.proyecto-img {
	width: 350px;
    height: 500px;
}
.acf-card__items {
	display:flex;
	flex-wrap: wrap;
    gap: 20px;
}

.proyecto-content{
	width: 200px;
    display: flex;
    flex-direction: column;
}
.proyecto-titulo {
	margin:0;
}
/* =========================
   SINGLE PROYECTOS
========================= */

.single-proyecto-page {
    background: #f6f6f4;
    color: #172033;
}

/* WRAP */
.proyecto-wrap {
    width: min(1200px, calc(100% - 40px));
    margin: 0 auto;
}

/* =========================
   HERO
========================= */

.proyecto-hero {
    position: relative;
    min-height: 68vh;
    display: flex;
    align-items: flex-end;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-color: #1d2433;
    overflow: hidden;
}

.proyecto-hero.no-bg {
    background:
        radial-gradient(circle at top right, rgba(195,168,124,0.16), transparent 30%),
        linear-gradient(135deg, #1d2433 0%, #121826 100%);
}

.proyecto-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to top, rgba(11,16,27,0.85) 0%, rgba(11,16,27,0.35) 45%, rgba(11,16,27,0.12) 100%);
    z-index: 1;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.hero-inner {
    position: relative;
    z-index: 2;
    width: min(1200px, calc(100% - 40px));
    margin: 0 auto;
    padding: 110px 0 64px;
}

.hero-copy {
    max-width: 820px;
}

.hero-kicker {
    display: inline-block;
    margin-bottom: 14px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #c8ad7f;
}

.hero-title {
    margin: 0;
    font-size: clamp(38px, 5vw, 72px);
    line-height: 1.03;
    font-weight: 700;
    color: #fff;
    text-wrap: balance;
}

.hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 12px;
    margin-top: 28px;
}

.hero-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 10px 16px;
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 999px;
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(6px);
    color: #f2f4f8;
    font-size: 13px;
    line-height: 1.2;
}

/* =========================
   CONTENIDO
========================= */

.proyecto-contenido {
    padding: 80px 0 30px;
}

.contenido-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(300px, 0.75fr);
    gap: 42px;
    align-items: start;
}

.contenido-principal {
    min-width: 0;
}

.section-heading {
    margin-bottom: 30px;
}

.section-kicker {
    display: inline-block;
    margin-bottom: 10px;
    color: #b48b54;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.section-heading h2,
.titulo-galeria {
    margin: 0;
    font-size: clamp(30px, 3vw, 46px);
    line-height: 1.08;
    font-weight: 700;
    color: #172033;
}

.proyecto-richtext {
    color: #374151;
    font-size: 16px;
    line-height: 1.9;
}

.proyecto-richtext p {
    margin: 0 0 1.2em;
}

.proyecto-richtext strong {
    color: #182235;
}

.proyecto-richtext ul,
.proyecto-richtext ol {
    margin: 0 0 1.4em 1.2em;
    padding: 0;
}

.proyecto-richtext li {
    margin-bottom: 0.55em;
}

.proyecto-richtext h3,
.proyecto-richtext h4 {
    margin: 1.6em 0 0.8em;
    color: #172033;
    line-height: 1.2;
}

/* =========================
   SIDEBAR
========================= */
.contenido-info {
    min-width: 0;
    align-self: start; /* 🔥 CLAVE para que sticky funcione en grid */
}

/* CARD */
.info-card {
    position: sticky;
    top: 120px; /* ajusta según altura de tu header */
    
    padding: 30px 28px;
    border: 1px solid rgba(23,32,51,0.06);
    border-radius: 18px;
    background: #ffffff;

    box-shadow: 0 18px 50px rgba(17, 24, 39, 0.08);

    /* 🔥 mejora visual */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* EFECTO SUAVE AL SCROLL (pro feel) */
.info-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 22px 60px rgba(17, 24, 39, 0.12);
}

.info-card-top {
    margin-bottom: 24px;
}

.mini-label {
    display: inline-block;
    margin-bottom: 8px;
    color: #9b7b4d;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.info-card h3 {
    margin: 0;
    font-size: 26px;
    line-height: 1.1;
    color: #172033;
}

/* LISTA */
.info-list {
    list-style: none;
    margin: 0 0 26px;
    padding: 0;
}

.info-list li {
    padding: 14px 0;
    border-bottom: 1px solid #eceff3;
}

.info-list li:last-child {
    border-bottom: 0;
}

.info-label {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    color: #7b8492;
}

.info-value {
    display: block;
    font-size: 15px;
    line-height: 1.5;
    color: #172033;
}

/* BOTÓN */
.btn-cotizar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 52px;
    padding: 14px 20px;

    border-radius: 12px;
    background: linear-gradient(135deg, #d43832, #b92b27);

    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.01em;

    box-shadow: 0 14px 30px rgba(185, 43, 39, 0.22);

    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.btn-cotizar:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 34px rgba(185, 43, 39, 0.28);
    background: linear-gradient(135deg, #dd413a, #a82420);
    color: #fff;
}
/* =========================
   GALERÍA
========================= */

.proyecto-galeria {
    padding: 30px 0 20px;
}

.galeria-header {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 24px;
    margin-bottom: 28px;
}

.galeria-intro {
    max-width: 420px;
    margin: 0;
    color: #687181;
    font-size: 15px;
    line-height: 1.7;
}

.grid-galeria {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.galeria-item {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    background: #e9ecef;
    box-shadow: 0 8px 20px rgba(17, 24, 39, 0.04);
}

.galeria-link {
    position: relative;
    display: block;
    text-decoration: none;
    color: inherit;
}

.galeria-link::after {
    content: "";
    display: block;
    padding-bottom: 72%;
}

.galeria-link img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease, filter .45s ease;
}

.galeria-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: end;
    justify-content: flex-start;
    padding: 18px;
    background: linear-gradient(to top, rgba(11,16,27,0.58), rgba(11,16,27,0.08));
    opacity: 0;
    transition: opacity .28s ease;
}

.galeria-overlay span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 14px;
    border: 1px solid rgba(255,255,255,0.26);
    border-radius: 999px;
    background: rgba(255,255,255,0.08);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    backdrop-filter: blur(6px);
}

.galeria-item:hover .galeria-link img {
    transform: scale(1.07);
    filter: saturate(1.03);
}

.galeria-item:hover .galeria-overlay {
    opacity: 1;
}

/* =========================
   LIGHTBOX
========================= */

body.lightbox-open {
    overflow: hidden;
}

.lightbox {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
    background: rgba(8, 11, 18, 0.94);
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s ease, visibility .25s ease;
}

.lightbox.is-open {
    opacity: 1;
    visibility: visible;
}

.lightbox-stage {
    position: relative;
    width: min(1100px, 88vw);
    display: flex;
    align-items: center;
    justify-content: center;
}

.lightbox-img {
    max-width: 100%;
    max-height: 82vh;
    border-radius: 12px;
    box-shadow: 0 18px 40px rgba(0,0,0,0.35);
}

.lightbox-close {
    position: absolute;
    top: 22px;
    right: 24px;
    z-index: 3;
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
    color: #fff;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
}

.lightbox-close:hover {
    background: rgba(255,255,255,0.18);
    transform: scale(1.04);
}

.lightbox-nav {
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 54px;
    height: 54px;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,0.12);
    color: #fff;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
    transition: background .2s ease, transform .2s ease;
}

.lightbox-nav:hover {
    background: rgba(255,255,255,0.2);
}

.lightbox-prev {
    left: 26px;
}

.lightbox-next {
    right: 26px;
}

.lightbox-counter {
    position: absolute;
    bottom: 22px;
    left: 50%;
    transform: translateX(-50%);
    padding: 9px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,0.1);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.03em;
}

/* =========================
   VOLVER
========================= */

.volver {
    padding: 26px 0 70px;
}

.volver a {
    color: #6a7382;
    text-decoration: none;
    font-size: 14px;
    transition: color .2s ease, transform .2s ease;
}

.volver a:hover {
    color: #172033;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1100px) {
    .grid-galeria {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contenido-grid {
        grid-template-columns: 1fr;
    }

    .info-card {
        position: static;
    }

    .galeria-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .galeria-intro {
        max-width: none;
    }
}

@media (max-width: 768px) {
    .proyecto-hero {
        min-height: 56vh;
    }

    .hero-inner {
        padding: 90px 0 42px;
    }

    .hero-meta {
        gap: 8px;
    }

    .hero-meta span {
        min-height: 34px;
        padding: 8px 12px;
        font-size: 12px;
    }

    .proyecto-contenido {
        padding: 56px 0 20px;
    }

    .grid-galeria {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .lightbox {
        padding: 18px;
    }

    .lightbox-nav {
        width: 46px;
        height: 46px;
        font-size: 22px;
    }

    .lightbox-prev {
        left: 10px;
    }

    .lightbox-next {
        right: 10px;
    }

    .lightbox-close {
        top: 14px;
        right: 14px;
        width: 42px;
        height: 42px;
        font-size: 24px;
    }

    .lightbox-counter {
        bottom: 14px;
        font-size: 12px;
    }
}

@media (max-width: 480px) {
    .proyecto-wrap {
        width: min(1200px, calc(100% - 24px));
    }

    .hero-inner {
        width: min(1200px, calc(100% - 24px));
    }

    .info-card {
        padding: 22px 18px;
        border-radius: 14px;
    }

    .section-heading h2,
    .titulo-galeria {
        font-size: 30px;
    }

    .proyecto-richtext {
        font-size: 15px;
        line-height: 1.8;
    }
}

//Nosotros
.elementor-element#container-sobre-nosotros{
	padding:0;
	margin:0;
}


/* CONTENEDOR GENERAL */
.subtitle-line {
    display: flex;
    align-items: center;
}

/* DIV INTERNO */
.subtitle-line > div {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* LÍNEA DECORATIVA */
.subtitle-line > div::before {
    content: "";
    width: 40px;
    height: 5px;
    background: #630915; /* azul moderno */
    display: inline-block;
}

.container-titulos-colors{
	    display: flex;
    gap: 0;
}
#mini-text.container-mini-text{
	max-width: 600px;
    margin: 0 auto;
}

.txt-sub {
	text-transform:uppercase;
    text-decoration: underline;
    text-decoration-thickness: 6px;
}
#vision-txt{
	 text-decoration-color: #2e5070;
}
#mision-txt{
	 text-decoration-color: #c0392b;
}



/* WRAPPER */
#container-valores-iconos .elementor-icon-box-wrapper {
    position: relative;
    max-width: 520px;
}

/* ICONO */
#container-valores-iconos .elementor-icon-box-icon {
    float: left;
    width: 85px;
    height: 85px;
    margin-right: 18px;
    margin-top: 4px; /* 🔥 corrige alineación visual */

    border-radius: 50%;
    background: #9f1d24;
    overflow: hidden;

    display: flex;
    align-items: center;
    justify-content: center;

    shape-outside: circle(50%);
    -webkit-shape-outside: circle(50%);
    shape-margin: 12px;
}

/* ICONO MÁS GRANDE */
#container-valores-iconos .elementor-icon-box-icon svg {
    width: 115%;
    height: 115%;
	margin-left: -4px;
}

/* CONTENIDO */
#container-valores-iconos .elementor-icon-box-content {
    position: relative;
    overflow: hidden;

    /* 🔥 EFECTO CURVO SUAVE */
    padding: 10px 14px 10px 0;
}

/* 🔥 FONDO CURVO SUTIL (CLAVE VISUAL) */
#container-valores-iconos .elementor-icon-box-content::before {
    content: "";
    position: absolute;
    left: -60px;
    top: 0;
    width: calc(100% + 60px);
    height: 100%;

    background: #f9fafb;
    border-radius: 60px; /* 🔥 curva orgánica */

    z-index: -1;
}

/* TÍTULO */
#container-valores-iconos .elementor-icon-box-title {
    margin: 0 0 6px;
    font-weight: 600;
    line-height: 1.2;
}

/* TEXTO */
#container-valores-iconos .elementor-icon-box-description {
    line-height: 1.65;
    color: #374151;
}



#contenedor-contruimos-tus-ideas{
	 background: #ffffff;
    box-shadow: 0 20px 60px rgba(0,0,0,0.06);
}

.txt-color{
	color:#9f1d24;
}
.mision-vision{
	max-width:350px!important;
}














/* =========================
   SECCIÓN GENERAL
========================= */
.elementor-element-d45c306 {
    padding: 100px 0;
    background: #f5f6f7;
    position: relative;
}

/* =========================
   BLOQUE IZQUIERDO (CONTENIDO)
========================= */
#contenedor-contruimos-tus-ideas {
    background: #ffffff;
    padding: 70px;
    border-radius: 10px;

    /* 🔥 PROFUNDIDAD REAL */
    box-shadow: 
        0 10px 30px rgba(0,0,0,0.04),
        0 30px 80px rgba(0,0,0,0.06);

    position: relative;
    z-index: 2;
}

/* 🔥 EFECTO FLOTANTE (CLAVE) */
#contenedor-contruimos-tus-ideas::after {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 30px;
    width: 90%;
    height: 40px;
    background: rgba(0,0,0,0.08);
    filter: blur(25px);
    z-index: -1;
}

/* =========================
   SUBTÍTULO
========================= */

/* =========================
   TÍTULO
========================= */
#contenedor-contruimos-tus-ideas h2 {
    font-size: 44px;
    line-height: 1.1;
    letter-spacing: -0.5px;
    color: #1f2937;
    margin-bottom: 24px;
}



/* =========================
   TEXTO
========================= */
#contenedor-contruimos-tus-ideas p {
    color: #4b5563;
    line-height: 1.7;
    max-width: 520px;
}

/* =========================
   BOTÓN
========================= */
#contenedor-contruimos-tus-ideas .elementor-button {
    background: #9f1d24;
    color: #fff;
    padding: 14px 32px;
    font-weight: 600;
    border-radius: 6px;
    transition: all 0.3s ease;
}

/* HOVER */
#contenedor-contruimos-tus-ideas .elementor-button:hover {
    background: #7c151b;
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(159,29,36,0.3);
}

/* =========================
   CONTENEDOR DERECHA (STATS)
========================= */
.elementor-element-5b546eb {
    background: #ffffff;
    border-radius: 10px;

    /* 🔥 MISMA PROFUNDIDAD */
    box-shadow: 
        0 10px 30px rgba(0,0,0,0.04),
        0 30px 80px rgba(0,0,0,0.06);

    overflow: hidden;
}

/* =========================
   ITEMS DE ESTADÍSTICAS
========================= */
.elementor-element-5b546eb .elementor-icon-box-wrapper {
    padding: 40px;
    text-align: center;
    transition: all 0.3s ease;
}

/* 🔥 EFECTO HOVER ELEGANTE */
.elementor-element-5b546eb .elementor-icon-box-wrapper:hover {
    background: #f9fafb;
    transform: translateY(-4px);
}

/* NÚMEROS */
.elementor-element-5b546eb h2 {
    font-size: 38px;
    font-weight: 700;
    color: #1f2937;
    margin-bottom: 6px;
}

/* TEXTO */
.elementor-element-5b546eb p {
    color: #6b7280;
    font-size: 14px;
}

/* =========================
   SEPARADORES (QUITAR LOOK TABLA)
========================= */
.elementor-element-5b546eb .e-con {
    border: 1px solid rgba(0,0,0,0.04);
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 768px) {

    #contenedor-contruimos-tus-ideas {
        padding: 40px;
    }

    #contenedor-contruimos-tus-ideas h2 {
        font-size: 32px;
    }

    .elementor-element-5b546eb .elementor-icon-box-wrapper {
        padding: 25px;
    }
}









/*Contenedor Sostenibilidad*/

/* =========================
   CONTENEDOR GENERAL
========================= */
.elementor-element-01268f1 {
    position: relative;
 
    overflow: hidden;
}

/* 🔥 FONDO UNIFICADO (SIN CORTES RAROS) */
.elementor-element-01268f1::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(17, 24, 39, 0.9) 50%,
        rgba(17, 24, 39, 0.75) 100%
    );
    z-index: 1;
}

/* ❌ ELIMINAR COMPLETAMENTE EL AMARILLO */
.elementor-element-b42b0cf {
    background: transparent !important;
}

/* =========================
   LADO IZQUIERDO
========================= */
.elementor-element-e9f5c4a {
    position: relative;
    z-index: 2;
    max-width: 580px;
}

/* SUBTÍTULO */
.elementor-element-fc984e5 h4 {
    color: #fbbf24;
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 10px;
}

/* TÍTULO */
.elementor-element-4df1ac3 h2 {
    font-size: 46px;
    line-height: 1.1;
    color: #ffffff;
    margin-bottom: 18px;
}

/* TEXTO */
.elementor-element-3b5a0d1 p {
    color: rgba(255,255,255,0.85);
    line-height: 1.7;
    max-width: 500px;
}



.elementor-element-f493cf0 .elementor-button:hover {
    background: #7c151b;
    transform: translateY(-2px);
}

/* =========================
   TARJETA DERECHA (MÁS LIMPIA)
========================= */
.elementor-element-70629de {
    background: #ffffff;
    padding: 45px;
    border-radius: 10px;

    /* 🔥 sombra más suave (menos ruido) */
    box-shadow: 0 20px 50px rgba(0,0,0,0.06);

    position: relative;
    z-index: 3;

    /* 🔥 menos exagerado */
    transform: translateY(30px);
}

/* ❌ QUITAMOS SOMBRA EXTRA (menos ruido) */
.elementor-element-70629de::after {
    display: none;
}

/* TÍTULO DERECHA */
.elementor-element-3bfa10f h3 {
    font-size: 24px;
    color: #1f2937;
    margin-bottom: 12px;
}

/* TEXTO */
.elementor-element-97a9e3b p {
    color: #4b5563;
    line-height: 1.6;
    margin-bottom: 20px;
}

/* =========================
   LISTA MÁS LIMPIA
========================= */
.elementor-icon-list-item {
    margin-bottom: 12px;
    display: flex;
    align-items: center;
}

/* ICONO */
.elementor-icon-list-icon i {
    color: #9f1d24;
    font-size: 11px;
}

/* TEXTO */
.elementor-icon-list-text {
    color: #1f2937;
    font-weight: 500;
}

/* HOVER MÁS SUTIL */
.elementor-icon-list-item:hover {
    transform: translateX(3px);
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 768px) {

    .elementor-element-01268f1 {
        padding: 60px 0;
    }

    .elementor-element-70629de {
        transform: none;
        margin-top: 25px;
        padding: 30px;
    }

    .elementor-element-4df1ac3 h2 {
        font-size: 32px;
    }
}

/*final contenedor */












/* =========================
   CONTENEDOR GENERAL
========================= */
.elementor-element-1b327cb {
    padding: 100px 0 80px;
}

/* 🔥 CONTENEDOR INTERNO CENTRADO */
.elementor-element-7948dce {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center; /* 🔥 centra verticalmente */
    justify-content: space-between;
    gap: 60px;
}

/* =========================
   BLOQUE IZQUIERDO
========================= */
.elementor-element-f91e953 {
    flex: 1;
    max-width: 600px;
}

/* SUBTÍTULO */
.elementor-element-11c2c92 h4 {
    font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #9f1d24;
    margin-bottom: 12px;
}

/* TÍTULO */
.elementor-element-e0e8ea1 h2 {
    font-size: 46px;
    line-height: 1.1;
    color: #1f2937;
    letter-spacing: -0.5px;
    margin-bottom: 0;
}

/* 🔥 LÍNEA VISUAL MÁS LIMPIA */
.elementor-element-f91e953::before {
    content: "";
    display: block;
    width: 50px;
    height: 2px;
    background: #9f1d24;
    margin-bottom: 20px;
}

/* =========================
   BLOQUE DERECHO
========================= */
.elementor-element-166fe3c {
    flex: 1;
    max-width: 420px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* TEXTO */
.elementor-element-ded918d p {
    color: #4b5563;
    line-height: 1.7;
    margin-bottom: 25px;
}

/* =========================
   BOTÓN (LINK PREMIUM)
========================= */
.elementor-element-819fd2e {
    display: flex;
    justify-content: flex-start;
}

.elementor-element-819fd2e .elementor-button {
    background: transparent;
    padding: 0;
    color: #1f2937;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* ICONO */
.elementor-element-819fd2e .elementor-button-icon {
    transition: transform 0.3s ease;
}

/* HOVER */
.elementor-element-819fd2e .elementor-button:hover {
    color: #9f1d24;
}

.elementor-element-819fd2e .elementor-button:hover .elementor-button-icon {
    transform: translateX(6px);
}

/* =========================
   CENTRADO VISUAL GLOBAL
========================= */
.elementor-element-1b327cb > .e-con {
    align-items: center;
}

/* =========================
   SEPARADOR
========================= */
.elementor-element-1b327cb::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: rgba(0,0,0,0.06);
    margin-top: 80px;
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 768px) {

    .elementor-element-7948dce {
        flex-direction: column;
        align-items: flex-start;
        gap: 30px;
    }

    .elementor-element-e0e8ea1 h2 {
        font-size: 32px;
    }

    .elementor-element-166fe3c {
        max-width: 100%;
    }
}


.elementor-7 .elementor-element.elementor-element-b42b0cf::before{
	background:none;
}
.elementor-7 .elementor-element.elementor-element-1b327cb{
	padding:0;
}




/*container titulo especialidades*/
/* =========================
   CONTENEDOR GENERAL
========================= */
#container-titulo-especialidades {
    position: relative;
    background: #f5f6f8; /* gris muy claro elegante */
}

/* INNER */
#container-titulo-especialidades .e-con-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 60px;
    max-width: 1200px;
    margin: 0 auto;
}

/* =========================
   LADO IZQUIERDO
========================= */
#container-titulo-especialidades .elementor-element-096db6e {
    max-width: 650px;
}

/* SUBTÍTULO */
#container-titulo-especialidades h4 {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #9b7b4d; /* dorado elegante */
    margin-bottom: 14px;
}

/* TÍTULO PRINCIPAL */
#container-titulo-especialidades h2 {
    font-size: 44px;
    line-height: 1.15;
    font-weight: 700;
    color: #1a2433;
    margin: 0;
}

/* =========================
   LADO DERECHO
========================= */
#container-titulo-especialidades .elementor-element-cb84393 {
    max-width: 420px;
}

/* TEXTO */
#container-titulo-especialidades p {
    font-size: 16px;
    line-height: 1.7;
    color: #4a5568;
    margin: 0;
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 1024px) {

    #container-titulo-especialidades .e-con-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 30px;
    }

    #container-titulo-especialidades h2 {
        font-size: 34px;
    }

    #container-titulo-especialidades .elementor-element-cb84393 {
        max-width: 100%;
    }
}

@media (max-width: 768px) {

    #container-titulo-especialidades h2 {
        font-size: 28px;
    }

    #container-titulo-especialidades h4 {
        font-size: 12px;
    }

    #container-titulo-especialidades p {
        font-size: 15px;
    }
}



#container-recuadros-especialidades{
	padding:80px 0px;
}
/*final container titulo especialidades*/







/*Container recuadros especialidades*/
/* =========================
   CARD BASE (MEJORADA)
========================= */
.recuadro-especialidad {
    position: relative;
    background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
    
    border: 1px solid rgba(23,32,51,0.08);
    border-radius: 4px;

    padding: 48px 36px;
    min-height: 280px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    transition: all 0.35s ease;
    overflow: hidden;
}

/* SOMBRA SUTIL (ESTADO NORMAL) */
.recuadro-especialidad {
    box-shadow: 0 8px 20px rgba(17, 24, 39, 0.04);
}

/* =========================
   LÍNEA SUPERIOR (ROJA)
========================= */
.recuadro-especialidad::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 3px;
    width: 100%;
    background: #a6192e; /* rojo marca */

    transform: scaleX(0.2); /* visible en estado normal */
    transform-origin: left;
    transition: transform 0.35s ease;
    opacity: 0.7;
}

/* =========================
   DETALLE LATERAL (IDENTIDAD)
========================= */
.recuadro-especialidad::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 60px;
    background: #a6192e;
    opacity: 0.15;
    transition: all 0.3s ease;
}

/* =========================
   HOVER (ELEGANTE PRO)
========================= */
.recuadro-especialidad:hover {
    transform: translateY(-10px);
    box-shadow: 0 25px 60px rgba(17, 24, 39, 0.12);
    border-color: rgba(166,25,46,0.3);
}

/* LÍNEA CRECE */
.recuadro-especialidad:hover::before {
    transform: scaleX(1);
    opacity: 1;
}

/* LATERAL CRECE */
.recuadro-especialidad:hover::after {
    height: 100%;
    opacity: 0.3;
}

/* =========================
   TITULO
========================= */
.recuadro-especialidad .elementor-icon-box-title {
    font-size: 24px;
    font-weight: 700;
    color: #172033;
    line-height: 1.2;
    margin-bottom: 14px;
}

/* =========================
   DESCRIPCIÓN
========================= */
.recuadro-especialidad .elementor-icon-box-description {
    font-size: 15px;
    line-height: 1.7;
    color: #4a5568;
    max-width: 90%;
}

/* =========================
   BOTÓN "VER MÁS"
========================= */
.recuadro-especialidad .elementor-button {
    background: transparent !important;
    padding: 0 !important;

    font-size: 14px;
    font-weight: 600;
    color: #172033;

    display: inline-flex;
    align-items: center;
    gap: 6px;

    transition: all 0.3s ease;
}

/* ICONO */
.recuadro-especialidad .elementor-button i {
    transition: transform 0.3s ease;
}

/* HOVER BOTÓN */
.recuadro-especialidad .elementor-button:hover {
    color: #a6192e; /* rojo marca */
}

.recuadro-especialidad .elementor-button:hover i {
    transform: translateX(6px);
}

/*final container recuadros especialidades*/







/*Ajustes del MENU*/
/* BASE (importante para posicionar la línea) */
.vam-menu li a {
  position: relative;
  text-decoration: none;
  color: #333;
  transition: color 0.3s ease;
}

/* ESTADO ACTIVO + HOVER */
.vam-menu li a:hover,
.vam-menu li.current-menu-item > a,
.vam-menu li.current_page_item > a {
  color: #e53935;
}

/* LÍNEA INFERIOR (inicial oculta) */
.vam-menu li a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -15px;
  width: 0;
  height: 3px;
  background-color: #e53935;
  border-radius: 2px;
  transition: width 0.3s ease;
}

/* LÍNEA ACTIVA + HOVER */
.vam-menu li a:hover::after,
.vam-menu li.current-menu-item > a::after,
.vam-menu li.current_page_item > a::after {
  width: 100%;
}
/*Final Ajustes del MENU*/