/*
Theme Name: Hello Elementor Child
Description: Child Theme para INGEOCIM
Author: INGEOCIM
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/
body {
    background: #1a1a1a !important;
}
/* ================================
   BANNER INGEOCIM
   ================================ */
   a:active, a:hover {
    color: #FFFFFF !important;
}
p, li, strong {
   font-family: 'Manrope';
    font-weight: 100;
    font-size: 12px !important;
    color:white;
}

h2
{
    font-family: Michroma !important;
   color: white !important ;
    font-weight: 900 !important;
    font-size: 24px !important;
 
}
 strong {
    font-weight: 300;
    font-size: 12px;
}

.proyecto-hero {
    position: relative;
    overflow: hidden;
    max-height: 500px;
}

/* Capa gris/negra sobre la imagen */
.proyecto-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;

    background: linear-gradient(
        105deg,
        rgba(26, 26, 26, 0.92) 0%,
        rgba(26, 26, 26, 0.72) 55%,
        rgba(26, 26, 26, 0.48) 100% 
    )!important;
}

/* Cuadrícula técnica */
.proyecto-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    opacity: 0.035;
    background-image:
        linear-gradient(
            rgba(255, 255, 255, 1) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 1) 1px,
            transparent 1px
        );

    background-size: 80px 80px;
}

/* Línea roja lateral */
.proyecto-hero {
    border-left: 4px solid #bc2021;
}

/* Mantener el contenido por encima de las capas */
.proyecto-hero-contenido{
    position: relative;
    z-index: 3;
}
.proyecto-hero-contenido {
    position: absolute;
    overflow: hidden;
    display: flex;
    align-items: flex-start;
    color: white;
    flex-direction: column;
    width: 100%;
    height: 100%;
    align-content: flex-start;
    justify-content: flex-end;
    padding: 80px 135px;
}
.proyecto-hero-contenido > * {
    position: relative;
    z-index: 3;
}

.proyecto-hero-contenido h1 {
    font-family: 'Michroma'!important;
    text-transform: capitalize;
      font-size: 1.875rem;
}

p.proyecto-ubicacion {
    font-size: 22px;
    font-family:Manrope !important;
}

.proyecto-datos {
  display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1px;
    justify-content: center;
    row-gap: 30px;
}
  
.dato-proyecto {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    font-weight: 700;
    color: white;
    text-decoration: none;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-bottom: 1px solid transparent;
    padding-bottom: 1px;
    transition: border-color 0.15s ease;
    flex-direction: column;
    flex-wrap: nowrap;
    font-family: manrope;
    border-top: 0.5px solid #bc2021;
    padding: 30px 20px 10px;
    width: 30%;
    text-align: center;
    border-right: 0.5px solid #bc2021;
}
.proyecto-imagen-principal {
    width: 100%;
    height: 450px;
}
.proyecto-imagen-principal img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.proyecto-contenido {
    margin: 80px 135px;
}

.proyecto-descripcion {
    color: white;
    font-size: 12px;
    font-family: 'Manrope' !important;
    font-weight: 100;
}

span {
    font-size: 14px;
    font-family: michroma;
    font-weight:600;
}

p.proyecto-extracto {

    color: white;
    width: 70%;
    padding: 0 0 0 30px;
    border-left: 1px solid #bc2021;
}



.proyecto-antes-despues {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 20px;
    color: white;
    font-family: 'Michroma';
        width: 100%;
}
.avance-imagen {
    width: 50%;
}
.avance-imagen h3 {
    font-size: 18px;
}
img.imagen-proyecto {
    width: 100%;
    height: 400px;
    object-fit: cover;
    object-position: right;
}

.proyecto-contenido {
    margin: 80px 135px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap:50px;
}

.footer-inner {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap !important;
}

ul#menu-menu-footer {
    display: flex;
    flex-direction: column;
}


.site-footer .site-branding {
    display: flex;
    flex-direction: column !important;
    gap: .5rem;
    justify-content: flex-start !important;
    color: white;
     font-family: 'Michroma';
}
p.site-description.show {
    font-family: 'Manrope';
}
.aspectos-importantes-contenido {
    color: white;
    border-left: 1px solid #bc2021;
    padding-left: 20px;
}

