/*
 * Tabler-inspired theme for the Frappe public website / portal
 * ------------------------------------------------------------
 * Overrides website design tokens and lightly restyles the navbar,
 * cards, buttons and forms. The public site has NO native theme
 * switcher, so tabler_web_theme.js provides the light/dark toggle
 * (sets [data-theme] on <html>, persisted in localStorage).
 *
 * Tabler tokens: primary #206bc4, font Inter, base radius 4px.
 */

/* ------------------------------------------------------------------ */
/* Inter font (bundled locally, no external network calls)            */
/* ------------------------------------------------------------------ */
@font-face {
	font-family: "InterVariable";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("/assets/ifenova_custom/fonts/InterVariable.woff2") format("woff2");
}
@font-face {
	font-family: "InterVariable";
	font-style: italic;
	font-weight: 100 900;
	font-display: swap;
	src: url("/assets/ifenova_custom/fonts/InterVariable-Italic.woff2") format("woff2");
}

/* ------------------------------------------------------------------ */
/* Design tokens - LIGHT                                               */
/* ------------------------------------------------------------------ */
:root:root,
:root:root[data-theme="light"] {
	--primary: #206bc4;
	--primary-color: #206bc4;
	--brand-color: #206bc4;

	--blue-50: #f1f6fd;
	--blue-100: #e7f0fb;
	--blue-200: #cfe0f6;
	--blue-300: #a8c8ec;
	--blue-400: #6ea2df;
	--blue-500: #3b82d6;
	--blue-600: #206bc4;
	--blue-700: #1a5aa8;
	--blue-800: #164a8a;
	--blue-900: #123a6d;

	--font-stack: "InterVariable", "Inter", -apple-system, BlinkMacSystemFont,
		"Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	--border-radius: 4px;
	--border-radius-sm: 4px;
	--border-radius-md: 6px;
	--card-border-radius: 6px;

	--bg-color: #f6f8fb;
	--fg-color: #ffffff;
	--card-bg: #ffffff;
	--navbar-bg: #ffffff;
	--control-bg: #ffffff;

	--text-color: #1a2234;
	--heading-color: #1a2234;
	--text-muted: #667085;

	--border-color: #e6e7e9;
	--table-border-color: #e6e7e9;

	--btn-primary: #206bc4;

	--shadow-sm: 0 1px 2px rgba(24, 36, 51, 0.06);
	--card-shadow: 0 1px 2px rgba(24, 36, 51, 0.06);
}

/* ------------------------------------------------------------------ */
/* Design tokens - DARK (toggled by tabler_web_theme.js)              */
/* ------------------------------------------------------------------ */
:root:root[data-theme="dark"] {
	--primary: #4b93e7;
	--primary-color: #4b93e7;
	--brand-color: #4b93e7;

	--bg-color: #1a2234;
	--fg-color: #182433;
	--card-bg: #182433;
	--navbar-bg: #182433;
	--control-bg: #1e2942;

	--text-color: #e9ecf1;
	--heading-color: #e9ecf1;
	--text-muted: #9aa7bd;

	--border-color: #243049;
	--table-border-color: #243049;

	--btn-primary: #4b93e7;

	--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
	--card-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);

	color-scheme: dark;
}

