/* Laag 8: native Elementor-widgets in de vormgeving van het ontwerp.
   Alle tekst, kleuren en aantallen komen uit het Elementor-paneel. */

/* ---------- eyebrow = Divider-widget met tekst ---------- */
.hz .hz-eyebrow .elementor-divider{padding:0}
.hz .hz-eyebrow .elementor-divider-separator{border-top-color:currentColor}
.hz .hz-eyebrow .elementor-divider__text{padding:0 0 0 .75rem;white-space:nowrap}
.hz .hz-eyebrow{margin-bottom:0}

/* ---------- teller = Counter-widget ---------- */
.hz .elementor-counter .elementor-counter-number-wrapper{font-size:inherit;line-height:1;justify-content:flex-start;display:flex}
.hz .elementor-counter .elementor-counter-title{text-align:left}
.hz .hz-stat .elementor-counter-number-wrapper{font-size:clamp(1.25rem,2.6vw,1.7rem);font-weight:800;letter-spacing:-.03em;color:var(--white)}
.hz .hz-stat .elementor-counter-title{font-size:.8rem;font-weight:400;color:rgba(229,229,229,.72);line-height:1.35;margin-top:.2rem}
.hz .hz-stat-num{font-size:clamp(1.25rem,2.6vw,1.7rem);font-weight:800;letter-spacing:-.03em;color:var(--white);line-height:1}
.hz .hz-stat-lbl{font-size:.8rem;color:rgba(229,229,229,.72);line-height:1.35}

/* spec-pill = container met afbeelding + teller */
.hz .specs-row>.e-con-inner{display:flex;flex-wrap:wrap;gap:.6rem}
.hz .spec-pill{flex:1 1 220px;padding:.85rem 1.35rem;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform var(--t-comp) var(--ease),border-color var(--t-comp) var(--ease)}
.hz .spec-pill:hover{transform:translateY(-3px);border-color:rgba(196,168,94,.45)}
.hz .sp-ic{width:38px;flex:none}
.hz .sp-ic img{width:38px;height:38px;object-fit:contain}

/* ---------- categorie-index ---------- */
.hz .cat-list>.e-con-inner{border-top:1px solid var(--line-light)}
.hz .cat-row{border-bottom:1px solid var(--line-light);padding:clamp(1.1rem,2.2vw,1.65rem) 0;position:relative;cursor:pointer;transition:padding-inline var(--t-comp) var(--ease),background var(--t-comp) var(--ease)}
.hz .cat-row.is-active{background:var(--ink);padding-inline:clamp(1rem,2vw,1.75rem)}
.hz .cat-num{font-size:.72rem;font-weight:700;letter-spacing:.16em;color:var(--brass);width:2rem;flex:none}
.hz .cat-row.is-active .cat-num{color:var(--brass-light)}
.hz .cat-name{flex:1 1 auto}
.hz .cat-title{font-size:clamp(1.15rem,2.5vw,1.95rem);font-weight:700;letter-spacing:-.025em;line-height:1.14;color:var(--ink)}
.hz .cat-title a{text-decoration:none;color:inherit}
.hz .cat-desc{font-size:.86rem;line-height:1.5;color:rgba(51,51,51,.76);max-width:46ch}
.hz .cat-row.is-active .cat-title{color:var(--white)}
.hz .cat-row.is-active .cat-desc{color:rgba(229,229,229,.75)}
.hz .cat-thumb{width:100%;max-width:280px;flex:none;color:var(--brass);opacity:.9}
.hz .cat-row.is-active .cat-thumb{color:var(--brass-light)}
.hz .cat-panel-label{font-size:1.02rem;font-weight:700;color:var(--white)}
.hz .cat-panel-city{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-light)}
.hz .cat-panel-meta{border-top:1px solid var(--line-dark);padding-top:1rem}
@media (min-width:900px){ .hz .cat-thumb{display:none} }

