/* ThornBloom Studio — small-copy legibility: set upright. Added 2026-09-03.
 * Caelin found thin italic small copy hard to read (worse on the dark palette).
 * This sets small BODY / UI / caption / meta / helper / fineprint copy UPRIGHT.
 * Enqueued LAST (priority 100) so it wins over templates.css + component CSS.
 * Deliberate LARGE display-accent italics (title/heading em, realm taglines,
 * testimonial quotes, editorial About voice) are intentionally NOT listed here.
 * Reversible: dequeue thornbloom-legibility-upright + delete this file.
 */
/* --- global form helper --- */
input::placeholder, textarea::placeholder { font-style: normal; }
/* --- style.css small copy --- */
.tb-value-math em,
.tb-website-nudge,
.tb-bundle-live-cta__note,
.tb-shop-collection .tb-ef-product--v2 .tb-ef-product__tagline { font-style: normal; }
/* --- templates.css small copy (captions / notes / meta / fineprint / taglines) --- */
.tb-tier__value,
.tb-tier__format,
.tb-tier__items-includes,
.tb-tier__upsell,
.tb-printing-partner__note,
.tb-testimonial__bundle,
.tb-newsletter__note,
.tb-post-content figcaption,
.tb-post-freebie-cta__note,
.tb-bundle-hero-img__caption,
.tb-thankyou__inbox-note,
.tb-thankyou__coupon-note,
.tb-slideout__note,
.tb-prod-reviews__card-text,
.tb-col-products__tagline,
.tb-singles-group__desc,
.tb-compare__tagline,
.tb-testimonials__grid--seven .tb-testimonial__meta,
.tb-testimonials__micro,
.tb-testimonial-strip__meta,
.tb-shop-archive--v2 .tb-shop-card-v2__teaser,
.tb-shop-archive--v2 .tb-shop-card-v2__fineprint,
.tb-cart-v2__item-unit { font-style: normal; }
.tb-cart-v2__coupon-input::placeholder { font-style: normal; }
/* --- checkout small copy (WooCommerce Blocks; font-style only, no layout change) --- */
body.woocommerce-checkout .woocommerce-form-coupon p,
body.woocommerce-checkout .form-row textarea::placeholder,
body.woocommerce-checkout .form-row .help-block,
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__placeholder,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name strong.product-quantity,
body.woocommerce-checkout .shipping-calculator-button,
body.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text,
body.woocommerce-checkout .woocommerce-info.cart-empty { font-style: normal; }
/* --- product-v2.css small copy --- */
body.tb-product-v2 .info-fineprint,
body.tb-product-v2 .tb-website-nudge,
body.tb-product-v2 .tb-value-math--hero,
body.tb-product-v2 .piece-desc,
body.tb-product-v2 .tb-prod-how__step-desc,
body.tb-product-v2 .tb-prod-reviews__count,
body.tb-product-v2 .tb-prod-reviews__card-text,
body.tb-product-v2 .tb-prod-upsell__tier-meta,
body.tb-product-v2 .product-teaser,
body.tb-product-v2 .tb-prod-tagline__text { font-style: normal; }
/* --- mini-cart drawer small copy --- */
.tb-mc-item-meta,
.tb-mc-upsell-sub,
.tb-mc-wupsell-sub { font-style: normal; }
/* --- suite meta line (.tbsl-itemline, ~15px display-italic) -> upright. Confirmed by Caelin 2026-09-03.
 *     body-prefixed (0,1,1) to out-specify the per-template inline .tbsl-itemline rule (0,1,0). */
body .tbsl-itemline { font-style: normal; }

/* --- 2026-09-19 legibility sweep: inline links in body copy ---
 * A bare <a> inside a paragraph had NO author colour anywhere in the theme, so
 * logged-out visitors got the browser default blue rgb(4,107,210) on the
 * near-black ground: 3.28:1, well under AA. Measured live on
 * /essentials-suite/enchanted-forest/ (the "Prints of Love" link in the
 * print callout and in the step blurbs) and on the collection pages.
 * The realm metallic clears AA in every realm. */
