/*
Theme Name: Heeren Horeca Groep
Theme URI: https://www.heerenhorecagroep.nl/
Author: Heeren Horeca Groep
Description: Maatwerk WordPress-theme voor Heeren Horeca Groep en Vue55. Inhoud beheerbaar via HHG Website in het WordPress-dashboard.
Version: 6.0
Text Domain: hhg
*/
:root{--cream:#f2eee7;--ink:#171817;--green:#1f1f1d;--gold:#b79a64;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--ink);background:var(--cream)}a{text-decoration:none;color:inherit}.top{height:92px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 1px 12px #0000000b}.brand{display:flex;flex-direction:column;line-height:.9;font-size:10px;letter-spacing:3px}.brand .hh{font-family:'Playfair Display',serif;font-size:28px;letter-spacing:1px}.top nav{display:flex;gap:34px;font-size:13px;font-weight:600}.top nav a:hover{color:var(--gold)}.menu{display:none;border:0;background:none;font-size:24px}.hero{min-height:690px;position:relative;background:url('assets/vue-interieur-2.jpg') center/cover;display:flex;align-items:center;color:#fff;padding:80px 8vw}.hero-overlay{display:none}.hero-inner{position:relative;max-width:680px;z-index:2}.eyebrow{font-size:11px;letter-spacing:4px;font-weight:700;color:#d8c49b;margin:0 0 18px}.eyebrow.dark{color:#8d7448}.hero h1,.section-head h2,.vue h2,.contact h2{font:700 clamp(48px,7vw,92px)/.95 'Playfair Display',serif;margin:0}.hero .lead{max-width:610px;font-size:17px;line-height:1.8;margin:28px 0}.btn{display:inline-block;padding:17px 24px;border:1px solid #fff;text-transform:uppercase;font-size:11px;letter-spacing:2px;font-weight:700}.hero-card{position:absolute;right:7vw;bottom:-55px;width:300px;background:#fff;color:var(--ink);padding:34px 38px;z-index:3;box-shadow:0 18px 45px #0002}.hero-card span{font-size:10px;letter-spacing:3px;color:var(--gold)}.hero-card strong{display:block;font:700 46px 'Playfair Display',serif;margin:8px 0}.hero-card small{line-height:1.6}.vue{display:grid;grid-template-columns:1fr 1fr;min-height:720px;background:#fff}.vue-photo{background:url('assets/vue-interieur-8.jpg') center/cover}.vue-copy{padding:120px 9vw 80px 8vw}.vue h2{font-size:60px}.vue h2 em{color:var(--gold);font-weight:600}.vue-copy>p{line-height:1.9;color:#5a5a55}.facts{display:flex;gap:38px;border-top:1px solid #ddd;margin-top:38px;padding-top:30px}.facts div{display:flex;flex-direction:column}.facts b{font:700 30px 'Playfair Display',serif;color:var(--green)}.facts span{font-size:10px;margin-top:5px;text-transform:uppercase;letter-spacing:1px}.funding{background:var(--green);color:#fff;padding:105px 8vw}.section-head{max-width:720px}.section-head h2{font-size:64px}.section-head>p:last-child{line-height:1.8}.meter-wrap{margin-top:55px;max-width:1000px}.amount{display:flex;align-items:end;gap:18px}.amount span{font-size:12px;text-transform:uppercase;letter-spacing:2px}.amount strong{font:600 42px 'Playfair Display',serif}.meter{height:7px;background:#ffffff25;margin:18px 0}.meter i{display:block;width:18.7%;height:100%;background:var(--gold)}.target{text-align:right;font-size:12px}.steps{padding:110px 8vw;background:var(--cream)}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:50px}.step-grid article{background:#fff;padding:46px 40px;min-height:280px}.step-grid article>b{font:600 42px 'Playfair Display',serif;color:#d4c4a6}.step-grid h3{font:600 24px 'Playfair Display',serif}.step-grid p{font-size:13px;line-height:1.8;color:#666}.cards{padding:110px 8vw;background:#201c18;color:#fff}.card-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:50px}.card-grid article{background:#302923;padding:36px 25px;min-height:390px;border-top:3px solid #9f8852}.card-grid article.gold{border-color:#b79a64}.card-grid article.black{background:#111}.card-grid article.platinum{background:#d7d3c9;color:#222;border-color:#fff}.card-grid article>span{font-size:10px;letter-spacing:3px}.card-grid h3{font:600 26px 'Playfair Display',serif;margin:15px 0}.term{font-size:11px;text-transform:uppercase;letter-spacing:1px}.card-grid ul{padding-left:17px;margin-top:30px}.card-grid li{font-size:12px;line-height:1.65;margin:9px 0}.contact{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;padding:110px 8vw;background:#fff;align-items:center}.contact h2{font-size:55px}.contact>div>p{line-height:1.8;color:#666}.darkbtn{background:var(--green);color:#fff;border:0;margin-top:15px}.contact-panel{background:var(--cream);padding:60px}.contact-panel small{letter-spacing:3px}.contact-panel h3{font:600 38px 'Playfair Display',serif}footer{background:#171513;color:#fff;padding:70px 8vw 30px;display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:50px;position:relative}footer>div:not(.brand){display:flex;flex-direction:column;gap:10px;font-size:12px}footer b{font-family:'Playfair Display',serif;font-size:17px;margin-bottom:8px}footer p{margin:0;line-height:1.6;color:#aaa}.foot .hh{color:#fff}.copy{grid-column:1/-1;border-top:1px solid #ffffff20;padding-top:25px;color:#777}@media(max-width:900px){.top{height:74px;padding:0 22px}.top nav{display:none}.menu{display:block}.brand .hh{font-size:23px}.hero{min-height:650px;padding:70px 24px}.hero h1{font-size:58px}.hero-card{right:20px;left:20px;bottom:-75px;width:auto}.vue{grid-template-columns:1fr;padding-top:75px}.vue-photo{height:420px}.vue-copy{padding:65px 24px}.vue h2,.section-head h2,.contact h2{font-size:46px}.facts{gap:18px;flex-wrap:wrap}.funding,.steps,.cards,.contact{padding:75px 24px}.step-grid{grid-template-columns:1fr}.card-grid{grid-template-columns:1fr 1fr}.contact{grid-template-columns:1fr}.contact-panel{padding:35px}footer{grid-template-columns:1fr 1fr;padding:60px 24px 25px}}@media(max-width:560px){.hero h1{font-size:52px}.hero .lead{font-size:15px}.vue-photo{height:330px}.card-grid{grid-template-columns:1fr}footer{grid-template-columns:1fr}.copy{grid-column:1}.amount{align-items:flex-start;flex-direction:column}.section-head h2,.vue h2,.contact h2{font-size:42px}}

.brand-logo{display:block;line-height:normal}.brand-logo img{display:block;width:185px;height:auto;object-fit:contain}.foot.brand-logo img{width:230px;filter:invert(1);opacity:.95}@media(max-width:900px){.brand-logo img{width:150px}.foot.brand-logo img{width:200px}}

.vue-gallery{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#111}.vue-gallery img{width:100%;height:520px;object-fit:cover;display:block}@media(max-width:900px){.vue-gallery{grid-template-columns:1fr}.vue-gallery img{height:340px}}

/* V5 header/logo fix */
.top{height:104px;padding:0 6vw;overflow:hidden}
.brand-logo{height:76px;display:flex;align-items:center;flex:0 0 auto}
.brand-logo img{width:165px;max-height:72px;height:auto;object-fit:contain;object-position:left center}
footer .brand-logo{height:auto;overflow:visible}
footer .brand-logo img{width:190px;max-height:none}
@media(max-width:900px){
 .top{height:82px;padding:0 22px}
 .brand-logo{height:60px}
 .brand-logo img{width:135px;max-height:58px}
 footer .brand-logo img{width:175px;max-height:none}
}

/* V6 - Onze zaken */
.top nav a.active{color:var(--gold)}
.zaken-hero{background:#201c18;color:#fff;padding:110px 8vw 100px;min-height:410px;display:flex;align-items:end}
.zaken-hero-inner{max-width:820px}.zaken-hero h1{font:700 clamp(58px,8vw,104px)/.95 'Playfair Display',serif;margin:0 0 25px}.zaken-hero p:last-child{max-width:700px;font-size:17px;line-height:1.8;color:#d7d0c8}
.zaken-grid-wrap{padding:95px 8vw 110px;background:var(--cream)}.zaken-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:1400px;margin:auto}.zaak-card{position:relative;background:#fff;min-height:285px;padding:42px 44px;display:grid;grid-template-columns:64px 1fr 30px;gap:20px;align-items:start;border-top:3px solid #b79a64;transition:.25s ease}.zaak-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #00000012}.zaak-number{font:600 30px 'Playfair Display',serif;color:#c9b998}.zaak-place{font-size:10px;letter-spacing:3px;font-weight:700;color:#8d7448;margin:4px 0 12px}.zaak-card h2{font:600 34px/1.1 'Playfair Display',serif;margin:0 0 18px}.zaak-card p:not(.zaak-place){font-size:13px;line-height:1.8;color:#6b6762;max-width:500px}.zaak-arrow{font-size:24px;color:#9f8852;align-self:end}.zaken-vue{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:100px 8vw;background:#fff;align-items:center}.zaken-vue h2{font:700 58px/1 'Playfair Display',serif;margin:0}.zaken-vue h2 em{color:var(--gold)}.zaken-vue>div:last-child p{line-height:1.9;color:#666;margin:0 0 25px}
@media(max-width:900px){.zaken-hero{padding:80px 24px 70px;min-height:340px}.zaken-grid-wrap{padding:65px 24px 75px}.zaken-grid{grid-template-columns:1fr}.zaak-card{padding:34px 28px;grid-template-columns:45px 1fr 22px;min-height:240px}.zaak-card h2{font-size:30px}.zaken-vue{grid-template-columns:1fr;gap:30px;padding:70px 24px}.zaken-vue h2{font-size:46px}}
@media(max-width:560px){.zaken-hero h1{font-size:54px}.zaak-card{grid-template-columns:1fr;padding:30px 26px}.zaak-number{font-size:24px}.zaak-arrow{display:none}.zaken-vue h2{font-size:42px}}

/* V8 - foto's bij restaurantblokken */
.zaak-card{overflow:hidden;padding-top:0;grid-template-rows:190px auto}
.zaak-photo{grid-column:1/-1;margin:0 -44px 18px;height:190px;overflow:hidden;background:#ddd}
.zaak-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.zaak-card:hover .zaak-photo img{transform:scale(1.025)}
@media(max-width:900px){.zaak-photo{margin:0 -28px 14px;height:180px}}
@media(max-width:560px){.zaak-photo{margin:0 -26px 12px;height:175px}}
/* WordPress additions */
.admin-bar .top{top:32px}.top nav a.active{opacity:1}.brand-logo img{display:block}.wp-edit-link{position:fixed;bottom:20px;right:20px;z-index:99}.zaak-photo img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:782px){.admin-bar .top{top:46px}}
.hero{background-size:cover;background-position:center}.vue-photo{background-size:cover;background-position:center}.top nav.open{display:flex}

.vue55-logo{display:block;width:min(240px,55%);height:auto;object-fit:contain;margin:0 0 24px}
@media(max-width:700px){.vue55-logo{width:190px;margin-bottom:18px}}


/* V6 - contactbutton header */
.header-actions{display:flex;align-items:center;gap:16px;flex:0 0 auto}
.header-contact-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;background:#201c18;color:#fff;text-transform:uppercase;font-size:10px;line-height:1;letter-spacing:1.7px;font-weight:700;white-space:nowrap;transition:.2s ease}
.header-contact-btn:hover{background:var(--gold);color:#fff}
@media(max-width:1100px){.top nav{gap:20px}.header-contact-btn{padding:0 15px;font-size:9px;letter-spacing:1.2px}}
@media(max-width:900px){.header-actions{gap:10px}.header-contact-btn{min-height:40px;padding:0 13px}.menu{margin:0}}
@media(max-width:480px){.header-contact-btn{font-size:8px;letter-spacing:.8px;padding:0 10px;min-height:38px}}


/* V7 - Vraag & antwoord */
.qa-section{padding:80px 8vw;background:var(--cream)}
.qa-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:60px;padding:48px 52px;background:#fff;border-top:3px solid var(--gold)}
.qa-inner>div{max-width:760px}.qa-inner h2{font:700 42px/1.05 'Playfair Display',serif;margin:0 0 18px;color:var(--ink)}
.qa-inner p:not(.eyebrow){margin:0;color:#666;line-height:1.8}
.qa-btn{background:#201c18;color:#fff;border-color:#201c18;white-space:nowrap}
.qa-btn:hover{background:var(--gold);border-color:var(--gold)}
@media(max-width:800px){.qa-section{padding:55px 24px}.qa-inner{padding:35px 28px;display:block}.qa-inner h2{font-size:36px}.qa-btn{margin-top:25px}}
