/* TireFitment Pages — "spec sheet" look. Inherits the theme's body font; everything is scoped to .tfp. */
.tfp {
	--tfp-ink: #16191d;
	--tfp-text: #3e434a;
	--tfp-muted: #5b6068;
	--tfp-line: #deddd8;
	--tfp-soft: #f2f2ef;
	--tfp-card: #ffffff;
	--tfp-accent: #c2410c;
	--tfp-display: "Barlow Condensed", "Arial Narrow", sans-serif;
	--tfp-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
	color: var(--tfp-ink);
	line-height: 1.55;
	box-sizing: border-box;
}
.tfp *, .tfp *::before, .tfp *::after { box-sizing: border-box; }
.tfp a { color: var(--tfp-accent); }
.tfp .tfp-mono { font-family: var(--tfp-mono); font-weight: 500; }
.tfp .tfp-muted { color: var(--tfp-muted); font-size: .95em; margin: 0; }

.tfp-wrap { max-width: 1200px; margin: 0 auto; padding: 24px 16px 72px; }

.tfp h1, .tfp h2, .tfp .tfp-h3 {
	font-family: var(--tfp-display);
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.05;
	letter-spacing: .01em;
	color: var(--tfp-ink);
	margin: 0 0 14px;
}
.tfp h1 { font-size: clamp(2.2rem, 5vw, 3.6rem); }
.tfp h2 { font-size: clamp(1.5rem, 3vw, 1.9rem); }
.tfp .tfp-h3 { font-size: 1.25rem; }
.tfp h3 { font-size: 1rem; margin: 0 0 10px; }

/* Breadcrumbs */
.tfp-crumbs ol { list-style: none; margin: 0 0 20px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; font-size: .95rem; color: var(--tfp-muted); }
.tfp-crumbs li + li::before { content: "/"; margin-right: 6px; color: #9a9ea4; }
.tfp-crumbs [aria-current] { color: var(--tfp-ink); }

.tfp-head { margin-bottom: 28px; }
.tfp-lead { font-size: 1.15rem; color: var(--tfp-text); max-width: 780px; margin: 0; }

/* Layout */
.tfp-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: start; }
@media (min-width: 960px) {
	.tfp-layout { grid-template-columns: minmax(0, 1fr) 320px; }
	.tfp-aside { position: sticky; top: 24px; }
}
.tfp-content { display: flex; flex-direction: column; gap: 32px; min-width: 0; }
.tfp-aside { display: flex; flex-direction: column; gap: 20px; }
.tfp-section > h2 { margin-bottom: 14px; }

.tfp-card { background: var(--tfp-card); border: 1px solid var(--tfp-line); border-radius: 8px; padding: 24px; }
.tfp-card--finder { margin-bottom: 32px; }

