/*
Theme Name: My Sport Market
Description: Thème enfant GeneratePress de my-sport-market.com, l'équipement de tous les sports rangé par casier. Charte « Le Vestiaire » (graphite, citron, Barlow Condensed et Inter hébergées), site sombre natif : casiers numérotés par sport, kit indispensable / utile / bonus, cartes de comparatifs, et les huit « Terrains » à motif CSS (accueil et en-tête des archives). Peau des blocs Fox Blocks et Fox Affiliate. Présentation seulement, socle Fox embarqué (fox-socle/).
Author: Fox
Template: generatepress
Version: 1.0.0
Fox Socle: 1.3.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: my-sport-market-theme
*/

/*
 * Site styles only. Colours come from the GeneratePress palette (inc/site.php):
 * var(--contrast), var(--accent), var(--base-3)... The site is dark by design:
 * no light palette, no switch. Lemon = action and the open locker, nothing else.
 */
:root {
	--msm-display: "Barlow Condensed", "Arial Narrow", sans-serif;
	--msm-sans: "Inter", system-ui, sans-serif;
	--msm-r: 12px;
	--msm-r-lg: 20px;
	--msm-veil: rgba(21, 23, 26, .82);
	color-scheme: dark;
}

/* Fox Affiliate paints product images on white by default: a card tone here. */
body {
	--fox-img-bg: var(--base);
	--fox-shadow: none;
	background: var(--base-2);
	color: var(--contrast);
	font-family: var(--msm-sans);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, .page-title, .entry-title {
	font-family: var(--msm-display);
	font-weight: 800;
	letter-spacing: .01em;
}
h1, h2, .page-title, .entry-title {
	line-height: 1;
	text-transform: uppercase;
}
h1, .entry-title, .page-title { font-size: clamp(40px, 6vw, 72px); }
h2 { font-size: clamp(30px, 3.6vw, 44px); }
h3 { font-size: 26px; font-weight: 700; line-height: 1.1; }
h4 { font-size: 21px; font-weight: 700; }

a { color: var(--accent); }
a:hover { color: var(--contrast); }
.entry-content a:not([class]) {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: .15em;
}
.entry-content > p, .entry-content > ul, .entry-content > ol { max-width: 72ch; }

:focus-visible {
	outline: 3px solid var(--accent);
	outline-offset: 3px;
	border-radius: 4px;
}

::selection { background: var(--accent); color: var(--on-accent); }

/* ---------------------------------------------------------------- header */

.site-header { border-bottom: 1px solid var(--contrast-3); }
.main-title a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	color: var(--contrast);
	text-decoration: none;
}
.msm-logo, .site-logo img {
	display: block;
	flex: none;
	width: auto;
	height: 40px;
}
.main-title, .msm-name {
	font-family: var(--msm-display);
	font-size: 24px;
	font-weight: 800;
	letter-spacing: .06em;
	line-height: 1;
	text-transform: uppercase;
}

.main-navigation .main-nav ul li a {
	font-size: 15px;
	font-weight: 500;
}
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 6px;
}
.main-navigation .menu-bar-item > a {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin: 8px 0 8px 12px;
	padding: 0;
	border: 1px solid var(--muted);
	border-radius: 50%;
	line-height: 1;
}
.main-navigation .menu-bar-item > a:hover { border-color: var(--accent); }
.navigation-search input[type="search"] { color: var(--contrast); }

/* ------------------------------------------------------- shared pieces */

.msm-kicker {
	margin: 0 0 14px;
	color: var(--accent);
	font-family: var(--msm-display);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: .2em;
	line-height: 1.2;
	text-transform: uppercase;
}
.msm-kicker a { color: inherit; text-decoration: none; }
.msm-kicker a:hover { color: var(--contrast); }

