/* TFS F26 Batch 2 — responsive + accessibility overrides (TRF-62)
 * Enqueued after the theme (priority 999) so these rules win.
 * Selectors are confirmed by the TRF-62 audit before going live.
 * Principle: fix the offending rule with the smallest scoped override; no blanket resets.
 */

/* ============================================================
 * Responsive — horizontal overflow
 * ============================================================ */
/* RESP-01 (P0): /courier/ has a fixed-width (526px / 506px Tablet) column +
 * child heading that defines the document width, causing 147-172px of real
 * horizontal scroll at tablet (measured: 768->172px, 820->147px). Let the
 * column + heading shrink and allow the inner row to wrap. Desktop (>1024) is
 * untouched. Long-term: clear the fixed Tablet widths in Elementor (PART B). */
@media (max-width: 1024px) {
	.elementor-element-70569aa,
	.elementor-element-7923d44 { width: auto !important; max-width: 100% !important; }
	.elementor-element-7b6c774 > .e-con-inner,
	.elementor-element-70569aa > .e-con-inner { flex-wrap: wrap; }
}

/* RESP-02 (P1) + RESP-03 (P2): a Bootstrap-style -15px negative row gutter on
 * the blog query rows leaks 3px past the mobile viewport (measured 393 vs 390),
 * and the same pattern sits latent on the inline icon-lists (terms / privacy /
 * pick-up-points). Zeroing the negative margin removes the overflow; the columns
 * keep their 15px padding so the card inset is preserved. !important because a
 * later equal-specificity grid rule re-applies the -15px otherwise. */
@media (max-width: 575px) {
	.tcg-dynamic-query .row { margin-left: 0 !important; margin-right: 0 !important; }
	.elementor-icon-list-items.elementor-inline-items { margin-left: 0 !important; margin-right: 0 !important; }
}

/* Blog post-meta (date) grouping [TRF-62 ticket call-out]: the audit did not
 * reproduce a separate date-regrouping break — the only /blog/ defect found was
 * the negative-gutter overflow above (RESP-02). Revisit if a wrap is observed. */

/* ============================================================
 * Branding — homepage bottom "Talk to an expert" CTA
 * ============================================================ */
/* TODO(audit): match the header CTA — Poppins, blue/white. */

/* ============================================================
 * Accessibility — contrast
 * ============================================================ */
/* A11Y-07 (stat-counter green #54B964, measured 2.41:1): SKIPPED per JP — leaving the
 * brand green as-is for now. Re-enable here with a brand-approved darker green if revisited. */

/* ============================================================
 * Perf (TRF-61) PERF-07: icon-font font-display: swap
 * The theme's FontAwesome @font-face ship with font-display:block, so icons are
 * INVISIBLE until fa-solid-900.woff2 (147 KB) / fa-brands-400.woff2 (108 KB) load.
 * Re-declare the same families with the SAME src as the theme (binos/assets/fonts,
 * query-less) so the browser dedupes to ONE fetch but applies swap instead of block.
 * Loaded at priority 999 (after the theme), so these win. FA6 + FA5 families covered.
 * ============================================================ */
@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:swap;src:url(/wp-content/themes/binos/assets/fonts/fa-solid-900.woff2) format("woff2")}
@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:swap;src:url(/wp-content/themes/binos/assets/fonts/fa-regular-400.woff2) format("woff2")}
@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:swap;src:url(/wp-content/themes/binos/assets/fonts/fa-brands-400.woff2) format("woff2")}
@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:swap;src:url(/wp-content/themes/binos/assets/fonts/fa-solid-900.woff2) format("woff2")}
@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:swap;src:url(/wp-content/themes/binos/assets/fonts/fa-regular-400.woff2) format("woff2")}
@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:swap;src:url(/wp-content/themes/binos/assets/fonts/fa-brands-400.woff2) format("woff2")}

/* PERF-07b (v1.5.2): the rules above never render. The theme also ships an FA4-COMPAT layer
 * (family "FontAwesome") and the page CSS uses THAT family name, so the block-mode compat faces
 * are what actually load (verified via document.fonts on live prod: our FA5/FA6 swap faces
 * `unloaded`, the "FontAwesome" block faces `loaded`; Lighthouse puts ~3 s est. mobile FCP on
 * these files). Mirror the theme's four "FontAwesome" rules EXACTLY (same order, same src chain,
 * same unicode-ranges) with only font-display changed to swap. This sheet prints after the theme
 * css, so each rule replaces its same-descriptor original and the cascade reconciles identically,
 * just with swap. */
