﻿/* Container CSS */
.ad-container-wrapper
{
    width: 100%;
    display: flex;
    justify-content: center;
}

.ad-container
{
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 0 15px;
}

.tag-btn
{
    border-radius: 20px;
    padding: 6px 12px;
    font-size: 0.85rem;
    transition: all 0.3s ease;
    border: 1px solid #dee2e6;
}

.tag-selected, .k-button-solid-base
{
    background: rgb(25, 135, 84);
    border-color: rgb(25, 135, 84);
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(46, 204, 113, 0.35);
}

.tag-btn:not(.selected):hover
{
    background: rgba(204, 51, 51, 0.1);
    border-color: rgb(204, 51, 51);
    color: rgb(204, 51, 51);
    transform: translateY(-1px);
}



.ad-btn-red.k-button
{
    background: rgb(204, 51, 51) !important;
    border: none !important;
    color: white !important;
    padding: 10px 20px !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    overflow: hidden !important;
    border-radius: 0 !important;
}

.ad-btn-red.k-button:hover
{
    background: rgba(204, 51, 51, 0.9) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 25px rgba(204, 51, 51, 0.4) !important;
}

.ad-btn-red.k-button:active,
.ad-btn-red.k-button:focus
{
    background: rgba(204, 51, 51, 0.8) !important;
    transform: translateY(0) !important;
    box-shadow: 0 2px 10px rgba(204, 51, 51, 0.3) !important;
    outline: none !important;
}

.ad-btn-red.k-button i
{
    font-size: 1.2rem !important;
    margin-right: 10px !important;
    vertical-align: middle !important;
}

.ad-btn-red.k-button span
{
    vertical-align: middle !important;
}

.ad-btn-red.k-button::before
{
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.2) 50%, transparent 100%);
    transition: left 0.5s ease;
}

.ad-btn-red.k-button:hover::before
{
    left: 100%;
}

.btn-info
{
    background-color: rgb(204, 51, 51);
    border-color: rgb(204, 51, 51);
    color: #fff;
    padding: 0.5rem 1.5rem;
    font-size: 1rem;
    font-weight: 500;
    border-radius: 6px;
    transition: all 0.3s ease;
}

.btn-info:hover
{
    background-color: rgb(180, 45, 45);
    border-color: rgb(180, 45, 45);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(204, 51, 51, 0.3);
}

.btn-info i
{
    margin-right: 0.5rem;
}

/* Header styling - Desktop */
.ad-header.ad-bg
{
    border-radius: 10px;
    margin-bottom: 0;
    padding: 12px 15px 2px 15px !important;
    overflow: visible;
    position: relative;
    z-index: 1000;
}

/* Navigation row inside header - allow overflow */
.ad-header .ad-navigation
{
    margin-left: 0;
    margin-right: 0;
    padding: 8px 0 0 0;
    width: 100%;
    overflow: visible;
    position: relative;
    z-index: 1001;
}

.ad-header .ad-navigation > .ad-col
{
    padding-left: 0;
    padding-right: 0;
    overflow: visible;
}

/* Main content - lower z-index than header */
.ad-main
{
    position: relative;
    z-index: 1;
}

/* Footer styling - Desktop */
.ad-footer.ad-bg
{
    border-radius: 10px;
    margin-bottom: 10px;
    padding: 15px 20px 10px 20px;
    position: relative;
    z-index: 1;
}

/* Ensure responsive behavior below 1200px */
@media (max-width: 1199.98px)
{
    .ad-container
    {
        max-width: 100%;
    }
}

/* Colors */
.ad-bg
{
    background-color: rgb(204, 51, 51);
}

.ad-color
{
    background-color: rgb(204, 51, 51);
}

/* Buttons */
.ad-btn
{
    background-color: rgb(204, 51, 51);
    color: white;
    border: none;
}

.ad-btn:hover
{
    background-color: #b02a37;
    color: white;
}

.ad-article-separator
{
    width: 10%;
    height: 1px;
    background-color: #ccc;
    margin: 0.5rem 0;
}

