/*
Theme Name: AMDG Kampen
Theme URI: https://www.amdgkampen.nl
Author: AMDG Kampen
Description: WordPress-thema voor Christelijke Muziekvereniging A.M.D.G. Kampen. Puur native Gutenberg met block patterns.
Version: 3.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
Text Domain: amdg-kampen
*/

:root{--amdg-purple:#2d2040;--amdg-white:#fff;--amdg-off-white:#f7f7f7;--amdg-gray-light:#e5e5e5;--amdg-gray:#999;--amdg-text:#444;--amdg-text-dark:#333;--amdg-text-light:#666;--amdg-red:#c0392b;--amdg-shadow:0 2px 15px rgba(0,0,0,.08);--font:'Open Sans',sans-serif}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--font);font-size:.95rem;line-height:1.7;color:var(--amdg-text);background:var(--amdg-white)}
img{max-width:100%;height:auto;display:block}
a{color:var(--amdg-red);text-decoration:none}
a:hover{color:var(--amdg-text-dark)}
ul,ol{list-style:none}
h1,h2,h3,h4{font-family:var(--font);font-weight:700;color:var(--amdg-text-dark);line-height:1.3}
p{margin-bottom:1rem}
.container{max-width:1140px;margin:0 auto;padding:0 20px}

/* TOP BAR */
.top-bar{background:#161020;color:#fff;padding:6px 0;font-size:.8rem;display:none}
.top-bar .container{display:flex;justify-content:space-between;align-items:center}
.top-bar a{color:rgba(255,255,255,.75)}
.top-bar a:hover{color:#fff}

/* HEADER */
.site-header{background:#fff;position:sticky;top:0;z-index:1000;border-bottom:1px solid var(--amdg-gray-light)}
.site-header .container{display:flex;justify-content:space-between;align-items:center;min-height:60px}
.site-logo a{display:flex;align-items:center;padding:8px 0}
.site-logo img{height:55px;width:auto}
.menu-toggle{display:flex;flex-direction:column;gap:5px;background:0 0;border:0;cursor:pointer;padding:10px}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--amdg-text-dark);transition:all .3s}
.menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.menu-toggle.active span:nth-child(2){opacity:0}
.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;box-shadow:var(--amdg-shadow);z-index:999}
.main-nav.active{display:block}
.main-nav ul{padding:8px 0}
.main-nav li{border-bottom:1px solid var(--amdg-gray-light)}
.main-nav li:last-child{border-bottom:0}
.main-nav a{color:var(--amdg-text-dark);display:block;padding:12px 20px;font-size:.88rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px}
.main-nav a:hover,.main-nav .current-menu-item>a{color:var(--amdg-purple)}
.main-nav .sub-menu{background:var(--amdg-off-white);display:none}
.main-nav .sub-menu a{padding-left:35px;font-size:.82rem;font-weight:400;text-transform:none}
.nav-cart{display:inline-flex;align-items:center;position:relative;color:var(--amdg-text-dark);padding:12px 20px}
.nav-cart .cart-count{background:var(--amdg-red);color:#fff;font-size:.6rem;font-weight:700;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:absolute;top:6px;right:8px}
.mobile-nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:998;opacity:0;visibility:hidden;transition:all .3s}
.mobile-nav-overlay.active{opacity:1;visibility:visible}

/* INTRO OVERLAP - schuift over hero */
.amdg-intro-overlap{margin-top:-120px!important;position:relative;z-index:10}
.amdg-intro-overlap .wp-block-columns.intro-overlap-grid,
.amdg-intro-overlap .intro-overlap-grid{background:#fff;box-shadow:0 5px 30px rgba(0,0,0,.12);overflow:hidden}
.amdg-intro-overlap .intro-overlap__text{padding:35px 25px}
.intro-text__label{font-size:.82rem;color:#777;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px}
.intro-text__title{font-size:1.4rem;color:var(--amdg-text-dark);text-transform:uppercase;font-weight:800;line-height:1.25;margin-bottom:20px}
.intro-text__content{color:var(--amdg-text-light);line-height:1.8;font-size:.92rem}
.amdg-intro-overlap .intro-overlap__media-col .wp-block-cover{min-height:100%!important}
/* Zorg dat het Cover block in de rechterkolom de volledige hoogte vult */
.amdg-intro-overlap .intro-overlap__media-col{padding:0!important}
.amdg-intro-overlap .intro-overlap__media-col>.wp-block-cover{border-radius:0!important}
/* Verwijder standaard Gutenberg gaps/padding die het overlap-effect breken */
.amdg-intro-overlap>.wp-block-group__inner-container{padding:0!important;max-width:1140px;margin:0 auto}

/* BUTTONS */
.btn{display:inline-block;padding:10px 22px;border-radius:3px;font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;border:0}
.btn--primary{background:var(--amdg-purple);color:#fff}
.btn--primary:hover{background:#1e1530;color:#fff}
.btn--outline-light{background:0 0;color:#fff;border:1px solid rgba(255,255,255,.5);font-size:.8rem;padding:8px 18px}
.btn--outline-light:hover{background:rgba(255,255,255,.1);color:#fff}
.is-style-amdg-primary .wp-block-button__link{background:var(--amdg-purple)!important;color:#fff!important;border-radius:3px!important;font-size:.82rem!important;text-transform:uppercase;letter-spacing:.5px;padding:10px 22px!important}
.is-style-amdg-primary .wp-block-button__link:hover{background:#1e1530!important}

/* PAGE HEADER pattern */
.amdg-page-header{min-height:120px!important}
.amdg-page-header .wp-block-cover__inner-container{padding:20px}

/* NEWS CARDS */
.news-section{padding:60px 0}
.section-title{font-size:1.3rem;color:var(--amdg-text-dark);margin-bottom:30px;text-align:center;font-weight:400;font-style:italic}
.news-grid{display:grid;grid-template-columns:1fr;gap:25px;margin-bottom:30px}
.news-card{background:#fff;overflow:hidden;box-shadow:var(--amdg-shadow);transition:all .3s}
.news-card:hover{box-shadow:0 5px 30px rgba(0,0,0,.12);transform:translateY(-2px)}
.news-card__image{width:100%;height:200px;overflow:hidden;display:block}
.news-card__image img{width:100%;height:100%;object-fit:cover;transition:all .3s}
.news-card:hover .news-card__image img{transform:scale(1.04)}
.news-card__content{padding:18px}
.news-card__date{font-size:.75rem;color:var(--amdg-gray);margin-bottom:8px}
.news-card__title{font-size:.95rem;margin-bottom:14px;font-weight:600}
.news-card__title a{color:var(--amdg-text-dark)}
.news-card__title a:hover{color:var(--amdg-red)}
.news-card__link{display:inline-block;background:var(--amdg-purple);color:#fff;padding:7px 16px;font-size:.75rem;font-weight:600;text-transform:uppercase;border-radius:3px}
.news-card__link:hover{background:#1e1530;color:#fff}
.news-card__views{font-size:.75rem;color:var(--amdg-gray)}
.news-section__more{text-align:center;margin-top:10px}
.news-section__more a{color:var(--amdg-text-dark);font-style:italic}

/* NEWS PAGE with sidebar */
.news-page-grid{display:grid;grid-template-columns:1fr;gap:30px}
.news-sidebar .sidebar-btn{display:inline-block;background:var(--amdg-red);color:#fff;padding:8px 16px;font-size:.78rem;font-weight:600;text-transform:uppercase;border-radius:3px;margin-bottom:20px}
.news-sidebar h4{font-size:.9rem;font-weight:700;text-transform:uppercase;margin-bottom:12px}
.news-sidebar ul li{padding:4px 0;font-size:.82rem;border-bottom:1px solid var(--amdg-gray-light)}
.news-sidebar ul li a{color:var(--amdg-text-light)}

/* ALBUM CARDS */
.amdg-album-card{border-radius:3px!important}
.amdg-album-card .wp-block-cover__inner-container{display:flex;flex-direction:column;justify-content:flex-end;min-height:200px}

/* TABLE */
.bestuur-table{width:100%;border-collapse:collapse;font-size:.88rem}
.bestuur-table thead{background:var(--amdg-purple);color:#fff}
.bestuur-table th,.bestuur-table td{padding:12px 15px;text-align:left;border-bottom:1px solid var(--amdg-gray-light)}
.bestuur-table tbody tr:nth-child(even){background:var(--amdg-off-white)}
.table-responsive{overflow-x:auto}

/* SPONSORS */
.sponsors-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}
.sponsors-grid a{display:flex;align-items:center;justify-content:center;padding:12px;background:#fff}
.sponsors-grid img{max-height:50px;width:auto}

/* CONTACT */
.contact-section{padding:60px 0}
.contact-grid{display:grid;grid-template-columns:1fr;gap:30px}
.social-icons{display:flex;gap:10px;margin-top:15px}
.social-icons a{color:var(--amdg-gray);font-size:1rem}

/* FOOTER */
.site-footer{background:#1e1530;color:#fff;padding:50px 0 0}
.footer-grid{display:grid;grid-template-columns:1fr;gap:30px;padding-bottom:30px}
.footer-col h4{color:#fff;font-size:.88rem;margin-bottom:14px;text-transform:uppercase}
.footer-col p,.footer-col address{font-style:normal;color:rgba(255,255,255,.55);font-size:.84rem;line-height:1.8}
.footer-col ul li{margin-bottom:5px}
.footer-col ul li a{color:rgba(255,255,255,.55);font-size:.84rem}
.footer-col ul li a:hover{color:#fff}
.footer-col .footer-contact-item{display:flex;align-items:center;gap:8px;margin-bottom:5px;color:rgba(255,255,255,.55);font-size:.84rem}
.footer-col .footer-contact-item a{color:rgba(255,255,255,.55)}
.footer-col .footer-contact-item a:hover{color:#fff}
.footer-privacy a{color:rgba(255,255,255,.35);font-size:.78rem}
.footer-social{display:flex;gap:12px;margin-top:12px}
.footer-social a{color:rgba(255,255,255,.4);font-size:.95rem}
.footer-social a:hover{color:#fff}
.footer-col--cta p{color:rgba(255,255,255,.55);font-size:.84rem;line-height:1.7;margin-bottom:12px}
.footer-bottom{background:rgba(0,0,0,.2);padding:14px 0;text-align:center;font-size:.78rem;color:rgba(255,255,255,.4)}
.footer-bottom a{color:rgba(255,255,255,.5)}
.footer-bottom a:hover{color:#fff}

/* COOKIE */
.cookie-notice{position:fixed;bottom:0;left:0;right:0;background:#161020;color:#fff;padding:14px 20px;z-index:9999;display:none}
.cookie-notice.show{display:block}
.cookie-notice .container{display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center}
.cookie-notice p{font-size:.8rem;margin:0;color:rgba(255,255,255,.75)}
.scroll-top{position:fixed;bottom:25px;right:25px;width:38px;height:38px;background:var(--amdg-purple);color:#fff;border:0;border-radius:3px;display:none;align-items:center;justify-content:center;cursor:pointer;z-index:99}
.scroll-top.visible{display:flex}
.screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important;height:1px;width:1px;overflow:hidden}

/* WOOCOMMERCE */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;padding:0;margin:0}
.woocommerce ul.products li.product{background:#fff;overflow:hidden;box-shadow:var(--amdg-shadow);margin:0;padding:0;float:none;width:100%!important}
.woocommerce ul.products li.product a img{width:100%;height:200px;object-fit:cover;margin:0}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:12px 15px 0;font-size:.88rem}
.woocommerce ul.products li.product .price{padding:5px 15px;color:var(--amdg-red);font-weight:700}
.woocommerce ul.products li.product .button{display:block;margin:10px 15px 15px;background:var(--amdg-purple);color:#fff;text-align:center;padding:10px;font-size:.78rem;font-weight:600;text-transform:uppercase;border-radius:3px}
.woocommerce ul.products li.product .button:hover{background:#1e1530;color:#fff}

/* UTILITIES */
.text-center{text-align:center}
.mt-1{margin-top:15px}.mt-2{margin-top:30px}
.mb-1{margin-bottom:15px}.mb-2{margin-bottom:30px}
.py-2{padding:30px 0}.py-3{padding:45px 0}

/* RESPONSIVE */
@media(min-width:576px){
    .news-grid{grid-template-columns:repeat(2,1fr)}
    .sponsors-grid{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:768px){
    .top-bar{display:block}
    .amdg-intro-overlap{margin-top:-140px!important}
    .amdg-intro-overlap .wp-block-columns.intro-overlap-grid{gap:0!important}
    .amdg-intro-overlap .intro-overlap__text{padding:50px 40px}
    .intro-text__title{font-size:1.7rem}
    .news-grid{grid-template-columns:repeat(3,1fr)}
    .news-page-grid{grid-template-columns:2fr 1fr}
    .contact-grid{grid-template-columns:1fr 1fr}
    .footer-grid{grid-template-columns:repeat(2,1fr)}
    .woocommerce ul.products{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:992px){
    .menu-toggle{display:none}
    .main-nav{display:flex!important;position:static;background:0 0;box-shadow:none}
    .main-nav>ul{display:flex;align-items:center;padding:0}
    .main-nav>ul>li{border:0;position:relative}
    .main-nav a{padding:25px 14px;font-size:.8rem}
    .main-nav a:hover,.main-nav .current-menu-item>a{background:0 0;color:var(--amdg-text-dark)}
    .main-nav .current-menu-item>a{position:relative}
    .main-nav .current-menu-item>a::after{content:'';position:absolute;bottom:18px;left:14px;right:14px;height:2px;background:var(--amdg-text-dark)}
    .main-nav .sub-menu{position:absolute;top:100%;left:0;background:#fff;min-width:240px;box-shadow:0 5px 30px rgba(0,0,0,.12);display:none;border-top:3px solid var(--amdg-purple);z-index:100}
    .main-nav>ul>li:hover>.sub-menu{display:block}
    .main-nav .sub-menu a{padding:10px 18px;font-size:.8rem;text-transform:none;font-weight:400;border-bottom:1px solid var(--amdg-gray-light)}
    .main-nav .sub-menu li:last-child a{border-bottom:0}
    .main-nav .sub-menu a:hover{background:var(--amdg-off-white)}
    .main-nav .menu-item-has-children>a::after{content:'\f107';font-family:'Font Awesome 6 Free';font-weight:900;margin-left:4px;font-size:.65rem}
    .site-logo img{height:65px}
    .site-header .container{min-height:85px}
    .amdg-intro-overlap{margin-top:-160px!important}
    .amdg-intro-overlap .intro-overlap__text{padding:60px 50px}
    .intro-text__title{font-size:2rem}
    .footer-grid{grid-template-columns:1fr 1fr 1fr 1.2fr}
    .cookie-notice .container{flex-direction:row;text-align:left}
    .nav-cart{padding:25px 14px}
}
@media(min-width:1200px){
    .woocommerce ul.products{grid-template-columns:repeat(4,1fr)}
    .sponsors-grid{grid-template-columns:repeat(3,1fr)}
}
@media print{.site-header,.site-footer,.cookie-notice,.menu-toggle,.scroll-top{display:none}body{font-size:12pt;color:#000}}
