/*
Theme Name: Avada Child Hein Klaver
Description: Child theme for Avada theme on HeinKlaver.nl
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.1
Text Domain:  heinklaver
*/



@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

/* Variables */
:root {
    --light-green: #2c664b; /* Updated: Lighter green */
    --lighter-green: #65917c; /* Updated: Lighter green */
    --even-lighter-green: #9dbbad;
    --grey-green: #e3eff1;
    --dark-green: #1b4523; /* Updated: Darker green */
    --white: #ffffff;
    --text-color: #747474;
    --link-color: #124733; /* Using dark green for links */
    --hover-color: #0d3224; /* Slightly darker dark green for hover */
}

/* Basic Reset & Body Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "Montserrat", sans-serif;
    line-height: 1.6;
    color: var(--text-color);
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    position:relative;
    overflow: visible !important;
}

.container-extended {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
    position:relative;
    overflow: visible !important;
}

.container-extended-box > .fusion-row {
    max-width: 1400px !important;
    margin: 0 auto;
    padding: 0 20px;
    position:relative;
    overflow: visible !important;
}

.container-extended.green {
  background-color: #e3eff1;
}

h1,h2,h3,h4,h5 {

  display: flex;
  justify-content: center;  /* horizontaal centreren */
  padding: 2px 0;
  position: relative;
}

ul {
    list-style: none;
}

a {
    text-decoration: none;
    color: var(--link-color);
}

/* Header Styling */
.main-header {
    width: 100%;
    position: relative; /* Makes the header sticky on scroll */
    top: 0;
    z-index: 9999999999999; /* Ensures header stays on top of other content */
    background-color: var(--white); /* Fallback/base for white bottom row */
    box-shadow: none; /* No shadow by default */
    transition: box-shadow 0.3s ease-in-out; /* Smooth transition for shadow */
    transition:all 0.3s ease-in-out;
    transform: translate3d(0,0,0);
    will-change: auto;
    contain: layout;
    background-color: var(--light-green);
}

.sticky {position: fixed; }

.main-header > div {
  height: 70px;
  line-height: 70px;
}

/* Class added by JS when scrolled past its initial height */
.main-header.scrolled-active {
    box-shadow: 0 2px 8px rgba(0,0,0,0.15); /* Shadow appears when scrolled */
}

/* Header Top Row (Light Green) */
.header-top-row {

    color: var(--even-lighter-green);
    padding: 0;
    font-size: 0.9em;
    height: auto; /* Initial height */
    opacity: 1; /* Initial opacity */
    overflow: hidden; /* Hide content when height is 0 */
    transition: all 0.3s ease-in-out;
    position:relative;
    overflow: visible;
    z-index: 1000000000;
    transform: translate3d(0,0,0);
    will-change: auto;
    contain: layout;
}

/* When scrolled, hide the top row */
.main-header.scrolled-active .header-top-row {
    height: 0;
    opacity: 0;
    padding: 0;
}

.header-top-row .container {
    display: flex;
    align-items: center;
    overflow: visible;
    position:relative;
    padding-right: 100px !important;
}

.header-top-row .contact-info span {
    margin-right: 20px;
}




.header-top-row .contact-info, .header-top-row .social-icons {
  display: flex; top: 15px; position: relative;
}

.header-top-row .social-icons {
       padding-right: 100px !important;
       position: relative;
}

.header-top-row .social-icons a {
    color: var(--even-lighter-green) !important;
    margin-left: 15px;
    transition: color 0.3s ease;

}
.header-top-row .contact-info span a {
    color: var(--even-lighter-green) !important;
}

