/*
Theme Name: Holos Jet — Bewerkbaar
Theme URI: https://holosjet.nl/
Author: Holos Jet
Description: Gutenberg-first block theme for Holos Jet. Homepage content is stored in WordPress blocks; treatments and reviews are managed as editable WordPress items.
Version: 1.8.6
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: holos-jet-editable
*/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');
:root{--sand:#efe6db;--green:#546b4a;--deep:#314531;--soft:#849078;--earth:#b79676;--paper:#f7f2ec;--line:rgba(84,107,74,.45);--serif:'Libre Baskerville',Georgia,serif;--sans:'DM Sans','Helvetica Neue',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sand);color:#29352a;font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wp-site-blocks{overflow:hidden}.hj-shell{width:min(1160px,calc(100% - 120px));margin:0 auto}.hj-header{min-height:94px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.hj-header .wp-block-image{margin:0}.hj-header .wp-block-image img{width:128px;height:62px;object-fit:contain;object-position:left center}.hj-nav{display:flex;align-items:center;gap:clamp(18px,2.6vw,42px);font-size:14px;color:var(--deep)}.hj-nav a{padding:8px 0;border-bottom:1px solid transparent}.hj-nav a:hover{border-color:var(--earth)}.hj-nav .wp-block-button__link{border:1px solid var(--green);background:transparent;color:var(--deep);border-radius:0;padding:8px 12px;font-size:inherit}.hj-nav .wp-block-button__link:hover{background:var(--green);color:var(--paper)}.hj-hero{padding:76px 0 100px;display:grid;grid-template-columns:minmax(180px,.72fr) 1.28fr;gap:clamp(48px,9vw,150px);align-items:center}.hj-hero h1,.hj-section h2{font:400 clamp(30px,3.2vw,49px)/1.22 var(--serif);letter-spacing:-.035em;color:var(--deep);margin:0 0 27px}.hj-hero h1{font-size:clamp(42px,5vw,72px);line-height:1.12;margin-bottom:29px}.hj-eyebrow{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--green);margin:0 0 26px}.hj-copy{color:var(--green);max-width:580px}.hj-hero .hj-copy{font-size:17px;max-width:400px;margin-bottom:39px}.hj-buttons{display:flex;gap:25px;flex-wrap:wrap}.hj-button{border-radius:0!important}.hj-button.is-style-fill .wp-block-button__link{background:var(--green);color:var(--paper);padding:14px 18px}.hj-button.is-style-outline .wp-block-button__link{border:0;border-bottom:1px solid var(--line);color:var(--green);padding:4px 0}.hj-hero-media{min-height:522px;position:relative;overflow:hidden;background:var(--soft)}.hj-hero-media img{width:100%;height:100%;object-fit:cover}.hj-hero-media:before{content:'';position:absolute;inset:15px;border:1px solid rgba(247,242,236,.55);z-index:1}.hj-caption{position:absolute;left:29px;bottom:24px;z-index:2;color:var(--paper);font-size:11px;letter-spacing:.08em}.hj-ruled{border-top:1px solid var(--line)}.hj-intro{padding:96px 0 120px;display:grid;grid-template-columns:minmax(180px,.72fr) 1.28fr;gap:clamp(48px,9vw,150px);align-items:center}.hj-intro-media{display:flex;flex-direction:column;align-items:flex-start;gap:25px}.hj-intro-media img{width:170px;height:250px;object-fit:cover;filter:saturate(.78)}.hj-marker{display:flex;flex-direction:column;gap:19px;color:var(--green);font-size:11px;letter-spacing:.08em}.hj-marker:before{content:'';height:1px;width:43px;background:var(--line)}.hj-section h2{max-width:610px}.hj-text p{color:var(--green);max-width:580px;margin:0 0 18px}.hj-inline{border-bottom:1px solid var(--line);padding-bottom:7px;color:var(--deep)}.hj-treatments{padding:112px 0 126px;display:grid;grid-template-columns:minmax(180px,.72fr) 1.28fr;gap:clamp(48px,9vw,150px);align-items:start}.hj-treatments h2{max-width:350px}.hj-muted{color:var(--green);max-width:270px}.hj-treatment-list{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr}.hj-treatment{display:grid;grid-template-columns:54px minmax(190px,.8fr) 1.2fr;gap:24px;align-items:start;padding:25px 0;border-bottom:1px solid var(--line)}.hj-treatment:hover{background:rgba(255,255,255,.18)}.hj-treatment-number{color:var(--green);font-size:11px;letter-spacing:.1em}.hj-treatment h3{font:400 22px/1.35 var(--serif);color:var(--deep);margin:0}.hj-treatment p{color:var(--green);margin:0}.hj-wide-image{min-height:460px;position:relative;overflow:hidden;background:var(--green)}.hj-wide-image img{width:100%;height:460px;object-fit:cover;filter:saturate(.8)}.hj-wide-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,55,35,.48),transparent 65%)}.hj-wide-note{position:absolute;z-index:1;left:max(40px,calc((100% - 1160px)/2));bottom:40px;color:var(--paper);font:italic clamp(18px,2vw,25px) var(--serif)}.hj-about{padding:112px 0 128px;display:grid;grid-template-columns:minmax(180px,.72fr) 1.28fr;gap:clamp(48px,9vw,150px);align-items:center}.hj-about-media img{width:100%;max-width:360px;aspect-ratio:4/5;object-fit:cover;filter:saturate(.78)}.hj-reviews{padding:100px 0 120px;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(180px,.72fr) 1.28fr;gap:clamp(48px,9vw,150px)}.hj-review-label{color:var(--green)}.hj-review-label .quote{font:88px/.6 var(--serif);color:var(--earth)}.hj-review-carousel{min-width:0}.hj-review{animation:hjfade .35s ease both}.hj-review[hidden]{display:none}.hj-review blockquote{color:var(--deep);font:400 clamp(25px,3.1vw,44px)/1.45 var(--serif);letter-spacing:-.025em;margin:0 0 31px}.hj-review figcaption{color:var(--green);font-size:12px;letter-spacing:.07em}.hj-review-source{color:var(--green);font-size:11px;margin-top:18px}.hj-review-source a{border-bottom:1px solid var(--line);padding-bottom:4px}.hj-carousel-controls{display:flex;align-items:center;gap:19px;margin-top:37px}.hj-arrow{width:34px;height:34px;border:1px solid var(--line);background:transparent;color:var(--green);cursor:pointer}.hj-dots{display:flex;gap:9px}.hj-dot{width:7px;height:7px;padding:0;border:1px solid var(--green);border-radius:50%;background:transparent;cursor:pointer}.hj-dot.is-active{background:var(--green);transform:scale(1.25)}@keyframes hjfade{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}.hj-contact{background:var(--deep);color:var(--paper);padding:94px max(40px,calc((100% - 1160px)/2)) 104px;display:flex;justify-content:space-between;align-items:end;gap:50px}.hj-contact h2{color:var(--paper);max-width:590px}.hj-contact p{color:rgba(247,242,236,.77);max-width:420px}.hj-contact .wp-block-button__link{border-bottom:1px solid rgba(247,242,236,.45);color:var(--paper);border-radius:0;padding:0 0 7px;background:transparent}.hj-contact-mark{opacity:.16;width:min(340px,32vw);margin-right:7%}.hj-contact-mark img{width:100%;filter:sepia(1) saturate(.45) brightness(2.3)}.hj-footer{width:min(1160px,calc(100% - 120px));margin:0 auto;padding:46px 0 42px;display:grid;grid-template-columns:1fr 1.2fr auto;align-items:start;gap:30px;color:var(--green);font-size:13px}.hj-footer-logo img{width:min(100%,250px);height:auto}.hj-footer-nav,.hj-footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.hj-footer-nav h3,.hj-footer-contact h3{font:400 17px var(--serif);color:var(--deep);margin:0 0 5px}.hj-footer-copyright{margin-top:30px;align-self:flex-end;font-size:10px}@media(max-width:800px){.hj-shell{width:min(100% - 40px,680px)}.hj-header{min-height:76px}.hj-header .wp-block-image img{width:108px;height:52px}.hj-nav{font-size:15px;flex-direction:column;align-items:flex-start;gap:8px}.hj-hero,.hj-intro,.hj-treatments,.hj-about,.hj-reviews{width:min(100% - 40px,680px);margin-left:auto;margin-right:auto;grid-template-columns:1fr;gap:38px}.hj-hero{padding-top:57px;min-height:0}.hj-hero-media{min-height:430px}.hj-intro{padding:72px 0 85px}.hj-intro-media{gap:23px}.hj-intro-media img{width:min(100%,340px);height:260px}.hj-treatments{padding:78px 0 87px}.hj-treatment-list{grid-template-columns:1fr}.hj-treatment{grid-template-columns:38px 1fr;gap:8px;padding:22px 0}.hj-treatment h3,.hj-treatment>div:last-child{grid-column:2}.hj-treatment h3{font-size:21px}.hj-treatment>div:last-child{margin-top:-2px}.hj-wide-image img{height:370px}.hj-about{padding:82px 0 90px}.hj-reviews{padding:78px 0 88px}.hj-contact{padding:76px 20px 80px;flex-direction:column;align-items:stretch}.hj-contact-mark{display:none}.hj-footer{width:min(100% - 40px,680px);grid-template-columns:1fr;padding:35px 0 30px;gap:27px}.hj-footer-copyright{align-self:flex-end}}

/* Independent editable overlays and adjustable footer columns */
.hj-hero,.hj-about{position:relative}
.hj-image-overlay{position:absolute;z-index:3;right:4%;bottom:27px;margin:0;color:var(--paper);font-size:11px;letter-spacing:.08em;text-shadow:0 1px 8px rgba(0,0,0,.25)}
.hj-hero-media figcaption{display:none}
.hj-about .hj-section{position:relative;z-index:2}
.hj-wide-image{position:relative}
.hj-wide-leaf{position:absolute;z-index:2;left:max(40px,calc((100% - 1160px)/2));bottom:75px;width:25px;margin:0;opacity:.9}
.hj-wide-leaf img{width:25px;height:25px;object-fit:contain}
.hj-footer.wp-block-columns{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:30px}
.hj-footer.wp-block-columns>.wp-block-column{flex-basis:0;flex-grow:1}
.hj-footer.wp-block-columns>.wp-block-column:nth-child(1){flex-grow:1}
.hj-footer.wp-block-columns>.wp-block-column:nth-child(2){flex-grow:1.2}
.hj-footer.wp-block-columns>.wp-block-column:nth-child(3){flex-grow:.9}
@media(max-width:800px){.hj-image-overlay{right:22px;bottom:22px}.hj-wide-leaf{left:22px;bottom:60px}.hj-footer.wp-block-columns{display:flex;flex-direction:column;gap:27px}.hj-footer.wp-block-columns>.wp-block-column{flex-basis:auto!important;width:100%}}
/* Keep the editable about copy layered over the visual on larger screens. */
@media(min-width:801px){.hj-about .hj-text{position:absolute;left:28%;right:4%;top:50%;transform:translateY(-50%);padding:30px 36px;background:rgba(239,230,219,.9);z-index:3}.hj-about-media{position:relative;z-index:1}}
@media(max-width:800px){.hj-about .hj-text{position:relative;transform:none;padding:0;background:transparent}.hj-about-media{position:relative}}
/* Requested restoration: square treatment grid, rectangular buttons, editable image frames. */
.wp-block-button__link{border-radius:0!important}
.hj-treatment-list{border-top:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px}
.hj-treatment{grid-template-columns:44px 1fr;gap:12px 18px;min-height:175px;padding:27px 24px;border:1px solid var(--line);background:rgba(255,255,255,.12)}
.hj-treatment h3,.hj-treatment>div:last-child{grid-column:2}
.hj-treatment>div:last-child{margin-top:2px}
.hj-editable-frame{overflow:hidden}
.hj-editable-frame>img{width:100%;height:100%;object-fit:cover;object-position:var(--hj-object-position,50% 50%)}
.hj-editable-frame figcaption{display:none}
.hj-hero-media.hj-editable-frame{min-height:522px}
@media(max-width:800px){.hj-treatment-list{grid-template-columns:1fr;gap:0}.hj-treatment{grid-template-columns:38px 1fr;min-height:0;padding:22px 0;border-width:0 0 1px}.hj-treatment h3,.hj-treatment>div:last-child{grid-column:2}.hj-editable-frame{max-width:100%}.hj-hero-media.hj-editable-frame{min-height:430px}}
.hj-hero>.hj-image-overlay{position:static;grid-column:2;align-self:start;margin:18px 0 0;color:var(--green);text-shadow:none;font-size:11px;letter-spacing:.08em}
@media(max-width:800px){.hj-hero>.hj-image-overlay{grid-column:1;margin:12px 0 0}}
.hj-social-links{display:flex;align-items:center;gap:17px;margin-top:13px;color:var(--green)}
.hj-social-link{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;color:var(--green);text-decoration:none}
.hj-social-link:hover{color:var(--deep)}
.hj-social-icon{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hj-social-link-placeholder{opacity:.82}
.hj-social-editor-preview{display:flex;gap:16px;padding:12px 0;color:var(--green);font-size:12px}
@media(max-width:800px){.hj-social-links{gap:19px;margin-top:11px}.hj-social-link{width:24px;height:24px}.hj-social-icon{width:21px;height:21px}}
/* Keep footer items in their own columns and on separate lines. */
.hj-footer .hj-footer-nav,.hj-footer .hj-footer-contact{display:flex!important;flex-direction:column!important;align-items:flex-start!important;min-width:0}
.hj-footer .hj-footer-nav>*,.hj-footer .hj-footer-contact>*{display:block!important;width:100%;max-width:100%;margin-left:0;margin-right:0}
.hj-footer .hj-footer-nav p,.hj-footer .hj-footer-contact p{margin-top:0;margin-bottom:0;white-space:normal;overflow-wrap:anywhere}
.hj-footer .hj-footer-nav a,.hj-footer .hj-footer-contact a{display:inline-block}
.hj-footer .hj-social-links{width:auto!important;display:flex!important;flex-direction:row!important}
/* Plugin review inner blocks use the same carousel presentation as the theme renderer. */
.hj-review-item{animation:hjfade .35s ease both}
.hj-review-item[hidden]{display:none}
.hj-review-item .hj-review-quote{color:var(--deep);font:400 clamp(25px,3.1vw,44px)/1.45 var(--serif);letter-spacing:-.025em;margin:0 0 31px}
.hj-review-item .hj-review-name{color:var(--green);font-size:12px;letter-spacing:.07em;margin:0}
.hj-review-item .hj-review-source{color:var(--green);font-size:11px;margin-top:18px}
.hj-review-item .hj-review-source a{border-bottom:1px solid var(--line);padding-bottom:4px}
/* Treatments repair: one connected desktop grid, shared page background, hover only. */
.hj-treatment-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid var(--line);background:transparent}
.hj-treatment-list>.hj-treatment{min-width:0;min-height:175px;padding:27px 24px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;transition:background-color .2s ease}
.hj-treatment-list>.hj-treatment:nth-child(2n){border-right:0}
.hj-treatment-list>.hj-treatment:nth-last-child(-n+2){border-bottom:0}
.hj-treatment-list>.hj-treatment:hover{background:rgba(255,255,255,.16);box-shadow:none}
@media(max-width:800px){
  .hj-treatment-list{grid-template-columns:1fr;gap:0}
  .hj-treatment-list>.hj-treatment{min-height:0;padding:22px 0;border-right:0;border-bottom:1px solid var(--line)}
  .hj-treatment-list>.hj-treatment:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
  .hj-treatment-list>.hj-treatment:last-child{border-bottom:0}
}


/* Footer repair: navigation and contact items stay on separate lines. */
.hj-footer-nav > p,
.hj-footer-nav > .wp-block-paragraph,
.hj-footer-contact > p,
.hj-footer-contact > .wp-block-paragraph { display:block; width:100%; margin:0; }
.hj-footer-nav > h3,
.hj-footer-contact > h3 { width:100%; }
.hj-footer-contact > .hj-social-links { display:flex!important; width:auto!important; flex-direction:row!important; gap:17px; margin-top:8px; }
.hj-footer-contact > .hj-social-links .hj-social-link { display:inline-flex; width:auto; }

/* Captions intentionally migrated to standalone Gutenberg paragraphs. */
.hj-image-caption { margin:0; }
.hj-hero-media + .hj-image-caption { position:absolute; z-index:1; left:max(40px,calc((100% - 1160px)/2)); bottom:40px; color:var(--paper); font:italic clamp(18px,2vw,25px) var(--serif); }
@media(max-width:800px){
  .hj-hero-media + .hj-image-caption { left:20px; right:20px; bottom:24px; font-size:18px; }
  .hj-footer-contact > .hj-social-links { justify-content:flex-start; }
}

/* Footer rebuild: three editable Gutenberg columns, logo 3 centered. */
.hj-footer-columns { display:flex!important; flex-wrap:nowrap!important; align-items:flex-start!important; gap:30px!important; }
.hj-footer-columns > .wp-block-column { flex:1 1 auto; flex-basis:auto; min-width:0; margin:0!important; }
.hj-footer-columns > .hj-footer-nav { flex:1 1 0!important; }
.hj-footer-columns > .hj-footer-logo { flex:1 1 0!important; display:flex; justify-content:center; align-items:flex-start; }
.hj-footer-columns > .hj-footer-contact { flex:1 1 0!important; }
.hj-footer-logo figure { width:100%; margin:0; display:flex; justify-content:center; }
.hj-footer-columns > .hj-footer-nav { padding-left:clamp(12px,2.2vw,30px); }
.hj-footer-logo img { width:min(100%,320px)!important; height:auto!important; object-fit:contain; }
.hj-footer-columns > .wp-block-column > h3,
.hj-footer-columns > .wp-block-column .wp-block-heading { font:500 12px/1.4 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin:0 0 8px; }
.hj-footer-legal { width:100%; margin-top:32px; padding-top:18px; border-top:1px solid var(--line); text-align:center; color:var(--green); font-size:11px; letter-spacing:.02em; }
.hj-footer-legal p { margin:0; }
.hj-footer-contact .hj-social-links { margin-top:10px; }
.hj-social-icon { stroke-dasharray:none!important; stroke-dashoffset:0!important; stroke-linecap:round!important; stroke-linejoin:round!important; }

/* Block 1 arrows: retain the editable button text and align its arrow. */
.hj-hero .hj-buttons .wp-block-button__link { display:inline-flex; align-items:center; gap:.32em; white-space:nowrap; }
@media(max-width:800px){
  .hj-footer-columns { flex-direction:column!important; gap:27px!important; }
  .hj-footer-columns > .wp-block-column { flex:0 1 auto; flex-basis:auto!important; width:100%!important; }
  .hj-footer-columns > .hj-footer-nav { padding-left:0; }
  .hj-footer-columns > .hj-footer-logo { justify-content:flex-start; }
  .hj-footer-logo figure { justify-content:flex-start; }
  .hj-footer-legal { margin-top:8px; line-height:1.8; }
}

/* Footer structure repair: the columns and legal row are separate horizontal rows. */
.hj-footer { display:block!important; }
.hj-footer-columns { width:100%; display:flex!important; flex-direction:row; flex-wrap:nowrap!important; align-items:flex-start!important; }
.hj-footer-columns > .wp-block-column { min-width:0; }
.hj-footer-legal { display:block!important; width:100%!important; clear:both; }

/* Typography restored to the original v1.5.1 footer treatment. */
.hj-footer-columns > .wp-block-column > h3,
.hj-footer-columns > .wp-block-column .wp-block-heading,
.hj-footer-nav h3,
.hj-footer-contact h3 { font:400 17px var(--serif); letter-spacing:normal; text-transform:none; color:var(--deep); margin:0 0 5px; }
.hj-footer-nav,
.hj-footer-contact { font-size:13px; line-height:1.65; }
@media(max-width:800px){
  .hj-footer-columns { flex-direction:column!important; }
}

/* Footer-only optical balance: bring navigation toward the logo and give the
 * contact group a little more breathing room. */
.hj-footer-columns { display:grid!important; grid-template-columns:minmax(0,.95fr) minmax(260px,1fr) minmax(0,1.15fr); column-gap:0!important; }
.hj-footer-columns > .wp-block-column { flex:none!important; width:auto!important; }
.hj-footer-columns > .hj-footer-nav { padding-left:clamp(12px,2.2vw,30px); padding-right:clamp(12px,1.8vw,24px); }
.hj-footer-columns > .hj-footer-logo { padding:0; }
.hj-footer-logo img { width:min(100%,350px)!important; height:auto!important; object-fit:contain; }
.hj-footer-columns > .hj-footer-contact { padding-left:clamp(24px,3.8vw,54px); }
.hj-footer-address { line-height:1.65; margin-top:0; margin-bottom:0; }
@media(max-width:800px){
  .hj-footer-columns { display:flex!important; }
  .hj-footer-columns > .hj-footer-nav,
  .hj-footer-columns > .hj-footer-contact { padding-left:0; padding-right:0; }
}

/* Block 1: image and caption are one stable editable overlay group. */
.hj-hero-media-wrap { position:relative; min-height:522px; overflow:hidden; }
.hj-hero-media-wrap > .hj-hero-media { position:absolute; inset:0; min-height:0; height:100%; margin:0; }
.hj-hero-media-wrap > .hj-image-caption { position:absolute; z-index:3; left:29px; right:29px; bottom:24px; margin:0; color:var(--paper); font:italic clamp(18px,2vw,25px) var(--serif); }

/* Block 5: background, leaf and copy remain a single editable visual composition. */
.hj-wide-image > .hj-wide-content { position:absolute; inset:0; z-index:2; pointer-events:none; }
.hj-wide-content > .hj-wide-leaf { position:absolute; left:max(40px,calc((100% - 1160px)/2)); bottom:75px; width:25px; margin:0; opacity:.9; }
.hj-wide-content > .hj-wide-leaf img { width:25px; height:25px; object-fit:contain; }
.hj-wide-content > .hj-wide-note { position:absolute; left:max(40px,calc((100% - 1160px)/2)); bottom:40px; margin:0; }
@media(max-width:800px){
  .hj-hero-media-wrap { min-height:430px; }
  .hj-hero-media-wrap > .hj-image-caption { left:20px; right:20px; bottom:24px; font-size:18px; }
  .hj-wide-content > .hj-wide-leaf { left:22px; bottom:60px; }
  .hj-wide-content > .hj-wide-note { left:22px; bottom:24px; }
}

/* Over Jet: use the same native Gutenberg Cover image behavior as blocks 1 and 4. */
.wp-block-cover.hj-about-media {
  position:relative; display:block; min-height:450px; height:450px; padding:0;
  overflow:hidden; isolation:isolate; background:var(--soft);
}
.hj-about-media > .wp-block-cover__image-background {
  width:100%; height:100%; object-fit:cover; object-position:var(--hj-object-position,50% 50%);
  filter:saturate(.78);
}
.hj-about-media > .wp-block-cover__background { z-index:1; }
.hj-about-media > .wp-block-cover__inner-container {
  position:absolute; inset:0; z-index:2; width:100%; max-width:none; height:100%; margin:0; padding:0;
}
.hj-about-vertical-caption {
  position:absolute; top:22px; right:17px; z-index:3; margin:0;
  color:var(--paper); font-size:10px; letter-spacing:.12em; line-height:1.35;
  writing-mode:vertical-rl; transform:rotate(270deg); text-transform:uppercase;
  text-shadow:0 1px 8px rgba(0,0,0,.25); pointer-events:auto;
}
.hj-about-media-group { min-width:0; position:relative; }
.hj-about-media-group > .hj-about-media { margin:0; }
@media(max-width:800px){
  .wp-block-cover.hj-about-media { min-height:340px; height:340px; }
  .hj-about-vertical-caption { top:18px; right:14px; font-size:9px; }
}


/* Footer-only release 1.0.9: native Gutenberg column widths remain adjustable. */
.hj-footer { display:block!important; }
.hj-footer-columns {
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:clamp(14px,1.7vw,20px)!important;
  grid-template-columns:none!important;
}
.hj-footer-columns > .wp-block-column { min-width:0; margin:0!important; flex-grow:0!important; }
.hj-footer-columns > .hj-footer-spacer { min-height:1px; }
.hj-footer-columns > .hj-footer-nav,
.hj-footer-columns > .hj-footer-contact { padding-left:0!important; padding-right:0!important; }
.hj-footer-columns > .hj-footer-logo { display:block!important; padding:0!important; }
.hj-footer-logo figure { width:100%; margin:0; display:flex; justify-content:center; }
.hj-footer-logo img { width:min(100%,350px)!important; height:auto!important; object-fit:contain; }
.hj-footer-legal { display:block!important; width:100%!important; clear:both; }
@media(max-width:800px){
  .hj-footer-columns { display:flex!important; flex-direction:column!important; flex-wrap:nowrap!important; gap:27px!important; }
  .hj-footer-columns > .wp-block-column { flex-basis:auto!important; width:100%!important; }
  .hj-footer-columns > .hj-footer-spacer { display:none!important; }
  .hj-footer-columns > .hj-footer-logo { justify-content:flex-start; }
  .hj-footer-logo figure { justify-content:flex-start; }
  .hj-footer-legal { margin-top:8px; line-height:1.8; }
}


/* v1.5.3 footer layout is controlled by its own Gutenberg block (CSS grid),
   intentionally isolated from the legacy .wp-block-columns flex rules above. */
.hj-footer { display:block!important; }
.hj-footer > .hj-footer-layout { width:100%; min-width:0; }
.hj-footer > .hj-footer-legal {
  display:block!important;
  width:100%!important;
  max-width:none!important;
  clear:both;
  margin-top:32px;
}
@media(max-width:800px){
  .hj-footer > .hj-footer-legal { margin-top:8px; }
}


/* v1.0.15 — Block 1 and Block 5 use native Gutenberg Cover backgrounds. */
.hj-hero .wp-block-cover.hj-hero-media-wrap {
  position:relative; display:block; min-height:522px; height:522px; padding:0;
  overflow:hidden; isolation:isolate; background:var(--soft);
}
.hj-hero-media-wrap > .wp-block-cover__image-background {
  width:100%; height:100%; object-fit:cover; object-position:var(--hj-object-position,50% 50%);
}
.hj-hero-media-wrap > .wp-block-cover__inner-container {
  position:absolute; inset:0; z-index:3; display:flex; align-items:flex-end;
  justify-content:flex-start; width:100%; max-width:none; height:100%; margin:0;
  padding:0 29px 24px;
}
.hj-hero .hj-hero-media-wrap::after {
  content:""; position:absolute; inset:15px; z-index:2; border:1px solid rgba(247,242,236,.55);
  pointer-events:none;
}
.hj-hero-media-wrap .hj-image-caption {
  position:relative; z-index:3; max-width:100%; margin:0; color:var(--paper);
  font:italic clamp(18px,2vw,25px) var(--serif); text-shadow:0 1px 8px rgba(0,0,0,.25);
}
.wp-block-cover.hj-wide-image {
  position:relative; display:block; min-height:460px; height:460px; padding:0;
  overflow:hidden; isolation:isolate; background:var(--green);
}
.hj-wide-image > .wp-block-cover__image-background {
  width:100%; height:100%; object-fit:cover; object-position:var(--hj-object-position,50% 50%);
  filter:saturate(.8);
}
.hj-wide-image > .wp-block-cover__background { z-index:1; }
.hj-wide-image::after { z-index:1; pointer-events:none; }
.hj-wide-image > .wp-block-cover__inner-container {
  position:absolute; inset:0; z-index:2; width:100%; max-width:none; height:100%; margin:0; padding:0;
}
.hj-wide-image .hj-wide-content { position:absolute; inset:0; z-index:2; pointer-events:auto; }
.hj-wide-content > .hj-wide-leaf {
  left:max(40px,calc((100% - 1160px)/2)); bottom:75px; width:25px; margin:0;
  z-index:3; pointer-events:none;
}
.hj-wide-content > .hj-wide-leaf img { display:block; width:25px; height:25px; object-fit:contain; }
.hj-wide-content > .hj-wide-note {
  left:max(40px,calc((100% - 1160px)/2)); bottom:40px; z-index:3; margin:0;
  color:var(--paper); font:italic clamp(18px,2vw,25px) var(--serif); pointer-events:auto;
}
@media(max-width:800px){
  .hj-hero .wp-block-cover.hj-hero-media-wrap { min-height:430px; height:430px; }
  .hj-hero-media-wrap > .wp-block-cover__inner-container { padding:0 20px 24px; }
  .hj-wide-image.wp-block-cover { min-height:370px; height:370px; }
  .hj-wide-content > .hj-wide-leaf { left:22px; bottom:60px; }
  .hj-wide-content > .hj-wide-note { left:22px; right:22px; bottom:24px; }
}


/* Block 1 arrows: separate icon motion, triggered by hovering the full button. */
.hj-hero .hj-buttons .hj-button-arrow,
.hj-hero .hj-buttons .hj-button-arrow-up,
.hj-hero .hj-buttons .hj-button-arrow-down,
.hj-hero .hj-buttons .hj-button-arrow--up,
.hj-hero .hj-buttons .hj-button-arrow--down {
  display:inline-block;
  width:1em;
  flex:0 0 1em;
  line-height:1;
  text-align:center;
  transform-origin:50% 50%;
  transition:transform .24s cubic-bezier(.22,.61,.36,1);
}
.hj-hero .hj-buttons .hj-button-arrow-up,
.hj-hero .hj-buttons .hj-button-arrow--up { transform:translateX(0); }
.hj-hero .hj-buttons .hj-button-arrow-down,
.hj-hero .hj-buttons .hj-button-arrow--down { transform:translateX(0) rotate(135deg); }
.hj-hero .hj-buttons .wp-block-button:hover .hj-button-arrow-up,
.hj-hero .hj-buttons .wp-block-button:focus-within .hj-button-arrow-up,
.hj-hero .hj-buttons .wp-block-button:hover .hj-button-arrow--up,
.hj-hero .hj-buttons .wp-block-button:focus-within .hj-button-arrow--up { transform:translateX(4px); }
.hj-hero .hj-buttons .wp-block-button:hover .hj-button-arrow-down,
.hj-hero .hj-buttons .wp-block-button:focus-within .hj-button-arrow-down,
.hj-hero .hj-buttons .wp-block-button:hover .hj-button-arrow--down,
.hj-hero .hj-buttons .wp-block-button:focus-within .hj-button-arrow--down { transform:translateX(4px) rotate(135deg); }
.hj-hero .hj-buttons a[href="#werkwijze"] .hj-button-arrow { transform:translateX(0); }
.hj-hero .hj-buttons a[href="#behandelingen"] .hj-button-arrow { transform:translateX(0) rotate(135deg); }
@media(prefers-reduced-motion:reduce){
  .hj-hero .hj-buttons .hj-button-arrow,
  .hj-hero .hj-buttons .hj-button-arrow-up,
  .hj-hero .hj-buttons .hj-button-arrow-down,
  .hj-hero .hj-buttons .hj-button-arrow--up,
  .hj-hero .hj-buttons .hj-button-arrow--down { transition:none; }
}

/* Reuse the existing ruled divider style between Block 2 and Block 3. */
.hj-treatments.hj-shell { border-top:1px solid var(--line); }

/* Block 6 only: center the copy group beside the existing mark and give each
   text element comfortable, evenly distributed vertical space. */
.hj-contact > .wp-block-group:first-child {
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:clamp(16px,1.8vw,24px);
}
.hj-contact > .wp-block-group:first-child > .hj-eyebrow,
.hj-contact > .wp-block-group:first-child > .wp-block-heading,
.hj-contact > .wp-block-group:first-child > p,
.hj-contact > .wp-block-group:first-child > .wp-block-buttons { margin:0; }

/* Tighten only the first two Contact text gaps. These visual offsets keep the
   paragraph-to-button gap and the copy group's overall center unchanged. */
@media(min-width:801px){
  .hj-contact > .wp-block-group:first-child {
    --hj-contact-tighten:clamp(0px,calc(7.8vw - 61px),39px);
  }
  .hj-contact > .wp-block-group:first-child > .hj-eyebrow {
    transform:translateY(var(--hj-contact-tighten));
  }
  .hj-contact > .wp-block-group:first-child > p:not(.hj-eyebrow),
  .hj-contact > .wp-block-group:first-child > .wp-block-buttons {
    transform:translateY(calc(0px - var(--hj-contact-tighten)));
  }
}

/* Header logo: scale proportionally on tablet and mobile; desktop stays as-is. */
@media (min-width:801px) and (max-width:1000px) {
  .hj-header .wp-block-image.hj-logo {
    flex:0 0 clamp(96px,12.8vw,128px);
    width:clamp(96px,12.8vw,128px);
    min-width:0;
  }
  .hj-header .wp-block-image.hj-logo img {
    width:100%;
    max-width:100%;
    height:auto;
    object-fit:contain;
  }
}
@media (max-width:800px) {
  .hj-header { min-width:0; gap:clamp(8px,3vw,18px); }
  .hj-header .wp-block-image.hj-logo {
    flex:0 0 clamp(80px,28vw,108px);
    width:clamp(80px,28vw,108px);
    max-width:35vw;
    min-width:0;
  }
  .hj-header .wp-block-image.hj-logo a { display:block; width:100%; max-width:100%; }
  .hj-header .wp-block-image.hj-logo img {
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    aspect-ratio:2048 / 1181;
    object-fit:contain;
    object-position:left center;
  }
  .hj-header .hj-nav { min-width:0; max-width:100%; }
}

/* Block 4: one valid leaf shares a baseline with the existing caption. */
.hj-wide-image .wp-block-cover__inner-container > .hj-wide-content {
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  flex-direction:row;
  align-items:flex-end;
  justify-content:flex-start;
  gap:12px;
  padding:0 max(40px,calc((100% - 1160px)/2)) 40px;
  box-sizing:border-box;
  pointer-events:none;
}
.hj-wide-image .wp-block-cover__inner-container > .hj-wide-content > .hj-wide-leaf {
  position:static;
  inset:auto;
  flex:0 0 25px;
  width:25px;
  height:25px;
  margin:0;
  opacity:.9;
  pointer-events:none;
}
.hj-wide-image .wp-block-cover__inner-container > .hj-wide-content > .hj-wide-leaf img {
  display:block;
  width:25px;
  height:25px;
  object-fit:contain;
}
.hj-wide-image .wp-block-cover__inner-container > .hj-wide-content > .hj-wide-note {
  position:static;
  inset:auto;
  flex:0 1 auto;
  min-width:0;
  max-width:100%;
  margin:0;
  color:var(--paper);
  font:italic clamp(18px,2vw,25px) var(--serif);
  pointer-events:auto;
}
@media (max-width:800px) {
  .hj-wide-image .wp-block-cover__inner-container > .hj-wide-content { gap:12px; padding:0 22px 24px; }
  .hj-wide-image .wp-block-cover__inner-container > .hj-wide-content > .hj-wide-note { max-width:calc(100% - 37px); }
}

/* Over Jet correction v1.6.1: two sibling groups, with the editable vertical
   paragraph overlaid on the right edge of the native Cover image. */
.hj-about { align-items:center; }
.hj-about > .hj-about-media-group { min-width:0; align-self:center; }
.hj-about > .hj-text,
.hj-about > .hj-section.hj-text { position:static; transform:none; padding:0; background:transparent; z-index:auto; }
.hj-about > .hj-section.hj-text { min-width:0; }
.hj-about-media-group .wp-block-cover.hj-about-media { width:100%; max-width:360px; }
@media(max-width:800px){
  .hj-about > .hj-about-media-group { width:100%; }
  .hj-about-media-group .wp-block-cover.hj-about-media { max-width:340px; }
  .hj-about > .hj-section.hj-text { padding:0; }
}

/* Block 3: give the text subgroup just enough responsive width for the intended line breaks. */
@media (min-width:1000px) {
  .hj-treatments {
    grid-template-columns:minmax(clamp(260px,28vw,425px),.72fr) minmax(0,1.28fr);
  }
  .hj-treatments .hj-section h2 {
    max-width:clamp(260px,28vw,425px);
  }
  .hj-treatments .hj-section .hj-muted {
    max-width:300px;
  }
}

/* Mobile Gutenberg menu: compact dropdown using the site's own palette/type. */
@media (max-width:599px) {
  .hj-header {
    position:relative;
  }
  .hj-header .hj-nav {
    margin-left:auto;
    align-items:flex-end;
  }
  .hj-nav .wp-block-navigation__responsive-container-open {
    align-self:flex-end;
    margin-left:auto;
    margin-right:0;
  }
  .hj-nav .wp-block-navigation__responsive-container.is-menu-open {
    position:absolute !important;
    top:100% !important;
    right:0 !important;
    bottom:auto !important;
    left:auto !important;
    display:block !important;
    width:max-content !important;
    min-width:0 !important;
    max-width:calc(100vw - 24px) !important;
    height:auto !important;
    max-height:calc(100vh - 96px) !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    box-sizing:border-box !important;
    padding:44px 12px 12px !important;
    border:1px solid var(--line);
    background-color:var(--sand) !important;
    color:var(--deep) !important;
    font-family:var(--sans) !important;
    line-height:1.65 !important;
    z-index:1000 !important;
  }
  .hj-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    display:flex !important;
    flex-direction:column;
    align-items:flex-end !important;
    width:max-content;
    max-width:100%;
    padding:0;
    background:transparent !important;
  }
  .hj-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    align-self:flex-end;
    width:max-content;
    max-width:100%;
    margin:0;
    padding:0;
  }
  .hj-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
  .hj-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    max-width:100%;
    color:var(--deep) !important;
    font-family:var(--sans) !important;
    font-size:14px !important;
    font-weight:400 !important;
    line-height:1.65 !important;
    text-align:right;
    white-space:normal;
  }
  .hj-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    padding:8px 4px;
    text-decoration:none;
  }
  .hj-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-button {
    margin-block-start:14px;
  }
}


