:root{--navy:#14213d;--blue:#1f6feb;--gold:#f4b942;--bg:#f6f8fc;--text:#172033;--muted:#64748b;--line:#dbe3ef;--white:#fff;--danger:#c62828;--ok:#147d47}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg)}a{color:inherit;text-decoration:none}.container{width:min(1180px,92%);margin:auto}.top{background:var(--navy);color:#fff}.top .container{display:flex;align-items:center;justify-content:space-between;padding:18px 0}.brand{font-size:25px;font-weight:900;letter-spacing:.04em}.brand span{color:var(--gold)}.nav{display:flex;gap:20px;align-items:center}.hero{padding:72px 0;background:linear-gradient(135deg,#14213d,#244f86);color:#fff}.hero h1{font-size:clamp(35px,6vw,65px);margin:0 0 14px;max-width:800px}.hero p{font-size:19px;color:#dce7f6;max-width:720px}.search{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;margin-top:28px;background:#fff;padding:12px;border-radius:18px}.search input,.search select{border:1px solid var(--line);padding:14px;border-radius:11px;font:inherit}.button,button{background:var(--blue);color:#fff;border:0;border-radius:11px;padding:13px 18px;font-weight:800;cursor:pointer}.section{padding:46px 0}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:20px}.grid{display:grid;gap:18px}.grid.cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 12px 35px rgba(21,39,73,.08)}.business-card img{width:100%;height:150px;object-fit:contain;background:#f8fafc;border-radius:14px}.business-card h3{margin:14px 0 5px}.tag{display:inline-block;background:#edf4ff;color:#1555a4;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:800}.muted{color:var(--muted)}.footer{background:#101a30;color:#d7dfec;padding:35px 0;margin-top:40px}.soft{min-height:100vh;padding:40px}.install{max-width:850px;margin:auto}.two{grid-template-columns:1fr 1fr}label{display:grid;gap:7px;font-weight:700}input,select,textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;font:inherit}textarea{min-height:110px}.alert{padding:13px;border-radius:10px;margin:10px 0}.error{background:#fdecec;color:var(--danger)}.success{background:#e8f7ef;color:var(--ok)}.admin-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:#fff;padding:26px 18px}.sidebar nav{display:grid;gap:8px;margin-top:28px}.sidebar a{padding:12px;border-radius:10px}.sidebar a:hover{background:#203153}.content{padding:30px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.actions{display:flex;gap:8px}.btn-secondary{background:#eaf1fb;color:#164f9b}.btn-danger{background:#b42318}.stats{grid-template-columns:repeat(4,1fr)}.stat strong{font-size:27px;display:block;margin-top:7px}.login{max-width:430px;margin:70px auto}.logo-placeholder{display:grid;place-items:center;height:150px;background:#eef3fb;border-radius:14px;font-weight:900;color:#73809a}@media(max-width:800px){.search{grid-template-columns:1fr}.nav{display:none}.admin-shell{grid-template-columns:1fr}.sidebar{position:relative}.two,.stats{grid-template-columns:1fr}.content{padding:18px}}
/* ===== Página pública v2 ===== */
.public-site{background:#fff;color:#0f2347}.community-strip{background:#0d2b5b;color:#fff;font-size:13px}.strip-inner{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:20px}.strip-links{display:flex;gap:28px}.strip-links a{opacity:.94}.public-header{background:#fff;border-bottom:1px solid #e7edf5;position:sticky;top:0;z-index:20}.header-inner{min-height:116px;display:flex;align-items:center;justify-content:space-between;gap:25px}.public-brand{display:flex;align-items:center;gap:13px}.brand-mark{width:58px;height:58px;display:grid;place-items:center;border:2px solid #d3a13d;border-radius:50%;font-size:29px;background:#fffaf0}.public-brand strong{display:block;font-size:29px;line-height:1;color:#102b59}.public-brand em{font-style:normal;color:#d6a23c}.public-brand small{display:block;margin-top:8px;color:#222;font-size:13px;font-weight:500}.public-nav{display:flex;gap:32px;font-weight:750;color:#111}.public-nav a{padding:18px 2px;border-bottom:2px solid transparent}.public-nav a.active,.public-nav a:hover{color:#cf9426;border-color:#cf9426}.header-cta{background:#0d2b5b;padding:15px 22px;border-radius:10px;box-shadow:0 8px 20px rgba(13,43,91,.18)}
.public-hero{background:linear-gradient(180deg,#f7f9fc,#eef3f9);overflow:hidden}.hero-layout{display:grid;grid-template-columns:1.05fr 1.9fr .85fr;align-items:center;gap:28px;min-height:315px}.hero-copy h1{font-size:clamp(34px,3.1vw,52px);line-height:1.06;margin:8px 0 18px;letter-spacing:-.035em;color:#102b59}.hero-copy p{font-size:17px;line-height:1.6;color:#58667c;max-width:430px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#c28a23}.directory-search{background:#fff;padding:25px;border:1px solid #e3e9f2;border-radius:19px;box-shadow:0 15px 40px rgba(28,55,91,.1)}.directory-search h2{font-size:18px;margin:0 0 15px}.search-grid{display:grid;grid-template-columns:1fr 1fr 1.05fr;gap:12px}.search-field{height:50px;display:flex;align-items:center;gap:8px;border:1px solid #d7dfeb;border-radius:10px;padding:0 13px;background:#fff}.search-field input,.search-field select{border:0;padding:0;outline:none;background:transparent;color:#536178}.search-wide{grid-column:span 2}.gold-button{background:#d59d38;min-height:50px}.search-benefits{display:flex;gap:28px;margin-top:18px;font-size:13px;color:#536178}.hero-scene{height:100%;min-height:315px;position:relative;background:linear-gradient(160deg,#e9eef4,#cfd8e5);border-radius:0 0 18px 18px;overflow:hidden}.church-illustration{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:180px;height:180px}.church-cross{text-align:center;font-size:36px;color:#8a755f}.church-roof{width:150px;height:95px;background:#e6e0d5;transform:rotate(45deg);position:absolute;left:15px;top:42px;border:1px solid #b9b1a4}.church-body{width:125px;height:100px;background:#f8f6ef;position:absolute;left:28px;top:90px;border:1px solid #bbb4aa}.church-body span{display:block;width:34px;height:62px;border-radius:18px 18px 0 0;background:#795d44;margin:38px auto 0}.hero-stats{position:absolute;bottom:18px;left:12%;right:12%;background:#fff;border-radius:14px;padding:14px 17px;box-shadow:0 9px 28px rgba(15,35,71,.18)}.hero-stats div{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;align-items:center;padding:5px 0}.hero-stats strong{font-size:18px;color:#0d2b5b}.hero-stats span{font-size:12px;color:#536178}
.category-section{padding:25px 0 12px}.section-title-row{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:17px}.section-title-row h2{font-size:22px;margin:0;color:#102b59}.category-scroll{display:flex;gap:14px;overflow:auto;padding:2px 1px 13px}.category-chip{flex:0 0 112px;height:83px;border:1px solid #dce4ef;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#fff;font-size:11px;text-align:center}.category-chip span{font-size:25px}.category-chip.selected,.category-chip:hover{border-color:#d59d38;background:#fffcf5;box-shadow:0 5px 16px rgba(201,148,45,.1)}
.business-section{padding:16px 0 28px}.result-count{color:#64748b;font-size:14px}.business-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.directory-card{position:relative;border:1px solid #dce4ef;border-radius:13px;padding:16px;background:#fff;display:flex;flex-direction:column;min-height:340px;box-shadow:0 5px 14px rgba(20,40,75,.035)}.featured-label{position:absolute;top:8px;left:8px;background:#d59d38;color:#fff;border-radius:5px;padding:4px 8px;font-size:11px;font-weight:800;z-index:2}.card-top{display:grid;grid-template-columns:76px 1fr;gap:12px;align-items:center;min-height:88px}.company-logo{width:76px;height:76px;object-fit:contain;border-radius:9px;background:#f7f8fa;border:1px solid #edf0f4}.logo-fallback{display:grid;place-items:center;font-size:24px;font-weight:900;color:#0d2b5b}.directory-card h3{font-size:16px;margin:0 0 6px;line-height:1.25}.card-category{margin:0;color:#64748b;font-size:12px}.card-meta{font-size:11px;color:#64748b;margin-top:8px}.card-meta p{margin:6px 0}.card-description{font-size:12px;line-height:1.5;color:#26364e;min-height:54px}.card-actions{display:flex;gap:8px;margin-top:auto}.whatsapp-button,.outline-button{flex:1;padding:10px 8px;text-align:center;border-radius:7px;font-size:12px;font-weight:800}.whatsapp-button{background:#198f49;color:#fff}.outline-button{border:1px solid #aebccd;color:#102b59}.empty-result{grid-column:1/-1;border:1px dashed #cbd5e1;border-radius:16px;padding:45px;text-align:center;background:#f8fafc}
.trust-section{padding:5px 0 35px}
.trust-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    align-items:stretch;
    background:#f3f6fa;
    border-radius:13px;
    padding:28px 32px;
    gap:28px;
}
.trust-grid>div{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    min-height:88px;
}
.trust-grid>div>span{
    flex:0 0 38px;
    width:38px;
    text-align:center;
    font-size:31px;
    line-height:1;
    color:#0d2b5b;
}
.trust-grid p{
    margin:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.trust-grid strong{
    display:block;
    font-size:14px;
    line-height:1.35;
}
.trust-grid small{
    display:block;
    max-width:260px;
    color:#64748b;
    font-size:12px;
    line-height:1.55;
    margin-top:5px;
}
.trust-grid .heart-icon,
.trust-grid .heart-gold{
    color:#d59d38 !important;
}
.how-section{padding:55px 0;background:#f7f9fc}.centered{justify-content:center;text-align:center}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:900px;margin:auto}.how-grid>div{background:#fff;border:1px solid #e1e7ef;border-radius:15px;padding:26px;text-align:center}.how-grid>div>span{width:42px;height:42px;margin:auto;display:grid;place-items:center;border-radius:50%;background:#0d2b5b;color:#fff;font-weight:900}.how-grid h3{font-size:17px}.how-grid p{color:#64748b;font-size:13px;line-height:1.55}.public-footer{background:#0b234b;color:#fff;padding:45px 0 18px}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:35px}.footer-grid-public{grid-template-columns:2fr 1fr 1fr}.footer-grid>div{display:grid;gap:9px;align-content:start}.footer-grid a{font-size:13px;color:#cbd6e6}.footer-brand strong{color:#fff}.footer-brand small{color:#cbd6e6}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:35px;padding-top:17px;color:#aebbd0;font-size:12px}

/* ===== Melhorias do painel ===== */
.view-site-link{display:block;margin:18px 0 8px;padding:11px 12px;border:1px solid rgba(255,255,255,.25);border-radius:10px;text-align:center;font-weight:800;background:rgba(255,255,255,.07)}.sidebar a.current{background:#253a62}.admin-topbar{display:flex;justify-content:space-between;align-items:center;margin:-10px 0 22px;padding-bottom:13px;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}.admin-topbar a{font-weight:800;color:var(--blue)}

@media(max-width:1200px){.hero-layout{grid-template-columns:1fr 1.45fr}.hero-scene{display:none}.business-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.community-strip,.public-nav{display:none}.header-inner{min-height:88px}.header-cta{font-size:12px}.public-brand strong{font-size:22px}.public-brand small{font-size:10px}.brand-mark{width:48px;height:48px}.hero-layout{grid-template-columns:1fr;padding:35px 0}.search-grid{grid-template-columns:1fr}.search-wide{grid-column:auto}.search-benefits{flex-direction:column;gap:8px}.business-grid{grid-template-columns:repeat(2,1fr)}.trust-grid,.how-grid,.footer-grid{grid-template-columns:1fr 1fr}.strip-inner{justify-content:center}}
@media(max-width:560px){.header-cta{display:none}.business-grid,.trust-grid,.how-grid,.footer-grid{grid-template-columns:1fr}.directory-card{min-height:auto}.hero-copy h1{font-size:36px}.category-chip{flex-basis:100px}}

/* Logo oficial e correções de imagens - v3 */
.site-logo{display:block;width:330px;max-width:34vw;height:auto}.footer-logo{width:260px;max-width:100%}.footer-brand{display:block}.footer-brand small{display:block;margin-top:8px;color:#cbd5e1}.image-error-fallback{grid-column:1;grid-row:1}.company-logo{display:block}
@media(max-width:850px){.site-logo{width:235px;max-width:58vw}}

/* Correções v4 */
.hero-custom-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-scene:has(.hero-custom-image)::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,35,75,.04),rgba(10,35,75,.16));pointer-events:none}.hero-stats{z-index:2}.company-detail-page{padding:42px 0 70px;background:#f7f9fc;min-height:65vh}.back-link{display:inline-block;margin-bottom:18px;color:#0d2b5b;font-weight:800}.company-detail-card{display:grid;grid-template-columns:280px 1fr;gap:38px;background:#fff;border:1px solid #dce4ef;border-radius:20px;padding:34px;box-shadow:0 15px 35px rgba(15,35,71,.08)}.company-detail-logo{height:280px;border:1px solid #e3e9f2;border-radius:18px;background:#f8fafc;display:grid;place-items:center;overflow:hidden}.company-detail-logo img{width:100%;height:100%;object-fit:contain;padding:18px}.company-detail-logo .logo-fallback{width:100%;height:100%;font-size:64px}.company-detail-info h1{font-size:38px;color:#102b59;margin:8px 0 12px}.detail-location{color:#64748b}.detail-description{font-size:16px;line-height:1.7;color:#334155;max-width:760px}.detail-actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}.detail-actions a{flex:none;min-width:160px}.admin-hero-help{font-size:12px;color:#64748b}
@media(max-width:700px){.company-detail-card{grid-template-columns:1fr;padding:22px}.company-detail-logo{height:220px}.company-detail-info h1{font-size:30px}}

/* ==========================
   Marca e página Nossa História
========================== */

.public-nav{
    gap:24px;
}

.site-logo{
    width:345px;
    max-width:36vw;
}

.footer-logo{
    width:300px;
    max-width:100%;
}

.footer-brand small{
    margin-left:5px;
    color:#fff;
    font-size:15px;
    font-weight:700;
}

.story-page{
    background:#f7f9fc;
}

/* HERO */

.story-hero{
    padding:35px 0 110px;
    background:linear-gradient(135deg,#eef3f9,#ffffff);
}

.story-hero h1{
    font-size:52px;
    margin:8px 0 14px;
    color:#102b59;
}

.story-hero p{
    max-width:760px;
    font-size:19px;
    line-height:1.7;
    color:#52627a;
}

/* CONTEÚDO */

.story-content{
    padding:0 0 72px;
}

.story-card{
    max-width:980px;
    margin:-90px auto 0;
    background:#fff;
    border:1px solid #dce4ef;
    border-radius:22px;
    padding:48px 56px;
    box-shadow:0 18px 45px rgba(15,35,71,.08);
    position:relative;
    z-index:10;
}

.story-card>p{
    font-size:17px;
    line-height:1.85;
    color:#334155;
}
.terms-card{margin:0 auto}
.terms-card h1{font-size:38px;color:#102b59;margin:10px 0 22px}

.story-highlight{
    margin:32px 0;
    padding:24px 28px;
    border-left:5px solid #d39b34;
    background:#fff8e9;
    border-radius:10px;
    color:#102b59;
    font-size:20px;
    line-height:1.55;
}

.story-closing{
    margin-top:38px;
    padding:34px;
    border-radius:18px;
    background:#0d2b5b;
    color:#fff;
    text-align:center;
}

.story-closing h2{
    font-size:30px;
    margin:0 0 12px;
}

.story-closing p{
    max-width:740px;
    margin:0 auto 24px;
    line-height:1.7;
    color:#e4ebf5;
}

.story-closing .gold-button{
    display:inline-block;
}

.footer-brand .site-logo{
    max-width:100%;
}

/* Menu responsivo e ajustes finais para celular */
.mobile-menu{display:none;position:relative;margin-left:auto}
.mobile-menu summary{list-style:none;width:44px;height:44px;display:grid;place-items:center;border:1px solid #dce4ef;border-radius:10px;background:#fff;color:#0d2b5b;font-size:25px;cursor:pointer}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu nav{position:absolute;right:0;top:52px;width:min(280px,86vw);display:grid;background:#fff;border:1px solid #dce4ef;border-radius:14px;padding:9px;box-shadow:0 18px 40px rgba(15,35,71,.18);z-index:50}
.mobile-menu nav a{padding:12px 13px;border-radius:8px;font-weight:750;color:#102b59}
.mobile-menu nav a:hover{background:#f3f6fa;color:#c28a23}
.app-install-card{position:fixed;left:14px;right:14px;bottom:14px;z-index:100;display:none;grid-template-columns:48px 1fr auto auto;align-items:center;gap:11px;padding:12px;background:#fff;border:1px solid #dce4ef;border-radius:16px;box-shadow:0 18px 45px rgba(13,43,91,.25);color:#102b59}
.app-install-card[hidden]{display:none!important}
.app-install-card img{border-radius:12px}
.app-install-card strong,.app-install-card small{display:block}
.app-install-card small{margin-top:3px;color:#64748b;font-size:11px;line-height:1.35}
.app-install-card button{padding:10px 13px;border-radius:9px;background:#d59d38}
.app-install-card .app-install-close{padding:6px;background:transparent;color:#64748b;font-size:24px;font-weight:400}

/* RESPONSIVO */

@media(max-width:1100px){

    .public-nav{
        gap:15px;
        font-size:14px;
    }

    .site-logo{
        width:290px;
    }

    .header-cta{
        padding:13px 16px;
    }

}

@media(max-width:850px){

    .mobile-menu{display:block}
    .header-inner{gap:12px}

    .story-hero{
        padding:35px 0 80px;
    }

    .story-hero h1{
        font-size:40px;
    }

    .story-card{
        margin:-60px 16px 0;
        padding:30px 24px;
    }

    .site-logo{
        width:245px;
        max-width:62vw;
    }

}

/* ===== Ajuste final da faixa de confiança ===== */
@media(max-width:850px){
    .trust-grid{
        grid-template-columns:1fr;
        padding:24px;
        gap:12px;
    }

    .trust-grid>div{
        justify-content:flex-start;
        min-height:72px;
    }

    .trust-grid small{
        max-width:none;
    }
}

@media(max-width:560px){
    .app-install-card:not([hidden]){display:grid}
    .container{width:min(100% - 28px,1180px)}
    .header-inner{min-height:74px}
    .site-logo{width:210px;max-width:67vw}
    .hero-layout{padding:24px 0 30px}
    .hero-copy h1{font-size:31px;line-height:1.12}
    .hero-copy p{font-size:15px}
    .directory-search{padding:17px;border-radius:15px}
    .search-field,.gold-button{min-height:48px}
    .category-section{padding-top:18px}
    .business-grid{gap:13px}
    .directory-card{padding:15px}
    .card-actions{flex-direction:column}
    .whatsapp-button,.outline-button{width:100%;padding:12px}
    .trust-grid{padding:18px}
    .public-footer{padding-top:32px}
}

@media(max-width:390px){
    .app-install-card{grid-template-columns:42px 1fr auto;padding:10px;gap:8px}
    .app-install-card img{width:42px;height:42px}
    .app-install-card button{grid-column:2;padding:9px 12px;justify-self:start}
    .app-install-card .app-install-close{position:absolute;right:5px;top:2px}
}

/* ===== Home compacta para computador ===== */
@media(min-width:851px){
    .header-inner{min-height:76px;gap:15px}
    .site-logo{width:270px;max-width:27vw}
    .public-nav{gap:17px;font-size:13px}
    .public-nav a{padding:9px 2px}
    .header-cta{padding:10px 15px;font-size:12px}
    .hero-layout{grid-template-columns:1fr 1.78fr .68fr;gap:18px;min-height:225px}
    .hero-copy h1{font-size:33px;line-height:1.06;margin:4px 0 8px}
    .hero-copy p{font-size:12px;line-height:1.4;margin:0;max-width:360px}
    .eyebrow{font-size:10px}
    .directory-search{padding:14px;border-radius:14px}
    .directory-search h2{font-size:14px;margin-bottom:8px}
    .search-grid{gap:7px}
    .search-field{height:39px;padding:0 9px}
    .search-field input,.search-field select{font-size:12px}
    .gold-button{min-height:39px;padding:8px 10px;font-size:12px}
    .search-benefits{margin-top:8px;gap:14px;font-size:10px}
    .hero-scene{min-height:225px}
    .church-illustration{transform:translate(-50%,-52%) scale(.63)}
    .hero-stats{bottom:9px;left:7%;right:7%;padding:7px 10px}
    .hero-stats div{padding:3px 0}
    .hero-stats strong{font-size:14px}
    .hero-stats span{font-size:9px}
}
