:root{--ink:#11110f;--paper:#f4f0e6;--cream:#ebe3d1;--gold:#c9a45b;--gold2:#e1c17e;--muted:#77746b;--line:rgba(17,17,15,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8f6f0;color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.wrap-reading{width:min(780px,calc(100% - 40px));margin:auto}.topbar{height:84px;background:#10100f;color:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.1)}.nav{height:100%;display:flex;align-items:center;gap:36px}.brand{display:flex;align-items:center;gap:18px;margin-right:auto}.brand img{width:142px;height:auto}.brand span{border-left:1px solid #5a5346;padding-left:17px;letter-spacing:.18em;font-size:11px;color:#d3cbb8}.brand b{color:var(--gold2)}.nav nav{display:flex;gap:24px;font-size:13px;color:#d4d0c7}.nav nav a:hover{color:var(--gold2)}.account{font-size:12px;text-transform:uppercase;letter-spacing:.12em;border:1px solid #5c564d;padding:10px 15px}.menu{display:none;background:none;border:0;color:#fff;font-size:24px}.hero-magazine{height:min(760px,84vh);position:relative;background:#10100f;color:#fff;overflow:hidden}.hero-photo{position:absolute;inset:0;background-size:cover;background-position:center 42%;opacity:.55}.hero-magazine:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,9,8,.95) 0%,rgba(9,9,8,.6) 43%,rgba(9,9,8,.08) 76%)}.hero-content{position:relative;z-index:2;padding-top:120px}.kicker,.eyebrow{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}.hero-content h1{font-family:'Libre Caslon Display',serif;font-weight:400;font-size:clamp(76px,11vw,150px);line-height:.74;margin:30px 0 32px;letter-spacing:-.06em}.hero-content h1 em{font-style:italic;color:var(--gold2)}.hero-content p{max-width:500px;font-size:19px;line-height:1.6;color:#e5e0d5}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border:0;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.11em;cursor:pointer}.btn.gold{background:var(--gold);color:#16130d}.btn.dark{background:#111;color:white}.manifesto-strip{background:#151512;color:#e8e1d2;border-top:1px solid #36332d;border-bottom:1px solid #36332d}.manifesto-strip .wrap{height:72px;display:flex;align-items:center;justify-content:center;gap:38px;font-size:11px;letter-spacing:.25em}.manifesto-strip i{width:4px;height:4px;border-radius:50%;background:var(--gold)}.feature{padding:110px 0}.section-head{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:end;margin-bottom:45px}.section-head h2,.host-highlight h2,.cta h2,.story-cta h2{font-family:'Libre Caslon Display',serif;font-weight:400;font-size:clamp(46px,5.5vw,78px);line-height:.98;letter-spacing:-.035em;margin:14px 0 0}.section-head>p{color:#6c685f;line-height:1.7;max-width:430px}.feature-card{display:grid;grid-template-columns:1.5fr 1fr;background:#171714;color:white;min-height:530px}.feature-card img{width:100%;height:100%;object-fit:cover}.feature-copy{padding:58px;align-self:end}.feature-copy>span{color:var(--gold2);font-size:11px;letter-spacing:.14em}.feature-copy h3{font-family:'Libre Caslon Display',serif;font-size:48px;line-height:1.02;font-weight:400;margin:20px 0}.feature-copy p{color:#c9c5bb;line-height:1.6}.feature-copy b{display:block;margin-top:28px;color:var(--gold2)}.host-highlight{background:#e7dfcf;padding:110px 0}.host-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:90px;align-items:center}.host-grid img{width:100%;aspect-ratio:4/5;object-fit:cover}.host-grid p{max-width:560px;color:#625e55;line-height:1.8;font-size:17px}.host-grid a{display:inline-block;margin-top:15px;border-bottom:1px solid #111;padding-bottom:6px;font-weight:700}.cards-section{padding:110px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.cards article{padding:44px;min-height:280px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cards article>span{color:var(--gold);font-size:12px;font-weight:700}.cards h3{font-family:'Libre Caslon Display',serif;font-size:34px;font-weight:400}.cards p{color:#706d65;line-height:1.7}.cta,.story-cta{background:#11110f;color:#fff;padding:120px 0}.cta p,.story-cta p{color:#c5c0b5;font-size:18px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;padding:70px 0}.footer-grid>div{display:flex;flex-direction:column;gap:11px}.footer-logo{width:180px;filter:brightness(0)}.footer-grid p{max-width:400px;color:#6e6a61;line-height:1.6}.footer-grid a{color:#6e6a61;font-size:14px}.copyright{border-top:1px solid var(--line);padding:22px 0 35px;color:#8b877f;font-size:12px}.story-head{padding:100px 0 60px}.story-head h1{font-family:'Libre Caslon Display',serif;font-size:clamp(58px,8vw,108px);font-weight:400;line-height:.92;letter-spacing:-.05em;margin:24px 0 30px;max-width:1020px}.dek{font-size:21px;line-height:1.55;color:#5f5b52;max-width:860px}.meta{font-size:12px;color:#8a857a;margin-top:32px}.story-cover{width:min(1400px,100%);margin:0 auto 80px}.story-cover img{width:100%;max-height:820px;object-fit:cover}.story-cover figcaption{font-size:12px;color:#7b776f;padding:10px 20px}.story-body{font-family:'DM Sans',sans-serif;font-size:18px;line-height:1.88}.story-body .lead{font-family:'Libre Caslon Display',serif;font-size:32px;line-height:1.42;color:#2b2924}.story-body h2{font-family:'Libre Caslon Display',serif;font-size:48px;font-weight:400;line-height:1.05;margin:75px 0 24px}.pullquote{margin:70px -90px;padding:55px 70px;background:#171714;color:#fff;position:relative}.pullquote span{color:var(--gold);font-family:serif;font-size:80px;line-height:.5}.pullquote p{font-family:'Libre Caslon Display',serif;font-size:38px;line-height:1.25;margin:18px 0}.video-block{margin:80px -120px;background:#111;padding:18px;color:white}.video-block video{display:block;width:min(430px,100%);max-height:760px;margin:auto;background:#000}.video-label{display:flex;justify-content:space-between;padding:8px 4px 20px;font-size:11px;letter-spacing:.14em}.video-label span{color:var(--gold2)}.video-label small{color:#9d988e}.coming{border:1px solid var(--line);padding:34px;margin:45px 0}.coming span{color:var(--gold);font-size:11px;letter-spacing:.2em}.coming h3{font-family:'Libre Caslon Display',serif;font-size:34px;font-weight:400;margin:8px 0}.thanks{margin:90px -170px;display:grid;grid-template-columns:.85fr 1.15fr;background:#e8dfce;align-items:center}.thanks img{width:100%;height:100%;object-fit:cover}.thanks>div{padding:60px}.thanks h2{margin:12px 0 24px;font-size:46px}.react-box{margin:80px 0;padding:40px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.reaction-row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:22px}.reaction-row button{background:#fff;border:1px solid var(--line);padding:15px;text-align:left;font:inherit;cursor:pointer}.reaction-row button b{font-size:13px;margin-left:6px}.reaction-row button span{float:right;color:#8a857b}.reaction-row button.active{border-color:var(--gold);background:#fbf4e6}.comments{padding:10px 0 100px}.comments form{margin-top:30px;background:#efeadf;padding:30px}.comments label{display:block;font-size:12px;font-weight:700;margin:0 0 18px}.comments label small{font-weight:400;color:#777}.comments input,.comments textarea{display:block;width:100%;margin-top:7px;border:1px solid #d0c9bb;background:#fff;padding:13px;font:inherit}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.comments form>small{display:block;color:#7c776d;margin-top:15px}.comment-list article{border-top:1px solid var(--line);padding:25px 0}.login-page{min-height:70vh;display:grid;place-items:center;padding:70px 20px;background:#171714}.login-card{width:min(480px,100%);background:#f5f0e5;padding:50px}.login-card img{width:190px;filter:brightness(0);margin-bottom:32px}.login-card h1{font-family:'Libre Caslon Display',serif;font-size:46px;font-weight:400;margin:10px 0}.login-card p{color:#69655c;line-height:1.6}.login-card label{display:block;font-size:12px;font-weight:700;margin:18px 0}.login-card input{display:block;width:100%;padding:13px;margin-top:7px;border:1px solid #cfc8b9}.login-card .btn{width:100%}.muted-link{display:block;text-align:center;margin-top:20px;font-size:12px;color:#777}.alert{background:#f8d7da;padding:12px;margin:14px 0;font-size:13px}.admin-wrap{padding:80px 0}.admin-top{display:flex;justify-content:space-between;align-items:flex-start}.admin-top h1{font-family:'Libre Caslon Display',serif;font-size:64px;font-weight:400;margin:8px 0}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}.admin-grid article,.admin-panel{background:#fff;border:1px solid var(--line);padding:32px}.admin-grid span{font-size:10px;letter-spacing:.16em;color:#777}.admin-grid b{display:block;font-family:'Libre Caslon Display',serif;font-size:70px;font-weight:400}.admin-panel{margin-top:16px}.checklist{columns:2}.not-found{padding:120px 0;min-height:60vh}.not-found h1{font-family:'Libre Caslon Display',serif;font-size:70px;font-weight:400}@media(max-width:850px){.topbar{height:74px}.brand img{width:120px}.brand span{display:none}.nav nav{display:none;position:absolute;top:74px;left:0;right:0;background:#111;padding:24px 20px;flex-direction:column}.nav nav.open{display:flex}.menu{display:block}.account{display:none}.hero-magazine{height:720px}.hero-photo{background-position:58% center}.hero-magazine:after{background:linear-gradient(0deg,rgba(9,9,8,.98),rgba(9,9,8,.1) 75%)}.hero-content{padding-top:350px}.hero-content h1{font-size:78px}.section-head,.feature-card,.host-grid,.footer-grid,.thanks{grid-template-columns:1fr}.feature{padding:75px 0}.feature-card img{height:360px}.feature-copy{padding:32px}.feature-copy h3{font-size:38px}.host-grid{gap:40px}.cards{grid-template-columns:1fr}.story-head{padding:65px 0 38px}.story-head h1{font-size:58px}.story-cover{margin-bottom:45px}.story-body{font-size:17px}.story-body .lead{font-size:27px}.story-body h2{font-size:38px}.pullquote,.video-block,.thanks{margin-left:0;margin-right:0}.pullquote{padding:38px}.pullquote p{font-size:30px}.video-block{padding:12px}.thanks>div{padding:34px}.thanks h2{font-size:38px}.reaction-row{grid-template-columns:1fr}.form-grid,.admin-grid{grid-template-columns:1fr}.checklist{columns:1}.manifesto-strip .wrap{gap:15px;font-size:9px}.footer-grid{gap:30px}}

/* V2 — revista dinâmica e painel editorial */
.latest-section{padding:20px 0 110px}.latest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.latest-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;min-height:100%}.latest-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.latest-card>div{padding:26px}.latest-card span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.latest-card h3{font-family:'Libre Caslon Display',serif;font-size:30px;font-weight:400;line-height:1.05;margin:12px 0}.latest-card p{color:#706d65;line-height:1.55;margin-bottom:0}.generic-story .story-body>p{margin:0 0 1.5em}.admin-nav{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0 35px;padding:10px;background:#ece6d9;border:1px solid var(--line)}.admin-nav a{padding:10px 12px;font-size:12px;font-weight:700}.admin-nav a:hover{background:#fff}.admin-alert{padding:13px 16px;margin:18px 0}.admin-alert.success{background:#e3eddc}.admin-alert.error{background:#f3dddd;color:#7d2424}.admin-grid a{text-decoration:underline;text-underline-offset:3px}.admin-table-wrap{overflow:auto;background:#fff;border:1px solid var(--line)}.admin-table{width:100%;border-collapse:collapse;min-width:760px}.admin-table th,.admin-table td{text-align:left;padding:16px;border-bottom:1px solid var(--line);vertical-align:top}.admin-table th{font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:#f0ece3}.admin-table td small{display:block;color:#817c72;margin-top:6px}.status{display:inline-flex;padding:4px 8px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);background:#f0ece3}.status-published,.status-approved{background:#e3eddc}.status-draft,.status-pending{background:#f3ecd6}.status-hidden{background:#e5e5e5}.status-scheduled{background:#e2e8f1}.editor-form{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.editor-main,.editor-side,.editor-card{background:#fff;border:1px solid var(--line);padding:28px}.editor-side{position:sticky;top:108px}.editor-form label,.upload-form label{display:block;font-size:12px;font-weight:700;margin-bottom:18px}.editor-form label small{font-weight:400;color:#777}.editor-form input,.editor-form textarea,.editor-form select,.upload-form input{width:100%;margin-top:7px;border:1px solid #cbc4b7;background:#fff;padding:12px;font:inherit}.editor-form textarea{resize:vertical}.editor-card{margin-top:20px;background:#f7f3eb}.editor-card h3{margin-top:0}.editor-side .checkbox{display:flex;gap:8px;align-items:flex-start}.editor-side .checkbox input{width:auto;margin-top:2px}.editor-side .btn{width:100%}.helper{font-size:12px;line-height:1.5;color:#777}.preview-link{display:block;text-align:center;margin-top:15px;font-size:12px;text-decoration:underline}.comment-admin-list{display:grid;gap:14px}.comment-admin-list article{background:#fff;border:1px solid var(--line);padding:24px}.comment-admin-meta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:12px;color:#706b62}.comment-admin-meta strong{font-size:15px;color:#111}.comment-admin-list form{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.comment-admin-list button{padding:8px 12px;border:1px solid #c9c2b5;background:#f2ede3;cursor:pointer}.comment-admin-list .danger{background:#f5dddd;color:#7d2424}.upload-form{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--line);padding:22px;margin-bottom:24px}.upload-form label{margin:0}.upload-form .btn{height:44px}.upload-form small{grid-column:1/-1;color:#777}.media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.media-grid article{background:#fff;border:1px solid var(--line);padding:14px;min-width:0}.media-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;margin-bottom:12px}.media-grid strong,.media-grid small,.media-grid code{display:block}.media-grid small{font-size:11px;color:#777;margin:6px 0}.media-grid code{font-size:10px;overflow-wrap:anywhere;color:#5c5851}.media-file-icon{display:grid;place-items:center;aspect-ratio:1/1;background:#171714;color:var(--gold2);font-size:34px;margin-bottom:12px}
@media(max-width:1000px){.latest-grid{grid-template-columns:1fr 1fr}.editor-form{grid-template-columns:1fr}.editor-side{position:static}.upload-form{grid-template-columns:1fr 1fr}.media-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.latest-grid{grid-template-columns:1fr}.admin-wrap{padding:45px 0}.admin-top{gap:20px;flex-direction:column}.admin-top h1{font-size:48px}.upload-form{grid-template-columns:1fr}.media-grid{grid-template-columns:1fr 1fr}}

/* === FILADELFIA VIVA START === */

/*
 * COMUNIDADE VIVA
 * Revista Digital da Filadélfia — Comunidade Sacerdotal
 *
 * Paleta baseada na identidade visual do portal principal.
 */

:root {
    --fil-bg: #f5f3ef;
    --fil-bg-alt: #ede8e0;

    --fil-black: #1c030a;
    --fil-wine: #2a0110;
    --fil-wine-light: #320b19;
    --fil-title: #430519;

    --fil-accent: #a10c3f;
    --fil-accent-hover: #bd144d;

    --fil-blue: #1977f3;

    --fil-text: #554d49;
    --fil-muted: #857976;
    --fil-line: rgba(67, 5, 25, .15);

    --ink: #430519;
    --paper: #f5f3ef;
    --cream: #ede8e0;
    --gold: #a10c3f;
    --gold2: #c42a5d;
    --muted: #857976;
    --line: rgba(67, 5, 25, .15);
}


/* -----------------------------------------
   BASE
------------------------------------------ */

html,
body {
    background: var(--fil-bg);
    color: var(--fil-title);
}

body {
    background: var(--fil-bg);
}

::selection {
    background: var(--fil-accent);
    color: #fff;
}


/* -----------------------------------------
   CABEÇALHO
------------------------------------------ */

.topbar {
    background: var(--fil-black);
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,.06);
    box-shadow: 0 8px 24px rgba(28,3,10,.12);
}

