/*
 * ZXR – Contao specific additions. The look itself comes unchanged from the original
 * OceanWP / Elementor / plugin stylesheets (files/zxr/wp/...). This file only styles markup
 * that differs from WordPress (header slider, map consent, spam honeypot, mobile menu animation).
 */

body.zxr-contao { overflow-x: hidden; }

/* Contao wrappers must not add spacing */
.zxr-contao .mod_article { margin: 0; padding: 0; }
.zxr-contao .content-element-group { margin: 0; }

/* --- Header slider (replacement for Smart Slider 3 "fullwidth", 1920 x 320) --- */
.zxr-slider {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    aspect-ratio: 1920 / 320;
    overflow: hidden;
}
.zxr-slider__track {
    display: flex;
    height: 100%;
    transition-property: transform;
    transition-timing-function: ease;
    will-change: transform;
}
.zxr-slider__slide { flex: 0 0 100%; height: 100%; }
.zxr-slider__slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
.zxr-slider__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent !important;
    cursor: pointer;
    line-height: 0;
    opacity: .9;
    transition: opacity .3s;
}
.zxr-slider__arrow:hover, .zxr-slider__arrow:focus-visible { opacity: 1; }
.zxr-slider__arrow--prev { left: 15px; }
.zxr-slider__arrow--next { right: 15px; }
.zxr-slider__arrow img { width: 32px; height: 32px; }
@media (max-width: 440px) {
    .zxr-slider__arrow { display: none; }
}

/* --- Location image instead of Google Maps (same 300 px height as the former Elementor map) --- */
.zxr-place-image { line-height: 0; }
.zxr-place-image img {
    display: block;
    width: 100%;
    height: 300px;
    object-fit: cover;
    object-position: 56% 50%;
}

/* --- Form spam honeypot (hidden for humans) --- */
.zxr-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

/* --- Mobile dropdown menu animation --- */
#mobile-dropdown { transition: height .25s ease; overflow: hidden; }
#mobile-dropdown.show { display: block; overflow-y: auto; }
#mobile-dropdown ul li.active > ul { display: block; }

/* --- Disclaimer popup visibility (shown by script) --- */
#zxr_disclaimerPopup[hidden] { display: none !important; }

/* --- Accessibility: visible keyboard focus --- */
.zxr-contao a:focus-visible,
.zxr-contao button:focus-visible,
.zxr-contao [role="button"]:focus-visible { outline: 2px solid #86bc24; outline-offset: 2px; }

/* --- Mobile corrections (client request 04.11.2026) --- */
@media (max-width: 767px) {
    /* ticker: compact label, no empty right gutter -> trades get the full width */
    .index-bar__index-box { width: auto; padding: 0 8px; font-size: 11px; white-space: nowrap; }
    .index-bar__quotes-box { margin-left: 118px; margin-right: 0; }

    /* footer: all three blocks centred when stacked */
    #footer-widgets .footer-box,
    #footer-widgets .footer-box p,
    #footer-widgets .footer-box .text-left,
    #footer-widgets .footer-box .widget-title { text-align: center !important; }
    #footer-widgets .footer-box { margin-bottom: 20px; }
    #footer-widgets .footer-box:last-child { margin-bottom: 0; }

    /* last footer line must not disappear behind the fixed ticker */
    #footer-widgets { padding-bottom: 62px; }

    /* homepage key figures: 2 x 2 instead of 4 squeezed columns (the 4th circle was cut off) */
    .zxr-grid .zxr-container .zxr-col-3-sm { width: 50%; }
    .zxr-grid .zxr-container .zxr-col-3-sm:nth-child(2n+1) { clear: left; }
    .zxr-grid .circleContainer, .zxr-grid .circle { width: 150px; height: 150px; }
    .zxr-grid .circleContainer { height: auto; margin-top: 20px; }
    .zxr-grid .circle-text { margin-top: 85px; font-size: 26px; letter-spacing: 3px; }

    /* form fields: 16px so iOS Safari does not auto-zoom when a field is tapped */
    .zxr-form input:not([type=checkbox]):not([type=submit]),
    .zxr-form select,
    .zxr-form textarea { font-size: 16px !important; }
}

/* --- Mobile menu readability (client request 04.11.2026): logo navy instead of light green on white --- */
#mobile-dropdown ul li a,
#mobile-dropdown ul li a .dropdown-toggle,
#mobile-dropdown ul li a i,
.oceanwp-mobile-menu-icon a,
.oceanwp-mobile-menu-icon a:hover,
.oceanwp-mobile-menu-icon a.opened { color: #191b4c !important; }
#mobile-dropdown ul li a:hover,
#mobile-dropdown ul li a:focus-visible { color: #4f7a12 !important; }
#mobile-dropdown ul li.current-menu-item > a,
#mobile-dropdown ul li.current-menu-parent > a { font-weight: bold; }
/* larger mobile menu text (client request): 15px -> 20px, sub items 18px */
#mobile-dropdown ul li a { font-size: 20px !important; line-height: 28px !important; }
#mobile-dropdown ul li ul li a { font-size: 18px !important; }
.oceanwp-mobile-menu-icon a { font-size: 20px !important; }

@media (prefers-reduced-motion: reduce) {
    .zxr-slider__track, #mobile-dropdown { transition: none !important; }
}
#mobile-dropdown { max-height: none; }
