/* ============================================================
   Módulo Especial — Credenciamento Espaço Reservado
   Paleta própria: azul-claro, verde-água, areia, acento coral/dourado
   ============================================================ */

.livreto {
    --lv-azul: #cfe8f5;
    --lv-azul-forte: #7ec4e0;
    --lv-agua: #d5f0e6;
    --lv-agua-forte: #6bc9ab;
    --lv-areia: #f3ead9;
    --lv-coral: #ef8b6f;
    --lv-dourado: #e0a458;
    --lv-texto: #2a3a4a;
    --lv-texto-suave: #5b6b78;
    --lv-branco: #fffdf9;
    background: linear-gradient(180deg, #fdfbf6 0%, #f6f9f7 100%);
}

.livreto .lv-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--lv-agua-forte);
}
.livreto .lv-eyebrow .lv-dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--lv-coral);
    display: inline-block;
}

.livreto h1.lv-title, .livreto h2.lv-title {
    font-family: 'Fraunces', serif;
    color: var(--lv-texto);
    font-weight: 600;
}

.livreto .lv-page-num {
    font-family: 'Fraunces', serif;
    font-size: 15px;
    font-weight: 600;
    color: var(--lv-azul-forte);
    letter-spacing: 2px;
    margin-bottom: 14px;
    display: block;
}

/* ---- Hero / Capa ---- */
.lv-hero {
    position: relative;
    padding: 90px 0 70px;
    background: radial-gradient(120% 100% at 80% 0%, var(--lv-agua) 0%, transparent 60%),
                radial-gradient(90% 80% at 10% 100%, var(--lv-azul) 0%, transparent 55%),
                var(--lv-branco);
    overflow: hidden;
    border-bottom: 1px solid #eef3f0;
}
.lv-hero img { max-width: 100%; height: auto; }
.lv-hero h1.lv-title { font-size: clamp(2rem, 4vw, 3.1rem); line-height: 1.15; }
.lv-hero .lv-sub { color: var(--lv-texto-suave); font-size: 1.15rem; line-height: 1.7; }

/* ---- Section shell ---- */
.lv-section {
    padding: 80px 0;
    position: relative;
}
.lv-section + .lv-section {
    border-top: 1px solid rgba(0,0,0,0.035);
}
.lv-section .lv-heading {
    font-size: clamp(1.5rem, 2.6vw, 2.1rem);
}
.lv-section p.lv-body {
    color: var(--lv-texto-suave);
    font-size: 1.06rem;
    line-height: 1.85;
}
.lv-section p.lv-body strong { color: var(--lv-texto); }

/* alternating tint backgrounds, soft, not full saturation */
.lv-tint-agua   { background: linear-gradient(180deg, var(--lv-agua) 0%, rgba(213,240,230,0.25) 100%); }
.lv-tint-azul   { background: linear-gradient(180deg, var(--lv-azul) 0%, rgba(207,232,245,0.25) 100%); }
.lv-tint-areia  { background: linear-gradient(180deg, var(--lv-areia) 0%, rgba(243,234,217,0.25) 100%); }
.lv-tint-branco { background: var(--lv-branco); }

/* Page 2 — "o problema" — intentionally desaturated for emotional contrast */
.lv-problema {
    background: #eceeef;
}
.lv-problema .lv-heading, .lv-problema p.lv-body strong { color: #3a4650; }
.lv-problema p.lv-body { color: #6b7680; }
.lv-problema .lv-illustration svg { filter: grayscale(1) opacity(0.85); }

/* ---- Illustration frame ---- */
.lv-illustration {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.lv-illustration svg { width: 100%; max-width: 340px; height: auto; }

/* ---- CTA final ---- */
.lv-cta {
    background: linear-gradient(135deg, var(--lv-azul) 0%, var(--lv-agua) 100%);
    padding: 90px 0;
    text-align: center;
}
.lv-cta h2 { font-family: 'Fraunces', serif; font-size: clamp(1.6rem, 3vw, 2.4rem); color: var(--lv-texto); }
.lv-cta p { color: var(--lv-texto-suave); font-size: 1.1rem; max-width: 640px; margin: 0 auto 30px; }
.lv-btn-coral {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, var(--lv-coral) 0%, #e17a5c 100%);
    color: #fff !important;
    font-weight: 700;
    padding: 14px 34px;
    border-radius: 40px;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.6px;
    box-shadow: 0 8px 24px rgba(239,139,111,0.35);
    transition: all 0.3s ease;
}
.lv-btn-coral:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(239,139,111,0.45); color:#fff; }

/* ---- Scroll reveal ---- */
.lv-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.lv-reveal.lv-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ---- Gauge widget (section 5) ---- */
.lv-gauge-wrap {
    background: #fff;
    border-radius: 16px;
    padding: 26px 30px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}
.lv-gauge-bar {
    height: 14px;
    border-radius: 8px;
    background: #eef2f1;
    overflow: hidden;
    margin: 10px 0 6px;
}
.lv-gauge-fill {
    height: 100%;
    width: 25%;
    border-radius: 8px;
    background: linear-gradient(90deg, var(--lv-agua-forte), var(--lv-azul-forte));
}

@media (max-width: 991px) {
    .lv-section { padding: 56px 0; }
    .lv-hero { padding: 60px 0 40px; }
}