.brand span {
    border-left-color: rgba(255,255,255,.16);
    color: #cbbfc2;
}

.brand b {
    color: #fff;
}

.nav nav {
    color: #d3c8cb;
}

.nav nav a {
    position: relative;
    transition: color .2s ease;
}

.nav nav a:hover {
    color: #fff;
}

.nav nav a::after {
    content: "";
    position: absolute;
    height: 1px;
    background: var(--fil-accent);
    left: 0;
    right: 100%;
    bottom: -14px;
    transition: right .22s ease;
}

.nav nav a:hover::after {
    right: 0;
}


/* Entrar — segue linguagem visual do portal */

.account {
    background: var(--fil-blue);
    border: 1px solid var(--fil-blue);
    color: #fff;
    border-radius: 4px;
    padding: 11px 20px;
    font-weight: 700;
    transition: background .2s ease, border-color .2s ease;
}

.account:hover {
    background: #0e69df;
    border-color: #0e69df;
}


/* -----------------------------------------
   CAPA / HERO
------------------------------------------ */

.hero-magazine {
    background: var(--fil-wine);
    color: #fff;
}

.hero-magazine::after {
    background:
        linear-gradient(
            90deg,
            rgba(28,3,10,.97) 0%,
            rgba(42,1,16,.88) 38%,
            rgba(42,1,16,.52) 66%,
            rgba(28,3,10,.10) 88%
        );
}

