.elementor-983 .elementor-element.elementor-element-a7ea88c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-983 .elementor-element.elementor-element-e7cdf69{width:100%;max-width:100%;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-983 .elementor-element.elementor-element-a7ea88c{--content-width:100%;}}/* Start custom CSS for html, class: .elementor-element-e7cdf69 */* { margin: 0; padding: 0; box-sizing: border-box; }
        :root {
            --color-primary: #B01E2D;
            --color-secondary: #1F3F6D;
            --color-dark: #0E0E0E;
            --color-light: #F4F5F7;
            --color-accent: #C8A24D;
            --color-gray: #1A1F26;
        }
        body {
            font-family: 'Inter', sans-serif;
            background: var(--color-dark);
            color: #fff;
            min-height: 100vh;
        }

        /* Footer – volledige breedte, overschrijft Elementor containers */
        .site-footer {
            background: var(--color-gray);
            color: #b0b0b0;
            padding: 64px 24px 0;
            width: 100% !important;
            max-width: 100% !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            box-sizing: border-box !important;
        }

        .elementor .site-footer,
        .elementor-section .site-footer,
        .elementor-widget-container .site-footer,
        .e-con .site-footer {
            width: 100% !important;
            max-width: 100% !important;
        }

        /* === FOOTER KOPPEN - ELEMENTOR OVERRIDES === */
        .site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5, .site-footer h6,
        .elementor .site-footer h1, .elementor .site-footer h2, .elementor .site-footer h3,
        .elementor .site-footer h4, .elementor .site-footer h5, .elementor .site-footer h6,
        .elementor-widget-container .site-footer h1, .elementor-widget-container .site-footer h2,
        .elementor-widget-container .site-footer h3, .elementor-widget-container .site-footer h4,
        .elementor-element .site-footer h1, .elementor-element .site-footer h2,
        .elementor-element .site-footer h3, .elementor-element .site-footer h4,
        .e-con .site-footer h1, .e-con .site-footer h2, .e-con .site-footer h3,
        .e-con-inner .site-footer h1, .e-con-inner .site-footer h2, .e-con-inner .site-footer h3,
        footer.site-footer h1, footer.site-footer h2, footer.site-footer h3,
        footer.site-footer h4, footer.site-footer h5, footer.site-footer h6,
        .site-footer .elementor-heading-title,
        .elementor .site-footer .elementor-heading-title,
        .elementor-widget-container .site-footer .elementor-heading-title,
        .elementor-element .site-footer .elementor-heading-title {
            color: #fff !important;
            font-family: 'Inter', sans-serif !important;
        }

        .footer-container {
            max-width: 1400px;
            margin: 0 auto;
            padding: 0 24px;
            box-sizing: border-box;
        }

        .footer-grid {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr 1fr;
            gap: 48px 32px;
            padding-bottom: 48px;
            border-bottom: 1px solid rgba(255,255,255,0.08);
        }

        @media (max-width: 1024px) {
            .footer-grid { grid-template-columns: 1fr 1fr; }
        }

        @media (max-width: 600px) {
            .footer-grid { grid-template-columns: 1fr; gap: 40px; }
            .site-footer { padding: 48px 16px 0; }
        }

        .footer-heading,
        .site-footer .footer-heading,
        .site-footer h3.footer-heading,
        .elementor .site-footer .footer-heading,
        .elementor-widget-container .site-footer .footer-heading,
        .elementor-element .site-footer .footer-heading,
        .e-con .site-footer .footer-heading,
        .e-con-inner .site-footer .footer-heading,
        .elementor-section .site-footer .footer-heading,
        .elementor .footer-heading,
        .elementor-widget-container .footer-heading,
        .elementor-element .footer-heading,
        .e-con .footer-heading,
        .e-con-inner .footer-heading,
        h3.footer-heading,
        .elementor h3.footer-heading,
        .elementor-widget-container h3.footer-heading,
        .elementor-element h3.footer-heading {
            font-size: 16px !important;
            font-weight: 700 !important;
            text-transform: uppercase !important;
            letter-spacing: 1px !important;
            color: #fff !important;
            margin-bottom: 16px !important;
            font-family: 'Inter', sans-serif !important;
            line-height: 1.4 !important;
        }

        .footer-block p {
            font-size: 15px;
            line-height: 1.6;
            margin-bottom: 12px;
        }

        .site-footer .footer-block a,
        .site-footer a.footer-link,
        .elementor .site-footer a,
        .elementor-widget-container .site-footer a {
            color: #b0b0b0 !important;
            text-decoration: none !important;
            font-size: 15px !important;
            transition: color 0.2s;
        }

        .site-footer .footer-block a:hover,
        .elementor .site-footer .footer-block a:hover { color: #fff !important; }

        .footer-callback .footer-heading { margin-bottom: 8px; }
        .footer-callback > p { margin-bottom: 16px; font-size: 14px; }

        .footer-callback label {
            display: block;
            font-size: 13px;
            font-weight: 600;
            color: #ccc;
            margin-bottom: 6px;
        }

        .footer-callback input[type="tel"] {
            width: 100%;
            max-width: 280px;
            padding: 12px 16px;
            border-radius: 10px;
            border: 1px solid rgba(255,255,255,0.2);
            background: rgba(0,0,0,0.2);
            color: #fff;
            font-size: 15px;
            font-family: inherit;
            margin-bottom: 12px;
        }

        .footer-callback input[type="tel"]::placeholder { color: rgba(255,255,255,0.4); }

        .footer-callback .btn-footer {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 12px 24px;
            border-radius: 10px;
            font-size: 14px;
            font-weight: 700;
            background: var(--color-primary);
            color: #fff;
            border: none;
            cursor: pointer;
            font-family: inherit;
            transition: transform 0.2s, box-shadow 0.2s;
        }

        .footer-callback .btn-footer:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 16px rgba(176,30,45,0.4);
        }

        .footer-nav ul,
        .footer-diensten ul,
        .footer-vestigingen ul { list-style: none; }

        .footer-nav li { margin-bottom: 10px; }

        /* Diensten menu styling */
        .footer-diensten-menu ul {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
            gap: 8px 24px;
            list-style: none;
            margin: 0;
            padding: 0;
        }

        .footer-diensten-menu li {
            margin-bottom: 0;
        }

        .footer-diensten-menu a {
            color: #b0b0b0 !important;
            text-decoration: none !important;
            font-size: 15px !important;
            transition: color 0.2s;
        }

        .footer-diensten-menu a:hover {
            color: #fff !important;
        }

        /* Vestigingen menu styling */
        .footer-vestigingen-menu ul {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
            gap: 8px 24px;
            list-style: none;
            margin: 0;
            padding: 0;
        }

        .footer-vestigingen-menu li {
            margin-bottom: 0;
        }

        .footer-vestigingen-menu a {
            color: #b0b0b0 !important;
            text-decoration: none !important;
            font-size: 15px !important;
            transition: color 0.2s;
        }

        .footer-vestigingen-menu a:hover {
            color: #fff !important;
        }

        .footer-contact p {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            margin-bottom: 12px;
        }

        .footer-contact .icon {
            flex-shrink: 0;
            width: 20px;
            height: 20px;
            margin-top: 2px;
        }

        .footer-social {
            display: flex;
            gap: 12px;
            margin-top: 16px;
        }

        .footer-social a {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 40px;
            height: 40px;
            border-radius: 10px;
            background: rgba(255,255,255,0.08);
            color: #fff;
            transition: background 0.2s, color 0.2s;
        }

        .footer-social a:hover {
            background: var(--color-primary);
            color: #fff;
        }

        .footer-social svg { width: 20px; height: 20px; }

        .footer-bottom {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            padding: 24px 0 32px;
            font-size: 14px;
        }

        .site-footer .footer-bottom a,
        .elementor .site-footer .footer-bottom a {
            color: #b0b0b0 !important;
            text-decoration: none !important;
        }

        .site-footer .footer-bottom a:hover { color: #fff !important; }

        .footer-ploko {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            color: #888;
            font-size: 12px;
        }

        /* Ploko-link: subtiele kleur, zelfde grootte als tekst */
        .site-footer .footer-ploko a,
        .site-footer .footer-ploko a.ploko-link,
        .elementor .site-footer .footer-ploko a,
        .elementor-widget-container .site-footer .footer-ploko a,
        .e-con .site-footer .footer-ploko a {
            color: #888 !important;
            font-weight: 400 !important;
            font-size: 12px !important;
            text-decoration: none !important;
            transition: color 0.2s ease;
        }

        .site-footer .footer-ploko a:hover,
        .elementor .site-footer .footer-ploko a:hover { 
            color: #a0a0a0 !important; 
        }/* End custom CSS */