/* ==========================================================================
   1.8.422 — Type + button layer (loaded last, sitewide; not on IDX Cares content).
   Oswald = headings + buttons/CTAs. Montserrat 400 = body, nav, fields, prices, labels.
   Body/description text floor 16px; captions + fine print floor 14px, weight >= 400.
   ========================================================================== */

/* Form controls inherit the page font (Woo/plugin buttons were falling back to Arial). */
button, input, select, textarea { font-family: inherit; }

/* ---- Buttons / CTAs → Oswald 600 ---- */
:where(
	.btn, a.button, button.button, input.button, .woocommerce .button, .wp-element-button, .wp-block-button__link,
	input[type="submit"], button[type="submit"], .single_add_to_cart_button, .checkout-button, .add_to_cart_button,
	.svx-pill, .svx-card__go, .footer-donate-btn, .idx-promo__cta, .apx-gallery__cta, .apx-gallery__code,
	.terms-help__print, .terms-top, .terms-fab, .lfx__more, .molded-quote-form__btn, .molded-fee__cta,
	.idxcart-btn, .idxshop-filter-btn, .dtfbuild-launch-btn, .dtfbuild-upload-button, .cn-button
):not(.idxc-page *):not([class*="idxcb-"]) {
	font-family: var(--font-head) !important;
	font-weight: 600 !important;
}
/* Apparel's plain "Learn more →" text links share .svx-card__go; only the pill version is a button. */
:where(.svx-card__go):not(.svx-page--apparel *) { font-family: var(--font-body) !important; font-weight: 700 !important; }

/* ---- Body / description text: 16px minimum ---- */
.footer-cta__lead, .footer-brand__tag, .footer-plate li, .footer-meta__motto,
.svx-tile--make p, .svx-card__text, .svx-note p, .svx-rates__notes, .svx-step p, .svx-close__appt,
.artwork-press-steps__text, .dtf-ac-list__body p, .dtf-artwork-recs__card-text,
.lfh__tag, .signage-hero__tag,
.drinkware-cap-card__body p, .wood-cap-card__body p, .drinkware-check-list li, .wood-check-list li,
.drinkware-personalize__board-note, .metal-personalize__board-note, .wood-personalize__board-note,
.terms-hero__lede, .terms-intro p, .terms-sec__body p:not(.terms-updated), .terms-sec__body li,
.graphic-process__body p, .graphic-pricing__note,
.grips-feature-card p, .grips-note-list li, .magazines-note-list li,
.service-card__body p, .cpr-note-list li, .cpr-teach-list li, .cpr-class-card p, .cpr-format p,
.lfx__desc, .lfx__specs li, .laser-services table.pricing td, table.pricing td, .container > .notice,
.metal-service-card__body p, .metal-personalize__index-list li, .metal-split__copy p, .metal-price-card p:not(.metal-price-card__note),
.molded-info-card p, .molded-process__body p, .molded-fee__details, .molded-type-card__body p, .molded-edge-note p, .molded-pattern__text,
.policy-card__blurb, .policy-hub__note, .signage-stack__note, .signage-process__body p, .signage-info-card p,
.neon-board__note, .neon-board__list li,
.dtf-category-pressing-card__meta, .dtf-gallery-note__peel, .dtf-accordion__body p, .dtf-accordion__body li,
body.chamevo-product div.product .woocommerce-product-details__short-description {
	font-size: 1rem !important;
}
@media (max-width: 600px) {
	.idx-band__subtitle { font-size: 1rem !important; }
}

/* ---- Captions + fine print: 14px minimum, weight 400+ ---- */
.site-announce__idaho, .footer-affiliate-band__label, .omtech-card__note, .dtf-announce__text,
.svx-disclaimer span, .laser-disclaimer span, .booking-card p.policies,
.woocommerce-privacy-policy-text p, .terms-sec__body p.terms-updated,
.home-coverflow__text, .home-gallery__cap-text,
.metal-personalize__feature-cap, .wood-personalize__feature-cap,
.idxshop-toolbar .woocommerce-result-count, .molded-page .molded-extras-section .molded-extra-card__meta,
.svx-tile__tag, .lfh__types span, .dtfbuild-hint {
	font-size: .875rem !important;
}

/* Long URLs in the policy/terms lists could push the page sideways at 16px. */
.terms-sec__body li, .terms-sec__body p, .terms-sec__body a { overflow-wrap: anywhere; }

/* Promo strip: headline + badge use the heading face. */
.idx-promo__sub, .idx-promo__badge { font-family: var(--font-head) !important; font-weight: 600 !important; }

/* Footer CTA (white on navy) stays on one line on phones. "Have a question? We're here to help." ≈ 14.1em in Oswald 600. */
@media (max-width: 600px) {
	.footer-cta__title { white-space: nowrap; font-size: min(1.45rem, calc((100vw - 79px) / 14.8)); }
}