.kicker,
.eyebrow {
    color: #d13e72;
}

.hero-content h1 {
    color: #fff;
}

.hero-content h1 em {
    color: #fff;
}

.hero-content p {
    color: #e5dadd;
}


/* -----------------------------------------
   BOTÕES
------------------------------------------ */

.btn.gold {
    background: var(--fil-accent);
    color: #fff;
}

.btn.gold:hover {
    background: var(--fil-accent-hover);
}

.btn.dark {
    background: var(--fil-wine);
    color: #fff;
}


/* -----------------------------------------
   FAIXA EDITORIAL
------------------------------------------ */

.manifesto-strip {
    background: var(--fil-wine);
    color: #d9cbcf;
    border-color: rgba(255,255,255,.07);
}

.manifesto-strip i {
    background: var(--fil-accent);
}


/* -----------------------------------------
   FUNDOS
------------------------------------------ */

.feature,
.cards-section,
.latest-section,
.story-head,
.comments,
.admin-wrap {
    background: var(--fil-bg);
}

.host-highlight,
.thanks {
    background: var(--fil-bg-alt);
}


/* -----------------------------------------
   TÍTULOS
------------------------------------------ */

.section-head h2,
.host-highlight h2,
.cards h3,
.latest-card h3,
.story-head h1,
.story-body h2,
.thanks h2,
.coming h3,
.admin-top h1 {
    color: var(--fil-title);
}

