/* =========================================
   Design System & Variáveis
========================================= */
:root {
    --color-light: #e3c1b4;
    --color-dark: #9C837F;
    --color-base: #F5E1D6;
    
    --color-white: #ffffff;
    --color-text: #4a4a4a; /* texto neutro para leitura */

    --font-heading: 'Balgin', sans-serif;
    --font-body: 'Greycliff', sans-serif;
    
    --transition-speed: 0.3s;
}

/* =========================================
   Reset & Base
========================================= */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-body);
    background-color: var(--color-base);
    color: var(--color-text);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--color-dark);
    font-weight: normal;
}

a {
    text-decoration: none;
    color: inherit;
}

ul {
    list-style: none;
}

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.text-center {
    text-align: center;
}

/* =========================================
   Componentes (Botões)
========================================= */
.cta-button {
    display: inline-block;
    padding: 12px 28px;
    border-radius: 30px;
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: bold;
    text-align: center;
    transition: all var(--transition-speed) ease;
    cursor: pointer;
    border: none;
}

.primary-btn {
    background-color: var(--color-dark);
    color: var(--color-white);
    box-shadow: 0 4px 15px rgba(156, 131, 127, 0.3);
}

.primary-btn:hover {
    background-color: #836e6b;
    transform: translateY(-2px);
}

.secondary-btn {
    background-color: var(--color-light);
    color: var(--color-dark);
}

.secondary-btn:hover {
    background-color: #d2ac9e;
}



/* =========================================
   Hero Section
========================================= */
.hero-section {
    position: relative;
    width: 100%;
    min-height: 100vh;
    display: flex;
    align-items: center;
    background-color: var(--color-light); /* fallback */
    background-image: url('./hero\ caroline\ desktop.png');
    background-size: cover;
    background-position: center right;
    background-repeat: no-repeat;
}

.hero-mobile-top {
    width: 100%;
    height: 100%;
}

.hero-mobile-bottom {
    display: none; /* Só aparece no mobile */
}

.hero-container {
    position: relative;
    z-index: 2;
}

/* =========================================
   Hero Text Content
========================================= */
.hero-text-content {
    margin-top: -80px; /* Sobe um pouco mais no desktop */
    padding-bottom: 20px;
    color: var(--color-white);
    max-width: 650px; /* Permite preencher um pouco mais no desktop */
    text-align: left;
}

.hero-h1 {
    font-family: var(--font-heading);
    font-size: 3.6rem; /* Aumentado */
    font-weight: 300;
    line-height: 1.05;
    margin-bottom: 25px;
    letter-spacing: -1.5px;
    color: #ffffff;
    text-shadow: 0 4px 15px rgba(0,0,0,0.08); /* Sombra super sutil para dar um toque premium e legibilidade */
}

.hero-badges {
    font-size: 0.75rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 15px;
    opacity: 0.9;
}

.hero-description {
    font-size: 1.25rem; /* Aumentado */
    font-weight: 300;
    line-height: 1.5;
    margin-bottom: 40px;
    opacity: 0.95;
    text-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.hero-btn {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    padding: 14px 30px; /* Botão um pouco mais imponente */
    border: 1.5px solid var(--color-white);
    background-color: transparent;
    color: var(--color-white);
    text-transform: lowercase;
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: bold;
    text-decoration: none;
    transition: all var(--transition-speed) ease;
    cursor: pointer;
}

.hero-btn span {
    font-size: 1.2rem;
    transition: transform var(--transition-speed) ease;
}

.hero-btn:hover {
    background-color: var(--color-white);
    color: var(--color-dark);
}

.hero-btn:hover span {
    transform: translateX(5px);
}

/* =========================================
   Responsividade (Mobile)
========================================= */

@media (max-width: 768px) {

    .hero-section {
        flex-direction: column;
        justify-content: flex-start;
        background-image: none; /* Remove fundo desktop no mobile */
        min-height: auto;
    }

    .hero-mobile-top {
        width: 100%;
        min-height: 60vh; /* Altura provisória para garantir o topo visível e acomodar textos depois */
        background-image: url('./mobile\ hero\ topo.png');
        background-position: top center;
        background-size: cover;
        background-repeat: no-repeat;
        position: relative;
        z-index: 2; /* Topo fica na frente */
        
        /* Aplica o fade na borda de baixo da imagem de topo com um alcance maior (80px) para máxima suavidade */
        -webkit-mask-image: linear-gradient(to top, transparent 0%, black 80px);
        mask-image: linear-gradient(to top, transparent 0%, black 80px);
    }

    .hero-mobile-bottom {
        display: block;
        width: 100%;
        min-height: 60vh; /* Altura para mostrar a foto dela */
        background-image: url('./mobile\ herro\ 2.png');
        background-size: cover;
        background-position: center top;
        background-repeat: no-repeat;
        
        position: relative;
        z-index: 1; /* Foto dela fica atrás da transição */
        margin-top: -60px; /* Desliza um pouco mais para debaixo do fade do topo para misturar perfeitamente */
    }

    .hero-h1 {
        font-size: 2.4rem; /* Reduzido no mobile para evitar sobreposição no botão */
        margin-bottom: 15px;
        letter-spacing: -1px;
    }
    
    .hero-description {
        font-size: 1.05rem; /* Reduzido no mobile */
        margin-bottom: 25px;
    }
    
    .hero-text-content {
        margin-top: 0;
        padding-top: 30px;
        max-width: 100%; /* Preenche mais a tela */
        padding-right: 15px; /* Evita que cole totalmente na direita, mas ocupa bem mais espaço */
    }
}
