/*
Theme Name: Old House Child
Theme URI: https://github.com/pin10andy/old-house-management
Description: Minimal project child theme for the Twenty Twenty-Five block theme.
Author: Old House Management
Template: twentytwentyfive
Version: 0.1.0
Text Domain: old-house-child
*/

.old-house-site-header,
.old-house-footer,
.old-house-shared-cta,
.old-house-home { box-sizing: border-box; }

.old-house-site-header {
  align-items: center; border-bottom: 1px solid #e7e5e4; display: flex; gap: 1rem;
  justify-content: space-between; margin: 0 auto; max-width: 72rem; padding: 1rem 1.25rem;
}

.old-house-site-header .wp-block-site-title { font-size: 1rem; font-weight: 800; letter-spacing: .12em; margin: 0; white-space: nowrap; }
.old-house-site-header .wp-block-site-title a { text-decoration: none; }
.old-house-site-header .wp-block-navigation { font-size: .875rem; }
.old-house-site-header .wp-block-navigation__container { column-gap: 1.15rem; row-gap: .25rem; }
.old-house-site-header .wp-block-navigation-item__content { padding-block: .55rem; text-underline-offset: .25em; }
.old-house-main { margin: 0 auto; max-width: 72rem; padding: 0 1.25rem; }
.old-house-home { display: grid; gap: 2.5rem; padding: 3.5rem 0; }
.old-house-eyebrow { color: #92400e; font-size: .875rem; font-weight: 600; margin: 0 0 1.25rem; }
.old-house-title { font-size: clamp(2.25rem, 7vw, 3.75rem); letter-spacing: -.04em; line-height: 1.1; margin: 0; }
.old-house-intro { color: #44403c; font-size: 1.125rem; line-height: 1.8; margin-top: 1.5rem; max-width: 34rem; }
.old-house-checklist { color: #44403c; line-height: 1.7; margin: 2rem 0 0; padding-left: 1.35rem; }
.old-house-checklist li::marker { color: #92400e; }

.old-house-tool-panel {
  align-self: center; background: #fff; border: 1px solid #e7e5e4; border-radius: 1rem;
  box-shadow: 0 12px 32px rgb(28 25 23 / 8%); padding: 1.5rem;
}
.old-house-tool-panel > h2 { font-size: 1.5rem; margin-top: 0; }
.old-house-tool-status { background: #fef3c7; border-radius: .5rem; color: #78350f; font-size: .9375rem; line-height: 1.6; padding: .875rem 1rem; }
.old-house-tool-steps { display: grid; gap: .75rem; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 1.5rem 0; padding: 0; }
.old-house-tool-steps li { background: #f5f5f4; border-radius: .5rem; color: #57534e; font-size: .875rem; line-height: 1.45; padding: .75rem; }
.old-house-tool-steps strong { color: #1c1917; display: block; font-size: .75rem; letter-spacing: .08em; margin-bottom: .35rem; }
.old-house-primary-link .wp-block-button__link { background: #92400e; border-radius: .5rem; font-weight: 700; padding: .8rem 1rem; }
.old-house-data-boundary { color: #78716c; font-size: .8125rem; line-height: 1.65; margin-top: 1rem; }

.old-house-shared-cta { background: #f5f5f4; border-top: 1px solid #e7e5e4; margin-top: 1rem; padding: 2.5rem 1.25rem; }
.old-house-shared-cta > * { margin-left: auto; margin-right: auto; max-width: 72rem; }
.old-house-shared-cta h2 { font-size: clamp(1.5rem, 4vw, 2rem); margin: 0; }
.old-house-footer { border-top: 1px solid #e7e5e4; color: #78716c; font-size: .75rem; line-height: 1.7; margin: 0 auto; max-width: 72rem; padding: 1.25rem; }
.old-house-empty-posts { color: #57534e; padding: 4rem 0; }

/* Homepage v2 and the shared decision-guide index. */
.old-house-home-v2,
.old-house-articles-index { color: #292524; }
.old-house-home-v2 *,
.old-house-articles-index * { box-sizing: border-box; }
.old-house-home-v2 a,
.old-house-articles-index a { text-underline-offset: .22em; }
.old-house-home-v2 a:focus-visible,
.old-house-articles-index a:focus-visible,
.old-house-site-header a:focus-visible,
.old-house-footer a:focus-visible { outline: 3px solid #b45309; outline-offset: 4px; }

.old-house-hero { max-width: 53rem; padding: clamp(3.25rem, 7vw, 5rem) 0 clamp(2.5rem, 4vw, 4rem); }
.old-house-hero .old-house-eyebrow,
.old-house-section-kicker,
.old-house-card-label,
.old-house-card-index { color: #92400e; font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.old-house-hero .old-house-title { font-size: clamp(2.5rem, 6.2vw, 5rem); line-height: 1.04; max-width: 15ch; text-wrap: balance; }
.old-house-hero .old-house-intro { font-size: clamp(1.05rem, 2.2vw, 1.3rem); line-height: 1.75; max-width: 44rem; }
.old-house-hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; margin-top: 2rem; }
.old-house-button { background: #78350f; border-radius: .55rem; color: #fff; display: inline-block; font-weight: 800; padding: .85rem 1.15rem; text-decoration: none; }
.old-house-button:hover { background: #5f2c0c; }
.old-house-text-link { color: #78350f; font-weight: 700; padding-block: .75rem; }
.old-house-limit { border-left: 3px solid #d6d3d1; color: #57534e; font-size: .9rem; line-height: 1.7; margin: 1.7rem 0 0; padding-left: .9rem; }

.old-house-section { border-top: 1px solid #ded8cf; padding: clamp(2.5rem, 4vw, 4rem) 0; scroll-margin-top: 1rem; }
.old-house-section > h2,
.old-house-index-group h2 { font-size: clamp(1.8rem, 4vw, 2.8rem); letter-spacing: -.025em; line-height: 1.18; margin: .45rem 0 2rem; text-wrap: balance; }
.old-house-topic-grid,
.old-house-tool-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.old-house-topic-card,
.old-house-guide-card,
.old-house-tool-card { background: #fff; border: 1px solid #ded8cf; border-radius: .8rem; padding: 1.4rem; }
.old-house-topic-card { display: flex; flex-direction: column; min-height: 16rem; }
.old-house-topic-card h3,
.old-house-guide-card h3,
.old-house-tool-card h3 { font-size: 1.2rem; line-height: 1.4; margin: .45rem 0 .65rem; }
.old-house-topic-card > p:not(.old-house-card-index),
.old-house-guide-card > p:last-child,
.old-house-tool-card dd { color: #57534e; line-height: 1.7; }
.old-house-topic-card > a,
.old-house-tool-card > a { color: #78350f; font-weight: 800; margin-top: auto; padding-top: 1rem; }
.old-house-policy-status { background: #f5f5f4; border-left: 3px solid #a8a29e; color: #57534e; margin: 1rem 0 0; padding: .8rem 1rem; }

.old-house-featured { background: #f4efe8; box-shadow: 50vw 0 #f4efe8, -50vw 0 #f4efe8; }
.old-house-guide-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.old-house-guide-card { min-width: 0; }
.old-house-guide-card h3 a { color: #292524; }
.old-house-guide-card > p:last-child { font-size: .94rem; }
.old-house-section-link { margin: 1.5rem 0 0; text-align: right; }
.old-house-section-link a { color: #78350f; font-weight: 800; }

.old-house-tool-card { display: flex; flex-direction: column; }
.old-house-tool-card dl { margin: .6rem 0 0; }
.old-house-tool-card dl div { border-top: 1px solid #e7e5e4; display: grid; gap: .35rem; grid-template-columns: 5.25rem 1fr; padding: .72rem 0; }
.old-house-tool-card dt { color: #292524; font-size: .82rem; font-weight: 800; }
.old-house-tool-card dd { font-size: .88rem; margin: 0; }
.old-house-methodology { display: grid; gap: 0 3rem; grid-template-columns: minmax(13rem, .75fr) minmax(0, 1.25fr); }
.old-house-methodology .old-house-section-kicker { grid-column: 1; }
.old-house-methodology h2 { grid-column: 1; }
.old-house-methodology-copy { grid-column: 2; grid-row: 1 / span 2; }
.old-house-methodology-copy p { color: #57534e; font-size: 1.02rem; line-height: 1.85; margin: 0 0 1.1rem; }

.old-house-articles-index { padding-bottom: 4rem; }
.old-house-index-intro { color: #57534e; font-size: 1.12rem; line-height: 1.8; max-width: 48rem; }
.old-house-index-group { border-top: 1px solid #ded8cf; margin-top: 3rem; padding-top: 3rem; }
.old-house-index-group > header { margin-bottom: 1.5rem; max-width: 48rem; }
.old-house-index-group > header h2 { margin-bottom: .65rem; }
.old-house-index-group > header > p:last-child { color: #57534e; line-height: 1.7; }
.old-house-footer-nav { font-size: .84rem; }
.old-house-footer-nav a { color: #57534e; }

@media (min-width: 48rem) {
  .old-house-home { align-items: center; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 4rem; min-height: calc(100vh - 13rem); }
}

@media (max-width: 30rem) {
  .old-house-site-header { align-items: flex-start; flex-direction: column; gap: .35rem; padding: .8rem 1rem; }
  .old-house-site-header .wp-block-navigation__container { column-gap: .8rem; }
  .old-house-site-header .wp-block-navigation-item__content { padding-block: .35rem; }
  .old-house-tool-panel { padding: .75rem; }
  .old-house-tool-steps { grid-template-columns: 1fr; }
}

@media (max-width: 47.99rem) {
  .old-house-main { padding-inline: 1rem; }
  .old-house-hero { padding: 2rem 0; }
  .old-house-hero .old-house-title { font-size: clamp(2.25rem, 11vw, 3.25rem); }
  .old-house-hero-actions { align-items: flex-start; flex-direction: column; }
  .old-house-topic-grid,
  .old-house-tool-grid,
  .old-house-guide-grid { grid-template-columns: 1fr; }
  .old-house-topic-card { min-height: 0; }
  .old-house-methodology { display: block; }
  .old-house-section-link { text-align: left; }
}

@media (min-width: 48rem) and (max-width: 68rem) {
  .old-house-site-header { align-items: flex-start; flex-direction: column; }
  .old-house-topic-grid,
  .old-house-tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Shared, server-rendered acquisition pages. */
.ohd-search-asset, .ohd-search-hub { max-width: 76ch; margin-inline: auto; line-height: 1.85; }
.ohd-search-asset, .ohd-search-hub { overflow-wrap: anywhere; line-break: strict; }
.ohd-search-asset p { padding-inline-end: .5em; }
.ohd-search-asset h2 { margin-block: 2.25rem .8rem; font-size: 1.4rem; }
.ohd-search-asset h3, .ohd-search-hub h3 { margin-top: 1.5rem; font-size: 1.15rem; }
.ohd-search-asset a, .ohd-search-hub a { text-underline-offset: .2em; }
.ohd-quick-answer { font-size: 1.15rem; border-inline-start: 4px solid #92551d; padding-inline-start: 1rem; }
.ohd-table { overflow-x: auto; margin-block: 1rem; }
.ohd-table table { width: 100%; border-collapse: collapse; }
.ohd-table th, .ohd-table td { padding: .75rem; border: 1px solid #d6d3d1; text-align: left; vertical-align: top; min-width: 8em; }
.ohd-tool-cta { display: inline-block; padding: .8rem 1.3rem; background: #78350f; color: #fff; border-radius: .65rem; }
.ohd-search-asset :focus-visible, .ohd-search-hub :focus-visible { outline: 3px solid #b45309; outline-offset: 3px; }

.ohd-policy-fields { display: grid; grid-template-columns: minmax(6em, 1fr) minmax(0, 3fr); gap: .3rem 1rem; padding: 1rem; background: #faf8f5; }
.ohd-policy-fields dt { font-weight: 600; }
.ohd-policy-fields dd { margin: 0; overflow-wrap: anywhere; }
.ohd-policy-fact { border-top: 1px solid #d6d3d1; margin-top: 2rem; padding-top: 1rem; }
.ohd-search-asset form { display: flex; flex-wrap: wrap; gap: .8rem; align-items: end; margin-block: 1.5rem; }
.ohd-search-asset form label { display: grid; gap: .25rem; }
.ohd-search-asset select, .ohd-search-asset button { font: inherit; padding: .5rem; max-width: 100%; }
@media (max-width: 600px) { .ohd-policy-fields { grid-template-columns: 1fr; } .ohd-policy-fields dd { margin-bottom: .5rem; } .ohd-search-asset form label { width: 100%; } }

/* Bounded core UX corrections: task entry, disclosure and touch targets. */
.old-house-task-links { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.25rem 0; }
.old-house-task-links a { display:flex; align-items:center; min-height:44px; padding:.65rem .9rem; border:1px solid #78350f; border-radius:.55rem; color:#78350f; font-weight:700; text-decoration:none; }
.old-house-task-links a:hover { background:#f4efe8; }
.old-house-task-links a:focus-visible { outline:3px solid #b45309; outline-offset:3px; }
.old-house-site-header .wp-block-navigation-item__content { display:flex; align-items:center; min-height:44px; box-sizing:border-box; }
.old-house-site-header .wp-block-site-title a { display:inline-flex; align-items:center; min-height:44px; }
.old-house-footer-nav a { display:inline-flex; align-items:center; min-height:44px; padding-inline:.25rem; font-size:.9375rem; }
.old-house-footer { font-size:.875rem; }
.old-house-index-group h2, #guide-next-steps, #hub-guides { scroll-margin-top:1rem; }
.ohd-hub-entry { border-left:3px solid #78350f; padding-left:1rem; margin:1.5rem 0 2rem; }
.ohd-editorial-details { color:#57534e; font-size:.9375rem; margin:1rem 0; }
.ohd-editorial-details summary, .ohd-next-jump a { display:inline-block; min-height:44px; padding-block:.5rem; box-sizing:border-box; cursor:pointer; }
.ohd-next-jump a { color:#78350f; font-weight:700; }
.ohd-tool-cta { text-decoration:none; }
@media(max-width:47.99rem) {
 .old-house-task-links { flex-direction:column; }
 .old-house-hero { padding:1.25rem 0; }
 .old-house-hero-actions { margin-top:1rem; gap:.35rem; }
 .old-house-hero-actions .old-house-button { background:transparent; color:#78350f; padding:.5rem 0; text-decoration:underline; font-weight:600; }
 .old-house-hero .old-house-intro { margin-top:1rem; }
 .old-house-site-header { padding-block:.5rem; }
}

/* A localized site title must remain inside the mobile navigation width. */
@media(max-width:47.99rem){.old-house-site-header .wp-block-site-title{white-space:normal;overflow-wrap:anywhere;max-width:100%}}

/* Issue 56: one house, three tasks, and a real excerpt from the existing tool. */
.old-house-home-v2 .old-house-workbook-art { display: block; height: auto; object-fit: contain; width: 100%; }
.old-house-home-v2 .old-house-workbook-illustration > p { margin: 0; }
.old-house-home-v2 .old-house-workbook-illustration--house { display: none; }
.old-house-home-v2 .old-house-topic-card .old-house-workbook-illustration { width: 7.5rem; margin-bottom: .75rem; }
.old-house-workbook-preview { background: #fff; border: 1px solid #ded8cf; border-radius: .25rem; box-shadow: 0 6px 20px rgb(41 37 36 / 5%); margin-bottom: 2rem; padding: clamp(1.25rem, 3vw, 2rem); }
.old-house-workbook-preview > header { border-bottom: 2px solid #78350f; padding-bottom: 1.25rem; }
.old-house-workbook-preview .old-house-workbook-caption { color: #78350f; font-size: .875rem; font-weight: 700; margin: 0 0 .5rem; }
.old-house-workbook-preview h3 { font-size: 1.5rem; line-height: 1.4; margin: 0 0 .75rem; }
.old-house-workbook-preview header > p:last-child { color: #57534e; font-size: 1rem; line-height: 1.7; margin: 0; }
.old-house-workbook-excerpt { display: grid; gap: 1.5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 1.5rem; }
.old-house-workbook-excerpt h4 { color: #292524; font-size: 1rem; margin: 0 0 .75rem; }
.old-house-workbook-excerpt ul { color: #57534e; font-size: 1rem; line-height: 1.75; margin: 0; padding-left: 1.25rem; }
.old-house-workbook-excerpt section { min-width: 0; }
@media (min-width: 64rem) {
  .old-house-home-v2 .old-house-hero { position: relative; max-width: none; }
  .old-house-home-v2 .old-house-hero-copy { max-width: 60%; }
  .old-house-home-v2 .old-house-workbook-illustration--house { display: block; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 37%; }
}
@media (max-width: 47.99rem) {
  .old-house-home-v2 .old-house-topic-card { position: relative; }
  .old-house-home-v2 .old-house-topic-card .old-house-workbook-illustration { position: absolute; right: 1.1rem; top: 1.1rem; width: 4.5rem; margin: 0; }
  .old-house-home-v2 .old-house-topic-card h3 { padding-right: 5rem; min-height: 3rem; }
  .old-house-workbook-excerpt { grid-template-columns: 1fr; }
  .old-house-workbook-excerpt section + section { border-top: 1px solid #ded8cf; padding-top: 1.25rem; }
}