/* Holos Jet 1.6.6: Block 4 photo (native 2:1) above a compact green caption shelf.
   The section and image retain the same fluid 2:1 image scaling on all widths. */
.hj-wide-image.wp-block-cover {
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  width:100%;
  min-height:0 !important;
  height:auto !important;
  aspect-ratio:auto !important;
  padding:0;
  overflow:hidden;
  background:var(--green);
}
.hj-wide-image.wp-block-cover > .wp-block-cover__image-background {
  position:relative !important;
  inset:auto !important;
  display:block;
  flex:0 0 auto;
  width:100% !important;
  height:auto !important;
  aspect-ratio:2 / 1;
  object-fit:contain !important;
  object-position:center;
}
.hj-wide-image.wp-block-cover > .wp-block-cover__background {
  position:absolute;
  inset:0;
  z-index:0;
  background-color:transparent !important;
  opacity:0 !important;
}
.hj-wide-image.wp-block-cover > .wp-block-cover__inner-container {
  position:relative;
  inset:auto;
  z-index:1;
  flex:0 0 auto;
  width:100%;
  max-width:none;
  height:auto;
  margin:0;
  padding:0;
}
.hj-wide-image .wp-block-cover__inner-container > .hj-wide-content {
  position:relative !important;
  inset:auto !important;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:clamp(8px,1vw,12px);
  box-sizing:border-box;
  width:100%;
  height:auto;
  margin:0;
  padding:clamp(5px,.75vw,10px) max(40px,calc((100% - 1160px)/2));
  pointer-events:auto;
}
.hj-wide-image .wp-block-cover__inner-container > .hj-wide-content > .hj-wide-leaf {
  position:static;
  inset:auto;
  flex:0 0 clamp(16px,1.75vw,25px);
  width:clamp(16px,1.75vw,25px);
  height:clamp(16px,1.75vw,25px);
  margin:0;
  opacity:.9;
}
.hj-wide-image .wp-block-cover__inner-container > .hj-wide-content > .hj-wide-leaf img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.hj-wide-image .wp-block-cover__inner-container > .hj-wide-content > .hj-wide-note {
  position:static;
  inset:auto;
  flex:0 1 auto;
  min-width:0;
  max-width:100%;
  margin:0;
  color:var(--paper);
  font:italic clamp(12px,1.74vw,25px)/1.22 var(--serif);
  white-space:normal;
}
.hj-wide-image:after { content:none !important; }
@media (max-width:800px) {
  .hj-wide-image.wp-block-cover { min-height:0 !important; height:auto !important; }
  .hj-wide-image .wp-block-cover__inner-container > .hj-wide-content {
    gap:clamp(6px,2vw,9px);
    padding:clamp(4px,1.2vw,7px) 22px;
  }
  .hj-wide-image .wp-block-cover__inner-container > .hj-wide-content > .hj-wide-leaf {
    flex-basis:clamp(14px,4.2vw,20px);
    width:clamp(14px,4.2vw,20px);
    height:clamp(14px,4.2vw,20px);
  }
  .hj-wide-image .wp-block-cover__inner-container > .hj-wide-content > .hj-wide-note {
    font-size:clamp(11px,3.2vw,16px);
    line-height:1.2;
  }
}
/* Keep the native text arrow monochrome and inherited through all link states. */
.hj-hero .hj-buttons .wp-block-button__link .hj-button-arrow,
.hj-hero .hj-buttons .wp-block-button__link .hj-button-arrow-up,
.hj-hero .hj-buttons .wp-block-button__link .hj-button-arrow-down,
.hj-hero .hj-buttons .wp-block-button__link .hj-button-arrow--up,
.hj-hero .hj-buttons .wp-block-button__link .hj-button-arrow--down,
.hj-hero .hj-buttons .wp-block-button__link:hover .hj-button-arrow,
.hj-hero .hj-buttons .wp-block-button__link:focus .hj-button-arrow,
.hj-hero .hj-buttons .wp-block-button__link:focus-visible .hj-button-arrow,
.hj-hero .hj-buttons .wp-block-button__link:active .hj-button-arrow {
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
  font-family:Arial, Helvetica, sans-serif !important;
  font-variant-emoji:text;
  text-decoration:none !important;
}
@media (max-width:800px) {
  .hj-wide-image.wp-block-cover { min-height:0 !important; height:auto !important; }
  .hj-wide-image .wp-block-cover__inner-container > .hj-wide-content {
    padding:0 22px clamp(12px,6vw,24px);
    gap:clamp(6px,2vw,9px);
  }
  .hj-wide-image .wp-block-cover__inner-container > .hj-wide-content > .hj-wide-note {
    font-size:clamp(11px,3.2vw,16px);
    line-height:1.2;
    max-width:calc(100% - 28px);
  }
  .hj-wide-image .wp-block-cover__inner-container > .hj-wide-content > .hj-wide-leaf,
  .hj-wide-image .wp-block-cover__inner-container > .hj-wide-content > .hj-wide-leaf img {
    width:clamp(14px,4.2vw,20px);
    height:clamp(14px,4.2vw,20px);
    flex-basis:clamp(14px,4.2vw,20px);
  }
}