.header-top-row .vhok {
  position: absolute;
  width: 160px;
  height: 160px;
  background: linear-gradient(to top right, #81755f 0%,      /* dark brown at the top */ #81755f 40%,     /* keep dark brown until 70% */ #998e7d 100%     /* transition to light brown at bottom */ );
  margin: 0px 0px;
  color: white;
  font-size: 11px; line-height: 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  padding: 5px;
  box-sizing: border-box;
  border-radius: 0;
  top: 0px;
   transform: translateY(-40px);
  right: 0px;
  z-index:1000000000;
  box-sizing: border-box;
  border-radius: 0;
   box-shadow: -4px 4px 6px rgba(0,0,0,0.3); /* left: -4px, down: 4px */
   transition: all 0.5s ease;
}

.scrolled-active .header-top-row .vhok { z-index:0; display:none;}

.header-top-row .vhok img {  height: 75px; width: auto; position:relative; bottom:0px;  }
.header-top-row .vhok:hover { cursor: pointer;  transform: translateY(0); }

.header-top-row .vhok span {
  padding: 10px; margin-top: 45px;
}

.header-top-row .vhok .vhok-triangle {
  position: absolute;
  bottom: -30px; /* now matches new height */
  left: 0;
  width: 0;
  height: 0;
  border-left: 80px solid transparent;   /* half of box width (120px / 2) */
  border-right: 80px solid transparent;
  border-top: 30px solid #81755f;        /* 50% smaller height */
  filter: drop-shadow(-2px 2px 2px rgba(0,0,0,0.3)); /* left: -2px, down: 2px */
  z-index: -1;
}

.header-top-row  i {
  font-size: 20px !important; position:relative; top: 5px !@important;
}



.header-top-row .social-icons a:hover {
    color: var(--hover-color);
}

/* Header Middle Row (Dark Green - Background for logo) */
.header-middle-row {
    background-color: var(--dark-green);
    position: relative; /* For logo positioning */
    /* Removed transition for min-height */
    transform: translate3d(0,0,0);
    will-change: auto;
    contain: layout;
    z-index:100000000;
}

/* Removed: .main-header.scrolled-active .header-middle-row { min-height: 70px; } */

/* Desktop Logo (Overlaps top two rows initially, moves to middle row on scroll) */
.logo-desktop {
    position: absolute;
    left: 0;                     /* stick to the left edge */
    transform: translateY(-50%) !important; /* move up by 50% of its own height to center vertically */
    z-index: 111001; /* Ensure logo is above header rows */
    height: 60px; /* Initial height */
    width: auto; /* Maintain aspect ratio */
    display: block;
    transition:all 0.3s ease-in-out;
}

.logo-desktop img {
  height: 60px !important; /* Initial height */ width: auto; /* Maintain aspect ratio */
    transition: all 0.2s ease-in-out;
}

/* When scrolled, adjust logo position and size to fit within the 50px middle row */
.main-header.scrolled-active .logo-desktop {
    top: 10px; /* Adjusted: Vertically centers the 60px logo within the 50px middle row (50-60)/2 = -5 */
    height: 60px; /* Smaller height */
    transform: translateY(0%) !important;
}

.main-header.scrolled-active .logo-desktop img {
  position:relative; height: 40px !important; top: 0px;
}

/* Mobile Logo (Hidden by default, shown on mobile/tablet) */
.logo-mobile {
    display: none; /* Hidden on desktop */
    padding: 5px;
}

.logo-mobile img {
    height: 50px;
    width: auto;
}

/* Header Bottom Row (White - Navigation) */
.header-bottom-row {
    background-color: var(--white);
    padding: 0;
    border-bottom: 1px solid #eee;
}

.header-bottom-row .container {
    display: flex;
    align-items: center; /* Vertically align items */
    justify-content: space-between;

    padding:0 !important;
}


.container-flex-right {
  justify-content: flex-end;
}

.main-nav {
    flex-grow: 1; /* Allows nav to take up available space */
    text-align: left; /* Centers the ul within this flex item */
}

.main-nav .nav-list {
    display: flex; /* Keeps list items inline but allows text-align to center the block */
    gap: 41px;
    justify-content: space-evenly;
}

.main-nav .nav-list li a {
    display: block;
    padding: 0;
    color: var(--text-color);
    font-weight: normal;
    font-size: 14px;
    text-transform: uppercase;
    transition: color 0.3s ease;
    position: relative; /* For dropdown caret */
}

.main-nav .nav-list li a:hover {
    color: var(--link-color);
}

/* Dropdown Menu Styling */
.main-nav .nav-list .has-dropdown {
    position: relative;
}

.main-nav .nav-list .dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: var(--white);
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    min-width: 180px;
    z-index: 10;
    padding: 10px 0;
    border-radius: 0px;
    line-height: 20px;
}

.main-nav .nav-list .dropdown-menu li a {
    padding: 10px 20px;
    white-space: nowrap;
    font-weight: normal;
    color: var(--text-color);
}

.main-nav .nav-list .dropdown-menu li a:hover {
    background-color: #f5f5f5;
    color: var(--link-color);
}

/* Show dropdown on hover (Desktop only) */
.main-nav .nav-list .has-dropdown:hover > .dropdown-menu {
    display: block;
}


