/* MOBILE SNAPSHOT — current draft preserved before desktop rollback.
   This stylesheet is activated only at max-width:781px.
   Desktop corrections must never be placed here. */

:root{
  --lw-forest:#28553B;
  --lw-cta:#4F7F5F;
  --lw-leaf:#5F9F68;
  --lw-citrus:#A8C936;
  --lw-pale:#F2F7EE;
  --lw-cream:#FBFAF5;
  --lw-ink:#24362D;
  --lw-muted:#5F6D65;
  --lw-border:#DCE7DC;
}

html{scroll-behavior:smooth}
body{overflow-x:hidden}
.wp-site-blocks > main{margin-block-start:0!important}

/* Global desktop rhythm – v1.1: same design, less unused vertical space */
.lw-section{
  padding:clamp(3rem,4.8vw,4.75rem) max(28px,calc((100vw - 1180px)/2));
}
.lw-section>.wp-block-group__inner-container{max-width:1180px;margin:auto}
.lw-soft{background:var(--lw-pale)}
.lw-hero{
  padding-top:clamp(2.6rem,4.4vw,4.4rem);
  padding-bottom:clamp(2.8rem,4.6vw,4.6rem);
}
.lw-hero .wp-block-columns{align-items:flex-start}
.lw-hero h1{margin-top:.65rem;margin-bottom:1rem}
.lw-hero p{margin-top:.75rem;margin-bottom:.9rem}

.lw-card{
  background:#fff;
  border:1px solid var(--lw-border);
  border-radius:22px;
  padding:clamp(1.25rem,2.2vw,1.8rem);
  height:100%;
  box-sizing:border-box;
}
.lw-card-lead{font-weight:700;color:var(--lw-forest)}
.lw-eyebrow{
  color:var(--lw-forest);
  font-size:.82rem;
  font-weight:750;
  letter-spacing:.075em;
  text-transform:uppercase
}
.lw-muted{color:var(--lw-muted)}

.lw-button-primary .wp-block-button__link{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--lw-cta);
  color:#fff;
  border:1px solid var(--lw-cta);
  border-radius:14px;
  box-shadow:0 6px 16px rgba(40,85,59,.16);
  padding:.82rem 1.25rem;
  font-weight:700;
  line-height:1.35;
  transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease
}
.lw-button-primary .wp-block-button__link:hover{
  background:var(--lw-forest);
  border-color:var(--lw-forest);
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(40,85,59,.2)
}
.lw-button-secondary .wp-block-button__link{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#D7E8D3;
  color:var(--lw-forest);
  border:2px solid #6F9879;
  border-radius:14px;
  padding:.82rem 1.25rem;
  font-weight:700;
  line-height:1.35;
  transition:background-color .18s ease,border-color .18s ease
}
.lw-button-secondary .wp-block-button__link:hover{
  background:#CCE2C8;
  border-color:var(--lw-forest)
}
.lw-button-primary,.lw-button-secondary{max-width:100%}
.lw-button-primary .wp-block-button__link,
.lw-button-secondary .wp-block-button__link{
  box-sizing:border-box;
  max-width:100%;
  text-align:center;
  white-space:normal
}

body.page-id-20 .wp-block-quote{
  box-sizing:border-box;
  background:var(--lw-pale);
  border:0;
  border-left:5px solid var(--lw-leaf);
  border-radius:18px;
  padding:22px 24px
}
body.page-id-20 .wp-block-quote p{margin:0;line-height:1.65}
body.page-id-20 .wp-block-quote p:before{content:"\201C"}
body.page-id-20 .wp-block-quote p:after{content:"\201D"}
body.page-id-20 .wp-block-quote cite{
  display:block;
  margin-top:12px;
  color:var(--lw-forest);
  font-style:normal;
  font-weight:700
}
body.page-id-20 .wp-block-quote cite:before{content:"– "}
.wp-block-buttons{gap:.75rem;margin-top:1rem}
.wp-block-columns{gap:clamp(1rem,2vw,1.6rem)}

.lw-profile,.lw-profile-secondary{
  margin:0;
  border-radius:28px;
  overflow:hidden;
  background:var(--lw-pale)
}
.lw-profile img,.lw-profile-secondary img{
  display:block;width:100%;height:auto;object-fit:cover
}
.lw-profile img{aspect-ratio:1/1.04;object-position:50% 34%}
.lw-profile-secondary img{aspect-ratio:1/1.06;object-position:50% 35%}

/* Trust bar stays prominent but is far more compact */
.lw-trust-section{
  padding:.8rem max(28px,calc((100vw - 1180px)/2));
  background:#fff;
  border-top:1px solid var(--lw-border);
  border-bottom:1px solid var(--lw-border)
}
.lw-trust-section .lw-card{border:0;padding:.65rem;background:transparent}
.lw-trust-section p{margin:.25rem 0}

/* Timeline */
.lw-timeline{position:relative;margin-top:1.5rem}
.lw-timeline:before{
  content:"";
  position:absolute;
  top:11px;
  left:7%;right:7%;
  height:2px;
  background:#B9CFBC
}
.lw-timeline-item{position:relative;z-index:1;text-align:center}
.lw-dot{width:14px;height:14px;margin:0 auto;border-radius:50%;background:var(--lw-leaf)}
.lw-dot-strong{
  width:22px;height:22px;background:var(--lw-forest);
  border:4px solid #fff;outline:1px solid var(--lw-border)
}
.lw-timeline + .wp-block-buttons,
.lw-timeline ~ .wp-block-buttons{justify-content:center}

