/* Harmonia do Saber — CSS de apoio. SÓ layout que o painel do Elementor não dá.
   Cores e fontes dos widgets ficam no painel (globais). Aqui, quando precisa de cor (formulário, aviso, reserva),
   usa as variáveis globais do Elementor: --e-global-color-*. */
:root{--hs-primary:var(--e-global-color-primary,#00652B);--hs-amarelo:var(--e-global-color-secondary,#F4C51F);--hs-texto:var(--e-global-color-text,#2B3A33);
  --hs-linha:var(--e-global-color-hslinha,#DCE8E0);--hs-escuro:var(--e-global-color-hsverde900,#00451D);--hs-creme:var(--e-global-color-hscreme,#FBF3E8);--hs-vermelho:var(--e-global-color-accent,#D81B32)}
body{margin:0;overflow-x:hidden}
.hs-skip{position:absolute;left:-9999px;top:8px;z-index:1000;background:#fff;color:var(--hs-primary);padding:10px 16px;border-radius:8px;font-weight:700}
.hs-skip:focus{left:8px}

/* ---- Containers ---- */
.e-con.hs-row>.e-con,.e-con>.e-con.hs-btns,.e-con.hs-btns>.elementor-widget{--width:auto;width:auto;flex:0 0 auto}
.e-con.hs-grow,.e-con>.e-con.hs-grow,.e-con>.elementor-widget.hs-grow{flex:1 1 0%;min-width:0}
.hs-sec .elementor-widget,.hs-hero .elementor-widget,.hs-card .elementor-widget,.hs-cta .elementor-widget,.hs-footer .elementor-widget{margin-block-end:0}
.e-con.hs-center{justify-content:center}
.e-con.hs-end{justify-content:flex-end}
@media (max-width:1024px){.e-con.hs-end{justify-content:flex-start}}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
.elementor-widget-text-editor p{margin-top:0}

/* Card inteiro clicável (Container com Tag = a) */
a.e-con.hs-card{text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
a.e-con.hs-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,101,43,.14)}
a.e-con.hs-card:focus-visible{outline:3px solid var(--hs-amarelo);outline-offset:3px}
.hs-feature{transition:transform .2s,box-shadow .2s,border-color .2s}
.hs-feature:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,101,43,.10)}
.hs-feature .elementor-widget-icon,.hs-fato .elementor-widget-icon,.hs-passo-n{flex:none}

/* Fita tricolor */
.hs-fita img,.elementor-widget-image.hs-fita img{display:block;width:100%!important;max-width:none!important;height:16px;object-fit:fill}
.hs-fita-wrap.e-con{--padding-top:0;--padding-bottom:0;--gap:0}

/* Botões */
.hs-btn .elementor-button{transition:background-color .2s,color .2s,transform .2s}
.hs-btn-amarelo .elementor-button:hover,.hs-btn-verde .elementor-button:hover{transform:translateY(-2px)}
.hs-sr-text .elementor-button-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.elementor-editor-active .hs-sr-text .elementor-button-text{position:static;width:auto;height:auto;clip:auto;opacity:.45;font-size:12px}

/* ---- Cabeçalho (Modelo) ---- */
.hs-site-header{position:sticky;top:var(--wp-admin--admin-bar--height,0);z-index:60;background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.05)}
.hs-scrolled .hs-topbar{display:none}
/* No editor do Elementor nada fica fixo: o cabeçalho, a barra do celular e o aviso de cookies cobriam o conteúdo ao editar */
.elementor-editor-active .hs-site-header{position:relative!important;top:auto!important}
.elementor-editor-active .hs-mobar.e-con,.elementor-editor-active .hs-ck-wrap{position:static!important}
.hs-header .hs-logo img{width:190px;height:auto}
.hs-topbar .elementor-icon-list-item a{transition:opacity .2s}.hs-topbar .elementor-icon-list-item a:hover{opacity:.8}
.hs-burger{display:none}
@media (max-width:1024px){
  .hs-header .hs-logo img{width:150px}
  .hs-burger{display:block}
  .hs-nav.e-con{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;padding:12px 16px 20px;box-shadow:0 18px 30px rgba(0,0,0,.10);border-top:1px solid var(--hs-linha)}
  body.hs-menu-open .hs-nav.e-con{display:flex}
  .hs-nav .elementor-button{width:100%;justify-content:flex-start;padding:14px 8px!important;font-size:18px!important}
  .hs-nav .hs-nav-cta .elementor-button{justify-content:center;margin-top:8px}
  .hs-header.e-con{position:relative}
}
.elementor-editor-active .hs-nav.e-con{display:flex;position:static;box-shadow:none}