/* Nav Utilities (Search, Language, Hamburger) */
.nav-utilities {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-left: auto; /* Pushes utilities to the far right, helping center the nav */
}

.nav-utilities button {
    background: none;
    border: none;
    font-size: 1.2em;
    cursor: pointer;
    color: var(--text-color);
    transition: color 0.3s ease;
}

.nav-utilities button:hover {
    color: var(--link-color);
}

.language-switcher {
    position: relative;
    cursor: pointer; line-height:16px;
}

.language-switcher span {
    font-weight: bold;
    color: var(--text-color);
}

.language-switcher .lang-options {
    display: none;
    position: absolute;
    top: calc(100% + 5px); /* Slightly below current element */
    right: 0;
    background-color: var(--white);
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    min-width: 80px;
    z-index: 10;
    padding: 5px 0;
    border-radius: 5px;
}

.language-switcher .lang-options li a {
    display: block;
    padding: 8px 15px;
    white-space: nowrap;
    color: var(--text-color);
}

.language-switcher .lang-options li a:hover {
    background-color: #f5f5f5;
    color: var(--link-color);
}

/* Hamburger menu (hidden by default on desktop) */
.hamburger-menu {
    display: none; /* Hide on desktop */
    flex-direction: column;
    justify-content: space-around;
    width: 30px;
    height: 25px;
    cursor: pointer;
    padding: 0;
}

.hamburger-menu .bar {
    width: 100%;
    height: 3px;
    background-color: var(--white);
    border-radius: 5px;
    transition: all 0.3s ease-in-out;
}

button.hamburger-menu {
  background-color: transparent !important;
}

/* Sidebar Navigation */
.sidebar-nav {
    position: fixed;
    top: 0;
    right: -300px; /* Off-screen by default */
    width: 280px;
    height: 100%;
    background-color: var(--dark-green);
    box-shadow: -5px 0 15px rgba(0,0,0,0.2);
    z-index: 9999999999;
    transition: right 0.3s ease-in-out;
    padding: 20px;
    padding-top: 80px; /* Space for close button */
    display: flex;
    flex-direction: column;
}

.sidebar-nav.active {
    right: 0; /* Slide in */
}

.sidebar-nav .close-sidebar {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 2em;
    color: var(--white);
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px !important;
}

.sidebar-nav .mobile-logo {
    margin-bottom: 30px;
    text-align: center;
}

.sidebar-nav .sidebar-list li {
    margin-bottom: 10px;
}

.sidebar-nav .sidebar-list li a {
    display: block;
    padding: 12px 15px;
    color: var(--white);
    font-size: 1.1em;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    transition: background-color 0.3s ease;
}

.sidebar-nav .sidebar-list li a:hover {
    background-color: rgba(255,255,255,0.1);
}

.sidebar-nav .sidebar-list .has-dropdown > a {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sidebar-nav .sidebar-list .dropdown-menu {
    display: none; /* Hidden by default */
    padding-left: 20px;
    background-color: rgba(0,0,0,0.1); /* Slightly darker for sub-items */
}

.sidebar-nav .sidebar-list .dropdown-menu li a {
    font-size: 1em;
    padding: 10px 15px;
    border-bottom: none;
}

.sidebar-nav .sidebar-list .has-dropdown.active > .dropdown-menu {
    display: block; /* Show when active */
}

/* Overlay for sidebar */
.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    z-index: 1999;
    display: none; /* Hidden by default */
}

.overlay.active {
    display: block; /* Show when sidebar is active */
}

.pll-parent-menu-item a img {
  width: 24px !important;
    height: 16px !important;
    transform: translateY(150%) !important;
}

.pll-parent-menu-item .dropdown-menu {
  max-width: 70px !important;
  min-width: 10px !important;
  width:70px;
}

.pll-parent-menu-item .dropdown-menu img {
  transform: translateY(0%) !important;
}

/* Main Content */
main {
    padding-top: 0; /* No extra padding needed, header is sticky */
}

/* Footer Styling */
.main-footer {
    color: var(--white);
    padding: 0;
    font-size: 0.9em;
}



.footer-nb {
  position: relative; padding:0; margin: 0;
/*  min-height: 400px;*/
}

.footer-top-row {
    background-color: var(--even-lighter-green);
    padding: 40px 0;
    text-align: center;
}

.footer-top-row img {
    height: 80px; /* Adjust logo size */
    width: auto;
}

.footer-bottom-row {
    background-color: var(--light-green);
    padding: 30px 0;
}

