/* 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; }
}
/* Ranking público federativo */
.public-ranking{padding:150px 0 90px;background:#f1f4f6;min-height:75vh;color:#172027}.public-ranking-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:34px 38px;border:1px solid #d8e0e5;border-left:4px solid #c8102e;border-radius:18px;background:linear-gradient(120deg,#fff 60%,#fff4f6);box-shadow:0 18px 45px rgba(23,32,39,.08)}.public-ranking-hero>div>span{color:#c8102e;font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.public-ranking-hero h1{margin:6px 0 5px;font:800 clamp(2.4rem,5vw,4.2rem)/.95 'Oswald',sans-serif;text-transform:uppercase}.public-ranking-hero p{margin:0;color:#65727c}.ranking-season-current{min-width:250px;padding:17px 20px;border:1px solid #ead9dc;border-radius:13px;background:#fff}.ranking-season-current small,.ranking-season-current span{display:block;color:#71808a;font-size:.72rem}.ranking-season-current strong{display:block;margin:3px 0;font:700 1.15rem 'Inter',sans-serif}.public-ranking-seasons{display:flex;gap:10px;margin:22px 0;overflow-x:auto}.public-ranking-seasons a{min-width:190px;padding:13px 16px;border:1px solid #d7e0e5;border-radius:11px;background:#fff;color:#172027;text-decoration:none}.public-ranking-seasons a strong,.public-ranking-seasons a small{display:block}.public-ranking-seasons a small{margin-top:2px;color:#74818a;font-size:.7rem}.public-ranking-seasons a.active{border-color:#c8102e;box-shadow:0 7px 20px rgba(200,16,46,.12)}.public-ranking-tabs{display:flex;gap:8px;margin-top:28px}.public-ranking-tabs button{padding:12px 22px;border:1px solid #d7e0e5;border-radius:10px;background:#fff;color:#53616a;font-weight:700}.public-ranking-tabs button.active{border-color:#c8102e;background:#c8102e;color:#fff}.public-ranking-content{margin-top:10px;border:1px solid #d7e0e5;border-radius:16px;background:#fff;box-shadow:0 15px 36px rgba(23,32,39,.08);overflow:hidden}.public-ranking-content table{width:100%;border-collapse:collapse}.public-ranking-content th{padding:15px 18px;background:#edf1f4;color:#5e6c76;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.public-ranking-content td{padding:16px 18px;border-top:1px solid #e3e9ed;color:#34414a}.public-ranking-content td:last-child{font-size:1.05rem}.ranking-position{display:inline-grid;place-items:center;min-width:38px;height:32px;border-radius:8px;background:#edf1f4;font-weight:800}.ranking-podium-1 .ranking-position{background:#fff2bd;color:#8b6700}.ranking-podium-2 .ranking-position{background:#edf0f2;color:#53616a}.ranking-podium-3 .ranking-position{background:#f6dfd2;color:#8a4d2c}.ranking-no-results{text-align:center!important;padding:50px!important;color:#71808a!important}.public-ranking-empty{margin-top:25px;padding:70px 25px;border:1px dashed #ccd6dc;border-radius:16px;background:#fff;text-align:center}.public-ranking-empty i{font-size:2rem;color:#c8102e}.public-ranking-empty h2{margin:14px 0 5px;font:700 1.8rem 'Oswald',sans-serif;text-transform:uppercase}@media(max-width:767.98px){.public-ranking{padding-top:115px}.public-ranking-hero{align-items:flex-start;flex-direction:column;padding:26px 22px}.ranking-season-current{width:100%;min-width:0}.public-ranking-content th,.public-ranking-content td{padding:12px}}