.msm-label {
	margin: 0 0 12px;
	color: var(--contrast-2);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.entry-content .msm-sec-title { margin: 0 0 24px; }

.wp-block-button__link,
.fxb-smartlink--button,
.fox-showcase__btn,
.fox-hl__btn,
.fct-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 22px;
	border: 1px solid var(--accent);
	border-radius: var(--msm-r);
	background: var(--accent);
	color: var(--on-accent);
	font-family: var(--msm-sans);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}
.entry-content .wp-block-button__link,
.entry-content .fxb-smartlink--button,
.entry-content .fox-product-link.fox-showcase__btn,
.entry-content .fox-product-link.fox-hl__btn,
.entry-content .fox-product-link.fct-btn {
	color: var(--on-accent);
	text-decoration: none;
}
.entry-content .wp-block-button__link:hover,
.entry-content .fxb-smartlink--button:hover,
.entry-content .fox-product-link.fox-showcase__btn:hover,
.entry-content .fox-product-link.fox-hl__btn:hover,
.entry-content .fox-product-link.fct-btn:hover {
	border-color: var(--contrast);
	background: var(--contrast);
	color: var(--on-accent);
}
.entry-content .is-style-outline .wp-block-button__link {
	border-color: var(--muted);
	background: transparent;
	color: var(--contrast);
}
.entry-content .is-style-outline .wp-block-button__link:hover {
	border-color: var(--contrast);
	background: var(--contrast);
	color: var(--on-accent);
}

/* Kit tags, as paragraph styles (also usable in any article). */
.is-style-msm-indispensable,
.is-style-msm-utile,
.is-style-msm-bonus {
	display: inline-block;
	margin: 0;
	padding: 6px 12px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
}
.is-style-msm-indispensable { background: var(--accent); color: var(--on-accent); }
.is-style-msm-utile { border-color: var(--muted); color: var(--contrast); }
.is-style-msm-bonus { color: var(--contrast-2); }

/* -------------------------------------------------------------- home */

/* GeneratePress is a classic theme: each group renders an inner container,
   which carries the flex and grid layouts of the theme groups. */
[class*="msm-"] > .wp-block-group__inner-container {
	max-width: none;
	margin: 0;
	padding: 0;
}

.msm-home .entry-content > section + section { margin-top: clamp(56px, 7vw, 88px); }
.msm-home .entry-content > .msm-lockers,
.msm-home .entry-content > .msm-lockers + .msm-kit { margin-top: 40px; }

.msm-hero { padding-top: 16px; }
.msm-hero > .wp-block-group__inner-container {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 32px 48px;
}
.msm-hero__text { flex: 999 1 560px; min-width: 0; }
.msm-hero__side { flex: 1 1 300px; min-width: 0; }
.entry-content .msm-hero__title {
	margin: 0;
	font-size: clamp(48px, 8vw, 112px);
	line-height: .92;
}
.msm-lede {
	max-width: 560px;
	margin: 24px 0 0;
	color: var(--contrast-2);
	font-size: 19px;
	line-height: 1.55;
}
.msm-hero__cta { margin-bottom: 20px; }
.entry-content .msm-level .wp-block-button__link {
	min-height: 44px;
	border-radius: 22px;
}