.footer-bottom-row .container {
    display: flex;

    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
}

.footer-info {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: center; /* Center items on smaller screens */
    text-align: center;
}

.footer-nav ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    font-size: 11px;
    gap: 5px;
    margin-top: 10px; /* Space from address */
}

.footer-nav a {
    color: var(--white) !important;
    transition: color 0.3s ease;
}

.footer-info ul {     display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
    margin-top: 10px; /* Space from address */}



.footer-info li {
  border-right: 1px solid var(--even-lighter-green);
  padding-right: 5px;
}

.footer-info li:last-child {
 padding-right: 0px;
 border: 0px;
}

.footer-nav li {
  border-right: 1px solid var(--even-lighter-green);
  padding-right: 5px;
}

.footer-nav li:last-child {
 padding-right: 0px;
 border: 0px;
}

.footer-nav a:hover {
    color: var(--light-green);
}

.footer-bottom-row a {   color: var(--white) !important; }
.footer-bottom-row a:hover {   color: var(--white) !important; }

.address-info p {
    margin-bottom: 5px;
}

.copyright {
    margin-top: 15px;
}

.footer-info a, .footer-contact a, .textwidget a {
  color: var(--white) !important;
}

.footer-info a:hover, .footer-contact a:hover {
      color: var(--white) !important;
}

.half-circle-container {
  width: 100%;            /* adjust as needed */
  height: 300px;           /* height of your main container */
  background: #fff;
  position: relative;
  overflow: hidden;        /* hide the parts of SVG outside the div */
}

.half-circle-svg {
  position: absolute;
  bottom: -20px;           /* move most of the oval outside, so only top arc shows */
  left: 0;
  width: 100%;
  height: 150px;           /* keep the oval itself tall, but most is hidden */
}