/* ---------- aanbiedingen: Loop Carousel ---------- */
.hz .sc-carousel{position:relative;z-index:2}
.hz .sc-item{text-align:center;padding-block:clamp(1rem,2vw,2rem)}
.hz .sc-shot img{max-height:340px;width:auto;margin-inline:auto;object-fit:contain}
.hz .sc-title{font-size:clamp(1.6rem,4.4vw,3.4rem);line-height:.98;letter-spacing:-.035em;font-weight:800;text-transform:uppercase;color:var(--white);max-width:18ch;margin-inline:auto}
.hz .sc-price .price,.hz .sc-price .amount{font-size:clamp(1.2rem,2.4vw,1.7rem);font-weight:800;color:var(--white)}
.hz .sc-price del .amount{font-size:.95rem;font-weight:400;opacity:.72}
.hz .sc-price ins{text-decoration:none;background:none}
.hz .sc-carousel .swiper-pagination-bullet{background:rgba(255,255,255,.45)}
.hz .sc-carousel .swiper-pagination-bullet-active{background:var(--white)}
.hz .sc-carousel .elementor-swiper-button{color:var(--white);background:transparent;border:1px solid rgba(255,255,255,.45);border-radius:50%;width:48px;height:48px;display:grid;place-items:center}
.hz .sc-carousel .elementor-swiper-button:hover{background:var(--void);border-color:var(--void)}

/* ---------- customize: Accordion-widget ---------- */
.hz .cz-acc .elementor-accordion{border:0}
.hz .cz-acc .elementor-accordion-item{border:0;border-top:1px solid var(--line-dark)}
.hz .cz-acc .elementor-accordion-item:last-child{border-bottom:1px solid var(--line-dark)}
.hz .cz-acc .elementor-tab-title{background:none;padding:1.05rem 0;border:0}
.hz .cz-acc .elementor-tab-title a,.hz .cz-acc .elementor-accordion-title{color:var(--mist);font-size:1rem;font-weight:600;line-height:1.35}
.hz .cz-acc .elementor-tab-title.elementor-active a,.hz .cz-acc .elementor-tab-title:hover a{color:var(--white)}
.hz .cz-acc .elementor-tab-content{background:none;border:0;padding:0 0 1.15rem;color:rgba(229,229,229,.8);font-size:.92rem;max-width:52ch}
.hz .cz-acc .elementor-accordion-icon{color:var(--brass-light)}
.hz .cz-price{border:1px solid var(--line-dark)}
.hz .cz-price-num{font-size:clamp(1.6rem,3vw,2.1rem);font-weight:800;letter-spacing:-.03em;color:var(--white);line-height:1}
.hz .cz-price-note{font-size:.82rem;color:rgba(229,229,229,.72)}

/* ---------- service: bijschrift als kop-widget ---------- */
.hz .shot .shot-cap{position:absolute;left:0;bottom:0;z-index:2;padding:.65rem 1rem;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--brass-light);background:rgba(20,19,17,.78);border-top:1px solid var(--line-dark);border-right:1px solid var(--line-dark)}
.hz .svc-n{font-size:.72rem;font-weight:700;letter-spacing:.2em;color:var(--brass)}
.hz .why-n{position:absolute;right:clamp(1rem,2vw,1.5rem);top:clamp(1rem,2vw,1.5rem);font-size:.7rem;letter-spacing:.18em;font-weight:700;color:rgba(196,168,94,.85)}

/* ---------- merken en pills: Icon List ---------- */
.hz .brand-list .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:.5rem 1.9rem}
.hz .brand-list .elementor-icon-list-item{margin:0}
.hz .brand-list .elementor-icon-list-text{font-size:clamp(.95rem,1.6vw,1.22rem);font-weight:700;letter-spacing:.02em;color:rgba(51,51,51,.72);padding:0;transition:color var(--t-micro) var(--ease)}
.hz .brand-list .elementor-icon-list-item:hover .elementor-icon-list-text{color:var(--brass)}
.hz .brand-list .elementor-icon-list-icon{display:none}
.hz .proof-pills .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:.5rem}
.hz .proof-pills .elementor-icon-list-item{margin:0;border:1px solid var(--line-dark);border-radius:999px;padding:.45rem .9rem}
.hz .proof-pills .elementor-icon-list-icon{display:none}
.hz .proof-pills .elementor-icon-list-text{font-size:.78rem;font-weight:600;color:rgba(229,229,229,.9);padding:0}

/* ---------- beoordelingen ---------- */
.hz .proof-count .elementor-counter-number-wrapper{font-size:clamp(3.4rem,10vw,7rem);line-height:.82;font-weight:800;letter-spacing:-.05em;color:var(--white)}
.hz .proof-count .elementor-counter-title{font-size:.8rem;color:rgba(229,229,229,.72);margin-top:.5rem}
.hz .proof-stars .elementor-star-rating{color:var(--brass-light);font-size:20px}
.hz .proof-stars .elementor-star-rating i:before{color:var(--brass-light)}
.hz .proof-stars .elementor-star-empty:before{color:rgba(196,168,94,.35)}
.hz .proof-badge{max-width:220px;margin-inline:auto;opacity:.85}