.section-head > p,
.host-grid p,
.cards p,
.latest-card p,
.dek,
.story-body {
    color: var(--fil-text);
}

.kicker,
.eyebrow,
.cards article > span,
.latest-card span,
.coming span {
    color: var(--fil-accent);
}


/* -----------------------------------------
   MATÉRIA DESTAQUE
------------------------------------------ */

.feature-card {
    background: var(--fil-wine);
    color: #fff;
}

.feature-copy > span {
    color: #dc6b93;
}

.feature-copy h3 {
    color: #fff;
}

.feature-copy p {
    color: #d6c8cc;
}

.feature-copy b {
    color: #fff;
}


/* -----------------------------------------
   ANFITRIÃO
------------------------------------------ */

.host-grid a {
    color: var(--fil-title);
    border-bottom-color: var(--fil-accent);
}


/* -----------------------------------------
   CARDS
------------------------------------------ */

.cards {
    border-color: var(--fil-line);
}

.cards article,
.latest-card {
    background: #fff;
    border-color: var(--fil-line);
}

.latest-card {
    box-shadow: 0 12px 36px rgba(42,1,16,.04);
}


/* -----------------------------------------
   MATÉRIA
------------------------------------------ */

.story-body .lead {
    color: var(--fil-title);
}

.meta,
.story-cover figcaption {
    color: var(--fil-muted);
}

