/* Audited repair layer. Late, narrowly scoped !important overrides the historical
   component rules without changing authored copy or removing responsive content. */
:root { --ch-cream:#F4F0E7; --ch-white:#FFFFFF; --ch-gold:#B59B73; --ch-green:#3F4E3B; --ch-deep:#32402F; --ch-header-portrait:#253122; --ch-ink:#292A28; }

/* Gold remains decorative; small text on light surfaces uses accessible green. */
body:has(.crafted-page) .crafted-page :is(.crafted-eyebrow,.crafted-hero-eyebrow,.crafted-hero-trust,.crafted-project-type,.crafted-about-person-name,.crafted-about-together-label,.crafted-about-principle-number,.kitchen-work-rebuild-type,.contact-v1-form-kicker,.process-v3-outcomes-title),
body:has(.crafted-page) .crafted-page :is(.adu-v1-work-card,.adu-v1-explore-card,.whole-v1-work-card,.whole-v1-explore-card,.bath-v2-work-card,.bath-v2-explore-card,.kitchen-v1-explore-card) > p {
 color:var(--ch-green)!important;
 font-size:12px!important; line-height:1.6!important;
}
body:has(.crafted-page) .crafted-page :is(.crafted-process-number,.process-v3-marker span) {font-size:14px!important;color:var(--ch-green)!important;}

/* Explicit foreground ownership prevents generic paragraph rules winning on green. */
body:has(.crafted-page) .crafted-page :is(.crafted-process,.crafted-about-personal,.crafted-about-final-cta,.adu-v1-statement,.adu-v1-final,.bath-v2-final,.whole-v1-final,.work-v1-details,.work-v1-final,.contact-v1-details) :is(h1,h2,h3,h4,p,li,strong,span,figcaption) {
 color:var(--ch-cream)!important;
}
body:has(.crafted-page) .crafted-page .contact-v1-details {background:var(--ch-green)!important;}
body:has(.crafted-page) .crafted-page :is(a[class*="button"],a[class*="-btn"],.crafted-header-cta,.crafted-mobile-cta) > span {color:inherit!important;}
body:has(.crafted-page) .crafted-page :is(.crafted-process,.adu-v1-final,.bath-v2-final,.whole-v1-final,.work-v1-final) a {color:var(--ch-cream)!important;}
body:has(.crafted-page) .crafted-page :is(.adu-v1-btn-light,.bath-v2-btn-light,.whole-v1-btn-light,.work-v1-btn-light) {background:var(--ch-cream)!important;color:var(--ch-deep)!important;}

/* Card rows must grow with real text, not reserve fixed desktop picture heights. */
body:has(.adu-v1) .adu-v1 .adu-v1-purpose-grid {align-items:stretch!important;gap:28px!important;}
body:has(.adu-v1) .adu-v1 .adu-v1-purpose-card {height:auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;padding:24px 20px!important;}
body:has(.adu-v1) .adu-v1 .adu-v1-purpose-icon {width:88px!important;height:88px!important;min-height:0!important;max-height:none!important;object-fit:contain!important;flex:none!important;margin:0 0 20px!important;}
body:has(.adu-v1) .adu-v1 .adu-v1-purpose-card :is(h3,p) {position:static!important;transform:none!important;height:auto!important;min-height:0!important;max-height:none!important;width:auto!important;}
body:has(.adu-v1) .adu-v1 .adu-v1-purpose-card p {font-size:15px!important;line-height:1.65!important;margin:12px 0 0!important;}
body:has(.adu-v1) .adu-v1 .adu-v1-purpose-grid + p {position:static!important;transform:none!important;clear:both!important;margin:28px auto 0!important;height:auto!important;}

body:has(.crafted-page) .crafted-page [class*="-grid"] > * {min-width:0;}
body:has(.work-v1) .work-v1 .work-v1-filters {display:flex!important;flex-wrap:wrap!important;overflow:visible!important;gap:10px!important;}
body:has(.work-v1) .work-v1 .work-v1-filter {min-height:44px!important;white-space:normal!important;line-height:1.4!important;}
body:has(.work-v1) .work-v1 .work-v1-card {grid-column:auto!important;}

/* Readable text and natural flow replace undersized/hidden mobile descriptions. */
body:has(.crafted-page) .crafted-page :is(.services-v1-primary-intro,.services-v1-team-copy,.services-v1-path,.crafted-about-together,.work-v1-intro,.kitchen-v1-explore-intro,.bath-v2-explore-intro,.adu-v1-explore-intro,.whole-v1-explore-intro) > p:not([class*="eyebrow"]):not(.crafted-about-together-label) {display:block!important;font-size:15px!important;line-height:1.65!important;height:auto!important;max-height:none!important;}
body:has(.services-v1) .services-v1 .services-v1-team {height:auto!important;min-height:0!important;align-items:stretch!important;}
body:has(.services-v1) .services-v1 .services-v1-team-copy {height:auto!important;min-height:0!important;overflow:visible!important;}
body:has(.services-v1) .services-v1 .services-v1-team-copy .crafted-text-link,
body:has(.services-v1) .services-v1 .services-v1-path .crafted-text-link {display:inline-flex!important;position:static!important;transform:none!important;font-size:12px!important;line-height:1.5!important;margin-top:18px!important;}

/* Stable, legible controls and a two-tone focus ring on light or dark surfaces. */
body:has(.crafted-page) .crafted-page :is(a[class*="button"],a[class*="-btn"],.crafted-header-cta,.crafted-mobile-cta,button.wpforms-submit) {min-height:44px!important;height:auto!important;white-space:normal!important;line-height:1.5!important;font-size:12px!important;}
body:has(.crafted-page) .crafted-page :is(a[class*="button"],a[class*="-btn"],.crafted-header-cta,.crafted-mobile-cta) span {font-size:inherit!important;line-height:inherit!important;}
:is(a,button,input,select,textarea,summary):focus-visible {outline:3px solid #32402F!important;outline-offset:4px!important;box-shadow:0 0 0 4px #FFFFFF!important;}
body:has(.crafted-page) .crafted-page :is(a,button,input,select,textarea,summary):focus-visible {outline:3px solid #32402F!important;outline-offset:4px!important;box-shadow:0 0 0 4px #FFFFFF!important;}
body:has(.crafted-page) .crafted-page :is(a[class*="button"],a[class*="-btn"],.crafted-header-cta,.crafted-mobile-cta,button.wpforms-submit):hover {background:var(--ch-deep)!important;color:var(--ch-white)!important;border-color:var(--ch-deep)!important;}
body:has(.crafted-page) .crafted-page .wpforms-required-label {color:var(--ch-deep)!important;}
body:has(.contact-v1) .contact-v1 .contact-v1-next span {background:var(--ch-green)!important;color:var(--ch-white)!important;}
body:has(.contact-v1) .contact-v1 .wpforms-container :is(input,textarea,select) {font-size:16px!important;line-height:1.5!important;}
body:has(.contact-v1) .contact-v1 .wpforms-container :is(input,textarea)::placeholder {color:var(--ch-green)!important;opacity:1!important;}
body:has(.contact-v1) .contact-v1 .wpforms-container label {line-height:1.5!important;}
.site-footer .site-info {color:var(--ch-ink);font-size:13px;line-height:1.6;padding:16px 20px;}

/* Slider labels live above the clipped image layers; neither is cut at 8%. */
body:has(.bathroom-v2) .bathroom-v2 .bath-v2-slider-handle {background:var(--ch-green)!important;color:var(--ch-white)!important;}
body:has(.bathroom-v2) .bathroom-v2 .bath-v2-slider-label {background:var(--ch-deep)!important;color:var(--ch-white)!important;font-size:12px!important;line-height:1.5!important;z-index:6!important;}

@media(max-width:600px) and (orientation:portrait){
 body:has(.adu-v1) .adu-v1 .adu-v1-purpose-card {display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;column-gap:20px!important;text-align:left!important;align-items:start!important;padding:24px 0!important;}
 body:has(.adu-v1) .adu-v1 .adu-v1-purpose-icon {grid-column:1!important;grid-row:1 / span 2!important;width:64px!important;height:64px!important;margin:0!important;}
 body:has(.adu-v1) .adu-v1 .adu-v1-purpose-card :is(h3,p) {grid-column:2!important;}
 body:has(.services-v1) .services-v1 .services-v1-team {display:flex!important;flex-direction:column!important;}
 body:has(.services-v1) .services-v1 .services-v1-team-image,
 body:has(.services-v1) .services-v1 .services-v1-team-image img {width:100%!important;height:300px!important;object-fit:cover!important;}
 body:has(.services-v1) .services-v1 .services-v1-team-copy {padding:32px 24px!important;}
}
@media(prefers-reduced-motion:reduce){
 html {scroll-behavior:auto!important;}
 body:has(.crafted-page) .crafted-page * {animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}

/* Correct each final call-to-action against its actual surface. */
body:has(.crafted-page) .crafted-page :is(.crafted-about-stat-label,.crafted-text-link,.crafted-text-link span,.crafted-process-link,.crafted-process-link span,.services-v1-card-label,.services-v1-card-link,.services-v1-card-link b,.kitchen-work-rebuild-all,.kitchen-work-rebuild-all span,.adu-v1-work-link,.bath-v2-work-link,.whole-v1-work-link,.whole-v1-text-link,.work-v1-filter,.work-v1-card p,.work-v1-card span,.work-v1-details a,.work-v1-final a,[class*="-explore-card"] span) {font-size:12px!important;line-height:1.6!important;}
body:has(.crafted-page) .crafted-page .whole-v1-explore > .whole-v1-section-head > p:not([class*="eyebrow"]) {font-size:15px!important;line-height:1.65!important;}
body:has(.crafted-page) .crafted-page .crafted-service-copy p {font-size:14px!important;line-height:1.5!important;}
body:has(.crafted-page) .crafted-page a:is(.adu-v1-final-button,.bath-v2-final-button,.whole-v1-final-button) {background:var(--ch-cream)!important;color:var(--ch-deep)!important;}
@media(min-width:1101px){body:has(.crafted-page) .crafted-page .crafted-hero {height:auto!important;min-height:650px!important;}}
body:has(.crafted-page) .crafted-page .work-v1-final :is(h2,p) {color:var(--ch-deep)!important;}
body:has(.crafted-page) .crafted-page :is(.kitchen-v1-final,.services-v1-final) .crafted-eyebrow {color:var(--ch-cream)!important;}
body:has(.crafted-page) .crafted-page :is(.kitchen-v1-final,.services-v1-final) .crafted-primary-button {background:var(--ch-cream)!important;color:var(--ch-deep)!important;}
body:has(.crafted-page) .crafted-page :is(.kitchen-v1-final,.services-v1-final) .crafted-primary-button > span {color:var(--ch-deep)!important;-webkit-text-fill-color:var(--ch-deep)!important;}
body:has(.crafted-page) .crafted-page :is(.kitchen-v1-final,.services-v1-final) .crafted-primary-button:hover > span {color:var(--ch-white)!important;-webkit-text-fill-color:var(--ch-white)!important;}
@media(max-width:1100px){
 body:has(.crafted-page) .crafted-page .crafted-header-logo::before {display:block!important;content:""!important;}
 body:has(.crafted-page) .crafted-page {margin-top:0!important;padding-top:64px!important;}
 body:has(.crafted-page) .crafted-page-header {position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;height:64px!important;min-height:64px!important;max-height:none!important;padding:0!important;margin:0!important;background:var(--ch-green)!important;z-index:1000!important;}
 body:has(.crafted-page) .crafted-header-inner {display:flex!important;justify-content:space-between!important;align-items:center!important;width:100%!important;height:64px!important;min-height:64px!important;max-height:none!important;margin:0!important;padding:8px 16px!important;}
 body:has(.crafted-page) .crafted-header-logo {display:block!important;width:46px!important;max-width:46px!important;height:46px!important;flex:0 0 46px!important;margin:0!important;}
 body:has(.crafted-page) .crafted-header-logo img {display:none!important;}
 body:has(.crafted-page) .crafted-header-logo::before {content:"";display:block;width:46px!important;height:46px!important;background:url('/wp-content/uploads/crafted-ready-20260926/website-crafted-home-white-gold-monogram.webp') center/contain no-repeat;}
 body:has(.crafted-page) :is(.crafted-header-nav,.crafted-header-cta) {display:none!important;}
 body:has(.crafted-page) .crafted-mobile-menu {display:block!important;width:48px!important;height:48px!important;position:relative;margin:0!important;}
 body:has(.crafted-page) .crafted-mobile-menu-toggle {display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important;width:48px!important;height:48px!important;padding:0!important;margin:0!important;z-index:1400!important;list-style:none!important;background:transparent!important;border:0!important;cursor:pointer;}
 .crafted-mobile-menu-toggle::-webkit-details-marker {display:none;}
 body:has(.crafted-page) .crafted-mobile-menu-toggle::before {content:"☰";font:29px/1 Arial!important;color:white!important;-webkit-text-fill-color:white!important;}
 body:has(.crafted-page) .crafted-mobile-menu[open] .crafted-mobile-menu-toggle {position:fixed!important;right:16px!important;top:8px!important;}
 body:has(.crafted-page) .crafted-mobile-menu[open] .crafted-mobile-menu-toggle::before {content:"×";color:var(--ch-deep)!important;-webkit-text-fill-color:var(--ch-deep)!important;}
 .crafted-mobile-menu-backdrop {position:fixed;inset:0;z-index:998;background:rgba(25,25,23,.38);}
 .crafted-mobile-menu-panel {position:fixed!important;top:0!important;right:0!important;z-index:1200!important;display:flex;flex-direction:column;width:min(86vw,385px)!important;height:100dvh!important;padding:24px 27px!important;overflow-y:auto;background:var(--ch-cream)!important;}
 .crafted-mobile-menu-top {min-height:82px;padding-right:48px;}
 .crafted-mobile-menu-top img {width:210px;max-width:100%;height:auto;}
 .crafted-mobile-nav {display:flex;flex-direction:column;padding:20px 0;}
 body:has(.crafted-page) .crafted-mobile-nav a {display:block!important;padding:12px!important;font-size:18px!important;line-height:1.5!important;color:var(--ch-ink)!important;border-bottom:1px solid var(--ch-gold);}
 body:has(.crafted-page) .crafted-mobile-cta {display:flex!important;align-items:center;justify-content:center;padding:12px!important;background:var(--ch-green)!important;color:white!important;}
 .crafted-mobile-menu-footer {margin:24px -27px -24px;padding:28px;background:var(--ch-green);}
 body:has(.crafted-page) .crafted-mobile-menu-footer p {color:var(--ch-cream)!important;font-size:13px!important;line-height:1.6!important;}
}
/* A deeper olive distinguishes the fixed portrait header from green page sections. */
@media(max-width:600px) and (orientation:portrait){
 body:has(.crafted-page) .crafted-page-header {background:var(--ch-header-portrait)!important;}
}
/* Tablet process cards need enough width for their headings and icon column. */
@media(min-width:768px) and (max-width:900px){
 body:has(.contact-v1) .contact-v1-next .contact-v1-steps {grid-template-columns:minmax(0,1fr)!important;}
}
body:has(.contact-v1) .contact-v1 .contact-v1-contact-lines a {color:var(--ch-cream)!important;}
/* Services cards scale with large desktops instead of remaining a narrow strip. */
@media(min-width:1101px){
 body:has(.services-v1) .services-v1 .services-v1-primary-inner {width:92%!important;max-width:1520px!important;}
 body:has(.services-v1) .services-v1 .services-v1-grid {gap:24px!important;align-items:stretch!important;}
 body:has(.services-v1) .services-v1 .services-v1-card {display:flex!important;flex-direction:column!important;}
 body:has(.services-v1) .services-v1 .services-v1-card-copy {flex:1!important;padding:22px!important;}
}
/* WordPress toolbar occupies its own space above the fixed mobile controls. */
body.admin-bar:has(.crafted-page) {--crafted-admin-offset:32px;}
@media(max-width:782px){body.admin-bar:has(.crafted-page){--crafted-admin-offset:46px;}}
@media(max-width:1100px){
 body.admin-bar:has(.crafted-page) .crafted-page-header,
 body.admin-bar:has(.crafted-page) .crafted-mobile-menu-panel {top:var(--crafted-admin-offset)!important;}
 body.admin-bar:has(.crafted-page) .crafted-mobile-menu-panel {height:calc(100dvh - var(--crafted-admin-offset))!important;}
 body.admin-bar:has(.crafted-page) .crafted-mobile-menu[open] .crafted-mobile-menu-toggle {top:calc(var(--crafted-admin-offset) + 8px)!important;}
}
@media(max-width:600px){body.admin-bar:has(.crafted-page) #wpadminbar{position:fixed;}}
@media(min-width:768px) and (max-width:1100px){
 body:has(.crafted-about-page) .crafted-about-page .crafted-about-experience-inner {grid-template-columns:minmax(280px,1fr) minmax(0,1fr)!important;gap:30px!important;}
 body:has(.process-v3) .process-v3 .process-v3-step {grid-template-columns:72px minmax(0,1fr) minmax(210px,.55fr)!important;gap:28px!important;}
 body:has(.process-v3) .process-v3 .process-v3-step-photo {grid-column:3!important;}
 body:has(.process-v3) .process-v3 .process-v3-outcomes {grid-column:2 / 4!important;margin-top:5px!important;}
}
