/* Final refinements: full retreat art, richer profiles and a visible code. */
.jiv-activity-grid article{background:#edf4e9;height:auto!important;color:#173f35;display:flex;flex-direction:column}
.jiv-activity-grid article>img,
.jiv-retreat-index .jiv-list-card>img{object-fit:contain!important;object-position:center center!important;background:#edf4e9}
.jiv-activity-grid article>img{filter:none!important;height:auto!important;aspect-ratio:4/5}
.jiv-activity-grid article>span{display:none}
.jiv-activity-grid article>div:not(.jiv-card-shade){position:static!important;padding:18px 22px 12px}
.jiv-activity-grid article>a.jiv-card-enter{position:static!important;margin:0 22px 22px;width:auto!important;min-height:46px;flex:0 0 auto}
.jiv-activity-grid img[src*="forest-tinder"],.jiv-retreat-index img[src*="forest-tinder"]{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;transform:none!important;clip-path:none!important}
.jiv-activity-grid article:has(img[src*="forest-tinder"]),.jiv-retreat-index .jiv-list-card:has(img[src*="forest-tinder"]){height:auto!important;max-height:none!important;overflow:visible!important}
.jiv-activity-grid .jiv-card-price{color:#2f6846!important;font-size:30px!important;justify-content:space-between}
.jiv-activity-grid .jiv-card-price small{color:#496b58!important}
.jiv-home-code{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px);align-items:center;padding:78px 9vw;background:#173f35;color:#fff}
.jiv-home-code>div:first-child{border-left:7px solid #9dcf63;padding-left:28px}
.jiv-home-code span{font:900 11px Arial,sans-serif;letter-spacing:.18em;color:#b9df7c}
.jiv-home-code h2{font:900 clamp(38px,5vw,68px)/.93 Arial,sans-serif;letter-spacing:-.045em;margin:16px 0 0;color:#fff}
.jiv-home-code p{font:20px/1.75 Georgia,serif;margin:0 0 28px;color:#f3f7ed}
.jiv-home-code .jiv-line-link{color:#fff;border-color:#b9df7c}
.jiv-metrics>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 30px}
.jiv-metrics p{align-items:flex-start;min-height:58px}
.jiv-metrics p>span{text-align:right;max-width:58%}
.jiv-metrics p .jiv-stars{color:#72a94d;letter-spacing:.06em;white-space:nowrap}
.jiv-metrics p em{display:block;font:700 11px Arial,sans-serif;color:#617064;margin-top:2px}
.jiv-metrics .jiv-metric-value{font:800 13px/1.35 Arial,sans-serif;color:#2f6846}
.jiv-poster-content{margin:54px 0;padding:42px;background:#f4f8ee;border-top:7px solid #69a84f}
.jiv-poster-content>span{font:900 10px Arial,sans-serif;letter-spacing:.16em;color:#2f6846}
.jiv-poster-content h2{margin:12px 0 20px!important;color:#214c36!important}
.jiv-poster-content li{margin:9px 0}
.jiv-language-switch{display:flex;gap:6px;align-items:center;font:900 10px Arial,sans-serif;text-transform:uppercase}
.jiv-language-switch ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.jiv-language-switch li{margin:0}
.jiv-language-switch a,.jiv-language-switch span{display:block;padding:7px 8px;border:1px solid #9fbea9;color:#285b41}
.jiv-language-switch .current-lang a{background:#285b41;color:#fff}
.jiv-code-full ol{counter-reset:jiv-code;list-style:none;padding:0}
.jiv-code-full li{position:relative;padding:0 0 24px 54px;border-bottom:1px solid rgba(255,255,255,.17)}
.jiv-code-full li:before{counter-increment:jiv-code;content:counter(jiv-code,decimal-leading-zero);position:absolute;left:0;top:0;color:#dff58b;font:900 18px Arial,sans-serif}
.jiv-topbar .jiv-menu-toggle{background:#2f6846!important;color:#fff!important;border-radius:0!important}
.jiv-topbar .jiv-menu-toggle span{background:#fff!important}
.jiv-logo{align-items:center!important;height:58px!important}
.jiv-logo>img{align-self:center!important;width:58px!important;height:58px!important;object-fit:contain!important}
.jiv-logo>span{width:156px!important;height:58px!important;min-height:58px!important;display:flex!important;align-self:center!important;justify-content:center!important;align-items:center!important;flex-direction:column!important;font-size:46px!important;line-height:.66!important;padding:0!important;margin:0!important}
.jiv-logo small{display:block!important;width:156px!important;text-align:center!important;font-size:7.5px!important;margin:7px 0 0!important;letter-spacing:.14em!important;line-height:1!important}
.jiv-language-switch li:before,.jiv-language-switch li:after{display:none!important;content:none!important}
.jiv-language-switch li{padding:0!important}
.jiv-retreat-calendar{margin:50px 0;padding:40px;background:linear-gradient(145deg,#173f35,#2f6846);color:#fff}
.jiv-retreat-calendar>span,.jiv-acorn-home span,.jiv-acorn-story>div>span{font:900 10px Arial,sans-serif;letter-spacing:.18em;color:#cce995}
.jiv-retreat-calendar h2{color:#fff!important;margin:10px 0 25px!important}
.jiv-retreat-calendar>div{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.jiv-retreat-calendar article{padding:25px;background:#f7fbf1;color:#173f35;border-top:5px solid #a8d36f}
.jiv-retreat-calendar time{display:block;font:900 24px/1.1 Arial,sans-serif}
.jiv-retreat-calendar small{display:block;margin:9px 0 20px;color:#52705e;font-weight:700}
.jiv-retreat-calendar a{display:inline-block;padding:12px 15px;background:#2f6846;color:#fff;font:900 10px Arial,sans-serif;letter-spacing:.07em}
.jiv-retreat-calendar>p{margin:22px 0 0;color:#e4f1db;font-size:13px}
.jiv-acorn-home,.jiv-acorn-story{display:grid;grid-template-columns:220px minmax(0,1fr);gap:50px;align-items:center;padding:65px 9vw;background:#eef6e7;color:#173f35}
.jiv-acorn-home img,.jiv-acorn-story img{width:180px;max-height:190px;object-fit:contain;margin:auto;filter:drop-shadow(0 15px 18px rgba(22,68,47,.15))}
.jiv-acorn-home span,.jiv-acorn-story>div>span{color:#2f6846}
.jiv-acorn-home h2,.jiv-acorn-story h2{margin:10px 0 18px!important;color:#173f35!important}
.jiv-acorn-home p,.jiv-acorn-story p{font:19px/1.7 Georgia,serif}
.jiv-acorn-story{margin:60px 0;padding:46px;background:#eef6e7}
@media(max-width:900px){
  .jiv-activity-grid article>img{height:auto!important;aspect-ratio:4/5!important}
  .jiv-retreat-index .jiv-list-card>img{height:auto!important;aspect-ratio:auto!important}
  .jiv-home-code{grid-template-columns:1fr;padding:56px 28px;gap:28px}
  .jiv-metrics>div{grid-template-columns:1fr}
  .jiv-metrics p>span{max-width:62%}
  .jiv-topbar{grid-template-columns:minmax(0,1fr) auto auto!important;padding-left:8px!important;padding-right:8px!important;gap:4px!important}
  .jiv-language-switch{order:2}
  .jiv-menu-toggle{order:3!important;width:78px!important}
  .jiv-logo{height:48px!important}.jiv-logo>img{width:48px!important;height:48px!important}
  .jiv-logo>span{width:126px!important;height:48px!important;min-height:48px!important;font-size:36px!important}
  .jiv-logo small{width:126px!important;font-size:6.2px!important;margin-top:6px!important}
  .jiv-retreat-calendar{padding:28px 20px}.jiv-retreat-calendar>div{grid-template-columns:1fr}
  .jiv-acorn-home,.jiv-acorn-story{grid-template-columns:1fr;padding:45px 25px;gap:25px;text-align:center}
  .jiv-acorn-home img,.jiv-acorn-story img{width:120px}
}

/* JIV 2.1 — complete forest palette, editorial cards and full-width Beginning. */
:root{--coral:#4f8f62!important;--brown:#315f49!important;--lime:#b9df78!important}
.jiv-coral,.jiv-card-enter,.jiv-inline-cta,.jiv-retreat-calendar a{background:#347653!important;color:#fff!important}
.jiv-coral:hover,.jiv-card-enter:hover,.jiv-inline-cta:hover,.jiv-retreat-calendar a:hover{background:#1d513e!important}
.jiv-nav-cta{border-color:#4f8f62!important;color:#285b41!important}
.jiv-line-link,.jiv-story-grid a,.jiv-more-row article a{border-color:#78aa57!important}
.jiv-hero-content em,.jiv-intro em,.jiv-section-head em,.jiv-hut-copy em,.jiv-begin-copy em,.jiv-museum em,.jiv-dates em,.jiv-page-cta em,.jiv-story-grid span,.jiv-footer-main button{color:#8fc464!important}
.jiv-activity-grid b,.jiv-more-row span{color:#c9e99c!important}
.jiv-page-content blockquote{border-left-color:#79ad59!important}
.jiv-map-label{background:#4f8f62!important}
.jiv-quote-row blockquote:nth-child(2){border-color:#79ad59!important}
.jiv-logo{height:66px!important;gap:11px!important}
.jiv-logo>img{width:66px!important;height:66px!important}
.jiv-logo>span{width:192px!important;height:66px!important;min-height:66px!important;font-size:56px!important;line-height:.64!important}
.jiv-logo small{width:192px!important;font-size:9px!important;letter-spacing:.145em!important;margin-top:9px!important}
.jiv-retreat-index .jiv-list-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.jiv-retreat-index .jiv-beginning-card{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);grid-template-rows:auto auto auto 1fr auto;padding:0;border:0;background:linear-gradient(135deg,#173f35,#326d4c);color:#fff;min-height:440px}
.jiv-retreat-index .jiv-beginning-card>img{grid-column:1;grid-row:1/7;width:100%;height:100%!important;min-height:440px;object-fit:cover!important}
.jiv-retreat-index .jiv-beginning-card>span,.jiv-retreat-index .jiv-beginning-card>strong,.jiv-retreat-index .jiv-beginning-card>h2,.jiv-retreat-index .jiv-beginning-card>p,.jiv-retreat-index .jiv-beginning-card>b{grid-column:2;margin-left:42px;margin-right:42px}
.jiv-retreat-index .jiv-beginning-card>span{margin-top:48px;color:#c9e99c}.jiv-retreat-index .jiv-beginning-card>strong{font-size:20px;margin-top:10px}.jiv-retreat-index .jiv-beginning-card>h2{font-size:44px;color:#fff;margin-bottom:14px}.jiv-retreat-index .jiv-beginning-card>p{font:19px/1.55 Georgia,serif;min-height:0}.jiv-retreat-index .jiv-beginning-card>b{margin-bottom:45px;color:#dff5bd}
.jiv-icon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:42px 0 56px}
.jiv-icon-grid article{position:relative;padding:30px 28px 28px 76px;background:linear-gradient(145deg,#fff,#f0f7e9);border:1px solid #d9e8d0;box-shadow:0 14px 35px rgba(23,63,53,.07)}
.jiv-icon-grid i{position:absolute;left:24px;top:28px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#2f6846;color:#dff5ad;font:normal 20px Georgia,serif}
.jiv-icon-grid h3{margin:0 0 9px;font:900 18px/1.1 Arial,sans-serif;text-transform:uppercase;color:#214c36}.jiv-icon-grid p{margin:0;font-size:14px;line-height:1.65}
.jiv-page-content>h2:before{content:'✦';display:inline-grid;place-items:center;width:30px;height:30px;margin-right:12px;border-radius:50%;background:#dcedc9;color:#326d4c;font-size:13px;vertical-align:5px}
.jiv-code-only{margin-top:0!important}.jiv-code-only ol{margin:0!important}.jiv-code-only li:last-child{border-bottom:0!important;padding-bottom:0!important}
.jiv-retreat-page .jiv-page-hero>img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;background:#dfead8}
@media(max-width:900px){
 .jiv-logo{height:54px!important;gap:7px!important}.jiv-logo>img{width:54px!important;height:54px!important}.jiv-logo>span{width:150px!important;height:54px!important;min-height:54px!important;font-size:43px!important}.jiv-logo small{width:150px!important;font-size:7px!important;margin-top:7px!important}
 .jiv-retreat-index .jiv-list-grid{grid-template-columns:1fr}.jiv-retreat-index .jiv-beginning-card{grid-template-columns:1fr;display:block;min-height:0}.jiv-retreat-index .jiv-beginning-card>img{min-height:0;height:auto!important}.jiv-retreat-index .jiv-beginning-card>span,.jiv-retreat-index .jiv-beginning-card>strong,.jiv-retreat-index .jiv-beginning-card>h2,.jiv-retreat-index .jiv-beginning-card>p,.jiv-retreat-index .jiv-beginning-card>b{display:block;margin-left:25px;margin-right:25px}.jiv-retreat-index .jiv-beginning-card>span{margin-top:28px}.jiv-retreat-index .jiv-beginning-card>b{padding-bottom:30px;margin-bottom:0}.jiv-icon-grid{grid-template-columns:1fr}
}
@media(max-width:520px){.jiv-logo>span{width:126px!important;font-size:38px!important}.jiv-logo small{width:126px!important;font-size:5.8px!important}.jiv-language-switch a,.jiv-language-switch span{padding:6px!important}.jiv-menu-toggle{width:70px!important}}

/* JIV 2.1.1 — alignment and complete inherited-colour cleanup. */
.jiv-logo>span{transform:translateY(5px)!important}
.jiv-retreat-index .jiv-beginning-card{grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr)!important}
.jiv-retreat-index .jiv-beginning-card>span{font-size:16px!important;letter-spacing:.12em!important;color:#dff5ad!important}
.jiv-retreat-index .jiv-beginning-card>h2{font-size:46px!important;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}
.jiv-retreat-index .jiv-beginning-card>strong{color:#b9df78!important}
.jiv-retreat-index .jiv-list-card:not(.jiv-beginning-card)>img,
.jiv-retreat-index .jiv-list-card:not(.jiv-beginning-card)>img[src*="forest-tinder"]{display:block!important;width:100%!important;height:auto!important;aspect-ratio:4/5!important;object-fit:cover!important;object-position:center!important;max-height:none!important;transform:none!important;clip-path:none!important}
.jiv-retreat-index .jiv-list-card:not(.jiv-beginning-card){display:flex!important;flex-direction:column!important;height:100%!important;overflow:hidden!important}
.jiv-retreat-index .jiv-list-card:not(.jiv-beginning-card)>p{flex:1}
body.jiv-home a:not(.jiv-button):not(.jiv-card-enter):not(.jiv-inline-cta){color:inherit}
body.jiv-home .jiv-page-content a:not(.jiv-button):not(.jiv-card-enter):not(.jiv-inline-cta),body.jiv-home .jiv-footer a,body.jiv-home .jiv-topbar nav a{color:#245b3d!important}
body.jiv-home .jiv-footer a{color:#e7f0e8!important}
body.jiv-home .jiv-topbar nav a:hover,body.jiv-home .jiv-page-content a:not(.jiv-button):not(.jiv-card-enter):not(.jiv-inline-cta):hover{color:#6f9f45!important}
body.jiv-home .jiv-button,body.jiv-home .jiv-card-enter,body.jiv-home button[type="submit"],body.jiv-home input[type="submit"]{background:#347653!important;border-color:#347653!important;color:#fff!important;box-shadow:none!important}
body.jiv-home .jiv-button:hover,body.jiv-home .jiv-card-enter:hover,body.jiv-home button[type="submit"]:hover,body.jiv-home input[type="submit"]:hover{background:#1d513e!important;border-color:#1d513e!important;color:#fff!important}
body.jiv-home .jiv-application-form button{outline-color:#347653!important}
body.jiv-home .jiv-footer-main form button{background:#347653!important;color:#dff5ad!important;border:0!important}
body.jiv-home .jiv-footer-logo strong{color:#b9df78!important}
@media(max-width:900px){.jiv-logo>span{transform:translateY(4px)!important}.jiv-retreat-index .jiv-beginning-card{display:block!important}.jiv-retreat-index .jiv-beginning-card>h2{white-space:normal!important;font-size:39px!important}}

/* JIV 2.1.2 — readable Beginning copy and explicit language contrast. */
.jiv-retreat-index .jiv-beginning-card>h2{color:#fff!important}
.jiv-retreat-index .jiv-beginning-card>p{color:#f5faef!important;font:20px/1.65 Georgia,serif!important;max-width:660px!important}
.jiv-retreat-index .jiv-beginning-card>b{color:#fff!important;background:rgba(255,255,255,.1)!important;border-left:4px solid #b9df78!important;padding:17px 20px!important;margin-top:22px!important}
.jiv-language-switch li.current-lang>a,.jiv-language-switch li.current-lang>span,.jiv-language-switch .current-lang a,.jiv-language-switch .current-lang span{background:#285b41!important;border-color:#285b41!important;color:#fff!important}
.jiv-language-switch li:not(.current-lang)>a,.jiv-language-switch li:not(.current-lang)>span{background:#fff!important;border-color:#9fbea9!important;color:#111!important}
@media(max-width:900px){.jiv-retreat-index .jiv-beginning-card>p{font-size:17px!important}.jiv-retreat-index .jiv-beginning-card>b{margin-bottom:0!important}}
/* Compact Beginning card: no empty letterbox space around the landscape photo. */
.jiv-activity-grid .jiv-beginning-card>img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:cover!important;object-position:center!important;background:transparent!important}
.jiv-activity-grid .jiv-beginning-card>div:not(.jiv-card-shade){padding-top:22px!important}

/* JIV 2.1.4 — white labels on dark filled buttons. */
body.jiv-home .wp-block-button__link,
body.jiv-home a.jiv-button,
body.jiv-home a.jiv-card-enter,
body.jiv-home a.jiv-nav-cta,
body.jiv-home button[type="submit"],
body.jiv-home input[type="submit"],
body.jiv-home .jiv-cookie button,
body.jiv-home .jiv-footer-main form button{color:#fff!important}

/* Ensure WordPress button labels override general content-link colours. */
body.jiv-home .jiv-page-content .wp-block-button .wp-block-button__link{color:#fff!important}

/* Win over the generic page-content link colour rule. */
body.jiv-home .jiv-page-content .wp-block-buttons .wp-block-button a.wp-block-button__link[href]{color:#fff!important}

/* JIV 2.1.7 — clean language switch and bilingual contact forms. */
.jiv-language-switch ul,.jiv-language-switch li{list-style:none!important;margin:0!important;padding:0!important}
.jiv-language-switch li::marker{content:""!important}
.jiv-language-switch li::before,.jiv-language-switch li::after{content:none!important;display:none!important}
.jiv-contact-form{margin:48px auto 10px;padding:34px;max-width:820px;background:#edf4e9;border:1px solid #9fbea9;border-radius:24px}
.jiv-contact-form h2{margin:0 0 26px;color:#183b2d!important}
.jiv-contact-form .wpcf7-form>p{margin:0}
.jiv-contact-form label{display:block;margin:0 0 18px;color:#183b2d;font-weight:700}
.jiv-contact-form input:not([type="submit"]),.jiv-contact-form textarea{display:block;width:100%;margin-top:8px;padding:14px 16px;border:1px solid #9fbea9;border-radius:12px;background:#fff;color:#17251f;font:inherit}
.jiv-contact-form textarea{min-height:150px;resize:vertical}
.jiv-contact-form .jiv-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.jiv-contact-form input[type="submit"],.jiv-contact-form button[type="submit"]{padding:15px 30px;border:0;border-radius:999px;background:#2f7d57!important;color:#fff!important;font-weight:800;cursor:pointer}
.jiv-contact-form .wpcf7-spinner{vertical-align:middle}
@media(max-width:700px){.jiv-contact-form{margin-top:32px;padding:24px 18px;border-radius:18px}.jiv-contact-form .jiv-contact-fields{grid-template-columns:1fr}}