/* Social logo's white */
.bi-facebook::before,
.bi-instagram::before,
.bi-envelope-fill::before
{
    color: white;
}

.ad-header-socialmedia,
.ad-footer-socialmedia
{
    font-size: 1.5rem;
    float: right;
}

/* Sidebar hoofdpunten kleur */
.ad-sidebar-headlines a
{
    color: black;
    font-size: 12px;
}

/* Footer menu kleur */
.ad-footer a
{
    color: white;
}

/* Footer font smaller */
.ad-footer-copyright
{
    font-size: 9px;
}

/* Language Selector - Transparent button with white text */
.ad-language-selector-dropdown
{
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.5);
    color: white;
}

.ad-language-selector-dropdown .k-input-inner
{
    background: transparent;
    color: white;
    border: none;
}

.ad-language-selector-dropdown .k-input-button
{
    background: transparent;
    border: none;
    color: white;
}

.ad-language-selector-dropdown .k-button-icon
{
    color: white;
}

/* Hover state */
.ad-language-selector-dropdown:hover
{
    background: rgba(255, 255, 255, 0.1);
    border-color: white;
}

/* Focus state */
.ad-language-selector-dropdown.k-focus
{
    background: rgba(255, 255, 255, 0.1);
    border-color: white;
    box-shadow: none;
}

/* Dropdown language selector  - white background with black text */
.ad-language-selector
{
    margin-left: 10px;
}

