/*
 * Final readability layer for the core 50+ audience.
 * Loaded after all page-specific styles: keep useful text at 16–18 px,
 * use one readable secondary grey, and preserve the green brand accent.
 */
:root{
  --muted:#333;
  --readable-muted:#333;
  --readable-label:#444;
}

/* Shared controls and supporting interface text. */
main .button,
main .about-button,
main .text-link,
main [class*="__cta"],
main [class*="__action"]{font-size:16px!important;line-height:1.4}

main .crumbs,
main .kicker,
main .eyebrow,
main small{font-size:16px!important;line-height:1.5}

/* Light-background copy: no pale decorative greys. */
.section-head p,
.latest-articles .section-head p,
.journey-note span,
.step p,
.value-card p,
.value-foot,
.sale-head p,
.trust-copy p,
.form-copy p,
.gift span,
.kitchen-new__head p,
.kitchen-new__content>span:not(.kitchen-new__brand),
.seo-copy,
.about-hero__heading>p,
.about-founder__story>p,
.about-principles__head>p,
.about-principle p,
.about-path__copy li p,
.about-brand__copy p,
.articles-hero p,
.article-card p,
.article-content>p,
.article-content>ul li,
.article-facts p,
.article-next__body>p,
.contact-hero p,
.contact-channel p,
.contact-visit p,
.contact-requisites p,
.partners-hero__copy>p,
.partners-benefits p,
.partners-section-head>p,
.partner-card p,
.partners-faq details p,
.partner-detail__intro>p,
.partner-detail__copy p,
.partner-detail__gallery header>p,
.partner-detail__range-grid>div:first-child>p,
.partner-detail__range-list p,
.sale-hero__lead,
.sale-benefit p,
.sale-showcase__head p,
.sale-page-card p,
.sale-product-proof p,
.sale-product-materials__list p,
.sale-product-package__head p,
.sale-package-card li,
.sale-product-math p,
.catalog-model-hero__copy>p,
.catalog-model-story__head p,
.catalog-model-finishes__head>p,
.finish-group__note,
.catalog-model-depth__head>p,
.catalog-model-depth__copy p,
.catalog-model-features__head>p,
.catalog-model-features .catalog-model-feature p,
.catalog-product-dialog__price span{
  color:var(--readable-muted);
  font-size:18px;
  line-height:1.65;
}

/* Cards and compact descriptions may be slightly smaller, never tiny. */
.decision-item span,
.editorial-card__body>span:not(.editorial-meta),
.product-card p,
.product-card__description,
.catalog-model-ribbon p,
.catalog-model-cta__copy>p,
.catalog-model-cta__copy li b,
.catalog-model-cta__copy>small,
.catalog-product-dialog__price small,
.sale-fit__steps span,
.partners-process li span,
.partner-detail__work li span{
  font-size:17px;
  line-height:1.6;
}

/* Product hero: labels and values get real room instead of overlapping. */
.catalog-model-specs>div{
  grid-template-columns:minmax(190px,.58fr) minmax(0,1.42fr);
  gap:28px;
  align-items:center;
  min-height:64px;
  padding:14px 0;
}
.catalog-model-specs small{
  color:var(--readable-label);
  font-size:16px!important;
  line-height:1.4;
  letter-spacing:.075em;
}
.catalog-model-specs b{
  min-width:0;
  color:var(--ink);
  font-size:18px;
  line-height:1.5;
}
.catalog-model-official-link{
  font-size:16px;
  line-height:1.45;
}
.catalog-model-hero__copy .catalog-model-action .about-button{
  width:min(100%,340px);
  min-height:62px;
  padding:0 24px;
  background:var(--red);
  color:#fff;
  font-size:16px;
}
.catalog-model-hero__copy .catalog-model-action .about-button:hover{background:var(--red-dark)}
.catalog-model-action>small{
  margin-top:14px;
  color:var(--readable-muted);
  font-size:17px!important;
  line-height:1.55;
}

