/* =========================================================
   Kids Page - Hero Section
   ========================================================= */
.kids-hero {
    position: relative;
    height: 100vh;
    min-height: 600px;
    width: 100%;
    overflow: hidden;
    display: flex;
    align-items: center; /* Centraliza verticalmente */
    background-color: var(--dark-navy, #1a2a3a); 
}

/* --- Background com Efeito "Joyful Pan" --- */
.kids-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: left center; /* Inicia focando mais na esquerda */
    z-index: 1;
    /* Panorâmica lenta e um micro-zoom para dar vida */
    animation: joyfulPan 18s ease-out forwards;
}

@keyframes joyfulPan {
    0% { transform: scale(1.05) translateX(0); }
    100% { transform: scale(1) translateX(-2%); } /* Desliza sutilmente para a direita */
}

/* --- Máscara (Scrim) Direita --- */
.kids-hero-scrim {
    position: absolute;
    inset: 0;
    /* Gradiente linear vindo da DIREITA para a ESQUERDA. 
       Escurece a área do desfoque na arte, mas mantém o rosto da menina iluminado. */
    background: linear-gradient(to left, rgba(15, 20, 15, 0.9) 0%, rgba(15, 20, 15, 0.6) 45%, rgba(15, 20, 15, 0) 100%);
    z-index: 2;
}

/* --- Container e Textos --- */
.kids-hero-container {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: var(--container-max, 1200px);
    margin: 0 auto;
    padding: 0 40px; /* Um pouco mais de margem lateral para respirar */
    display: flex;
    justify-content: flex-end; /* Empurra todo o bloco de conteúdo para a direita */
}

.kids-hero-content {
    max-width: 550px;
    text-align: right; /* Alinha os textos à direita como no design */
}

.kids-hero-title {
    font-family: var(--font-display), 'Montreal', sans-serif;
    font-size: clamp(2.5rem, 4.5vw, 4rem);
    font-weight: 500;
    color: #f1ede6; /* Tom levemente quente e claro */
    line-height: 1.1;
    letter-spacing: 0.03em;
    margin-bottom: 1.2rem;
    text-shadow: 0 4px 15px rgba(0,0,0,0.6);
}

.kids-hero-text {
    font-family: var(--font-body), 'Google Sans', sans-serif;
    font-size: clamp(1.05rem, 1.3vw, 1.2rem);
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.6;
    margin: 0;
    text-shadow: 0 2px 8px rgba(0,0,0,0.7);
}