/* Theme-owned footer social block: visual editor uses the same icon artwork and row as the site. */
.hj-social-links .block-editor-inner-blocks,
.hj-social-links .block-editor-block-list__layout { display:flex; align-items:center; gap:17px; margin:0; }
.hj-social-links .block-editor-block-list__layout > .wp-block-holos-jet-social-icon { margin:0; }
.hj-social-links .block-list-appender { display:none !important; }
.hj-social-icon-editable { display:inline-flex; width:24px; height:24px; align-items:center; justify-content:center; color:var(--green); }


/* Holos Jet 1.6.7 — gerichte correcties Blok 4 en Blok 5. */
/* Block 4: retain the full-width 2:1 image; use sand only as its backing color. */
.hj-wide-image.wp-block-cover {
  position:relative;
  display:block;
  box-sizing:border-box;
  width:100%;
  min-height:0 !important;
  height:auto !important;
  aspect-ratio:auto !important;
  padding:0;
  overflow:hidden;
  background:var(--sand) !important;
  border:0 !important;
  box-shadow:none !important;
}
.hj-wide-image.wp-block-cover > .wp-block-cover__image-background {
  position:relative !important;
  inset:auto !important;
  display:block;
  width:100% !important;
  max-width:100%;
  height:auto !important;
  object-fit:contain !important;
  object-position:center;
}
.hj-wide-image.wp-block-cover > .wp-block-cover__background {
  z-index:0;
  background-color:transparent !important;
  opacity:0 !important;
}
.hj-wide-image.wp-block-cover > .wp-block-cover__inner-container {
  position:absolute !important;
  inset:0 !important;
  z-index:2;
  display:block;
  width:100%;
  max-width:none;
  height:100%;
  margin:0;
  padding:0;
}
.hj-wide-image .wp-block-cover__inner-container > .hj-wide-content {
  position:absolute !important;
  inset:0 !important;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  gap:clamp(6px,1vw,12px);
  box-sizing:border-box;
  width:100%;
  height:100%;
  margin:0;
  padding:0 max(40px,calc((100% - 1160px)/2)) clamp(5px,.7vw,11px);
  pointer-events:none;
}
.hj-wide-image .wp-block-cover__inner-container > .hj-wide-content > .hj-wide-leaf {
  position:static;
  inset:auto;
  flex:0 0 clamp(14px,1.75vw,25px);
  width:clamp(14px,1.75vw,25px);
  height:clamp(14px,1.75vw,25px);
  margin:0;
  opacity:.9;
}
.hj-wide-image .wp-block-cover__inner-container > .hj-wide-content > .hj-wide-leaf img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.hj-wide-image .wp-block-cover__inner-container > .hj-wide-content > .hj-wide-note {
  position:static;
  inset:auto;
  flex:0 1 auto;
  min-width:0;
  max-width:100%;
  margin:0;
  color:var(--paper);
  font:italic clamp(11px,1.74vw,25px)/1.2 var(--serif);
  white-space:normal;
}
.hj-wide-image:after { content:none !important; }
/* The only rule is the ruled top edge of the following Over Jet section. */
#over.hj-about.hj-ruled { border-top:0 !important; }
@media (max-width:800px) {
  .hj-wide-image.wp-block-cover { min-height:0 !important; height:auto !important; }
  .hj-wide-image .wp-block-cover__inner-container > .hj-wide-content {
    gap:clamp(5px,1.5vw,8px);
    padding:0 22px clamp(5px,1.4vw,7px);
  }
  .hj-wide-image .wp-block-cover__inner-container > .hj-wide-content > .hj-wide-leaf {
    flex-basis:clamp(12px,4vw,18px);
    width:clamp(12px,4vw,18px);
    height:clamp(12px,4vw,18px);
  }
  .hj-wide-image .wp-block-cover__inner-container > .hj-wide-content > .hj-wide-note {
    font-size:clamp(11px,3.2vw,16px);
    line-height:1.2;
  }
}
/* Block 5: rotate the horizontal caption once, and pin its transformed box to the photo's top-right corner. */
.hj-about-media > .wp-block-cover__inner-container > .hj-about-vertical-caption {
  position:absolute !important;
  top:clamp(18px,1.5vw,22px) !important;
  right:calc(clamp(14px,1.2vw,17px) + 1.35em) !important;
  width:max-content;
  max-width:none;
  margin:0;
  white-space:nowrap;
  writing-mode:horizontal-tb !important;
  transform:rotate(270deg) !important;
  transform-origin:top right !important;
}
@media (max-width:800px) {
  .hj-about-media > .wp-block-cover__inner-container > .hj-about-vertical-caption {
    top:18px !important;
    right:calc(14px + 1.35em) !important;
    font-size:9px;
  }
}