.tb-collection p a:not([class]),
.tb-collection li a:not([class]),
.tbsl-macro__print p a:not([class]),
.tbsl-step__blurb a:not([class]),
.tbsl-piece__blurb a:not([class]),
.tbsl-value-row__note a:not([class]),
.tbsl-value-skip__list li a:not([class]),
.tbsl-pieces-upsell a:not([class]),
.tb-post-content p a:not([class]),
.tb-post-content li a:not([class]),
.tb-content-page p a:not([class]),
.tb-content-page li a:not([class]),
.tb-coll-content__body p a:not([class]) {
  color: var(--realm-metallic, #D1B28C);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

/* --- 2026-09-19: raw <em> inside body copy. There is no author rule for these,
 *     so they took the UA default italic at paragraph size, which is exactly the
 *     small-italic case Caelin flagged. Large decorative italics are untouched:
 *     they are set deliberately on display selectors, not on a bare <em>. --- */
.tb-collection .tbc-manifesto p em,
.tb-collection .tbc-how-step p em,
.tb-coll-content__teaser p em,
.tb-coll-content__atmosphere p em,
.tbsl-piece__blurb em,
.tbsl-step__blurb em,
.tbsl-value-row__note em,
.tb-post-content p em,
.tb-content-page p em { font-style: normal; }
/* Mobile drawer accents. mobile-menu.css already sets these upright at source,
 * but FlyingPress RUCSS does not carry that sheet into the first-paint used-CSS
 * (the drawer is closed when it analyses the page), so the pair is repeated here
 * in the last-loaded sheet, which RUCSS does keep. */
.tb-mm-link em,
.tb-mm-featured-title em,
.tb-mm-sublink em,
.tbh-suite-lead em,
.tbh-tier-tagline em,
.tbh-gobigger-tagline em { font-style: normal; }

/* --- 2026-09-19 legibility pass 2: minimum sizes for micro copy ---
 * Every rule below is SIZE ONLY. No colour, no family, no layout, so the
 * realm contrast already verified in pass 1 is untouched.
 * Selectors are body-prefixed to out-specify the per-template inline <style>
 * blocks (which print after this sheet in document order), the same tactic
 * pass 1 used for .tbsl-itemline.
 * Policy: nothing visible under 14px, except letter-spaced uppercase eyebrows,
 * which may sit at 12 to 13px. Eyebrows below are raised to 13px; anything
 * functional (links, buttons, helper sentences) goes to 14px or more.
 */

/* Suite landing pages: the "coming soon" realm cards set their realm label and
 * their waitlist CTA at 9px. The label is a letter-spaced uppercase eyebrow so
 * it may stay small; the CTA is a control and may not. */
body .tbsl-soon-card__realm { font-size: 13px; }
body .tbsl-soon-card__cta   { font-size: 14px; }

/* Journal / blog cards: 9px category eyebrow, 11px "Read More", 9 to 10px date. */
body .tbj-card__cat      { font-size: 13px; }
body .tbj-card__readmore { font-size: 14px; }
body .tbj-card time,
body .tbj-card__meta time,
body .tbj-card__date { font-size: 13px; }

/* Wedding-website realm landing pages. EF, DR and MC are standalone template
 * copies that share these class names, so one rule set covers all three.
 * NOTE: .wedding-website-page is on <main>, not <body>, so these are descendant
 * selectors (0,2,1), which still out-specify the template's own (0,2,0). */
body .wedding-website-page .tbc-hero__eyebrow       { font-size: 13px; }
body .wedding-website-page .tbc-quick-feature__label { font-size: 13px; }
body .wedding-website-page .tbc-trust-item__text    { font-size: 14px; }
body .wedding-website-page .shot__caption-num       { font-size: 14px; }
/* Small italic fineprint under the price card: upright per policy. */
body .wedding-website-page .tbc-price-card__term    { font-size: 14px; font-style: normal; }
/* Generic CTA floor. The deliberate mobile hero sizes set 2026-09-14
 * (.tbc-btn--hero-primary.tbc-btn--primary at 15px and .tbc-btn--ghost at 13px)
 * carry higher specificity and are intentionally left alone. */
body .wedding-website-page .tbc-btn { font-size: 14px; }

/* Footer helper copy sat at 14px; policy floor for helper lines is 15px. */
body .tb-footer__logo-sub,
body .tb-footer__copyright-text,
body .tb-footer__copyright-email { font-size: 15px; }