.proyecto-aspectos {
    display: flex;
    gap: 20px;
    justify-content: flex-start;
    width: 100%;
    flex-direction: row;
    flex-wrap: nowrap;
}

.ingeocim-proyectos-grid {
    display: flex;
    gap: 1px;
    flex-direction: row;
    flex-wrap: wrap;
}
.proyecto-card {
    background: #1a1a1a !important;
    border: 0.1px solid #8d8d8d;
}


.proyecto-aspectos h2 {
    width: 40%;
}


h3 a {
    color: white;
    font-size: 12px;
    font-weight: 500;
    font-family: 'Michroma';
}
.proyecto-card-imagen {
    position: relative;
    display: block;
    width: 100%;
    max-height: 200px;
}

.proyecto-card-imagen img {
    display: block;
    width: 100%;
}

.proyecto-numero {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 10;
    color: #cdcdcd;
    font-size: 30px;
    font-family: 'Michroma';
    font-weight: 900;
}
.proyecto-ubicacion {
    color: #bc2021;
    font-size: 14px;
    font-weight: 100;
    font-family: manrope;
}

.proyecto-ver a {
    font-size: 14px;
    border: 1px solid #bc2021;
    padding: 10px;
}
span.proyecto-linea {
    border: 1px solid #bc2021;
    width: 20px;
}
.proyecto-card-contenido {
    padding: 30px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.proyecto-card-contenido h3 {
    line-height: 12px !important;
        height: 30px;
    
}
.proyecto-card-imagen {
    position: relative;
    display: block;
    width: 100%;
    height: 300px;
    overflow: hidden;
}

.proyecto-card-imagen img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    display: block;
    transition: filter 0.4s ease;
}

.proyecto-card-imagen:hover img {
    filter: grayscale(100%);
}
a.proyecto-ver {
    color: white;
    font-family'Manrope';
    font-size: 12px;
    padding: 10px 16px;
     width: 60%;
}
a.proyecto-ver:hover {
    color: #ffffff !important;
    background: #bc2021;
    width: 60%;
    padding: 10px 16px;
    border-radius: 5px;
}
button.e-button-base {
    padding: 10px 16px !important;
    border: 0px !important;
    border-radius:5px;
}

/*formulario*/

textarea.wpcf7-form-control.wpcf7-textarea {
    height: 100px;
}

form.wpcf7-form.init label {
       display: flex !important;
    flex-direction: column !important;
    gap: 5px;
    font-size:14px;
        font-size: 14px;
    font-family: manrope;
}

input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required {
    height: 30px;
}
.terminos-formulario span {
    font-size: 12px;
    font-family: manrope;
}
.terminos-formulario
label {
    width: 100%;
}
.terminos-formulario {
    display: flex;
}
.terminos-formulario p {
    width: 50%;
}



/*footer*/

.ingeocim-footer-main {
    display: flex;
    color: white;
    gap: 10px;
}
img.custom-logo {
    width: 200px !important;
}
footer.ingeocim-footer {
    background: #252525;
    padding: 50px 135px;
}

.ingeocim-footer-col ::marker {
    display: none;
    font-size: 0px;
}
.ingeocim-footer-col.ingeocim-footer-brand {
    width: 25%;
}

.ingeocim-footer-col.ingeocim-footer-brand {
    width: 25%;
    font-size: 12px;
    font-weight: 100;
    font-family: manrope;
}

.ingeocim-footer-col h3 {
    font-family: michroma;
    font-size: 14px;
 
}
ul#menu-footer-servicios {
    padding: 0;
}
ul#menu-footer-empresa {
    padding: 0;
}
.ingeocim-footer-col {
    padding: 0;
    width: 25%;
    font-size: 12px;
    font-family: manrope;
}
.ingeocim-footer-menu a {
    background-color: transparent;
    color: #e5e4e4;
    text-decoration: none;
}

span.contact-icon {
    font-size: 50px;
        color: #bc2021;
}

