/*
Theme Name: DVWZ UltraLight Theme
Theme URI: https://dvwz.nl/
Author: DVWZ
Author URI: https://dvwz.nl/
Description: Een ultra-lichtgewicht, custom thema waarbij alle logica in functions.php zit.
Version: 3.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dvwz-thema
*/

/* --- BASIS STYLESHEET --- */
html { line-height: 1.15; -webkit-text-size-adjust: 100% }
*, :after, :before { box-sizing: border-box }
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #333; background-color: #fff; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale }
h1, h2, h3, h4, h5, h6 { margin-block-start: .5rem; margin-block-end: 1rem; font-family: inherit; font-weight: 500; line-height: 1.2; color: inherit }
h1 { font-size: 2.5rem }
h2 { font-size: 2rem }
h3 { font-size: 1.75rem }
h4 { font-size: 1.5rem }
h5 { font-size: 1.25rem }
h6 { font-size: 1rem }
p { margin-block-start: 0; margin-block-end: .9rem }
a { background-color: transparent; text-decoration: none; color: #c36 }
a:active, a:hover { color: #336 }
img { border-style: none; height: auto; max-width: 100% }

/* --- CUSTOM HEADER & FOOTER STYLES --- */
.dvwz-light-header { background-color: #1F3D5C; padding: 10px 15px; position: -webkit-sticky; position: sticky; top: 0; z-index: 1020; width: 100%; }
.dvwz-header-container { max-width: 1180px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; }
.dvwz-light-header .site-logo a { display: inline-block; }
.dvwz-light-header .custom-logo { height: 35px; width: auto; max-height: 40px; margin-top: 5px; margin-bottom: -5px; }
.dvwz-light-header .main-navigation ul { margin: 0; padding: 0; list-style: none; display: flex; align-items: center; }
.dvwz-light-header .main-navigation li { display: flex; align-items: center; }
.dvwz-light-header .main-navigation li a { color: #ffffff; text-decoration: none; padding: 10px 15px; display: block; font-size: 16px; }
.dvwz-light-header .main-navigation li a:hover { text-decoration: underline; }
.dvwz-light-header .main-navigation li:not(:last-child)::after { content: '|'; color: rgba(255, 255, 255, 0.5); }
.hamburger-menu { display: none; font-size: 32px; line-height: 1; background: none; border: none; color: #ffffff; cursor: pointer; padding: 0 5px; }
.dvwz-light-footer { background-color: #1F3D5C; color: #ffffff; padding: 20px 15px; font-size: 14px; text-align: center; }
.dvwz-footer-container { max-width: 1180px; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px 20px; }
.dvwz-light-footer .footer-info { display: inline-flex; align-items: center; gap: 8px; }
.dvwz-light-footer svg { flex-shrink: 0; }

/* --- RESPONSIVE & FIXES --- */
@media (max-width: 768px) {
    .dvwz-light-header .main-navigation { display: none; position: fixed; top: 55px; left: 0; right: 0; background-color: #f8f9fa; width: 100%; z-index: 1000; border-top: 1px solid #dee2e6; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
    .dvwz-light-header .main-navigation.toggled { display: block; }
    .dvwz-light-header .main-navigation ul { display: block; }
    .dvwz-light-header .main-navigation li a { color: #333333; padding: 15px; border-bottom: 1px solid #dee2e6; }
    .dvwz-light-header .main-navigation li:last-child a { border-bottom: none; }
    .dvwz-light-header .main-navigation li { text-align: center; display: block; }
    .dvwz-light-header .main-navigation li:not(:last-child)::after { content: ''; }
    .hamburger-menu { display: block; }
}

/* Fix voor witruimte door WP Admin Bar */
body.admin-bar .dvwz-light-header { top: 32px; }
@media screen and (max-width: 782px) {
    body.admin-bar .dvwz-light-header { top: 46px; }
}

/* Fix voor witruimte boven content */
main#site-content > *:first-child { margin-top: 0; }

/* Block Editor Alignment Styles */
.entry-content > *:not(.alignwide):not(.alignfull):not(.wp-block-gallery) { max-width: 11800px; margin-left: auto; margin-right: auto; }
.entry-content .alignwide { max-width: 1210px; margin-left: auto; margin-right: auto; padding-left: 15px; padding-right: 15px; }
.entry-content .alignfull { max-width: 100%; margin-left: 0; margin-right: 0; }
main#site-content { padding-top: 0px; padding-bottom: 40px; }