@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/be-vietnam-pro-400.ttf") format("truetype")}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/be-vietnam-pro-500.ttf") format("truetype")}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/be-vietnam-pro-600.ttf") format("truetype")}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/be-vietnam-pro-700.ttf") format("truetype")}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/be-vietnam-pro-800.ttf") format("truetype")}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:900;font-display:swap;src:url("../fonts/be-vietnam-pro-900.ttf") format("truetype")}

@layer f88-foundation, f88-structure;
@layer f88-foundation {
/* Theme-safe foundation shared by every AIF88Master front-end component. */
:root {
	--aif88master-font-vi: "Be Vietnam Pro", "Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

/* Generated league and cup pages already render their identity in .f88s2-head. */
body.aif88master-league-page :where(.entry-header:has(.entry-title), .entry-title, .page-title, .wp-block-post-title) {
	display: none !important;
}

/*
 * The public site is Vietnamese even when WordPress keeps a different site
 * locale for administration. Apply the Vietnamese typeface to theme and page
 * builder text too, while preserving icon-font glyphs.
 */
body.aif88master-language-vi,
body.aif88master-language-vi :where(*:not(.dashicons):not([class^="fa-"]):not([class*=" fa-"]):not([class^="eicon-"]):not([class*=" eicon-"]):not([class^="elementor-icon-"]):not([class*=" elementor-icon-"])) {
	font-family: var(--aif88master-font-vi) !important;
}

/*
 * Vietnamese glyphs must not inherit condensed display fonts from the active
 * theme or Elementor. Scope the override to Vietnamese plugin output and to
 * match posts whose immutable preview is marked vi_VN; icon fonts remain
 * untouched because only text-bearing elements are selected.
 */
html[lang^="vi"] .f88s2 :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,th,td,caption,a,button,label,input,select,textarea,summary,small,strong,em,time,blockquote),
.f88s2 :where([lang|="vi"], [lang|="vi"] h1, [lang|="vi"] h2, [lang|="vi"] h3, [lang|="vi"] h4, [lang|="vi"] h5, [lang|="vi"] h6, [lang|="vi"] p, [lang|="vi"] li, [lang|="vi"] dt, [lang|="vi"] dd, [lang|="vi"] th, [lang|="vi"] td, [lang|="vi"] a, [lang|="vi"] button, [lang|="vi"] label, [lang|="vi"] span, [lang|="vi"] strong, [lang|="vi"] small),
.aif88master-match-analysis-post.aif88master-content-language-vi :where(.entry-title,.wp-block-post-title,.entry-meta,.entry-content,.wp-block-post-content,.f88-match-article-shell,.f88-match-article-shell h1,.f88-match-article-shell h2,.f88-match-article-shell h3,.f88-match-article-shell h4,.f88-match-article-shell h5,.f88-match-article-shell h6,.f88-match-article-shell p,.f88-match-article-shell li,.f88-match-article-shell dt,.f88-match-article-shell dd,.f88-match-article-shell th,.f88-match-article-shell td,.f88-match-article-shell a,.f88-match-article-shell button,.f88-match-article-shell label,.f88-match-article-shell span,.f88-match-article-shell strong,.f88-match-article-shell small,.f88-match-article-shell time,.elementor-heading-title,.elementor-widget-text-editor) {
	font-family: var(--f88-article-font, var(--aif88master-font-vi)) !important;
}

/* Vietnamese output has one typography contract across native, shortcode and Elementor markup. */
.f88s2[lang|="vi"],
.f88s2[lang|="vi"] :where(*:not(.dashicons):not([class^="fa-"]):not([class*=" fa-"]):not([class^="eicon-"]):not([class*=" eicon-"])),
.f88s2 :lang(vi),
.f88s2 :lang(vi) :where(*:not(.dashicons):not([class^="fa-"]):not([class*=" fa-"]):not([class^="eicon-"]):not([class*=" eicon-"])),
.aif88master-match-analysis-post.aif88master-content-language-vi :where(.entry-title,.entry-meta,.entry-content,.wp-block-post-content,.f88-match-article-shell,.f88-match-article-shell *:not(.dashicons):not([class^="fa-"]):not([class*=" fa-"]):not([class^="eicon-"]):not([class*=" eicon-"]),.elementor-widget-heading .elementor-heading-title,.elementor-widget-text-editor,.elementor-widget-text-editor *) {
	font-family: var(--f88-article-font, var(--aif88master-font-vi)) !important;
}

/* Elementor editor iframes do not consistently retain WordPress body classes. */
.aif88master-content-language-vi,
.aif88master-content-language-vi :where(*:not(.dashicons):not([class^="fa-"]):not([class*=" fa-"]):not([class^="eicon-"]):not([class*=" eicon-"])) {
	font-family: var(--aif88master-font-vi) !important;
}

html[lang^="vi"] .f88s2 :where(h1,h2,h3,h4,h5,h6),
.aif88master-match-analysis-post.aif88master-content-language-vi :where(.entry-title,.wp-block-post-title,.f88-match-article-shell h1,.f88-match-article-shell h2,.f88-match-article-shell h3,.f88-match-article-shell h4) {
	letter-spacing: 0 !important;
	line-height: 1.25 !important;
}

.f88s2 {
	--f88s2-card: var(--theme-palette-color-8, #fff);
	--f88s2-text: var(--theme-palette-color-1, #172033);
	--f88s2-muted: var(--theme-palette-color-3, #64748b);
	--f88s2-line: var(--theme-palette-color-6, #e2e8f0);
	--f88s2-accent: #1d4ed8;
	--f88s2-glass:rgba(255,255,255,.7);
	--f88s2-glass-strong:rgba(255,255,255,.84);
	--f88s2-glass-line:rgba(255,255,255,.74);
	--f88s2-glass-shadow:0 18px 46px rgba(15,35,63,.12),inset 0 1px 0 rgba(255,255,255,.88);
	width: 100%;
	max-width: 1180px;
	min-width: 0;
	margin-inline: auto;
	color: var(--f88s2-text);
	font-family: var(--aif88master-font-vi);
	font-size: 16px;
	line-height: 1.65;
	font-variant-numeric: tabular-nums;
	font-synthesis-weight: none;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	isolation: isolate;
	container-type: inline-size;
}

.f88s2 :where(.f88s2-card,.f88s2-match-card,.f88s2-stat-card,.f88s2-group-card,.f88s2-state-card,.f88s2-competition-card,.f88s2-history-card,.f88s2-table-wrap,.f88s2-fixtures-wrap),
.f88-match-article-shell :where(.aif88master-match-preview,.aif88master-match-hero-card,.aif88master-cards-fields-v1>section,.aif88master-faq-item){border-color:color-mix(in srgb,var(--f88s2-line,#e2e8f0) 58%,var(--f88s2-glass-line));background:var(--f88s2-glass);box-shadow:var(--f88s2-glass-shadow);-webkit-backdrop-filter:blur(16px) saturate(145%);backdrop-filter:blur(16px) saturate(145%)}

@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.f88s2 :where(.f88s2-card,.f88s2-match-card,.f88s2-stat-card,.f88s2-group-card,.f88s2-state-card,.f88s2-competition-card,.f88s2-history-card,.f88s2-table-wrap,.f88s2-fixtures-wrap),.f88-match-article-shell :where(.aif88master-match-preview,.aif88master-match-hero-card,.aif88master-cards-fields-v1>section,.aif88master-faq-item){background:#fff}}

.f88s2,
.f88s2 *,
.f88s2 *::before,
.f88s2 *::after {
	box-sizing: border-box;
}

.f88s2 :where(img, svg, video, iframe) {
	max-width: 100%;
}

.f88s2 :where(p, li, dd, td, th, a, span, strong) {
	overflow-wrap: anywhere;
}

.f88s2 :where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid color-mix(in srgb, var(--f88s2-accent) 70%, transparent);
	outline-offset: 3px;
}

.f88s2-table-wrap,
.f88s2-fixtures-wrap,
.f88s2-bracket {
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

@media (max-width: 680px) {
	.f88s2 {
		font-size: 15px;
	}

	.f88s2 :where(input, select, textarea) {
		max-width: 100%;
		font-size: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.f88s2 *,
	.f88s2 *::before,
	.f88s2 *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}
}

/* User-configurable presentation shell shared by registered shortcodes. */
.aif88master-shortcode-design {
	width: 100%;
	max-width: var(--f88-shortcode-width, 1180px);
	margin-inline: auto;
	color: var(--f88s2-text, #172033);
	font-family: var(--f88-shortcode-font, var(--aif88master-font-vi));
	font-size: var(--f88-shortcode-body, 16px);
	line-height: 1.65;
}
.aif88master-shortcode-design > .f88s2 {
	--f88s2-accent: inherit;
	--f88s2-card: inherit;
	--f88s2-text: inherit;
	--f88s2-muted: inherit;
	--f88s2-line: inherit;
	max-width:100%;
	font-family:inherit;
	font-size:inherit;
}
.aif88master-shortcode-f88_match_analysis .f88-match-article-shell {
	--f88-article-primary:var(--f88s2-accent)!important;
	--f88-article-accent:var(--f88s2-text)!important;
	--f88-article-surface:var(--f88s2-card)!important;
	--f88-article-text:var(--f88s2-text)!important;
	--f88-article-muted:var(--f88s2-muted)!important;
	--f88-article-border:var(--f88s2-line)!important;
	--f88-article-radius:var(--f88-shortcode-radius)!important;
	--f88-article-font:var(--f88-shortcode-font)!important;
}
.aif88master-shortcode-custom-title {margin:0 0 var(--f88-shortcode-gap,18px);padding:14px var(--f88-shortcode-padding,18px);border:1px solid var(--f88s2-line);border-radius:var(--f88-shortcode-radius);background:var(--f88-shortcode-heading-bg);color:var(--f88s2-text);box-shadow:var(--f88-shortcode-shadow);font-family:inherit;font-size:var(--f88-shortcode-heading,24px);line-height:1.3}
.aif88master-shortcode-design :where(.f88s2-card,.f88s2-state-card,.f88s2-group-card,.f88s2-stat-card,.f88s2-match-card,.f88s2-competition-card,.f88s2-history-card){border-radius:var(--f88-shortcode-radius)!important;box-shadow:var(--f88-shortcode-shadow)}
.aif88master-shortcode-design :where(.f88s2-card,.f88s2-state-card,.f88s2-stat-card>header,.f88s2-competition-card>header){padding:var(--f88-shortcode-padding)}
.aif88master-shortcode-design :where(h1,h2,h3){font-family:inherit}.aif88master-shortcode-design :where(h2){font-size:var(--f88-shortcode-heading)}
.aif88master-shortcode-design :where(th,td){height:var(--f88-shortcode-row)}
.aif88master-shortcode-design.is-table-striped tbody tr:nth-child(even) :where(th,td){background:color-mix(in srgb,var(--f88s2-accent) 5%,var(--f88s2-card))}
.aif88master-shortcode-design.is-table-minimal :where(table,th,td){border-right:0!important;border-left:0!important}.aif88master-shortcode-design.is-table-minimal :where(.f88s2-table-wrap,.f88s2-stat-wrap){border-right:0;border-left:0;border-radius:0}
@media(max-width:680px){.aif88master-shortcode-design{font-size:var(--f88-shortcode-mobile-body,15px)}.aif88master-shortcode-design :where(.f88s2-card,.f88s2-state-card,.f88s2-stat-card>header,.f88s2-competition-card>header){padding:var(--f88-shortcode-mobile-padding)}.aif88master-shortcode-design.is-mobile-compact :where(th,td){height:auto;padding:7px 8px!important;font-size:.85em}.aif88master-shortcode-design.is-mobile-scroll :where(.f88s2-table-wrap,.f88s2-fixtures-wrap,.f88s2-stat-wrap){overflow-x:auto}.aif88master-shortcode-design.is-mobile-cards :where(.f88s2-match-card,.f88s2-stat-card,.f88s2-group-card){border-radius:var(--f88-shortcode-radius)}}
