/* Keep theme hero layouts intact; recommendations are siblings of the hero. */
.dd-growth-features,.dd-growth-tool,.dd-growth-card,.dd-growth-result,
.dd-growth-fields,.dd-growth-fields>label,.dd-growth-results,.dd-growth-card-grid{
  box-sizing:border-box;min-width:0;max-width:100%;
}
.dd-growth-features{clear:both;display:flow-root;}
.dd-growth-home{margin:2.5rem auto;}
.kl-home>.dd-growth-home{width:100%;padding-inline:0;}
.entry-content .dd-growth-features h2,.dd-growth-features h2{
  font-size:clamp(1.4rem,2.5vw,1.9rem);line-height:1.3;margin:0 0 1rem;
}
.entry-content .dd-growth-card h3,.dd-growth-card h3{
  font-size:1.2rem;line-height:1.45;margin:.6rem 0;
}
.entry-content .dd-growth-card a{color:#204a36;text-decoration:underline;text-underline-offset:3px;}
.dd-growth-card :is(h3,p,small,a),.dd-growth-badge,
.dd-growth-tool :is(h2,h3,label,strong,[data-role=error]){overflow-wrap:anywhere;}
.dd-growth-tool :is(input,select){min-width:0;max-width:100%;font:inherit;}
.dd-growth-check input{flex:none;}
.dd-growth-tool button{max-width:100%;white-space:normal;overflow-wrap:anywhere;}
.dd-growth-table-wrap,.entry-content .dd-responsive-table{
  box-sizing:border-box;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;
}
.entry-content .dd-responsive-table{width:100%;margin:1.5rem 0;}
.entry-content .dd-responsive-table table{margin-bottom:0;}
.entry-content .dd-responsive-table:focus-visible{outline:3px solid #bb6515;outline-offset:3px;}
/* Shared article and calculator templates, across every language. */
.entry-content :is(p,li,h1,h2,h3,h4,figcaption),.entry-title{overflow-wrap:anywhere;}
.entry-content figure,.entry-content .wp-block-table{max-width:100%;min-width:0;}
.entry-content img{max-width:100%;}
.dd-guide :is(.dd-tool,.dd-fields,label),
.dd-nutrition-tool :is(label,[data-role=results]),
.dd-recovery-tool :is(label,[data-results]){box-sizing:border-box;min-width:0;max-width:100%;}
.dd-guide :is(input,select,textarea),.dd-nutrition-tool :is(input,select),
.dd-recovery-tool :is(input,select){min-width:0;max-width:100%;}
.dd-guide :is(button,label,strong),.dd-nutrition-tool :is(button,label,dt,h2),
.dd-recovery-tool :is(button,label,strong){max-width:100%;white-space:normal;overflow-wrap:anywhere;}
.dd-recovery-tool dd{overflow-wrap:anywhere;}
.dd-home-hero>*,.dd-home-card,.dd-home-grid>*,.dd-home-trust>*{
  box-sizing:border-box;min-width:0;max-width:100%;
}
.dd-home-hero :is(h1,p,figcaption),.dd-home-card :is(h3,p,small,a),
.dd-home-trust :is(h3,p),.dd-home-nav a,.dd-home-footer a{overflow-wrap:anywhere;}
@media(max-width:550px){
  .dd-growth-home{margin:1.5rem auto;}
  .dd-growth-actions button{flex:1 1 100%;}
  .dd-nutrition-tool button{flex:1 1 100%;}
}
@media(max-width:760px){
  .entry-content .kl-home .kl-section-heading p br{display:inline;}
}

/* Preserve Living's native reading width on large desktop screens. */
.dd-growth-features.dd-growth-home.ld-shell {
  max-width: 1200px;
}

/* Keep fragment destinations below the sticky site header. */
.entry-content :is(section[id], h2[id], h3[id]) {
  scroll-margin-top: 110px;
}
body.admin-bar .entry-content :is(section[id], h2[id], h3[id]) {
  scroll-margin-top: 156px;
}

/* Astra's inline navigation rules otherwise squeeze two long titles together. */
.single.wp-theme-astra .post-navigation .nav-links {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.single.wp-theme-astra .post-navigation .nav-links > :is(.nav-previous, .nav-next) {
  width: 100%;
  flex: 1 1 0;
  min-width: 0;
  max-width: 100%;
}
.single.wp-theme-astra .post-navigation .nav-links a {
  box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  line-height: 1.5;
  white-space: normal;
  overflow-wrap: anywhere;
}
.single.wp-theme-astra .post-navigation :is(.fh-nav-title, .ld-nav-title, .kl-nav-title) {
  line-height: 1.5;
  overflow-wrap: anywhere;
}
@media (max-width: 640px) {
  .single.wp-theme-astra .post-navigation .nav-links {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }
  .single.wp-theme-astra .post-navigation .nav-links > :is(.nav-previous, .nav-next) {
    grid-column: auto;
    width: 100%;
    margin: 0;
    text-align: left;
  }
  .single.wp-theme-astra .post-navigation .nav-links a {
    text-align: left;
  }
  .single.wp-theme-astra .post-navigation .nav-previous::after {
    display: none;
  }
}

/* Short landscape screens must still reach the last mobile menu item. */
.ast-header-break-point #ast-mobile-site-navigation {
  max-height: calc(100vh - 100px);
  max-height: calc(100dvh - 100px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
body.admin-bar.ast-header-break-point #ast-mobile-site-navigation {
  max-height: calc(100vh - 146px);
  max-height: calc(100dvh - 146px);
}