/* Block 1 only: add breathing room between the intro copy and its two calls to action. */
.hj-hero .hj-buttons { margin-top:clamp(34px,3.5vw,44px) !important; }


/* Block 5 only: reverse caption reading direction 180° while preserving its visible bounds. */
.hj-about-media > .wp-block-cover__inner-container > .hj-about-vertical-caption {
  right:clamp(14px,1.2vw,17px) !important;
  transform:rotate(90deg) translateX(100%) !important;
}
@media (max-width:800px) {
  .hj-about-media > .wp-block-cover__inner-container > .hj-about-vertical-caption {
    right:14px !important;
    transform:rotate(90deg) translateX(100%) !important;
  }
}


/* Footer-only adjustment: keep legal links fixed and place copyright beside them. */
.hj-footer .hj-footer-legal { position:relative; }
.hj-footer .hj-footer-legal .hj-footer-copyright {
  position:absolute;
  top:18px;
  right:0;
  margin:0 !important;
  align-self:auto;
  color:var(--green);
  font-size:10px;
  letter-spacing:normal;
  line-height:inherit;
  text-align:right;
  white-space:nowrap;
}
.hj-footer .hj-footer-copyright-spacer {
  visibility:hidden !important;
  margin-top:30px !important;
  align-self:flex-end;
  font-size:10px;
}
@media (max-width:800px) {
  .hj-footer .hj-footer-legal .hj-footer-copyright {
    position:static;
    display:block;
    margin:8px 0 0 !important;
    text-align:right;
    white-space:normal;
  }
}