.pullquote {
    background: var(--fil-wine);
    color: #fff;
}

.pullquote span {
    color: #db5b88;
}

.pullquote p {
    color: #fff;
}


/* -----------------------------------------
   VÍDEO
------------------------------------------ */

.video-block {
    background: var(--fil-black);
}

.video-label span {
    color: #df6b94;
}


/* -----------------------------------------
   TESTEMUNHO
------------------------------------------ */

.coming {
    background: #fff;
    border-color: var(--fil-line);
}


/* -----------------------------------------
   REAÇÕES
------------------------------------------ */

.react-box {
    border-color: var(--fil-line);
}

.reaction-row button {
    background: #fff;
    color: var(--fil-title);
    border-color: var(--fil-line);
}

.reaction-row button:hover {
    border-color: var(--fil-accent);
    background: #faf1f4;
}

.reaction-row button.active {
    border-color: var(--fil-accent);
    background: #f6e5eb;
}

.reaction-row button span {
    color: var(--fil-muted);
}


/* -----------------------------------------
   COMENTÁRIOS
------------------------------------------ */

.comments form {
    background: var(--fil-bg-alt);
}

.comments input,
.comments textarea {
    border-color: #d1c3c5;
    color: var(--fil-title);
}

.comments input:focus,
.comments textarea:focus {
    outline: none;
    border-color: var(--fil-accent);
    box-shadow: 0 0 0 3px rgba(161,12,63,.08);
}


/* -----------------------------------------
   CTA
------------------------------------------ */