/* ---- Hero ---- */
.hs-hero-img img{width:100%;height:auto}
.hs-crumb a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* ---- Passos ---- */
.hs-passo-n .elementor-heading-title{width:40px;height:40px;text-align:center}

/* ---- Rodapé ---- */
.hs-footer a{color:inherit}
.hs-footer .elementor-icon-list-item a:hover .elementor-icon-list-text{text-decoration:underline}
.hs-footer-logo img{background:#fff;padding:12px}
.hs-copy-link a{text-decoration:underline}

/* ---- Barra do celular (Modelo) ---- */
.hs-mobar.e-con{position:fixed;left:0;right:0;bottom:0;z-index:70;box-shadow:0 -4px 16px rgba(0,0,0,.08);transition:transform .25s}
.hs-mobar .elementor-button{width:100%;border-radius:0!important;flex-direction:column;gap:4px;padding:10px 4px!important}
.hs-mobar .elementor-button .elementor-button-content-wrapper{flex-direction:column;gap:4px}
.hs-mobar .elementor-widget{margin:0}
body.hs-desce .hs-mobar.e-con{transform:translateY(110%)}
@media (max-width:767px){body{padding-bottom:64px}}
.elementor-editor-active .hs-mobar.e-con{position:static}

/* ---- Formulários (Contact Form 7) ---- */
.hs-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.hs-form-grid .hs-col-2,.hs-form-grid>.hs-fs{grid-column:1/-1}
.hs-fs{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;border:1px solid var(--hs-linha);border-radius:20px;padding:24px;margin:0;min-width:0}
.hs-fs legend{font-family:var(--e-global-typography-primary-font-family,Fredoka),sans-serif;color:var(--hs-primary);font-size:20px;font-weight:600;padding:0 8px}
.hs-form-wrap label,.hs-radio>span{display:flex;flex-direction:column;gap:6px;font-weight:700;color:var(--hs-texto);font-size:16px}
.hs-form-wrap .wpcf7-form-control-wrap{display:block}
.hs-form-wrap input:not([type=checkbox]):not([type=radio]):not([type=submit]),.hs-form-wrap select,.hs-form-wrap textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--hs-linha);
  border-radius:12px;font:inherit;font-weight:400;color:var(--hs-texto);background:#fff}
