/*
Theme Name: FootScore
Author: Alaa
Description: Thème dédié aux scores de foot en direct, cotes et probabilités. Conçu pour le plugin Foot Live & Probabilités.
Version: 1.0.0
Text Domain: footscore
*/

:root {
	--fs-dark: #0e1b2a;
	--fs-dark-2: #16263b;
	--fs-green: #16c172;
	--fs-green-d: #0fa55f;
	--fs-bg: #f4f6f8;
	--fs-text: #1c2733;
	--fs-muted: #6b7884;
	--fs-border: #e2e6ea;
}

* { box-sizing: border-box; }

body {
	margin: 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	background: var(--fs-bg);
	color: var(--fs-text);
	line-height: 1.5;
}

a { color: var(--fs-green-d); text-decoration: none; }
a:hover { text-decoration: underline; }

.fs-container { max-width: 1080px; margin: 0 auto; padding: 0 16px; }

/* Header */
.fs-header {
	background: var(--fs-dark);
	color: #fff;
	border-bottom: 3px solid var(--fs-green);
	position: sticky;
	top: 0;
	z-index: 50;
}
.fs-header-inner {
	max-width: 1080px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 12px 16px;
	flex-wrap: wrap;
}
.fs-brand {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 21px;
	font-weight: 800;
	color: #fff;
	letter-spacing: -0.3px;
	white-space: nowrap;
}
.fs-brand:hover { text-decoration: none; }
.fs-brand .fs-ball { font-size: 22px; }
.fs-brand .fs-logo { width: 34px; height: 34px; display: block; }
.fs-brand .fs-accent { color: var(--fs-green); }

/* Navigation */
.fs-nav {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-inline-start: auto; /* pousse nav + langues vers la fin (RTL-safe) */
	flex-wrap: wrap;
}
.fs-nav a {
	color: #cfd8e3;
	font-weight: 600;
	font-size: 15px;
	padding: 7px 12px;
	border-radius: 7px;
	transition: background .15s, color .15s;
}
.fs-nav a:hover {
	color: #fff;
	background: rgba(255, 255, 255, 0.10);
	text-decoration: none;
}

/* Sélecteur de langue (Polylang) */
.fs-lang { display: flex; align-items: center; }
.fs-lang ul {
	list-style: none !important;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 !important;
	padding: 0 !important;
}
.fs-lang li { list-style: none !important; margin: 0 !important; padding: 0; }
.fs-lang li::before { content: none !important; }
.fs-lang a { display: block; line-height: 0; opacity: .6; padding: 0; background: none; }
.fs-lang a:hover { opacity: 1; background: none; }
.fs-lang .current-lang a { opacity: 1; }
.fs-lang img {
	display: block;
	width: 24px;
	height: 17px;
	object-fit: cover;
	border-radius: 3px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.25);
}
.fs-lang .current-lang img { box-shadow: 0 0 0 2px var(--fs-green); }

/* RTL (arabe) */
.fs-rtl .fs-hero,
.fs-rtl .fs-footer { text-align: center; }

@media (max-width: 720px) {
	.fs-header-inner { gap: 10px; }
	.fs-nav { gap: 2px; }
	.fs-nav a { padding: 6px 8px; font-size: 14px; }
	.fs-brand { font-size: 18px; }
}

/* Hero */
.fs-hero {
	background: linear-gradient(135deg, var(--fs-dark) 0%, var(--fs-dark-2) 100%);
	color: #fff;
	padding: 40px 16px;
	text-align: center;
}
.fs-hero h1 { margin: 0 0 8px; font-size: 32px; font-weight: 800; }
.fs-hero p { margin: 0; color: #b8c4d2; font-size: 17px; }

/* Sections */
.fs-section { padding: 28px 0; }
.fs-section h2 {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 20px;
	margin: 0 0 14px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--fs-border);
}
.fs-section h2 .fs-dot {
	width: 10px; height: 10px; border-radius: 50%;
	background: var(--fs-green);
}
.fs-section h2 .fs-dot.live { background: #e23b3b; animation: fs-pulse 1.4s infinite; }
@keyframes fs-pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.3; } }

/* League filter */
.fs-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.fs-filters a {
	display: inline-block;
	padding: 6px 14px;
	border-radius: 20px;
	background: #fff;
	border: 1px solid var(--fs-border);
	color: var(--fs-text);
	font-size: 14px;
	font-weight: 600;
}
.fs-filters a:hover { border-color: var(--fs-green); text-decoration: none; }
.fs-filters a.active { background: var(--fs-green); border-color: var(--fs-green); color: #fff; }

/* Card wrapper for plugin table */
.fs-card {
	background: #fff;
	border: 1px solid var(--fs-border);
	border-radius: 10px;
	padding: 6px 16px 14px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

/* Footer */
.fs-footer {
	background: var(--fs-dark);
	color: #93a2b3;
	text-align: center;
	padding: 22px 16px;
	margin-top: 30px;
	font-size: 14px;
}
.fs-footer a { color: var(--fs-green); }

/* Emplacements publicitaires */
.fs-ad-top { margin-top: 14px; }
.fs-ad-bottom { margin: 24px auto 0; }
.fs-ad {
	min-height: 90px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #eef1f4;
	border: 1px dashed #c7ced6;
	border-radius: 10px;
	overflow: hidden;
}
.fs-ad-ph {
	color: #9aa6b2;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
}
.fs-ad .adsbygoogle { width: 100%; }

/* Bandeau de consentement (RGPD) */
.fs-consent {
	position: fixed;
	left: 16px;
	right: 16px;
	bottom: 16px;
	z-index: 1000;
	max-width: 1080px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	background: var(--fs-dark);
	color: #e8edf3;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 12px;
	padding: 14px 18px;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
	font-size: 14px;
}
.fs-consent[hidden] { display: none; }
.fs-consent-txt { flex: 1; min-width: 220px; }
.fs-consent-txt a { color: var(--fs-green); }
.fs-consent-btns { display: flex; gap: 8px; flex-wrap: wrap; }
.fs-consent button {
	cursor: pointer;
	border: 0;
	border-radius: 7px;
	padding: 9px 18px;
	font-weight: 700;
	font-size: 14px;
}
.fs-consent-yes { background: var(--fs-green); color: #fff; }
.fs-consent-yes:hover { background: var(--fs-green-d); }
.fs-consent-no { background: transparent; color: #cfd8e3; border: 1px solid rgba(255, 255, 255, 0.3); }
.fs-consent-no:hover { background: rgba(255, 255, 255, 0.08); }

/* Generic content (pages/posts) */
.fs-content { padding: 28px 0; }
.fs-content article { background:#fff; border:1px solid var(--fs-border); border-radius:10px; padding:24px; margin-bottom:20px; }
