/**
 * =====================================================
 * FLUXUSBI - PÁGINAS PÚBLICAS DE SOLUÇÕES
 * Arquivo: /assets/css/public-seo.css
 * =====================================================
 */

:root { --public-bg:#e8f0fa; --public-surface:#fff; --public-surface-2:#f1f5fb; --public-text:#17324f; --public-muted:#52677f; --public-border:rgba(15,23,42,.1); --public-primary:#2563eb; --public-accent:#0891b2; --public-success:#16a34a; --public-shadow:0 20px 55px rgba(15,23,42,.1); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--public-bg); color:var(--public-text); font:16px/1.65 Inter,"Segoe UI",Arial,sans-serif; }
a { color:inherit; }
/* Navbar público: estilos centralizados em /assets/css/public-navbar.css */
main { max-width:1180px; margin:0 auto; padding:0 24px 70px; }
.public-breadcrumb { display:flex; gap:10px; padding:22px 0; color:var(--public-muted); font-size:.9rem; }
.public-breadcrumb a:hover { color:var(--public-primary); }
.public-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:48px; align-items:center; padding:70px 0 90px; }
.public-hero-single { grid-template-columns:minmax(0,800px); padding-bottom:45px; }
.public-eyebrow { margin:0 0 12px; color:var(--public-accent); font-size:.78rem; font-weight:850; letter-spacing:.13em; }
.public-hero h1 { max-width:850px; margin:0; font-size:clamp(2.35rem,6vw,4.85rem); line-height:1.04; letter-spacing:-.045em; }
.public-lead { max-width:760px; margin:24px 0 0; color:var(--public-muted); font-size:clamp(1rem,2vw,1.2rem); }
.public-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.public-primary,.public-secondary { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 22px; border-radius:999px; font-weight:800; text-decoration:none; }
.public-primary { background:linear-gradient(135deg,var(--public-primary),#0891b2); box-shadow:0 12px 30px rgba(37,99,235,.22); color:#fff; }
.public-secondary { border:1px solid var(--public-border); background:#fff; }
.public-product-visual { padding:32px; border:1px solid var(--public-border); border-radius:28px; background:linear-gradient(145deg,#fff,#edf5ff); box-shadow:var(--public-shadow); }
.public-product-visual img { display:block; width:100%; height:130px; object-fit:contain; border-radius:18px; background:#fff; }
.public-visual-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:18px; }
.public-visual-grid span { padding:14px; border:1px solid var(--public-border); border-radius:13px; background:#fff; text-align:center; font-weight:700; }
.public-section { padding:74px 0; border-top:1px solid var(--public-border); }
.public-section>h2,.public-section>div>h2 { max-width:760px; margin:0 0 28px; font-size:clamp(1.8rem,4vw,3rem); line-height:1.12; letter-spacing:-.03em; }
.public-card-grid,.public-feature-grid,.public-module-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.public-card-grid article,.public-feature-grid article,.public-module-grid article { padding:24px; border:1px solid var(--public-border); border-radius:20px; background:linear-gradient(145deg,var(--public-surface),var(--public-surface-2)); box-shadow:0 12px 35px rgba(15,23,42,.07); }
.public-card-grid p,.public-feature-grid p { margin:0; color:var(--public-muted); }
.public-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.public-feature-grid h3 { margin:0 0 8px; font-size:1.15rem; }
.public-feature-grid a { display:inline-block; margin-top:14px; color:var(--public-primary); font-weight:750; }
.public-benefits { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.public-benefits ul,.public-module-grid ul { margin:0; padding:0; list-style:none; }
.public-benefits li { position:relative; margin:13px 0; padding:16px 18px 16px 48px; border:1px solid var(--public-border); border-radius:14px; background:#fff; }
.public-benefits li:before { content:"✓"; position:absolute; left:17px; color:var(--public-success); font-weight:900; }
.public-faq { display:grid; gap:12px; max-width:900px; }
.public-faq details { padding:18px 20px; border:1px solid var(--public-border); border-radius:15px; background:var(--public-surface); }
.public-faq summary { cursor:pointer; font-weight:800; }
.public-faq p { margin:12px 0 0; color:var(--public-muted); }
.public-related div { display:flex; flex-wrap:wrap; gap:12px; }
.public-related a { padding:12px 18px; border:1px solid var(--public-border); border-radius:999px; background:#fff; text-decoration:none; }
.public-related a:hover { border-color:var(--public-primary); }
.public-module-grid article h3 { margin:0 0 16px; font-size:1.2rem; }
.public-module-grid li { padding:6px 0; color:var(--public-muted); }
.public-module-grid li:before { content:"•"; margin-right:9px; color:var(--public-accent); }
.public-cta { margin-top:45px; padding:50px; border:1px solid rgba(37,99,235,.22); border-radius:26px; background:linear-gradient(135deg,#eaf2ff,#eefcff); text-align:center; }
.public-cta h2 { margin:0; font-size:clamp(1.8rem,4vw,3rem); }
.public-cta p { max-width:700px; margin:14px auto 26px; color:var(--public-muted); }
.public-trial-float { position:fixed; right:22px; bottom:22px; z-index:50; width:min(390px,calc(100vw - 28px)); filter:drop-shadow(0 20px 35px rgba(15,23,42,.22)); }
.public-trial-trigger { display:none; margin-left:auto; padding:14px 20px; border:0; border-radius:999px; background:linear-gradient(135deg,#22c55e,#16a34a); color:#fff; font-weight:800; cursor:pointer; }
.public-trial-card { overflow:hidden; border:1px solid rgba(22,163,74,.22); border-radius:20px; background:#fff; }
.public-trial-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 18px; background:linear-gradient(135deg,#22c55e,#16a34a); color:#fff; }
.public-trial-head strong,.public-trial-head span { display:block; }
.public-trial-head span { font-size:.78rem; opacity:.9; }
.public-trial-head button { width:32px; height:32px; border:0; border-radius:50%; background:rgba(255,255,255,.18); color:#fff; font-size:1.25rem; cursor:pointer; }
.public-trial-card form { display:grid; gap:10px; padding:16px 18px 8px; }
.public-trial-card label { display:grid; gap:4px; color:#52677f; font-size:.76rem; font-weight:700; }
.public-trial-card input { min-width:0; width:100%; padding:10px 11px; border:1px solid rgba(15,23,42,.14); border-radius:10px; background:#fff; color:#17324f; font:inherit; }
.public-trial-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.public-trial-submit { padding:12px; border:0; border-radius:11px; background:linear-gradient(135deg,#22c55e,#16a34a); color:#fff; font-weight:800; cursor:pointer; }
.public-trial-card>p { margin:0; padding:2px 18px 14px; color:#64748b; text-align:center; font-size:.68rem; }
.public-trial-float.is-collapsed .public-trial-card { display:none; }
.public-trial-float.is-collapsed .public-trial-trigger { display:block; }
@media(max-width:850px) { .public-hero{grid-template-columns:1fr;padding:45px 0 65px}.public-card-grid,.public-module-grid{grid-template-columns:1fr 1fr}.public-benefits{grid-template-columns:1fr} }
@media(max-width:560px) { .fluxus-header-logo{height:60px;max-width:190px}main{padding-left:18px;padding-right:18px}.public-hero h1{font-size:2.35rem}.public-product-visual{padding:18px}.public-card-grid,.public-feature-grid,.public-module-grid{grid-template-columns:1fr}.public-section{padding:55px 0}.public-cta{padding:34px 20px}.public-trial-float{right:14px;bottom:14px}.public-trial-row{grid-template-columns:1fr} }
@media(prefers-reduced-motion:reduce) { html{scroll-behavior:auto} }

.public-usecase-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.public-usecase-grid article { scroll-margin-top:100px; padding:26px; border:1px solid var(--public-border); border-radius:20px; background:#fff; box-shadow:0 12px 35px rgba(15,23,42,.06); }
.public-usecase-grid h3 { margin:0 0 10px; font-size:1.18rem; }
.public-usecase-grid p { margin:0 0 14px; color:var(--public-muted); }
.public-usecase-grid ul { margin:0; padding:0; list-style:none; }
.public-usecase-grid li { padding:6px 0; color:var(--public-muted); }
.public-usecase-grid li:before { content:"✓"; margin-right:8px; color:var(--public-success); font-weight:900; }
.public-platform-note { display:flex; align-items:center; justify-content:space-between; gap:30px; margin:30px 0 0; padding:34px; border:1px solid rgba(37,99,235,.16); border-radius:22px; background:linear-gradient(135deg,#eef5ff,#effcff); }
.public-platform-note h2 { max-width:720px; margin:0 0 10px; font-size:clamp(1.45rem,3vw,2.2rem); line-height:1.15; }
.public-platform-note p { max-width:760px; margin:0; color:var(--public-muted); }
@media(max-width:850px) { .public-usecase-grid{grid-template-columns:1fr 1fr}.public-platform-note{align-items:flex-start;flex-direction:column} }
@media(max-width:560px) { .public-usecase-grid{grid-template-columns:1fr} }



/* =====================================================
   PÁGINAS DE STATUS (404 / promoção indisponível)
===================================================== */
.public-status-page {
    min-height: calc(100vh - 180px);
    display: grid;
    place-items: center;
    padding-top: 54px;
    padding-bottom: 80px;
}
.public-status-card {
    width: min(820px,100%);
    margin: 0 auto;
    padding: clamp(30px,6vw,58px);
    border: 1px solid rgba(23,79,156,.16);
    border-radius: 28px;
    background:
        radial-gradient(circle at 100% 0,rgba(8,145,178,.10),transparent 34%),
        linear-gradient(145deg,#ffffff,#f2f7fd);
    box-shadow: 0 24px 60px rgba(18,59,114,.12);
    text-align: center;
}
.public-status-icon {
    width: 76px;
    height: 76px;
    display: grid;
    place-items: center;
    margin: 0 auto 20px;
    border: 1px solid rgba(37,99,235,.14);
    border-radius: 22px;
    background: linear-gradient(145deg,#eaf2ff,#eafcff);
    color: #2563eb;
    font-size: 2rem;
    box-shadow: 0 12px 28px rgba(37,99,235,.12);
}
.public-status-card h1 {
    margin: 0;
    color: #123b72;
    font-size: clamp(2rem,5vw,3.6rem);
    line-height: 1.05;
    letter-spacing: -.035em;
}
.public-status-card > p {
    max-width: 640px;
    margin: 18px auto 0;
    color: #607890;
    font-size: 1rem;
}
.public-status-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 26px;
}
.public-status-links a {
    padding: 9px 14px;
    border-radius: 999px;
    background: #eef5fc;
    color: #36536f;
    font-size: .82rem;
    font-weight: 700;
    text-decoration: none;
}
.public-status-links a:hover,
.public-status-links a:focus-visible { color:#174f9c; background:#e2eefb; outline:none; }

/* =====================================================
   PÁGINA PÚBLICA DE PROMOÇÕES
===================================================== */
.public-promo-main { max-width: 1040px; padding-top: 50px; }
.public-promo-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(34px,6vw,66px);
    border: 1px solid rgba(23,79,156,.16);
    border-radius: 30px;
    background:
        radial-gradient(circle at 92% 8%,rgba(8,145,178,.18),transparent 34%),
        radial-gradient(circle at 8% 92%,rgba(37,99,235,.13),transparent 32%),
        linear-gradient(145deg,#ffffff,#eef6ff);
    box-shadow: 0 24px 60px rgba(18,59,114,.13);
    text-align: center;
}
.public-promo-badge {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: 16px;
    padding: .48rem .85rem;
    border: 1px solid rgba(22,163,74,.18);
    border-radius: 999px;
    background: rgba(22,163,74,.08);
    color: #15803d;
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.public-promo-hero h1 {
    max-width: 820px;
    margin: 0 auto;
    color: #123b72;
    font-size: clamp(2.1rem,5.8vw,4.4rem);
    line-height: 1.04;
    letter-spacing: -.045em;
}
.public-promo-hero .public-promo-summary {
    max-width: 720px;
    margin: 20px auto 0;
    color: #52677f;
    font-size: clamp(1rem,2vw,1.18rem);
}
.public-promo-meta {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}
.public-promo-meta span {
    padding: 8px 12px;
    border: 1px solid rgba(23,79,156,.12);
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    color: #52677f;
    font-size: .78rem;
    font-weight: 700;
}
.public-promo-grid {
    display: grid;
    grid-template-columns: minmax(0,1.05fr) minmax(320px,.95fr);
    gap: 20px;
    margin: 22px 0 0;
}
.public-promo-panel {
    padding: 28px;
    border: 1px solid rgba(23,79,156,.14);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(18,59,114,.08);
}
.public-promo-panel h2 {
    margin: 0 0 14px;
    color: #123b72;
    font-size: 1.25rem;
}
.public-promo-rules { color: #52677f; font-size: .92rem; }
.public-promo-rules p:first-child { margin-top:0; }
.public-promo-offers { display: grid; gap: 10px; }
.public-promo-offer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(23,79,156,.10);
}
.public-promo-offer:last-child { border-bottom: 0; }
.public-promo-offer strong { display:block; color:#17324f; }
.public-promo-offer small { display:block; margin-top:3px; color:#71869b; }
.public-promo-price { color:#15803d; font-weight:850; white-space:nowrap; }
@media(max-width:780px) {
    .public-promo-grid { grid-template-columns:1fr; }
    .public-promo-main { padding-top:30px; }
}
@media(max-width:520px) {
    .public-promo-offer { align-items:flex-start; flex-direction:column; gap:7px; }
}

/* =====================================================
   PROMOÇÕES COMERCIAIS — CENTRAL, DETALHE E CONVERSÃO
   02/09/2026
===================================================== */
.public-promo-main {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding-top: 0;
}
.public-promo-hero-actions { justify-content:center; }
.public-promo-hero.is-sold-out { filter:saturate(.88); }
.public-promo-meta-highlight {
    border-color: rgba(22,163,74,.22) !important;
    background: rgba(22,163,74,.09) !important;
    color:#15803d !important;
}
.public-promo-meta-sold {
    border-color: rgba(100,116,139,.18) !important;
    background: rgba(100,116,139,.09) !important;
    color:#52677f !important;
}
.public-promo-grid {
    grid-template-columns: minmax(300px,.82fr) minmax(0,1.18fr);
    align-items:start;
}
.public-promo-rules-panel { position:sticky; top:104px; }
.public-promo-panel .public-eyebrow { margin-bottom:8px; }
.public-promo-safe-note {
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-top:22px;
    padding:14px;
    border:1px solid rgba(23,79,156,.11);
    border-radius:14px;
    background:#eef6ff;
    color:#52677f;
    font-size:.78rem;
    line-height:1.5;
}
.public-promo-safe-note i { color:#15803d; font-size:1rem; margin-top:1px; }
.public-promo-offers { gap:14px; }
.public-promo-offer-card {
    padding:18px;
    border:1px solid rgba(23,79,156,.14);
    border-radius:18px;
    background:linear-gradient(145deg,#fff,#f6faff);
    box-shadow:0 10px 24px rgba(18,59,114,.06);
}
.public-promo-offer-card.is-sold-out { opacity:.72; background:#f4f7fa; }
.public-promo-offer-top,
.public-promo-price-row,
.public-promo-campaign-head,
.public-promo-campaign-footer {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}
.public-promo-offer-top strong { display:block; color:#123b72; font-size:1.07rem; }
.public-promo-offer-top small { display:block; margin-top:2px; color:#71869b; font-size:.74rem; }
.public-promo-saving {
    flex:0 0 auto;
    padding:5px 9px;
    border-radius:999px;
    background:rgba(22,163,74,.10);
    color:#15803d;
    font-size:.7rem;
    font-weight:850;
}
.public-promo-price-row { margin-top:16px; align-items:flex-end; }
.public-promo-regular-price {
    display:block;
    margin-bottom:1px;
    color:#8294a7;
    font-size:.72rem;
    text-decoration:line-through;
}
.public-promo-price {
    display:block;
    color:#15803d;
    font-family:Syne,"Segoe UI",sans-serif;
    font-size:1.55rem;
    font-weight:850;
    line-height:1.1;
}
.public-promo-price small { font-family:"DM Sans","Segoe UI",sans-serif; font-size:.72rem; font-weight:700; }
.public-promo-availability {
    padding:6px 9px;
    border-radius:999px;
    background:rgba(22,163,74,.09);
    color:#15803d;
    font-size:.7rem;
    font-weight:800;
    white-space:nowrap;
}
.public-promo-availability.is-sold-out { background:rgba(100,116,139,.10); color:#64748b; }
.public-promo-contract {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    width:100%;
    min-height:43px;
    margin-top:16px;
    border-radius:12px;
    background:linear-gradient(135deg,#1767c4,#0891b2);
    color:#fff;
    font-size:.82rem;
    font-weight:850;
    text-decoration:none;
    box-shadow:0 8px 20px rgba(23,103,196,.15);
    transition:transform .18s ease,box-shadow .18s ease;
}
.public-promo-contract:hover,
.public-promo-contract:focus-visible { color:#fff; transform:translateY(-1px); box-shadow:0 12px 26px rgba(23,103,196,.22); outline:none; }
.public-promo-contract.is-disabled { background:#e6ebf0; color:#728397; box-shadow:none; }
.public-promo-bottom-cta {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    margin-top:24px;
    padding:32px;
    border:1px solid rgba(23,79,156,.14);
    border-radius:22px;
    background:linear-gradient(135deg,#eef5ff,#effcff);
}
.public-promo-bottom-cta h2 { margin:0; color:#123b72; font-size:clamp(1.4rem,3vw,2.1rem); }
.public-promo-bottom-cta p:not(.public-eyebrow) { max-width:700px; margin:8px 0 0; color:#607890; }
.public-promo-bottom-cta .public-primary { flex:0 0 auto; margin-top:0; }

/* Central /promocao.php sem código */
.public-promo-directory { padding-bottom:80px; }
.public-promo-directory-hero {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:36px;
    padding:46px 0 34px;
    border-bottom:1px solid rgba(23,79,156,.12);
}
.public-promo-directory-hero h1 {
    max-width:760px;
    margin:0;
    color:#123b72;
    font-size:clamp(2.25rem,5vw,4rem);
    line-height:1.04;
    letter-spacing:-.04em;
}
.public-promo-directory-hero p:not(.public-eyebrow) { max-width:720px; margin:16px 0 0; color:#607890; }
.public-promo-directory-stat {
    display:grid;
    place-items:center;
    min-width:145px;
    padding:22px;
    border:1px solid rgba(23,79,156,.14);
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 30px rgba(18,59,114,.08);
    text-align:center;
}
.public-promo-directory-stat strong { color:#1767c4; font-family:Syne,sans-serif; font-size:2.1rem; line-height:1; }
.public-promo-directory-stat span { margin-top:6px; color:#71869b; font-size:.72rem; font-weight:750; }
.public-promo-directory-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    padding:28px 0 0;
}
.public-promo-campaign-card {
    display:flex;
    flex-direction:column;
    min-height:330px;
    padding:25px;
    border:1px solid rgba(23,79,156,.14);
    border-radius:22px;
    background:
        radial-gradient(circle at 100% 0,rgba(8,145,178,.09),transparent 35%),
        linear-gradient(145deg,#fff,#f4f9ff);
    box-shadow:0 16px 36px rgba(18,59,114,.08);
}
.public-promo-campaign-card.is-sold-out { filter:saturate(.8); }
.public-promo-campaign-icon {
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:linear-gradient(145deg,#e7f1ff,#e8fbff);
    color:#1767c4;
    font-size:1.12rem;
}
.public-promo-campaign-status {
    padding:5px 9px;
    border-radius:999px;
    background:rgba(22,163,74,.10);
    color:#15803d;
    font-size:.69rem;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.public-promo-campaign-status.is-sold-out { background:rgba(100,116,139,.10); color:#64748b; }
.public-promo-campaign-card h2 { margin:22px 0 8px; color:#123b72; font-size:1.45rem; line-height:1.15; }
.public-promo-campaign-card > p { margin:0; color:#607890; font-size:.9rem; }
.public-promo-campaign-facts {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-top:22px;
}
.public-promo-campaign-facts span { padding:11px; border:1px solid rgba(23,79,156,.10); border-radius:13px; background:rgba(255,255,255,.75); }
.public-promo-campaign-facts small { display:block; color:#8294a7; font-size:.63rem; }
.public-promo-campaign-facts strong { display:block; margin-top:2px; color:#17324f; font-size:.78rem; }
.public-promo-campaign-footer { margin-top:auto; padding-top:22px; }
.public-promo-campaign-footer small { color:#71869b; font-size:.72rem; }
.public-promo-campaign-footer a { color:#1767c4; font-size:.8rem; font-weight:850; text-decoration:none; }
.public-promo-campaign-footer a:hover { color:#0e4f9e; }

@media(max-width:850px) {
    .public-promo-grid { grid-template-columns:1fr; }
    .public-promo-rules-panel { position:static; }
    .public-promo-directory-hero { align-items:flex-start; flex-direction:column; }
    .public-promo-directory-grid { grid-template-columns:1fr; }
    .public-promo-bottom-cta { align-items:flex-start; flex-direction:column; }
}
@media(max-width:560px) {
    .public-promo-hero { border-radius:22px; }
    .public-promo-panel { padding:20px; }
    .public-promo-offer-top,.public-promo-price-row { align-items:flex-start; flex-direction:column; }
    .public-promo-campaign-facts { grid-template-columns:1fr; }
    .public-promo-directory-stat { min-width:0; width:100%; }
    .public-promo-bottom-cta { padding:24px 20px; }
}