/* Trim chips */
.tfp-chips { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.tfp-chips-label { font-weight: 600; margin-right: 4px; }
.tfp-chip { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 1px solid #c9cbc6; border-radius: 999px; background: #fff; color: var(--tfp-ink) !important; text-decoration: none; font-weight: 500; }
.tfp-chip:hover { border-color: var(--tfp-ink); }

/* Configuration card */
.tfp-config { padding: 0; overflow: hidden; scroll-margin-top: 24px; }
.tfp-config-head { background: var(--tfp-ink); color: #fff; padding: 16px 24px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }
.tfp-config-head h2 { color: #fff; margin: 0; font-size: 1.5rem; }
.tfp-tag { font-family: var(--tfp-mono); font-size: .85rem; color: #c3c7cc; }
.tfp-kind { border-top: 1px solid var(--tfp-line); }
.tfp-kind:first-of-type { border-top: 0; }
.tfp-kind h3 { padding: 14px 24px 0; text-transform: uppercase; letter-spacing: .06em; font-size: .8rem; color: var(--tfp-muted); font-family: var(--tfp-mono); }
.tfp-rim-row { display: grid; grid-template-columns: 96px minmax(0, 1fr); border-top: 1px solid #ecebe6; }
.tfp-kind h3 + .tfp-rim-row { border-top: 0; }
.tfp-rim { padding: 16px 20px; background: var(--tfp-soft); font-family: var(--tfp-display); font-weight: 700; font-size: 1.7rem; line-height: 1; }
.tfp-rim span { display: block; font-family: inherit; font-size: .75rem; font-weight: 500; color: var(--tfp-muted); margin-top: 4px; text-transform: lowercase; font-family: var(--tfp-mono); }
.tfp-sizes { padding: 12px 20px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }

.tfp-size { display: inline-block; font-family: var(--tfp-mono); font-weight: 500; font-size: 1.05rem; color: var(--tfp-ink) !important; text-decoration: none; border: 1px solid #c9cbc6; border-radius: 6px; padding: 8px 14px; background: #fff; white-space: nowrap; }
.tfp-size:hover { border-color: var(--tfp-accent); color: var(--tfp-accent) !important; }
.tfp-stagger { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; padding: 6px 8px; border: 1px dashed #b9bbb5; border-radius: 8px; }
.tfp-axle { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--tfp-muted); font-family: var(--tfp-mono); }
.tfp-size-list { display: flex; flex-wrap: wrap; gap: 8px; }
.tfp-size-list .tfp-size { border-radius: 999px; font-size: .95rem; }

/* Decoder */
.tfp-decoder dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 16px; margin: 0 0 14px; }
.tfp-decoder dl div { border-top: 3px solid var(--tfp-ink); padding-top: 10px; }
.tfp-decoder dt { font-family: var(--tfp-mono); font-size: 1.6rem; font-weight: 500; }
.tfp-decoder dd { margin: 0; color: var(--tfp-text); font-size: .95rem; }

/* Years */
.tfp-years { display: flex; flex-wrap: wrap; gap: 8px; }
.tfp-year { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 68px; padding: 0 14px; border-radius: 6px; background: #fff; border: 1px solid var(--tfp-line); color: var(--tfp-ink) !important; text-decoration: none; font-weight: 500; }
.tfp-year:hover { border-color: var(--tfp-ink); }
.tfp-year.is-current { background: var(--tfp-ink); border-color: var(--tfp-ink); color: #fff !important; font-weight: 600; }
.tfp-years--big .tfp-year { min-width: 84px; font-size: 1.05rem; }

/* Tiles */
.tfp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.tfp-grid--wide { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.tfp-tile { display: flex; flex-direction: column; justify-content: center; min-height: 48px; background: #fff; border: 1px solid var(--tfp-line); border-radius: 6px; padding: 12px 16px; color: var(--tfp-ink) !important; text-decoration: none; font-weight: 500; }
.tfp-tile:hover { border-color: var(--tfp-ink); }
.tfp-tile-title { font-weight: 600; }
.tfp-tile-meta { font-size: .85rem; color: var(--tfp-muted); font-family: var(--tfp-mono); }
.tfp-letter { margin-bottom: 18px; }
.tfp-letter-head { font-family: var(--tfp-display) !important; font-size: 1.4rem !important; margin-bottom: 8px !important; }
.tfp-more { margin: 12px 0 0; font-weight: 600; }

/* Tables */
.tfp-table-wrap { overflow-x: auto; }
.tfp-table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.tfp-table th { text-align: left; background: var(--tfp-ink); color: #fff; padding: 12px 14px; font-weight: 600; }
.tfp-table td { padding: 12px 14px; border-top: 1px solid #e8e7e2; vertical-align: middle; }
.tfp-table td.tfp-mono { font-size: .88rem; }
.tfp-card > .tfp-table-wrap { margin: 0 -24px -24px; }
.tfp-card h2 + .tfp-table-wrap { margin-top: 6px; }
.tfp-preview { background: #fff; border: 1px solid var(--tfp-line); border-radius: 8px; }

/* Call to action */
.tfp-cta { background: var(--tfp-ink); color: #fff; border-radius: 8px; padding: 26px; display: flex; flex-direction: column; gap: 12px; }
.tfp-cta h2 { color: #fff; margin: 0; font-size: 1.8rem; }
.tfp-cta p { margin: 0; color: #c3c7cc; font-size: .95rem; }
.tfp-eyebrow { font-family: var(--tfp-mono); font-size: .8rem !important; letter-spacing: .06em; text-transform: uppercase; color: #ff8a65 !important; }
.tfp-cta-stats { font-family: var(--tfp-mono); font-size: .85rem !important; }
.tfp-cta .tfp-cta-link { color: #fff; text-align: center; font-size: .95rem; }

/* Buttons */
.tfp-btn { font-size: 1rem !important; line-height: 1.2; display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; border: 0; border-radius: 4px; font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; text-align: center; }
.tfp-btn--accent { background: var(--tfp-accent); color: #fff !important; }
.tfp-btn--accent:hover { filter: brightness(.92); }
.tfp-btn--dark { background: var(--tfp-ink); color: #fff !important; }
.tfp-btn--dark:hover { background: #000; }

/* Finder */
.tfp-finder { display: flex; flex-direction: column; gap: 14px; }
.tfp-tabs { display: flex; gap: 4px; background: #eeeeea; padding: 4px; border-radius: 6px; }
.tfp-tab { font-size: 1rem !important; flex: 1; min-height: 44px; border: 0; border-radius: 4px; background: transparent; font: inherit; color: var(--tfp-muted); cursor: pointer; }
.tfp-tab.is-active { background: #fff; color: var(--tfp-ink); font-weight: 600; }
.tfp-panel { display: flex; flex-direction: column; gap: 14px; margin: 0; }
.tfp-panel[hidden] { display: none; }
.tfp-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.tfp-finder--compact .tfp-fields { grid-template-columns: minmax(0, 1fr); }
.tfp-fields label { display: flex; flex-direction: column; gap: 6px; font-size: .9rem; font-weight: 500; color: var(--tfp-ink); }
.tfp-fields select { min-height: 48px; padding: 0 12px; border: 1px solid #c9cbc6; border-radius: 4px; background: #fff; font: inherit; color: var(--tfp-ink); width: 100%; }
.tfp-fields select:disabled { background: #f5f5f3; color: #8a8e94; }
.tfp-fields select:focus-visible, .tfp-btn:focus-visible, .tfp-tab:focus-visible { outline: 2px solid var(--tfp-accent); outline-offset: 2px; }

/* Stats */
.tfp-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 20px; }
.tfp-stat { display: flex; flex-direction: column; }
.tfp-stat-num { font-family: var(--tfp-display); font-weight: 700; font-size: 2.6rem; line-height: 1; }
.tfp-stat-label { color: var(--tfp-muted); font-size: .95rem; }

@media (max-width: 600px) {
	.tfp-rim-row { grid-template-columns: 72px minmax(0, 1fr); }
	.tfp-rim { padding: 14px 12px; font-size: 1.4rem; }
	.tfp-sizes { padding: 12px; }
	.tfp-card { padding: 18px; }
	.tfp-card > .tfp-table-wrap { margin: 0 -18px -18px; }
}

/* ===== Home page (pattern "TireFitment home page" + "TireFitment full width" template) ===== */
.tfp-home-main { margin: 0; padding: 0; }
.tfp-full-width .wp-site-blocks > main, .tfp-home-main > * { margin-block: 0; }
.tfp-home-main .tfp-home-hero, .tfp-home-main .tfp-home-band, .tfp-home-main .tfp-home-section { margin: 0 !important; max-width: none !important; width: 100%; }
.tfp-home-inner { max-width: 1200px; margin: 0 auto !important; padding: 0 16px; }
.tfp-home-inner > * + * { margin-block-start: 18px; }
.tfp-home-section { padding: 88px 0 0; background: #f7f7f5; }
.tfp-home-section:last-child, .tfp-home-faq { padding-bottom: 96px; }
.tfp-home-section h2 { font-size: clamp(2rem, 4vw, 3rem); }
.tfp-home-h2-spaced { margin-top: 64px !important; }
.tfp-home-eyebrow { font-family: var(--tfp-mono); font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; color: #b23a12; margin: 0 0 10px !important; }
.tfp-home-text { font-size: 1.15rem; color: var(--tfp-text); max-width: 760px; }

/* Hero */
.tfp-home-hero { background: var(--tfp-ink); color: #fff; padding: 72px 0 88px; }
.tfp-home-split { display: grid; grid-template-columns: minmax(0, 1fr); gap: 48px; align-items: center; }
@media (min-width: 960px) { .tfp-home-split { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 64px; } }
.tfp-home-split > * + * { margin-block-start: 0; }
.tfp-home-hero h1 { color: #fff; font-size: clamp(2.6rem, 6vw, 4.4rem); margin: 0 0 20px; }
.tfp-home-hero .tfp-home-eyebrow { color: #ff8a65; }
.tfp-home-lead { font-size: 1.2rem; color: #c3c7cc; max-width: 560px; margin: 0 0 28px; }
.tfp-home-buttons { gap: 12px; }
.tfp-home-finder-card { background: #fff; color: var(--tfp-ink); border-radius: 10px; padding: 28px; }
.tfp-home-finder-card .tfp-home-card-title { font-size: 1.8rem; margin: 0 0 16px; }

/* Buttons (core button block) */
.tfp-home-main .wp-block-button .wp-block-button__link { border-radius: 4px; font-weight: 600; font-size: 1rem; padding: 15px 26px; text-decoration: none; }
.tfp-home-btn-accent .wp-block-button__link { background: var(--tfp-accent) !important; color: #fff !important; border: 0; }
.tfp-home-btn-accent .wp-block-button__link:hover { filter: brightness(.92); }
.tfp-home-btn-ghost .wp-block-button__link { background: transparent !important; color: #fff !important; border: 1px solid #5b626b !important; }
.tfp-home-btn-ghost .wp-block-button__link:hover { border-color: #fff !important; }
.tfp-home-btn-outline .wp-block-button__link { background: transparent !important; color: var(--tfp-ink) !important; border: 1px solid var(--tfp-ink) !important; padding: 12px 20px; }

/* Stats band */
.tfp-home-band { background: #fff; border-bottom: 1px solid var(--tfp-line); padding: 32px 0; }

/* Data preview + sample bar */
.tfp-home-section .tfp-preview { margin-top: 28px; }
.tfp-home-sample { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; border: 1px dashed #b9bbb5; border-radius: 8px; padding: 18px 24px; margin-top: 24px !important; }
.tfp-home-sample > * { margin: 0 !important; }

/* Audience cards */
.tfp-home-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; margin-top: 28px !important; }
.tfp-home-cards > * { margin: 0 !important; }
.tfp-home-card { background: #fff; border: 1px solid var(--tfp-line); border-radius: 8px; padding: 28px; }
.tfp-home-card h3 { font-size: 1.25rem; margin: 0 0 8px; text-transform: none; font-family: inherit; }
.tfp-home-card p { margin: 0; color: var(--tfp-text); }

/* Pricing */
.tfp-home-pricing { background: var(--tfp-ink); color: #fff; border-radius: 12px; padding: clamp(28px, 5vw, 48px); display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; align-items: center; }
@media (min-width: 900px) { .tfp-home-pricing { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); } }
.tfp-home-pricing > * { margin: 0 !important; }
.tfp-home-pricing h2 { color: #fff; }
.tfp-home-pricing .tfp-home-eyebrow { color: #ff8a65; }
.tfp-home-checks { list-style: none; padding: 0; margin: 20px 0 0; display: flex; flex-direction: column; gap: 10px; color: #d5d7da; }
.tfp-home-checks li { padding-left: 28px; position: relative; }
.tfp-home-checks li::before { content: ""; position: absolute; left: 2px; top: .45em; width: 12px; height: 7px; border-left: 2px solid #ff8a65; border-bottom: 2px solid #ff8a65; transform: rotate(-45deg); }
.tfp-home-price-card { background: #fff; color: var(--tfp-ink); border-radius: 8px; padding: 32px; }
.tfp-home-price-card > * + * { margin-top: 14px !important; }
.tfp-home-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; margin: 0; }
.tfp-home-price strong { font-family: var(--tfp-display); font-size: 4rem; line-height: 1; }
.tfp-home-price s { color: var(--tfp-muted); font-size: 1.25rem; }
.tfp-home-price span { color: var(--tfp-muted); font-size: .95rem; }
.tfp-home-price-card a:not(.wp-block-button__link) { color: #b23a12; font-weight: 500; }
.tfp-home-small { font-size: .9rem; color: var(--tfp-muted); border-top: 1px solid #e8e7e2; padding-top: 14px; }

/* FAQ (core details block) */
.tfp-home-narrow { max-width: 820px; }
.tfp-home-faq .wp-block-details { background: #fff; border: 1px solid var(--tfp-line); border-radius: 8px; padding: 18px 22px; margin-top: 10px !important; }
.tfp-home-faq summary { font-weight: 600; font-size: 1.1rem; cursor: pointer; }
.tfp-home-faq details p { margin: 12px 0 0; color: var(--tfp-text); }
@media (min-width: 600px) { .tfp-home-finder-card .tfp-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.tfp-home-main .tfp-home-card h3 { font-weight: 700; font-size: 1.2rem; letter-spacing: 0; }
.tfp-home-main .tfp-home-card p, .tfp-home-main .tfp-home-sample p { font-size: 1rem; line-height: 1.55; }
.tfp-home-sample > p { flex: 1 1 360px; }
.tfp-preview .tfp-table { min-width: 820px; }
@media (max-width: 600px) { .tfp-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } .tfp-stat-num { font-size: 2rem; } }

/* ===== TireFitment header & footer (redesign) — body.tfp-shell ===== */
body.tfp-shell {
	margin: 0;
	background: #f7f7f5;
	color: #16191d;
	font-family: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}
body.tfp-shell .tfp, body.tfp-shell .tfp-home-main, body.tfp-shell .tfp-home-main p,
body.tfp-shell .tfp select, body.tfp-shell .tfp button, body.tfp-shell .tfp input { font-family: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif; }
body.tfp-shell .tfp-home-main p, body.tfp-shell .tfp-home-main li { font-size: inherit; letter-spacing: normal; }
body.tfp-shell .tfp-home-main .tfp-home-lead { font-size: 1.2rem; }
body.tfp-shell .tfp-home-main .tfp-home-text { font-size: 1.15rem; }
body.tfp-shell .tfp-home-main .tfp-home-eyebrow { font-size: .85rem; font-family: var(--tfp-mono, "IBM Plex Mono", monospace); }
.tfp-shell #tfp-main { display: block; }

.tfp-skip { position: absolute; left: -9999px; top: 8px; z-index: 1000; background: #fff; color: #16191d; padding: 10px 16px; border-radius: 4px; }
.tfp-skip:focus { left: 8px; }

.tfp-site-header { background: #16191d; color: #fff; position: relative; z-index: 50; }
.tfp-site-header-inner { max-width: 1200px; margin: 0 auto; padding: 0 16px; min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.tfp-logo { display: flex; align-items: center; gap: 10px; color: #fff !important; text-decoration: none !important; }
.tfp-logo > span { font-family: "Barlow Condensed", "Arial Narrow", sans-serif; font-weight: 700; font-size: 26px; letter-spacing: .02em; line-height: 1; }
.tfp-logo-suffix { color: #ff8a65; }
.tfp-site-nav { display: flex; align-items: center; gap: 28px; }
.tfp-site-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 28px; }
.tfp-site-menu li { margin: 0; padding: 0; }
.tfp-site-menu a { color: #d5d7da !important; text-decoration: none !important; font-size: 15px; font-weight: 400; }
.tfp-site-menu a:hover, .tfp-site-menu .current-menu-item > a { color: #fff !important; }
.tfp-header-cta { background: var(--tfp-accent, #c2410c); color: #fff !important; text-decoration: none !important; padding: 10px 18px; font-weight: 600; font-size: 15px; border-radius: 4px; white-space: nowrap; }
.tfp-header-cta:hover { filter: brightness(.92); }
.tfp-menu-toggle { display: none; background: transparent; border: 1px solid #3a4048; color: #fff; border-radius: 4px; width: 44px; height: 44px; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.tfp-site-header a:focus-visible, .tfp-menu-toggle:focus-visible { outline: 2px solid #ff8a65; outline-offset: 2px; }

@media (max-width: 880px) {
	.tfp-menu-toggle { display: inline-flex; }
	.tfp-site-header-inner { flex-wrap: wrap; padding-top: 12px; padding-bottom: 12px; min-height: 64px; }
	.tfp-site-nav { display: none; width: 100%; flex-direction: column; align-items: stretch; gap: 0; padding: 8px 0 12px; border-top: 1px solid #2a2f36; }
	.tfp-menu-open .tfp-site-nav { display: flex; }
	.tfp-site-menu { flex-direction: column; align-items: stretch; gap: 0; }
	.tfp-site-menu a { display: block; padding: 12px 0; font-size: 17px; }
	.tfp-header-cta { text-align: center; margin-top: 10px; padding: 14px; }
}

.tfp-site-footer { background: #16191d; color: #c3c7cc; font-size: 15px; }
.tfp-site-footer-inner { max-width: 1200px; margin: 0 auto; padding: 56px 16px; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 32px; }
.tfp-footer-col { display: flex; flex-direction: column; gap: 8px; }
.tfp-footer-col h2 { color: #fff; font-family: inherit; font-size: 15px; font-weight: 600; text-transform: none; letter-spacing: 0; margin: 0 0 4px; }
.tfp-footer-col a { color: #c3c7cc !important; text-decoration: none !important; }
.tfp-footer-col a:hover { color: #fff !important; text-decoration: underline !important; }
.tfp-footer-logo { font-family: "Barlow Condensed", "Arial Narrow", sans-serif; font-weight: 700; font-size: 24px; color: #fff; letter-spacing: .02em; }
.tfp-footer-brand p { margin: 0; max-width: 280px; }
.tfp-site-footer-bottom { border-top: 1px solid #2a2f36; }
.tfp-site-footer-bottom p { max-width: 1200px; margin: 0 auto; padding: 20px 16px; font-size: 14px; }

/* Audience card icons (home page) */
.tfp-home-card::before { content: ""; display: block; width: 28px; height: 28px; margin-bottom: 12px; background: #b23a12; -webkit-mask: var(--tfp-icon) center / contain no-repeat; mask: var(--tfp-icon) center / contain no-repeat; }
.tfp-home-cards > .tfp-home-card:nth-child(1) { --tfp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M3 4h2l2.5 11h11L21 7H7'/%3E%3Ccircle cx='9' cy='19' r='1.5'/%3E%3Ccircle cx='17' cy='19' r='1.5'/%3E%3C/svg%3E"); }
.tfp-home-cards > .tfp-home-card:nth-child(2) { --tfp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M14 6l4 4M4 20l6-6M13 3l8 8-3 3-8-8z'/%3E%3C/svg%3E"); }
.tfp-home-cards > .tfp-home-card:nth-child(3) { --tfp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M3 13l2-6h14l2 6v5H3z'/%3E%3Ccircle cx='7.5' cy='15.5' r='1'/%3E%3Ccircle cx='16.5' cy='15.5' r='1'/%3E%3C/svg%3E"); }
.tfp-home-cards > .tfp-home-card:nth-child(4) { --tfp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M8 7l-5 5 5 5M16 7l5 5-5 5'/%3E%3C/svg%3E"); }

/* ===== Theme-proofing (classic themes such as Astra, Twenty Twenty-One) ===== */
/* Some themes cap every element in header/main/footer (e.g. "main * { max-width: 610px }"). */
body:where(.tfp-shell) header *, body:where(.tfp-shell) main *, body:where(.tfp-shell) footer *,
body:where(.tfp-full-width) main * { max-width: none; }
/* Classic themes wrap group blocks in an extra inner container; let our layouts see through it. */
.tfp-home-main .wp-block-group__inner-container { display: contents; }
/* Layout rules with enough weight to beat core/theme group styles. */
.tfp-home-main .tfp-home-split { display: grid; }
.tfp-home-main .tfp-home-cards { display: grid; }
.tfp-home-main .tfp-home-pricing { display: grid; }
.tfp-home-main .tfp-home-sample { display: flex; }
.tfp-home-main .tfp-home-inner { max-width: 1200px; }
.tfp-home-main .tfp-home-narrow { max-width: 820px; }
.tfp-home-main .tfp-home-lead { max-width: 560px; }
.tfp-home-main .tfp-home-text { max-width: 760px; }
.tfp-home-cards .tfp-home-card:nth-child(1) { --tfp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M3 4h2l2.5 11h11L21 7H7'/%3E%3Ccircle cx='9' cy='19' r='1.5'/%3E%3Ccircle cx='17' cy='19' r='1.5'/%3E%3C/svg%3E"); }
.tfp-home-cards .tfp-home-card:nth-child(2) { --tfp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M14 6l4 4M4 20l6-6M13 3l8 8-3 3-8-8z'/%3E%3C/svg%3E"); }
.tfp-home-cards .tfp-home-card:nth-child(3) { --tfp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M3 13l2-6h14l2 6v5H3z'/%3E%3Ccircle cx='7.5' cy='15.5' r='1'/%3E%3Ccircle cx='16.5' cy='15.5' r='1'/%3E%3C/svg%3E"); }
.tfp-home-cards .tfp-home-card:nth-child(4) { --tfp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M8 7l-5 5 5 5M16 7l5 5-5 5'/%3E%3C/svg%3E"); }
/* Theme button styles must not repaint our controls. */
.tfp .tfp-tab { background: transparent !important; color: var(--tfp-muted) !important; border: 0 !important; box-shadow: none !important; text-transform: none !important; letter-spacing: normal !important; padding: 0 12px !important; }
.tfp .tfp-tab.is-active { background: #fff !important; color: var(--tfp-ink) !important; }
.tfp .tfp-btn--dark { background: var(--tfp-ink) !important; color: #fff !important; border: 0 !important; text-transform: none !important; letter-spacing: normal !important; }
.tfp .tfp-btn--accent { background: var(--tfp-accent) !important; border: 0 !important; text-transform: none !important; }
.tfp-menu-toggle { background: transparent !important; color: #fff !important; box-shadow: none !important; }
.tfp .tfp-fields select { box-shadow: none; }
/* Twenty Twenty-One and similar cap "[class*=inner-container] > *" at a reading width. */
.tfp-home-main [class*="inner-container"] > * { max-width: none !important; }
.tfp-home-main [class*="inner-container"] > .tfp-home-inner, .tfp-home-main .tfp-home-inner { max-width: 1200px !important; margin-left: auto !important; margin-right: auto !important; }
.tfp-home-main [class*="inner-container"] > .tfp-home-narrow, .tfp-home-main .tfp-home-narrow { max-width: 820px !important; }
.tfp-home-main [class*="inner-container"] > .tfp-home-lead { max-width: 560px !important; }
.tfp-home-main [class*="inner-container"] > .tfp-home-text { max-width: 760px !important; }
/* Theme clearfix pseudo-elements must not become grid/flex items. */
.tfp-stats::before, .tfp-stats::after, .tfp-grid::before, .tfp-grid::after, .tfp-fields::before, .tfp-fields::after,
.tfp-size-list::before, .tfp-size-list::after, .tfp-years::before, .tfp-years::after, .tfp-layout::before, .tfp-layout::after,
.tfp-home-split::before, .tfp-home-split::after, .tfp-home-cards::before, .tfp-home-cards::after,
.tfp-home-pricing::before, .tfp-home-pricing::after, .tfp-home-sample::before, .tfp-home-sample::after,
.tfp-site-header-inner::before, .tfp-site-header-inner::after, .tfp-site-footer-inner::before, .tfp-site-footer-inner::after { content: none !important; display: none !important; }
/* Classic-theme margins/borders on wrapped blocks, tables and definition lists. */
.tfp-home-main [class*="inner-container"] > * { margin-left: 0; margin-right: 0; }
.tfp-home-main :is(.tfp-home-split, .tfp-home-cards, .tfp-home-pricing, .tfp-home-sample) > [class*="inner-container"] > * { margin: 0 !important; }
.tfp .tfp-table, .tfp .tfp-table th, .tfp .tfp-table td { border: 0; }
.tfp .tfp-table td { border-top: 1px solid #e8e7e2; }
.tfp .tfp-decoder dd { margin: 0 !important; padding: 0; }
.tfp .tfp-decoder dt { margin: 0; }
.tfp-home-main [class*="inner-container"] > *:not(.tfp-home-inner):not(.tfp-home-narrow) { margin-left: 0 !important; margin-right: 0 !important; }
.tfp-home-main .tfp-home-faq [class*="inner-container"] > .wp-block-heading { margin-left: auto !important; margin-right: auto !important; }

/* ===== Site-wide header/footer on theme pages (Shop, Cart, Checkout, posts...) ===== */
.tfp-site-header, .tfp-site-footer { font-family: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif; line-height: 1.55; box-sizing: border-box; }
.tfp-site-header *, .tfp-site-footer * { box-sizing: border-box; }
.tfp-site-header ul, .tfp-site-footer ul { margin: 0; }
/* Hide the theme's own header/footer where we print ours (non-Astra themes). */
body.tfp-hide-theme-chrome .wp-site-blocks > header.wp-block-template-part,
body.tfp-hide-theme-chrome .wp-site-blocks > footer.wp-block-template-part,
body.tfp-hide-theme-chrome #masthead,
body.tfp-hide-theme-chrome #colophon,
body.tfp-hide-theme-chrome header.site-header:not(.tfp-site-header),
body.tfp-hide-theme-chrome footer.site-footer:not(.tfp-site-footer),
body.tfp-site-shell .elementor-location-header,
body.tfp-site-shell .elementor-location-footer { display: none !important; }
/* Block themes pad the top of the page under the (now hidden) header. */
body.tfp-hide-theme-chrome .wp-site-blocks { padding-top: 0; }
body.tfp-hide-theme-chrome #page > aside.widget-area, body.tfp-hide-theme-chrome .site > aside.widget-area { display: none !important; }

/* ===== Edition pricing cards [tirefitment_pricing] ===== */
.tfp-editions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: stretch; }
.tfp-editions::before, .tfp-editions::after { content: none !important; display: none !important; }
@media (min-width: 700px) {
	.tfp-editions--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tfp-editions--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.tfp-edition { position: relative; background: #fff; color: var(--tfp-ink); border: 1px solid var(--tfp-line); border-radius: 10px; padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.tfp-edition.is-current { border: 2px solid var(--tfp-accent); box-shadow: 0 10px 30px rgba(0, 0, 0, .12); }
.tfp .tfp-edition > * { margin: 0; }
.tfp .tfp-edition-badge { align-self: flex-start; font-family: var(--tfp-mono); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; padding: 5px 10px; border-radius: 999px; background: #eeeeea; color: var(--tfp-muted); }
.tfp .tfp-edition.is-current .tfp-edition-badge { background: var(--tfp-accent); color: #fff; }
.tfp .tfp-edition-title { font-family: var(--tfp-display); font-weight: 700; text-transform: uppercase; font-size: 1.6rem; line-height: 1.05; color: var(--tfp-ink); letter-spacing: .01em; }
.tfp .tfp-edition-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; }
.tfp .tfp-edition-price strong { font-family: var(--tfp-display); font-weight: 700; font-size: 3.4rem; line-height: 1; color: var(--tfp-ink); }
.tfp .tfp-edition-price s { color: var(--tfp-muted); font-size: 1.15rem; }
.tfp .tfp-edition-price span { color: var(--tfp-muted); font-size: .9rem; }
.tfp .tfp-edition-note { color: var(--tfp-text); font-size: .95rem; }
.tfp .tfp-edition .tfp-btn { width: 100%; margin-top: auto; }
.tfp .tfp-edition-small { font-size: .85rem; color: var(--tfp-muted); }
.tfp .tfp-btn--outline { background: transparent !important; color: var(--tfp-ink) !important; border: 1px solid var(--tfp-ink) !important; text-transform: none !important; }
.tfp .tfp-btn--outline:hover { background: var(--tfp-ink) !important; color: #fff !important; }
.tfp .tfp-editions-sample { grid-column: 1 / -1; text-align: center; margin: 4px 0 0; font-size: .95rem; }
.tfp .tfp-editions-sample a { color: var(--tfp-accent); font-weight: 500; }
.tfp-editions--on-dark .tfp-editions-sample a { color: #ff8a65; }
/* Home page pricing band: with 2+ editions, heading on top and cards in a row underneath. */
.tfp-home-main .tfp-home-pricing:has(.tfp-editions--2), .tfp-home-main .tfp-home-pricing:has(.tfp-editions--3) { grid-template-columns: minmax(0, 1fr); }
.tfp-home-pricing:has(.tfp-editions--2) .tfp-home-checks, .tfp-home-pricing:has(.tfp-editions--3) .tfp-home-checks { flex-direction: row; flex-wrap: wrap; gap: 10px 28px; }

/* Older editions: compact list under the cards */
.tfp .tfp-editions-older { grid-column: 1 / -1; background: #fff; color: var(--tfp-ink); border: 1px solid var(--tfp-line); border-radius: 10px; padding: 18px 22px; }
.tfp .tfp-editions-older-title { margin: 0 0 6px; font-family: var(--tfp-mono); font-weight: 500; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--tfp-muted); }
.tfp .tfp-editions-older ul { list-style: none; margin: 0; padding: 0; }
.tfp .tfp-editions-older li { display: grid; grid-template-columns: minmax(130px, auto) 1fr auto auto; align-items: center; gap: 6px 18px; padding: 10px 0; border-top: 1px solid #ecebe6; margin: 0; }
.tfp .tfp-editions-older li:first-child { border-top: 0; }
.tfp .tfp-older-name { font-weight: 600; }
.tfp .tfp-older-note { color: var(--tfp-muted); font-size: .9rem; }
.tfp .tfp-older-price { font-family: var(--tfp-display); font-weight: 700; font-size: 1.4rem; }
.tfp .tfp-older-buy { color: var(--tfp-ink) !important; border: 1px solid var(--tfp-ink); border-radius: 4px; padding: 8px 14px; font-weight: 600; font-size: .9rem; text-decoration: none !important; white-space: nowrap; min-height: 40px; display: inline-flex; align-items: center; }
.tfp .tfp-older-buy:hover { background: var(--tfp-ink); color: #fff !important; }
@media (max-width: 600px) {
	.tfp .tfp-editions-older li { grid-template-columns: 1fr auto; }
	.tfp .tfp-older-note { grid-column: 1 / -1; grid-row: 2; }
	.tfp .tfp-older-buy { grid-column: 1 / -1; justify-content: center; }
}
@media (max-width: 600px) {
	.tfp .tfp-edition:not(.is-current) { padding: 18px 20px; gap: 8px; }
	.tfp .tfp-edition:not(.is-current) .tfp-edition-price strong { font-size: 2.2rem; }
	.tfp .tfp-edition:not(.is-current) .tfp-edition-small,
	.tfp .tfp-edition:not(.is-current) .tfp-edition-badge { display: none; }
	.tfp .tfp-edition.is-current .tfp-edition-small { display: none; }
}