.fusion-text a strong { font-weight: 600 !important; color:#747474 !important; }
.fusion-text strong a { margin: 0 5px; }
/* Responsive adjustments */
@media (min-width: 769px) {
    /* Desktop-specific styles */

    /* Adjust padding when scrolled to account for smaller logo */
    .main-header.scrolled-active .header-bottom-row .container {
        padding-left: calc(20px + 120px); /* Adjust based on new logo width (e.g., 60px height * 2 = 120px width for this logo) */
    }

    .footer-bottom-row .container {
        justify-content: space-between; /* Revert to space-between for desktop */
        align-items: center;
        text-align: left;
    }

    .footer-info {
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        gap: 25px;
    }

    .footer-nav ul {
        margin-top: 0;
    }

    .copyright {
        margin-top: 0;
    }
}

.btn-terug a { font-size: 14px }

@media (max-width:768px) {

}

@media (max-width: 1080px) { /* 768px - another one to target more ipad high res versions? */

   .btn-terug { position:relative !important; top: 0px !important;}

   .hk-image-text-wrapper img { max-width: 75% !important; margin: 0 auto; object-fit: fill; }


    .fullwidth-box {
          padding: 0 25px !important;
      }

      .footer-info li,.footer-nav li  { border: 0px !important; padding-right: 0px !important; }

      .footer-info ul {     display: flex;
          flex-wrap: wrap;
          justify-content: center;
          flex-direction: column;
          gap: 5px;
          margin-top: 10px; /* Space from address */}


    /* Tablet and Mobile adjustments */
    .header-top-row {
        display: none; /* Hide top row on mobile/tablet */
        height: auto; /* Ensure it doesn't get stuck at 0 height if resized from desktop */
        opacity: 1;
        padding: 10px 0;
    }

    .header-middle-row {
        display: none; /* Hide middle row on mobile/tablet */
        min-height: 50px; /* Reset min-height */
    }

    .logo-desktop {
        display: none; /* Hide desktop logo */
        top: -20px; /* Reset position */
        height: 80px; /* Reset height */
    }

    .logo-mobile {
        display: block; /* Show mobile logo */
    }

    .header-bottom-row {
        padding: 20px 0;
        min-height: 90px; /* Ensure enough height for mobile elements */
        background-color: var(--dark-green);

    }

    .header-bottom-row .container {
        justify-content: space-between;
        padding-left: 20px !important;
    }

    .main-nav {
        display: none; /* Hide main navigation */
    }

    .nav-utilities {
        gap: 15px;
        padding: 15px;
    }

    .nav-utilities .language-switcher span i {
        display: none; /* Hide caret on language switcher for simplicity */
    }

    .language-switcher .lang-options {
        left: unset;
        right: 0;
        top: calc(100% + 5px);
    }

    .hamburger-menu {
        display: flex; /* Show hamburger menu */
    }

    .footer-bottom-row .container {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .footer-nav ul {
        flex-direction: column;
        gap: 8px;
        margin-bottom: 20px;
    }

    .address-info {
        margin-bottom: 15px;
    }

    .hk-image-text-wrapper {
      flex-direction: column;
    }

    .main-header > div {
        line-height: normal;
    }

    .footer-nb .nbform div {
      flex-direction: column;
    }

    .footer-nb .nbform { width: 100%; }

  .artist-columns { flex-direction: column;}

  .artist-columns h3 { margin: 0 0 !important; font-weight: normal !important; color: var(--link-color); }

.single-content { flex-wrap: wrap;}

  .single-content .single-images {

  }

  .single-content-inner {
    flex: 2;
  }

  .single-box {
    flex:2;
  }
  .bio_title, .bio_content { padding: 0 25px;}

}

.single-content-inner p {
  margin-bottom:15px !important;
}

@media (min-width: 1080px) {
  .single-content-inner {
    max-width: 30%;
  }

  .single-page.no-artist .single-content-inner {
    max-width:100%;
}

  .single-box {
    max-width: 25%;
  }

  .single-content .single-images {
    flex:1;
  }
}

@media (max-width:768px) {
  .single-content { flex-direction: column; }

}

@media (min-width: 0px) {
    .container {

        width: auto !important;
    }
}

/* #### slideshow #### */
.slideimg img { max-height: 250px; width: auto; max-width: auto;}

.imgbig img { min-height: 500px; width: auto;}

/* #### Buttons #### */
button, .btn-primary { cursor:pointer; font-family: Montserrat; text-transform: uppercase; padding: 20px 30px; font-size: 17px; line-height: 25px;color: var(--white); background-color: var(--even-lighter-green) !important; border:0px;}
.btn-primary-green { /* background-color:var(--green);color:#747474 !important; */ }
button:hover, .btn-primary:hover { background-color:var(--lighter-green);  }
.btn-terug { margin: 13px 0; margin-bottom:0px;     /*position: absolute;  z-index:99999999;    top: 25px;*/ }
.nav-utilities button {padding:0px;}

/* ### Nieuwsbrief ### */
.footer-nb .nbform {display: flex; color:var(--lighter-green); max-width:610px; justify-content: center; position: absolute; gap: 5px; bottom: 0px; z-index: 999999; left: 50%; transform: translateX(-50%)}
.footer-nb .nbform div { display: flex; justify-content: center;  }
.nbform input { padding: 15px !important; border:0px !important; }
.nbform form {
  display: flex;
    flex-direction: column;
    justify-content: flex-end; align-items: center; padding-bottom: 25px;
}

.heinlaura { position:absolute; left: 23%; bottom:0; transform: translateX(-50%); } }
.footer-container-blok { position: relative; }
.nbform .mc4wp-form .mc4wp-form-fields { flex-direction: column; }
.nbform .mc4wp-form .mc4wp-form-fields h4 { padding: 0px; margin: 5px;}
.nbform .mc4wp-form .mc4wp-form-fields > input { padding: 15px !important; }
.nbform .mc4wp-form .mc4wp-form-fields button { padding:0px 25px;;}
.nbform input { margin: 5px 0; }
.footer-nb .nbform  input { margin: 0px !important; }

.nblist {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 20px; /* spacing between items */
}

.nblist > p {
  background: #e3eff1;
  padding: 10px;
  margin: 0;
  text-align: center;
}
/* #### ADVANCED SEARCH */
.adv-search-container {
    padding: 25px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0px;
}

.adv-search-container h2 { margin: 0px; font-size: 20px; }

.adv-search-form {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: center;
}

.adv-search-form > div {
  flex: 1;           /* each takes equal share of available space */
  text-align: center; /* optional: center content inside */
}

.adv-search-form select, .adv-search-form label  {
    min-width: 230px;
    padding: 10px;
    flex: 1; width: 100%;
  box-sizing: border-box; border-radius:0xp;
}
.adv-search-form .search-btn {
    white-space: nowrap;
    flex-shrink: 0;
}

.adv-search-form button { font-weight: 500; font-size: 13px; padding: 10px; background-color: var(--lighter-green) }
.artist-column { flex: 1}
.artist-columns h3 { color: var(--link-color) !important; font-size: 20px !important; margin-top: 0px; padding: 4px; font-weight: normal !important; margin-left: 55px; margin-right: 55px; padding-bottom: 8px; border-bottom: 1px dotted var(--even-lighter-green) !important; }

.artist-columns p { margin-top: 10px !important; margin-bottom: 0px !important; }

.search-bar h3 { font-size: 23px !important; padding: 4px; font-weight: 300 !important;}
.selection > span { padding: 8px; }

/* Container is flex: puts checkmark and text side by side */
.round-checkbox {
  --size: 32px;
  display: flex;
  align-items: center;    /* vertical center */
  cursor: pointer;
  justify-content: flex-start;
  gap: 8px;               /* space between circle and text */
  text-align:left;
}

/* Hide default checkbox */
.round-checkbox input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}

