.elementor-38174 .elementor-element.elementor-element-c92f1f9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-38174 .elementor-element.elementor-element-5673826{--display:flex;--min-height:0px;--margin-top:-10px;--margin-bottom:-391px;--margin-left:-10px;--margin-right:-10px;--padding-top:-11px;--padding-bottom:-11px;--padding-left:-11px;--padding-right:-11px;}:root{--page-title-display:none;}@media(min-width:769px){.elementor-38174 .elementor-element.elementor-element-c92f1f9{--content-width:100%;}.elementor-38174 .elementor-element.elementor-element-5673826{--content-width:100%;}}/* Start custom CSS for html, class: .elementor-element-08f6ba6 *//* CALENDÁRIO 2027 – CSS personalizado (cole em Elementor > CSS personalizado). Sem tags <style>. */
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

.cf27{
  --marinho:#0B1F4B; --real:#1F3F80; --ceu:#DCE8F5;
  --ouro:#C9A24B; --ouro-claro:#E3C77A; --ouro-escuro:#8A6A1F;
  --marfim:#FBF6EA; --rosa:#F3E3E0; --texto:#1F2A44;
  --topo:66px;        /* altura do cabeçalho do site no mobile */
  --h-titulo:84px;    /* altura reservada ao bloco do título */
  --h-btn:56px;       /* altura do botão principal */
  font-family:'Lora',Georgia,'Times New Roman',serif;
  font-size:17px; line-height:1.65; color:var(--texto);
  width:100%; overflow-x:clip; -webkit-text-size-adjust:100%;
}
.cf27 *,.cf27 *::before,.cf27 *::after{box-sizing:border-box}
.cf27 h1,.cf27 h2,.cf27 p,.cf27 ul,.cf27 ol{margin:0;padding:0}
.cf27 a{text-decoration:none}
.cf27 img{max-width:100%}
.cf27 p,.cf27 li,.cf27 a,.cf27 strong,.cf27 span{font-family:'Lora',Georgia,'Times New Roman',serif}

/* ---------- Tipografia de títulos ---------- */
.cf27 h1,.cf27 h2{font-family:'Cinzel',Georgia,serif;font-weight:700;color:var(--marinho)}
.cf27 h2{font-size:clamp(1.3rem,5vw,1.9rem);line-height:1.25;text-align:center;margin-bottom:20px}