.hs-form-wrap textarea{min-height:110px}
.hs-form-wrap :focus-visible{outline:3px solid var(--hs-amarelo);outline-offset:1px}
.hs-form-wrap .wpcf7-radio,.hs-form-wrap .wpcf7-acceptance label{display:flex;gap:16px;flex-direction:row;align-items:flex-start;font-weight:400}
.hs-form-wrap .wpcf7-list-item{margin:0}
.hs-aceite{font-size:15px}
.hs-aceite a{color:var(--hs-primary)}
.hs-obs{font-size:15px;margin:0;opacity:.85}
.hs-form-wrap .hs-btn,.hs-form-wrap input[type=submit]{background:var(--hs-amarelo);color:var(--hs-escuro);border:0;border-radius:999px;padding:15px 32px;font:inherit;font-weight:700;cursor:pointer;transition:background-color .2s,color .2s}
.hs-form-wrap .hs-btn:hover{background:var(--hs-primary);color:#fff}
.hs-form-wrap .wpcf7-not-valid-tip{color:var(--hs-vermelho);font-size:14px;font-weight:600;margin-top:4px}
.hs-form-wrap .wpcf7-response-output{border-radius:12px;padding:12px 16px!important;margin:18px 0 0!important}
.hs-form-wrap .wpcf7-spinner{vertical-align:middle}
@media (max-width:767px){.hs-form-grid,.hs-fs{grid-template-columns:1fr}.hs-fs{padding:18px}}

/* ---- Versões PHP de reserva (sem Modelo / sem Elementor) ---- */
.hs-fb-header{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;max-width:1200px;margin:0 auto;padding:12px 24px}
.hs-fb-header img{width:170px;height:auto;display:block}
.hs-fb-nav{display:flex;gap:18px;flex-wrap:wrap}
.hs-fb-nav a{color:var(--hs-texto);text-decoration:none;font-weight:700}
.hs-fb-footer{background:var(--hs-escuro);color:#EAF6EE;padding:28px 24px;text-align:center}
.hs-fb-footer a{color:inherit}
.hs-fb-wrap{max-width:900px;margin:0 auto;padding:64px 24px}
.hs-fb-title{color:var(--hs-primary)}
@media (min-width:1025px){.hs-header .hs-nav.e-con{--width:auto;width:auto;margin-left:auto}}
.hs-header .hs-logo{flex:0 0 auto}
.hs-form-wrap .wpcf7-list-item label{display:inline-flex;flex-direction:row;align-items:center;gap:8px;font-weight:600}
.hs-form-wrap .wpcf7-radio{flex-wrap:wrap;gap:20px;padding-top:10px}
.hs-mapa .elementor-custom-embed,.hs-mapa iframe{border-radius:24px;overflow:hidden}

/* ---- Aviso de cookies (Modelo) — compacto ---- */
.hs-ck-wrap{position:fixed;left:16px;bottom:16px;z-index:80;max-width:620px;width:calc(100% - 32px)}
.hs-ck-wrap[hidden]{display:none}
.hs-ck-wrap .hs-ck-txt p{margin:0}
.hs-ck-wrap .hs-ck-txt a{color:var(--hs-primary);font-weight:700;text-decoration:underline}
.hs-ck-wrap .hs-ck-btns.e-con{flex:0 0 auto}
@media (max-width:767px){
  .hs-ck-wrap{left:8px;right:8px;width:auto;bottom:72px}
  .hs-ck-wrap .hs-ck.e-con{border-radius:14px}
  .hs-ck-wrap .hs-ck-txt.elementor-widget{flex:1 1 100%}
  .hs-ck-wrap .hs-ck-btns.e-con{width:100%}
  .hs-ck-wrap .hs-ck-btns .elementor-widget{flex:1 1 0%}
  .hs-ck-wrap .hs-ck-btns .elementor-button{width:100%;justify-content:center}
}

/* ---- Mapa com consentimento ---- */
.hs-consent{position:relative}
.hs-consent-capa{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:20px;
  background:var(--hs-creme) repeating-linear-gradient(45deg,transparent 0 22px,rgba(66,170,107,.08) 22px 44px);border-radius:inherit}
.hs-consent-capa p{margin:0;color:var(--hs-texto)}
.hs-consent-btn{background:var(--hs-primary);color:#fff;border:0;border-radius:999px;padding:12px 24px;font:inherit;font-weight:700;cursor:pointer}
.hs-consent-btn:focus-visible{outline:3px solid var(--hs-amarelo);outline-offset:2px}
.hs-consent.is-on .hs-consent-capa{display:none}

/* ---- Página jurídica ---- */
.hs-legal mark{background:#FFF1B8;padding:0 4px;border-radius:4px}
.hs-legal-h{scroll-margin-top:120px}

/* ---- Galeria (widget Galeria básica) — grade uniforme 4:3; ao clicar, a foto abre inteira (lightbox) ---- */
/* flex com quebra: a última linha incompleta fica centralizada */
.hs-galeria .gallery{--hs-gcol:3;--hs-ggap:16px;margin:0!important;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--hs-ggap)}
.hs-galeria .gallery.gallery-columns-2{--hs-gcol:2}
.hs-galeria .gallery.gallery-columns-4{--hs-gcol:4}
.hs-galeria .gallery>br{display:none}
.hs-galeria .gallery .gallery-item{flex:0 0 calc((100% - (var(--hs-gcol) - 1) * var(--hs-ggap)) / var(--hs-gcol));max-width:none!important;width:auto!important;margin:0!important;padding:0!important;float:none!important}
.hs-galeria .gallery-icon{margin:0}
.hs-galeria .gallery-item a{position:relative;display:block;overflow:hidden;border-radius:20px;aspect-ratio:4/3;background:var(--hs-creme);box-shadow:0 6px 18px rgba(0,69,29,.08)}
/* enquadramento padrão um pouco acima do centro; ajustes por foto logo abaixo (pelo nome do arquivo) */
.hs-galeria .gallery-item img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block;border-radius:0;transition:transform .35s}
.hs-galeria .gallery-item a::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,69,29,.35),transparent 45%);opacity:0;transition:opacity .3s}
.hs-galeria .gallery-item a:hover img{transform:scale(1.05)}
.hs-galeria .gallery-item a:hover::after{opacity:1}
.hs-galeria .gallery-item a:focus-visible{outline:3px solid var(--hs-amarelo);outline-offset:3px}
.hs-galeria img[src*="02-familia-feira"]{object-position:50% 38%}
.hs-galeria img[src*="04-turma-no-patio"]{object-position:50% 78%}
.hs-galeria img[src*="07-familia-na-feira"]{object-position:50% 35%}
@media (max-width:767px){.hs-galeria .gallery,.hs-galeria .gallery[class*=gallery-columns-]{--hs-gcol:2;--hs-ggap:10px}.hs-galeria .gallery-item a{border-radius:14px}}
