/* ProLutas institutional pages — Sobre, Planos, Contato and Legal */
.public-page-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 620px;
    padding: 164px 0 100px;
    display: flex;
    align-items: center;
    background-color: #11181c !important;
    background-position: center 38% !important;
    background-size: cover !important;
    color: #fff;
}
.public-page-hero.about-page-hero {
    min-height: 100vh;
    min-height: 100svh;
    min-height: 100dvh;
}
.about-page-hero,
.contact-page-hero,
.legal-page-hero {
    background-image: linear-gradient(90deg, rgba(6,10,12,.95), rgba(6,10,12,.76) 40%, rgba(6,10,12,.2) 76%), url('/assets/img/hero-fighter.png') !important;
}
.plans-page-hero,
.privacy-page-hero {
    background-image: linear-gradient(90deg, rgba(6,10,12,.92), rgba(6,10,12,.68) 48%, rgba(6,10,12,.22)), url('/assets/img/hero.png') !important;
}
.public-page-hero::after { content: ''; position: absolute; z-index: -1; inset: auto 0 0; height: 150px; background: linear-gradient(transparent, rgba(8,12,14,.64)) !important; }
.public-page-hero .container { z-index: 1; }
.public-page-hero .hero-badge { background: rgba(8,12,14,.68) !important; border-color: rgba(230,55,79,.45) !important; color: #ff5a70 !important; }
.public-page-hero h1 { color: #fff !important; -webkit-text-fill-color: #fff !important; }
.public-page-hero h1 span { color: #e6374f !important; -webkit-text-fill-color: #e6374f !important; }
.public-page-hero p { color: rgba(255,255,255,.78) !important; }
.public-page-hero .btn-outline-red { background: rgba(8,12,14,.5) !important; color: #fff !important; }
.public-page-hero .pricing-assurance span { background: rgba(17,24,28,.82) !important; border-color: rgba(255,255,255,.16) !important; color: rgba(255,255,255,.78) !important; box-shadow: none; }

.public-section-heading h2,
.about-purpose-intro h2,
.plans-faq-layout h2,
.contact-context h2 { color: #182026 !important; -webkit-text-fill-color: #182026 !important; }
.public-section-heading p,
.about-purpose-intro p,
.plans-faq-layout > div:first-child > p,
.contact-context > p { color: #5d6972 !important; }

/* Sobre */
.about-hero-notes { border-color: rgba(255,255,255,.15) !important; }
.about-hero-notes span { color: rgba(255,255,255,.72) !important; }
.about-purpose-section { background: #fff !important; color: #182026 !important; }
.about-purpose-intro { border-color: #e1e6ea !important; }
.about-pillars-grid { background: #fff !important; border-color: #e1e6ea !important; box-shadow: 0 12px 32px rgba(17,24,28,.08) !important; }
.about-pillars-grid article { border-color: #e1e6ea !important; }
.about-pillars-grid article > span { color: #a4adb4 !important; }
.about-pillars-grid article > i { background: #fff1f3 !important; color: #c8102e !important; }
.about-pillars-grid h3 { color: #182026 !important; }
.about-pillars-grid p { color: #5d6972 !important; }
.about-principles-section { background: #f4f6f8 !important; color: #182026 !important; }
.about-principles-grid article { background: #fff !important; border-color: #e1e6ea !important; box-shadow: 0 4px 14px rgba(17,24,28,.05) !important; }
.about-principles-grid article > i { background: #fff1f3 !important; color: #c8102e !important; }
.about-principles-grid h3 { color: #182026 !important; }
.about-principles-grid p { color: #5d6972 !important; }
.about-audience-section { background: #fff !important; }
.about-audience-grid article { background: #f8fafb !important; border-color: #e1e6ea !important; box-shadow: 0 4px 14px rgba(17,24,28,.04) !important; }
.about-commitment-section { background: #f4f6f8 !important; border-color: #e1e6ea !important; }
.about-commitment-inner h2 { color: #182026 !important; }
.about-commitment-inner p,
.about-commitment-inner li { color: #5d6972 !important; border-color: #e1e6ea !important; }

/* Planos */
.plans-catalog-section { background: #fff !important; }
.plans-catalog-section .pricing-card,
.plans-catalog-section .pricing-federation { background: #fff !important; border-color: #e1e6ea !important; color: #182026 !important; box-shadow: 0 10px 28px rgba(17,24,28,.08) !important; }
.plans-catalog-section .pricing-popular,
.plans-catalog-section .pricing-federation { border-color: #c8102e !important; box-shadow: 0 14px 34px rgba(200,16,46,.1) !important; }
.plans-catalog-section .pricing-audience { color: #7c8790 !important; }
.plans-catalog-section .pricing-name,
.plans-catalog-section .pricing-federation .pricing-name { color: #c8102e !important; }
.plans-catalog-section .pricing-description,
.plans-catalog-section .pricing-period,
.plans-catalog-section .pricing-features li { color: #5d6972 !important; }
.plans-catalog-section .pricing-price { color: #182026 !important; }
.plans-catalog-section .pricing-trial { background: #fff1f3 !important; color: #5d6972 !important; }
.plans-catalog-section .pricing-extra { border-color: #e1e6ea !important; }
.plans-catalog-section .pricing-extra summary { color: #c8102e !important; }
.plans-guide-section { background: #f4f6f8 !important; color: #182026 !important; }
.plans-guide-grid { background: #fff !important; border-color: #e1e6ea !important; box-shadow: 0 8px 24px rgba(17,24,28,.06); }
.plans-guide-grid article { border-color: #e1e6ea !important; }
.plans-faq-section { background: #fff !important; }
.plans-faq-list { border-color: #e1e6ea !important; }
.plans-faq-list details { border-color: #e1e6ea !important; }
.plans-faq-list summary { color: #182026 !important; }
.plans-faq-list details p { color: #5d6972 !important; }
.plans-faq-section .public-text-link { color: #c8102e !important; }

/* Contato */
.contact-main-section { background: #f4f6f8 !important; border-color: #e1e6ea !important; }
.contact-context { padding: 28px; border: 1px solid #e1e6ea; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(17,24,28,.06); }
.contact-email-card { background: #f8fafb !important; border-color: #e1e6ea !important; color: #182026 !important; }
.contact-email-card:hover { background: #fff1f3 !important; border-color: #efb4be !important; color: #182026 !important; }
.contact-email-card span { color: #7c8790 !important; }
.contact-email-card strong { color: #182026 !important; }
.contact-topics { border-color: #e1e6ea !important; }
.contact-topics > div { border-color: #e1e6ea !important; }
.contact-topics strong { color: #182026 !important; }
.contact-topics span { color: #5d6972 !important; }
.contact-form-panel { background: #fff !important; border-color: #e1e6ea !important; box-shadow: 0 16px 40px rgba(17,24,28,.1) !important; }
.contact-form-heading { border-color: #e1e6ea !important; }
.contact-form-heading h2 { color: #182026 !important; }
.contact-field label { color: #344049 !important; }
.contact-input-wrap > i { color: #8a949c !important; }
.contact-input-wrap input,
.contact-input-wrap textarea { background: #f8fafb !important; border-color: #cdd4da !important; color: #182026 !important; }
.contact-input-wrap input::placeholder,
.contact-input-wrap textarea::placeholder { color: #8a949c !important; }
.contact-input-wrap input:focus,
.contact-input-wrap textarea:focus { background: #fff !important; border-color: #c8102e !important; box-shadow: 0 0 0 3px rgba(200,16,46,.1) !important; }
.contact-form-footer p { color: #66717a !important; }
.contact-next-section { background: #fff !important; border-top: 1px solid #e1e6ea; }
.contact-next-inner h2 { color: #182026 !important; }

/* Termos e Privacidade */
.legal-page-hero { min-height: 430px; padding: 130px 0 78px; }
.legal-content-section { padding: 80px 0 96px; background: #f4f6f8 !important; color: #182026 !important; }
.legal-sidebar-card { background: #fff !important; border: 1px solid #e1e6ea !important; box-shadow: 0 8px 24px rgba(17,24,28,.07) !important; }
.legal-sidebar-card h5 { color: #182026 !important; border-color: #e1e6ea !important; }
.legal-menu-link { color: #5d6972 !important; border-color: transparent !important; }
.legal-menu-link:hover { background: #f8fafb !important; color: #c8102e !important; }
.legal-menu-link.active { background: #fff1f3 !important; color: #c8102e !important; border-left-color: #c8102e !important; }
.legal-menu-link span { background: #eef1f4 !important; color: #66717a !important; }
.legal-menu-link.active span { background: #c8102e !important; color: #fff !important; }
.legal-card { margin-bottom: 18px; padding: 30px; background: #fff !important; border: 1px solid #e1e6ea !important; border-radius: 14px !important; box-shadow: 0 5px 18px rgba(17,24,28,.05) !important; }
.legal-card:hover { border-color: #efb4be !important; box-shadow: 0 10px 28px rgba(17,24,28,.08) !important; }
.legal-card .legal-section-header { border-color: #e1e6ea !important; }
.legal-card h3,
.legal-section-header h3 { color: #182026 !important; }
.legal-card p,
.legal-section p { color: #5d6972 !important; }
ul.legal-list li { color: #5d6972 !important; border-color: #eef1f4 !important; }
ul.legal-list li strong { color: #27323a !important; }
.security-badge-card { background: #f8fafb !important; border-color: #e1e6ea !important; }
.security-badge-card strong { color: #182026 !important; }
.security-badge-card span { color: #66717a !important; }
.legal-updated { color: #7c8790 !important; border-color: #e1e6ea !important; }

/* Shared dark conversion close */
.about-final-cta,
.plans-final-cta { background: #11181c !important; }
.about-final-cta h2,
.plans-final-cta h2 { color: #fff !important; -webkit-text-fill-color: #fff !important; }
.about-final-cta p,
.plans-final-cta p { color: rgba(255,255,255,.7) !important; }

@media (max-width: 991.98px) {
    .public-page-hero { min-height: auto; padding: 138px 0 88px; }
    .contact-layout,
    .plans-faq-layout { gap: 36px !important; }
}
@media (max-width: 767.98px) {
    .public-page-hero { background-position: 58% center !important; }
    .about-pillars-grid,
    .plans-guide-grid { border-radius: 14px !important; }
    .about-pillars-grid article,
    .plans-guide-grid article { border-left: 0 !important; border-top: 1px solid #e1e6ea !important; }
    .about-pillars-grid article:first-child,
    .plans-guide-grid article:first-child { border-top: 0 !important; }
    .legal-content-section { padding: 56px 0 72px; }
    .legal-card { padding: 22px; }
    .contact-context { padding: 22px; }
}