/* Animação personalizada de entrada (Slide-in lateral da direita) */
.kids-hero-content .reveal-on-scroll {
    opacity: 0;
    transform: translateX(40px); /* Entra vindo da direita */
    transition: opacity 1.2s ease-out, transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.kids-hero-content .reveal-on-scroll.revealed {
    opacity: 1;
    transform: translateX(0);
}

/* =========================================================
   Responsividade (Telas Menores)
   ========================================================= */
@media (max-width: 992px) {
    .kids-hero-scrim {
        background: linear-gradient(to left, rgba(15, 20, 15, 0.95) 0%, rgba(15, 20, 15, 0.8) 55%, rgba(15, 20, 15, 0) 100%);
    }
    
    .kids-hero-text br {
        display: none; /* Deixa o texto fluir no tablet */
    }
}

@media (max-width: 768px) {
    .kids-hero {
        align-items: flex-end; /* Desce o texto para baixo da menina */
        padding-bottom: 80px;
    }

    .kids-hero-bg {
        background-position: 60% center; /* Ajusta o foco no mobile */
    }

    .kids-hero-scrim {
        /* Inverte o gradiente: agora vem de baixo para cima para o mobile */
        background: linear-gradient(to bottom, rgba(15, 20, 15, 0) 0%, rgba(15, 20, 15, 0.6) 40%, rgba(15, 20, 15, 0.95) 100%);
    }

    .kids-hero-container {
        justify-content: center; /* Centraliza o bloco no celular */
        padding: 0 20px;
    }

    .kids-hero-content {
        max-width: 100%;
        text-align: center; /* Centraliza o texto no celular para melhor leitura */
    }

    /* Muda a animação de entrada para subir (slide-up) no celular */
    .kids-hero-content .reveal-on-scroll {
        transform: translateY(30px);
    }
    .kids-hero-content .reveal-on-scroll.revealed {
        transform: translateY(0);
    }
}

/* =========================================================
   Kids Page - Retreat Section (Sessão 2)
   ========================================================= */
.kids-retreat {
    background-color: var(--site-bg, #F8F8F7);
    padding-top: 100px;
    padding-bottom: 100px; /* Respiro abaixo da galeria */
    overflow: hidden;
}

.kids-retreat-container {
    max-width: var(--container-max, 1200px);
    margin: 0 auto;
    padding: 0 20px;
}

/* --- Área de Textos --- */
.kids-retreat-text {
    max-width: 900px;
    margin: 0 auto 70px auto;
    text-align: center;
}

.kids-retreat-text h2 {
    font-family: var(--font-display), 'Montreal', sans-serif;
    font-size: clamp(1.8rem, 2.8vw, 2.4rem);
    color: var(--primary-brown-dark, #412f22);
    font-weight: 500;
    line-height: 1.3;
    margin-bottom: 2rem;
    letter-spacing: -0.01em;
}

.kids-retreat-text p {
    font-family: var(--font-body), 'Google Sans', sans-serif;
    font-size: clamp(1.05rem, 1.2vw, 1.15rem);
    color: #4a4a4a;
    line-height: 1.7;
    margin-bottom: 1.5rem;
}

.kids-retreat-text p:last-child {
    margin-bottom: 0;
}

/* --- Galeria Interativa (Playful Reveal) --- */
.kids-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 colunas iguais */
    gap: 0; /* Fotos coladas */
    width: 100%;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

.kids-gallery-item {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    aspect-ratio: 4 / 5; /* Proporção de retrato idêntica à arte */
}

.kids-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* O Overlay com os Textos Escondidos */
.kids-gallery-overlay {
    position: absolute;
    inset: 0;
    /* Fundo quente translúcido para combinar com o tom das fotos */
    background-color: rgba(65, 47, 34, 0.75); 
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.kids-gallery-overlay span {
    color: #fff;
    font-family: var(--font-display), 'Montreal', sans-serif;
    font-size: clamp(1.2rem, 1.8vw, 1.5rem);
    font-weight: 500;
    letter-spacing: 0.1em;
    transform: translateY(20px); /* Texto começa um pouco para baixo */
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* A Interação de Hover */
.kids-gallery-item:hover img {
    transform: scale(1.1); /* Zoom na foto */
}

.kids-gallery-item:hover .kids-gallery-overlay {
    opacity: 1; /* Revela a cor */
}

.kids-gallery-item:hover .kids-gallery-overlay span {
    transform: translateY(0); /* O texto "pula" pra cima revelando */
}

/* =========================================================
   Responsividade (Telas Menores)
   ========================================================= */
@media (max-width: 992px) {
    .kids-retreat {
        padding-top: 80px;
        padding-bottom: 80px;
    }
    
    .kids-retreat-text {
        margin-bottom: 50px;
    }
}

@media (max-width: 768px) {
    .kids-gallery {
        grid-template-columns: 1fr; /* Empilha as fotos no celular */
    }
    
    .kids-gallery-item {
        aspect-ratio: 16 / 10; /* Deixa as fotos mais deitadas no celular para não ficar enorme */
    }

    /* Adaptação Touch: Revela o texto automaticamente num degradê charmoso */
    .kids-gallery-overlay {
        opacity: 1;
        background: linear-gradient(to top, rgba(65, 47, 34, 0.8) 0%, rgba(65, 47, 34, 0) 50%);
        align-items: flex-end;
        padding-bottom: 20px;
    }
    
    .kids-gallery-overlay span {
        transform: translateY(0);
        font-size: 1.1rem;
    }
}

/* =========================================================
   Kids Page - Beautiful Fruits Section (Sessão 3)
   ========================================================= */
.kids-fruits {
    position: relative;
    width: 100%;
    min-height: 80vh; /* Altura imersiva */
    display: flex;
    align-items: center; /* Centraliza o texto verticalmente */
    background-color: var(--dark-navy, #1a2a3a);
    overflow: hidden;
}

/* --- Background com Efeito Parallax --- */
.kids-fruits-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center left; /* Mantém o foco no rosto da criança à esquerda */
    /* O SEGREDO DO PARALLAX */
    background-attachment: fixed; 
    z-index: 1;
}

/* --- Máscara (Scrim) Direcional --- */
.kids-fruits-scrim {
    position: absolute;
    inset: 0;
    /* Gradiente escuro vindo da direita, apagando suavemente na esquerda */
    background: linear-gradient(to left, rgba(20, 15, 10, 0.95) 0%, rgba(20, 15, 10, 0.7) 50%, rgba(20, 15, 10, 0) 100%);
    z-index: 2;
}

/* --- Container e Textos --- */
.kids-fruits-container {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: var(--container-max, 1200px);
    margin: 0 auto;
    padding: 100px 40px; /* Respiro interno */
    display: flex;
    justify-content: flex-end; /* Empurra o bloco de texto para a direita */
}

.kids-fruits-text {
    max-width: 650px;
    text-align: right;
    color: #ffffff;
}

.kids-fruits-text p {
    font-family: var(--font-body), 'Google Sans', sans-serif;
    font-size: clamp(1.05rem, 1.25vw, 1.2rem);
    line-height: 1.6;
    margin-bottom: 2rem;
    color: rgba(255, 255, 255, 0.95);
    text-shadow: 0 2px 8px rgba(0,0,0,0.6); /* Garante leitura perfeita */
}

.kids-fruits-text p:last-child {
    margin-bottom: 0;
}

/* Animação personalizada (Slide-in Right) */
.kids-fruits-text .reveal-on-scroll {
    opacity: 0;
    transform: translateX(40px); /* Vem da direita */
    transition: opacity 1s ease-out, transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.kids-fruits-text .reveal-on-scroll.revealed {
    opacity: 1;
    transform: translateX(0);
}

/* =========================================================
   Responsividade (Telas Menores)
   ========================================================= */
@media (max-width: 992px) {
    .kids-fruits-scrim {
        /* Estica a área escura no tablet para o texto não invadir a parte clara */
        background: linear-gradient(to left, rgba(20, 15, 10, 0.95) 0%, rgba(20, 15, 10, 0.85) 60%, rgba(20, 15, 10, 0) 100%);
    }
    
    .kids-fruits-text p br {
        display: none; /* Deixa o texto quebrar naturalmente */
    }
}

@media (max-width: 768px) {
    .kids-fruits {
        min-height: 65vh;
        align-items: flex-end; /* Joga o texto para baixo para mostrar a imagem */
    }

    .kids-fruits-bg {
        /* Desliga o parallax no mobile para evitar bugs visuais no iOS */
        background-attachment: scroll; 
        background-position: 40% center; 
    }

    .kids-fruits-scrim {
        /* Inverte o gradiente: vem de baixo para cima no mobile */
        background: linear-gradient(to bottom, rgba(20, 15, 10, 0) 0%, rgba(20, 15, 10, 0.6) 40%, rgba(20, 15, 10, 0.95) 100%);
    }

    .kids-fruits-container {
        justify-content: center;
        padding: 60px 20px 80px 20px;
    }

    .kids-fruits-text {
        max-width: 100%;
        text-align: center; /* Centraliza no celular */
    }

    /* Muda a entrada da animação no celular para subir (Slide-up) */
    .kids-fruits-text .reveal-on-scroll {
        transform: translateY(30px);
    }
    .kids-fruits-text .reveal-on-scroll.revealed {
        transform: translateY(0);
    }
}