/* Final contact band: visible, unmistakable CTA */
.lw-contact-band{background:var(--lw-forest);color:#fff}
.lw-contact-band h2,.lw-contact-band h3{color:#fff}
.lw-contact-band a{color:inherit}
.lw-contact-band .wp-block-button__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  background:#fff!important;
  color:var(--lw-forest)!important;
  border:1px solid #fff!important;
  border-radius:14px;
  padding:.9rem 1.25rem;
  font-weight:750;
}
.lw-contact-band p{max-width:760px}

/* FAQ */
.wp-block-details{border-bottom:1px solid var(--lw-border);padding:.85rem 0}
.wp-block-details summary{cursor:pointer;font-weight:700;color:var(--lw-forest)}

/* BMI */
.lw-bmi{max-width:720px;background:#fff;border:1px solid var(--lw-border);border-radius:22px;padding:1.5rem;margin:1.5rem 0}
.lw-bmi-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.lw-bmi label{display:grid;gap:.4rem;font-weight:700;color:var(--lw-forest)}
.lw-bmi input{width:100%;box-sizing:border-box;border:1px solid #C9D7CC;border-radius:12px;padding:.8rem;font:inherit}
.lw-bmi-actions{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}
.lw-bmi button{min-height:48px;border:1px solid var(--lw-cta);border-radius:14px;background:var(--lw-cta);color:#fff;padding:.82rem 1.1rem;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 6px 16px rgba(40,85,59,.16)}
.lw-bmi .lw-bmi-reset{background:#fff;color:var(--lw-forest);border:1px solid #9FBAA6;box-shadow:none}
.lw-bmi-result{margin-top:1rem;font-size:1.15rem;font-weight:700;color:var(--lw-forest)}

/* Header */
.lw-header{
  position:sticky;top:0;z-index:90;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--lw-border)
}
.lw-header-inner{
  max-width:1180px;
  margin:auto;
  padding:10px 22px;
  min-height:68px;
  display:flex;
  align-items:center;
  gap:1rem;
  justify-content:space-between
}
.lw-brand{display:block;flex:0 0 auto;line-height:0}
.lw-brand-logo{
  display:block;
  width:250px;
  height:58px;
  max-width:32vw;
  background:url('../images/logo.png') left center/contain no-repeat;
}
.lw-header-nav{display:flex;align-items:center;gap:1.15rem}
.lw-header-nav a{color:var(--lw-ink);font-size:.95rem}
.lw-header-nav a:hover{color:var(--lw-forest)}
.lw-header-contact{
  background:var(--lw-forest);
  color:#fff!important;
  padding:.72rem 1rem;
  border-radius:12px;
  font-weight:700
}
.lw-menu-toggle{
  display:none;
  background:none;
  border:1px solid var(--lw-border);
  border-radius:10px;
  padding:.55rem .7rem;
  color:var(--lw-forest)
}

/* Footer */
.lw-footer{
  background:var(--lw-forest);
  color:#fff;
  padding:3rem max(28px,calc((100vw - 1180px)/2))
}
.lw-footer h3{color:#fff;margin-bottom:.8rem}
.lw-footer a{color:#fff}
.lw-footer-grid{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:2rem}
.lw-footer-list{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}
.lw-footer-bottom{margin-top:2rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.2);font-size:.88rem;opacity:.9}
.lw-footer-brand{display:block;line-height:0;margin-bottom:1rem}
.lw-footer-logo{
  display:block;
  width:270px;
  max-width:100%;
  height:72px;
  background:url('../images/logo.png') left center/contain no-repeat;
}

/* Mobile sticky CTA hidden on desktop */
.lw-sticky-mobile{display:none}

@media(max-width:900px){
  .lw-header-inner{min-height:64px}
  .lw-brand-logo{width:210px;height:52px;max-width:60vw}
  .lw-header-nav{
    display:none;
    position:absolute;
    top:74px;
    left:14px;right:14px;
    background:#fff;
    border:1px solid var(--lw-border);
    border-radius:16px;
    padding:1rem;
    flex-direction:column;
    align-items:stretch
  }
  .lw-header-nav.is-open{display:flex}
  .lw-menu-toggle{display:block}
  .lw-footer-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:781px){
  /* Preserve the good mobile type scale, but reduce excess scrolling */
  .lw-section{padding:2.75rem calc(22px - .1mm)}
  .lw-hero{padding-top:2.35rem;padding-bottom:2.7rem}
  .lw-hero h1{margin-top:.8rem}
  .lw-profile{max-width:520px;margin:1.5rem auto 0}

  /* Four credentials in a compact 2x2 layout instead of a very tall stack */
  .lw-trust-section{padding:1rem 18px}
  .lw-trust-section .wp-block-columns{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:.25rem .5rem!important;
  }
  .lw-trust-section .wp-block-column{margin:0!important}
  .lw-trust-section .lw-card{padding:.85rem .35rem}
  .lw-trust-section p{font-size:.96rem;line-height:1.35}

  /* Cards stay readable, with slightly tighter rhythm */
  .lw-card{padding:1.45rem}
  .lw-section .wp-block-columns{gap:1rem}

  /* Vertical timeline remains, just tighter */
  .lw-timeline:before{display:none}
  .lw-timeline{gap:.55rem!important;margin-top:1.1rem}
  .lw-timeline-item{
    display:grid;
    grid-template-columns:32px 1fr;
    text-align:left!important;
    align-items:start
  }
  .lw-timeline-item .lw-dot{margin:.3rem 0 0}
  .lw-timeline-item p{margin:.05rem 0 .7rem}

  /* Mobile CTA: smaller and moved above the browser safe area */
  .lw-sticky-mobile{
    display:flex;
    position:fixed;
    left:14px;right:14px;
    bottom:calc(10px + env(safe-area-inset-bottom));
    z-index:999;
    background:rgba(40,85,59,.97);
    border-radius:15px;
    box-shadow:0 8px 24px rgba(0,0,0,.16);
    min-height:54px;
    overflow:hidden;
    backdrop-filter:blur(8px)
  }
  .lw-sticky-mobile a{
    flex:1;
    color:#fff;
    text-align:center;
    padding:.72rem .5rem;
    font-weight:700;
    text-decoration:none;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .lw-sticky-mobile a+a{border-left:1px solid rgba(255,255,255,.28)}
  body{padding-bottom:82px}

  .lw-bmi-grid{grid-template-columns:1fr}
  .lw-footer{padding:2.75rem 24px 4.5rem}
  .lw-footer-grid{grid-template-columns:1fr 1fr;gap:1.55rem}
  .lw-footer-grid h3{margin-bottom:.55rem}
  .lw-footer-list{gap:.28rem}
  .lw-footer-bottom{margin-top:1.5rem}
  .lw-footer-logo{width:250px;height:68px}
}

@media(max-width:460px){
  .lw-brand-logo{width:200px;height:50px;max-width:63vw}
  .lw-header-inner{padding:9px 16px}
  .lw-section{padding-left:calc(20px - .1mm);padding-right:calc(20px - .1mm)}
  .lw-trust-section .wp-block-columns{grid-template-columns:1fr 1fr!important}
  .lw-sticky-mobile{left:12px;right:12px}
}

/* V1.2 mobile polish */
@media(max-width:781px){
  /* Keep hero actions visually separate from the fixed quick-contact bar. */
  .lw-hero .wp-block-buttons{margin-top:1.15rem;margin-bottom:.85rem;gap:.8rem}
  .lw-hero .wp-block-button{margin-bottom:0}

  /* A slimmer, lower quick-contact bar: useful without dominating the page. */
  .lw-sticky-mobile{
    left:10px;
    right:10px;
    bottom:max(2px,env(safe-area-inset-bottom));
    min-height:48px;
    border:2px solid #6F9879;
    border-radius:14px;
    background:#D7E8D3;
    box-shadow:0 6px 16px rgba(40,85,59,.16)
  }
  .lw-sticky-mobile a{
    min-height:48px;
    box-sizing:border-box;
    padding:.82rem .5rem;
    color:var(--lw-forest);
    font-size:.98rem;
    font-weight:700;
    line-height:1.35
  }
  .lw-sticky-mobile a+a{border-left:2px solid #6F9879}
  body{padding-bottom:68px}
  .lw-footer{padding-bottom:4.25rem}
}

@media(max-width:460px){
  .lw-sticky-mobile{left:8px;right:8px}
}


/* V1.2.1 mobile sticky-bar fix
   Keep the quick actions out of the hero CTA area and reveal them only
   after the visitor has moved past the hero actions. */
@media(max-width:781px){
  .lw-sticky-mobile{
    transform:translateY(calc(100% + 18px));
    opacity:0;
    pointer-events:none;
    transition:transform .22s ease,opacity .18s ease;
  }
  .lw-sticky-mobile.is-visible{
    transform:translateY(0);
    opacity:1;
    pointer-events:auto;
  }
  body{padding-bottom:72px}
}
@media(prefers-reduced-motion:reduce){
  .lw-sticky-mobile{transition:none}
}

/* V1.2.2 mobile spacing polish – layered on top of the V1.2.1 sticky-bar behavior. */
@media(max-width:781px){
  /* Reserve a little extra scroll room so fixed quick actions never obscure the final content. */
  body{padding-bottom:88px}
  main > .wp-block-group:last-child,
  .lw-section:last-child{padding-bottom:max(3.5rem,104px)}

  /* Slightly tighten long mobile pages without changing the established visual rhythm. */
  .lw-section + .lw-section{padding-top:2.55rem}
}


/* V1.2.3 – contextual link to BMI calculator */
.lw-bmi-link{
  max-width: 820px;
  margin: 0 auto;
  padding: 32px 0;
}
.lw-bmi-link__title{
  margin: 0 0 8px;
  color: var(--wp--preset--color--primary, #245c3f);
  font-size: clamp(1.35rem, 2vw, 1.7rem);
  font-weight: 700;
  line-height: 1.2;
}
.lw-bmi-link p:not(.lw-bmi-link__title){
  margin: 0 0 18px;
}

/* V1.2.6 PREVIEW – tighter vertical rhythm without changing colours, type or content. */
.lw-section h2{
  margin-bottom:1rem;
}
.lw-section h2 + p{
  margin-top:0;
}
.lw-section p{
  margin-top:.75rem;
  margin-bottom:.75rem;
}
.lw-section ul,
.lw-section ol{
  margin-top:.75rem;
  margin-bottom:.9rem;
}
.lw-section li + li{
  margin-top:.35rem;
}
.wp-block-details{
  padding:.72rem 0;
}

@media(min-width:782px){
  /* Compact shared section rhythm: adjacent sections no longer double into oversized gaps. */
  body:not(.home) .lw-section{
    padding-top:clamp(1.75rem,2.2vw,2.15rem);
    padding-bottom:clamp(1.75rem,2.2vw,2.15rem);
  }

  body.home .lw-section{
    padding-top:clamp(1.7rem,2.15vw,2.1rem);
    padding-bottom:clamp(1.7rem,2.15vw,2.1rem);
  }
  body.home .lw-hero{
    padding-top:clamp(2.15rem,2.8vw,2.6rem);
    padding-bottom:clamp(2.15rem,2.8vw,2.6rem);
  }

  /* Prices: quicker comparison and less scrolling. */
  body.page-id-30 .lw-section{
    padding-top:clamp(1.6rem,1.95vw,1.9rem);
    padding-bottom:clamp(1.6rem,1.95vw,1.9rem);
  }
  body.page-id-30 .lw-card{
    padding:1.45rem;
  }
  body.page-id-30 .wp-block-columns{
    gap:1.25rem;
  }

  /* FAQ and contact remain slightly more compact than standard pages. */
  body.page-id-33 .lw-section,
  body.page-id-34 .lw-section{
    padding-top:clamp(1.7rem,2.05vw,2rem);
    padding-bottom:clamp(1.7rem,2.05vw,2rem);
  }
}

@media(max-width:781px){
  body:not(.home) .lw-section{
    padding-top:1.5rem;
    padding-bottom:1.5rem;
  }
  body.home .lw-section{
    padding-top:1.55rem;
    padding-bottom:1.55rem;
  }
  body.home .lw-hero{
    padding-top:1.85rem;
    padding-bottom:1.95rem;
  }
  body.page-id-30 .lw-section{
    padding-top:1.4rem;
    padding-bottom:1.4rem;
  }
  body.page-id-33 .lw-section,
  body.page-id-34 .lw-section{
    padding-top:1.45rem;
    padding-bottom:1.45rem;
  }

  /* Keep the safety space required by the fixed mobile contact bar. */
  body .lw-section:last-child{
    padding-bottom:max(3.5rem,104px);
  }
}


/* =========================================================
   V1.3.0 – Gutenberg master: formerly page-embedded CSS
   ========================================================= */

/* Page 20: migrated from inline

/* Registered corrections, 30 September 2026. Existing design retained. */
/* Om Lisette: desktop-only education layout; mobile and tablet retained. */
@media (min-width:1200px) {
 body.page-id-22 .entry-content .lw-timeline {
  display:grid!important; grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr)!important;
  column-gap:40px!important; row-gap:0!important; padding:32px!important;
  align-items:start!important;
 }
 body.page-id-22 .entry-content .lw-timeline::before { display:none!important; }
 body.page-id-22 .entry-content .lw-timeline > h2 {
  grid-column:1 / -1!important; grid-row:1!important; margin:0 0 28px!important; max-width:none!important;
 }
 body.page-id-22 .entry-content .lw-timeline > .lw-about-photo {
  grid-column:1!important; grid-row:2 / 14!important; align-self:stretch!important;
  width:100%!important; max-width:none!important; height:100%!important; margin:0!important;
  position:relative!important; overflow:hidden!important;
 }
 body.page-id-22 .entry-content .lw-timeline > .lw-about-photo img {
  position:absolute!important; inset:0!important; width:100%!important; height:100%!important;
  object-fit:cover!important; object-position:32% center!important; border-radius:0!important;
 }
 body.page-id-22 .entry-content .lw-timeline > h3 {
  grid-column:2!important; margin:0 0 5px!important; padding:0!important;
  font-size:18px!important; line-height:1.35!important; max-width:none!important;
 }
 body.page-id-22 .entry-content .lw-timeline > p {
  grid-column:2!important; margin:0 0 18px!important; padding:0!important;
  font-size:16px!important; line-height:1.55!important; max-width:none!important;
 }
 body.page-id-22 .entry-content .lw-timeline > p:last-child { margin-bottom:0!important; }
}

@media(max-width:360px){footer.wp-block-template-part .lw-footer-grid>.wp-block-column:nth-child(even){padding-left:8px!important;}}
.lw-hero .lw-review-full-labels { margin:0 0 .65rem!important; line-height:1.45; }
.lw-review-full-labels > span { display:block; }
/* Om Lisette: align both introductory labels with the constrained text column. */
body.page-id-22 .lw-hero > .lw-review-full-labels { margin-left:auto!important; margin-right:auto!important; }

/* The exposed cream strip is the first content block's default top margin. */
body.page-id-20 .wp-site-blocks > main,
body.page-id-31 .wp-site-blocks > main,
body.page-id-20 .entry-content,
body.page-id-31 .entry-content,
body.page-id-20 .entry-content > .lw-hero,
body.page-id-31 .entry-content > .lw-hero { margin-block-start:0!important; }

body.page-id-26 .lw-nupo-note { padding:0; border:0; border-radius:0; box-shadow:none; background:transparent; }
body.page-id-26 .lw-nupo-note h2 { margin:1rem 0 .5rem!important; }

/* Preserve editable source prices, with one card per existing offer. */
.entry-content .lw-reviewed-offers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1.35rem 0; }
.entry-content .lw-reviewed-offers-four { grid-template-columns:repeat(2,minmax(0,1fr)); }
.entry-content .lw-reviewed-offer,
.entry-content .lw-reviewed-addon { box-sizing:border-box; min-width:0; margin:0; padding:1.15rem; border:1px solid var(--lw-border); border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(25,66,48,.04); }
.entry-content .lw-reviewed-offer > :first-child { margin-top:0!important; }
.entry-content .lw-reviewed-offer > :last-child,
.entry-content .lw-reviewed-addon > :last-child { margin-bottom:0!important; }
.entry-content .lw-reviewed-offer h3 { font-family:Georgia,"Times New Roman",serif; font-size:1.3rem; font-weight:600; line-height:1.3; color:#234b34; }
.entry-content .lw-reviewed-offer p,
.entry-content .lw-reviewed-addon p { font-size:1rem; line-height:1.5; margin:.7rem 0; }
.entry-content .lw-reviewed-addon { margin:.85rem 0; }
body.page-id-25 .lw-reviewed-offers { grid-template-columns:1fr; }

/* Stronger circle/check icons, scoped to the two reviewed components. */
body.page-id-26 .lw-check-item,
body.page-id-27 .lw-check-item { grid-template-columns:1.6rem minmax(0,1fr); gap:.65rem; }
body.page-id-26 .lw-check-item::before,
body.page-id-27 .lw-check-item::before { box-sizing:border-box; width:1.45rem; height:1.45rem; border:2px solid #4f7a56; background-size:16px 16px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 10 3 3 7-7' fill='none' stroke='%234f7a56' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }

/* The card border intersects the middle of each number circle. */
body.page-id-26 .lw-nupo-steps,
body.page-id-27 .lw-hold-steps { margin-top:2.2rem!important; row-gap:2rem!important; }
body.page-id-26 .lw-nupo-steps > .lw-nupo-mini,
body.page-id-27 .lw-hold-steps > .lw-hold-mini { position:relative; overflow:visible; box-sizing:border-box; padding-top:2.1rem; }
body.page-id-26 .lw-nupo-steps .lw-nupo-stepno,
body.page-id-27 .lw-hold-steps .lw-hold-stepno { position:absolute; top:0; left:50%; transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:center; width:2.5rem; height:2.5rem; margin:0!important; border-radius:50%; background:#5f9f68; color:#fff; font-size:1.1rem; line-height:1; font-weight:700; }
body.page-id-26 .lw-nupo-steps h3,
body.page-id-27 .lw-hold-steps h3 { margin-top:0!important; }

/* The closing band meets the dark footer with a calm light section. */
body.page-id-27 .entry-content > .lw-contact-band { background:#f2f7ee!important; }
body.page-id-27 .entry-content > .lw-contact-band :is(h2,h3,p) { color:#234b34!important; }
body.page-id-27 .entry-content > .lw-contact-band p a { color:inherit!important; }

/* Price pages use one type scale within all price cards. */
body.page-id-30 .entry-content :is(.lw-price-card,.lw-package-card) { font-family:inherit; font-size:1rem; line-height:1.5; font-weight:400; }
body.page-id-30 .entry-content :is(.lw-price-card,.lw-package-card) h3 { font-family:Georgia,"Times New Roman",serif!important; font-size:1.35rem!important; line-height:1.3!important; font-weight:600!important; color:#234b34; }
body.page-id-30 .entry-content :is(.lw-price-card,.lw-package-card) :is(p,li,.lw-price-row,.lw-package-card__intro,.lw-package-card__note) { font-family:inherit!important; font-size:1rem!important; font-weight:400; line-height:1.5!important; }
body.page-id-30 .entry-content :is(.lw-price-card,.lw-package-card) strong { font-family:inherit!important; font-size:1em!important; font-weight:700!important; }
body.page-id-30 .entry-content .lw-price-row > p:first-child { min-width:0; flex:1; }
body.page-id-30 .entry-content .lw-price-row > p:last-child { flex:none; }


/* Allow full price sentences to wrap on the smallest mobile screens. */
body.page-id-30 .entry-content .lw-price-card { min-width:0; }
body.page-id-30 .entry-content .lw-price-value { white-space:normal; }

/* The existing insurance logo assets remain unchanged. */
body.page-id-31 .lw-insurance-logo img[alt="LB Erhverv"] { filter:brightness(.6); }
body.page-id-31 .lw-insurance-logo img[alt="IDA Forsikring"] { width:140px!important; height:96px!important; max-width:100%; }
body.page-id-31 .lw-insurance-logo:has(img[alt="PensionDanmark"]) { background:#234b34!important; border-radius:12px; }
body.page-id-31 .lw-insurance-logo img[alt="PensionDanmark"] { padding:5px; box-sizing:border-box; }
body.page-id-31 .entry-content details { border:1px solid var(--lw-border); border-radius:12px; padding:0 1rem; margin:.65rem 0; background:#fff; }
body.page-id-31 .entry-content details summary { position:relative; list-style:none; padding:.85rem 1.7rem .85rem 0; color:#234b34; cursor:pointer; font-weight:600; }
body.page-id-31 .entry-content details summary::-webkit-details-marker { display:none; }
body.page-id-31 .entry-content details summary::marker { content:""; }
body.page-id-31 .entry-content details summary::after { content:"+"; position:absolute; right:0; top:.85rem; color:#5f9f68; font-weight:700; }
body.page-id-31 .entry-content details[open] summary::after { content:"−"; }
body.page-id-31 .entry-content details summary:focus-visible { outline:2px solid #5f9f68; outline-offset:3px; }

/* Proportional before/after comparison, with a little more width for the left photo. */
body.page-id-29 .lw-reviewed-lars-pair { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:1rem; width:min(100%,900px); margin:1rem auto; background:#fff; }
body.page-id-29 .lw-reviewed-lars-pair figure { margin:0; min-width:0; background:#fff; text-align:center; }
body.page-id-29 .lw-reviewed-lars-pair img { display:block; width:auto; max-width:100%; height:440px; margin:0 auto; object-fit:contain; object-position:center bottom; }
body.page-id-29 .lw-reviewed-lars-pair figure:first-child img { height:475px; }
body.page-id-29 .lw-reviewed-lars-pair figcaption { color:#234b34; font-size:1.18rem; line-height:1.35; font-weight:700; margin:.65rem 0 0; padding:.2rem; }

/* Keep the same complete original footer logo inside its available box. */
footer.wp-block-template-part .lw-footer-brand-image,
footer.wp-block-template-part .lw-footer-brand-image a { overflow:visible!important; }
footer.wp-block-template-part .lw-footer-brand-image img { clip:auto!important; clip-path:none!important; object-fit:contain!important; }
footer.wp-block-template-part .lw-footer-contact a:is([href^="tel:"],[href^="mailto:"]) { text-decoration:underline!important; text-underline-offset:.16em; }

@media (max-width:781px) {
  footer.wp-block-template-part .lw-sticky-mobile { display:flex!important; }
  footer.wp-block-template-part .lw-footer-hours li span { white-space:nowrap; }
  .lw-hero .lw-review-full-labels { font-size:clamp(.70rem,2.8vw,.82rem)!important; letter-spacing:.025em!important; }
  .entry-content .lw-reviewed-offers { grid-template-columns:1fr; gap:1rem; }
  body.page-id-28 .entry-content > .lw-section:nth-of-type(2),
  body.page-id-28 .entry-content > .lw-section:nth-of-type(3) { background:#f2f7ee!important; }
  body.page-id-31 .entry-content > .lw-contact-band { padding-bottom:1.25rem!important; }
  body.page-id-29 .lw-reviewed-lars-pair { gap:.65rem; }
  body.page-id-29 .lw-reviewed-lars-pair img { height:clamp(200px,65vw,380px); }
  body.page-id-29 .lw-reviewed-lars-pair figure:first-child img { height:clamp(216px,70vw,410px); }
  footer.wp-block-template-part .lw-footer-brand-image img { box-sizing:border-box!important; padding-right:4px!important; padding-bottom:3px!important; }
}

/* Matching typography for the two homepage contact and location lines. */
body.page-id-20 .entry-content .lw-hero.lw-reviewed-hero .lw-hero-actions + p,
body.page-id-20 .entry-content .lw-hero.lw-reviewed-hero p.lw-muted {
 font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
 font-size:16px!important;
 font-weight:400!important;
 font-style:normal!important;
 line-height:1.7!important;
 letter-spacing:normal!important;
 color:#202a24!important;
}

/* Fine-stroke authorization checkmark with a longer short arm. */
body.page-id-20 .entry-content .lw-trust-section > .wp-block-columns > .wp-block-column:first-child .lw-card::before { content:""!important; background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M4%2011.5%2010%2018%2020%206'%20fill%3D'none'%20stroke%3D'%234f7a56'%20stroke-width%3D'1.4'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fsvg%3E")!important; background-size:24px 24px!important; background-position:center!important; background-repeat:no-repeat!important; }

/* 1 October desktop header corrections are consolidated in the single
   authoritative min-width:1200px block below. */
@media(min-width:782px) {
 body.page-id-20 .entry-content .lw-hero.lw-reviewed-hero > .wp-block-columns { align-items:stretch!important; }
 body.page-id-20 .entry-content .lw-hero.lw-reviewed-hero > .wp-block-columns > .wp-block-column:first-of-type { align-self:stretch!important; display:flex!important; flex-direction:column; justify-content:space-between; gap:18px; padding:24px 0!important; }
 body.page-id-20 .entry-content .lw-hero.lw-reviewed-hero > .wp-block-columns > .wp-block-column:first-of-type > * { margin-top:0!important; margin-bottom:0!important; }
}

/* Compact navigation below the one-line desktop breakpoint. */
@media(max-width:1199px) {
 header.wp-block-template-part .lw-header nav.lw-header-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none!important; }
 header.wp-block-template-part .lw-header nav.lw-header-nav > .wp-block-navigation__responsive-container-open { display:flex!important; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
 header.wp-block-template-part .lw-header nav.lw-header-nav .wp-block-navigation__responsive-container.is-menu-open { display:flex!important; position:fixed!important; inset:0!important; width:100%!important; height:100dvh!important; max-height:none!important; overflow-y:auto!important; padding:24px!important; background:#fff!important; z-index:100000!important; }
 header.wp-block-template-part .lw-header nav.lw-header-nav .is-menu-open .wp-block-navigation__container { flex-direction:column!important; align-items:flex-start!important; gap:8px!important; }
 header.wp-block-template-part .lw-header .lw-header-inner { min-height:74px; }
}

/* Desktop navigation: single authoritative desktop layout.
   Kept separate from tablet/mobile rules so viewport-specific fixes do not leak. */
@media(min-width:1200px) {
 header.wp-block-template-part .lw-header .lw-header-inner {
  max-width:1480px!important;
  width:100%!important;
  padding:14px 24px!important;
  gap:28px!important;
 }
 header.wp-block-template-part .lw-header .lw-brand-image {
  width:234px!important;
  flex:0 0 234px!important;
  margin:0!important;
 }
 header.wp-block-template-part .lw-header .lw-brand-image img {
  width:234px!important;
  height:auto!important;
  max-width:100%!important;
  object-fit:contain!important;
 }
 header.wp-block-template-part .lw-header nav.lw-header-nav {
  flex:1 1 auto!important;
  min-width:0;
  width:auto!important;
  justify-content:flex-end!important;
 }
 header.wp-block-template-part .lw-header nav.lw-header-nav .wp-block-navigation__container {
  flex-wrap:nowrap!important;
  column-gap:clamp(12px,1.25vw,20px)!important;
  justify-content:flex-end!important;
 }
 header.wp-block-template-part .lw-header nav.lw-header-nav .wp-block-navigation-item {
  flex:0 0 auto!important;
  margin:0!important;
 }
 header.wp-block-template-part .lw-header nav.lw-header-nav .wp-block-navigation-item__content {
  font-size:clamp(16px,1.2vw,18px)!important;
  white-space:nowrap;
 }
 header.wp-block-template-part .lw-header nav.lw-header-nav .lw-header-contact a {
  margin:0!important;
  padding:10px 12px!important;
 }
}

/* Clearer primary navigation. */
header.wp-block-template-part nav.lw-header-nav .wp-block-navigation-item__content { font-size:18px!important; font-weight:600!important; line-height:1.4!important; }
header.wp-block-template-part nav.lw-header-nav .wp-block-navigation-item:not(.lw-header-contact) > .wp-block-navigation-item__content { color:#234b34!important; min-height:44px; display:flex; align-items:center; }
header.wp-block-template-part nav.lw-header-nav .wp-block-navigation__container { column-gap:18px!important; row-gap:8px!important; }
header.wp-block-template-part nav.lw-header-nav .is-menu-open .wp-block-navigation-item__content { font-size:20px!important; }

/* Homepage text spacing beside the portrait, approved 30 September. */
@media(min-width:782px) {
 body.page-id-20 .entry-content .lw-hero.lw-reviewed-hero > .wp-block-columns > .wp-block-column:first-of-type > .lw-review-full-labels { margin-bottom:18px!important; }
 body.page-id-20 .entry-content .lw-hero.lw-reviewed-hero h1 { margin-top:0!important; margin-bottom:24px!important; }
 body.page-id-20 .entry-content .lw-hero.lw-reviewed-hero h1 + p { margin-top:0!important; line-height:1.75!important; }
 body.page-id-20 .entry-content .lw-hero.lw-reviewed-hero .lw-hero-actions { margin-top:24px!important; }
 body.page-id-20 .entry-content .lw-hero.lw-reviewed-hero .lw-hero-actions + p { margin-top:22px!important; line-height:1.7!important; }
 body.page-id-20 .entry-content .lw-hero.lw-reviewed-hero .lw-muted { margin-top:16px!important; line-height:1.7!important; }
}

/* Approved homepage portrait: square corners and no green strip below. */
body.page-id-20 .entry-content .lw-hero.lw-reviewed-hero { padding-bottom:0!important; }
body.page-id-20 .entry-content .lw-hero.lw-reviewed-hero .lw-home-photo,
body.page-id-20 .entry-content .lw-hero.lw-reviewed-hero .lw-home-photo img { border-radius:0!important; }
@media(max-width:781px) {
 body.page-id-20 .entry-content .lw-hero.lw-reviewed-hero > .wp-block-columns { row-gap:0!important; }
}

/* Approved homepage portrait placement: flush against the header. */
body.page-id-20 .lw-hero { padding-top:0!important; }
body.page-id-20 .lw-hero > .wp-block-columns { margin-top:0!important; align-items:flex-start!important; }
body.page-id-20 .lw-hero.lw-reviewed-hero > .wp-block-columns > .wp-block-column:first-of-type { padding-top:44px!important; }
body.page-id-20 .lw-home-photo { margin-top:0!important; border-top-left-radius:0!important; border-top-right-radius:0!important; }
body.page-id-20 .lw-home-photo img { border-top-left-radius:0!important; border-top-right-radius:0!important; }
@media(max-width:781px) {
 body.page-id-20 .lw-hero > .wp-block-columns { flex-direction:column; gap:24px!important; }
 body.page-id-20 .lw-hero > .wp-block-columns > .wp-block-column:last-child { order:-1; width:100%; }
 body.page-id-20 .lw-hero.lw-reviewed-hero > .wp-block-columns > .wp-block-column:first-of-type { padding-top:0!important; }
}

/* Lisette Winther — viewport-isolated mobile corrections.
   This file is enqueued only for screens <= 781px. Desktop/tablet must never be edited here. */

@media(max-width:360px) {
 footer.wp-block-template-part .lw-footer-grid>.wp-block-column:nth-child(even) { padding-left:8px!important; }
}

/* Mobile navigation. */
header.wp-block-template-part .lw-header nav.lw-header-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none!important; }
header.wp-block-template-part .lw-header nav.lw-header-nav > .wp-block-navigation__responsive-container-open { display:flex!important; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
header.wp-block-template-part .lw-header nav.lw-header-nav .wp-block-navigation__responsive-container.is-menu-open { display:flex!important; position:fixed!important; inset:0!important; width:100%!important; height:100dvh!important; max-height:none!important; overflow-y:auto!important; padding:24px!important; background:#fff!important; z-index:100000!important; }
header.wp-block-template-part .lw-header nav.lw-header-nav .is-menu-open .wp-block-navigation__container { flex-direction:column!important; align-items:flex-start!important; gap:8px!important; }
header.wp-block-template-part .lw-header .lw-header-inner { min-height:74px; }

/* Reviewed mobile corrections. */
header.wp-block-template-part .lw-header .lw-brand-image {
  width:220px!important;
  max-width:calc(100vw - 92px)!important;
  flex:0 1 220px!important;
  margin:0!important;
  overflow:visible!important;
}
header.wp-block-template-part .lw-header .lw-brand-image a,
header.wp-block-template-part .lw-header .lw-brand-image img {
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  object-fit:contain!important;
}
footer.wp-block-template-part .lw-sticky-mobile { display:flex!important; }
footer.wp-block-template-part .lw-sticky-mobile a { font-size:1.08rem!important; }
footer.wp-block-template-part .lw-footer-info .lw-footer-list > li:last-child { display:none!important; }
footer.wp-block-template-part .lw-footer-hours li span { white-space:nowrap; }
.lw-hero .lw-review-full-labels { font-size:clamp(.70rem,2.8vw,.82rem)!important; letter-spacing:.025em!important; }
.entry-content .lw-reviewed-offers { grid-template-columns:1fr; gap:1rem; }
body.page-id-28 .entry-content > .lw-section:nth-of-type(2),
body.page-id-28 .entry-content > .lw-section:nth-of-type(3) { background:#f2f7ee!important; }
body.page-id-31 .entry-content > .lw-contact-band { padding-bottom:1.25rem!important; }
body.page-id-29 .lw-reviewed-lars-pair { gap:.65rem; }
body.page-id-29 .lw-reviewed-lars-pair img { height:clamp(200px,65vw,380px); }
body.page-id-29 .lw-reviewed-lars-pair figure:first-child img { height:clamp(216px,70vw,410px); }
footer.wp-block-template-part .lw-footer-brand-image img { box-sizing:border-box!important; padding-right:4px!important; padding-bottom:3px!important; }

/* Homepage portrait/stacking on mobile only. */
body.page-id-20 .entry-content .lw-hero.lw-reviewed-hero > .wp-block-columns { row-gap:0!important; }
body.page-id-20 .lw-hero > .wp-block-columns { flex-direction:column; gap:24px!important; }
body.page-id-20 .lw-hero > .wp-block-columns > .wp-block-column:last-child { order:-1; width:100%; }
body.page-id-20 .lw-hero.lw-reviewed-hero > .wp-block-columns > .wp-block-column:first-of-type { padding-top:0!important; }

/* Trust bar: keep the fourth icon's outer circle unchanged; enlarge only the inner symbol. */
body.page-id-20 .entry-content .lw-trust-section > .wp-block-columns > .wp-block-column:nth-child(4) .lw-card::before {
  font-size:1.78rem!important;
  line-height:1!important;
}

/* Approved mobile footer structure: two columns, balanced typography, complete logo. */
footer.wp-block-template-part .lw-footer-grid {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:1.45rem 1rem!important;
  align-items:start!important;
}
footer.wp-block-template-part .lw-footer-grid > .wp-block-column {
  min-width:0!important;
  margin:0!important;
}
footer.wp-block-template-part .lw-footer-brand-image {
  box-sizing:border-box!important;
  width:100%!important;
  max-width:160px!important;
  margin:0 0 .55rem!important;
  padding:0!important;
  overflow:visible!important;
  line-height:0!important;
}
footer.wp-block-template-part .lw-footer-brand-image a {
  display:block!important;
  width:100%!important;
  height:auto!important;
  overflow:visible!important;
}
footer.wp-block-template-part .lw-footer-brand-image img {
  display:block!important;
  width:100%!important;
  max-width:160px!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:0 4px 3px 0!important;
  object-fit:contain!important;
  object-position:left center!important;
  clip:auto!important;
  clip-path:none!important;
}
footer.wp-block-template-part .lw-footer-contact p {
  margin:.35rem 0!important;
  line-height:1.45!important;
}
footer.wp-block-template-part .lw-footer-contact .lw-footer-address,
footer.wp-block-template-part .lw-footer-contact .lw-footer-findvej,
footer.wp-block-template-part .lw-footer-contact a[href^="tel:"],
footer.wp-block-template-part .lw-footer-contact a[href^="mailto:"] {
  text-decoration:underline!important;
  text-underline-offset:.16em!important;
}
footer.wp-block-template-part .lw-footer-grid h3 {
  margin:0 0 .55rem!important;
  color:#fff!important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:1rem!important;
  font-weight:700!important;
  line-height:1.3!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
footer.wp-block-template-part .lw-footer-list {
  gap:.28rem!important;
}
footer.wp-block-template-part .lw-footer-list li,
footer.wp-block-template-part .lw-footer-list a {
  font-size:1rem!important;
  line-height:1.3!important;
}
footer.wp-block-template-part .lw-footer-bottom {
  grid-column:1 / -1;
  margin-top:1.3rem!important;
}
