/*
  EVOLVENS: additions on top of the old site's stylesheets (legacy/css/*), restored 2026-10-02.
  The look comes from the old site. This file only covers what the old site did not have:
  self-hosted images instead of inline styles, SEO-driven markup changes (one H1 per page,
  logo outside headings), FAQ, cookie bar, honeypot, language link.
*/

/* Home slider: the client's cover photos, small file on phones */
.home-slider .site-blocks-cover { background-image: var(--cover-sm); }
@media (min-width: 768px) {
  .home-slider .site-blocks-cover { background-image: var(--cover); }
}
/* Phones: the parallax script (stellar) shifts the background and left a grey band under the photo
   (also on the old site). Keep the photo centred instead. */
@media (max-width: 767.98px) {
  .home-slider .site-blocks-cover, .contact-cover { background-position: center center !important; }
}

/* Slide titles are H2 now (one H1 per page); same look as the old slide H1 */
.site-blocks-cover .slide-title {
  font-weight: 900;
  color: #fff;
  text-transform: uppercase;
  font-size: 2rem;
}
@media (min-width: 768px) {
  .site-blocks-cover .slide-title {
    font-size: 5rem;
    font-weight: 300;
    line-height: 1.2;
  }
}
/* The client's service names differ a lot in length. At 5rem the longest one (automation, 70+ characters)
   took five lines and pushed the button out of the fixed-height slide, so longer names get a smaller size. */
.site-blocks-cover .slide-title-long { font-size: 1.6rem; }
@media (min-width: 768px) {
  .site-blocks-cover .slide-title-mid { font-size: 4rem; }
  .site-blocks-cover .slide-title-long { font-size: 3.25rem; }
}

/* About: logo mark from the old site. It turns in with the AOS fade-up and has to come to rest at
   30deg: then one rotor lobe points left, like the O in the wordmark (client's request, 2026-09-24).
   The rotor repeats every 120deg, so 60deg -> 30deg looks like the old 30deg -> 0deg turn.
   These selectors outrank AOS's own transform rules (aos.css), which would otherwise end at 0deg. */
.about-mark {
  background-image: url('/legacy/img/logo_big.webp');
  height: 350px;
  background-size: contain;
  background-repeat: no-repeat;
  transform: rotate(30deg);
}
.about-mark[data-aos] { transform: translate3d(0, 100px, 0) rotate(60deg); }
.about-mark[data-aos].aos-animate { transform: rotate(30deg); }

/* Contact banner */
.contact-cover {
  background-image: url('/legacy/img/hero_bg_1-sm.webp');
  background-position: 50% -56px;
}
@media (min-width: 768px) {
  .contact-cover { background-image: url('/legacy/img/hero_bg_1.webp'); }
}

/* Service tiles: the image is a link now (was a div with onclick) */
.service-tile-img { display: block; cursor: pointer; }

/* Service gallery: real <img> elements with alt text instead of CSS backgrounds */
/* Absolutely positioned so the photo never sets the height: the text column does (as before). */
.owl-carousel-service .carousel-image-container { position: relative; }
.owl-carousel-service .owl-item .carousel-image-container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Language link in the top bar */
.site-navbar-wrap .lang-link {
  font-weight: 700;
  letter-spacing: .05em;
  color: #000;
}

/* FAQ */
.faq-title { font-size: 2.25rem; }
.faq-item {
  border-bottom: 1px solid rgba(0, 0, 0, .1);
  padding: 1rem 0;
}
.faq-item summary {
  cursor: pointer;
  list-style: none;
  position: relative;
  padding-right: 2rem;
  color: #000;
  font-weight: 700;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: '+';
  position: absolute;
  right: 0;
  top: -.1rem;
  font-size: 1.5rem;
  line-height: 1;
  font-weight: 300;
  transition: transform .2s ease;
}
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-item p { margin: .75rem 0 0; }

/* Contact form additions */
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-note { font-size: .875rem; color: #6c757d; }
.form-result.is-sent { color: #155724; }
.form-result.is-error, .form-result.is-invalid { color: #b02a1b; }

/* Footer: privacy, cookie settings, language */
.footer-legal { font-size: .875rem; }
.footer-legal span { margin: 0 .4rem; }
.linklike {
  background: none;
  border: 0;
  padding: 0;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}

/* Cookie bar */
.consent {
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 2000;
  max-width: 560px;
  margin: 0 auto;
  padding: 1rem 1.25rem;
  background: #fff;
  color: #212529;
  border: 1px solid rgba(0, 0, 0, .1);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .15);
  font-size: .9rem;
}
.consent[hidden] { display: none; }
.consent p { margin: 0 0 .75rem; }
.consent-actions { display: flex; gap: .5rem; justify-content: flex-end; flex-wrap: wrap; }

/* Keyboard focus */
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 2px solid #000;
  outline-offset: 2px;
}
.skip:focus { position: fixed; top: .5rem; left: .5rem; z-index: 3000; background: #fff; padding: .5rem 1rem; }