/* Footer logos: the supplied monochrome source images are transparent alpha masks.
   currentColor matches the footer address text exactly. */
.hj-social-icon {
  display:block;
  width:21px;
  height:21px;
  flex:0 0 21px;
  background-color:currentColor;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
}
.hj-social-icon-editable { display:inline-flex; align-items:center; justify-content:center; color:var(--green); }
.hj-social-icon-editable .hj-social-icon { background-color:currentColor; }


/* Responsive header menu: only activates when the existing editable menu no longer fits. */
.hj-header-actions,
.hj-header-mobile-menu { display:none; }
.hj-header.hj-header-compact { position:relative; display:flex; align-items:center; justify-content:space-between; }
.hj-header.hj-header-compact > .hj-logo { flex:0 0 auto; margin-right:auto; }
.hj-header.hj-header-compact > .hj-nav { display:none !important; }
.hj-header.hj-header-compact > .hj-header-actions {
  display:flex; align-items:center; justify-content:flex-end; gap:12px; margin-left:auto;
}
.hj-header-toggle {
  width:42px; height:42px; padding:0; display:inline-flex; align-items:center; justify-content:center;
  border:0; background:transparent; color:var(--deep); cursor:pointer;
}
.hj-header-toggle-icon { width:22px; height:16px; display:flex; flex-direction:column; justify-content:space-between; position:relative; }
.hj-header-toggle-icon span { display:block; width:22px; height:1.5px; border-radius:1px; background:currentColor; transition:transform .18s ease,top .18s ease; transform-origin:center; }
.hj-header-menu-open .hj-header-toggle-icon span:first-child { transform:translateY(7.25px) rotate(45deg); }
.hj-header-menu-open .hj-header-toggle-icon span:last-child { transform:translateY(-7.25px) rotate(-45deg); }
.hj-header.hj-header-compact .hj-header-actions .wp-block-button { margin:0; flex:0 0 auto; }
.hj-header.hj-header-compact .hj-header-actions .wp-block-button__link {
  border:1px solid var(--green); background:transparent; color:var(--deep); border-radius:0;
  padding:8px 12px; font-size:14px; white-space:nowrap; text-decoration:none;
}
.hj-header.hj-header-compact .hj-header-actions .wp-block-button__link:hover { background:var(--green); color:var(--paper); }
.hj-header.hj-header-compact > .hj-header-mobile-menu:not([hidden]) {
  display:block; position:absolute; z-index:1000; top:100%; right:0; width:min(300px,calc(100vw - 40px));
  padding:18px 22px; background:var(--paper); border:1px solid var(--line); box-shadow:0 8px 22px rgba(49,69,49,.12);
}
.hj-header-mobile-menu-list { display:flex; flex-direction:column; align-items:stretch; gap:8px; }
.hj-header-mobile-link { display:block; padding:10px 0; color:var(--deep); font:400 15px var(--sans); text-decoration:none; border-bottom:1px solid var(--line); }
.hj-header-mobile-link:last-child { border-bottom:0; }
.hj-header-mobile-link:hover,.hj-header-mobile-link:focus-visible { color:var(--green); }


