/* =========================================================
   Merklettertype: Omnes (site-breed beschikbaar)
   Paden relatief t.o.v. dit bestand (assets/css/).
   ========================================================= */
@font-face {
    font-family: "Omnes";
    src: url("../fonts/Omnes Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Omnes";
    src: url("../fonts/Omnes Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Omnes";
    src: url("../fonts/Omnes SemiBold.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Omnes";
    src: url("../fonts/Omnes Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Knop animatie */
@keyframes left-to-right-repeating {
    0%   { transform: translateX(0); }
    50%  { transform: translateX(4px); }
    100% { transform: translateX(0); }
}

.animate-icon-btn:hover .elementor-button-icon {
    animation: left-to-right-repeating 2s infinite forwards;
}

.animate-icon-btn .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elementor-button-content-wrapper .elementor-button-icon {
    margin-top: .3px;
}

#button-arrow span.elementor-button-text {
    margin-top: .4px;
}

/* Breadcrumbs */
#breadcrumbs a {
    font-weight: 400;
    font-size: 13px;
}

#breadcrumbs .sep > img {
    height: 9px;
    width: 20px;
}

/* Lijststijlen */
.list-new-roots ul {
    list-style: none;
    padding-left: 0;
}

.list-new-roots ul li {
    background: url('/wp-content/themes/hello-theme-child-master/assets/images/sleep-beige_punt-rood.svg') no-repeat left top 0px;
    background-size: 27px 27px;
    padding-left: 2.4em;
}

.list-new-roots-dark ul {
    list-style: none;
    padding-left: 0;
}

.list-new-roots-dark ul li {
    background: url('/wp-content/themes/hello-theme-child-master/assets/images/sleep-bruin_punt-blauw.svg') no-repeat left top 0px;
    background-size: 27px 27px;
    padding-left: 2.4em;
}

.lt-list ul {
    list-style: none;
    padding-left: 0;
}

.lt-list ul li {
    background: url('/wp-content/themes/hello-theme-child-master/assets/images/link-arrow-right-orange.svg') no-repeat left top 11px;
    background-size: 12px 12px;
    padding-left: 2.4em;
}

/* Klantenbalk animatie */
.customers-slider .swiper-wrapper {
    width: 100%;
    animation: scroll-left 130s linear infinite;
}

@keyframes scroll-left {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* Quote decoratie */
.quote-title::before {
    width: 116px;
    height: 96px;
    position: absolute;
    top: -50px;
    left: -85px;
    content: "";
    background: url('/wp-content/themes/hello-theme-child-master/assets/images/icon-quote.svg') 50%/contain no-repeat;
    z-index: 1;
}

.quote-title .elementor-widget-container {
    z-index: 2;
    position: relative;
}

@media only screen and (max-width: 767px) {
    .quote-title::before {
        width: 91px;
        height: 75px;
        position: absolute;
        left: 33%;
    }
}

/* Onderlijn-effect op koppen */
.head-underline:before {
    content: '';
    width: 100%;
    height: 5px;
    background: #FC4C02;
    position: absolute;
    bottom: 3px;
    z-index: 0;
    left: 0;
}

.head-underline {
    z-index: 2;
    position: relative;
}

.head-underline span {
    z-index: 3;
    position: relative;
}

/* Mobiel menu */
.mobile-menu .sub-menu .menu-item {
    padding-left: 10px !important;
}

/* Groeimodel hover */
.groeimodel-item {
    opacity: 0 !important;
    transition: all 400ms !important;
}

.groeimodel-item:hover {
    opacity: 1 !important;
}

/* Footer links */
.footer-link-blue,
.footer-link {
    display: inline-block;
}

.footer-link-blue::after,
.footer-link::after {
    content: "";
    display: block;
    height: 1px;
    background-color: #fff;
}

.footer-link-blue::after {
    background-color: #0293B1;
}

/* Utility */
.mt-auto {
    margin-top: auto;
}

/* Vierkante uitsnede voor afbeeldingen. Zet de class op de widget. */
.img-square img {
    aspect-ratio: 1/1;
    object-fit: cover;
}

/* =========================================================
   Case-kaart volledig klikbaar
   De titel-link wordt over de hele kaart uitgerekt, zodat niet
   alleen "Lees meer" maar de complete kaart naar de case leidt.
   Geen JavaScript nodig en de link blijft een echte link: rechts-
   klikken, middelklikken en schermlezers werken gewoon.
   ========================================================= */
.e-loop-item.type-case > .e-con {
    position: relative;
}

/* Elementor zet widgets op position: relative; daardoor zou de overlay
   binnen de titel-widget blijven in plaats van over de kaart te vallen. */
.e-loop-item.type-case .elementor-widget-heading:has(h3.elementor-heading-title) {
    position: static;
}

.e-loop-item.type-case h3.elementor-heading-title > a::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}

/* De categorie zit in een absolute widget met een eigen stapelcontext
   (z-index: 1), dus die moet als geheel boven de overlay uit komen -
   z-index op de link zelf helpt daar niet. */
.e-loop-item.type-case .elementor-widget:has(> .elementor-heading-title > a[rel="tag"]) {
    z-index: 2;
}