/* ------------------------------------------------------------------ */
/* Base                                                               */
/* ------------------------------------------------------------------ */
body {
	font-family: var(--font-stack);
	background-color: var(--bg-color);
	color: var(--text-color);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
a {
	color: var(--primary);
}
h1, h2, h3, h4, h5, h6 {
	color: var(--heading-color);
}

/* ------------------------------------------------------------------ */
/* Navbar                                                             */
/* ------------------------------------------------------------------ */
.navbar {
	background-color: var(--navbar-bg) !important;
	border-bottom: 1px solid var(--border-color);
	box-shadow: var(--shadow-sm);
}
.navbar .navbar-brand,
.navbar .nav-link {
	color: var(--text-color) !important;
}
.navbar .nav-link:hover {
	color: var(--primary) !important;
}

/* ------------------------------------------------------------------ */
/* Cards                                                              */
/* ------------------------------------------------------------------ */
.card,
.web-card {
	background-color: var(--card-bg);
	border: 1px solid var(--border-color);
	border-radius: var(--card-border-radius);
	box-shadow: var(--card-shadow);
	color: var(--text-color);
}

/* ------------------------------------------------------------------ */
/* Buttons                                                            */
/* ------------------------------------------------------------------ */
.btn {
	border-radius: var(--border-radius);
	font-weight: 500;
}
.btn-primary {
	background-color: var(--primary);
	border-color: var(--primary);
	color: #ffffff;
}
.btn-primary:hover {
	background-color: #1a5aa8;
	border-color: #1a5aa8;
}
[data-theme="dark"] .btn-primary:hover {
	background-color: #6aa6ec;
	border-color: #6aa6ec;
}
.btn-default,
.btn-secondary {
	background-color: var(--card-bg);
	border: 1px solid var(--border-color);
	color: var(--text-color);
}

/* ------------------------------------------------------------------ */
/* Forms                                                              */
/* ------------------------------------------------------------------ */
.form-control {
	background-color: var(--control-bg);
	border: 1px solid var(--border-color);
	border-radius: var(--border-radius);
	color: var(--text-color);
}
.form-control:focus {
	border-color: var(--primary);
	box-shadow: 0 0 0 2px rgba(32, 107, 196, 0.2);
}
[data-theme="dark"] .form-control:focus {
	box-shadow: 0 0 0 2px rgba(75, 147, 231, 0.28);
}

/* ------------------------------------------------------------------ */
/* Website dark-mode toggle button (injected by JS)                   */
/* ------------------------------------------------------------------ */
.tabler-theme-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin-left: 8px;
	padding: 0;
	border: 1px solid var(--border-color);
	border-radius: var(--border-radius);
	background-color: var(--card-bg);
	color: var(--text-color);
	cursor: pointer;
	line-height: 1;
	transition: background-color 0.12s ease, border-color 0.12s ease;
}
.tabler-theme-toggle:hover {
	border-color: var(--primary);
	color: var(--primary);
}
.tabler-theme-toggle svg {
	width: 18px;
	height: 18px;
	display: block;
}

/* ================================================================== */
/* Palette Tabler enrichie + accents colorés (site web)               */
/* ================================================================== */
:root {
	--tbl-blue: #206bc4;
	--tbl-azure: #4299e1;
	--tbl-indigo: #4263eb;
	--tbl-purple: #ae3ec9;
	--tbl-pink: #d6336c;
	--tbl-red: #d63939;
	--tbl-orange: #f76707;
	--tbl-yellow: #f59f00;
	--tbl-green: #2fb344;
	--tbl-teal: #0ca678;
	--tbl-cyan: #17a2b8;
}

/* Bandeau de marque dégradé en haut de la barre de navigation ------- */
.navbar {
	position: relative;
}
.navbar::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 3px;
	background: linear-gradient(
		90deg,
		var(--tbl-indigo),
		var(--tbl-blue),
		var(--tbl-teal)
	);
	z-index: 1;
}

/* Boutons primaires : léger dégradé --------------------------------- */
.btn-primary {
	background-image: linear-gradient(180deg, #2b78d1, #206bc4);
	border-color: #1f66bd;
}
[data-theme="dark"] .btn-primary {
	background-image: linear-gradient(180deg, #59a0ee, #4b93e7);
	border-color: #4b93e7;
}

/* Badges Bootstrap « soft » façon Tabler ---------------------------- */
.badge.bg-success,
.badge.badge-success {
	background: rgba(47, 179, 68, 0.15) !important;
	color: #2fb344 !important;
}
.badge.bg-danger,
.badge.badge-danger {
	background: rgba(214, 57, 57, 0.15) !important;
	color: #d63939 !important;
}
.badge.bg-warning,
.badge.badge-warning {
	background: rgba(245, 159, 0, 0.18) !important;
	color: #b45309 !important;
}
.badge.bg-info,
.badge.badge-info {
	background: rgba(23, 162, 184, 0.15) !important;
	color: #17a2b8 !important;
}
.badge.bg-primary,
.badge.badge-primary {
	background: rgba(32, 107, 196, 0.15) !important;
	color: #2b78d1 !important;
}

/* Cartes : liseré supérieur coloré cyclique ------------------------- */
.card {
	border-top: 2px solid var(--tbl-blue);
}
.card:nth-of-type(5n + 2) {
	border-top-color: var(--tbl-green);
}
.card:nth-of-type(5n + 3) {
	border-top-color: var(--tbl-orange);
}
.card:nth-of-type(5n + 4) {
	border-top-color: var(--tbl-purple);
}
.card:nth-of-type(5n + 5) {
	border-top-color: var(--tbl-teal);
}