.ingeocim-footer-menu a:hover {
    color: #bc2021;
}
.ingeocim-contact-item p {
    margin-block-end: 0;
    margin-block-start: 0;
}
.ingeocim-contact-item {
    display: flex;
    column-gap: 10px;
    align-content: center !important;
    align-items: center;
        height: 40px;
}
span.contact-icon-tel {
    font-size: 25px;
        color: #bc2021 !important;
}
span.contact-icon-email {
    font-size: 30px;
       color: #bc2021 !important;
}
.ingeocim-contact-item a {
    color: white;
}

.ingeocim-footer-bottom {
    display: flex;
    align-content: center;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #747373;
        margin-top: 30px;
    padding-top: 20px;
        font-size: 12px;
    font-family: manrope;
}
.ingeocim-footer-bottom p {
    margin-bottom: 0px;
    color: white;
}

.ingeocim-footer-bottom a {
    color: white;
}
.ingeocim-footer-legal ::marker {
    font-size: 0px;
}

label.terminos-formulario{
    display: flex !important;
    flex-direction: row;
}

.terminos-formulario label {
    display: flex !important;
    flex-direction: row !important;
}
a.btn-conocer-proyectos
 {
    padding: 10px 16px;
    background: #bc2021;
    color: white;
    border-radius: 5px;
    width: 30%;
     font-size: 12px;
    font-family: 'Manrope';
    text-align: center;
 }
.elementor-shortcode {
    row-gap: 30px;
    display: flex;
    flex-direction: row;
    align-content: flex-end;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.terminos a:active, a:hover {
    color: #ffffff !important;
    font-size: 13px;
}

.site-navigation ul.menu li ul {
    background: #1a1a1a !important;

}
.site-navigation ul.menu li ul a {
    color: #ffffff !important;
    font-size: 8px;
    line-height: normal;
}
.internoproyectos {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
.internoproyectos .proyecto-card {
    width: 33%;
}
/* TABLET: 768px a 1024px */
@media (min-width: 768px) and (max-width: 1024px) {
    
footer.ingeocim-footer {
    background: #252525;
    padding: 50px;
}
a.proyecto-ver {
      width: 80%;
}

}


/* MÓVIL: hasta 767px */
@media (max-width: 767px) {
    .proyecto-contenido {
    margin: 50px;

}
    
    .proyecto-hero-contenido {
    padding: 50px;
}
    footer.ingeocim-footer {
        padding: 50px;
}
    .ingeocim-footer-main {
    flex-direction: row;
    flex-wrap: wrap;
}

.ingeocim-footer-col {
    width: 47%;
 }
.ingeocim-footer-col.ingeocim-footer-brand {
    width: 50%;

}
    .ingeocim-proyectos-grid {
        display: flex !important;
        gap: 1px !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center;
    }

.proyecto-card {

    width: 49%;
}
.elementor-shortcode {
    justify-content: center;
}
.proyecto-card-contenido h3 {
    height: auto;
}
.site-navigation-dropdown ul.menu li a {
    background: #1a1a1a !important;
    color: #ffffff !important;
   
}

}

/* MÓVIL: hasta 520px */
@media (max-width: 520px) {
    p.proyecto-extracto {
    font-size: 14px;
    width: 100%;
    padding: 0 0 0 0px;

}
p.proyecto-ubicacion {
    font-size: 18px;
  
}
.proyecto-hero-contenido h1 {

    font-size: 24px;
}
.proyecto-contenido {
    margin: 50px 20px;
}
.proyecto-aspectos {
    display: flex;
    gap: 20px;
    flex-direction: column;

}
.proyecto-antes-despues {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
 
}
.avance-imagen {
    width: 100%;
}

img.imagen-proyecto {
        width: 100%;
        height: auto;
        object-fit: contain;
    }
.dato-proyecto {
    width: 49%;
   }
        .ingeocim-footer-col {
        width: 100%;
    }

article.proyecto-card {
    width: 100%;
}
.proyecto-card-contenido h3 {
    height: auto;
}
.ingeocim-footer-col.ingeocim-footer-brand {
        width: 100%;
    }
    .ingeocim-footer-col.ingeocim-footer-contact {
    width: 100%;
}
.ingeocim-footer-bottom {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    text-align: left;
}
}

@media (max-width: 420px) {

    .proyecto-hero-contenido {
        padding: 20px;
    }

    .dato-proyecto {
        width: 100%;
        padding: 10px;
    }
}