/* Custom round checkmark */
.round-checkbox .checkmark {
  display: flex;                   /* makes it easy to center inner dot */
  justify-content: center;
  align-items: center;
  width: var(--size);
  height: var(--size);
  background-color: #fff;
  border-radius: 50%;
  border: 2px solid #fff;
  transition: background-color 0.2s, border-color 0.2s;
  flex-shrink: 0;                  /* keep circle size even if text wraps */
}

/* Checked state */
.round-checkbox input:checked + .checkmark {
  background-color: var(--link-color);
  border-color: #fff;
}

/* Inner check indicator (small white dot) */
.round-checkbox .checkmark::after {
  content: "";
  display: none;
  width: calc(var(--size) / 2);
  height: calc(var(--size) / 2);
  background: var(--link-color);
  border-radius: 50%;
}

/* Show inner dot when checked */
.round-checkbox input:checked + .checkmark::after {
  display: block;
}



@media (max-width: 600px) {
    .adv-search-form {
        flex-direction: column;
        align-items: stretch;
    }

    .footer-nb .nbform form {position: relative; left: 15%;  }
    .footer-nb .nbform div { gap: 3px; }
    .nbform .mc4wp-form .mc4wp-form-fields { gap:0px; margin-top: 15px; }


    .event {
      flex-direction: column;
    }

    .event .event_image { width: 100%; }
}

/* events */
/* Container styling for each event */
.event {
  display: flex;
  gap: 20px; /* space between image and content */
  padding: 20px 0;
/*  border-bottom: 1px solid #ccc; *//* divider between events */
  align-items: flex-start;
}

.event small { text-decoration: none; background-color: var(--lighter-green); color:#fff; padding: 5px; font-weight: normal;; margin-botom: 5px; }
.event a small {text-decoration: none; }
.event_title {  }
.event_title > span, .event_title a > span { margin-top: 10px; display: block; }

.event_title a { color: var(--text-color) !important; }

.single-page h1 { text-align:left; display: block; font-size: 24px;  }
.single-page h3 { font-size: 20px; display: block !important; }
/* Image section */
.event_image {
  flex-shrink: 0;
  width: 200px;
}

.event_image img {
  width: 100%;
  height: auto;
  border-radius: 0px;
}

/* Content section */
.event_body {
  flex: 1;
}

/* Title styling */
.event_title {
  font-weight: 700;
  font-size: 1.1rem;
  margin-bottom: 10px;
}

.event_title a {
  color: #0073aa;
  text-decoration: none;
}

.event_title a:hover {
  text-decoration: underline;
}

/* Description styling */
.event_body p {
  margin: 0 0 10px;
  line-height: 1.5;
}

/* Optional: spacing between multiple events */
.event + .ev


/* archive.php */

.archive-page {
    margin: 0 auto;
    padding: 20px;
}


.page-content p { margin: 14px 0 !important;}


.search-bar {
    margin-bottom: 30px;
    background-color: var(--grey-green);
}

.posts-author {
  display: flex; gap: 0px; margin: 0 30px;
}

.posts-author .posts-grid-container { flex: 3; }
.posts-author .hk-contentbox { flex: 1; }

.posts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 35px;
}

.post-tile {
  display: flex;
  flex-direction: column;
  background: #fff;
  padding: 20px;
  text-align: center;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  margin-bottom: 40px;
  position: relative;
}

.post-thumbnail {
  height: 250px; /* fixed height for alignment */
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  position:relative;
}