@font-face{font-family:"FontAwesome";font-display:swap;src:url(/wp-content/themes/binos/assets/fonts/fa-solid-900.woff2) format("woff2"),url(/wp-content/themes/binos/assets/fonts/fa-solid-900.ttf) format("truetype")}
@font-face{font-family:"FontAwesome";font-display:swap;src:url(/wp-content/themes/binos/assets/fonts/fa-brands-400.woff2) format("woff2"),url(/wp-content/themes/binos/assets/fonts/fa-brands-400.ttf) format("truetype")}
@font-face{font-family:"FontAwesome";font-display:swap;src:url(/wp-content/themes/binos/assets/fonts/fa-regular-400.woff2) format("woff2"),url(/wp-content/themes/binos/assets/fonts/fa-regular-400.ttf) format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}
@font-face{font-family:"FontAwesome";font-display:swap;src:url(/wp-content/themes/binos/assets/fonts/fa-v4compatibility.woff2) format("woff2"),url(/wp-content/themes/binos/assets/fonts/fa-v4compatibility.ttf) format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}

/* PERF-07c (v1.5.2): Element Camp Pro ships its OWN FontAwesome 5 Pro/Duotone/Brands faces
 * (plugins/element-camp-pro/assets/fonts/fa/), all font-display:block, and the site-wide crawl
 * shows "Font Awesome 5 Pro" glyphs render on EVERY page (topbar/footer/offcanvas icons), so
 * that stylesheet stays enqueued and gets the same swap-mirror treatment. Same order as the
 * source sheet; src points at the same webfonts so no extra bytes are fetched. */
@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:swap;src:url(/wp-content/plugins/element-camp-pro/assets/fonts/fa/webfonts/fa-brands-400.woff2) format("woff2"),url(/wp-content/plugins/element-camp-pro/assets/fonts/fa/webfonts/fa-brands-400.woff) format("woff"),url(/wp-content/plugins/element-camp-pro/assets/fonts/fa/webfonts/fa-brands-400.ttf) format("truetype")}
@font-face{font-family:"Font Awesome 5 Duotone";font-style:normal;font-weight:900;font-display:swap;src:url(/wp-content/plugins/element-camp-pro/assets/fonts/fa/webfonts/fa-duotone-900.woff2) format("woff2"),url(/wp-content/plugins/element-camp-pro/assets/fonts/fa/webfonts/fa-duotone-900.woff) format("woff"),url(/wp-content/plugins/element-camp-pro/assets/fonts/fa/webfonts/fa-duotone-900.ttf) format("truetype")}
@font-face{font-family:"Font Awesome 5 Pro";font-style:normal;font-weight:300;font-display:swap;src:url(/wp-content/plugins/element-camp-pro/assets/fonts/fa/webfonts/fa-light-300.woff2) format("woff2"),url(/wp-content/plugins/element-camp-pro/assets/fonts/fa/webfonts/fa-light-300.woff) format("woff"),url(/wp-content/plugins/element-camp-pro/assets/fonts/fa/webfonts/fa-light-300.ttf) format("truetype")}
@font-face{font-family:"Font Awesome 5 Pro";font-style:normal;font-weight:400;font-display:swap;src:url(/wp-content/plugins/element-camp-pro/assets/fonts/fa/webfonts/fa-regular-400.woff2) format("woff2"),url(/wp-content/plugins/element-camp-pro/assets/fonts/fa/webfonts/fa-regular-400.woff) format("woff"),url(/wp-content/plugins/element-camp-pro/assets/fonts/fa/webfonts/fa-regular-400.ttf) format("truetype")}
@font-face{font-family:"Font Awesome 5 Pro";font-style:normal;font-weight:900;font-display:swap;src:url(/wp-content/plugins/element-camp-pro/assets/fonts/fa/webfonts/fa-solid-900.woff2) format("woff2"),url(/wp-content/plugins/element-camp-pro/assets/fonts/fa/webfonts/fa-solid-900.woff) format("woff"),url(/wp-content/plugins/element-camp-pro/assets/fonts/fa/webfonts/fa-solid-900.ttf) format("truetype")}

/* v1.5.2: with Elementor's all.min.css dequeued (PERF-03), the generic `.fa` base class falls
 * through to element-camp-pro's rule (family "Font Awesome 5 Pro", lighter weight) and the nav
 * dropdown chevron would render from the Pro face instead. Pin the FA5 default back explicitly
 * so the rendered result is byte-identical to before the dequeue (glyph-diff verified). */
i.fa{font-family:"Font Awesome 5 Free";font-weight:900}
