/*
Theme Name: Keveruitje
Theme URI: https://www.keveruitje.nl
Author: Pc Langstraat
Author URI: https://www.pclangstraat.nl
Description: Custom WordPress theme for Keveruitje — Dé eerste & originele Kever Rally van Nederland.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: keveruitje
*/

/* ═══════ VARIABLES ═══════ */
:root {
  --kv-orange: #F5921B;
  --kv-orange-light: #FDBE3B;
  --kv-cyan: #00BCD4;
  --kv-cyan-dark: #0097A7;
  --kv-cream: #FFF8E7;
  --kv-white: #FFFFFF;
  --kv-dark: #2C1810;
  --kv-grey: #666;
  --kv-grey-light: #999;
  --kv-radius: 24px;
  --kv-radius-sm: 12px;
  --kv-shadow: 0 8px 40px rgba(0,0,0,0.08);
  --kv-shadow-hover: 0 16px 50px rgba(0,0,0,0.14);
  --kv-tr: 0.3s ease;
  --kv-max-w: 1200px;
  --kv-font-display: 'Fredoka One', cursive;
  --kv-font-body: 'Nunito', sans-serif;
}

/* ═══════ RESET ═══════ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--kv-font-body);color:var(--kv-dark);background:var(--kv-cream);overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color var(--kv-tr)}
h1,h2,h3,h4,h5,h6{line-height:1.2}

/* ═══════ SUNBURST BG ═══════ */
.kv-sunburst{position:fixed;inset:0;z-index:-1;background:repeating-conic-gradient(from 0deg at 50% 120%,#FFF5D4 0deg 10deg,#FFEEB0 10deg 20deg);opacity:.4;pointer-events:none}

/* ═══════ TOPBAR ═══════ */
.kv-topbar{/*display:none;*/background:linear-gradient(135deg,#333,#1a1a1a);padding:10px 40px;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#ccc}
.kv-topbar a{color:var(--kv-cream);transition:color var(--kv-tr)}.kv-topbar a:hover{color:var(--kv-orange)}
.kv-topbar-phone{display:flex;align-items:center;gap:6px;color:var(--kv-orange-light);font-weight:700}
.kv-topbar-phone span img.emoji {filter: brightness(0) saturate(100%) invert(85%) sepia(80%) saturate(700%) hue-rotate(325deg) brightness(103%) !important;}
.kv-topbar-links{display:flex;gap:16px}
.kv-topbar-contact{margin-left:auto;font-weight:700}

/* ═══════ NAV ═══════ */
.kv-nav{background:rgba(255,255,255,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:16px 40px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;box-shadow:0 4px 30px rgba(0,0,0,.08)}
.kv-logo{font-family:var(--kv-font-display);font-size:28px;color:var(--kv-cyan-dark);display:flex;align-items:center;gap:10px}
.kv-logo img{height:50px;width:auto}
.kv-logo-bug{width:50px;height:50px;background:var(--kv-cyan);border-radius:50% 50% 40% 40%;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.kv-logo-bug::after{content:'';width:22px;height:14px;border:3px solid #fff;border-radius:50%;position:absolute;top:14px}

.kv-primary-menu{display:flex;gap:32px;list-style:none;align-items:center}
.kv-primary-menu li{list-style:none}
.kv-primary-menu a{color:var(--kv-dark);font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.5px;position:relative}
.kv-primary-menu a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:3px;background:var(--kv-orange);border-radius:2px;transition:width var(--kv-tr)}
.kv-primary-menu a:hover{color:var(--kv-cyan-dark)}.kv-primary-menu a:hover::after{width:100%}
.kv-primary-menu .menu-item-cta>a{background:var(--kv-orange);color:#fff!important;padding:10px 24px;border-radius:30px;font-weight:800;transition:transform var(--kv-tr),box-shadow var(--kv-tr)}
.kv-primary-menu .menu-item-cta>a:hover{transform:scale(1.05);box-shadow:0 6px 20px rgba(245,146,27,.4)}
.kv-primary-menu .menu-item-cta>a::after{display:none}

/* ─── Sub-menu (desktop dropdown) ─── */
.kv-primary-menu .menu-item-has-children{position:relative}
.kv-primary-menu .sub-menu{position:absolute;top:100%;left:0;min-width:220px;background:#fff;border-radius:var(--kv-radius-sm);box-shadow:var(--kv-shadow);padding:12px 0;list-style:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity var(--kv-tr),transform var(--kv-tr),visibility var(--kv-tr);z-index:101}
.kv-primary-menu .menu-item-has-children:hover>.sub-menu,
.kv-primary-menu .menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.kv-primary-menu .sub-menu li{display:block;width:100%}
.kv-primary-menu .sub-menu a{display:block;padding:10px 20px;text-transform:none;letter-spacing:normal;font-size:14px;font-weight:600}
.kv-primary-menu .sub-menu a::after{display:none}
.kv-primary-menu .sub-menu a:hover{background:var(--kv-cream);color:var(--kv-cyan-dark)}

/* Chevron toggle button — hidden on desktop, shown on mobile */
.kv-submenu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;color:inherit}
.kv-chevron{display:inline-block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform var(--kv-tr)}
.menu-item-has-children.is-open>.kv-submenu-toggle .kv-chevron{transform:rotate(-135deg)}

.kv-menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px}
.kv-menu-toggle span{display:block;width:28px;height:3px;background:var(--kv-dark);margin:5px 0;border-radius:2px;transition:all var(--kv-tr)}

/* ═══════ BUTTONS ═══════ */
.kv-btn-primary,.wp-block-button.is-style-kv-primary .wp-block-button__link{background:var(--kv-cyan);color:#fff;padding:16px 36px;border-radius:50px;font-family:var(--kv-font-body);font-size:18px;display:inline-block;transition:all var(--kv-tr);box-shadow:0 6px 25px rgba(0,188,212,.4);border:none;cursor:pointer}
.kv-btn-primary:hover,.wp-block-button.is-style-kv-primary .wp-block-button__link:hover{transform:translateY(-3px);box-shadow:0 10px 35px rgba(0,188,212,.5);color:#fff}

.kv-btn-secondary,.wp-block-button.is-style-kv-secondary .wp-block-button__link{background:transparent;color:#fff;padding:16px 36px;border-radius:50px;font-family:var(--kv-font-body);font-size:16px;font-weight:800;border:3px solid rgba(255,255,255,.6);display:inline-block;transition:all var(--kv-tr);cursor:pointer}
.kv-btn-secondary:hover,.wp-block-button.is-style-kv-secondary .wp-block-button__link:hover{background:rgba(255,255,255,.15);border-color:#fff;color:#fff}

.kv-btn-orange,.wp-block-button.is-style-kv-orange .wp-block-button__link{background:var(--kv-orange);color:#fff;padding:16px 36px;border-radius:50px;font-family:var(--kv-font-body);font-size:18px;display:inline-block;transition:all var(--kv-tr);box-shadow:0 6px 25px rgba(245,146,27,.4);border:none;cursor:pointer}
.kv-btn-orange:hover,.wp-block-button.is-style-kv-orange .wp-block-button__link:hover{transform:translateY(-3px);box-shadow:0 10px 35px rgba(245,146,27,.5);color:#fff}

.kv-btn-white,.wp-block-button.is-style-kv-white .wp-block-button__link{background:#fff;color:var(--kv-orange);padding:16px 36px;border-radius:50px;font-family:var(--kv-font-body);font-size:18px;display:inline-block;transition:all var(--kv-tr);box-shadow:0 6px 25px rgba(0,0,0,.1);border:none;cursor:pointer}
.kv-btn-white:hover,.wp-block-button.is-style-kv-white .wp-block-button__link:hover{transform:translateY(-3px);box-shadow:0 10px 35px rgba(0,0,0,.15);color:var(--kv-orange)}

/* ═══════ HERO ═══════ */
.kv-hero{position:relative;min-height:70vh;display:flex;align-items:center;overflow:hidden;background:linear-gradient(135deg, rgba(245, 146, 27, 0.4) 0%, rgba(253, 190, 59, 0.4) 50%, rgba(255, 213, 79, 0.4) 100%)}
.kv-hero::before {content: "";position: absolute;inset: 0;background: url('assets/img/molen.jpg') no-repeat left / cover;opacity: 0.3;pointer-events: none;}
.kv-hero-wave{position:absolute;bottom:-2px;left:0;width:100%;z-index:2}
.kv-hero-content{position:relative;z-index:3;max-width:900px;padding:30px 40px;animation:kvSlideUp 1s ease-out;background-color:rgba(255,255,255,0.7);margin:2em;border-radius:20px;}
@keyframes kvSlideUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
.kv-hero h1,.kv-hero .wp-block-heading{font-size:52px;color:#1a1a1a;line-height:1.15;text-shadow:0 4px 20px rgba(0,0,0,.15);margin-bottom:20px}
.kv-hero mark,.kv-hero .kv-highlight{background:var(--kv-cyan);padding:2px 16px;border-radius:8px;color:#fff;text-decoration:underline;text-decoration-thickness:4px;text-underline-offset:6px}
.kv-hero p,.kv-hero-text p{font-size:18px;color:#1a1a1a;line-height:1.7;margin-bottom:32px;font-weight:600}
.kv-hero .wp-block-buttons{display:flex;gap:16px;flex-wrap:wrap}
.kv-hero-image{position:absolute;right:-40px;bottom:60px;width:55%;max-height:91%;z-index:2;animation:kvCarDrive 1.2s ease-out .3s both}
@keyframes kvCarDrive{from{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}
.kv-hero-image img{width:100%;height:100%;filter:drop-shadow(0 20px 40px rgba(0,0,0,.2))}

/* ═══════ SECTIONS ═══════ */
.kv-section{padding:100px 60px;position:relative}
.kv-section-narrow{max-width:var(--kv-max-w);margin:0 auto}
.kv-section-title{text-align:center;margin-bottom:60px}
.kv-section-title h2,.kv-section-title .wp-block-heading{font-size:42px;color:var(--kv-dark);margin-bottom:12px}
.kv-section-title p{font-size:18px;color:#777;max-width:500px;margin:0 auto}

/* ═══════ LOCATION CARDS ═══════ */
.kv-locations{padding:100px 60px;position:relative}
.kv-location-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:var(--kv-max-w);margin:0 auto}
.kv-location-card{background:#fff;border-radius:var(--kv-radius);overflow:hidden;box-shadow:var(--kv-shadow);transition:transform .4s,box-shadow .4s}
.kv-location-card:hover{transform:translateY(-8px);box-shadow:var(--kv-shadow-hover)}
.kv-card-image{height:220px;position:relative;overflow:hidden}
.kv-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.kv-location-card:hover .kv-card-image img{transform:scale(1.05)}
.kv-card-image-placeholder{height:220px;display:flex;align-items:center;justify-content:center;font-size:60px}
.kv-card-badge{position:absolute;top:16px;left:16px;background:var(--kv-cyan);color:#fff;padding:6px 16px;border-radius:20px;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:1px;z-index:2}
.kv-card-body{padding:28px}
.kv-card-body h3{font-size:24px;color:var(--kv-dark);margin-bottom:4px}
.kv-card-region{color:var(--kv-cyan-dark);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:1px;margin-bottom:14px}
.kv-card-body p{color:var(--kv-grey);line-height:1.7;font-size:15px;margin-bottom:20px}
.kv-card-link{color:var(--kv-orange);font-weight:800;display:inline-flex;align-items:center;gap:6px;transition:gap var(--kv-tr)}.kv-card-link:hover{gap:12px}

/* ═══════ FEATURES ═══════ */
.kv-features{background:var(--kv-cyan);padding:80px 60px;position:relative;overflow:hidden}
.kv-features::before{content:'';position:absolute;top:-80px;left:0;width:100%;height:80px;background:var(--kv-cream);clip-path:ellipse(55% 100% at 50% 0%)}
.kv-features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;max-width:var(--kv-max-w);margin:0 auto}
.kv-feature-item{text-align:center;color:#fff}
.kv-feature-icon{width:70px;height:70px;background:rgba(255,255,255,.2);border-radius:20px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;font-size:32px;backdrop-filter:blur(10px);transition:transform var(--kv-tr)}
.kv-feature-item:hover .kv-feature-icon{transform:scale(1.1) rotate(5deg)}
.kv-feature-item h4{font-size:18px;margin-bottom:10px;color:#fff}
.kv-feature-item p{font-size:14px;opacity:.85;line-height:1.6;color:#fff}

/* ═══════ ABOUT ═══════ */
.kv-about{padding:100px 60px;max-width:var(--kv-max-w);margin:0 auto}
.kv-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.kv-about h2,.kv-about .wp-block-heading{font-size:38px;color:var(--kv-dark);margin-bottom:20px}
.kv-about p{color:#555;line-height:1.8;font-size:16px;margin-bottom:16px}
.kv-about-image img{border-radius:var(--kv-radius);box-shadow:0 16px 50px rgba(0,0,0,.12);aspect-ratio:4/3;object-fit:cover}

/* ═══════ CTA BANNER ═══════ */
.kv-cta-banner{background: linear-gradient(135deg, rgba(245, 146, 27, 0.8) 0%, rgba(253, 190, 59, 0.8) 50%, rgba(255, 213, 79, 0.8) 100%), url('assets/img/flower-pattern-orange.jpg') repeat center / auto;padding:80px 60px 160px 60px;text-align:center;position:relative;overflow:hidden}
.kv-cta-banner h2,.kv-cta-banner .wp-block-heading{font-size:42px;color:#fff;margin-bottom:16px}
.kv-cta-banner p{color:rgba(255,255,255,.9);font-size:18px;margin-bottom:32px;max-width:600px;margin-left:auto;margin-right:auto}

/* ═══════ PAGE HERO ═══════ */
.kv-page-hero{background:linear-gradient(135deg,var(--kv-cyan),var(--kv-cyan-dark));padding:60px 60px 40px;text-align:center;position:relative;overflow:hidden}
.kv-page-hero::before {content: "";position: absolute;inset: 0;background: url('assets/img/kevers-banner.jpg') no-repeat left / cover;opacity: 0.1;pointer-events: none;}
/*.kv-page-hero::after{content:'';position:absolute;bottom:-2px;left:0;width:100%;height:60px;background:var(--kv-cream);clip-path:ellipse(55% 100% at 50% 100%)}*/
.kv-page-hero h1{font-size:48px;color:#fff;text-shadow:0 4px 20px rgba(0,0,0,.15);margin-bottom:12px;position:relative;z-index:1}
.kv-page-hero p{color:rgba(255,255,255,.85);font-size:18px;max-width:500px;margin:0 auto}

/* ═══════ PROGRAMMA CARDS ═══════ */
.kv-programma-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:32px;max-width:var(--kv-max-w);margin:0 auto;padding:60px}
.kv-programma-card{background:#fff;border-radius:var(--kv-radius);overflow:hidden;box-shadow:var(--kv-shadow);transition:transform .4s,box-shadow .4s}
.kv-programma-card:hover{transform:translateY(-6px);box-shadow:var(--kv-shadow-hover)}
.kv-programma-card-image{height:200px;overflow:hidden}
.kv-programma-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.kv-programma-card:hover .kv-programma-card-image img{transform:scale(1.05)}
.kv-programma-card-body{padding:28px}
.kv-programma-card-body h3{font-size:22px;margin-bottom:12px;color:var(--kv-dark)}
.kv-programma-card-body p{color:var(--kv-grey);line-height:1.7;font-size:15px}

/* ═══════ REVIEWS ═══════ */
.kv-review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:32px;max-width:var(--kv-max-w);margin:0 auto;padding:60px}
.kv-review-card{background:#fff;border-radius:var(--kv-radius);padding:36px;box-shadow:var(--kv-shadow);position:relative}
.kv-review-card::before{content:'"';font-family:var(--kv-font-display);font-size:80px;color:var(--kv-orange-light);position:absolute;top:12px;left:24px;line-height:1;opacity:.5}
.kv-review-card blockquote,.kv-review-card .kv-review-text{font-size:16px;line-height:1.8;color:#555;margin-bottom:20px;position:relative;z-index:1;font-style:italic}
.kv-review-stars{color:var(--kv-orange);font-size:18px;margin-bottom:16px;letter-spacing:2px}
.kv-review-author{font-weight:800;color:var(--kv-dark);font-size:15px}
.kv-review-company{color:var(--kv-cyan-dark);font-size:13px;font-weight:700}
.kv-review-card .wp-block-image img{max-height:50px;width:auto}

/* ═══════ CONTACT ═══════ */
.kv-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;max-width:var(--kv-max-w);margin:0 auto;padding:60px}
.kv-contact-info h3{font-size:24px;margin-bottom:20px;color:var(--kv-dark)}
.kv-contact-item{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}
.kv-contact-icon{width:48px;height:48px;background:var(--kv-cyan);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;flex-shrink:0}
.kv-contact-item strong{display:block;font-size:15px;color:var(--kv-dark);margin-bottom:2px}
.kv-contact-item span,.kv-contact-item a{font-size:14px;color:var(--kv-grey)}
.kv-contact-form-wrap{background:#fff;border-radius:var(--kv-radius);padding:40px;box-shadow:var(--kv-shadow)}

/* Contact form styling */
.kv-contact-form-wrap input[type="text"],.kv-contact-form-wrap input[type="email"],.kv-contact-form-wrap input[type="tel"],.kv-contact-form-wrap textarea,.kv-contact-form-wrap select,
.wpcf7-form input[type="text"],.wpcf7-form input[type="email"],.wpcf7-form input[type="tel"],.wpcf7-form textarea{
  width:100%;padding:14px 18px;border:2px solid #eee;border-radius:var(--kv-radius-sm);font-family:var(--kv-font-body);font-size:15px;margin-bottom:16px;transition:border-color var(--kv-tr);background:var(--kv-cream)}
.kv-contact-form-wrap input:focus,.kv-contact-form-wrap textarea:focus,.wpcf7-form input:focus,.wpcf7-form textarea:focus{outline:none;border-color:var(--kv-cyan)}
.kv-contact-form-wrap input[type="submit"],.wpcf7-form input[type="submit"]{background:var(--kv-cyan);color:#fff;padding:14px 36px;border:none;border-radius:50px;font-family:var(--kv-font-display);font-size:16px;cursor:pointer;transition:all var(--kv-tr)}
.kv-contact-form-wrap input[type="submit"]:hover,.wpcf7-form input[type="submit"]:hover{background:var(--kv-cyan-dark);transform:translateY(-2px)}

/* ═══════ BLOG ═══════ */
.kv-posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:32px;max-width:var(--kv-max-w);margin:0 auto;padding:60px}
.kv-post-card{background:#fff;border-radius:var(--kv-radius);overflow:hidden;box-shadow:var(--kv-shadow);transition:transform .4s,box-shadow .4s}
.kv-post-card:hover{transform:translateY(-6px);box-shadow:var(--kv-shadow-hover)}
.kv-post-thumb{height:200px;overflow:hidden}
.kv-post-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.kv-post-card:hover .kv-post-thumb img{transform:scale(1.05)}
.kv-post-card-body{padding:28px}
.kv-post-meta{font-size:13px;color:var(--kv-grey-light);font-weight:600;margin-bottom:10px}
.kv-post-card-body h3{font-size:22px;color:var(--kv-dark);margin-bottom:10px}
.kv-post-card-body h3 a{color:var(--kv-dark)}.kv-post-card-body h3 a:hover{color:var(--kv-cyan-dark)}
.kv-post-card-body p{color:var(--kv-grey);line-height:1.7;font-size:15px}
.kv-read-more{color:var(--kv-orange);font-weight:800;font-size:14px;display:inline-flex;align-items:center;gap:6px;margin-top:14px;transition:gap var(--kv-tr)}.kv-read-more:hover{gap:12px}

/* Single post */
.kv-single{padding:60px;max-width:1200px;margin:0 auto}
.kv-single-header{margin-bottom:40px}
.kv-single-header h1{font-size:42px;color:var(--kv-dark);margin-bottom:12px}
.kv-single .entry-content{font-size:17px;line-height:1.9;color:#444}
.kv-single .entry-content h2{font-size:28px;margin:40px 0 16px;color:var(--kv-dark)}
.kv-single .entry-content h3{font-size:22px;margin:32px 0 12px}
.kv-single .entry-content img{border-radius:var(--kv-radius-sm);margin:24px 0}
.kv-single .entry-content a{color:var(--kv-cyan-dark);text-decoration:underline;text-underline-offset:3px}
.kv-single .entry-content a:hover{color:var(--kv-orange)}

/* ═══════ GUTENBERG OVERRIDES ═══════ */
/*.entry-content .wp-block-heading{font-family:var(--kv-font-display)}*/
.entry-content .wp-block-columns{gap:32px}
.entry-content .wp-block-image img{border-radius:var(--kv-radius-sm)}
.entry-content .wp-block-separator{border-color:var(--kv-orange-light);opacity:.4;margin:20px auto}
.entry-content .wp-block-quote{border-left:4px solid var(--kv-cyan);padding-left:24px;font-style:italic;color:#555}
.entry-content .wp-block-cover{border-radius:var(--kv-radius);overflow:hidden}
.entry-content p {color: #555;line-height: 1.8;font-size: 16px;margin-bottom: 16px;}

/* ═══════ FOOTER ═══════ */
.kv-footer{background:#1a1a1a;color:#aaa;padding:60px 60px 30px}
.kv-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;max-width:var(--kv-max-w);margin:0 auto 40px}
.kv-footer-brand .kv-logo{color:#fff;margin-bottom:16px;font-size:24px}
.kv-footer-brand p{font-size:14px;line-height:1.7;color:#888}
.kv-footer h4{color:#fff;font-size:16px;margin-bottom:16px}
.kv-footer ul{list-style:none}.kv-footer ul li{margin-bottom:10px;color:#888;font-size:14px}
.kv-footer ul a {color:#888;font-size:14px;transition:color var(--kv-tr)}
.kv-footer a {color:#888;transition:color var(--kv-tr)}
.kv-footer ul a:hover,.kv-footer a:hover{color:var(--kv-orange)}
.kv-footer-bottom{border-top:1px solid #333;padding-top:24px;text-align:center;font-size:13px;color:#666;max-width:var(--kv-max-w);margin:0 auto}
.kv-footer-menu{list-style:none}.kv-footer-menu li{margin-bottom:10px}
.kv-footer-menu a{color:#888;font-size:14px}.kv-footer-menu a:hover{color:var(--kv-orange)}
.kv-footer-menu .sub-menu{list-style:none;padding-left:12px;margin-top:6px}
.kv-footer-menu .sub-menu li{margin-bottom:6px}
.kv-footer-menu .sub-menu a{font-size:13px;opacity:.85}
.kv-footer-phone img.emoji {filter: brightness(0) saturate(100%) invert(85%) sepia(80%) saturate(700%) hue-rotate(325deg) brightness(103%) !important;}

/* ═══════ 404 ═══════ */
.kv-404{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px}
.kv-404 h1{font-size:120px;color:var(--kv-orange-light);line-height:1}
.kv-404 h2{font-size:32px;color:var(--kv-dark);margin:16px 0}
.kv-404 p{color:var(--kv-grey);font-size:18px;margin-bottom:32px}

/* ═══════ PAGINATION ═══════ */
.kv-pagination{display:flex;justify-content:center;gap:8px;margin-top:48px}
.kv-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--kv-dark);font-weight:700;font-size:15px;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:all var(--kv-tr)}
.kv-pagination .page-numbers.current,.kv-pagination .page-numbers:hover{background:var(--kv-cyan);color:#fff}

/* ═══════ RESPONSIVE ═══════ */
@media(max-width:1024px){
  .kv-hero-image{width:45%}
  .kv-features-grid{grid-template-columns:repeat(2,1fr)}
  .kv-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .kv-topbar{padding:8px 20px;font-size:12px}
  .kv-nav{padding:12px 20px}
  .kv-primary-menu{display:none}
  .kv-menu-toggle{display:block}
  .kv-primary-menu.is-open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#fff;padding:20px;box-shadow:0 10px 30px rgba(0,0,0,.1);gap:0}
  .kv-primary-menu.is-open li{padding:12px 0;border-bottom:1px solid #eee}

  /* Mobile sub-menu: chevron toggle + tap-to-expand */
  .kv-primary-menu.is-open .menu-item-has-children{display:flex;flex-wrap:wrap;align-items:center;padding:0}
  .kv-primary-menu.is-open .menu-item-has-children>a{flex:1;padding:12px 0}
  .kv-submenu-toggle{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:8px 12px;cursor:pointer;margin-left:auto}
  .kv-primary-menu.is-open .sub-menu{display:none;position:static;width:100%;flex-basis:100%;box-shadow:none;opacity:1;visibility:visible;transform:none;background:transparent;padding:0 0 8px 16px;border-radius:0}
  .kv-primary-menu.is-open .menu-item-has-children.is-open>.sub-menu{display:block}
  .kv-primary-menu.is-open .sub-menu li{padding:8px 0;border-bottom:none}
  .kv-primary-menu.is-open .sub-menu a{padding:4px 0}
/*  .kv-hero-content{padding:40px 24px}*/
  .kv-hero h1,.kv-hero .wp-block-heading{font-size:34px}
/*  .kv-hero-image{width:100%;bottom:0;}*/
  .kv-section,.kv-locations,.kv-features,.kv-cta-banner{padding:60px 24px}
  .kv-location-cards{grid-template-columns:1fr}
  .kv-features-grid{grid-template-columns:1fr}
  .kv-about{padding:60px 24px}.kv-about-grid{grid-template-columns:1fr}
  .kv-cta-banner h2,.kv-cta-banner .wp-block-heading{font-size:32px}
  .kv-page-hero{padding:62px 24px 48px}.kv-page-hero h1{font-size:34px}
  .kv-contact-grid{grid-template-columns:1fr;padding:40px 24px}
  .kv-footer{padding:40px 24px 20px}.kv-footer-grid{grid-template-columns:1fr}
  .kv-posts-grid,.kv-review-grid,.kv-programma-cards{padding:40px 24px}
  .kv-single{padding:40px 24px}

.kv-hero { flex-direction: column; min-height: auto; }
.kv-hero-content { width: 100%; order: 1; }
.kv-hero-image { position: relative; right: auto; bottom: auto; width: 100%; order: 2; }
.kv-hero::before {background-position: -200px center;}

}