.post-thumbnail img {
  height: auto;
  max-height: 100%;
  width: auto;
  max-width: 100%;
  display: block;
}
.sold-label {
  position: absolute;
  top: 0px;               /* ietsje van boven */
  left: 50%;               /* horizontaal centreren */
  transform: translateX(-50%);
  background: var(--even-lighter-green);
  color: #fff;
  font-size: 0.6rem;
  font-weight: bold;
  padding: 5px 10px;
  border-radius: 0;
  z-index: 2;
  white-space: nowrap;     /* voorkomt afbreken bij smalle labels */
}

.post-content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  flex-grow: 1;
}

.post-content h1 { margin-top: 0px; }

.post-date {
  font-size: 10px;
  margin-bottom: 5px;
}

.post-title {
  font-size: 1.1rem;
  margin: 0 0 5px;
  margin-top: 7px;
  line-height: 1.4;
  text-transform: none !important;
  overflow: hidden;
}

.post-author {
  font-size: 0.9rem;
  color: #777;
}

hr { border:0px; height: 1px; border-color: var(--grey-green); background-color: var(--grey-green); }

.news-tile {
  text-align: left;
}

.news .post-tile:nth-child(odd) {
  background-color: var(--grey-green);
}

.pagination {
    display: flex;
    justify-content: center !important;
    align-items: center;
    gap: 8px;           /* afstand tussen de links */
    margin: 2rem 0;     /* ruimte boven en onder */
}

.pagination a,
.pagination span {
    display: inline-block;
    padding: 0.5em 0.75em !important;
    text-decoration: none;
    color: var(--even-lighter-green);
    border: 1px solid #ddd;
    border-radius: 0px;
    font-size: 15px;
    transition: background 0.2s, color 0.2s;
}

/* Hover effect voor links */
.pagination a:hover {
    background: var(--light-green);
    color: #fff;
    border-color: var(--light-green);
}

/* Actieve pagina (WordPress geeft vaak .current) */
.pagination .current {
    background: var(--light-green);
    color: #fff;
    border-color: var(--light-green);

}

/* IMAGE BOX */

.hk-image-text-wrapper {
  display: flex;
  align-items: stretch;
  height: 100%;
  min-height: 500px; /* or use viewport units like 70vh */
}

.hk-image-text-wrapper img {
  height: 100%;
  width: auto;
  object-fit: scale-down;
  display: block;
  max-width: 35%;
}

.hk-text {
  flex: 1;
  padding: 0px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hk-text a {
color: var(--text-color);}

.hk-text .inner {
  padding: 4rem;
  padding-right: 4rem;
}

.hk-image-text-wrapper h2 {
  justify-content: flex-start;
  font-weight: 500 !important;
  font-size: 22px !important;;
}


.hk-3image-wrapper {
  display: flex;
  justify-content: space-evenly; /* verdeelt de ruimte gelijk */
  flex-wrap: wrap;
  gap: 20px;
}

.hk-3image-item {
  text-align: center;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center; /* centreren afbeelding + tekst */
}

.hk-3image-item img {
  max-height: 320px;         /* zelfde hoogte voor alle afbeeldingen */
  width: auto;           /* proportioneel, geen afsnijding */

  margin-bottom: 1rem;
  display: block;
}

.hk-3image-title {
  font-size: 0.9rem;
  margin: 0.3rem 0;
  font-weight: 500;
}

.hk-3image-title a {
  text-decoration: none;
  color: inherit;
}

.hk-3image-excerpt {
  font-size: 0.9rem;
  color: var(--text-color);
}
.hk-3image-item {
  flex: 0 1 30%; /* 2 items per rij */
}
/* Responsive */
@media (max-width: 1080px) {

}

@media (max-width: 600px) {
  .hk-3image-item {
    flex: 0 1 100%; /* 1 item per rij */
  }

.hk-image-text-wrapper img {
  max-width:100%;
}

}


.cat-description { padding: 15px; padding-top: 5px; margin-bottom: 15px; }

.owl-carousel .owl-item img { margin: 0 auto; width: 100% !important; object-fit: scale-down; object-position: center;}
.owl-dots { margin-top: 15px; }
.owl-carousel { width: 500px !important; }
/* MODAL */

/* backdrop */
.hk-modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    z-index: 9999999998;
}

/* modal */
.hk-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9999999999;
    width: 90%;
    max-width: 500px;
}

/* modal content */
.hk-modal-content {
    background: white;
    border-radius: 0px;
    overflow: hidden;
    position: relative;
    padding: 20px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
    width:100%;

}

