/* SEO/A11y additive layer — non-destructive overrides only.
   Mirrors the original ".sec-title h6" eyebrow styling onto a non-heading
   element so the document heading outline is clean (no skipped levels)
   without changing the visual design. */

.sec-title-eyebrow{
  position: relative;
  display: inline-block;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #8a61c6;
  text-transform: uppercase;
  margin: 0 0 14px;
  transition: all 500ms ease;
}
.sec-title-eyebrow span{ margin-left: 10px; }
.sec-title-eyebrow i{ color: #8a61c6; }
.sec-title.centred .sec-title-eyebrow{ margin-right: 10px; }
.sec-title.light .sec-title-eyebrow,
.sec-title.light .sec-title-eyebrow i{ color: #ffffff; }
/* banner kicker sits on a dark photo overlay */
.banner-section .content-box .sec-title-eyebrow,
.banner-section .content-box .sec-title-eyebrow i{ color: #ffffff; }

/* Accessibility: ensure the visually-hidden helper exists if referenced */
.sr-only{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* footer/contact decorative labels (mirror ".contact-widget .info h5") */
.main-footer .widget-section .contact-widget .info .contact-info-label{
  display:block;font-size:18px;line-height:26px;color:#ffffff;font-weight:700;margin-bottom:1px;
}

/* kontakt.html contact card labels (mirror base h5 look) */
.content_block_13 .content-box .single-item .info .contact-info-label{
  position:relative;display:block;font-size:18px;line-height:28px;
  font-weight:600;color:#252638;margin-bottom:2px;
}

/* FAQ accordion question as <h3> (mirror ".acc-btn h5"), keeps clean heading outline */
.accordion-box .block .acc-btn h3{
  position:relative;display:block;font-size:18px;line-height:28px;padding-left:70px;
  font-weight:700;border-bottom:1px solid transparent;margin:0;transition:all 500ms ease;
}
.accordion-box .block .acc-btn h3 span{
  position:absolute;left:0;top:50%;transform:translateY(-50%);width:70px;font-size:20px;color:#8a61c6;text-align:center;font-weight:700;transition:all 500ms ease;
}
.faq-page-section .accordion-box .block.active-block .acc-btn h3{ color:#8a61c6; }
/* breathing room above the FAQ heading on the homepage */
.faq-page-section .sec-title{ margin-top:40px; }

/* Single <h1> per page: banner slides 2+ use <h2 class="banner-title">,
   styled identically to the original ".banner-carousel .content-box h1" (incl. animation). */
.banner-carousel .content-box h2.banner-title{
  position:relative;display:block;color:#fff;font-size:72px;line-height:76px;font-weight:700;
  margin-bottom:21px;opacity:0;transform:translateX(100px);transition:all 1000ms ease;
}
.banner-carousel .active .content-box h2.banner-title{
  opacity:1;transform:translateX(0);transition-delay:1000ms;
}
@media only screen and (max-width:767px){
  .banner-carousel .content-box h2.banner-title{ font-size:50px;line-height:56px; }
  .banner-carousel .content-box h2.banner-title br{ display:none; }
}

/* candidate page support-box label (mirror ".support-box h5") */
.support-box .support-box-label{
  display:block;font-size:18px;line-height:28px;color:#ffffff;font-weight:700;margin-bottom:2px;
}

:root{ --brand:#8B66C3; }

/* ===== Campaign UI fixes ===== */

/* FAQ accordion — questions rendered as <h3> (clean heading outline),
   mirror of the template's ".faq-section .acc-btn h5" styling. */
.faq-section .accordion-box .block .acc-btn h3{
  position:relative;display:block;font-size:18px;line-height:28px;font-weight:700;
  margin:0;padding-left:100px;color:#252638;transition:all 500ms ease;
}
.faq-section .accordion-box .block .acc-btn h3 span{
  position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:70px;font-size:20px;color:#8a61c6;text-align:center;font-weight:700;
}
.faq-section .accordion-box .block.active-block .acc-content{ display:block; }
.faq-section .accordion-box .block.active-block .acc-btn h3{ color:#8a61c6; }

/* Team cards — equal height, uniform photo crop, spacing between rows */
.team-section .row.clearfix{ display:flex; flex-wrap:wrap; }
.team-section .row.clearfix > .team-block{ display:flex; margin-bottom:30px; }
.team-section .team-block .team-block-one{ width:100%; display:flex; }
.team-section .team-block-one .inner-box{ width:100%; display:flex; flex-direction:column; }
.team-section .team-block-one .inner-box .image-box{ height:300px; flex:0 0 auto; }
.team-section .team-block-one .inner-box .image-box img{
  width:100%; height:100%; object-fit:cover; object-position:top center;
}
.team-section .team-block-one .inner-box .lower-content{ flex:1 1 auto; display:flex; flex-direction:column; }
.team-section .team-block-one .inner-box .lower-content .othre-info{ margin-top:auto; }

/* "Oblasti/Piliere" — 4 static cards in a row instead of a buggy carousel */
.service-style-two .four-item-grid{ display:flex; flex-wrap:wrap; gap:30px; justify-content:center; }
.service-style-two .four-item-grid .service-block-two{ flex:1 1 calc(25% - 23px); min-width:230px; max-width:360px; margin:0; }

/* Priorities/solutions grid — flex instead of float so rows align evenly
   (identical look on the homepage and the programme page). */
.solutions-section .inner-container .upper-box{ display:flex; flex-wrap:wrap; }
.solutions-section .inner-container .solution-block-one{ float:none; display:flex; }
.solutions-section .inner-container .solution-block-one .inner-box{ width:100%; }

/* about-style-four right card — let it grow with the list instead of clipping
   (content_block_7 used a fixed 522px height + overflow:hidden). */
.content_block_7 .content-box{ display:flex; padding-left:0; min-height:0; }
.content_block_7 .content-box .left-column{ position:static; flex:0 0 285px; max-width:285px; }
.content_block_7 .content-box .right-column{ flex:1 1 auto; min-width:0; display:flex; }
.content_block_7 .content-box .right-column .image-box{ width:100%; height:100%; margin:0; }
.content_block_7 .content-box .right-column .image-box img{ width:100%; height:100%; object-fit:cover; }

/* Header — balanced spacing between nav items + a little letter-spacing */
.main-header .main-menu .navigation > li{ margin:0 14px; }
.main-header .main-menu .navigation > li > a{ padding-right:0; letter-spacing:0.6px; }

/* Candidate detail — readable paragraph + list spacing */
.about-department .text p{ margin-bottom:16px; }
.about-department .text p:last-child{ margin-bottom:0; }
.about-department .text ul{ margin:0 0 18px; padding-left:20px; list-style:disc; }
.about-department .text li{ margin-bottom:7px; line-height:28px; }
.about-department .text strong{ color:#252638; }