.cta,
.story-cta {
    background: var(--fil-wine);
    color: #fff;
}

.cta h2,
.story-cta h2 {
    color: #fff;
}

.cta p,
.story-cta p {
    color: #d7cbce;
}


/* -----------------------------------------
   RODAPÉ
------------------------------------------ */

footer {
    background: var(--fil-black);
    color: #fff;
}

.footer-logo {
    filter: none;
}

.footer-grid p,
.footer-grid a {
    color: #c3b5b9;
}

.footer-grid strong {
    color: #fff;
}

.footer-grid a:hover {
    color: #fff;
}

.copyright {
    color: #99888d;
    border-top-color: rgba(255,255,255,.10);
}


/* -----------------------------------------
   LOGIN
------------------------------------------ */

.login-page {
    background:
        linear-gradient(
            135deg,
            #1c030a 0%,
            #2a0110 60%,
            #430519 100%
        );
}

.login-card {
    background: var(--fil-bg);
}

.login-card img {
    filter: none;
}

.login-card h1 {
    color: var(--fil-title);
}

.login-card p {
    color: var(--fil-text);
}

.login-card input {
    border-color: #d1c3c5;
}

.login-card input:focus {
    outline: none;
    border-color: var(--fil-accent);
    box-shadow: 0 0 0 3px rgba(161,12,63,.08);
}


/* -----------------------------------------
   ADMINISTRAÇÃO
------------------------------------------ */

.admin-nav {
    background: var(--fil-bg-alt);
    border-color: var(--fil-line);
}

.admin-nav a:hover {
    background: #fff;
    color: var(--fil-accent);
}

.admin-grid article,
.admin-panel,
.editor-main,
.editor-side,
.editor-card,
.admin-table-wrap,
.upload-form,
.media-grid article,
.comment-admin-list article {
    border-color: var(--fil-line);
}

.admin-table th {
    background: var(--fil-bg-alt);
    color: var(--fil-title);
}

.editor-card {
    background: #f3eee8;
}

.comment-admin-meta strong {
    color: var(--fil-title);
}

.media-file-icon {
    background: var(--fil-wine);
    color: #fff;
}


/* -----------------------------------------
   MOBILE
------------------------------------------ */

@media (max-width: 850px) {

    .nav nav {
        background: var(--fil-black);
    }

    .hero-magazine::after {
        background:
            linear-gradient(
                0deg,
                rgba(28,3,10,.99) 0%,
                rgba(42,1,16,.84) 45%,
                rgba(42,1,16,.10) 86%
            );
    }

}

/* === FILADELFIA VIVA END === */

/* =========================================================
   COMUNIDADE VIVA — CAMADA SOCIAL
   ========================================================= */

.social-avatar{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    object-fit:cover;
    border-radius:50%;
    flex:0 0 auto;
    background:#eee5e7;
    border:2px solid rgba(255,255,255,.65);
}

.social-avatar-fallback{
    background:var(--fil-accent);
    color:#fff;
    font-family:var(--font-ui,Arial,sans-serif);
    font-weight:800;
    font-size:12px;
}

.social-user-menu{
    position:relative;
}

.social-user-menu summary{
    display:flex;
    align-items:center;
    gap:9px;
    list-style:none;
    cursor:pointer;
    color:#fff;
    font-family:var(--font-ui,Arial,sans-serif);
    font-weight:700;
}

.social-user-menu summary::-webkit-details-marker{
    display:none;
}

.social-user-popover{
    position:absolute;
    z-index:100;
    top:calc(100% + 12px);
    right:0;
    width:250px;
    padding:12px;
    background:#fff;
    border:1px solid var(--fil-line);
    border-radius:10px;
    box-shadow:0 18px 50px rgba(28,3,10,.18);
}

.social-user-card{
    display:flex;
    align-items:center;
    gap:12px;
    padding:7px 5px 13px;
    border-bottom:1px solid var(--fil-line);
    margin-bottom:7px;
}

.social-user-card strong,
.social-user-card small{
    display:block;
}

.social-user-card strong{
    color:var(--fil-title);
}

.social-user-card small{
    color:var(--fil-muted);
    margin-top:3px;
}

.social-user-popover>a{
    display:block;
    padding:9px 7px;
    color:var(--fil-title);
    border-radius:6px;
}

.social-user-popover>a:hover{
    background:var(--fil-bg-alt);
}

.social-user-popover hr{
    border:0;
    border-top:1px solid var(--fil-line);
}


/* autenticação */