/* Mobile header refinement: equal bars and original CTA at the end of the open menu. */
.hj-header-toggle-icon span { height:2px; }
.hj-header-menu-open .hj-header-toggle-icon span:first-child { transform:translateY(7px) rotate(45deg); }
.hj-header-menu-open .hj-header-toggle-icon span:last-child { transform:translateY(-7px) rotate(-45deg); }
.hj-header-mobile-cta { display:flex; justify-content:flex-start; margin-top:8px; }
.hj-header-mobile-cta .wp-block-button { margin:0; }
.hj-header-mobile-cta .wp-block-button__link {
  border:1px solid var(--green); background:transparent; color:var(--deep); border-radius:0;
  padding:8px 12px; font-size:14px; white-space:nowrap; text-decoration:none;
}
.hj-header-mobile-cta .wp-block-button__link:hover { background:var(--green); color:var(--paper); }


/* Homepage block 7 — restore spacing and the pale-green single mark. */
.hj-contact > .wp-block-group:first-child {
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:clamp(20px,2vw,30px);
}
.hj-contact > .wp-block-group:first-child > .hj-eyebrow,
.hj-contact > .wp-block-group:first-child > .wp-block-heading,
.hj-contact > .wp-block-group:first-child > p,
.hj-contact > .wp-block-group:first-child > .wp-block-buttons {
  margin:0 !important;
  transform:none !important;
}
.hj-contact-mark {
  display:block !important;
  opacity:.16;
  width:min(340px,32vw);
  margin-right:7%;
}
.hj-contact-mark img {
  display:block;
  width:100%;
  filter:sepia(1) saturate(.45) brightness(2.3);
}
@media(max-width:800px) {
  .hj-contact { flex-direction:column !important; align-items:stretch !important; }
  .hj-contact > .wp-block-group:first-child { width:100%; min-width:0; gap:22px; }
  .hj-contact-mark {
    display:block !important;
    width:min(220px,70vw);
    max-width:100%;
    margin:0 auto;
    align-self:center;
  }
}

