/* 
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
*/

/* Add your custom styles here */

/* Slide In From The Top Option */

.header-2 {
 transform: translatey(-80px);
 -moz-transition: all .3s ease!important;
 -webkit-transition: all .3s ease!important;
 transition: all .3s ease!important;
}


.elementor-sticky--effects.header-2  {
 height: auto!important;
 transform: translatey(0px);
}

.elementor-sticky--effects.header-1 {
 display: none!important;
}

/* End Of Slide In From The Top Option */


/* ================================
   FONTES – MONTSERRAT
================================ */

.card-grid-container,
.card-grid-item,
.card-grid-title,
.card-grid-description {
    font-family: 'Montserrat', sans-serif;
}

/* ================================
   AJUSTES TIPOGRÁFICOS
================================ */

.card-grid-title {
    font-weight: 700;
    letter-spacing: 0.5px;
}

.card-grid-description {
    font-weight: 400;
}



/* ================================
   CARD GRID – AJUSTES VISUAIS
================================ */

.card-grid-container {
    display: flex;
    flex-direction: column;
    gap: 40px; /* espaço ENTRE os cards */
    width: 100%;
    padding: 20px 0;
}

/* ================================
   CARD
================================ */

.card-grid-item {
    display: flex;
    align-items: center;
    gap: 40px;
    padding: 20px;              /* padding interno */
    background-color: #F2F2F2;  /* fundo do card */
    border-radius: 8px;
}

/* alternância esquerda / direita */
.card-grid-item:nth-child(even) {
    flex-direction: row-reverse;
}

/* ================================
   IMAGEM
================================ */

.card-grid-image {
    width: 45%;
}

.card-grid-image img {
    width: 100%;
    height: 400px;
    display: block;
    border-radius: 8px;
    object-fit: cover;
    object-position: center;
}

/* ================================
   TEXTO
================================ */

.card-grid-text {
    width: 55%;
	padding: 50px;
}

.card-grid-title {
    color: #000;
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.card-grid-description {
    color: #444;
    font-size: 16px;
    line-height: 1.6;
}

/* ================================
   TABLET + MOBILE
================================ */

@media (max-width: 1024px) {

    .card-grid-item,
    .card-grid-item:nth-child(even) {
        flex-direction: column; /* imagem em cima, texto embaixo */
        gap: 20px;
    }

    .card-grid-image,
    .card-grid-text {
        width: 100%; /* ocupa toda a largura */
    }
	
	.card-grid-text {   
		padding: 30px;
}

    .card-grid-image img {
        width: 100%;
        height: 380px; /* altura controlada para tablet */
    }
}

/* ================================
   MOBILE (AJUSTES FINOS)
================================ */

@media (max-width: 768px) {

    .card-grid-container {
        gap: 24px;
    }

    .card-grid-item {
        padding: 20px;
    }
	.card-grid-text {   
		padding: 20px;
}

    .card-grid-image img {
        height: 220px; /* menor no mobile */
    }

    .card-grid-title {
        font-size: 20px;
    }

    .card-grid-description {
        font-size: 14px;
    }
}