/* The product summary is informational, not a black decorative banner. */
.catalog-model-ribbon{
  border:1px solid #d8d4ce;
  background:#f3f1ed;
  color:var(--ink);
}
.catalog-model-ribbon>div{min-height:230px;border-right:1px solid #d8d4ce}
.catalog-model-ribbon>div:last-child{border-right:0}
.catalog-model-ribbon span{color:#555}
.catalog-model-ribbon small{color:#0b8f15;font-size:16px;line-height:1.45}
.catalog-model-ribbon b{color:var(--ink);font-size:clamp(1.55rem,2vw,2rem)}
.catalog-model-ribbon p{max-width:360px;color:var(--readable-muted)}

/* Avoid large black panels: use the studio's warm light surfaces instead. */
.catalog-model-materials,
.catalog-model-cta__copy{
  background:#f3f1ed;
  color:var(--ink);
}
.catalog-model-materials__head .kicker,
.catalog-model-materials__grid span,
.catalog-model-cta__copy .kicker,
.catalog-model-cta__copy li span{color:#0b8f15}
.catalog-model-materials__head>p,
.catalog-model-materials__grid p,
.catalog-model-cta__copy>p,
.catalog-model-cta__copy>small{color:var(--readable-muted)}
.catalog-model-materials__grid,
.catalog-model-materials__grid article,
.catalog-model-cta__copy ul,
.catalog-model-cta__copy li{border-color:#d8d4ce}
.catalog-model-features .catalog-model-feature.is-active{
  border-color:#d8d4ce;
  background:#ebe8e2;
  color:var(--ink);
}
.catalog-model-features .catalog-model-feature.is-active>span{color:#0b8f15}
.catalog-model-features .catalog-model-feature.is-active p{color:var(--readable-muted)}

/* Shared optional comment field used by every lead form. */
.customer-comment-field{width:100%;margin:0 0 22px}
.customer-comment-field label>span:first-child{
  display:block;
  margin-bottom:8px;
  color:#3f3f3f;
  font-size:16px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.customer-comment-field .wpcf7-form-control-wrap{display:block}
.customer-comment-field textarea{
  display:block;
  width:100%;
  min-height:112px;
  padding:16px 18px;
  border:1px solid #d9d4cd;
  border-radius:0;
  background:#fff;
  color:var(--ink);
  font-size:18px;
  line-height:1.5;
  resize:vertical;
  outline:0;
}
.customer-comment-field textarea::placeholder{color:#555;opacity:1}
.customer-comment-field textarea:focus{border-color:var(--red);box-shadow:0 0 0 2px rgba(19,195,32,.1)}
.quiz-lead-form .customer-comment-field{margin-top:14px}

@media(min-width:901px){
  .catalog-model-ribbon>div{grid-template-rows:auto 92px minmax(59px,auto)}
  .catalog-model-ribbon b{align-self:start}
}
@media(min-width:641px) and (max-width:900px){
  .catalog-model-ribbon>div{grid-template-rows:auto 118px minmax(59px,auto)}
  .catalog-model-ribbon b{align-self:start}
}
@supports(grid-template-rows:subgrid){
  @media(min-width:641px){
    .catalog-model-ribbon{grid-template-rows:auto auto auto}
    .catalog-model-ribbon>div{grid-row:span 3;grid-template-rows:subgrid}
  }
}

/* Product-detail captions and finish controls. */
.catalog-model-hero__visual figcaption span,
.catalog-model-gallery--official button>span,
.catalog-model-depth__photo>span,
.catalog-model-depth__copy small,
.catalog-model-depth__pair em,
.catalog-model-depth__panorama small,
.catalog-model-depth__panorama em,
.catalog-model-features__visual figcaption,
.finish-jump a,
.finish-group summary em,
.finish-sample span,
.finish-more b,
.material-card__copy small,
.material-card__copy em{
  font-size:16px;
  line-height:1.5;
}
.finish-group__note{color:var(--readable-muted)}
.finish-group summary em{color:#444}

/* Catalog, sale, partners and article cards. */
.catalog-search>span:first-child,
.catalog-facet legend,
.catalog-page .filter,
.catalog-result-count,
.catalog-sort,
.catalog-sort__trigger b,
.catalog-sort__menu button,
.product-card__type,
.product-card__facts span,
.product-card__price small,
.product-card__badge,
.sale-primary,
.sale-secondary,
.sale-hero__note,
.sale-page-card__status,
.sale-page-card__economy,
.partner-card__image span,
.partner-card__meta,
.partner-card a,
.article-card__meta,
.article-toc nav a,
.article-cover figcaption span,
.article-next__top,
.article-next__tags i,
.article-next__action{
  font-size:16px;
  line-height:1.45;
}
.catalog-search>span:first-child,
.catalog-facet legend,
.catalog-sort{color:var(--readable-label)}

/* White copy on imagery/dark panels needs opacity high enough to read. */
.product-card p,
.product-card__facts span,
.product-card__price small,
.sale-hero__saving small,
.partner-detail__hero figcaption span,
.partner-detail__shot figcaption,
.material-card__copy small,
.material-card__copy em,
.catalog-model-cta__visual figcaption span{color:rgba(255,255,255,.92)}

/* About: labels, image captions and service explanations are useful copy. */
.about-hero__video figcaption span,
.about-hero__facts span,
.about-founder__label,
.about-founder__person span,
.about-founder__profile figcaption span,
.about-showroom__gallery figcaption span,
.about-principle-card__top small,
.about-principle-card p,
.about-material-tags li,
.about-control-route span,
.about-path__visual figcaption,
.about-brand__logos span,
.about-brand__copy a,
.about-cta__inner figcaption span,
.about-cta__content li b,
.about-cta__content>small{
  font-size:16px!important;
  line-height:1.55;
}
.about-hero__facts span,
.about-founder__label,
.about-principle-card__float p,
.about-cta__content>p,
.about-cta__content>small{color:var(--readable-muted)}
.about-cta__content>p{font-size:18px!important;line-height:1.65}
.about-showroom__gallery figcaption span,
.about-principle-card--materials p,
.about-principle-card--control p,
.about-path__visual figcaption,
.about-cta__inner figcaption span{color:rgba(255,255,255,.92)}

/* Contacts: route, channels and form must be comfortably readable. */
.contact-hero__route,
.contact-hero__place small,
.contact-hero__place>div span,
.contact-hero__place time,
.contact-channel small,
.contact-channel i,
.contact-secondary-phone,
.contact-route__facts span,
.contact-visit__promise span,
.contact-visit__counter,
.contact-visit__form label>span,
.contact-visit__form input,
.contact-visit__form select,
.contact-visit__consents label,
.contact-visit__success a,
.contact-faq p,
.contact-requisites summary span,
.contact-requisites__grid p,
.contact-requisites__grid small{
  font-size:16px!important;
  line-height:1.55;
}
.contact-hero__place small,
.contact-hero__place>div span,
.contact-hero__place time,
.contact-route__facts span,
.contact-visit__form label>span,
.contact-visit__form input,
.contact-visit__form select,
.contact-visit__consents label,
.contact-requisites summary span,
.contact-requisites__grid small{color:var(--readable-muted)}
.contact-visit__form input,.contact-visit__form select{min-height:56px}

/* Floating and consent interfaces are part of the customer journey too. */
.design-capture-popup:before{font-size:14px}
.design-capture-popup p{color:var(--readable-muted);font-size:17px;line-height:1.6}
.design-capture-popup__action{font-size:16px;line-height:1.4}
.design-capture-popup__note{color:var(--readable-label);font-size:15px;line-height:1.5}
.cookie-banner p,.cookie-settings__intro,.cookie-choice p{color:var(--readable-muted);font-size:16px;line-height:1.55}
.cookie-button,.cookie-choice b,.cookie-settings-link{font-size:16px;line-height:1.45}

/* Final page-by-page audit: remove the remaining 10–15 px legacy rules. */
.home .hero .button,
.home .scroll,
.capture-strip__inner small,
.capture-strip__inner>div>span,
.capture-strip__action,
.value-card__index,
.value-card__detail,
.value-card--award p,
.editorial-meta,
.editorial-link,
.editorial-card__body i,
.editorial-excerpt,
.sale-brand,
.sale-link,
.kitchen-new__brand,
.kitchen-new__content i,
.kitchen-new__cta>span,
.quiz-reward small,
.quiz-progress__meta,
.quiz-status__copy small,
.quiz-badges span,
.quiz-back,
.quiz-next{
  font-size:16px!important;
  line-height:1.5;
}
.value-card--award p,.editorial-excerpt{font-size:17px!important;line-height:1.6}

.catalog-page .filter,
.catalog-page .catalog-reset,
.catalog-filter-open,
.catalog-result-count,
.catalog-sort,
.catalog-sort__trigger b,
.catalog-sort__menu button,
.catalog-page .product-card__type,
.catalog-page .product-card__facts span,
.catalog-page .product-card__price small,
.catalog-page .product-card__badge{
  font-size:16px!important;
  line-height:1.45;
}
.catalog-page .product-card__type,
.catalog-page .product-card__facts span,
.catalog-page .product-card__price small{color:rgba(255,255,255,.92)}

.sale-page-card__status,
.official-pill,
.sale-page-card__price s,
.sale-page-card__economy,
.sale-secondary,
.sale-hero__note{font-size:16px!important;line-height:1.45}
.sale-page-card__price s{color:#444}

.partners-hero__actions>a:last-child,
.partners-hero__visual figcaption span,
.partner-card__image span,
.partner-card__meta,
.partner-card a{font-size:16px!important;line-height:1.5}
.partners-hero__visual figcaption span{color:rgba(255,255,255,.92)}

.article-hero__meta,
.article-toc>span,
.article-toc nav a,
.article-toc__action,
.article-cover figcaption span,
.article-cover figcaption b,
.article-content>figure figcaption,
.article-content>ul li,
.article-facts span,
.article-facts p,
.article-checklist li,
.article-checklist li:before,
.article-conclusion>span,
.article-author small,
.article-author span,
.article-offer__badge,
.article-offer__card p,
.article-offer__footer small,
.article-next__top,
.article-next__tags i,
.article-next__action,
.article-next__card figcaption,
.article-next__card figcaption b{
  font-size:16px!important;
  line-height:1.55;
}
.article-content>ul li,.article-facts p,.article-checklist li,.article-offer__card p{font-size:17px!important;line-height:1.65}

/* Quiz/result form on the home page. */
.quiz-top>div:first-child>p,
.quiz-reward span,
.quiz-status__copy p,
.quiz-question__tag,
.quiz-option small,
.quiz-result>p,
.quiz-unlocked,
.quiz-result__summary span,
.quiz-contact-grid label>span,
.quiz-lead-form .consent-check,
.quiz-success p{font-size:16px!important;line-height:1.5;color:#333}
.quiz-status__copy p{color:rgba(255,255,255,.92)}

/* Empty catalog state and filter labels. */
.catalog-facet label,.catalog-empty p,.catalog-empty button{font-size:16px!important;line-height:1.5}
.catalog-empty p{color:var(--readable-muted)}

/* Sale detail: the entire commercial offer remains legible at a glance. */
.sale-product-visual__caption span,
.sale-product-buy__brand,
.sale-product-buy__model,
.sale-product-buy__price s,
.sale-product-buy__save,
.sale-product-buy__included span,
.sale-product-buy__note,
.sale-product-buy__phone,
.sale-product-materials__image>span,
.sale-product-materials__list small,
.sale-package-card__brand,
.sale-price-compare__row div,
.sale-price-compare__saving span,
.sale-proof-card__top>span,
.sale-proof-saving__top>span,
.sale-proof-card__top>small,
.sale-proof-saving__top>small,
.sale-proof-ring small,
.sale-proof-brands i,
.sale-proof-size__line span,
.sale-proof-size__line small,
.sale-proof-showroom__body>span,
.sale-proof-showroom i{
  font-size:16px!important;
  line-height:1.5;
}
.sale-product-buy__lead,
.sale-product-proof p,
.sale-product-story__head p,
.sale-product-materials__list p,
.sale-product-package__head p,
.sale-package-card li,
.sale-product-math p,
.sale-product-check__steps p,
.sale-product-check__copy>p,
.sale-proof-saving p,
.sale-proof-tech>p{
  font-size:17px!important;
  line-height:1.65;
}
.sale-product-buy__model,
.sale-product-buy__price s,
.sale-product-buy__lead,
.sale-product-buy__note,
.sale-product-package__head p,
.sale-package-card li,
.sale-product-check__steps p,
.sale-product-check__copy>p{color:var(--readable-muted)}
.sale-product-visual__caption span,.sale-proof-showroom__body>span{color:rgba(255,255,255,.92)}

.catalog-model-cta__visual figcaption span{font-size:16px!important}

/* Site-wide palette guard: large information panels stay light and readable. */
.catalog-model-ribbon,
.catalog-model-materials,
.catalog-model-cta__copy,
.sale-fit,
.sale-product-math,
.partners-process,
.partner-detail__work{
  background:#f3f1ed!important;
  color:var(--ink)!important;
}
.sale-fit,
.sale-product-math,
.partners-process,
.partner-detail__work{border-top:1px solid #dedad3;border-bottom:1px solid #dedad3}
.sale-fit p,.sale-fit__steps span,
.sale-product-math p,.sale-price-compare__row div,.sale-price-compare__saving span,
.partners-process p,.partners-process li span,
.partner-detail__work-grid>div>p,.partner-detail__work li span,
.catalog-model-ribbon span,.catalog-model-ribbon p,
.catalog-model-materials__head>p,.catalog-model-materials__grid p,
.catalog-model-cta__copy>p,.catalog-model-cta__copy>small{color:#333!important}
.sale-fit__steps,.sale-price-compare,.partners-process ol,.partner-detail__work ol{border-color:#d4d0c9!important}
.sale-fit__steps div,.sale-price-compare__row,.partners-process li,.partner-detail__work li,
.catalog-model-ribbon>div,.catalog-model-materials__grid,.catalog-model-materials__grid article,
.catalog-model-cta__copy ul,.catalog-model-cta__copy li{border-color:#d4d0c9!important}
.sale-price-compare__row b{color:var(--ink)!important}
.sale-price-compare__bar{background:#dedad3!important}
.catalog-model-official-link{color:#333!important;border-bottom-color:#777!important}

@media(max-width:900px){
  .catalog-model-specs>div{grid-template-columns:minmax(160px,.55fr) minmax(0,1.45fr);gap:20px}
}

@media(max-width:640px){
  main .crumbs,main .kicker,main .eyebrow,main small{font-size:16px!important}
  .section-head p,.catalog-model-hero__copy>p,.catalog-model-story__head p,
  .catalog-model-finishes__head>p,.catalog-model-depth__head>p,
  .catalog-model-depth__copy p,.catalog-model-features__head>p,
  .catalog-model-features .catalog-model-feature p,
  .partners-hero__copy>p,.partner-detail__intro>p,.partner-detail__copy p,
  .sale-hero__lead,.sale-page-card p,.article-content>p{font-size:17px}
  .catalog-model-specs>div{grid-template-columns:1fr;gap:5px;min-height:0;padding:14px 0}
  .catalog-model-specs small{font-size:16px}
  .catalog-model-specs b{font-size:18px}
  .catalog-model-ribbon{padding:0}
  .catalog-model-ribbon>div{min-height:0;border-right:0;border-bottom:1px solid #d8d4ce}
  .catalog-model-ribbon>div:last-child{border-bottom:0}
  .category-card__body{align-items:flex-start;flex-direction:column}
  .site-no-wrap{display:block;margin-top:4px;white-space:nowrap}
  .catalog-model-cta__inner,.catalog-model-cta__inner>*{min-width:0}
  .catalog-model-cta .catalog-model-cta__copy .about-button{
    white-space:normal;
    text-align:left;
    min-height:68px;
    padding-top:14px;
    padding-bottom:14px;
  }
}
