/* HARDWOOD 1.0.16 candidate: shared presentation contract.
 * Text roles define size and rhythm explicitly; colors use verified surface adapters.
 * Semantic states, icon fonts, photos, navigation behavior and content stay intact.
 */
body.hw-grafit {
  --hw-font-text: Arial, Helvetica, sans-serif;
  --hw-color-text: #272722;
  --hw-color-muted: #605d57;
  --hw-color-link: #705c3e;
  --hw-color-link-hover: #57462f;
  --hw-color-paper: #fbfaf7;
  --hw-color-surface: #f0ede7;
  --hw-color-dark: #252522;
  --hw-color-inverse: #f2f0ea;
  --hw-color-inverse-link: #d6c2a0;
  --hw-color-button: #d6c2a0;
  --hw-color-button-hover: #e3d2b6;
  --hw-color-button-text: #2f2b24;
  --hw-color-border: #d8d4cc;
}

/* Real text elements, including inline descendants which do not inherit font.
 * Never use a universal font rule: the same widgets contain icon-font glyphs.
 * No ::before/::after font rules are introduced here.
 */
body.hw-grafit .hw-content :is(p,h1,h2,h3,h4,h5,h6,a,li,dt,dd,blockquote,figcaption,summary,label,caption,th,td):not(:where(#root,#root *,[aria-hidden="true"],[aria-hidden="true"] *,i,svg,svg *, .elementor-icon,.elementor-icon *,.elementor-button-icon,.elementor-button-icon *,.elementor-accordion-icon,.elementor-accordion-icon *,.elementor-toggle-icon,.elementor-toggle-icon *,.super-icon,.super-icon *,.fa,.fas,.far,.fal,.fab,.fad,.fak,.eicon,.eicons,[class^="eicon-"],[class*=" eicon-"],[class^="flaticon-"],[class*=" flaticon-"],[class^="icofont-"],[class*=" icofont-"],[class^="ti-"],[class*=" ti-"],[class^="pe-7s-"],[class*=" pe-7s-"],[style*="Font Awesome"],[style*="FontAwesome"],[class^="flaticon-"],[class*=" flaticon-"],[class^="icofont-"],[class*=" icofont-"],[class^="ti-"],[class*=" ti-"],[class^="pe-7s-"],[class*=" pe-7s-"],[style*="eicons"],[style*="eicons"])),
body.hw-grafit .hw-content :is(p,h1,h2,h3,h4,h5,h6,a,li,dt,dd,blockquote,figcaption,summary,label,caption,th,td) :is(span,strong,b,em):not(:where(#root,#root *,[aria-hidden="true"],[aria-hidden="true"] *,i,i *,svg,svg *, .elementor-icon,.elementor-icon *,.elementor-button-icon,.elementor-button-icon *,.elementor-accordion-icon,.elementor-accordion-icon *,.elementor-toggle-icon,.elementor-toggle-icon *,.super-icon,.super-icon *,.fa,.fa *,.fas,.fas *,.far,.far *,.fal,.fal *,.fab,.fab *,.fad,.fad *,.fak,.fak *,.eicon,.eicons,[class^="eicon-"],[class*=" eicon-"],[class^="flaticon-"],[class*=" flaticon-"],[class^="icofont-"],[class*=" icofont-"],[class^="ti-"],[class*=" ti-"],[class^="pe-7s-"],[class*=" pe-7s-"],[style*="Font Awesome"],[style*="FontAwesome"],[class^="flaticon-"],[class*=" flaticon-"],[class^="icofont-"],[class*=" icofont-"],[class^="ti-"],[class*=" ti-"],[class^="pe-7s-"],[class*=" pe-7s-"],[style*="eicons"],[style*="eicons"])) {
  font-family: var(--hw-font-text) !important;
}

/* Elementor sometimes stores prose headings or button text in spans. */
body.hw-grafit .hw-content :is(.elementor-heading-title,.elementor-button-text,.elementor-icon-list-text,.elementor-icon-box-title,.elementor-icon-box-description):not(:where(i,svg,svg *,.elementor-icon,.elementor-icon *,[aria-hidden="true"],[aria-hidden="true"] *)),
body.hw-grafit .hw-content :is(.elementor-heading-title,.elementor-button-text,.elementor-icon-list-text,.elementor-icon-box-title,.elementor-icon-box-description) :is(span,strong,b,em):not(:where(i,i *,svg,svg *,.elementor-icon,.elementor-icon *,.elementor-button-icon,.elementor-button-icon *,.fa,.fas,.far,.fal,.fab,.fad,.fak,.eicon,.eicons,[class^="eicon-"],[class*=" eicon-"],[style*="Font Awesome"],[style*="FontAwesome"],[class^="flaticon-"],[class*=" flaticon-"],[class^="icofont-"],[class*=" icofont-"],[class^="ti-"],[class*=" ti-"],[class^="pe-7s-"],[class*=" pe-7s-"],[style*="eicons"],[aria-hidden="true"],[aria-hidden="true"] *)) {
  font-family: var(--hw-font-text) !important;
}

/* Form text: sizes, values, validation, colors of state messages and layout stay.
 * B-115-1: target the nested textual span, not only .order__form-button itself.
 */
body.hw-grafit :is(.hw-content,.hw-super-form) .super-form,
body.hw-grafit :is(.hw-content,.hw-super-form) .super-form :is(.super-label,.super-heading,.super-description,.super-html,.super-button-name,.super-adaptive-placeholder),
body.hw-grafit :is(.hw-content,.hw-super-form) .super-form :is(.super-label,.super-heading,.super-description,.super-html,.super-button-name,.super-adaptive-placeholder) :is(p,span,strong,b,em,a):not(:where(i,i *,svg,svg *,[aria-hidden="true"],[aria-hidden="true"] *,.super-icon,.super-icon *,.fa,.fas,.far,.fal,.fab,.fad,.fak,.eicon,.eicons,[class^="eicon-"],[class*=" eicon-"],[style*="Font Awesome"],[style*="FontAwesome"],[class^="flaticon-"],[class*=" flaticon-"],[class^="icofont-"],[class*=" icofont-"],[class^="ti-"],[class*=" ti-"],[class^="pe-7s-"],[class*=" pe-7s-"],[style*="eicons"])),
body.hw-grafit :is(.hw-content,.hw-super-form) .super-form :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea),
body.hw-grafit .hw-content .nav-tabs .nav-link .order__form-button,
body.hw-grafit .hw-content .nav-tabs .nav-link .order__form-button :is(span,strong,b,em):not(:where(i,i *,svg,svg *,[aria-hidden="true"],[aria-hidden="true"] *,.fa,.fas,.far,.fal,.fab,.fad,.fak,.eicon,.eicons,[class^="eicon-"],[class*=" eicon-"],[style*="Font Awesome"],[style*="FontAwesome"],[class^="flaticon-"],[class*=" flaticon-"],[class^="icofont-"],[class*=" icofont-"],[class^="ti-"],[class*=" ti-"],[class^="pe-7s-"],[class*=" pe-7s-"],[style*="eicons"])) {
  font-family: var(--hw-font-text) !important;
}

/* Helper text is not the validation/error message. The role was measured on
 * Elewacje and kompozyt. Preserve all state classes, text and native placeholders.
 */
body.hw-grafit :is(.hw-content,.hw-super-form) .super-form .super-adaptive-placeholder > span:not(:where(.super-error-msg,.super-empty-error-msg,[role="alert"],[role="status"])) {
  color: var(--hw-color-muted) !important;
}

/* The consent launcher's text is outside main. No consent state or visibility. */
body.hw-grafit .eu-cookies-bar-cookies-settings-call-button > span {
  font-family: var(--hw-font-text) !important;
}

/* Atlas components already expose these three font roles. A local alias also
 * reaches direct text in div/eyebrow/fact/section labels, without touching icons.
 * The old variables live on :root; this component scope prevents global leakage.
 */
body.hw-grafit .hw-content .atlas-card {
  --font-body: var(--hw-font-text);
  --font-heading: var(--hw-font-text);
  --font-accent: var(--hw-font-text);
}

/* Category, subcategory, archive and search cards use the same existing post
 * template. Font only: preserve geometry, navigation markers and colors until
 * the full rendered inventory has confirmed each component's actual surface.
 */
body.hw-grafit :is(.n-blog-title,.blog__meta,.blog__author-content,.n-sidebar-widget,.basic-pagination,.posts-navigation,.page-links,.hw-breadcrumb,.breadcrumb-trail) :is(a,span,p,h1,h2,h3,h4,h5,h6,strong,b,em):not(:where(i,i *,svg,svg *,[aria-hidden="true"],[aria-hidden="true"] *,.fa,.fas,.far,.fal,.fab,.fad,.fak,.eicon,.eicons,[class^="eicon-"],[class*=" eicon-"],[style*="Font Awesome"],[style*="FontAwesome"],[class^="flaticon-"],[class*=" flaticon-"],[class^="icofont-"],[class*=" icofont-"],[class^="ti-"],[class*=" ti-"],[class^="pe-7s-"],[class*=" pe-7s-"],[style*="eicons"])) {
  font-family: var(--hw-font-text) !important;
}

/* Preview-confirmed text roles omitted from legacy inheritance.
 * Upload labels are text siblings of icons; only the label is selected.
 */
body.hw-grafit :is(.hw-content,.hw-super-form) .super-form .super-fileupload-button-text {
  font-family: var(--hw-font-text) !important;
}

/* Renowacja calculator uses literal Fraunces on three prices, total and
 * the number input. It is an inline component, not the isolated #root iframe.
 * Source: page84659/widgetcc647e9; keep values, sizes, logic and colors.
 */
body.hw-grafit.page-id-84659 .hw-content .elementor-element-cc647e9 .atlas-card .kalk-box :is(.krl-price,.krt-v),
body.hw-grafit.page-id-84659 .hw-content .elementor-element-cc647e9 .atlas-card .kalk-box .kalk-area input[type="number"] {
  font-family: var(--hw-font-text) !important;
}

/* R16-TYPE: shared typography is role-based, not a universal descendant size.
 * Body copy17/1.65; H2 sections32/26 and H3 subsections24/22.
 * Preserve hero/lead, cards, table cells, controls, metadata and icon labels. */
body.hw-grafit {
  --hw-type-body:17px;
  --hw-leading-body:1.65;
  --hw-type-h2:32px;
  --hw-type-h3:24px;
  --hw-leading-heading:1.25;
}
body.hw-grafit.single-post .hw-content .post-text :is(p,li):not(:where(form,form *,table,table *,#root,#root *,.super-form,.super-form *,[role="alert"],[role="alert"] *,[role="status"],[role="status"] *,button,button *,[role="button"],[role="button"] *,nav,nav *,[role="navigation"],[role="navigation"] *,#ez-toc-container,#ez-toc-container *,.n-sidebar-widget,.n-sidebar-widget *,#reviews,#reviews *,.intro-text,.thesis,.hero-header *,.section-header p,.elementor-heading-title,.ha-steps-title,.ha-steps-label,.product-card *,.material-card *,.feature-card *,.hw-approved-materials *,.atlas-card *,.card *,.badge,.product-verdict,.material-verdict,small,.caption,.foot)),
body.hw-grafit:not(.home) .hw-content .elementor-widget-text-editor > .elementor-widget-container :is(p,li):not(:where(form,form *,table,table *,#root,#root *,.super-form,.super-form *,[role="alert"],[role="alert"] *,[role="status"],[role="status"] *,button,button *,[role="button"],[role="button"] *,nav,nav *,[role="navigation"],[role="navigation"] *,#ez-toc-container,#ez-toc-container *,.n-sidebar-widget,.n-sidebar-widget *,#reviews,#reviews *,.intro-text,.thesis,.hero-header *,.section-header p,.elementor-heading-title,.ha-steps-title,.ha-steps-label,.product-card *,.material-card *,.feature-card *,.hw-approved-materials *,.atlas-card *,.card *,.badge,.product-verdict,.material-verdict,small,.caption,.foot)),
body.hw-grafit.page .hw-content .volport-page-content .post-entry > p:not(:where(form,form *,table,table *,#root,#root *,.super-form,.super-form *,[role="alert"],[role="alert"] *,[role="status"],[role="status"] *,button,button *,[role="button"],[role="button"] *,nav,nav *,[role="navigation"],[role="navigation"] *,#ez-toc-container,#ez-toc-container *,.n-sidebar-widget,.n-sidebar-widget *,#reviews,#reviews *,.intro-text,.thesis,.hero-header *,.section-header p,.elementor-heading-title,.ha-steps-title,.ha-steps-label,.product-card *,.material-card *,.feature-card *,.hw-approved-materials *,.atlas-card *,.card *,.badge,.product-verdict,.material-verdict,small,.caption,.foot)),
body.hw-grafit.page .hw-content .volport-page-content .post-entry > :is(ul,ol) > li:not(:where(form,form *,table,table *,#root,#root *,.super-form,.super-form *,[role="alert"],[role="alert"] *,[role="status"],[role="status"] *,button,button *,[role="button"],[role="button"] *,nav,nav *,[role="navigation"],[role="navigation"] *,#ez-toc-container,#ez-toc-container *,.n-sidebar-widget,.n-sidebar-widget *,#reviews,#reviews *,.intro-text,.thesis,.hero-header *,.section-header p,.elementor-heading-title,.ha-steps-title,.ha-steps-label,.product-card *,.material-card *,.feature-card *,.hw-approved-materials *,.atlas-card *,.card *,.badge,.product-verdict,.material-verdict,small,.caption,.foot)),
body.hw-grafit:not(.home) .hw-content .elementor-tab-content > :is(p,ul,ol):not(:where(form,form *,table,table *,#root,#root *,.super-form,.super-form *,[role="alert"],[role="alert"] *,[role="status"],[role="status"] *,button,button *,[role="button"],[role="button"] *,nav,nav *,[role="navigation"],[role="navigation"] *,#ez-toc-container,#ez-toc-container *,.n-sidebar-widget,.n-sidebar-widget *,#reviews,#reviews *,.intro-text,.thesis,.hero-header *,.section-header p,.elementor-heading-title,.ha-steps-title,.ha-steps-label,.product-card *,.material-card *,.feature-card *,.hw-approved-materials *,.atlas-card *,.card *,.badge,.product-verdict,.material-verdict,small,.caption,.foot)),
body.hw-grafit:not(.home) .hw-content .elementor-tab-content > :is(ul,ol) > li:not(:where(form,form *,table,table *,#root,#root *,.super-form,.super-form *,[role="alert"],[role="alert"] *,[role="status"],[role="status"] *,button,button *,[role="button"],[role="button"] *,nav,nav *,[role="navigation"],[role="navigation"] *,#ez-toc-container,#ez-toc-container *,.n-sidebar-widget,.n-sidebar-widget *,#reviews,#reviews *,.intro-text,.thesis,.hero-header *,.section-header p,.elementor-heading-title,.ha-steps-title,.ha-steps-label,.product-card *,.material-card *,.feature-card *,.hw-approved-materials *,.atlas-card *,.card *,.badge,.product-verdict,.material-verdict,small,.caption,.foot)),
body.hw-grafit .hw-content .blog__author-content > p,
body.hw-grafit .hw-content .comments-text > p {
  font-size:var(--hw-type-body)!important;
  line-height:var(--hw-leading-body)!important;
}

/* Exact Atlas prose roles; notes14, care/use cards15 and natural lists15.5
 * remain distinct component roles instead of becoming ordinary paragraphs. */
body.hw-grafit .hw-content .atlas-card > section.block > .wrap > p:not([style*="font-size:14"],[style*="font-size: 14"],.thesis,.foot),
body.hw-grafit .hw-content .atlas-card .faq details > p,
body.hw-grafit .hw-content .atlas-card .natural > p:not(.foot),
body.hw-grafit .hw-content .atlas-card .realizacje > p {
  font-size:var(--hw-type-body)!important;
  line-height:var(--hw-leading-body)!important;
}

/* Strong/em/link and explicitly sized inline spans keep their parent body size.
 * A direct semantic selector prevents resizing labels, icons or headings. */
body.hw-grafit:not(.home) .hw-content .elementor-widget-text-editor > .elementor-widget-container :is(p,li):not(:where(form,form *,table,table *,#root,#root *,.super-form,.super-form *,[role="alert"],[role="alert"] *,[role="status"],[role="status"] *,button,button *,[role="button"],[role="button"] *,nav,nav *,[role="navigation"],[role="navigation"] *,#ez-toc-container,#ez-toc-container *,.n-sidebar-widget,.n-sidebar-widget *,#reviews,#reviews *,.intro-text,.thesis,.hero-header *,.section-header p,.elementor-heading-title,.ha-steps-title,.ha-steps-label,.product-card *,.material-card *,.feature-card *,.hw-approved-materials *,.atlas-card *,.card *,.badge,.product-verdict,.material-verdict,small,.caption,.foot)) :is(span[style*="font-size"],strong,b,em,a):not(:where(i,svg,svg *,.fa,.fas,.far,.fab,.elementor-icon,.elementor-icon *,.elementor-button,.elementor-button *)) {
  font-size:inherit!important;
  line-height:inherit!important;
}

body.hw-grafit.single-post .hw-content .post-text :is(.section-header,.content-section) > h2:not(:where(form,form *,table,table *,#root,#root *,.super-form,.super-form *,[role="button"],[role="button"] *,[role="alert"],[role="alert"] *,[role="status"],[role="status"] *,.n-sidebar-widget,.n-sidebar-widget *,.product-card *,.material-card *,.feature-card *,.hw-approved-materials *,.card *,.hero-header *,.cta-section *,.ha-steps-title,.ha-steps-label,.elementor-icon-box-title,.elementor-image-box-title,.elementor-tab-title,.elementor-accordion-title,.elementor-element-ed8b801 *,.elementor-element-e481314 *,.elementor-element-13b48580 *,.elementor-element-5a9aeb2 *,.elementor-element-e7c5b90 *,.wood-species *,.wood-card *,.species *,.care *,.uses *,.step-item *,.summary-box *,.highlight-box *,.info-box *,.tip-box *,.fact-box *,.myth-box *,.warning-box *,.quote-box *,.timing-box *)),
body.hw-grafit.single-post .hw-content .post-text :is(.elementor-widget-heading,.elementor-widget-text-editor) > .elementor-widget-container > h2:not(:where(form,form *,table,table *,#root,#root *,.super-form,.super-form *,[role="button"],[role="button"] *,[role="alert"],[role="alert"] *,[role="status"],[role="status"] *,.n-sidebar-widget,.n-sidebar-widget *,.product-card *,.material-card *,.feature-card *,.hw-approved-materials *,.card *,.hero-header *,.cta-section *,.ha-steps-title,.ha-steps-label,.elementor-icon-box-title,.elementor-image-box-title,.elementor-tab-title,.elementor-accordion-title,.elementor-element-ed8b801 *,.elementor-element-e481314 *,.elementor-element-13b48580 *,.elementor-element-5a9aeb2 *,.elementor-element-e7c5b90 *,.wood-species *,.wood-card *,.species *,.care *,.uses *,.step-item *,.summary-box *,.highlight-box *,.info-box *,.tip-box *,.fact-box *,.myth-box *,.warning-box *,.quote-box *,.timing-box *)),
body.hw-grafit.page .hw-content .elementor .elementor-widget.elementor-widget-heading > .elementor-widget-container > h2.elementor-heading-title:not(:where(form,form *,table,table *,#root,#root *,.super-form,.super-form *,[role="button"],[role="button"] *,[role="alert"],[role="alert"] *,[role="status"],[role="status"] *,.n-sidebar-widget,.n-sidebar-widget *,.product-card *,.material-card *,.feature-card *,.hw-approved-materials *,.card *,.hero-header *,.cta-section *,.ha-steps-title,.ha-steps-label,.elementor-icon-box-title,.elementor-image-box-title,.elementor-tab-title,.elementor-accordion-title,.elementor-element-ed8b801 *,.elementor-element-e481314 *,.elementor-element-13b48580 *,.elementor-element-5a9aeb2 *,.elementor-element-e7c5b90 *,.wood-species *,.wood-card *,.species *,.care *,.uses *,.step-item *,.summary-box *,.highlight-box *,.info-box *,.tip-box *,.fact-box *,.myth-box *,.warning-box *,.quote-box *,.timing-box *)),
body.hw-grafit.page .hw-content .elementor .elementor-widget-text-editor > .elementor-widget-container > h2:not(:where(form,form *,table,table *,#root,#root *,.super-form,.super-form *,[role="button"],[role="button"] *,[role="alert"],[role="alert"] *,[role="status"],[role="status"] *,.n-sidebar-widget,.n-sidebar-widget *,.product-card *,.material-card *,.feature-card *,.hw-approved-materials *,.card *,.hero-header *,.cta-section *,.ha-steps-title,.ha-steps-label,.elementor-icon-box-title,.elementor-image-box-title,.elementor-tab-title,.elementor-accordion-title,.elementor-element-ed8b801 *,.elementor-element-e481314 *,.elementor-element-13b48580 *,.elementor-element-5a9aeb2 *,.elementor-element-e7c5b90 *,.wood-species *,.wood-card *,.species *,.care *,.uses *,.step-item *,.summary-box *,.highlight-box *,.info-box *,.tip-box *,.fact-box *,.myth-box *,.warning-box *,.quote-box *,.timing-box *)),
body.hw-grafit .hw-content .atlas-card > section.block > .wrap > h2,
body.hw-grafit .hw-content .atlas-card .natural > h2 {
  font-size:var(--hw-type-h2)!important;
  line-height:var(--hw-leading-heading)!important;
  font-weight:600!important;
}
body.hw-grafit.single-post .hw-content .post-text :is(.content-section,.elementor-widget-text-editor > .elementor-widget-container) > h3:not(:where(form,form *,table,table *,#root,#root *,.super-form,.super-form *,[role="button"],[role="button"] *,[role="alert"],[role="alert"] *,[role="status"],[role="status"] *,.n-sidebar-widget,.n-sidebar-widget *,.product-card *,.material-card *,.feature-card *,.hw-approved-materials *,.card *,.hero-header *,.cta-section *,.ha-steps-title,.ha-steps-label,.elementor-icon-box-title,.elementor-image-box-title,.elementor-tab-title,.elementor-accordion-title,.elementor-element-ed8b801 *,.elementor-element-e481314 *,.elementor-element-13b48580 *,.elementor-element-5a9aeb2 *,.elementor-element-e7c5b90 *,.wood-species *,.wood-card *,.species *,.care *,.uses *,.step-item *,.summary-box *,.highlight-box *,.info-box *,.tip-box *,.fact-box *,.myth-box *,.warning-box *,.quote-box *,.timing-box *)),
body.hw-grafit.single-post .hw-content .post-text .elementor-widget-heading > .elementor-widget-container > h3.elementor-heading-title:not(:where(form,form *,table,table *,#root,#root *,.super-form,.super-form *,[role="button"],[role="button"] *,[role="alert"],[role="alert"] *,[role="status"],[role="status"] *,.n-sidebar-widget,.n-sidebar-widget *,.product-card *,.material-card *,.feature-card *,.hw-approved-materials *,.card *,.hero-header *,.cta-section *,.ha-steps-title,.ha-steps-label,.elementor-icon-box-title,.elementor-image-box-title,.elementor-tab-title,.elementor-accordion-title,.elementor-element-ed8b801 *,.elementor-element-e481314 *,.elementor-element-13b48580 *,.elementor-element-5a9aeb2 *,.elementor-element-e7c5b90 *,.wood-species *,.wood-card *,.species *,.care *,.uses *,.step-item *,.summary-box *,.highlight-box *,.info-box *,.tip-box *,.fact-box *,.myth-box *,.warning-box *,.quote-box *,.timing-box *)),
body.hw-grafit.page .hw-content .elementor .elementor-widget.elementor-widget-heading > .elementor-widget-container > h3.elementor-heading-title:not(:where(form,form *,table,table *,#root,#root *,.super-form,.super-form *,[role="button"],[role="button"] *,[role="alert"],[role="alert"] *,[role="status"],[role="status"] *,.n-sidebar-widget,.n-sidebar-widget *,.product-card *,.material-card *,.feature-card *,.hw-approved-materials *,.card *,.hero-header *,.cta-section *,.ha-steps-title,.ha-steps-label,.elementor-icon-box-title,.elementor-image-box-title,.elementor-tab-title,.elementor-accordion-title,.elementor-element-ed8b801 *,.elementor-element-e481314 *,.elementor-element-13b48580 *,.elementor-element-5a9aeb2 *,.elementor-element-e7c5b90 *,.wood-species *,.wood-card *,.species *,.care *,.uses *,.step-item *,.summary-box *,.highlight-box *,.info-box *,.tip-box *,.fact-box *,.myth-box *,.warning-box *,.quote-box *,.timing-box *)),
body.hw-grafit.page .hw-content .elementor .elementor-widget-text-editor > .elementor-widget-container > h3:not(:where(form,form *,table,table *,#root,#root *,.super-form,.super-form *,[role="button"],[role="button"] *,[role="alert"],[role="alert"] *,[role="status"],[role="status"] *,.n-sidebar-widget,.n-sidebar-widget *,.product-card *,.material-card *,.feature-card *,.hw-approved-materials *,.card *,.hero-header *,.cta-section *,.ha-steps-title,.ha-steps-label,.elementor-icon-box-title,.elementor-image-box-title,.elementor-tab-title,.elementor-accordion-title,.elementor-element-ed8b801 *,.elementor-element-e481314 *,.elementor-element-13b48580 *,.elementor-element-5a9aeb2 *,.elementor-element-e7c5b90 *,.wood-species *,.wood-card *,.species *,.care *,.uses *,.step-item *,.summary-box *,.highlight-box *,.info-box *,.tip-box *,.fact-box *,.myth-box *,.warning-box *,.quote-box *,.timing-box *)) {
  font-size:var(--hw-type-h3)!important;
  line-height:1.3!important;
  font-weight:600!important;
}

@media(max-width:767.98px) {
  body.hw-grafit {--hw-type-h2:26px;--hw-type-h3:22px;}
}

/* R16-META: secondary reading roles stay smaller than body prose. */
body.hw-grafit .hw-content .blog__meta,
body.hw-grafit .hw-content .blog__meta :is(span,a,time):not(:where(i,i *,svg,svg *,.fa,.fas,.far,.fab)) {
  font-size:14px!important;
  line-height:1.5!important;
}
body.hw-grafit .hw-content #text-20.n-sidebar-widget .elementor-element-f2fa36c > .elementor-widget-container > p {
  font-size:15px!important;line-height:1.65!important;
}
body.hw-grafit .hw-content #text-20.n-sidebar-widget .elementor-element-bd6aa50 .elementor-heading-title {
  font-size:20px!important;line-height:1.3!important;font-weight:600!important;color:var(--hw-color-text)!important;
}

/* R16-PROCESS: primary step heading and compact form-help heading are distinct.
 * Their numbers/arrows and layout are untouched. */
body.hw-grafit .hw-content .elementor .elementor-widget-ha-step-flow h2.ha-steps-title {font-size:20px!important;line-height:1.35!important;font-weight:600!important;}
body.hw-grafit .hw-content .elementor .elementor-widget-ha-step-flow span.ha-steps-title {font-size:16px!important;line-height:1.35!important;font-weight:600!important;}
body.hw-grafit .hw-content .elementor .elementor-widget-ha-step-flow p.ha-step-description {font-size:16px!important;line-height:1.5!important;}

/* R16-FORMS: field labels and tab labels have their own shared rhythm.
 * Compact home form, helpers, headings, icons and semantic states stay separate. */
body.hw-grafit .hw-content .super-form .super-label:not(:where(.hw-super-form *)) {font-size:16px!important;line-height:1.4!important;}
body.hw-grafit .hw-content .nav-tabs .nav-link .order__form-button,
body.hw-grafit .hw-content .nav-tabs .nav-link .order__form-button :is(span,strong,b,em):not(:where(i,i *,svg,svg *,.fa,.fas,.far,.fab,.eicon,[class^="eicon-"],[aria-hidden="true"],[aria-hidden="true"] *)) {font-size:16px!important;line-height:1.4!important;font-weight:600!important;}
body.hw-grafit .hw-content .comment-form > .logged-in-as,
body.hw-grafit .hw-content .comment-form > .logged-in-as :is(a,span) {font-size:16px!important;line-height:1.5!important;}

/* R16-CALLOUT: maintain existing scope, surface and semantics; align ink/rhythm. */
body.hw-grafit.single-post .hw-content .post-text :is(.highlight-box,.info-box,.tip-box,.fact-box,.myth-box,.warning-box,.summary-box,.quote-box,.timing-box):not(:where(form *,table *,#root *,.super-form *,[role="alert"],[role="alert"] *,[role="status"],[role="status"] *)) {--hw-post-ink:var(--hw-color-text);}

/* One equivalent editorial warning outside posts, confirmed in page77324. */
body.hw-grafit.page-id-77324 .hw-content .elementor-element-c0ac1ac .feature-text > .warning-box {
  background:var(--hw-color-surface)!important;
  color:var(--hw-color-text)!important;
  border:1px solid var(--hw-color-border)!important;
  border-left:4px solid var(--hw-color-link)!important;
  border-radius:6px;box-shadow:none;padding:20px 24px;
}
body.hw-grafit.page-id-77324 .hw-content .elementor-element-c0ac1ac .feature-text > .warning-box > h4 {font-size:20px!important;line-height:1.4!important;color:var(--hw-color-text)!important;}
body.hw-grafit.page-id-77324 .hw-content .elementor-element-c0ac1ac .feature-text > .warning-box > p {font-size:17px!important;line-height:1.65!important;color:var(--hw-color-text)!important;}
@media(max-width:599.98px){body.hw-grafit.page-id-77324 .hw-content .elementor-element-c0ac1ac .feature-text > .warning-box{padding:16px;}}

/* R16-ACTION: 990 visible text labels on136 URLs share the solid sand surface.
 * md/lg/sm remain distinct action sizes; icons and behavior are not selected. */
body.hw-grafit .hw-content .elementor .elementor-widget.elementor-widget-button .elementor-button .elementor-button-text {font-weight:600!important;line-height:1.4!important;color:var(--hw-color-button-text)!important;}
body.hw-grafit .hw-content .elementor .elementor-widget.elementor-widget-button .elementor-button.elementor-size-md .elementor-button-text {font-size:16px!important;}
body.hw-grafit .hw-content .elementor .elementor-widget.elementor-widget-button .elementor-button.elementor-size-lg .elementor-button-text {font-size:18px!important;}
body.hw-grafit .hw-content .elementor .elementor-widget.elementor-widget-button .elementor-button.elementor-size-sm .elementor-button-text {font-size:15px!important;}

/* R16-FAQ: question text is a control role, separate from section H2/H3.
 * Keep its current light/dark color, toggle glyph, padding and ARIA state. */
body.hw-grafit .hw-content .elementor :is(.elementor-widget-accordion,.elementor-widget-toggle) :is(.elementor-accordion-title,.elementor-toggle-title),
body.hw-grafit .hw-content .atlas-card .faq details > summary {font-size:18px!important;line-height:1.4!important;font-weight:600!important;}

/* Textual form section heading; compact home keeps its19px role. */
body.hw-grafit .hw-content .super-form .wycena-naglowek:not(:where(.hw-super-form *)),
body.hw-grafit .hw-content .super-form .wycena-naglowek :is(span,strong,b):not(:where(.hw-super-form *,i,i *,svg,svg *,.fa,.fas,.far,.fab,[aria-hidden="true"],[aria-hidden="true"] *)) {font-family:var(--hw-font-text)!important;font-size:18px!important;line-height:1.4!important;font-weight:600!important;}

/* R16-EXACT: source-verified content roles missed by legacy widget wrappers. */
body.hw-grafit.page-id-77324 .hw-content .elementor-element-c0ac1ac .feature-text > p,
body.hw-grafit.page-id-84659 .hw-content .atlas-card .hw-b114-oil-instructions > p,
body.hw-grafit.page-id-75414 .hw-content :is(.elementor-element-281d873,.elementor-element-65985fd,.elementor-element-178af36) .elementor-icon-box-description {font-family:var(--hw-font-text)!important;font-size:17px!important;line-height:1.65!important;color:var(--hw-color-text)!important;}
body.hw-grafit.page-id-77324 .hw-content .elementor-element-c0ac1ac > .elementor-widget-container > .section-header > h2 {font-family:var(--hw-font-text)!important;font-size:var(--hw-type-h2)!important;line-height:1.25!important;font-weight:600!important;color:var(--hw-color-inverse)!important;}
body.hw-grafit.page-id-77324 .hw-content .elementor-element-c0ac1ac .feature-text > .list-container > h4 {font-family:var(--hw-font-text)!important;font-size:20px!important;line-height:1.4!important;font-weight:600!important;color:var(--hw-color-link)!important;}
body.hw-grafit.page-id-77324 .hw-content .elementor-element-c0ac1ac .feature-text > .list-container {background-color:var(--hw-color-surface)!important;}
body.hw-grafit.page-id-75414 .hw-content :is(.elementor-element-198aca8,.elementor-element-4193900,.elementor-element-0e4aa93,.elementor-element-3375f3a,.elementor-element-a7dba28,.elementor-element-0b9c42b,.elementor-element-ee15c77,.elementor-element-a970913) .elementor-icon-box-title,
body.hw-grafit.page-id-75414 .hw-content :is(.elementor-element-198aca8,.elementor-element-4193900,.elementor-element-0e4aa93,.elementor-element-3375f3a,.elementor-element-a7dba28,.elementor-element-0b9c42b,.elementor-element-ee15c77,.elementor-element-a970913) .elementor-icon-box-title > span {font-family:var(--hw-font-text)!important;font-size:17px!important;line-height:1.65!important;font-weight:400!important;color:var(--hw-color-text)!important;}
body.hw-grafit.page-id-84659 .hw-content .atlas-card .hw-b114-oil-instructions > h3,
body.hw-grafit.page-id-75414 .hw-content :is(.elementor-element-281d873,.elementor-element-65985fd,.elementor-element-178af36) h3.elementor-icon-box-title,
body.hw-grafit.page-id-75414 .hw-content :is(.elementor-element-281d873,.elementor-element-65985fd,.elementor-element-178af36) h3.elementor-icon-box-title > span {font-family:var(--hw-font-text)!important;font-size:var(--hw-type-h3)!important;line-height:1.3!important;font-weight:600!important;color:var(--hw-color-text)!important;}
/* State messages: typography only. Existing display, colors, symbols and behavior stay intact. */
body.hw-grafit .hw-content :is(.super-error-msg,.super-empty-error-msg,.super-msg),
body.hw-grafit .hw-content :is(.super-error-msg,.super-empty-error-msg,.super-msg) :is(span,strong,b,em,a):not(:where(i,i *,svg,svg *,.fa,.fas,.far,.fab,.eicon,[class*="eicon-"],[aria-hidden="true"],[aria-hidden="true"] *)) {font-family:var(--hw-font-text)!important;}