.ad-language-selector-dropdown .k-popup
{
    background: white;
    border: 1px solid #ddd;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.ad-language-selector-dropdown .k-list
{
    background: white;
}

.ad-language-selector-dropdown .k-list-item
{
    background: white;
    color: black;
    padding: 8px 12px;
}

.ad-language-selector-dropdown .k-list-item:hover
{
    background: #f0f0f0;
    color: black;
}

.ad-language-selector-dropdown .k-list-item.k-selected
{
    background: #e6f3ff;
    color: black;
}

.ad-language-selector-dropdown .k-list-item.k-focus
{
    background: #e6f3ff;
    color: black;
}

.ad-navigation
{
    background: transparent;
    overflow: visible;
}

/* Hide specific menu items in footer */
.ad-footer .ad-navigationmenu-hidein-footer
{
    display: none !important;
}

/* Hide specific menu items in header (if needed) */
.ad-header .ad-navigationmenu-hidein-header
{
    display: none !important;
}

/* Footer Navigation Menu - Vertical layout with smaller font */
.ad-footer .ad-navigation-menu
{
    flex-direction: column;
    align-items: flex-start;
}

.ad-footer .ad-navigation-menu .navbar-nav
{
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
}

.ad-footer .ad-navigation-menu .nav-item
{
    margin-bottom: 5px;
    width: 100%;
}

.ad-footer .ad-navigation-menu .nav-link
{
    font-size: calc(1rem - 2px);
    padding: 5px 0;
    text-align: left;
    width: 100%;
}

.ad-footer .ad-navigation-menu .dropdown-menu
{
    position: static;
    float: none;
    width: 100%;
    margin-left: 15px;
    box-shadow: none;
    border: none;
    padding-top: 0px;
    background: transparent;
}

.ad-footer .ad-navigation-menu .dropdown-item
{
    font-size: calc(0.875rem - 2px);
    color: rgba(255, 255, 255, 0.8);
    padding: 0px 0;
}

.ad-footer .ad-navigation-menu .toggle
{
    padding: 0px 0;
}

.ad-footer .ad-navigation-menu .dropdown-item:hover
{
    background: rgba(255, 255, 255, 0.1);
    color: white;
}

/* Remove Bootstrap dropdown toggle behavior in footer */
.ad-footer .ad-navigation-menu .dropdown-toggle::after
{
    display: none;
}

/* Show dropdown items by default in footer (no toggle needed) */
.ad-footer .ad-navigation-menu .dropdown .dropdown-menu
{
    display: block;
}

.k-pdf-viewer .k-toolbar
{
    display: none !important;
}

.k-pdf-viewer .k-page
{
    margin: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

/* Article */

/* Basics */
.article-content h2
{
    font-size: 24px;
    color: rgb(204, 51, 51);
    font-weight: bold;
}

.article-content h3
{
    font-size: 24px;
    color: #333;
}

.article-content h4
{
    font-size: 22px;
    color: #333;
}

.article-content a,
.vsi-readmore a
{
    color: rgb(204, 51, 51);
    text-decoration: none;
    font-weight: 500;
}


.article-publishdate
{
    font-size: 10px;
    color: #666666;
}

.article-content .linebreak
{
    margin-bottom: 0px;
}

.article-content p
{
    margin-bottom: 1.2rem;
    display: block;
}


.article-content em
{
    display: block;
}


.article-footer-text
{
    font-size: 12px;
    color: #666666;
}

.article-footer-link
{
    font-size: 12px;
    color: rgb(204, 51, 51);
    text-decoration: none;
    font-weight: 500;
}

.article-separator
{
    border-top: 1px solid #666;
    margin: 20px 0;
    clear: both;
}

.article-readmore
{
    font-size: 23px;
    font-weight: bold;
    color: #333;
}

.article-readmore a
{
    font-size: 23px;
    font-weight: bold;
    color: rgb(204, 51, 51);
}

/* ============================================
   ARTICLE IMAGES - Desktop default (8px border-radius)
   Only applies inside .article-body and .article-intro
   ============================================ */
.article-body .article-image,
.article-intro .article-image
{
    margin: 10px;
    max-width: 50%;
    border-radius: 8px;
    overflow: hidden;
}

.article-body .article-image.center,
.article-intro .article-image.center
{
    display: block;
    float: none;
    clear: both;
    margin: 10px auto;
    max-width: 100%;
    text-align: center;
    border-radius: 8px;
}

.article-body .article-image.left,
.article-intro .article-image.left
{
    display: inline;
    float: left;
    margin: 10px 20px 10px 0;
    border-radius: 8px;
}

.article-body .article-image.right,
.article-intro .article-image.right
{
    display: inline;
    float: right;
    margin: 10px 0 10px 20px;
    border-radius: 8px;
}

.article-body .article-image img,
.article-intro .article-image img
{
    max-width: 400px;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    display: block;
}

.article-body .article-image.center img,
.article-intro .article-image.center img
{
    margin: 0 auto;
    border-radius: 8px;
}

.article-body .article-image .image-caption,
.article-intro .article-image .image-caption
{
    font-style: italic;
    color: #666;
    margin-top: 8px;
    font-size: 0.9em;
    text-align: left;
    width: 100%;
    box-sizing: border-box;
    word-wrap: break-word;
    overflow-wrap: break-word;
    padding: 8px 12px;
    background: #f8f9fa;
    border-radius: 0 0 8px 8px;
}

.article-body .article-image.center .image-caption,
.article-intro .article-image.center .image-caption
{
    text-align: center;
}

/* Clear floats after content sections */
.article-body::after,
.article-intro::after
{
    content: "";
    display: table;
    clear: both;
}

/* Linebreak replacement for br tags */
.linebreak
{
    display: block;
    margin-bottom: 0px;
}

/* Search on 1 row */
.search-wrapper
{
    display: flex;
    gap: 0.5rem;
}

.search-wrapper .search-input
{
    flex: 1;
}

.search-wrapper .search-btn
{
    flex-shrink: 0;
}

/* ============================================
   TABLET STYLES (768px - 991px) - 6px border-radius
   ============================================ */
@media (max-width: 991.98px)
{
    .ad-container
    {
        padding: 0 10px;
    }

    .ad-header.ad-bg
    {
        border-radius: 8px;
        padding: 10px 12px 2px 12px !important;
    }

    .ad-footer.ad-bg
    {
        border-radius: 8px;
        padding: 12px 15px 8px 15px;
    }

    /* Article images - tablet border-radius */
    .article-body .article-image,
    .article-intro .article-image,
    .article-body .article-image.center,
    .article-intro .article-image.center,
    .article-body .article-image.left,
    .article-intro .article-image.left,
    .article-body .article-image.right,
    .article-intro .article-image.right
    {
        border-radius: 6px;
    }

    .article-body .article-image img,
    .article-intro .article-image img,
    .article-body .article-image.center img,
    .article-intro .article-image.center img
    {
        border-radius: 6px;
    }

    .article-body .article-image .image-caption,
    .article-intro .article-image .image-caption
    {
        border-radius: 0 0 6px 6px;
    }
}

/* ============================================
   MOBILE STYLES (below 768px) - 4px border-radius
   ============================================ */
@media (max-width: 767.98px)
{
    .ad-container
    {
        padding: 0 5px;
    }

    .ad-content
    {
        padding-top: 0.5rem;
    }

    /* Header mobile - higher z-index to be above main content */
    .ad-header.ad-bg
    {
        border-radius: 8px;
        padding: 8px 8px 0 8px !important;
        margin-left: 0;
        margin-right: 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        overflow: visible;
        position: relative;
        z-index: 1000;
    }

    /* Fix row overflow issues but allow dropdown overflow */
    .ad-header.row
    {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
        overflow: visible;
    }

    /* Header columns - minimal padding, allow overflow */
    .ad-header > .ad-col
    {
        padding-left: 5px;
        padding-right: 5px;
        overflow: visible;
    }

    /* Navigation inside header - higher z-index */
    .ad-header .ad-navigation
    {
        margin-left: -8px;
        margin-right: -8px;
        padding: 8px 0 0 0;
        width: calc(100% + 16px);
        overflow: visible;
        position: relative;
        z-index: 1001;
    }

    .ad-header .ad-navigation > .ad-col
    {
        padding-left: 0;
        padding-right: 0;
        overflow: visible;
    }

    .ad-language-selector
    {
        margin-left: auto;
    }

    .ad-header-socialmedia, .ad-footer-socialmedia
    {
        font-size: 1.0rem;
        float: right;
    }

    /* Main content - MUST be lower z-index than header dropdown */
    .ad-main
    {
        position: relative;
        z-index: 1;
    }

    /* Footer mobile - compact layout */
    .ad-footer.ad-bg
    {
        border-radius: 8px;
        padding: 10px 8px 8px 8px;
        position: relative;
        z-index: 1;
    }

    /* Fix footer row overflow */
    .ad-footer.row
    {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }

    .ad-footer .ad-col
    {
        padding-left: 5px;
        padding-right: 5px;
    }

    /* Footer inner rows - compact on mobile */
    .ad-footer .ad-row
    {
        margin-left: 0;
        margin-right: 0;
    }

    .ad-footer .ad-row .ad-col
    {
        padding-left: 5px;
        padding-right: 5px;
    }

    /* Stack footer columns on mobile */
    .ad-footer .ad-row .ad-col.col-6,
    .ad-footer .ad-row .ad-col.col-3
    {
        flex: 0 0 auto;
        width: auto;
    }

    /* Footer first row - horizontal compact layout */
    .ad-footer .ad-row:first-child
    {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 8px;
    }

    .ad-footer .ad-row:first-child .ad-col
    {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%;
        margin-bottom: 0;
    }

    /* Footer menu column - takes more space */
    .ad-footer .ad-row:first-child .ad-col:first-child
    {
        flex: 1 1 100%;
        text-align: center;
        margin-bottom: 8px;
    }

    /* Social and advertisement columns */
    .ad-footer .ad-row:first-child .ad-col:nth-child(2),
    .ad-footer .ad-row:first-child .ad-col:nth-child(3)
    {
        flex: 0 0 auto;
    }

    /* Copyright row */
    .ad-footer .ad-row:last-child
    {
        margin-top: 8px;
        padding-top: 8px;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
    }
}

/* Small mobile breakpoint */
@media (max-width: 575.98px)
{
    .ad-container
    {
        padding: 0 3px;
    }

    .ad-header.ad-bg
    {
        border-radius: 6px;
        padding: 6px 5px 0 5px !important;
        overflow: visible;
    }

    /* Header columns - tighter */
    .ad-header > .ad-col
    {
        padding-left: 3px;
        padding-right: 3px;
        overflow: visible;
    }

    /* Navigation - extend to edges */
    .ad-header .ad-navigation
    {
        margin-left: -5px;
        margin-right: -5px;
        padding: 6px 0 0 0;
        width: calc(100% + 10px);
        overflow: visible;
    }

    .ad-footer.ad-bg
    {
        border-radius: 6px;
        margin-bottom: 5px;
        padding: 8px 5px 6px 5px;
    }

    .ad-footer .ad-col
    {
        padding-left: 3px;
        padding-right: 3px;
    }

    /* Even more compact footer layout */
    .ad-footer .ad-row:first-child
    {
        gap: 6px;
    }

    .ad-footer .ad-row:first-child .ad-col:first-child
    {
        margin-bottom: 6px;
    }

    .ad-footer .ad-row:last-child
    {
        margin-top: 6px;
        padding-top: 6px;
    }
}

/* Ensure paragraphs flow around floated images - DESKTOP ONLY */
@media (min-width: 768px)
{
    .article-body p,
    .article-intro p
    {
        overflow: hidden;
        display: block;
        margin-bottom: 1.2rem;
    }

    .article-body br,
    .article-intro br
    {
        display: block;
        line-height: 2.5em;
    }
}

/* ============================================
   MOBILE: Article images full-width, NO text wrap
   Only applies inside .article-body and .article-intro
   Does NOT affect .mobile-article-card or other components
   Border-radius: 4px on mobile (0 for full-bleed images)
   ============================================ */
@media (max-width: 767.98px)
{
    /* Force .article-image containers inside article content to full width block */
    .article-body .article-image,
    .article-body .article-image.left,
    .article-body .article-image.right,
    .article-body .article-image.center,
    .article-intro .article-image,
    .article-intro .article-image.left,
    .article-intro .article-image.right,
    .article-intro .article-image.center
    {
        display: block !important;
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 16px 0 !important;
        padding: 0 !important;
        text-align: center !important;
        border-radius: 0 !important; /* Full-bleed on mobile */
        overflow: visible !important;
    }

    /* Force images inside .article-image to full width */
    .article-body .article-image img,
    .article-intro .article-image img
    {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        border-radius: 0 !important; /* Full-bleed on mobile */
        box-shadow: none !important;
        margin: 0 !important;
        display: block !important;
    }

    /* Override images with inline style attributes */
    .article-body .article-image img[style],
    .article-intro .article-image img[style]
    {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        float: none !important;
        display: block !important;
        border-radius: 0 !important;
    }

    /* Image captions inside article content */
    .article-body .article-image .image-caption,
    .article-intro .article-image .image-caption
    {
        font-size: 0.8rem;
        padding: 8px 12px;
        margin-top: 0;
        background: #f8f9fa;
        text-align: center;
        border-radius: 0; /* Full-bleed caption on mobile */
    }

    /* Paragraphs should NOT wrap around images on mobile */
    .article-body p,
    .article-intro p
    {
        display: block !important;
        overflow: visible !important;
        float: none !important;
    }

    /* Line breaks normal on mobile */
    .article-body br,
    .article-intro br
    {
        display: block;
        line-height: 1.5em;
    }
}

/* Browser Warning Styles */
#browser-warning-overlay
{
    animation: fadeIn 0.3s ease-in-out;
}

#browser-warning-overlay > div
{
    animation: slideIn 0.3s ease-out;
}

@keyframes fadeIn
{
    from
    {
        opacity: 0;
    }

    to
    {
        opacity: 1;
    }
}

@keyframes slideIn
{
    from
    {
        opacity: 0;
        transform: translateY(-20px);
    }

    to
    {
        opacity: 1;
        transform: translateY(0);
    }
}

#browser-warning-overlay a:hover > div
{
    background-color: #f5f5f5;
    border-color: #cc3333;
}