/* v0.45.6.44 — Homepage simples, baseada na 0.45.6.32.
   Sem sticky stages, sem scroll-snap nem deslocação horizontal. */
body.home { scroll-snap-type: none !important; }
body.home main { position:relative; scroll-snap-type:none!important; overflow:visible; }
body.home main > section { position:relative; width:100%; height:auto; min-height:0!important; display:block!important; scroll-snap-align:none!important; scroll-margin-top:100px; }
body.home .hero-shell { position:relative!important; top:auto!important; height:clamp(420px,55vw,620px); max-height:75svh; }
body.home #destaques { padding-top:36px!important; }
body.home main > section > .container { padding-top:clamp(32px,4vw,55px)!important; padding-bottom:clamp(32px,4vw,55px)!important; }
body.home #destaques > .container { padding-top:50px!important; }
body.home .section-head { margin-bottom:20px!important; }
body.home .section-head h2 { font-size:clamp(1.65rem,2.4vw,2.15rem); }
body.home #destaques .row,body.home #noticias .home-news-grid { --bs-gutter-x:1.35rem; --bs-gutter-y:1.35rem; }
body.home #destaques .highlight-card { height:100%; }
body.home #destaques .highlight-image { height:clamp(170px,17vw,230px); min-height:0; }
body.home #destaques .highlight-body { min-height:0; padding:19px 22px; }
body.home #noticias .news-card { min-height:0; }
body.home #noticias .news-card img { object-fit:cover; }
body.home #agenda .agenda-layout { grid-template-columns:minmax(285px,.82fr) minmax(0,1.45fr); gap:20px; align-items:stretch; }
body.home #agenda .calendar-panel { padding:18px 20px; }
body.home #agenda .calendar-toolbar { margin-bottom:12px; }
body.home #agenda .calendar-toolbar h3 { font-size:1.03rem; }
body.home #agenda .calendar-toolbar button { width:34px; height:34px; font-size:1.35rem; }
body.home #agenda .calendar-weekdays,body.home #agenda .calendar-grid { gap:3px; }
body.home #agenda .calendar-day { font-size:.82rem; }
body.home #agenda .calendar-legend { margin-top:9px; font-size:.75rem; }
body.home #agenda .event-panel { min-height:290px; grid-template-columns:minmax(170px,34%) minmax(0,1fr); }
body.home #agenda .event-poster { min-height:290px; }
body.home #agenda .event-content { padding:20px 23px; }
body.home #agenda .event-topline { margin-bottom:9px; gap:10px; }
body.home #agenda .event-big-date { width:55px; height:55px; }
body.home #agenda .event-content h3 { font-size:clamp(1.05rem,1.5vw,1.35rem); }
body.home #documentos { padding-bottom:0!important; }
body.home #documentos > .container { padding-bottom:36px!important; }
body.home .site-footer.jfssm-simple-footer { margin-top:44px; }
/* Preserve the original SVG waves but never place them in the text layer. */
body.home #destaques .section-head { position:relative; z-index:2; }
/* Navigation — optional quick jumps, no alteration to browser scrolling. */
.jfssm-section-shortcuts { position:fixed; right:13px; top:50%; transform:translateY(-50%); z-index:500; display:flex; flex-direction:column; align-items:center; gap:10px; padding:10px 8px; border-radius:24px; background:rgba(255,255,255,.85); box-shadow:0 5px 20px rgba(12,52,72,.12); backdrop-filter:blur(6px); }
.jfssm-section-shortcuts a { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; text-decoration:none; }
.jfssm-section-shortcuts a span { width:9px; height:9px; border:1px solid #176da8; border-radius:50%; background:#fff; transition:transform .2s ease,background .2s ease; }
.jfssm-section-shortcuts a:hover span,.jfssm-section-shortcuts a:focus-visible span { background:#176da8; transform:scale(1.3); }
.jfssm-section-shortcuts a:focus-visible { outline:2px solid #176da8; outline-offset:2px; }
html { scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media(max-width:991px) {
  .jfssm-section-shortcuts { display:none; }
  body.home .hero-shell { height:clamp(350px,56vw,510px); max-height:none; }
  body.home #agenda .agenda-layout { grid-template-columns:1fr; }
  body.home #agenda .event-panel { min-height:270px; }
  body.home #agenda .event-poster { min-height:270px; }
}
@media(max-width:600px) {
  body.home .hero-shell { height:390px; }
  body.home #destaques { padding-top:15px!important; }
  body.home #destaques > .container { padding-top:32px!important; }
  body.home main > section > .container { padding-top:30px!important; padding-bottom:30px!important; }
  body.home #agenda .event-panel { grid-template-columns:1fr; }
  body.home #agenda .event-poster { min-height:0; height:190px; }
  body.home #agenda .event-content { padding:18px; }
}

/* v0.45.6.45 — Altura EXATA da barra: inclui padding, logótipo e container. */
@media(min-width:992px) {
  html body .sticky-site-header .main-navbar {
    height:85px!important; min-height:85px!important; max-height:85px!important;
    padding:0!important; box-sizing:border-box!important;
    display:flex!important; align-items:center!important;
    overflow:visible;
  }
  html body .sticky-site-header .main-navbar .nav-container {
    height:85px!important; min-height:0!important; padding-top:0!important;
    padding-bottom:0!important; display:flex!important; align-items:center!important;
  }
  html body .sticky-site-header .main-navbar .navbar-brand {
    height:70px!important; min-height:0!important; max-height:70px!important;
    padding:0!important; margin-top:0!important; margin-bottom:0!important;
    display:flex!important; align-items:center!important;
  }
  html body .sticky-site-header .main-navbar .navbar-brand img,
  html body .sticky-site-header .main-navbar .navbar-brand img.jfssm-shared-logo {
    max-height:70px!important; height:70px!important; width:auto!important;
    max-width:100%!important; object-fit:contain!important; object-position:left center;
  }
  html body .sticky-site-header .main-navbar .navbar-collapse,
  html body .sticky-site-header .main-navbar .navbar-nav { max-height:85px!important; }
}

/* v0.45.6.46: viewport fixo com painéis transformados; nunca mostrar o footer primeiro. */
@media(min-width:1100px) and (min-height:760px) and (prefers-reduced-motion:no-preference) {
  html:has(body.home.jfssm-horizontal-active), body.home.jfssm-horizontal-active {overflow:hidden!important;}
  body.home.jfssm-horizontal-active {--jf-hh:85px;--jf-hero-h:clamp(275px,41vh,425px);}
  body.home.jfssm-horizontal-active .hero-shell {position:relative!important;top:auto!important;height:var(--jf-hero-h)!important;min-height:0!important;max-height:none!important;overflow:visible!important;}
  body.home.jfssm-horizontal-active .hero-shell #freguesiaCarousel,
  body.home.jfssm-horizontal-active .hero-shell .carousel-inner,
  body.home.jfssm-horizontal-active .hero-shell .carousel-item {height:100%!important;}
  body.home.jfssm-horizontal-active .hero-copy h1 {font-size:clamp(2.4rem,4vw,4rem);}
  body.home.jfssm-horizontal-active .jfssm-horizontal-viewport {position:relative;width:100%;height:calc(100dvh - var(--jf-hh) - var(--jf-hero-h));overflow:hidden!important;overscroll-behavior:contain;}
  body.home.jfssm-horizontal-active .jfssm-horizontal-track {display:flex!important;flex-direction:row!important;align-items:stretch!important;flex-wrap:nowrap!important;width:max-content!important;height:100%!important;will-change:transform;transform:translate3d(0,0,0);}
  body.home.jfssm-horizontal-active .jfssm-horizontal-track > main {display:contents!important;}
  body.home.jfssm-horizontal-active .jfssm-horizontal-track > main > section,
  body.home.jfssm-horizontal-active .jfssm-horizontal-footer {flex:0 0 100vw!important;width:100vw!important;min-width:100vw!important;height:100%!important;max-height:100%!important;min-height:0!important;overflow-y:auto!important;box-sizing:border-box;position:relative!important;}
  body.home.jfssm-horizontal-active .jfssm-horizontal-track > main > section > .container {padding-top:12px!important;padding-bottom:12px!important;}
  body.home.jfssm-horizontal-active .section-head {margin-bottom:10px!important;}
  body.home.jfssm-horizontal-active .section-head h2 {font-size:clamp(1.3rem,2vw,1.85rem)!important;}
  body.home.jfssm-horizontal-active .section-head p {margin-bottom:4px!important;}
  body.home.jfssm-horizontal-active #destaques {padding-top:0!important;}
  body.home.jfssm-horizontal-active #destaques .highlight-card {min-height:0!important;}
  body.home.jfssm-horizontal-active #destaques .highlight-image {height:165px!important;}
  body.home.jfssm-horizontal-active .jfssm-horizontal-footer .site-footer {margin-top:0!important;min-height:100%!important;display:flex;flex-direction:column;justify-content:center;overflow:hidden!important;}
  body.home.jfssm-horizontal-active .jfssm-horizontal-footer .jfssm-footer-wave {display:none!important;}
  body.home.jfssm-horizontal-active .jfssm-horizontal-footer .jfssm-footer-inner {width:100%;}
}