/* ---------- openingstijden en contact: Icon List ---------- */
.hz .hz-hours .elementor-icon-list-item,.hz .hz-naw .elementor-icon-list-item{border-bottom:1px solid var(--line-light);padding-block:.62rem}
.hz .hz-hours .elementor-icon-list-text,.hz .hz-naw .elementor-icon-list-text{font-size:.92rem;color:var(--ink)}
.hz .hz-hours .elementor-icon-list-icon i,.hz .hz-naw .elementor-icon-list-icon i{color:var(--brass);font-size:12px}
.hz .hz-naw .elementor-icon-list-item a{color:var(--brass);font-weight:600;text-decoration:none}
.hz .hz-naw .elementor-icon-list-item a:hover{text-decoration:underline}
.hz .hz-sub{font-size:1.05rem;font-weight:700;color:var(--ink)}

/* ---------- hero-kop: masker-reveal op de native Heading ---------- */
.hz .hz-reveal{overflow:hidden}
.hz .hz-reveal .elementor-heading-title{transform:translateY(104%);transition:transform 900ms var(--ease) 120ms}
.hz .hero.is-in .hz-reveal .elementor-heading-title{transform:none}
@media (prefers-reduced-motion:reduce){.hz .hz-reveal .elementor-heading-title{transform:none}}
.no-js .hz .hz-reveal .elementor-heading-title{transform:none}

/* merknaam als twee bewerkbare koppen (was een HTML-blok) */
.hz .brand-block{flex:none;gap:0}
.hz .brand-name{font-size:clamp(1rem,1.5vw,1.2rem);font-weight:800;letter-spacing:.02em;line-height:1;color:var(--white)}
.hz .brand-name a{color:inherit;text-decoration:none}
.hz .brand-sub{font-size:.52rem;letter-spacing:.4em;text-transform:uppercase;color:var(--brass-light);margin-top:.32rem;padding-top:.32rem;border-top:1px solid rgba(196,168,94,.4);line-height:1}
.hz .site-footer .brand-block{margin-bottom:1.25rem}

