/*
Theme Name: Santa Paula Frassinetti - Organic
Description: Tema orgânico da Paróquia Santa Paula Frassinetti, com feed social, comunidades, perfis, colunas e experiência responsiva.
Author: Paróquia Santa Paula Frassinetti
Template: hello-elementor
Version: 0.3.6.13
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: santa-paula-frassinetti-organic
License: GNU General Public License v3 or later
*/
.sps-app{--sp-green:#24533f;--sp-ink:#243a31;--sp-muted:#67776d;--sp-line:#e0e5df;--sp-soft:#edf2eb;background:#f5f5f1;color:var(--sp-ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0}
.sps-app *{box-sizing:border-box}.sps-app a{color:inherit;text-decoration:none}.sps-app a:hover{color:var(--sp-green)}.sps-app button,.sps-app input,.sps-app textarea{font:inherit}.sps-app button{cursor:pointer}.sps-app a:focus-visible,.sps-app button:focus-visible{outline:3px solid #ac883b;outline-offset:4px}.sps-app img{max-width:100%;height:auto}.sps-app h1,.sps-app h2,.sps-app h3{color:inherit;margin-top:0}.sps-app h1{font:400 34px/1.2 Georgia,serif;margin-bottom:10px}.sps-app h2{font-size:21px;line-height:1.35}.sps-app h3{font-size:15px;font-weight:600}.sps-app p{margin:0 0 16px}.sps-header{background:#fff;border-bottom:1px solid var(--sp-line)}.sps-header-inner{max-width:1260px;margin:auto;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:28px}.sps-brand{display:flex;gap:14px;align-items:center;min-width:0}.sps-brand strong{font:500 24px/1.2 Georgia,serif;display:block}.sps-brand span{font-size:12px;color:var(--sp-muted);display:block;margin-top:3px}.sps-mark{display:flex;align-items:center;justify-content:center;border:1px solid var(--sp-green);border-radius:50%;width:46px;height:46px;flex-shrink:0;color:var(--sp-green)}.sps-brand .custom-logo{max-width:76px;max-height:62px;width:auto;object-fit:contain}.sps-brand .custom-logo-link{flex-shrink:0}.sps-search{display:flex;width:280px;flex-shrink:0;background:#f5f6f3;border:1px solid var(--sp-line);border-radius:25px;overflow:hidden}.sps-search input{background:transparent;border:0!important;padding:9px 14px;min-width:0;width:100%;color:var(--sp-ink)}.sps-search button{border:0;background:transparent;color:var(--sp-ink);padding:9px 14px;display:flex;align-items:center}.sps-shell{max-width:1260px;margin:0 auto;padding:32px 28px;display:grid;grid-template-columns:175px minmax(0,620px) 235px;gap:35px;align-items:start}.sps-main{min-width:0}.sps-nav{display:flex;flex-direction:column;gap:8px}.sps-nav>a{display:flex;align-items:center;gap:12px;padding:13px 12px;border-radius:9px;font-weight:500}.sps-nav>a[aria-current],.sps-nav>a:hover{background:#e8eee5}.sps-nav svg{flex-shrink:0}.sps-nav-pages{border-top:1px solid var(--sp-line);margin-top:20px;padding-top:20px}.sps-nav-pages:empty{display:none}.sps-nav-pages ul{list-style:none;padding:0;margin:0}.sps-nav-pages a{display:block;padding:7px 12px;font-size:13px}.sps-nav-note{padding:24px 12px;font-size:12px;color:var(--sp-muted)}.sps-overline{font-size:10px;letter-spacing:1.8px;color:var(--sp-green);font-weight:600;text-transform:uppercase}.sps-intro h1{margin-top:10px}.sps-intro p{color:var(--sp-muted)}.sps-people{display:flex;gap:18px;flex-wrap:wrap;margin:26px 0}.sps-people>a{display:grid;justify-items:center;gap:7px;font-size:12px;width:65px;text-align:center;overflow-wrap:anywhere}.sps-avatar{width:48px;height:48px;flex-shrink:0;border:1px solid #d4dfd2;border-radius:50%;background:#eaf0e7;color:var(--sp-green);display:flex;align-items:center;justify-content:center;font-size:19px;text-transform:uppercase}.sps-post{background:#fff;border:1px solid var(--sp-line);border-radius:13px;overflow:hidden;margin:0 0 24px}.sps-post-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px}.sps-author{display:flex;gap:11px;align-items:center;min-width:0}.sps-author strong{font-size:14px;font-weight:600;overflow-wrap:anywhere}.sps-author small{display:block;color:var(--sp-muted);font-size:11px}.sps-author .sps-avatar{width:40px;height:40px;font-size:16px}.sps-post-category{font-size:11px;color:var(--sp-green);max-width:42%;text-align:right;overflow-wrap:anywhere}.sps-photo{display:block;background:#edf0e9}.sps-photo img{display:block;width:100%;max-height:760px;object-fit:contain;margin:auto}.sps-text-cover{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:42px 30px;text-align:center;background:linear-gradient(140deg,#e6eadb,#f4eee2)}.sps-text-cover h2{font:400 38px/1.15 Georgia,serif;margin:22px 0;overflow-wrap:anywhere}.sps-cover-rule{width:50px;height:1px;background:#9aaa8b;margin-top:12px}.sps-post-body{padding:0 20px 18px}.sps-post-body h2{margin:12px 0}.sps-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 17px}.sps-actions>a,.sps-actions>button{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--sp-ink);background:transparent;border:0;padding:4px 0}.sps-actions button:hover{color:var(--sp-green);background:transparent}.sps-excerpt{font-size:14px;overflow-wrap:anywhere}.sps-read{font-size:13px;font-weight:600;color:var(--sp-green)!important}.sps-share-status{font-size:12px;overflow-wrap:anywhere;margin:8px 0 0!important}.sps-share-status:empty{display:none}.sps-aside section{border-bottom:1px solid var(--sp-line);padding:22px 0}.sps-aside section:first-child{padding-top:5px}.sps-aside h2{font:400 26px/1.25 Georgia,serif;margin:12px 0}.sps-aside p,.sps-aside small{font-size:13px;color:var(--sp-muted)}.sps-aside ul{padding:0;list-style:none}.sps-aside li a{display:flex;justify-content:space-between;gap:10px;padding:8px 0;font-size:13px}.sps-aside li span{color:var(--sp-muted)}.sps-profile,.sps-empty,.sps-single,.sps-comments{background:#fff;border:1px solid var(--sp-line);border-radius:12px;padding:28px;margin-bottom:24px}.sps-profile>.sps-avatar{width:76px;height:76px;margin-bottom:20px;font-size:28px}.sps-profile h1{margin:10px 0}.sps-profile p{white-space:pre-line}.sps-count{font-size:12px;color:var(--sp-muted)}.sps-pagination{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.sps-pagination .page-numbers{padding:7px 12px;border-radius:6px;background:#fff}.sps-pagination .current{background:var(--sp-green);color:#fff}.sps-back{font-size:13px;display:inline-block;margin-bottom:25px}.sps-single h1{margin:25px 0}.sps-single-photo{display:block;border-radius:8px;margin:0 auto 25px}.sps-content{overflow-wrap:anywhere}.sps-content a{text-decoration:underline}.sps-content figure{max-width:100%;margin-left:0;margin-right:0}.sps-content iframe,.sps-content video{max-width:100%}.sps-content ul,.sps-content ol{padding-left:24px}.sps-content .alignfull,.sps-content .alignwide{width:100%;margin-left:0;margin-right:0}.sps-comments input,.sps-comments textarea{border:1px solid var(--sp-line);border-radius:7px}.sps-comments input[type=submit]{background:var(--sp-green);color:#fff;padding:12px 20px}.sps-comments .comment-list{padding-left:0;list-style:none}.sps-comments .children{padding-left:20px}.sps-bottom{max-width:1200px;margin:auto;padding:18px 28px;color:var(--sp-muted);border-top:1px solid var(--sp-line);font-size:12px}.sps-skip{position:absolute;left:15px;top:-100px;background:#fff;padding:12px;z-index:99999}.sps-skip:focus{top:10px}
@media(min-width:941px){.sps-nav{position:sticky;top:30px}.admin-bar .sps-nav{top:55px}}
@media(max-width:1100px){.sps-shell{grid-template-columns:150px minmax(0,1fr) 190px;gap:22px}}
@media(max-width:940px){.sps-shell{grid-template-columns:150px minmax(0,1fr);gap:24px}.sps-aside{grid-column:2}.sps-aside section:first-child,.sps-aside section:last-child{display:none}.sps-search{width:230px}}
@media(max-width:620px){.sps-header-inner{padding:16px;flex-wrap:wrap;gap:16px}.sps-brand strong{font-size:21px}.sps-brand span{font-size:11px}.sps-search{width:100%}.sps-shell{display:flex;flex-direction:column;padding:22px 0 0;gap:0}.sps-main{width:100%}.sps-intro,.sps-people{margin-left:18px;margin-right:18px}.sps-app h1{font-size:29px}.sps-post{border-radius:0;border-left:0;border-right:0;margin-bottom:20px}.sps-text-cover h2{font-size:34px}.sps-post-body{padding-left:16px;padding-right:16px}.sps-post-header{padding:14px 16px}.sps-nav{order:3;position:sticky;bottom:0;z-index:90;background:#fff;border-top:1px solid var(--sp-line);width:100%;display:flex;flex-direction:row;justify-content:space-around;padding:8px 3px calc(8px + env(safe-area-inset-bottom))}.sps-nav>a{flex-direction:column;gap:4px;padding:8px;font-size:11px;text-align:center}.sps-nav-note,.sps-nav-pages{display:none}.sps-aside{padding:10px 18px;width:100%}.sps-profile,.sps-single,.sps-comments,.sps-empty{padding:22px 18px;border-radius:0;border-left:0;border-right:0}.sps-actions span{font-size:11px}.sps-bottom{padding:18px}.sps-main>h1{padding:0 18px}.sps-brand .custom-logo{max-width:58px}}
@media(prefers-reduced-motion:reduce){.sps-app *{scroll-behavior:auto!important;transition:none!important}}

/* 0.1.1: navegação móvel fixa com espaço reservado para o conteúdo. */
@media(max-width:620px){
 .sps-app{padding-bottom:calc(94px + env(safe-area-inset-bottom));}
 .sps-app .sps-nav{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;min-height:76px;box-shadow:0 -3px 16px rgba(36,58,49,.06);}
 .sps-app .sps-nav>a{min-height:52px;min-width:52px;justify-content:center;}
 .sps-app .sps-aside{scroll-margin-bottom:calc(100px + env(safe-area-inset-bottom));}
}

/* 0.1.2: marca oficial completa, preservada sem recorte. */
.sps-brand .sps-official-logo,.sps-brand .custom-logo-link{display:block;line-height:0;}
.sps-brand .sps-official-logo img,.sps-brand .custom-logo{display:block;width:230px;max-width:100%;height:auto;max-height:none;object-fit:contain;}
.sps-header-inner{padding-top:14px;padding-bottom:14px;}
@media(max-width:620px){
 .sps-brand{width:100%;justify-content:center;}
 .sps-brand .sps-official-logo img,.sps-brand .custom-logo{width:190px;max-width:100%;height:auto;max-height:none;}
}


/* 0.2.2 — ícone de mensagem personalizado 24x24 */
.sps-icon-message{
  display:block;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  max-width:24px!important;
  flex:0 0 24px!important;
  object-fit:contain;
}
.sps-nav .sps-icon-message,
.sps-actions .sps-icon-message{
  width:24px!important;
  height:24px!important;
}


/* 0.2.3 — contador de curtidas + ícones sociais na paleta do tema */
.sps-engagement{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}
.sps-feed-likes,
.sps-feed-comments{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:12px;
  line-height:1;
}
.sps-feed-likes{
  color:#db443c!important;
}
.sps-feed-comments{
  color:var(--sp-ink)!important;
}
.sps-feed-comments svg{
  color:var(--sp-green)!important;
}
.sps-feed-likes svg,
.sps-feed-comments svg{
  width:22px;
  height:22px;
  flex:0 0 22px;
}
.sps-nav a svg{
  color:var(--sp-green)!important;
}
.sps-actions>button{
  color:var(--sp-green)!important;
}
.sps-actions>button:hover{
  color:var(--sp-ink)!important;
}
@media(max-width:620px){
  .sps-engagement{gap:12px}
  .sps-feed-likes,.sps-feed-comments{font-size:11px}
  .sps-feed-likes svg,.sps-feed-comments svg{width:20px;height:20px;flex-basis:20px}
}


/* 0.3.0.0 — Camada 5: perfil público dos membros */
.sps-member-profile-head{
  display:flex;
  align-items:center;
  gap:18px;
}
.sps-member-profile-head .sps-avatar{
  width:88px!important;
  height:88px!important;
  margin:0!important;
  object-fit:cover;
  font-size:28px;
}
.sps-member-profile-head h1{margin:5px 0 4px!important}
.sps-member-bio{margin:20px 0!important;color:var(--sp-ink)}
.sps-member-communities{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid var(--sp-line);
}
.sps-member-communities>strong{
  display:block;
  margin-bottom:9px;
  font-size:11px;
  color:var(--sp-muted);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.sps-member-communities>div{display:flex;flex-wrap:wrap;gap:7px}
.sps-member-communities a{
  padding:6px 10px;
  border:1px solid var(--sp-line);
  border-radius:999px;
  color:var(--sp-green)!important;
  font-size:11px;
  font-weight:700;
}
.sps-member-profile-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:18px;
}
.sps-profile-edit{
  padding:7px 11px;
  border-radius:7px;
  background:var(--sp-green);
  color:#fff!important;
  font-size:11px;
  font-weight:700;
}
.sps-profile-edit:hover{color:#fff!important;filter:brightness(.92)}
.sps-avatar-profile{
  overflow:hidden;
  border-radius:50%;
}
.sps-avatar-profile img{width:100%!important;height:100%!important;object-fit:cover!important}
@media(max-width:620px){
  .sps-member-profile-head{align-items:flex-start}
  .sps-member-profile-head .sps-avatar{width:76px!important;height:76px!important;flex:0 0 76px}
  .sps-member-profile-meta{align-items:flex-start;flex-direction:column}
}


/* 0.3.2.0 — páginas estáticas não usam mais o template do feed */
.sps-static-page{
  min-width:0;
}
.sps-static-page-header{
  margin:0 0 22px;
}
.sps-static-page-header h1{
  margin:8px 0 0!important;
}
.sps-static-page-content{
  min-width:0;
}
.sps-static-page-profile .sps-static-page-content{
  width:100%;
}
.sps-static-page-profile .spc-member-edit{
  max-width:100%;
}
.sps-static-page-profile .spc-member-edit>.spc-box,
.sps-static-page-profile .spc-member-edit-head{
  background:#fff;
  border:1px solid var(--sp-line);
  border-radius:13px;
}


/* 0.3.2.0 — handles e selos */
.sps-profile-handle{
  margin:-1px 0 5px;
  color:var(--sp-muted);
  font-size:12px;
  font-weight:700;
}
.sps-people > a small{
  display:block;
  margin-top:-5px;
  color:var(--sp-muted);
  font-size:9px;
  line-height:1.2;
  max-width:72px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.sps-author-handle{
  color:var(--sp-green)!important;
  font-weight:700;
}
.sps-profile h1 .spc-verify-badge,
.sps-author strong .spc-verify-badge{
  transform:translateY(-1px);
}


/* 0.3.3.0 — estatísticas sociais do perfil */
.sps-member-profile-meta{
  align-items:center;
}
.sps-profile-stats{
  display:flex;
  align-items:stretch;
  gap:8px;
  flex-wrap:wrap;
}
.sps-profile-stats>div{
  min-width:88px;
  padding:9px 11px;
  border:1px solid var(--sp-line);
  border-radius:9px;
  background:#f8faf7;
  text-align:center;
}
.sps-profile-stats strong{
  display:block;
  color:var(--sp-green);
  font-size:18px;
  line-height:1.05;
}
.sps-profile-stats span{
  display:block;
  margin-top:4px;
  color:var(--sp-muted);
  font-size:9px;
  line-height:1.25;
}
@media(max-width:620px){
  .sps-profile-stats{
    width:100%;
  }
  .sps-profile-stats>div{
    flex:1 1 30%;
    min-width:80px;
  }
}


/* 0.3.3.1 — card do feed simplificado */
.sps-post-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:14px;
}
.sps-post-community{
  color:var(--sp-green)!important;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
.sps-post-community:hover{
  text-decoration:underline;
}
@media(max-width:620px){
  .sps-post-footer{
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
  }
}


/* 0.3.4.0 — perfil inspirado em cabeçalho social/editorial */
.sps-member-profile{
  padding:24px 26px!important;
}
.sps-member-profile-main{
  display:flex;
  align-items:center;
  gap:20px;
}
.sps-member-profile-avatar{
  flex:0 0 auto;
}
.sps-member-profile-avatar .sps-avatar{
  width:112px!important;
  height:112px!important;
  margin:0!important;
  font-size:34px;
}
.sps-member-profile-content{
  min-width:0;
  flex:1 1 auto;
}
.sps-member-profile-kicker-row{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:24px;
}
.sps-profile-edit-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:6px;
  color:var(--sp-green)!important;
  opacity:.86;
}
.sps-profile-edit-icon:hover{
  background:#edf2eb;
  opacity:1;
}
.sps-profile-edit-icon img{
  display:block;
  width:20px!important;
  height:20px!important;
  object-fit:contain;
}
.sps-member-profile h1{
  margin:4px 0 2px!important;
  font-size:34px;
}
.sps-member-summary{
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
  color:var(--sp-muted);
  font-size:12px;
  line-height:1.45;
  font-weight:400;
}
.sps-member-summary span{
  font-weight:400!important;
}
.sps-member-handle{
  color:var(--sp-green)!important;
  font-weight:700;
}
.sps-member-bio{
  margin:10px 0 7px!important;
  color:var(--sp-ink);
}
.sps-member-social-links{
  display:flex;
  flex-wrap:wrap;
  gap:7px 12px;
  margin:5px 0 8px;
}
.sps-member-social-links a{
  color:var(--sp-green)!important;
  font-size:12px;
  font-weight:700;
}
.sps-member-social-links a:hover{
  text-decoration:underline;
}
.sps-member-communities{
  margin-top:20px;
}
.sps-member-communities>strong{
  font-size:10px;
  letter-spacing:.08em;
}
@media(max-width:620px){
  .sps-member-profile{
    padding:19px!important;
  }
  .sps-member-profile-main{
    align-items:flex-start;
    gap:15px;
  }
  .sps-member-profile-avatar .sps-avatar{
    width:82px!important;
    height:82px!important;
    flex-basis:82px!important;
    font-size:25px;
  }
  .sps-member-profile h1{
    font-size:27px;
  }
  .sps-member-summary{
    font-size:11px;
  }
}



/* 0.3.4.3 — ícone único SVG para links sociais do perfil */
:root{
  --sps-social-link-icon-color: #294b3b;
}

.sps-member-social-links{
  align-items:center;
}

.sps-social-link{
  display:inline-flex!important;
  align-items:center;
  gap:6px;
  line-height:1;
  color:inherit;
  text-decoration:none;
}

.sps-social-link__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  flex:0 0 18px;
  color:var(--sps-social-link-icon-color);
}

.sps-social-link__icon svg{
  display:block;
  width:18px;
  height:18px;
  fill:currentColor;
}

.sps-social-link span:last-child{
  line-height:1.2;
}

/* Preparado para futura versão escura */
body.dark-theme,
html[data-theme="dark"]{
  --sps-social-link-icon-color: #ffffff;
}

body.dark-theme .sps-social-link.is-accent,
html[data-theme="dark"] .sps-social-link.is-accent{
  --sps-social-link-icon-color: #6aa9ff;
}


/* 0.3.4.4 — usa exatamente a geometria do SVG de link fornecido pelo usuário */
.sps-social-link__icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  color:var(--sps-social-link-icon-color);
}
.sps-social-link__icon svg{
  width:18px;
  height:18px;
  display:block;
  fill:currentColor;
}


/* 0.3.4.5 — ícones de gostei e comentário substituídos pelos SVGs sólidos enviados pelo usuário */
.sps-feed-likes svg,.sps-feed-comments svg,.sps-comment-like svg{display:block;vertical-align:middle;}


/* 0.3.4.6 — selo de verificação proporcional ao nome no perfil */
.sps-member-profile h1{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  column-gap:0;
}
.sps-member-profile h1 .spc-verify-badge{
  width:24px!important;
  height:24px!important;
  margin-left:5px!important;
  transform:none!important;
}
.sps-member-profile h1 .spc-verify-badge img{
  width:24px!important;
  height:24px!important;
}


/* ==========================================================
   0.3.4.9 — shell desktop superior, sem tocar no mobile
   IMPORTANTE: todas as alterações abaixo existem SOMENTE >= 941px.
   O CSS mobile original do tema permanece intacto.
   ========================================================== */
@media (min-width:941px){
  .sps-shell{
    max-width:1260px!important;
    margin:0 auto!important;
    padding:32px 28px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 235px!important;
    grid-template-areas:
      "nav nav"
      "main aside"!important;
    column-gap:35px!important;
    row-gap:28px!important;
    align-items:start!important;
  }

  .sps-shell>.sps-nav{
    grid-area:nav!important;
    min-width:0!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:4px!important;
  }

  .sps-shell>.sps-main{
    grid-area:main!important;
    min-width:0!important;
    width:100%!important;
    max-width:none!important;
  }

  .sps-shell>.sps-aside{
    grid-area:aside!important;
    min-width:0!important;
  }

  .sps-nav>a{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:max-content!important;
  }

  .sps-nav-pages,
  .sps-nav-note{
    display:none!important;
  }
}

@media (min-width:941px) and (max-width:1100px){
  .sps-shell{
    grid-template-columns:minmax(0,1fr) 190px!important;
    gap:22px!important;
  }
}


/* ==========================================================
   0.3.5.0 — cards de Comunidades refinados
   ========================================================== */
.spc-directory .spc-community{
  position:relative;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:0!important;
  height:100%!important;
  padding:22px 20px 20px!important;
  border:1px solid #dce3dc!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#243a31!important;
  text-decoration:none!important;
  text-align:center!important;
  box-shadow:0 1px 0 rgba(36,83,63,.02);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.spc-directory .spc-community:hover,
.spc-directory .spc-community:focus-visible{
  transform:translateY(-2px);
  border-color:#c9d7cd!important;
  box-shadow:0 10px 24px rgba(36,83,63,.08);
  outline:none;
}
.spc-directory .spc-community img{
  display:block!important;
  width:156px!important;
  height:156px!important;
  max-width:156px!important;
  flex:0 0 156px!important;
  margin:0 auto 18px!important;
  padding:0!important;
  border-radius:50%!important;
  object-fit:cover!important;
  object-position:center!important;
  border:3px solid #eef2ed!important;
  background:#f3f5f2!important;
  box-shadow:0 2px 8px rgba(36,83,63,.07);
  transition:transform .2s ease;
}
.spc-directory .spc-community:hover img{
  transform:scale(1.025);
}
.spc-directory .spc-community h2{
  width:100%!important;
  margin:0 0 10px!important;
  color:#243a31!important;
  font-family:inherit;
  font-size:20px!important;
  font-weight:600!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  text-align:center!important;
  overflow-wrap:anywhere!important;
}
.spc-directory .spc-community p{
  width:100%!important;
  margin:0 0 18px!important;
  color:#5f7067!important;
  font-size:13px!important;
  line-height:1.55!important;
  text-align:center!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
  min-height:calc(1.55em * 3);
  flex:0 0 auto!important;
}
.spc-directory .spc-community span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-top:auto!important;
  padding:8px 13px!important;
  border:1px solid #d6e1d9!important;
  border-radius:999px!important;
  background:#f7faf7!important;
  color:#24533f!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1!important;
  white-space:nowrap!important;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.spc-directory .spc-community:hover span{
  background:#edf3ee!important;
  border-color:#bfd1c4!important;
  transform:translateY(-1px);
}
@media (max-width:900px) and (min-width:621px){
  .spc-directory .spc-community{
    padding:20px 16px 18px!important;
  }
  .spc-directory .spc-community img{
    width:136px!important;
    height:136px!important;
    max-width:136px!important;
    flex-basis:136px!important;
  }
}
@media (max-width:620px){
  .spc-directory .spc-community{
    padding:18px 16px!important;
    border-radius:12px!important;
  }
  .spc-directory .spc-community img{
    width:118px!important;
    height:118px!important;
    max-width:118px!important;
    flex-basis:118px!important;
    margin-bottom:14px!important;
    border-radius:50%!important;
    object-fit:cover!important;
  }
  .spc-directory .spc-community h2{
    font-size:18px!important;
  }
  .spc-directory .spc-community p{
    font-size:13px!important;
    -webkit-line-clamp:3!important;
    min-height:auto!important;
  }
}


/* ==========================================================
   0.3.5.1 — perfil de comunidade centralizado, sem barra lateral
   ========================================================== */

/* Remove a barra lateral apenas no perfil público das comunidades
   e centraliza o conteúdo principal, mantendo o restante do site igual. */
body.tax-spc_community .sps-shell > .sps-aside{
  display:none !important;
}

body.tax-spc_community .sps-shell > .sps-main{
  width:100% !important;
  max-width:920px !important;
  margin:0 auto !important;
}

@media (min-width:941px){
  body.tax-spc_community .sps-shell{
    max-width:1260px !important;
    grid-template-columns:minmax(0, 920px) !important;
    grid-template-areas:
      "nav"
      "main" !important;
    justify-content:center !important;
    row-gap:28px !important;
  }
}

@media (min-width:621px) and (max-width:940px){
  body.tax-spc_community .sps-shell{
    grid-template-columns:minmax(0, 920px) !important;
    justify-content:center !important;
  }
}

@media (max-width:620px){
  body.tax-spc_community .sps-aside{
    display:none !important;
  }

  body.tax-spc_community .sps-main{
    max-width:920px !important;
    margin:0 auto !important;
  }
}


/* ==========================================================
   0.3.5.2 — barra lateral somente na página inicial
   ========================================================== */

/* Em qualquer tela que não seja a página inicial/feed,
   remove completamente a lateral "Nossa Paróquia". */
body:not(.home):not(.front-page) .sps-shell > .sps-aside{
  display:none!important;
}

/* Centraliza a área principal nas páginas internas:
   Comunidades, perfis, Social/Mensagens, Minha equipe,
   posts individuais, páginas e demais telas internas. */
body:not(.home):not(.front-page) .sps-shell > .sps-main{
  width:100%!important;
  max-width:920px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Desktop: navegação continua ocupando a largura do shell,
   enquanto o conteúdo fica em uma única coluna central. */
@media (min-width:941px){
  body:not(.home):not(.front-page) .sps-shell{
    max-width:1260px!important;
    grid-template-columns:minmax(0,920px)!important;
    grid-template-areas:
      "nav"
      "main"!important;
    justify-content:center!important;
    column-gap:0!important;
    row-gap:28px!important;
  }

  body:not(.home):not(.front-page) .sps-shell > .sps-nav{
    width:min(100vw - 56px,1260px)!important;
    max-width:1260px!important;
    justify-self:center!important;
  }
}

/* Tablet: também usa somente a coluna central. */
@media (min-width:621px) and (max-width:940px){
  body:not(.home):not(.front-page) .sps-shell{
    grid-template-columns:minmax(0,1fr)!important;
    gap:24px!important;
  }

  body:not(.home):not(.front-page) .sps-shell > .sps-main{
    max-width:920px!important;
  }
}

/* Mobile: nenhuma lateral/rodapé de categorias extra nas telas internas. */
@media (max-width:620px){
  body:not(.home):not(.front-page) .sps-shell > .sps-aside{
    display:none!important;
  }

  body:not(.home):not(.front-page) .sps-shell > .sps-main{
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}


/* ==========================================================
   0.3.5.3 — navegação desktop consistente nas páginas internas
   ========================================================== */
@media (min-width:941px){
  body:not(.home):not(.front-page) .sps-shell > .sps-nav{
    width:min(calc(100vw - 56px),1260px)!important;
    max-width:1260px!important;
    justify-self:center!important;
  }
}


/* ==========================================================
   0.3.5.4 — faixa desktop realmente de ponta a ponta
   O plugin já usa 100vw; a regra 0.3.5.2/0.3.5.3 do tema estava
   sobrescrevendo isso e limitando a barra às páginas internas.
   ========================================================== */
@media (min-width:941px){

  body:not(.home):not(.front-page) .sps-shell > .sps-nav{
    width:100vw!important;
    max-width:none!important;

    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;

    justify-self:stretch!important;
  }
}


/* ==========================================================
   0.3.5.5 — Colunas / colaboradores com publicações
   ========================================================== */
.sps-columns{
  margin:54px 0 20px;
  padding-top:28px;
  border-top:1px solid var(--sp-line);
}

.sps-columns-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:22px;
}

.sps-columns-icon{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 42px;
  border:1px solid #d6aa45;
  border-radius:50%;
  color:#c99420;
  background:#fff;
}

.sps-columns-head .sps-overline{
  display:block;
  margin-bottom:2px;
}

.sps-columns-head h2{
  margin:0!important;
  font:400 34px/1.12 Georgia,serif!important;
  color:var(--sp-ink);
}

.sps-columns-track{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}

.sps-column-card{
  min-width:0;
  min-height:275px;
  padding:24px 22px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  background:#fff;
  border:1px solid var(--sp-line);
  border-radius:10px;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}

.sps-column-card:hover{
  transform:translateY(-2px);
  border-color:#ced8cf;
  box-shadow:0 8px 22px rgba(36,58,49,.07);
}

.sps-column-profile{
  display:flex;
  flex-direction:column;
  align-items:center;
  width:100%;
}

.sps-column-profile .sps-avatar{
  width:96px!important;
  height:96px!important;
  margin:0 auto 12px!important;
  font-size:30px!important;
}

.sps-column-profile .sps-avatar img,
.sps-column-profile img.sps-avatar-profile{
  width:96px!important;
  height:96px!important;
  border-radius:50%!important;
  object-fit:cover!important;
}

.sps-column-role{
  display:block;
  margin:0 0 2px;
  font-size:13px;
  color:var(--sp-muted);
}

.sps-column-profile strong{
  display:block;
  margin:0;
  font:600 20px/1.25 Georgia,serif;
  color:var(--sp-green);
  overflow-wrap:anywhere;
}

.sps-column-latest{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin-top:12px;
  font-size:14px;
  line-height:1.45;
  font-style:italic;
  color:#5e675f!important;
}

.sps-column-latest:hover{
  color:var(--sp-green)!important;
}

@media(max-width:940px){
  .sps-columns-track{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:620px){
  .sps-columns{
    margin:38px 18px 18px;
    padding-top:24px;
  }

  .sps-columns-head h2{
    font-size:29px!important;
  }

  .sps-columns-track{
    display:flex;
    gap:14px;
    overflow-x:auto;
    padding:2px 2px 14px;
    scroll-snap-type:x mandatory;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  .sps-columns-track::-webkit-scrollbar{
    display:none;
  }

  .sps-column-card{
    flex:0 0 min(82vw,290px);
    min-height:250px;
    padding:20px 18px;
    scroll-snap-align:start;
  }

  .sps-column-profile .sps-avatar,
  .sps-column-profile .sps-avatar img,
  .sps-column-profile img.sps-avatar-profile{
    width:84px!important;
    height:84px!important;
  }

  .sps-column-profile strong{
    font-size:18px;
  }
}


/* ==========================================================
   0.3.5.6 — página /colunas/
   ========================================================== */
.sps-columns-head{
  justify-content:flex-start;
}

.sps-columns-head > div{
  min-width:0;
}

.sps-columns-head h2 a{
  color:inherit;
  text-decoration:none;
}

.sps-columns-head h2 a:hover{
  color:var(--sp-green);
}

.sps-columns-all{
  margin-left:auto;
  font-size:13px;
  font-weight:600;
  color:var(--sp-green)!important;
  white-space:nowrap;
}

.sps-columns-directory-page{
  width:100%;
}

.sps-columns-directory-page-head{
  margin:0 0 28px;
  text-align:left;
}

.sps-columns-directory-page-head h1{
  margin:8px 0 8px;
  font:400 42px/1.12 Georgia,serif!important;
}

.sps-columns-directory-page-head p{
  margin:0;
  color:var(--sp-muted);
}

.sps-columns-directory{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}

.sps-column-directory-card{
  min-width:0;
  padding:28px 22px 22px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  background:#fff;
  border:1px solid var(--sp-line);
  border-radius:12px;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}

.sps-column-directory-card:hover{
  transform:translateY(-2px);
  border-color:#ced8cf;
  box-shadow:0 8px 22px rgba(36,58,49,.07);
}

.sps-column-directory-profile{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.sps-column-directory-profile .sps-avatar{
  width:112px!important;
  height:112px!important;
  margin:0 auto 14px!important;
  font-size:34px!important;
}

.sps-column-directory-profile .sps-avatar img,
.sps-column-directory-profile img.sps-avatar-profile{
  width:112px!important;
  height:112px!important;
  border-radius:50%!important;
  object-fit:cover!important;
}

.sps-column-directory-role{
  font-size:12px;
  color:var(--sp-muted);
  margin-bottom:2px;
}

.sps-column-directory-card h2{
  margin:0!important;
  font:600 22px/1.25 Georgia,serif!important;
  color:var(--sp-green);
  overflow-wrap:anywhere;
}

.sps-column-directory-count{
  margin-top:5px;
  font-size:12px;
  color:var(--sp-muted);
}

.sps-column-directory-latest{
  width:100%;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid var(--sp-line);
}

.sps-column-directory-latest > span{
  display:block;
  margin-bottom:4px;
  font-size:10px;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--sp-muted);
}

.sps-column-directory-latest a{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-size:14px;
  line-height:1.45;
  font-style:italic;
}

.sps-column-directory-more{
  margin-top:auto;
  padding-top:18px;
  font-size:12px;
  font-weight:600;
  color:var(--sp-green)!important;
}

@media(max-width:940px){
  .sps-columns-directory{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:620px){
  .sps-columns-all{
    font-size:12px;
  }

  .sps-columns-directory-page{
    padding:0 18px 20px;
  }

  .sps-columns-directory-page-head{
    margin-bottom:22px;
  }

  .sps-columns-directory-page-head h1{
    font-size:34px!important;
  }

  .sps-columns-directory{
    grid-template-columns:1fr;
    gap:14px;
  }

  .sps-column-directory-card{
    padding:24px 18px 20px;
  }

  .sps-column-directory-profile .sps-avatar,
  .sps-column-directory-profile .sps-avatar img,
  .sps-column-directory-profile img.sps-avatar-profile{
    width:96px!important;
    height:96px!important;
  }
}


/* ==========================================================
   0.3.5.7 — refinamento do cabeçalho Colunas
   ========================================================== */
.sps-columns-icon{
  border-color:var(--sp-green)!important;
  color:var(--sp-green)!important;
  background:#fff!important;
}

.sps-columns-icon svg{
  color:var(--sp-green)!important;
  stroke:currentColor!important;
}

.sps-columns-head h2{
  margin:0!important;
}

.sps-columns-directory-page-head h1{
  margin-top:0!important;
}


/* ==========================================================
   0.3.5.8 — carrossel automático das Colunas
   ========================================================== */
.sps-columns-carousel{
  width:100%;
  min-width:0;
}

.sps-columns-viewport{
  width:100%;
  overflow:hidden;
}

.sps-columns-carousel .sps-columns-track{
  display:flex!important;
  grid-template-columns:none!important;
  gap:20px!important;
  width:100%;
  overflow:visible!important;
  padding:0!important;
  scroll-snap-type:none!important;
  transform:translateX(0);
  will-change:transform;
}

.sps-columns-carousel .sps-column-card{
  flex:0 0 calc((100% - 40px) / 3);
  min-width:0;
  scroll-snap-align:none!important;
}

.sps-columns-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:18px 0 0;
}

.sps-columns-dots[hidden]{
  display:none!important;
}

.sps-columns-dot{
  width:10px;
  height:10px;
  min-width:10px;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#d9e2dc!important;
  box-shadow:none!important;
  transition:transform .16s ease,background .16s ease!important;
}

.sps-columns-dot:hover{
  transform:scale(1.15);
  background:#a9bcae!important;
}

.sps-columns-dot.is-active{
  background:var(--sp-green)!important;
  transform:scale(1.15);
}

@media(max-width:940px){
  .sps-columns-carousel .sps-column-card{
    flex-basis:calc((100% - 20px) / 2);
  }
}

@media(max-width:620px){
  .sps-columns-carousel{
    margin-left:0;
    margin-right:0;
  }

  .sps-columns-carousel .sps-columns-track{
    gap:14px!important;
  }

  .sps-columns-carousel .sps-column-card{
    flex:0 0 100%;
  }

  .sps-columns-dots{
    margin-top:14px;
    gap:8px;
  }

  .sps-columns-dot{
    width:9px;
    height:9px;
    min-width:9px;
  }
}


/* ==========================================================
   0.3.5.9 — Colunas ocupa as duas colunas da Home
   ========================================================== */
@media (min-width:1101px){
  body.home .sps-main > .sps-columns,
  body.front-page .sps-main > .sps-columns{
    width:calc(100% + 270px)!important; /* aside 235px + gap 35px */
    max-width:none!important;
    position:relative!important;
    z-index:2!important;
  }
}

@media (min-width:941px) and (max-width:1100px){
  body.home .sps-main > .sps-columns,
  body.front-page .sps-main > .sps-columns{
    width:calc(100% + 212px)!important; /* aside 190px + gap 22px */
    max-width:none!important;
    position:relative!important;
    z-index:2!important;
  }
}

@media (min-width:941px){
  body.home .sps-main > .sps-columns .sps-columns-carousel,
  body.front-page .sps-main > .sps-columns .sps-columns-carousel,
  body.home .sps-main > .sps-columns .sps-columns-viewport,
  body.front-page .sps-main > .sps-columns .sps-columns-viewport{
    width:100%!important;
    max-width:none!important;
  }
}


/* ==========================================================
   0.3.6.0 — Colunas: largura completa + 3 cards por vez
   ========================================================== */

/* A seção inferior usa exatamente toda a largura útil do shell da Home. */
@media (min-width:1101px){
  body.home .sps-main > .sps-columns,
  body.front-page .sps-main > .sps-columns{
    width:calc(100% + 270px + 1px)!important;
  }
}

@media (min-width:941px) and (max-width:1100px){
  body.home .sps-main > .sps-columns,
  body.front-page .sps-main > .sps-columns{
    width:calc(100% + 212px + 1px)!important;
  }
}

/* O viewport do carrossel ocupa toda a faixa e corta somente fora dela. */
.sps-columns-carousel,
.sps-columns-viewport{
  min-width:0!important;
  max-width:none!important;
}

.sps-columns-viewport{
  overflow:hidden!important;
}

.sps-columns-carousel .sps-columns-track{
  width:100%!important;
  max-width:none!important;
}

/* Garante as quantidades visíveis mesmo antes do JS inicializar. */
@media(min-width:941px){
  .sps-columns-carousel .sps-column-card{
    flex:0 0 calc((100% - 40px) / 3)!important;
  }
}

@media(min-width:621px) and (max-width:940px){
  .sps-columns-carousel .sps-column-card{
    flex:0 0 calc((100% - 20px) / 2)!important;
  }
}

@media(max-width:620px){
  .sps-columns-carousel .sps-column-card{
    flex:0 0 100%!important;
  }
}


/* ==========================================================
   0.3.6.1 — Colunas: largura exata + última página centralizada
   ========================================================== */

/* A largura desktop é calculada pelo JS a partir dos limites reais
   do .sps-shell (main + gap + aside). Evita sobrar alguns pixels. */
@media(min-width:941px){
  body.home .sps-main > .sps-columns,
  body.front-page .sps-main > .sps-columns{
    max-width:none!important;
    box-sizing:border-box!important;
  }
}

/* O track precisa poder ser maior que a viewport para o deslocamento
   em pixels alcançar os cards seguintes sem deformar os cards visíveis. */
.sps-columns-carousel .sps-columns-track{
  width:max-content!important;
  min-width:100%!important;
  max-width:none!important;
}

.sps-columns-carousel .sps-column-card{
  box-sizing:border-box!important;
}


/* ==========================================================
   0.3.6.2 — carrossel de Colunas com páginas reais
   ========================================================== */
.sps-columns-viewport{
  overflow:hidden!important;
  width:100%!important;
}

.sps-columns-carousel .sps-columns-track{
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  gap:0!important;
  overflow:visible!important;
  transform:translate3d(0,0,0);
  will-change:transform;
}

.sps-columns-page{
  flex:0 0 100%!important;
  width:100%!important;
  min-width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:20px!important;
  align-items:stretch!important;
}

/* Último grupo incompleto fica centralizado, sem card cortado. */
.sps-columns-page[data-count="1"]{
  grid-template-columns:minmax(0,calc((100% - 40px)/3))!important;
  justify-content:center!important;
}

.sps-columns-page[data-count="2"]{
  grid-template-columns:repeat(2,minmax(0,calc((100% - 40px)/3)))!important;
  justify-content:center!important;
}

.sps-columns-page .sps-column-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  flex:none!important;
  box-sizing:border-box!important;
}

@media(max-width:940px){
  .sps-columns-directory-page{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .sps-columns-page[data-count="1"]{
    grid-template-columns:minmax(0,calc((100% - 20px)/2))!important;
  }

  .sps-columns-page[data-count="2"]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:620px){
  .sps-columns-page,
  .sps-columns-page[data-count="1"],
  .sps-columns-page[data-count="2"]{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
}


/* ==========================================================
   0.3.6.3 — Colunas: anda 1 card por vez e ocupa toda a faixa
   ========================================================== */
body.home .sps-main > .sps-columns,
body.front-page .sps-main > .sps-columns{
  box-sizing:border-box!important;
}

.sps-columns-carousel,
.sps-columns-viewport{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}

.sps-columns-viewport{
  overflow:hidden!important;
}

.sps-columns-carousel .sps-columns-track{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  gap:20px!important;
  width:max-content!important;
  min-width:100%!important;
  max-width:none!important;
  overflow:visible!important;
  will-change:transform;
}

.sps-columns-carousel .sps-columns-track.is-short{
  width:100%!important;
}

.sps-columns-carousel .sps-column-card{
  flex:0 0 calc((100% - 40px) / 3)!important;
  width:calc((100% - 40px) / 3)!important;
  max-width:calc((100% - 40px) / 3)!important;
  min-width:calc((100% - 40px) / 3)!important;
  box-sizing:border-box!important;
}

.sps-columns-carousel .sps-columns-track.is-short .sps-column-card{
  flex:1 1 0!important;
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
}

@media(max-width:940px){
  .sps-columns-carousel .sps-columns-track{
    gap:20px!important;
  }
  .sps-columns-carousel .sps-column-card{
    flex:0 0 calc((100% - 20px) / 2)!important;
    width:calc((100% - 20px) / 2)!important;
    max-width:calc((100% - 20px) / 2)!important;
    min-width:calc((100% - 20px) / 2)!important;
  }
}

@media(max-width:620px){
  .sps-columns-carousel .sps-columns-track{
    gap:14px!important;
  }
  .sps-columns-carousel .sps-column-card{
    flex:0 0 100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:100%!important;
  }
}


/* ==========================================================
   0.3.6.4 — Colunas estruturalmente ocupa main + aside
   ========================================================== */
@media(min-width:941px){
  .sps-shell > .sps-columns{
    grid-column:1 / -1!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:26px 0 0!important;
    padding-top:28px!important;
    box-sizing:border-box!important;
  }

  .sps-shell > .sps-columns .sps-columns-carousel,
  .sps-shell > .sps-columns .sps-columns-viewport{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
}

/* Neutraliza as tentativas antigas de ampliar a seção a partir de dentro do main. */
body.home .sps-main > .sps-columns,
body.front-page .sps-main > .sps-columns{
  width:auto!important;
  max-width:none!important;
}

/* Track simples; tamanho em px é controlado pelo JS a partir da viewport real. */
.sps-columns-carousel .sps-columns-track{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  overflow:visible!important;
  will-change:transform;
}

.sps-columns-carousel .sps-column-card{
  box-sizing:border-box!important;
}

/* Mobile: main -> Colunas -> categorias -> menu inferior. */
@media(max-width:620px){
  .sps-shell > .sps-columns{
    order:1!important;
    width:calc(100% - 36px)!important;
    margin:38px 18px 18px!important;
    padding-top:24px!important;
  }

  .sps-shell > .sps-aside{
    order:2!important;
  }

  .sps-shell > .sps-nav{
    order:3!important;
  }
}


/* ==========================================================
   0.3.6.5 — alvo final da seção Colunas
   ========================================================== */
@media(min-width:941px){
  .sps-shell > .sps-columns{
    grid-column:1 / -1!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    justify-self:stretch!important;
    box-sizing:border-box!important;
  }
}

.sps-shell > .sps-columns .sps-columns-carousel,
.sps-shell > .sps-columns .sps-columns-viewport{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  box-sizing:border-box!important;
}

.sps-shell > .sps-columns .sps-columns-viewport{
  overflow:hidden!important;
}

/* As dimensões dos cards/track são aplicadas pelo JS em pixels,
   com !important, usando a largura real desta viewport. */


/* ==========================================================
   0.3.6.6 — /colunas/: corrige colisão com classe do carrossel
   ========================================================== */
.sps-main > .sps-columns-directory-page{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}

.sps-columns-directory-page .sps-columns-directory{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:20px!important;
  width:100%!important;
}

.sps-columns-directory-page .sps-column-directory-card{
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
}

@media(max-width:940px){
  .sps-columns-directory-page .sps-columns-directory{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:620px){
  .sps-main > .sps-columns-directory-page{
    padding:0 18px 20px!important;
  }

  .sps-columns-directory-page .sps-columns-directory{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
}


/* ==========================================================
   0.3.6.7 — cards do feed: comunidade no topo, cor do Curtir,
   card inteiro clicável e compartilhamento só na publicação
   ========================================================== */

.sps-post.sps-post-clickable{
  cursor:pointer;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.sps-post.sps-post-clickable:hover{
  border-color:#c9d7cc;
  box-shadow:0 8px 24px rgba(35,58,48,.08);
}

.sps-post.sps-post-clickable:focus-visible{
  outline:3px solid rgba(36,83,63,.24);
  outline-offset:3px;
}

.sps-post-context{
  display:flex;
  align-items:center;
  min-height:42px;
  padding:13px 20px 11px;
  border-bottom:1px solid var(--sp-line);
  background:#fff;
}

.sps-post-context-link{
  color:var(--sp-green)!important;
  font-size:10px;
  line-height:1.3;
  font-weight:700;
  letter-spacing:1.65px;
  text-transform:uppercase;
  overflow-wrap:anywhere;
}

a.sps-post-context-link:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

/* O coração/contador deixa de usar o vermelho antigo. */
.sps-feed-likes,
.sps-feed-likes svg{
  color:var(--sp-green)!important;
}

/* O feed agora mostra apenas engajamento; compartilhar saiu do card. */
.sps-post .sps-actions{
  justify-content:flex-start;
  margin-bottom:14px;
}

.sps-post .sps-actions > [data-sps-share],
.sps-post .sps-read,
.sps-post .sps-post-footer,
.sps-post .sps-post-community{
  display:none!important;
}

/* Compartilhar passa a existir somente dentro da publicação. */
.sps-single-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:26px;
  padding-top:18px;
  border-top:1px solid var(--sp-line);
}

.sps-single-share{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:8px 14px;
  border:1px solid #cad7cd;
  border-radius:999px;
  background:#f5f8f5;
  color:var(--sp-green);
  font-size:12px;
  font-weight:600;
}

.sps-single-share:hover{
  background:#e8eee5;
  border-color:#b9cbbb;
  color:var(--sp-green);
}

.sps-single-share svg{
  width:18px;
  height:18px;
}

.sps-single-actions .sps-share-status{
  margin:0!important;
  color:var(--sp-muted);
}

@media(max-width:620px){
  .sps-post-context{
    padding:12px 16px 10px;
  }

  .sps-post-context-link{
    font-size:9px;
    letter-spacing:1.4px;
  }
}


/* ==========================================================
   0.3.6.10 — redes sociais no cabeçalho ao lado da busca
   ========================================================== */
.sps-header-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-width:0;
  flex-shrink:0;
}

.spc-header-socials{
  display:flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
}

.spc-header-social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border:1px solid var(--sp-line);
  border-radius:50%;
  background:#f5f6f3;
  color:var(--sp-green)!important;
  transition:background .16s ease,border-color .16s ease,transform .16s ease,color .16s ease;
}

.spc-header-social-link svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.spc-header-social-link:hover{
  background:#e8eee5;
  border-color:#c8d6ca;
  color:var(--sp-green)!important;
  transform:translateY(-1px);
}

.spc-header-social-link:focus-visible{
  outline:3px solid rgba(172,136,59,.38);
  outline-offset:3px;
}

@media(max-width:940px){
  .sps-header-tools{
    gap:8px;
  }
  .spc-header-socials{
    gap:5px;
  }
  .spc-header-social-link{
    width:32px;
    height:32px;
  }
}

@media(max-width:620px){
  .sps-header-tools{
    width:100%;
    flex-wrap:wrap;
    justify-content:flex-end;
  }
  .spc-header-socials{
    order:1;
    margin-left:auto;
  }
  .sps-header-tools .sps-search{
    order:2;
    width:100%;
  }
}


/* ==========================================================
   0.3.6.11 — controles visuais do cabeçalho
   ========================================================== */
.sps-header{background:var(--sps-header-background,#fff)!important;background-origin:border-box!important;background-clip:border-box!important;}
.sps-header.sps-logo-left .sps-header-inner{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;}
.sps-header.sps-logo-center .sps-header-inner{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;align-items:center!important;}
.sps-header.sps-logo-center .sps-brand{grid-column:2!important;justify-self:center!important;}
.sps-header.sps-logo-center .sps-header-tools{grid-column:3!important;justify-self:end!important;}
.sps-header.sps-logo-right .sps-header-inner{display:flex!important;flex-direction:row-reverse!important;align-items:center!important;justify-content:space-between!important;}
.sps-header.sps-logo-right .sps-header-tools{justify-content:flex-start!important;}
.sps-search.sps-search-icon-only{width:38px!important;height:38px!important;border-radius:999px!important;transition:width .2s ease,box-shadow .2s ease!important;}
.sps-search.sps-search-icon-only input{width:0!important;min-width:0!important;padding-left:0!important;padding-right:0!important;opacity:0!important;pointer-events:none!important;transition:width .2s ease,opacity .15s ease,padding .2s ease!important;}
.sps-search.sps-search-icon-only button{width:38px!important;height:38px!important;min-width:38px!important;padding:0!important;justify-content:center!important;}
.sps-search.sps-search-icon-only.is-open{width:280px!important;}
.sps-search.sps-search-icon-only.is-open input{width:100%!important;padding:9px 2px 9px 14px!important;opacity:1!important;pointer-events:auto!important;}
.sps-header.sps-search-mode-hidden .sps-search{display:none!important;}
@media(max-width:940px){.sps-search.sps-search-icon-only.is-open{width:230px!important;}}
@media(max-width:620px){
 .sps-header.sps-logo-left .sps-header-inner,.sps-header.sps-logo-right .sps-header-inner,.sps-header.sps-logo-center .sps-header-inner{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:12px!important;}
 .sps-header.sps-logo-left .sps-header-inner,.sps-header.sps-logo-center .sps-header-inner{flex-direction:column!important;}
 .sps-header.sps-logo-right .sps-header-inner{flex-direction:column-reverse!important;}
 .sps-header .sps-brand{width:100%!important;justify-content:center!important;}
 .sps-header .sps-header-tools{width:100%!important;justify-content:center!important;}
 .sps-header.sps-search-mode-full .sps-header-tools{flex-wrap:wrap!important;}
 .sps-header.sps-search-mode-full .sps-search{width:min(100%,320px)!important;}
 .sps-search.sps-search-icon-only.is-open{width:min(100%,260px)!important;}
}


/* ==========================================================
   0.3.6.12 — cards do feed exibem somente o título
   ========================================================== */
.sps-post .sps-excerpt{
  display:none!important;
}


/* ==========================================================
   0.3.6.13 — altura configurável do header + shell sem espaço
   ========================================================== */
.sps-header .sps-header-inner{
  min-height:var(--sps-header-height,0px)!important;
}

/* Remove somente o respiro superior do shell; laterais e base continuam iguais. */
.sps-header.sps-header-flush-shell + .sps-shell{
  padding-top:0!important;
}

@media(max-width:620px){
  .sps-header.sps-header-flush-shell + .sps-shell{
    padding-top:0!important;
  }
}