/* The lockers: one numbered door per sport, the whole door is the link. */
.msm-lockers .msm-sec-title {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.msm-lockers__grid > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
.msm-locker {
	position: relative;
	display: flex;
	min-height: 128px;
	padding: 14px;
	border: 2px solid var(--contrast-3);
	border-radius: 10px;
	background: var(--base);
	transition: background-color .15s, border-color .15s;
}
.msm-locker > .wp-block-group__inner-container {
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: space-between;
}
.msm-locker::after {
	content: "";
	position: absolute;
	top: 20px;
	right: 14px;
	width: 31px;
	height: 3px;
	background: linear-gradient(90deg, currentColor 0 14px, transparent 14px 17px, currentColor 17px);
	color: var(--muted);
}
.entry-content .msm-locker__n {
	margin: 0;
	color: var(--contrast-2);
	font-family: var(--msm-display);
	font-size: 15px;
	font-weight: 700;
}
.entry-content .msm-locker__name {
	margin: 0;
	font-size: 26px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
}
.entry-content .msm-locker__name a,
.entry-content .msm-ground__name a {
	color: inherit;
	text-decoration: none;
}
.msm-locker__name a::after,
.msm-ground__name a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}
.msm-locker__name a:focus-visible,
.msm-ground__name a:focus-visible { outline: none; }
.msm-locker:hover,
.msm-locker:focus-within {
	border-color: var(--accent);
	background: var(--accent);
	color: var(--on-accent);
}
.msm-locker:focus-within,
.msm-ground:focus-within {
	outline: 3px solid var(--accent);
	outline-offset: 3px;
}
.entry-content .msm-locker:hover .msm-locker__n,
.entry-content .msm-locker:focus-within .msm-locker__n,
.msm-locker:hover::after,
.msm-locker:focus-within::after { color: var(--on-accent); }

/* The open locker: the kit of one sport. */
.msm-kit__card > .wp-block-group__inner-container {
	display: flex;
	flex-wrap: wrap;
	gap: 32px 40px;
}
.msm-kit__card {
	padding: clamp(22px, 4vw, 40px);
	border: 2px solid var(--accent);
	border-radius: var(--msm-r-lg);
	background: var(--base-3);
}
.msm-kit__intro { flex: 1 1 300px; min-width: 0; }
.msm-kit__list { flex: 2 1 480px; min-width: 0; }
.msm-kit__list > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.entry-content .msm-kit__title {
	margin: 8px 0 0;
	font-size: clamp(40px, 5.4vw, 64px);
	line-height: .95;
}
.msm-kit__pitch {
	margin: 16px 0 28px;
	color: var(--contrast-2);
}
.msm-kit__item > .wp-block-group__inner-container {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
}
.msm-kit__item {
	padding: 14px 20px;
	border-radius: var(--msm-r);
	background: var(--base);
}
.entry-content .msm-kit__n {
	width: 36px;
	margin: 0;
	color: var(--contrast-2);
	font-family: var(--msm-display);
	font-size: 28px;
	font-weight: 800;
	line-height: 1;
}
.msm-kit__body { flex: 1 1 200px; min-width: 0; }
.entry-content .msm-kit__name {
	margin: 0;
	font-family: var(--msm-sans);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.3;
	text-transform: none;
}
.entry-content .msm-kit__why {
	margin: 2px 0 0;
	color: var(--contrast-2);
	font-size: 14px;
	line-height: 1.45;
}
.entry-content .msm-kit__link { margin: 0; }
.entry-content .msm-kit__link a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 4px;
	font-size: 14px;
	font-weight: 600;
}

/* Les Terrains: eight grounds, textures in CSS only. Each ground sets its
   colour and texture; the tiles and the archive header read them. */
