/* Additions to the old theme: what WordPress plugins or inline styles used to
   provide, and the parts specific to the new site. */

html { scroll-behavior: smooth; }

.vitrine-demo {
  margin: 0;
  padding: .5em 1em;
  background: #fff3cd;
  color: #3d3000;
  border-bottom: 1px solid #e0c36a;
  font: 14px/1.4 "Montserrat", sans-serif;
  text-align: center;
}

/* The WPBakery front-end script used to reveal animated elements. */
.wpb_animate_when_almost_visible { opacity: 1; }

/* Side menu: closed sub-menus until vitrine.js opens the current branch. */
.aside .sub-menu { display: none; }

.vitrine-pager {
  display: flex;
  justify-content: center;
  gap: 1.5em;
  margin: 2em 0;
  font-family: "Montserrat", sans-serif;
}
.vitrine-pager a { font-weight: 600; }

/* Images inserted from Directus keep their aspect ratio. */
.main-content img, .news-content img { max-width: 100%; height: auto; }

/* Logo: the old theme gave the inline SVG its size from its script. */
.site-branding .site-title a svg { height: 52px; position: relative; top: -8px; }
.vc_images_carousel .vc_carousel-slideline-inner { transition: left .6s cubic-bezier(0.4, 0, 0.2, 1); }
@media (prefers-reduced-motion: reduce) { .vc_images_carousel .vc_carousel-slideline-inner { transition: none; } }

/* News grids: the old site laid them out with the slick slider script;
   a wrapping flex row gives the same three-across layout. */
.vc_oci_pt_newsgrid-slide { display: flex; flex-wrap: wrap; align-items: stretch; }
.vc_oci_pt_newsgrid-slide > .vc_oci_pt_grid_element { float: none; display: flex; }
.vc_oci_pt_newsgrid-slide > .vc_oci_pt_grid_element > .vc_column-inner { width: 100%; }
@media (max-width: 767px) {
  .vc_oci_pt_newsgrid-slide > .vc_oci_pt_grid_element { width: 100% !important; }
}
/* Keep the carousel dots under the sticky header. */
.vc_images_carousel .vc_carousel-indicators { z-index: 1; }

/* The theme paints the body green and offsets the content by a fixed amount,
   leaving an empty green band under the fixed header. Use the page colour
   instead; vitrine.js puts the content right under the header. */
html, body { background: #f6f8fb !important; }
body { padding-top: 0 !important; }

/* Figures whose image was never recovered. */
.vc_oci_pt_logo_thumb:not(:has(img)),
figure.vc_figure:not(:has(img)) { display: none; }