/* Homepage block 1: the first arrow points diagonally down-right in the existing icon style. */
.hj-hero .hj-buttons a[href="#werkwijze"] .hj-button-arrow {
  transform:rotate(90deg);
  transition:transform .24s cubic-bezier(.22,.61,.36,1);
}
.hj-hero .hj-buttons a[href="#werkwijze"]:hover .hj-button-arrow,
.hj-hero .hj-buttons a[href="#werkwijze"]:focus-visible .hj-button-arrow,
.hj-hero .hj-buttons a[href="#werkwijze"]:active .hj-button-arrow {
  transform:translate(3px,3px) rotate(90deg);
}
.hj-hero .hj-buttons a[href="#behandelingen"] .hj-button-arrow {
  transform:rotate(135deg);
  transition:transform .24s cubic-bezier(.22,.61,.36,1);
}
.hj-hero .hj-buttons a[href="#behandelingen"]:hover .hj-button-arrow,
.hj-hero .hj-buttons a[href="#behandelingen"]:focus-visible .hj-button-arrow,
.hj-hero .hj-buttons a[href="#behandelingen"]:active .hj-button-arrow {
  transform:translateX(4px) rotate(135deg);
}
/* On small screens both arrows stay still; Safari/iOS do not depend on animation support. */
@media (hover:none) and (pointer:coarse) {
  .hj-hero .hj-buttons a[href="#werkwijze"] .hj-button-arrow,
  .hj-hero .hj-buttons a[href="#werkwijze"]:hover .hj-button-arrow,
  .hj-hero .hj-buttons a[href="#werkwijze"]:focus-visible .hj-button-arrow,
  .hj-hero .hj-buttons a[href="#werkwijze"]:active .hj-button-arrow {
    transform:rotate(90deg) !important;
    transition:none !important;
  }
  .hj-hero .hj-buttons a[href="#behandelingen"] .hj-button-arrow,
  .hj-hero .hj-buttons a[href="#behandelingen"]:hover .hj-button-arrow,
  .hj-hero .hj-buttons a[href="#behandelingen"]:focus-visible .hj-button-arrow,
  .hj-hero .hj-buttons a[href="#behandelingen"]:active .hj-button-arrow {
    transform:rotate(135deg) !important;
    transition:none !important;
  }
}
/* Treatment numbers are inset slightly on tablet and narrow viewport layouts. */
@media (max-width:1100px) {
  .hj-treatment-list > .hj-treatment {
    padding-left:18px !important;
    padding-right:18px !important;
  }
}

/* v1.7.7 legacy transform support; current visible arrows are rendered as SVGs below. */
.hj-hero .hj-buttons a[href="#werkwijze"] .hj-button-arrow--down-right { transform:none !important; }
.hj-hero .hj-buttons a[href="#werkwijze"]:hover .hj-button-arrow--down-right,
.hj-hero .hj-buttons a[href="#werkwijze"]:focus-visible .hj-button-arrow--down-right,
.hj-hero .hj-buttons a[href="#werkwijze"]:active .hj-button-arrow--down-right { transform:translate(3px,3px) !important; }
.hj-hero .hj-buttons a[href="#werkwijze"] .hj-button-arrow-up,
.hj-hero .hj-buttons a[href="#werkwijze"] .hj-button-arrow--up { transform:rotate(90deg) !important; }
.hj-hero .hj-buttons a[href="#werkwijze"]:hover .hj-button-arrow-up,
.hj-hero .hj-buttons a[href="#werkwijze"]:focus-visible .hj-button-arrow-up,
.hj-hero .hj-buttons a[href="#werkwijze"]:active .hj-button-arrow-up,
.hj-hero .hj-buttons a[href="#werkwijze"]:hover .hj-button-arrow--up,
.hj-hero .hj-buttons a[href="#werkwijze"]:focus-visible .hj-button-arrow--up,
.hj-hero .hj-buttons a[href="#werkwijze"]:active .hj-button-arrow--up { transform:translate(3px,3px) rotate(90deg) !important; }
@media (hover:none) and (pointer:coarse) {
  .hj-hero .hj-buttons a[href="#werkwijze"] .hj-button-arrow--down-right,
  .hj-hero .hj-buttons a[href="#werkwijze"]:hover .hj-button-arrow--down-right,
  .hj-hero .hj-buttons a[href="#werkwijze"]:focus-visible .hj-button-arrow--down-right,
  .hj-hero .hj-buttons a[href="#werkwijze"]:active .hj-button-arrow--down-right { transform:none !important; transition:none !important; }
  .hj-hero .hj-buttons a[href="#werkwijze"] .hj-button-arrow-up,
  .hj-hero .hj-buttons a[href="#werkwijze"]:hover .hj-button-arrow-up,
  .hj-hero .hj-buttons a[href="#werkwijze"]:focus-visible .hj-button-arrow-up,
  .hj-hero .hj-buttons a[href="#werkwijze"]:active .hj-button-arrow-up,
  .hj-hero .hj-buttons a[href="#werkwijze"] .hj-button-arrow--up,
  .hj-hero .hj-buttons a[href="#werkwijze"]:hover .hj-button-arrow--up,
  .hj-hero .hj-buttons a[href="#werkwijze"]:focus-visible .hj-button-arrow--up,
  .hj-hero .hj-buttons a[href="#werkwijze"]:active .hj-button-arrow--up { transform:rotate(90deg) !important; transition:none !important; }
}