.msm-t-eau {
	--msm-g: #17405E;
	--msm-g-img: repeating-radial-gradient(circle at 20% 120%, transparent 0 18px, rgba(242, 242, 238, .13) 18px 20px);
}
.msm-t-neige {
	--msm-g: #2B3A4A;
	--msm-g-img: radial-gradient(#4A6179 2px, transparent 2.5px);
	--msm-g-size: 22px 22px;
}
.msm-t-route {
	--msm-g: #2B2F33;
	--msm-g-img: linear-gradient(#2B2F33 0 40%, transparent 40%), linear-gradient(90deg, transparent 80%, #C6F432 80% 83%, transparent 83%);
	--msm-g-size: 100% 48px;
}
.msm-t-montagne {
	--msm-g: #1D3A2F;
	--msm-g-img: repeating-radial-gradient(ellipse at 70% 30%, transparent 0 14px, rgba(242, 242, 238, .15) 14px 16px);
}
.msm-t-pelouse {
	--msm-g: #2D5A2A;
	--msm-g-img: repeating-linear-gradient(90deg, rgba(242, 242, 238, .07) 0 40px, transparent 40px 80px);
}
.msm-t-court {
	--msm-g: #7A3A22;
	--msm-g-img: linear-gradient(rgba(242, 242, 238, .45) 2px, transparent 2px), linear-gradient(90deg, rgba(242, 242, 238, .45) 2px, transparent 2px);
	--msm-g-size: 100% 50%, 50% 100%;
	--msm-g-pos: 0 50%, 50% 0;
}
.msm-t-ring {
	--msm-g: #5E1A24;
	--msm-g-img: linear-gradient(transparent 30%, rgba(242, 242, 238, .2) 30% 33%, transparent 33% 63%, rgba(242, 242, 238, .2) 63% 66%, transparent 66%);
}
.msm-t-salon {
	--msm-g: #4A3A2E;
	--msm-g-img: repeating-linear-gradient(45deg, rgba(242, 242, 238, .05) 0 12px, transparent 12px 24px);
}

.msm-ground,
body[class*="msm-t-"] .page-header {
	background-color: var(--msm-g, var(--base-3));
	background-image: linear-gradient(to top, var(--msm-veil), rgba(21, 23, 26, 0) 75%), var(--msm-g-img, none);
	background-position: 0 0, var(--msm-g-pos, 0 0);
	background-size: 100% 100%, var(--msm-g-size, auto);
}
.msm-grounds__grid > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.msm-ground {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 200px;
	padding: 20px;
	border: 2px solid transparent;
	border-radius: var(--msm-r-lg);
	color: var(--contrast);
	transition: border-color .15s;
}
.msm-ground:hover { border-color: var(--accent); }
.entry-content .msm-ground__name {
	margin: 0;
	font-size: clamp(26px, 3vw, 34px);
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
}
.entry-content .msm-ground__sports {
	margin: 6px 0 0;
	font-size: 15px;
	line-height: 1.35;
}

/* Latest comparisons: Fox Blocks link-cards, striped frame without image. */
.msm-latest .fxb-link-cards__list { gap: 16px; }
.msm-latest .fxb-lcard {
	position: relative;
	overflow: hidden;
	border: 0;
	border-radius: 16px;
	background: var(--base-3);
	box-shadow: none;
}
.msm-latest .fxb-lcard:not(:has(img))::before {
	content: "";
	display: block;
	height: 180px;
	background: repeating-linear-gradient(135deg, var(--base) 0 14px, #2A2F35 14px 28px);
}
.msm-latest .fxb-lcard__body { padding: 20px; }
.msm-latest .fxb-lcard__cat {
	color: var(--accent);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.msm-latest .fxb-lcard__title {
	margin: 8px 0 0;
	font-family: var(--msm-sans);
	font-size: 21px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.3;
	text-transform: none;
}
.msm-latest .fxb-lcard__title-link { color: var(--contrast); text-decoration: none; }
.msm-latest .fxb-lcard__title-link::after { content: ""; position: absolute; inset: 0; }
.msm-latest .fxb-lcard:hover { box-shadow: 0 0 0 2px var(--accent); }
.msm-latest .fxb-lcard:focus-within { outline: 3px solid var(--accent); outline-offset: 3px; }
.msm-latest .fxb-lcard__title-link:focus-visible { outline: none; }

/* Method: three numbered commitments. */
.msm-method__grid > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
}
.msm-point {
	padding: 24px 4px 0;
	border-top: 3px solid var(--accent);
}
.entry-content .msm-point__n {
	margin: 0;
	color: var(--accent);
	font-family: var(--msm-display);
	font-size: 40px;
	font-weight: 800;
	line-height: 1;
}
.entry-content .msm-point__title {
	margin: 8px 0 0;
	font-family: var(--msm-sans);
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0;
}
.msm-point p:last-child { margin: 8px 0 0; color: var(--contrast-2); }

/* ------------------------------------------------- posts and archives */

.page-header {
	margin-bottom: 40px;
	padding: clamp(24px, 4vw, 40px);
	border-radius: var(--msm-r-lg);
	background: var(--base-3);
}
.page-header .page-title { margin: 0; }
.page-header .msm-kicker { color: var(--accent); }
.taxonomy-description {
	max-width: 62ch;
	margin-top: 16px;
	color: var(--contrast);
}
.taxonomy-description p:last-child { margin-bottom: 0; }
@media (min-width: 769px) {
	body[class*="msm-t-"] .page-header {
		background-image: linear-gradient(90deg, rgba(21, 23, 26, .94) 0, rgba(21, 23, 26, .82) 55%, rgba(21, 23, 26, .25)), var(--msm-g-img, none);
	}
	body[class*="msm-t-"] .page-header > * { max-width: 55%; }
}

.entry-meta, .entry-meta a { color: var(--contrast-2); }
.entry-meta a:hover { color: var(--accent); }
.post-image img, .featured-image img { border-radius: 16px; }

.entry-content blockquote {
	margin: 2em 0;
	padding: 4px 0 4px 20px;
	border-left: 3px solid var(--accent);
	color: var(--contrast);
}
.entry-content hr { border: 0; border-top: 1px solid var(--contrast-3); }
.entry-content table { border-color: var(--contrast-3); }
.entry-content th, .entry-content td { border-color: var(--contrast-3); }
.entry-content thead th { background: var(--base); }

button, input[type="submit"], input[type="button"] {
	min-height: 48px;
	border-radius: var(--msm-r);
	font-weight: 600;
}
input[type="text"], input[type="email"], input[type="search"], input[type="url"], textarea, select {
	min-height: 44px;
	border-radius: 10px;
}

/* ------------------------------------------------------------ footer */

.site-info { border-top: 1px solid var(--contrast-3); font-size: 14px; }
.site-info .inside-site-info { padding-top: 32px; padding-bottom: 32px; }
.site-info .copyright-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 24px;
	width: 100%;
	text-align: left;
}
.msm-foot-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 0 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.msm-foot-menu a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--contrast);
}
.msm-foot-menu a:hover { color: var(--accent); }