/* ---------- Botão ---------- */
.cf27 a.btn{
  display:flex;align-items:center;justify-content:center;text-align:center;
  min-height:var(--h-btn);padding:0 24px;border-radius:6px;
  background:linear-gradient(180deg,var(--ouro-claro),var(--ouro));
  color:var(--marinho);font-weight:700;font-size:1.08rem;line-height:1.25;
  box-shadow:0 2px 0 #9C7A2C,0 8px 20px rgba(0,0,0,.25);
  transition:transform .15s ease,box-shadow .15s ease;
}
.cf27 a.btn:hover{transform:translateY(-1px);box-shadow:0 3px 0 #9C7A2C,0 12px 24px rgba(0,0,0,.28);color:var(--marinho)}
.cf27 a.btn:active{transform:translateY(1px);box-shadow:0 1px 0 #9C7A2C}
.cf27 a:focus-visible,.cf27 button:focus-visible,.cf27 summary:focus-visible{outline:3px solid var(--ouro-claro);outline-offset:3px}

/* ---------- 1. HERO ---------- */
.cf27 .hero{
  display:grid;grid-template-columns:minmax(0,1fr);gap:12px;
  padding:14px 16px 40px;color:#fff;
  background:
    radial-gradient(ellipse 80% 46% at 50% 44%,rgba(227,199,122,.26),transparent 70%),
    linear-gradient(180deg,#0B1F4B 0%,#173466 60%,#24457E 100%);
}
.cf27 .titulo{min-height:var(--h-titulo);display:flex;flex-direction:column;justify-content:center;text-align:center}
.cf27 .titulo::after{content:"";display:block;width:72px;height:1px;background:var(--ouro);margin:10px auto 0}
.cf27 .sobre{font-style:italic;font-size:1rem;color:var(--ouro-claro);margin-bottom:2px}
.cf27 h1{font-size:clamp(1.55rem,7.4vw,3rem);letter-spacing:.02em;line-height:1.15;color:#fff}

/* Carrossel quadrado no mobile; a largura é limitada para título + carrossel + botão caberem na primeira tela */
.cf27 .carrossel{
  position:relative;overflow:hidden;border:1px solid var(--ouro);border-radius:6px;background:#E6ECF5;
  aspect-ratio:1/1;justify-self:center;
  width:min(100%,max(240px,calc(100vh - 252px)));
  width:min(100%,max(240px,calc(100svh - 252px)));
}
.cf27 .faixa{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.cf27 .faixa::-webkit-scrollbar{display:none}
.cf27 .slide{flex:0 0 100%;height:100%;margin:0;scroll-snap-align:center}
.cf27 .slide img{display:block;width:100%;height:100%;object-fit:contain}
.cf27 .seta{
  position:absolute;top:50%;z-index:2;transform:translateY(-50%);width:30px;height:30px;padding:0;border-radius:50%;
  background:rgba(11,31,75,.8);border:1px solid var(--ouro);cursor:pointer;display:flex;align-items:center;justify-content:center;
}
.cf27 .seta svg{width:14px;height:14px;stroke:#fff;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.cf27 .seta.ant{left:6px}.cf27 .seta.prox{right:6px}
.cf27 .pontos{position:absolute;left:0;right:0;bottom:10px;z-index:2;display:flex;justify-content:center;gap:4px}
.cf27 .pontos button{width:24px;height:24px;padding:0;border:0;background:transparent;cursor:pointer;position:relative}
.cf27 .pontos button::after{content:"";position:absolute;top:8px;left:8px;width:8px;height:8px;border-radius:50%;background:rgba(11,31,75,.35);border:1px solid var(--marinho)}
.cf27 .pontos button[aria-current="true"]::after{background:var(--ouro)}

/* Caixa de texto (logo abaixo do botão) */
.cf27 .caixa{margin-top:10px;padding:22px 20px 24px;border-radius:10px;background:var(--marfim);border:1px solid var(--ouro);color:var(--texto)}
.cf27 .caixa h2{text-align:left;font-size:1.2rem;margin-bottom:14px}
.cf27 .caixa p{margin-bottom:14px}
.cf27 .caixa p:last-of-type{margin-bottom:20px}
.cf27 .caixa strong{color:var(--marinho)}

/* ---------- Seções ---------- */
.cf27 .sec{padding:56px 20px}
.cf27 .sec.marfim{background:var(--marfim)}
.cf27 .sec.ceu{background:var(--ceu)}
.cf27 .miolo{max-width:720px;margin:0 auto}
.cf27 .miolo p{margin-bottom:1em}
.cf27 .miolo p:last-child{margin-bottom:0}

/* 3. Mensagem de Fátima */
.cf27 .ornamento{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto 18px;max-width:240px;color:var(--ouro-escuro)}
.cf27 .ornamento::before,.cf27 .ornamento::after{content:"";flex:1;height:1px;background:var(--ouro)}
.cf27 .ornamento svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}

/* Barra fixa (aparece só depois do botão principal sair da tela) */
.cf27 .barra{
  position:fixed;left:0;right:0;bottom:0;z-index:999;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));
  background:rgba(11,31,75,.97);border-top:1px solid var(--ouro);
  transform:translateY(110%);visibility:hidden;transition:transform .3s ease,visibility 0s linear .3s;
}
.cf27 .barra.visivel{transform:none;visibility:visible;transition:transform .3s ease,visibility 0s}
.cf27 .barra a.btn{min-height:50px}

/* ---------- Desktop ---------- */
@media (min-width:900px){
  .cf27{--topo:0px}
  .cf27 .hero{
    grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
    grid-template-areas:"t t" "c x" "c b";grid-template-rows:auto auto 1fr;
    column-gap:48px;row-gap:20px;padding:40px max(32px,calc((100% - 1160px)/2)) 64px;
  }
  .cf27 .titulo{grid-area:t;min-height:0;margin-bottom:8px}
  .cf27 .carrossel{grid-area:c;width:100%;aspect-ratio:auto;justify-self:stretch;height:min(72vh,620px)}
  .cf27 .hero > a.btn{grid-area:b;align-self:start}
  .cf27 .caixa{grid-area:x;margin-top:0;align-self:start;padding:28px 28px 30px}
  .cf27 .caixa .btn-caixa{display:none}
  .cf27 .sec{padding:76px 32px}
  .cf27 .barra{display:none}
}

@media (prefers-reduced-motion:reduce){
  .cf27 *,.cf27 *::before,.cf27 *::after{transition:none!important;scroll-behavior:auto!important}
}/* End custom CSS */