.social-auth-page{
    min-height:calc(100vh - 100px);
    padding:70px 20px;
    background:var(--fil-bg);
}

.social-auth-card{
    width:min(520px,100%);
    margin:auto;
    padding:38px;
    background:#fff;
    border:1px solid var(--fil-line);
    border-radius:12px;
    box-shadow:0 20px 60px rgba(42,1,16,.06);
}

.social-auth-card h1{
    color:var(--fil-title);
    font-family:var(--font-display,Georgia,serif);
}

.social-auth-card label,
.social-profile-form label{
    display:block;
    margin:16px 0;
    font-family:var(--font-ui,Arial,sans-serif);
    font-weight:700;
    color:var(--fil-title);
}

.social-auth-card input,
.social-profile-form input,
.social-profile-form textarea{
    width:100%;
    margin-top:6px;
    padding:13px 14px;
    border:1px solid #d6c8cb;
    border-radius:6px;
    background:#fff;
    font:inherit;
}


/* perfil */

.social-profile-edit{
    padding-top:65px;
    padding-bottom:80px;
}

.social-profile-edit-head{
    display:flex;
    align-items:center;
    gap:22px;
    margin-bottom:35px;
}

.social-profile-form{
    max-width:720px;
    padding:30px;
    background:#fff;
    border:1px solid var(--fil-line);
    border-radius:10px;
}

.social-public-profile{
    background:var(--fil-bg);
    padding:70px 0;
}

.social-profile-hero{
    display:flex;
    align-items:center;
    gap:30px;
}

.social-profile-hero h1{
    margin:0 0 4px;
    color:var(--fil-title);
}

.social-profile-hero p{
    max-width:620px;
}

.social-profile-stats{
    display:flex;
    gap:45px;
    margin-top:35px;
    padding-top:25px;
    border-top:1px solid var(--fil-line);
}

.social-profile-stats div{
    display:flex;
    flex-direction:column;
}

.social-profile-stats strong{
    font-size:25px;
    color:var(--fil-title);
}


/* interação */

.social-engagement{
    margin:35px auto;
    max-width:920px;
    border-top:1px solid var(--fil-line);
    border-bottom:1px solid var(--fil-line);
}

.social-reaction-summary{
    min-height:44px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:8px 4px;
    color:var(--fil-muted);
    font-size:14px;
}

.social-reaction-faces{
    display:flex;
}

.social-reaction-faces .social-avatar{
    margin-right:-8px;
    border:2px solid var(--fil-bg);
}

.social-actionbar{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-top:1px solid var(--fil-line);
}

.social-action{
    appearance:none;
    border:0;
    background:transparent;
    min-height:48px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:6px;
    cursor:pointer;
    font-family:var(--font-ui,Arial,sans-serif);
    font-weight:700;
    color:var(--fil-text);
}

.social-action:hover{
    background:var(--fil-bg-alt);
}

.social-reaction-control,
.social-share-control{
    position:relative;
}

.social-reaction-main,
.social-share-main{
    width:100%;
}

.social-reaction-picker{
    display:none;
    position:absolute;
    z-index:70;
    bottom:calc(100% + 8px);
    left:0;
    padding:8px;
    background:#fff;
    border:1px solid var(--fil-line);
    border-radius:40px;
    box-shadow:0 16px 40px rgba(28,3,10,.18);
    white-space:nowrap;
}

.social-reaction-control:hover
.social-reaction-picker,
.social-reaction-control.open
.social-reaction-picker{
    display:flex;
}

.social-reaction-picker button{
    position:relative;
    width:48px;
    height:48px;
    border:0;
    background:transparent;
    border-radius:50%;
    cursor:pointer;
    transition:transform .15s ease;
}

.social-reaction-picker button:hover{
    transform:scale(1.28) translateY(-5px);
}

.social-reaction-picker button>span{
    font-size:29px;
}

.social-reaction-picker button small{
    display:none;
    position:absolute;
    bottom:54px;
    left:50%;
    transform:translateX(-50%);
    background:var(--fil-black);
    color:#fff;
    padding:5px 7px;
    border-radius:5px;
}

.social-reaction-picker button:hover small{
    display:block;
}

.social-reaction-picker button b{
    display:none;
}

.social-share-menu{
    display:none;
    position:absolute;
    z-index:70;
    top:calc(100% + 7px);
    right:0;
    width:190px;
    padding:7px;
    background:#fff;
    border:1px solid var(--fil-line);
    border-radius:8px;
    box-shadow:0 16px 40px rgba(28,3,10,.18);
}