/* ---------------------------------------------------- Fox Blocks skin */

.entry-content .fxb-key-points-block {
	margin: 2em 0;
	padding: 24px;
	border: 2px solid var(--accent);
	border-radius: var(--msm-r-lg);
	background: var(--base-3);
}
.fxb-key-points__heading {
	margin: 0 0 12px;
	color: var(--accent);
	font-family: var(--msm-display);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
}
.fxb-key-points__item { border: 0; border-radius: var(--msm-r); background: var(--base); }
.entry-content .fxb-key-points__number {
	background: transparent;
	color: var(--contrast-2);
	font-family: var(--msm-display);
	font-size: 24px;
	font-weight: 800;
}
.fxb-key-points__title { margin: 0 0 4px; font-family: var(--msm-sans); font-size: 17px; font-weight: 600; text-transform: none; }

.entry-content .fxb-expert-tip {
	margin: 2em 0;
	padding: 22px 24px;
	border: 0;
	border-radius: var(--msm-r);
	background: var(--base-3);
	color: var(--contrast);
}
/* The side stripe is Fox Blocks' own ::before: lemon by default (the plugin's
   info blue clashed), the state colours for a warning or a critical tip. */
.entry-content .fxb-expert-tip::before { background: var(--accent); }
.entry-content .fxb-expert-tip--warning::before { background: var(--warning); }
.entry-content .fxb-expert-tip--critical::before { background: var(--error); }
.fxb-expert-tip__icon { color: var(--accent); }
.entry-content .fxb-expert-tip__title {
	display: block;
	margin-bottom: 4px;
	color: var(--accent);
	font-family: var(--msm-display);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.entry-content .fxb-expert-tip--warning .fxb-expert-tip__title { color: var(--warning); }
.fxb-expert-tip__content p { margin: 0; }

.entry-content .fxb-verdict-box {
	margin: 2.2em 0;
	padding: clamp(22px, 4vw, 36px);
	border: 2px solid var(--accent);
	border-radius: var(--msm-r-lg);
	background: var(--base-3);
	box-shadow: none;
}
.entry-content .fxb-verdict-box .fxb-badge {
	display: inline-block;
	padding: 6px 12px;
	border: 0;
	border-radius: 999px;
	background: var(--accent);
	color: var(--on-accent);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.fxb-verdict-box__title { margin: 12px 0 8px; font-size: clamp(28px, 3.4vw, 40px); }
.fxb-verdict-box__text { font-size: 18px; }
.fxb-verdict-box__hint { color: var(--contrast-2); }

.entry-content .fxb-pros-cons { gap: 16px; margin: 2em 0; }
.entry-content .fxb-pros-cons__column {
	padding: 20px 22px;
	border: 0;
	border-top: 3px solid var(--success);
	border-radius: var(--msm-r);
	background: var(--base-3);
}
.entry-content .fxb-pros-cons__column--cons { border-top-color: var(--error); }
.fxb-pros-cons__heading {
	margin: 0 0 10px;
	font-family: var(--msm-display);
	font-size: 22px;
	font-weight: 800;
	text-transform: uppercase;
}

.entry-content .fxb-scores {
	padding: 20px 22px;
	border: 0;
	border-radius: var(--msm-r);
	background: var(--base-3);
}
.fxb-scores__title { margin: 0 0 14px; font-size: 22px; }
.fxb-scores__name { font-weight: 600; }
.entry-content .fxb-scores [class*="__track"],
.entry-content .fxb-scores [class*="__bar-bg"] {
	height: 6px;
	border-radius: 3px;
	background: var(--base);
}
.entry-content .fxb-scores [class*="__fill"] {
	height: 6px;
	border-radius: 3px;
	background: var(--accent);
}

.entry-content .fxb-ctable,
.entry-content .fct-wrap { margin: 2em 0; }
.fxb-ctable__title { font-size: 22px; }
.entry-content .fxb-ctable__table,
.entry-content .fct-table {
	overflow: hidden;
	border: 0;
	border-radius: 16px;
	background: var(--base-3);
	box-shadow: 0 0 0 1px var(--contrast-3);
}
.entry-content .fxb-ctable__table th,
.entry-content .fxb-ctable__table td,
.entry-content .fct-table th,
.entry-content .fct-table td {
	border: 0;
	border-bottom: 1px solid var(--contrast-3);
	background: transparent;
	color: var(--contrast);
}
.entry-content .fxb-ctable__table thead th,
.entry-content .fct-table thead th { background: var(--base); }
.entry-content .fxb-ctable__pname,
.entry-content .fct-th__title {
	color: var(--contrast);
	font-family: var(--msm-display);
	font-size: 20px;
	font-weight: 800;
	text-transform: uppercase;
}
.fxb-ctable__yes { color: var(--success); }
.fxb-ctable__no { color: var(--error); }

.entry-content .fxb-faq__item {
	border: 0;
	border-bottom: 1px solid var(--contrast-3);
	border-radius: 0;
	background: transparent;
}
.entry-content .fxb-faq__question-text {
	font-family: var(--msm-sans);
	font-size: 18px;
	font-weight: 600;
}
.fxb-faq__icon { color: var(--accent); }

.entry-content .fxb-link-cards:not(.msm-latest *) .fxb-lcard {
	border: 0;
	border-radius: 16px;
	background: var(--base-3);
	box-shadow: 0 0 0 1px var(--contrast-3);
}
.fxb-lcard__title { font-family: var(--msm-sans); font-weight: 600; letter-spacing: 0; text-transform: none; }
.fxb-lcard__excerpt { color: var(--contrast-2); }
.entry-content .fxb-lcard__cta { color: var(--accent); font-weight: 600; text-decoration: none; }

.entry-content .fxb-smartlink--link,
.entry-content a.fxb-smartlink--inline {
	color: var(--accent);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: .15em;
}
.fxb-smartlink--pending { color: inherit; text-decoration: none; }
.entry-content .fxb-smartlink--button.fxb-smartlink--pending {
	border-style: dashed;
	border-color: var(--muted);
	background: transparent;
	color: var(--contrast-2);
}

/* ------------------------------------------------- Fox Affiliate skin */

.entry-content .fox-showcase,
.entry-content .fox-hl__item,
.entry-content .fct-card {
	border: 0;
	border-radius: 16px;
	background: var(--base-3);
	box-shadow: 0 0 0 1px var(--contrast-3);
	color: var(--contrast);
}
.entry-content .fox-showcase__title a,
.entry-content .fox-hl__product-title a,
.entry-content .fct-card__title a {
	color: var(--contrast);
	font-weight: 600;
	text-decoration: none;
}
.entry-content .fox-showcase__title a:hover,
.entry-content .fox-hl__product-title a:hover { color: var(--accent); }
.entry-content .fox-hl__desc,
.entry-content .fct-td--label,
.entry-content .fct-na,
.entry-content .fct-card__spec-label { color: var(--contrast-2); }
.entry-content .fox-hl .fox-hl-badge {
	border: 0;
	border-radius: 999px;
	background: var(--accent);
	color: var(--on-accent);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* Fox Affiliate colours and sizes written in its stylesheet instead of its
   tokens (light fills, green stock label, 11 px labels): back on the palette. */
.entry-content .fct-table .fct-td,
.entry-content .fct-card__footer { background: transparent; }
.entry-content .fct-row--cta .fct-td,
.entry-content .fct-card__footer { background: var(--base); }
.entry-content .fct-avail--yes,
.entry-content .fox-box__availability { color: var(--success); }
.entry-content .fct-td--label,
.entry-content .fct-avail,
.entry-content .fct-card__spec-label,
.entry-content .fox-box__availability { font-size: 12px; }

/* Carousel dots: an 8 px dot in a 24 px target (WCAG 2.2 target size). */
.entry-content .fct-cards-dot {
	box-sizing: content-box;
	width: 8px;
	height: 8px;
	padding: 8px;
	background-clip: content-box;
	background-color: var(--muted);
	transform: none;
}
.entry-content .fct-cards-dot.is-active { background-color: var(--accent); }

.fox-sticky-bar .fox-sticky-bar__inner {
	background: var(--base-3);
	box-shadow: 0 -1px 0 var(--contrast-3);
	color: var(--contrast);
}
.fox-sticky-bar .fox-sticky-bar__img-wrap { background: var(--base); }
.fox-sticky-bar .fox-sticky-bar__title { color: var(--contrast); }
.fox-sticky-bar .fox-sticky-bar__close { color: var(--contrast-2); }
.fox-sticky-bar .fox-sticky-bar__close:hover { background: var(--base); color: var(--contrast); }

/* --------------------------------------------------------- responsive */

@media (min-width: 480px) {
	.msm-lockers__grid > .wp-block-group__inner-container { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 720px) {
	.msm-lockers__grid > .wp-block-group__inner-container { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.msm-method__grid > .wp-block-group__inner-container { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
	.msm-grounds__grid > .wp-block-group__inner-container { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.msm-ground { min-height: 240px; padding: 22px; }
}
@media (min-width: 1100px) {
	.msm-lockers__grid > .wp-block-group__inner-container { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
	.one-container .site-content, .separate-containers .inside-article { padding: 24px 16px; }
	.main-title, .msm-name { font-size: 21px; }
	.msm-latest .fxb-link-cards__list { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 420px) {
	.msm-kit__item { padding: 14px 16px; }
	.entry-content .msm-locker__name { font-size: 22px; }
}
