/*
Theme Name:   Hello Elementor Child
Template:     hello-elementor
Version:      1.0
Description:  Tema filho para Hello Elementor - Jardins da Praia
Text Domain:  hello-child
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800&family=Open+Sans:wght@300;400;600&display=swap');

/* ========================
   GLOBAL
======================== */
*, *::before, *::after { box-sizing: border-box; }

body {
    font-family: 'Open Sans', sans-serif;
    color: #444444;
    line-height: 1.7;
    margin: 0;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif;
}

a { color: #4DBDBD; text-decoration: none; }
a:hover { color: #3aa8a8; }

/* ========================
   HEADER — suporte aos dois templates do Hello Elementor
   (dynamic-header tem .header-inner, header simples não tem)
======================== */
#site-header.site-header {
    background-color: transparent !important;
    position: absolute !important;
    top: 0; left: 0; right: 0; width: 100%;
    z-index: 9999;
    padding: 0 !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

/* ── dynamic-header: usa .header-inner ── */
#site-header .header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 22px 50px !important;
    width: 100%;
    max-width: 100%;
}

/* ── header simples: sem .header-inner — o próprio #site-header é flex ── */
#site-header:not(:has(.header-inner)) {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 22px 50px !important;
}

/* Branding */
#site-header .site-branding {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0;
}

/* Título */
#site-header .site-branding .site-title a {
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 17px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap;
}

/* Ocultar tagline */
#site-header .site-description {
    display: none !important;
}

/* ── Navegação ── */
#site-header .site-navigation {
    flex-shrink: 0;
}

#site-header .site-navigation ul,
#site-header .site-navigation > ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 26px !important;
}

#site-header .site-navigation ul li { margin: 0 !important; }

#site-header .site-navigation ul li a {
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    text-decoration: none !important;
    transition: color 0.3s ease;
    white-space: nowrap;
}

#site-header .site-navigation ul li a:hover {
    color: #4DBDBD !important;
}

/* Último item = botão CTA (Fale conosco) */
#site-header .site-navigation ul li:last-child a {
    background-color: #4DBDBD !important;
    color: #ffffff !important;
    padding: 9px 24px !important;
    border-radius: 30px !important;
    font-weight: 600 !important;
}

#site-header .site-navigation ul li:last-child a:hover {
    background-color: #3aa8a8 !important;
    color: #ffffff !important;
}

/* ========================
   ELEMENTOR - GLOBAL
======================== */
.elementor-section.elementor-section-full_width {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ========================
   PACOTES - CARDS COM OVERLAY
======================== */

/* Altura mínima igual para todos os cards */
.elementor-element-sec_pkg_cards .elementor-column.pkg-card {
    min-height: 420px !important;
}

.elementor-element-sec_pkg_cards .elementor-column.pkg-card > .elementor-column-wrap {
    min-height: 420px !important;
    align-items: stretch !important;
}

/* Conteúdo sempre na base do card */
.elementor-element-sec_pkg_cards .elementor-column.pkg-card .elementor-widget-wrap {
    min-height: 420px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    padding: 0 18px 28px !important;
}

.pkg-card {
    position: relative;
    border-radius: 14px !important;
    overflow: hidden;
    background-size: cover !important;
    background-position: center center !important;
}

/* Gradiente escuro na base para legibilidade */
.pkg-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0,0,0,0.78) 0%,
        rgba(0,0,0,0.30) 50%,
        rgba(0,0,0,0.05) 100%
    );
    z-index: 0;
    border-radius: 14px;
}

.pkg-card .elementor-widget-wrap { position: relative; z-index: 1; }

/* ========================
   GALERIA — altura uniforme
======================== */
/* Aplica SOMENTE nas imagens da seção de galeria */
.elementor-element-sec_gallery .elementor-widget-image img {
    width: 100% !important;
    height: 250px !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 10px;
}

/* Imagem da seção Sobre — altura natural */
.elementor-element-col_about_img .elementor-widget-image img {
    width: 100% !important;
    height: auto !important;
    max-height: 420px !important;
    object-fit: cover !important;
    border-radius: 18px !important;
}

/* ========================
   RESPONSIVE
======================== */
@media (max-width: 1024px) {
    .site-header { padding: 15px 25px !important; }
}

@media (max-width: 768px) {
    #site-header.site-header {
        position: relative !important;
        background-color: #1a3a2e !important;
    }
    #site-header .header-inner {
        flex-direction: column !important;
        padding: 15px 20px !important;
        gap: 12px;
    }
    #site-header .site-navigation ul {
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 12px !important;
    }
}
