
.community{background:#fff;color:#18324e}.community-wrap{width:min(1120px,calc(100% - 40px));margin:auto}
.community-hero{padding:70px 0 58px;background:linear-gradient(120deg,#f5f1e8,#fff)}.community-hero.small{padding:58px 0 46px}
.community-hero h1{font-family:Georgia,serif;font-size:clamp(42px,6vw,72px);line-height:1.02;margin:8px 0 18px;color:#102c51}.community-hero.small h1{font-size:clamp(36px,5vw,58px)}
.community-hero p:not(.eyebrow){font-size:19px;line-height:1.65;max-width:780px;color:#53606c}.eyebrow{font-size:12px!important;letter-spacing:.16em;font-weight:700;color:#a27c36!important}
.hero-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:54px;align-items:center}.hero-copy{padding:10px 0}.hero-photo{border-radius:4px;overflow:hidden;box-shadow:0 18px 44px #102c5120}.hero-photo img{width:100%;height:390px;display:block;object-fit:cover;object-position:center 58%}
.sector-nav{border-top:1px solid #e6e1d7;border-bottom:1px solid #e6e1d7;background:#fff;position:sticky;top:0;z-index:3}.sector-nav .community-wrap{display:flex;gap:24px;overflow:auto;padding-top:16px;padding-bottom:16px}.sector-nav a{white-space:nowrap;text-decoration:none;color:#173050;font-size:14px;font-weight:700}
.sector{padding:52px 0;border-bottom:1px solid #eee}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}
.group-card{display:flex;flex-direction:column;min-height:220px;border:1px solid #e4e5e5;border-radius:9px;text-decoration:none;color:inherit;background:#fff;overflow:hidden;transition:.2s}.group-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #102c5114;border-color:#c8b68f}
.card-image{width:100%;height:205px;display:block;object-fit:cover}.card-copy{padding:26px;display:flex;flex:1;flex-direction:column;justify-content:space-between}.group-card:not(.has-image) .card-copy{padding:28px}
.group-card h2{font-family:Georgia,serif;color:#102c51;font-size:27px;margin:0 0 12px}.group-card p{line-height:1.6;color:#59636d}.know{color:#9a7330;font-weight:700;margin-top:15px}.contains{font-size:13px!important;color:#6d746f!important;border-top:1px solid #eee;padding-top:12px}
.detail-image-wrap{margin-top:36px}.detail-image{width:100%;max-height:520px;object-fit:cover;border-radius:7px;display:block}.community-detail{padding:50px 0 84px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:60px}.detail-grid article{font-size:18px;line-height:1.8}.back{display:inline-block;margin-bottom:28px;color:#8c6a2e;text-decoration:none;font-weight:700}.belongs{margin-top:30px;padding:18px;background:#f5f1e8}.info-card{background:#f5f1e8;padding:28px;border-radius:9px;align-self:start}.info-card h2{font-family:Georgia,serif;margin-top:0;color:#102c51}.info-card div{padding:14px 0;border-top:1px solid #ded6c7}.info-card span{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:#8c6a2e;margin-bottom:5px}.info-card strong,.info-card a{color:#173050;text-decoration:none;line-height:1.45}
.subservices{margin-top:44px;border-top:1px solid #e4e4e4;padding-top:28px}.subservices-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.subservices-grid a{border:1px solid #e3e3e3;border-radius:7px;overflow:hidden;padding:16px;text-decoration:none;color:#173050}.subservices-grid img{width:100%;height:110px;object-fit:cover;margin:-16px -16px 12px;width:calc(100% + 32px)}.subservices-grid strong,.subservices-grid span{display:block}.subservices-grid span{font-size:14px;line-height:1.5;color:#68727c;margin-top:5px}
.participate{padding:64px 0;background:#102c51;color:#fff}.participate .eyebrow{color:#d3b77d!important}.participate h2{font-family:Georgia,serif;font-size:40px;margin:8px 0 12px}.participate p{font-size:18px;max-width:650px;line-height:1.6}.community-btn{display:inline-block;margin-top:14px;padding:13px 20px;background:#b18a46;color:#fff;text-decoration:none;font-weight:700;border-radius:4px}.community-btn.disabled{background:#ffffff18;border:1px solid #ffffff45;color:#e8edf3;cursor:default}
@media(max-width:820px){.hero-grid{grid-template-columns:1fr;gap:28px}.hero-photo img{height:300px}.cards,.detail-grid{grid-template-columns:1fr}.community-hero{padding:48px 0 42px}.sector{padding:42px 0}.detail-grid{gap:28px}.sector-nav{position:static}.subservices-grid{grid-template-columns:1fr}}

/* Comunidade V1.2 — hero editorial */
.community-hero-photo{padding:0;background:linear-gradient(112deg,#f5f0e6 0%,#faf8f3 54%,#fff 100%);overflow:visible}
.hero-stage{min-height:535px;position:relative;display:block;padding-top:82px;padding-bottom:92px}
.hero-copy{position:relative;z-index:2;width:48%;max-width:525px;padding:0}
.hero-copy h1{font-size:clamp(54px,5.5vw,82px);letter-spacing:-.025em;line-height:.96;margin:15px 0 24px}
.hero-copy p:not(.eyebrow){font-size:18px;line-height:1.7;max-width:485px;margin:0}
.hero-line{display:block;width:112px;height:3px;background:#b58a38;margin-top:30px}
.hero-photo{position:absolute;z-index:1;right:-34px;top:52px;width:56%;height:455px;margin:0;border-radius:92px 8px 92px 8px;overflow:visible;box-shadow:none}
.hero-photo:before{content:"";position:absolute;left:-25px;bottom:-25px;width:120px;height:120px;border-left:2px solid #c49a49;border-bottom:2px solid #c49a49;z-index:2}
.hero-photo img{position:relative;z-index:1;width:100%;height:100%;display:block;object-fit:cover;object-position:center 58%;border-radius:92px 8px 92px 8px;box-shadow:0 24px 55px #102c5124}
.photo-accent{position:absolute;right:-30px;top:-28px;width:104px;height:104px;border-top:2px solid #c49a49;border-right:2px solid #c49a49}
.sector-pills{position:relative;z-index:5;margin-top:-29px;border:0;background:transparent}
.sector-pills .community-wrap{padding-top:0;padding-bottom:0;overflow:visible}
.pill-panel{display:flex;gap:9px;flex-wrap:wrap;padding:13px 15px;background:#fff;border:1px solid #e9e3d8;border-radius:15px;box-shadow:0 14px 34px #102c5113}
.sector-pills a{padding:10px 16px;border-radius:999px;background:#f7f4ed;border:1px solid transparent;transition:.2s}
.sector-pills a:hover{background:#102c51;color:#fff}
.sector:first-of-type{padding-top:72px}
.group-card.has-image{border:0;box-shadow:0 9px 28px #102c510d}
.group-card.has-image .card-image{height:220px}
.group-card.has-image:nth-child(even) .card-image{height:185px}
@media(max-width:900px){
 .hero-stage{min-height:0;padding:58px 0 82px}
 .hero-copy{width:58%}
 .hero-photo{right:-90px;width:53%;height:390px;top:54px}
}
@media(max-width:760px){
 .community-hero-photo{overflow:hidden}
 .hero-stage{padding:48px 0 64px}
 .hero-copy{width:100%;max-width:none}
 .hero-copy h1{font-size:clamp(48px,14vw,66px)}
 .hero-photo{position:relative;right:auto;top:auto;width:calc(100% + 24px);height:300px;margin:36px 0 0 12px;border-radius:58px 5px 58px 5px}
 .hero-photo img{border-radius:58px 5px 58px 5px}
 .photo-accent{right:0}
 .sector-pills{margin-top:-24px}
 .pill-panel{flex-wrap:nowrap;overflow-x:auto;border-radius:12px}
 .sector-pills .community-wrap{overflow:visible}
}

/* Comunidade V1.3 — hero fotográfico imersivo */
.community-hero-immersive{position:relative;height:clamp(520px,65vh,690px);padding:0!important;background:#102c51;overflow:hidden}
.community-hero-immersive .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 56%;display:block}
.community-hero-immersive .hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,27,52,.78) 0%,rgba(7,27,52,.48) 34%,rgba(7,27,52,.08) 68%,rgba(7,27,52,.02) 100%)}
.hero-overlay{height:100%;display:flex;align-items:center;position:relative;z-index:2}
.hero-glass{width:min(510px,48%);padding:40px 42px 42px;background:rgba(255,255,255,.91);box-shadow:0 24px 60px rgba(5,22,42,.18);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border-left:4px solid #b58a38}
.hero-glass .eyebrow{margin:0 0 13px}.hero-glass h1{font-family:Georgia,serif;color:#102c51;font-size:clamp(52px,5.5vw,78px);line-height:.96;letter-spacing:-.025em;margin:0 0 22px}
.hero-glass p:not(.eyebrow){font-size:18px;line-height:1.55;color:#53606c;margin:0;max-width:390px}
.community-intro{background:#fff;padding:48px 0 42px}.intro-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:65px;align-items:start}.community-intro p{margin:0;color:#59636d;font-size:18px;line-height:1.7}.community-intro .intro-lead{font-family:Georgia,serif;color:#102c51;font-size:30px;line-height:1.2}
.sector-pills{margin-top:0!important;background:#fff!important;border-top:1px solid #eee!important;border-bottom:1px solid #eee!important}.sector-pills .community-wrap{padding-top:14px!important;padding-bottom:14px!important}.pill-panel{box-shadow:none!important;border:0!important;padding:0!important;border-radius:0!important;background:transparent!important}
.sector:first-of-type{padding-top:58px}
@media(max-width:760px){
 .community-hero-immersive{height:590px}
 .community-hero-immersive .hero-bg{object-position:55% center}
 .community-hero-immersive .hero-shade{background:linear-gradient(0deg,rgba(7,27,52,.7),rgba(7,27,52,.08) 72%)}
 .hero-overlay{align-items:flex-end;padding-bottom:34px}
 .hero-glass{width:100%;padding:28px 26px 30px;background:rgba(255,255,255,.93)}
 .hero-glass h1{font-size:52px}
 .intro-grid{grid-template-columns:1fr;gap:15px}
 .community-intro{padding:34px 0}
}


/* V1.6 — identidade visual Cáritas */
.group-card[href*="caritas-paroquial"] .card-image{
  object-fit:contain;
  background:#dc252b;
  padding:18px 34px;
}
.detail-image[src*="caritas-paroquial-benfica"]{
  object-fit:contain;
  background:#dc252b;
  padding:30px;
  max-height:390px;
}


/* V1.7 — Cáritas com maior presença visual */
.group-card[href*="caritas-paroquial"] .card-image{
  object-fit:contain !important;
  object-position:center !important;
  background:#dc252b !important;
  padding:4px 8px !important;
  width:100% !important;
}
.detail-image[src*="caritas-paroquial-benfica"]{
  object-fit:contain !important;
  object-position:center !important;
  background:#dc252b !important;
  padding:8px 12px !important;
  width:100% !important;
  max-height:460px !important;
}


/* V1.8 — nova versão horizontal aprovada do logótipo Cáritas */
.group-card[href*="caritas-paroquial"] .card-image{
  object-fit:contain !important;
  object-position:center !important;
  background:#df2029 !important;
  padding:0 !important;
}
.detail-image[src*="caritas-paroquial-benfica"]{
  object-fit:contain !important;
  object-position:center !important;
  background:#df2029 !important;
  padding:0 !important;
  width:100% !important;
  max-height:500px !important;
}

/* V1.9 — página própria Cáritas */
.caritas-special-hero{
  max-width:1240px;margin:28px auto 44px;border-radius:10px;overflow:hidden;
  box-shadow:0 14px 38px rgba(16,44,81,.12);
}
.caritas-special-hero img{display:block;width:100%;height:auto}
.caritas-page .community-detail__image,
.caritas-page .detail-image[src*="caritas-paroquial-benfica"]{display:none!important}
.caritas-page .community-detail{padding-top:0}
.caritas-page .community-detail__main{max-width:780px}
.caritas-page .community-detail__intro{font-size:1.12rem;line-height:1.75}
.caritas-page .caritas-mission{
  margin:22px 0 30px;padding-bottom:28px;border-bottom:1px solid #e6e2da;
  font-size:1.05rem;line-height:1.75;color:#31445d
}
.caritas-page .community-children__title::after{content:" AS NOSSAS RESPOSTAS";font-size:0}
.caritas-page .community-detail__aside{
  background:#f6f0e5;border-radius:12px;padding:30px
}
.caritas-page .caritas-info-extra{margin-top:22px;border-top:1px solid #ded5c7;padding-top:18px}
.caritas-page .caritas-info-extra strong{
 display:block;color:#9a6b20;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;margin:14px 0 4px
}
.caritas-page .caritas-closing{
 max-width:1240px;margin:45px auto 65px;padding:34px 42px;background:#faf8f4;
 border-radius:12px;border-left:4px solid #b78a3d;color:#173050
}
.caritas-page .caritas-closing blockquote{margin:0;font-family:Georgia,serif;font-size:1.35rem;font-style:italic}
.caritas-page .caritas-closing cite{display:block;margin-top:8px;font-style:normal;color:#6b7280}
@media(max-width:760px){
 .caritas-special-hero{margin:12px 16px 30px;border-radius:8px}
 .caritas-page .caritas-closing{margin:32px 16px 45px;padding:26px}
}

/* V1.10 — correção definitiva da ficha Cáritas */
.caritas-page .caritas-special-hero{
  max-width:1240px;margin:28px auto 38px;border-radius:10px;overflow:hidden;
  box-shadow:0 14px 38px rgba(16,44,81,.12)
}
.caritas-page .caritas-special-hero img{display:block;width:100%;height:auto}
.caritas-page .community-detail{padding-top:0}
.caritas-page .caritas-title{font-family:Georgia,serif;color:#173050;font-size:clamp(2rem,3vw,3rem);margin:22px 0 20px}
.caritas-page .caritas-lead{font-size:1.08rem;line-height:1.75;color:#31445d;margin:0 0 18px}
.caritas-page .info-card{background:#f6f0e5}
.caritas-page .info-card div{padding:15px 0;border-top:1px solid #ded5c7}
.caritas-page .info-card span{display:block;color:#9a6b20;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;margin-bottom:5px}
.caritas-page .caritas-closing{max-width:1240px;margin:42px auto 65px;padding:32px 40px;background:#faf8f4;border-radius:12px;border-left:4px solid #b78a3d;color:#173050}
.caritas-page .caritas-closing blockquote{margin:0;font-family:Georgia,serif;font-size:1.3rem;font-style:italic}
.caritas-page .caritas-closing cite{display:block;margin-top:8px;font-style:normal;color:#6b7280}
@media(max-width:760px){.caritas-page .caritas-special-hero,.caritas-page .caritas-closing{margin-left:16px;margin-right:16px}.caritas-page .caritas-closing{padding:25px}}

/* V1.10.1 — retoques finais Cáritas */
.caritas-page .detail-grid{align-items:start}
.caritas-page .info-card{align-self:start;height:auto}

/* V1.11 — campos institucionais dinâmicos */
.info-card strong{white-space:normal}

/* V1.13 — hero Comunidade com a Igreja de Nossa Senhora do Amparo */
.community-hero-immersive{
  min-height:clamp(500px,58vw,680px);
  position:relative;
  overflow:hidden;
}
.community-hero-immersive .hero-bg{
  width:100%;height:100%;position:absolute;inset:0;
  object-fit:cover;object-position:center center;
}
.community-hero-immersive .hero-shade{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(8,31,57,.70) 0%,rgba(8,31,57,.42) 32%,rgba(8,31,57,.08) 58%,rgba(8,31,57,0) 78%);
}
.community-hero-immersive .hero-overlay{
  position:relative;z-index:2;min-height:inherit;
  display:flex;align-items:center;
}
.community-hero-immersive .hero-glass{
  width:min(530px,90%);
  padding:38px 40px;
  background:rgba(255,255,255,.91);
  backdrop-filter:blur(5px);
  border-left:4px solid #b78a3d;
  box-shadow:0 16px 42px rgba(0,0,0,.14);
}
.community-hero-immersive .hero-glass h1{margin:.25em 0;font-size:clamp(2.8rem,5vw,5rem);line-height:.94}
.community-hero-immersive .hero-glass p:last-child{font-size:1.12rem;line-height:1.55}
@media(max-width:760px){
 .community-hero-immersive{min-height:560px}
 .community-hero-immersive .hero-bg{object-position:58% center}
 .community-hero-immersive .hero-shade{background:linear-gradient(180deg,rgba(8,31,57,.08),rgba(8,31,57,.58))}
 .community-hero-immersive .hero-overlay{align-items:flex-end;padding-bottom:28px}
 .community-hero-immersive .hero-glass{margin:0 16px;padding:26px 24px;width:auto}
}

/* V1.13.1 — refinamento da caixa editorial do hero */
@media(min-width:761px){
  .community-hero-immersive .hero-glass{
    width:min(455px,86%);
    padding:30px 34px 32px;
    background:rgba(255,255,255,.86);
    backdrop-filter:blur(4px);
  }
  .community-hero-immersive .hero-glass h1{
    font-size:clamp(2.65rem,4.25vw,4.25rem);
    line-height:.96;
    margin:.22em 0 .28em;
  }
  .community-hero-immersive .hero-glass p:last-child{
    font-size:1.04rem;
    line-height:1.5;
    margin-bottom:0;
  }
}

/* V1.13.2 — posição final da caixa do hero */
@media(min-width:761px){
  .community-hero-immersive .hero-glass{transform:translateY(-24px);}
}


/* V1.14 — Centro Social: identidade completa e informação editorial */
.group-card.is-centro-social .card-image{
  object-fit:contain;
  object-position:center;
  background:#fff;
  padding:18px 24px;
}
.group-card.is-centro-social .social-card-line{
  margin-top:10px;
}
.group-card.is-centro-social .social-card-line + .social-card-line{
  margin-top:6px;
}

/* V1.15 — Centro Social: logótipo maior, sem corte */
.group-card[href="https://csp-benfica.pt/"] .card-image,
.group-card[href="https://csp-benfica.pt"] .card-image{
  object-fit:contain !important;
  object-position:center !important;
  padding:10px 24px !important;
}
.group-card[href="https://csp-benfica.pt/"] .card-image{
  transform:scale(1.42);
  transform-origin:center;
}


/* V1.16 — cartões sociais alinhados
   Mesma área visual de imagem, títulos e rodapé alinhados. */
#acao-social-e-caritativa .cards {
  align-items: stretch;
}

#acao-social-e-caritativa .group-card {
  display: grid;
  grid-template-rows: 250px 1fr;
  height: 100%;
  overflow: hidden;
}

#acao-social-e-caritativa .group-card .card-image {
  width: 100%;
  height: 250px;
  min-height: 250px;
  display: block;
  object-fit: contain;
  object-position: center;
  box-sizing: border-box;
  transform: none !important;
  margin: 0 !important;
}

/* Cáritas mantém o fundo/imagem a preencher a sua zona */
#acao-social-e-caritativa .group-card[href*="grupo=caritas-paroquial"] .card-image {
  object-fit: cover;
  padding: 0 !important;
}

/* Centro Social: logótipo maior, mas dentro da mesma caixa real */
#acao-social-e-caritativa .group-card[href^="https://csp-benfica.pt"] .card-image {
  object-fit: contain !important;
  padding: 28px 95px !important;
  transform: none !important;
}

#acao-social-e-caritativa .group-card .card-copy {
  display: flex;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;
}

#acao-social-e-caritativa .group-card .card-copy > div {
  flex: 1 1 auto;
}

#acao-social-e-caritativa .group-card .card-copy h2 {
  margin-top: 0;
}

#acao-social-e-caritativa .group-card .know {
  margin-top: auto;
  padding-top: 22px;
}

@media (max-width: 800px) {
  #acao-social-e-caritativa .group-card {
    grid-template-rows: 210px 1fr;
  }
  #acao-social-e-caritativa .group-card .card-image {
    height: 210px;
    min-height: 210px;
  }
  #acao-social-e-caritativa .group-card[href^="https://csp-benfica.pt"] .card-image {
    padding: 24px 70px !important;
  }
}


/* V1.16 fallback para instalações cujo ID de sector seja diferente */
.sector .cards:has(.group-card[href*="grupo=caritas-paroquial"]):has(.group-card[href^="https://csp-benfica.pt"]) {
  align-items: stretch;
}
.sector .cards:has(.group-card[href*="grupo=caritas-paroquial"]):has(.group-card[href^="https://csp-benfica.pt"]) .group-card {
  display:grid;
  grid-template-rows:250px 1fr;
  height:100%;
  overflow:hidden;
}
.sector .cards:has(.group-card[href*="grupo=caritas-paroquial"]):has(.group-card[href^="https://csp-benfica.pt"]) .card-image {
  width:100%; height:250px; min-height:250px; display:block;
  object-position:center; box-sizing:border-box; transform:none !important; margin:0 !important;
}
.sector .group-card[href*="grupo=caritas-paroquial"] .card-image { object-fit:cover; padding:0 !important; }
.sector .group-card[href^="https://csp-benfica.pt"] .card-image { object-fit:contain !important; padding:28px 95px !important; transform:none !important; }

/* V1.17 — logótipo CSP recortado nas margens brancas, sem alterar o desenho */
.sector .group-card[href^="https://csp-benfica.pt"] .card-image,
#acao-social-e-caritativa .group-card[href^="https://csp-benfica.pt"] .card-image {
  object-fit: contain !important;
  padding: 20px 90px !important;
  transform: none !important;
}
@media (max-width:800px){
  .sector .group-card[href^="https://csp-benfica.pt"] .card-image,
  #acao-social-e-caritativa .group-card[href^="https://csp-benfica.pt"] .card-image {
    padding: 18px 70px !important;
  }
}


/* =========================================================
   V20 — primeira área mais próxima da navegação
   ========================================================= */
.sector-nav + .sector{
  padding-top:52px;
}