/* knoppen: tekstkleur nooit uit de globale Accent halen */
.hz .e-btn .elementor-button{color:var(--fg,#fff)}
.hz .e-btn:not(.e-btn--ghost):not(.e-btn--dark) .elementor-button{background-color:var(--brass);border-color:var(--brass);color:var(--white)}
.hz .e-btn--ghost .elementor-button{background-color:transparent}
.hz .e-btn--dark .elementor-button{background-color:var(--void);border-color:var(--void);color:var(--white)}

/* WordPress-adminbalk niet over de header laten vallen */
body.admin-bar .site-header{top:32px}
@media (max-width:782px){body.admin-bar .site-header{top:46px}}
body.admin-bar .drawer{top:32px}

/* ---------- native Hotspot-widget in de vormgeving van het ontwerp ---------- */
.hz .cz-hotspots .e-hotspot__button{width:30px;height:30px;border-radius:50%;border:1px solid rgba(196,168,94,.6);background:rgba(20,19,17,.75);color:var(--brass-light);font-size:.68rem;font-weight:700;display:grid;place-items:center;padding:0;transition:transform var(--t-comp) var(--ease),background var(--t-comp) var(--ease),color var(--t-comp) var(--ease)}
.hz .cz-hotspots .e-hotspot__button:hover,.hz .cz-hotspots .e-hotspot--active .e-hotspot__button{background:var(--brass);color:var(--white);border-color:var(--brass);transform:scale(1.18)}
.hz .cz-hotspots .e-hotspot__outer-circle{background:rgba(196,168,94,.35)}
.hz .cz-hotspots .e-hotspot__tooltip{background:var(--void);color:var(--mist);border:1px solid var(--line-dark);border-radius:4px;padding:.9rem 1.1rem;max-width:280px;font-size:.88rem;line-height:1.5}
.hz .cz-hotspots .e-hotspot__tooltip strong{display:block;color:var(--white);font-weight:700;margin-bottom:.3rem}
.hz .cz-stage--native{aspect-ratio:auto;position:relative}
.hz .cz-stage--native::before{content:'';position:absolute;left:50%;top:60%;width:96%;aspect-ratio:2/1;transform:translate(-50%,-50%);background:radial-gradient(ellipse at 50% 50%,rgba(126,107,57,.32),transparent 68%);pointer-events:none}
.hz .cz-hotspots img{width:100%;height:auto;position:relative;z-index:1}
.hz .cz-hotspots .elementor-widget-container{position:relative;z-index:2}

/* header-icoonknoppen als native Icon-widgets */
.hz .iconbtn-w .elementor-icon{width:44px;height:44px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:var(--mist);border-radius:50%;display:grid;place-items:center;font-size:16px;transition:background var(--t-micro) var(--ease),color var(--t-micro) var(--ease),border-color var(--t-micro) var(--ease)}
.hz .iconbtn-w .elementor-icon:hover{background:var(--brass);border-color:var(--brass);color:var(--white)}
.hz .iconbtn-w{display:none;flex:none}
@media (min-width:480px){.hz .hdr-actions .iconbtn-w:first-of-type{display:block}}
@media (min-width:900px){.hz .iconbtn-w{display:block}}

.hz .cz-hotspots .e-hotspot__tooltip{opacity:0;visibility:hidden;transition:opacity .25s var(--ease),visibility .25s;pointer-events:none;z-index:9}
.hz .cz-hotspots .e-hotspot:hover .e-hotspot__tooltip,.hz .cz-hotspots .e-hotspot--active .e-hotspot__tooltip,.hz .cz-hotspots .e-hotspot__button:focus-visible + .e-hotspot__tooltip{opacity:1;visibility:visible;pointer-events:auto}
.hz .cz-hotspots,.hz .cz-hotspots .elementor-widget-container,.hz .cz-hotspots figure,.hz .cz-hotspots .e-hotspot__image-wrapper{width:100%}
.hz .cz-hotspots img{width:100%!important;height:auto!important;max-width:none}

/* footer: linklijsten als bewerkbare WordPress-menu's */
.hz .foot-menu .elementor-nav-menu{display:block}
.hz .foot-menu .elementor-nav-menu li{margin:0;list-style:none}
.hz .foot-menu .elementor-item{padding:.24rem 0;font-size:.92rem;color:rgba(229,229,229,.72);background:none;border:0;display:inline-block;transition:color var(--t-micro) var(--ease)}
.hz .foot-menu .elementor-item:hover,.hz .foot-menu .elementor-item.elementor-item-active{color:var(--white);background:none}
.hz .foot-adres{font-size:.92rem;line-height:1.7;color:rgba(229,229,229,.72)}
.hz .foot-bar{margin-top:clamp(2.25rem,4vw,3.25rem);padding-top:1.5rem;border-top:1px solid var(--line-dark);font-size:.82rem;color:rgba(229,229,229,.64)}
.hz .foot-bar a{text-decoration:none;color:inherit}
.hz .foot-bar a:hover{color:var(--brass-light)}
.hz .site-footer .brand-block{gap:0}

/* servicenummer mag niet meelopen met de sectiekop-regel */
.hz .svc-body .elementor-widget-heading.svc-n,.hz .elementor-widget-heading.svc-n{font-size:.72rem;font-weight:700;letter-spacing:.2em;color:var(--brass);line-height:1.4}
.hz .elementor-widget-heading.shot-cap{font-size:.66rem;font-weight:600;letter-spacing:.2em;line-height:1.4}

/* footermenu in de juiste dikte en kleur */
.hz .foot-menu .elementor-item{font-weight:400!important;color:rgba(229,229,229,.72)!important}
.hz .foot-menu .elementor-item:hover{color:var(--white)!important}

/* merkblok: lijn alleen onder de naam, niet over de hele kolom */
.hz .brand-block{align-items:flex-start}
.hz .brand-sub{display:inline-block;width:auto}
.hz .brand-block>.elementor-widget{width:auto}

/* contactlijst: bescheiden opsommingstekens */
.hz .hz-naw .elementor-icon-list-icon i{font-size:6px;color:var(--brass)}
.hz .hz-hours .elementor-icon-list-icon i{font-size:12px}

.hz .hdr-cta .elementor-button{white-space:nowrap}
.hz .hdr-actions{min-width:0}