/* sluitknop */
.hk-modal-close {
    position: absolute;
    top: 10px;
    right: 10px;
    background: transparent;
    border: none;
    font-size: 24px;
    cursor: pointer;
    line-height: 1;
    padding: 2px;
}

.hk-modal-body {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 15px; width:100%; font-size: 15px;
}
.hk-modal-body h2 { margin-bottom: 0px; }
.hk-modal-body form { width:100%;  }
.hk-modal-body form input {font-size: 15px !important;  }
/* responsive: mobiel fullscreen als je wilt, optioneel */

@media (max-width: 600px) {
    .hk-modal {
        width: 100%;
      /*  height: 100%;
        top: 0;
        left: 0;
        transform: none; */
    }
    .hk-modal-content {
        height: 100%;
        border-radius: 0;
    }
}

.adv-select { position: relative; }

.select2-container--default .select2-selection--single {border-radius: 0px !important; border: 0px !important; line-height: 28px; border:0px !important;   }
.select2-container .select2-selection .select2-selection__arrow { border: 0px !important; }
.select2-selection__arrow b { display: none; }
.select2-selection.select2-selection--multiple { border-radius: 0px !important; cursor: pointer; }
.selection { cursor: pointer !important; }
.selection::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%) rotate(45deg);
  width: 6px;
  height: 6px;
  border-right: 1.5px solid #333; /* rechter streepje */
  border-bottom: 1.5px solid #333; /* onder streepje */
  pointer-events: none;
  cursor: pointer !important;
}

.select-dropdown {
  position: static;
}
.select-dropdown .select-dropdown--above {
      margin-top: 336px;
}


.select2-container--default .select2-selection--multiple { line-height: 28px; border:0px !important;  }

.select2-selection__custom-text { font-size: 14px; }

.container .columns .col { width: 100% !important; }

.fusion-content-boxes .content-wrapper-background { background-color: var(--grey-green) !important; }

.single-meta {
    background-color: var(--lighter-green);
    color: #fff;
    padding: 5px;
    font-weight: normal;
    font-size: 12px;
    margin-botom: 5px;
}

.single-page .no-artist .single-content-inner { }

.single-header h1 { margin-bottom: 0px;}
.single-header {
   flex-direction: column; justify-content: center; align-items: center; margin-bottom: 25px; padding-top: 10px;
}

.single-content { display: flex; gap: 25px;}

.single-related { margin-top: 25px; }

.single-box { gap: 25px; display: flex; flex-direction: column; background-color: var(--grey-green); padding: 25px; }
.single-box button { justify-content: left; text-align: left; padding: 10px;  }
.single-images {  }

.single-post .single-meta {
  display: inline-flex;
}

button.text-lowercase { text-transform: none !important; }

.bio_title { margin-top:15px; }
.bio_content { display: none; padding-top:5px;  }
.bio_content h3, .bio_content h4 { text-align: left; margin:0px; padding: 0px; margin: 5px 0; justify-content: left; }

.owl-dots { display: flex; justify-content: center; flex-direction: row; }
.owl-dots .owl-dot span {
  width: 10px;
  height: 10px;
  display: block;
  border-radius: 50%;
  margin: 5px;  background: var(--hover-color);
  transition: background 0.3s ease;
}
.owl-dots button { background: #fff !important}
/* Active dot */
.owl-dots .owl-dot.active span {
  background: var(--even-lighter-green);
}

.owl-carousel { width: 440px !important; height: auto; }

#swipebox-overlay,.nivo-lightbox-overlay { z-index: 9999999999 !important; }

.hk-contentbox { padding: 25px; margin-bottom: 15px; background-color:var(--even-lighter-green); color: var(--white)  }
.hk-contentbox h3, .hk-contentbox h4 { margin: 1px; color: var(--white) }


.post-categories { display: flex; gap: 15px; flex-wrap: wrap;}
.post-categories li a{    background-color: var(--lighter-green);
    color: #fff !important;
    padding: 5px;
    font-weight: normal;
    font-size: 12px;
    margin-botom: 5px;}

.fusion-separator-border { border-color:  var(--grey-green) !important; }

.nivo-lightbox-theme-default.nivo-lightbox-overlay { background-color: rgba(0,0,0,0.8);}

.nivo-lightbox-theme-default .nivo-lightbox-close  { width: 32px; height: 32px;}
.nivo-lightbox-theme-default .nivo-lightbox-close { background-size: 28px 28px;}