.social-share-control.open
.social-share-menu{
    display:block;
}

.social-share-menu button{
    width:100%;
    border:0;
    background:transparent;
    text-align:left;
    padding:10px;
    cursor:pointer;
    border-radius:5px;
}

.social-share-menu button:hover{
    background:var(--fil-bg-alt);
}


/* comentários */

.social-comment-form{
    margin-top:25px;
}

.social-comment-author{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:13px;
}

.social-comment-form textarea{
    width:100%;
    padding:15px;
    border:1px solid #d2c5c8;
    border-radius:8px;
    resize:vertical;
}

.social-login-cta{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    padding:22px;
    background:var(--fil-bg-alt);
    border-radius:8px;
}

.social-login-cta p{
    flex:1 1 300px;
    margin:0;
}

.social-comment-list{
    margin-top:32px;
}

.social-comment-list article{
    display:grid;
    grid-template-columns:44px 1fr;
    gap:12px;
    padding:18px 0;
    border-bottom:1px solid var(--fil-line);
}

.social-comment-name{
    color:var(--fil-title);
    font-weight:800;
}

.social-comment-list small{
    display:block;
    margin-top:2px;
    color:var(--fil-muted);
}

.social-comment-list p{
    margin:7px 0 0;
}


@media(max-width:700px){

    .social-user-menu summary span{
        display:none;
    }

    .social-profile-hero{
        align-items:flex-start;
        flex-direction:column;
    }

    .social-profile-stats{
        gap:22px;
        justify-content:space-between;
    }

    .social-action{
        font-size:13px;
    }

    .social-reaction-picker{
        left:-5px;
        max-width:calc(100vw - 20px);
    }

    .social-reaction-picker button{
        width:40px;
        height:44px;
    }

    .social-reaction-picker button>span{
        font-size:25px;
    }

}


/* =========================================================
   COMUNIDADE VIVA — INTERAÇÃO DA PUBLICAÇÃO V3
   ========================================================= */

.social-article-shell{
    background:#fff;
    border-top:1px solid var(--fil-line);
    padding:65px 0 80px;
}

.social-article-shell-inner{
    max-width:920px;
}

.social-interaction-title{
    margin-bottom:26px;
}

.social-interaction-title h2{
    margin:
        8px
        0
        8px;

    color:var(--fil-title);

    font-family:
        var(--font-display, Georgia, serif);

    font-size:
        clamp(30px,4vw,45px);

    line-height:1.08;
}

.social-interaction-title p{
    margin:0;
    color:var(--fil-text);
    font-size:16px;
}


/* barra igual ao padrão familiar de redes sociais */

.social-engagement{
    width:100%;
    max-width:none;
    margin:0 0 40px;
    background:#fff;
    border-top:1px solid var(--fil-line);
    border-bottom:1px solid var(--fil-line);
}

.social-reaction-summary{
    min-height:48px;
    padding:9px 4px;
}

.social-actionbar{
    width:100%;
}

.social-action{
    min-height:52px;
    font-size:15px;
}


/* picker de reações */

.social-reaction-picker{
    padding:7px 10px;
    border-radius:999px;
}

.social-reaction-picker button{
    width:52px;
    height:52px;
}

.social-reaction-picker button > span{
    display:block;
    font-size:30px;
    line-height:1;
}


/* comentários */

.social-comments{
    width:100%;
    max-width:none;
    padding:0;
    background:#fff;
}

.social-comments > .eyebrow{
    display:none;
}

.social-comments h2{
    color:var(--fil-title);
    margin-top:0;
}

.social-comment-form{
    background:var(--fil-bg);
    padding:20px;
    border-radius:10px;
}

.social-comment-form textarea{
    min-height:100px;
    background:#fff;
}

.social-comment-list article{
    padding:20px 4px;
}


/* visitante não autenticado */

.social-login-cta{
    margin-top:18px;
    border:1px solid var(--fil-line);
}


/* celular */

@media(max-width:700px){

    .social-article-shell{
        padding:45px 0 60px;
    }

    .social-actionbar{
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

    .social-action{
        min-height:50px;
        padding:5px;
        font-size:12px;
    }

    .social-reaction-picker{
        max-width:calc(100vw - 30px);
        overflow-x:auto;
    }

    .social-reaction-picker button{
        min-width:42px;
        width:42px;
    }

    .social-reaction-picker button > span{
        font-size:25px;
    }

}
