/* Var Overrides */
html {
    font-size: 18px;             /* Set 1rem base to Avada config */
    box-sizing: border-box;      /* Use border-box sizing everywhere */
    min-height: 100%;            /* Help full-height layouts/sticky footers */
    overflow-wrap: break-word;   /* Modern standard for safe wrapping */
    word-wrap: break-word;       /* Legacy support */
    word-break: break-word;      /* WebKit/Blink fallback for long tokens */
    hyphens: auto;               /* Enable hyphenation (needs lang="" on <html>) */
    text-size-adjust: 100%;      /* Prevent iOS/Android auto text zoom */
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;     /* Smooth scroll by default */
    color-scheme: light;         /* Keep UA controls in light mode unless themed */
    text-wrap: pretty;           /* Nicer punctuation-aware wrapping where supported */
}

/* Inherit border-box sizing to all elements */
*, *::before, *::after { box-sizing: inherit; }

/* Respect reduced-motion: disable smooth scroll for accessibility */
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}

/* Headlines: prefer no break on desktop (stable layout) */
h1, h2, h3, h4, h5, h6 {
    overflow-wrap: normal;
    word-wrap: normal;
    word-break: keep-all;        /* Keep words intact as long as possible */
    hyphens: manual;             /* Break only with &shy; or explicit hyphen */
    text-wrap: balance;          /* More even headline line lengths where supported */
}

/* Mobile fallback: allow softer breaks on small screens */
@media (max-width: 600px) {
    h1, h2, h3, h4, h5, h6 {
        overflow-wrap: break-word;
        word-wrap: break-word;
        word-break: break-word;
        hyphens: auto;
    }
}

:root {
    --button_font_size: 0.8rem!important;
}
.fusion-button-default-size{
    font-size: var(--button_font_size, 1rem)!important;
}


/* Header */
.fusion-slider-container .background-image:after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.5);
    pointer-events: none;
}

.tfs-slider .slide-content-container .tfs-button-1,
.tfs-slider .slide-content-container .tfs-button-2{
    margin-top: 0!important;
}

@media (min-width: 450px) {
    .custom-header .fusion-image-element{
        max-width: 12rem!important;
    }
}

@media (max-width: 600px) {
    .fusion-sticky-transition.custom-header .fusion-layout-column{
        max-width: 50%!important;
    }

    .custom-header .fusion-builder-row .fusion-builder-column-0{
        display: none!important;
    }

    .fusion-sticky-transition.custom-header .fusion-builder-row .fusion-builder-column-0{
        display: block!important;
    }
}

/* Menu */
.fusion-container-stuck .fusion-image-element{
    opacity: 0;
}

.fusion-container-stuck.fusion-sticky-transition .fusion-image-element{
    opacity: 1;
    transition: transform .2s;
}

.awb-menu__sub-ul_main .menu-item{
    background: none!important;
    border: none!important;
}

.awb-menu__sub-a span{
    color: var(--awb-color1);!important;
}

.awb-menu__sub-a span:hover,
.awb-menu__main-a:hover span{
    color: var(--awb-color8)!important;
}

/* Footer */
.fusion-footer .fusion-flex-container.has-pattern-background:after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(29, 36, 42, 0.9);
    pointer-events: none;
}

/* Custom Elements */
.custom-button{
    font-weight: bold!important;
}

.custom-hover:hover{
    border-color: var(--awb-color3)!important;
}

.custom-icon {
    position: relative;        /* Referenz für das ::after */
    display: inline-block;     /* <i> ist sonst inline → keine Fläche */
    z-index: 0;
}

.custom-icon::after {
    content: "";               /* sonst erscheint nix */
    position: absolute;
    left: 50%;
    top: 50%;
    width: 4rem;
    height: 4rem;
    transform: translate(-50%, -50%) rotate(45deg); /* rotate ➜ transform */
    box-sizing: border-box;
    border: 2px solid var(--awb-color4);
    border-radius: inherit;
    pointer-events: none;
    z-index: -1;
}

.custom-icon { overflow: visible; }

.custom-content-boxes .content-box-column{
    border: none!important;
}

.custom-content-boxes .content-box-heading{
    font-weight: var(--h3_typography-font-weight)!important;
    line-height: var(--h3_typography-line-height)!important;
    letter-spacing: var(--h3_typography-letter-spacing)!important;
    text-transform: var(--h3_typography-text-transform)!important;
    font-style: var(--h3_typography-font-style, normal)!important;
}

@media (max-width: 600px) {
    .custom-content-boxes > div:nth-child(odd) .content-box-wrapper{
        background-color: var(--awb-custom_color_2);!important;
    }

    .custom-content-boxes > div:nth-child(even) .content-box-wrapper{
        background-color: var(--awb-custom_color_3)!important;
    }
}
@media (min-width: 600px) {
    .custom-bg-image {
        height: 100% !important;
    }
}

/* Responsive Content */
@media (max-width: 600px) {
    main .fusion-fullwidth .fusion-column-wrapper{
        padding: 0 1rem!important;
    }

    main > .fusion-layout-column{
        margin: 0!important;
    }

    main .awb-gallery-wrapper{
        margin: 2rem -1rem!important;
    }

    main .awb-gallery-wrapper > div:last-child .awb-imageframe-caption-container{
        margin-bottom: 0!important;
    }

    main .fusion-content-boxes{
        margin: 0 -1rem!important;
    }

    main .fusion-content-boxes .content-box-wrapper{
        padding: 1rem!important;
    }
}