.cq2{--blue:#102c51;--gold:#b8872d;--ink:#142b4d;--muted:#5f6d80;--soft:#f7f3e9}.cq2 h1,.cq2 h2,.cq2 h3{font-family:Georgia,'Times New Roman',serif;color:var(--ink)}.cq2-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:800;color:var(--gold)}.cq2-hero{height:540px;position:relative;overflow:hidden}.cq2-hero>img{width:100%;height:100%;object-fit:cover}.cq2-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,39,76,.94) 0%,rgba(7,39,76,.72) 38%,rgba(7,39,76,.15) 70%,rgba(7,39,76,.05))}.cq2-hero-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;color:#fff;max-width:1200px}.cq2-hero-copy h1{color:#fff;font-size:4.5rem;margin:.15em 0}.cq2-hero-copy>p:not(.cq2-kicker){font-size:1.35rem;max-width:520px;line-height:1.55}.cq2-actions{display:flex;gap:12px;margin-top:22px}.cq2-btn{display:inline-flex;align-items:center;gap:12px;padding:13px 20px;border-radius:28px;text-decoration:none;font-weight:800}.cq2-btn.gold{background:var(--gold);color:#fff}.cq2-btn.light{background:#fff;color:var(--blue)}.cq2-story{display:grid;grid-template-columns:1fr 1.05fr;gap:80px;align-items:center;padding-top:90px;padding-bottom:80px}.cq2-story h2{font-size:3rem;line-height:1.08;margin:12px 0 22px}.cq2-story p{font-size:1.08rem;line-height:1.75;color:var(--muted)}.cq2-story blockquote{margin:30px 0 0;padding:18px 22px;border-left:3px solid var(--gold);background:#fbf8f0;color:var(--ink)}.cq2-story blockquote small{display:block;margin-top:6px}.cq2-photo{position:relative}.cq2-photo img{width:100%;aspect-ratio:1.45;object-fit:cover;border-radius:18px 18px 70px 18px}.cq2-photo span{position:absolute;right:8px;bottom:-25px;background:#fff;padding:12px 18px;color:#245c91;font-family:Georgia,serif;font-style:italic;font-size:1.3rem;transform:rotate(-3deg)}.cq2-practical{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding-bottom:80px}.cq2-practical article{border:1px solid #e1e5e9;border-radius:12px;padding:28px;box-shadow:0 10px 30px rgba(20,43,77,.04)}.cq2-practical h3{font-size:1.4rem}.cq2-practical p{color:var(--muted);line-height:1.55}.cq2-practical a,.cq2-head>a,.cq2-news b,.cq2-sac-grid b{color:#9a6d1d;text-decoration:none;font-weight:800}.cq2-i{font-size:2rem;color:var(--gold)}.cq2-soft{background:#faf9f6}.cq2-block{padding-top:75px;padding-bottom:75px}.cq2-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}.cq2-head h2{font-size:2.35rem;margin:5px 0}.cq2-events{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cq2-events article{background:#fff;border:1px solid #ece9df;border-radius:12px;padding:18px;display:flex;gap:18px}.cq2-events time{background:#fbf5e8;color:var(--gold);min-width:70px;height:72px;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center}.cq2-events time b{font-size:1.8rem}.cq2-events time span{font-size:.72rem;font-weight:800}.cq2-events h3{margin:5px 0;font-size:1.05rem}.cq2-events p{margin:5px 0;color:var(--muted)}.cq2-empty{grid-column:1/-1;padding:25px;border:1px dashed #d7d7d7;border-radius:12px;color:var(--muted)}.cq2-news{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.cq2-news article{border:1px solid #e4e6e8;border-radius:12px;overflow:hidden;background:#fff}.cq2-news a{color:inherit;text-decoration:none}.cq2-news img{width:100%;height:220px;object-fit:cover}.cq2-news article div{padding:22px}.cq2-news small{color:#7d8490}.cq2-news h3{font-size:1.4rem;margin:8px 0}.cq2-news p{color:var(--muted);line-height:1.55}.cq2-news-placeholder{grid-column:1/-1;display:grid!important;grid-template-columns:1fr 1fr}.cq2-news-placeholder img{height:100%;min-height:260px}.cq2-family{background:linear-gradient(90deg,#f7f2e7,#fff)}.cq2-family-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;padding-top:70px;padding-bottom:70px}.cq2-family img{width:100%;height:390px;object-fit:cover;border-radius:60px 16px 60px 16px}.cq2-family h2{font-size:2.6rem}.cq2-family p{color:var(--muted);font-size:1.08rem;line-height:1.65}.cq2-week{margin-top:25px;background:#fff;border-radius:12px;padding:20px;display:grid;grid-template-columns:140px 1fr;gap:20px}.cq2-week b{color:var(--gold)}.cq2-sac-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.cq2-sac-grid a{border:1px solid #e4e6e8;border-radius:12px;padding:25px;text-decoration:none;color:inherit}.cq2-sac-grid span{font-size:2rem;color:var(--gold)}.cq2-sac-grid h3{font-size:1.25rem}.cq2-sac-grid p{color:var(--muted);min-height:48px}.cq2-catechists{padding:65px 0;background:#fff}.cq2-catechists .container{display:grid;grid-template-columns:1.4fr .6fr;gap:50px;align-items:center}.cq2-catechists h2{font-size:2.4rem}.cq2-catechists p{color:var(--muted);font-size:1.08rem}.cq2-script{font-family:Georgia,serif;font-style:italic;color:#245c91;font-size:1.5rem;transform:rotate(-2deg)}.cq2-details{background:#f8f5ed;padding:55px 0}.cq2-details .container{display:grid;grid-template-columns:1.2fr .8fr;gap:70px}.cq2-details h2{font-size:2rem}.cq2-details p{color:var(--muted);line-height:1.6}.cq2-details a:not(.cq2-btn){color:var(--blue)}.cq2-verse{background:linear-gradient(rgba(9,49,88,.93),rgba(9,49,88,.93)),url('/assets/images/catequese-celebrar.webp') center/cover;padding:60px 0;text-align:center;color:#fff}.cq2-verse p{font-family:Georgia,serif;font-size:1.8rem;line-height:1.45;margin:0 0 10px}.cq2-verse small{opacity:.85}@media(max-width:850px){.cq2-hero{height:470px}.cq2-hero-copy h1{font-size:3rem}.cq2-story,.cq2-family-grid,.cq2-details .container{grid-template-columns:1fr;gap:35px}.cq2-practical,.cq2-sac-grid{grid-template-columns:1fr 1fr}.cq2-events,.cq2-news{grid-template-columns:1fr}.cq2-news-placeholder{grid-template-columns:1fr}.cq2-head{align-items:start;flex-direction:column}.cq2-catechists .container{grid-template-columns:1fr}.cq2-story{padding-top:60px}.cq2-story h2{font-size:2.4rem}}@media(max-width:520px){.cq2-practical,.cq2-sac-grid{grid-template-columns:1fr}.cq2-actions{flex-direction:column;align-items:flex-start}.cq2-hero{height:520px}.cq2-week{grid-template-columns:1fr}}

/* Catequistas */
.cq2-catechists-intro{display:grid!important;grid-template-columns:1.4fr .6fr!important;gap:50px;align-items:center}
.cq2-catechists-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:36px}
.cq2-catechist{text-align:center}
.cq2-catechist img,.cq2-catechist-placeholder{width:132px;height:132px;border-radius:50%;object-fit:cover;margin:0 auto 14px;display:block;background:#f2eee4;border:5px solid #fff;box-shadow:0 8px 24px rgba(20,43,77,.10)}
.cq2-catechist-placeholder{display:grid;place-items:center;color:var(--gold);font-size:3rem}
.cq2-catechist h3{font-size:1.2rem;margin:0 0 5px}
.cq2-catechist p{margin:0;color:var(--gold);font-weight:800;font-size:.92rem}
.cq2-catechist small{display:block;margin-top:5px;color:var(--muted)}
@media(max-width:850px){.cq2-catechists-intro{grid-template-columns:1fr!important}.cq2-catechists-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.cq2-catechists-grid{grid-template-columns:1fr 1fr;gap:20px 12px}.cq2-catechist img,.cq2-catechist-placeholder{width:108px;height:108px}}

.cq2-catechists-carousel{position:relative!important;display:grid!important;grid-template-columns:46px minmax(0,1fr) 46px!important;gap:14px!important;align-items:center!important;margin-top:36px}.cq2-catechists-viewport{overflow:hidden;min-width:0}.cq2-catechists-carousel .cq2-catechists-grid{display:flex!important;gap:24px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0;padding:8px 3px 18px}.cq2-catechists-carousel .cq2-catechists-grid::-webkit-scrollbar{display:none}.cq2-catechists-carousel .cq2-catechist{flex:0 0 calc((100% - 72px)/4);scroll-snap-align:start}.cq2-catechists-carousel .cq2-catechist img,.cq2-catechists-carousel .cq2-catechist-placeholder{width:184px;height:184px}.cq2-carousel-arrow{width:42px;height:42px;border-radius:50%;border:1px solid #d7b56e;background:#fff;color:var(--gold);font:2rem/1 Georgia,serif;cursor:pointer;box-shadow:0 7px 20px rgba(20,43,77,.08)}.cq2-carousel-arrow:disabled{opacity:.25;cursor:default}@media(max-width:850px){.cq2-catechists-carousel .cq2-catechist{flex-basis:calc((100% - 24px)/2)}}@media(max-width:520px){.cq2-catechists-carousel{grid-template-columns:36px minmax(0,1fr) 36px!important;gap:6px!important}.cq2-carousel-arrow{width:34px;height:34px;font-size:1.5rem}.cq2-catechists-carousel .cq2-catechist{flex-basis:78%}.cq2-catechists-carousel .cq2-catechist img,.cq2-catechists-carousel .cq2-catechist-placeholder{width:150px;height:150px}}

/* =========================================================
   CORREÇÃO V2.6 — ÍCONES DOS CARTÕES
   Mantém todos os SVG da informação prática e Sacramentos
   em traço dourado, sem preenchimento.
   ========================================================= */
.cq2 .cq2-practical .cq2-practical-icon,
.cq2 .cq2-sac-grid .cq2-sac-icon{
  display:flex !important;
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  min-height:46px !important;
  max-width:46px !important;
  max-height:46px !important;
  align-items:center !important;
  justify-content:center !important;
  color:var(--gold) !important;
  font-size:0 !important;
  overflow:visible !important;
}

.cq2 .cq2-practical .cq2-practical-icon svg,
.cq2 .cq2-sac-grid .cq2-sac-icon svg{
  display:block !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  max-width:42px !important;
  max-height:42px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

/* Garante que formas internas não recuperam fill preto */
.cq2 .cq2-practical .cq2-practical-icon svg *,
.cq2 .cq2-sac-grid .cq2-sac-icon svg *{
  fill:none !important;
  stroke:currentColor !important;
  vector-effect:non-scaling-stroke;
}

/* V2.7 — correção real dos SVG, usando as classes existentes no HTML */
main.cq2 .cq2-practical a > span.cq2-i,
main.cq2 .cq2-sac-grid a > span.cq2-sac-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  min-height:46px !important;
  max-width:46px !important;
  max-height:46px !important;
  margin:0 0 20px 0 !important;
  padding:0 !important;
  color:var(--gold) !important;
  font-size:0 !important;
  line-height:1 !important;
}

main.cq2 .cq2-practical a > span.cq2-i > svg,
main.cq2 .cq2-sac-grid a > span.cq2-sac-icon > svg{
  display:block !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  max-width:42px !important;
  max-height:42px !important;
  overflow:visible !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

main.cq2 .cq2-practical a > span.cq2-i > svg path,
main.cq2 .cq2-practical a > span.cq2-i > svg circle,
main.cq2 .cq2-practical a > span.cq2-i > svg rect,
main.cq2 .cq2-practical a > span.cq2-i > svg line,
main.cq2 .cq2-practical a > span.cq2-i > svg polyline,
main.cq2 .cq2-practical a > span.cq2-i > svg polygon,
main.cq2 .cq2-sac-grid a > span.cq2-sac-icon > svg path,
main.cq2 .cq2-sac-grid a > span.cq2-sac-icon > svg circle,
main.cq2 .cq2-sac-grid a > span.cq2-sac-icon > svg rect,
main.cq2 .cq2-sac-grid a > span.cq2-sac-icon > svg line,
main.cq2 .cq2-sac-grid a > span.cq2-sac-icon > svg polyline,
main.cq2 .cq2-sac-grid a > span.cq2-sac-icon > svg polygon{
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

/* V2.8 — 4 ícones da informação prática: selector corrigido */
main.cq2 section.cq2-practical > article > span.cq2-i{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  min-height:46px !important;
  max-width:46px !important;
  max-height:46px !important;
  margin:0 0 20px 0 !important;
  padding:0 !important;
  color:var(--gold) !important;
  font-size:0 !important;
  line-height:1 !important;
}
main.cq2 section.cq2-practical > article > span.cq2-i > svg{
  display:block !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  max-width:42px !important;
  max-height:42px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
main.cq2 section.cq2-practical > article > span.cq2-i > svg *{
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