/* Keep the legacy second arrow still on touch devices; its desktop hover remains intact. */
@media (hover:none) and (pointer:coarse) {
  .hj-hero .hj-buttons a[href="#behandelingen"] .hj-button-arrow-down,
  .hj-hero .hj-buttons a[href="#behandelingen"]:hover .hj-button-arrow-down,
  .hj-hero .hj-buttons a[href="#behandelingen"]:focus-visible .hj-button-arrow-down,
  .hj-hero .hj-buttons a[href="#behandelingen"]:active .hj-button-arrow-down,
  .hj-hero .hj-buttons a[href="#behandelingen"] .hj-button-arrow--down,
  .hj-hero .hj-buttons a[href="#behandelingen"]:hover .hj-button-arrow--down,
  .hj-hero .hj-buttons a[href="#behandelingen"]:focus-visible .hj-button-arrow--down,
  .hj-hero .hj-buttons a[href="#behandelingen"]:active .hj-button-arrow--down {
    transform:rotate(135deg) !important;
    transition:none !important;
  }
}

/* v1.7.9: arrows are inline SVG strokes so Safari/iOS never renders them as emoji. */
.hj-inline-arrow {
  display:inline-block;
  width:14px;
  height:14px;
  margin-left:.38em;
  vertical-align:-.14em;
  color:currentColor;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:0 0 auto;
}
.hj-carousel-controls .hj-arrow .hj-inline-arrow {
  width:16px;
  height:16px;
  margin:0;
  vertical-align:middle;
}

/* Submenu: restrained paper panel, existing green/sand colors and type. */
.hj-nav .hj-nav-has-submenu {
  position:relative;
  display:flex;
  align-items:center;
  gap:3px;
}
.hj-nav .hj-nav-submenu-toggle,
.hj-header-mobile-submenu-toggle {
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:36px;
  padding:6px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--deep);
  cursor:pointer;
}
.hj-nav .hj-nav-submenu-toggle:hover,
.hj-nav .hj-nav-submenu-toggle:focus-visible,
.hj-header-mobile-submenu-toggle:hover,
.hj-header-mobile-submenu-toggle:focus-visible { color:var(--green); }
.hj-nav-chevron {
  display:block;
  width:13px;
  height:13px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .18s ease;
}
.hj-nav-has-submenu.is-submenu-open > .hj-nav-submenu-toggle .hj-nav-chevron,
.hj-header-mobile-item--submenu.is-submenu-open > .hj-header-mobile-submenu-toggle .hj-nav-chevron { transform:rotate(180deg); }
.hj-nav .hj-nav-submenu {
  position:absolute;
  z-index:1100;
  top:100%;
  left:0;
  display:grid;
  grid-auto-rows:auto;
  min-width:245px;
  max-width:min(320px,calc(100vw - 32px));
  margin:0;
  padding:8px 16px;
  list-style:none;
  border:1px solid var(--line);
  background:var(--sand);
  box-shadow:0 8px 22px rgba(49,69,49,.12);
}
.hj-nav .hj-nav-submenu[hidden],
.hj-header-mobile-submenu[hidden] { display:none !important; }
.hj-nav .hj-nav-has-submenu:hover > .hj-nav-submenu,
.hj-nav .hj-nav-has-submenu:focus-within > .hj-nav-submenu,
.hj-nav .hj-nav-has-submenu.is-submenu-open > .hj-nav-submenu { display:grid; }
.hj-nav .hj-nav-submenu-item { display:block; margin:0; padding:0; }
.hj-nav .hj-nav-submenu-link {
  display:block;
  padding:8px 2px;
  border-bottom:1px solid var(--line);
  color:var(--deep);
  font:400 13px/1.5 var(--sans);
  white-space:nowrap;
}
.hj-nav .hj-nav-submenu-item:last-child > .hj-nav-submenu-link { border-bottom:0; }
.hj-nav .hj-nav-submenu-link:hover,
.hj-nav .hj-nav-submenu-link:focus-visible,
.hj-nav .hj-nav-submenu-link.hj-link-pending { color:var(--green); }
.hj-link-pending { cursor:default; }

/* Responsive header: use the existing compact menu throughout tablet widths. */
.hj-header-mobile-item--submenu {
  display:grid;
  grid-template-columns:minmax(0,1fr) 34px;
  align-items:center;
  border-bottom:1px solid var(--line);
}
.hj-header-mobile-parent-link { border-bottom:0; }
.hj-header-mobile-submenu-toggle { width:34px; height:40px; }
.hj-header-mobile-submenu {
  grid-column:1 / -1;
  display:flex;
  flex-direction:column;
  margin:0 0 6px;
  padding:0 0 0 14px;
  list-style:none;
  border-left:1px solid var(--line);
}
.hj-header-mobile-submenu-item { margin:0; padding:0; }
.hj-header-mobile-submenu-link {
  display:block;
  padding:7px 8px;
  color:var(--deep);
  font:400 13px/1.5 var(--sans);
  text-decoration:none;
}
.hj-header-mobile-submenu-link:hover,
.hj-header-mobile-submenu-link:focus-visible { color:var(--green); }
.hj-header-mobile-submenu-link.hj-link-pending { color:var(--green); }
.hj-header.hj-header-compact > .hj-header-actions { gap:10px; }
.hj-header.hj-header-compact > .hj-header-actions > .wp-block-button { margin:0; flex:0 0 auto; }
.hj-header.hj-header-compact > .hj-header-actions > .wp-block-button .wp-block-button__link {
  border:1px solid var(--green);
  background:transparent;
  color:var(--deep);
  border-radius:0;
  padding:8px 12px;
  font-size:14px;
  white-space:nowrap;
}
.hj-header.hj-header-compact > .hj-header-actions > .wp-block-button .wp-block-button__link:hover { background:var(--green); color:var(--paper); }

/* Keep the button dimensions and placement; only soften the two strokes/X. */
.hj-header-toggle-icon span { height:1px; }

/* Menu 1 integration: keep the existing submenu presentation, but remove the
   tablet/mobile vertical rule as requested. */
@media (max-width: 800px) {
  .hj-header-mobile-submenu { border-left:0 !important; }
}

/* Classic Menu 1 output uses a list; retain the approved desktop alignment. */
.hj-nav > .hj-menu { display:flex; align-items:center; gap:clamp(18px,2.6vw,42px); list-style:none; margin:0; padding:0; }
.hj-nav > .hj-menu > li { list-style:none; }

/* v1.8.4: consistent, theme-owned social artwork. No alpha-mask uploads. */
.hj-social-links .hj-social-link,
.editor-styles-wrapper .hj-social-links .hj-social-icon-editable {
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; min-width:40px; min-height:40px;
  padding:0; border:0; background:transparent; border-radius:10px;
  line-height:0; text-decoration:none;
}
.hj-social-links .hj-social-artwork { display:block; width:40px!important; height:40px!important; max-width:none!important; object-fit:contain; }
.hj-social-links { display:flex; align-items:center; flex-wrap:wrap; gap:10px!important; }
.hj-social-links .hj-social-link:focus-visible { outline:2px solid #546a4b; outline-offset:3px; }
@media(max-width:800px){.hj-social-links .hj-social-link,.editor-styles-wrapper .hj-social-links .hj-social-icon-editable{width:40px;height:40px;min-width:40px;min-height:40px}}

/* v1.8.6 — accessible sitewide back-to-top button */
.hj-back-to-top{position:fixed;right:clamp(16px,3vw,30px);bottom:clamp(18px,3vw,30px);bottom:calc(clamp(18px,3vw,30px) + env(safe-area-inset-bottom,0px));z-index:900;width:44px;height:44px;padding:0;display:grid;place-items:center;background:#546a4b;color:#efe6db;border:1px solid rgba(239,230,219,.45);border-radius:12px;box-shadow:0 3px 12px rgba(30,45,30,.16);cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(7px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease,background-color .2s ease}
.hj-back-to-top[hidden]{display:none!important}
.hj-back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.hj-back-to-top:hover{background:#465a3f}
.hj-back-to-top:focus-visible{outline:3px solid #a87e5f;outline-offset:3px}
.hj-back-to-top svg{display:block}
@media(max-width:600px){.hj-back-to-top{right:16px;bottom:calc(20px + env(safe-area-inset-bottom,0px));width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.hj-back-to-top{transition:none!important;transform:none!important}}
