/* Palette type Schoolmaker : bleus légers, gris */
:root {
	--bg-primary: #fff;
	--bg-alt: #f0f5f9;
	--bg-muted: #e8eef4;
	--text: #131521;
	--text-muted: #595c6d;
	--blue: #2563eb;
	--blue-light: #e4f4ff;
	--blue-soft: #3b82f6;
	--border: #e2e8f0;
	--radius: 8px;
	--transition: 0.2s ease;
}

/* Override Bulma primary */
.button.is-primary,
a.button.is-primary {
	background-color: var(--blue);
	border-color: var(--blue);
	color: #fff;
}
.button.is-primary:hover,
a.button.is-primary:hover {
	background-color: var(--blue-soft);
	border-color: var(--blue-soft);
	color: #fff;
}

body {
	font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
	color: var(--text);
	background: var(--bg-primary);
}

.title {
	color: var(--text);
}

strong {
	color: var(--text-muted);
}

/* Header */
header.header-custom {
	background: var(--bg-alt);
	padding: 1rem 0;
	border-bottom: 1px solid var(--border);
}
header .container {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
header .hero-custom {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	flex-wrap: wrap;
}
header .logo {
	height: 42px;
	width: auto;
	display: block;
}
header .title {
	margin: 0;
	font-weight: 600;
	font-size: 2rem;
	letter-spacing: -0.01em;
	color: var(--text);
}
header .subtitle {
	color: var(--text);
	margin-bottom: 0.25rem;
}
header .header-langs {
	font-size: 0.9rem;
	color: var(--text-muted);
	margin: 0;
}

/* Sections */
.container {
	margin: 0 auto;
	padding: 2.5rem 1.25rem;
}
section:nth-child(even) {
	background: var(--bg-alt);
}
section:nth-child(odd) {
	background: var(--bg-primary);
}
section:first-of-type .container {
	padding-top: 2rem;
}
section:last-of-type .container {
	padding-bottom: 3rem;
}

/* Tags — override Bulma couleurs */
.tag.tag-custom {
	color: var(--blue);
	background: var(--blue-light);
	border: 1px solid rgba(37, 99, 235, 0.2);
	border-radius: 999px;
	font-weight: 500;
}
.meta-tags.tags {
	margin-bottom: 0.75rem;
}

/* Images */
.img-wrap {
	overflow: hidden;
	border-radius: var(--radius);
	background: var(--bg-muted);
	border: 1px solid var(--border);
	display: block;
	line-height: 0;
}
.img-wrap img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform var(--transition);
}
.img-wrap:hover img {
	transform: scale(1.03);
}

/* Boutons */
.button {
	margin-top: 0.5rem;
}
.button-custom,
a.button.button-custom {
	font-size: 0.875rem;
	transition: border-color var(--transition), background var(--transition), box-shadow var(--transition);
	text-decoration: none;
}
.button-custom:hover,
a.button.button-custom:hover {
	box-shadow: 0 2px 6px rgba(37, 99, 235, 0.25);
}
.button-custom-secondary,
a.button.button-custom-secondary {
	background: var(--bg-muted) !important;
	color: var(--text) !important;
	border-color: var(--border) !important;
}
.button-custom-secondary:hover,
a.button.button-custom-secondary:hover {
	background: var(--border) !important;
	border-color: var(--text-muted) !important;
	color: var(--text) !important;
	box-shadow: 0 2px 4px rgba(0,0,0,0.06);
}

/* Cartes */
.box-custom,
.box.box-custom {
	border-radius: var(--radius);
	overflow: hidden;
	border: 1px solid var(--border);
	background: #fff;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
	transition: border-color var(--transition), box-shadow var(--transition);
}
.box-custom:hover,
.box.box-custom:hover {
	border-color: rgba(37, 99, 235, 0.3);
	box-shadow: 0 4px 12px rgba(0,0,0, 0.06);
}

/* Grille de cards (programmes, vidéos, entrainements) */
.programmes-grid .box-custom {
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.section-subtitle {
	color: var(--text-muted);
	font-size: 0.9rem;
	margin-bottom: 1.5rem;
}

/* Tabs langue — override Bulma is-boxed pour garder les couleurs */
.panel.panel-lang {
	margin-bottom: 1.5rem;
}
.panel.panel-lang .tab-radio {
	position: absolute;
	opacity: 0;
	pointer-events: none;
	width: 0;
	height: 0;
}
.panel.panel-lang .tabs li label {
	cursor: pointer;
	display: flex;
	align-items: center;
	padding: 0.5em 1em;
	border: 0px solid transparent;
	border-color: var(--bulma-panel-item-border) var(--bulma-panel-item-border) var(--bg-alt);
	border-top-left-radius: var(--radius) var(--radius);
	border-top-right-radius: var(--radius) var(--radius);
	color: var(--text-muted);
	transition: color var(--transition), border-color var(--transition), background var(--transition);
	margin-bottom: -1px;
}
.panel.panel-lang .tabs li label:hover {
	color: var(--text);
	border-color: var(--bulma-panel-item-border) var(--bulma-panel-item-border) var(--bg-alt);
	background: var(--bg-muted);
}
.panel.panel-lang .panel-block.tab-panel {
	display: none;
	color: var(--text);
}

/* Onglet actif FR */
.panel.panel-lang #programmes-lang-fr:checked ~ .tabs .tab-label-fr,
.panel.panel-lang #les-videos-lang-fr:checked ~ .tabs .tab-label-fr,
.panel.panel-lang #hapkido-talks-lang-fr:checked ~ .tabs .tab-label-fr,
.panel.panel-lang #les-entrainements-lang-fr:checked ~ .tabs .tab-label-fr {
	color: var(--blue);
	border-width: 1px;
	border-style: solid;
	border-top-color: var(--bulma-tabs-border-bottom-color);
	border-left-color: var(--bulma-tabs-border-bottom-color);
	border-right-color: var(--bulma-tabs-border-bottom-color);
	border-bottom-color: var(--bg-alt);
	background: var(--bg-alt);
	font-weight: 600;
}
section:nth-child(odd) .panel.panel-lang #programmes-lang-fr:checked ~ .tabs .tab-label-fr,
section:nth-child(odd) .panel.panel-lang #les-videos-lang-fr:checked ~ .tabs .tab-label-fr,
section:nth-child(odd) .panel.panel-lang #hapkido-talks-lang-fr:checked ~ .tabs .tab-label-fr,
section:nth-child(odd) .panel.panel-lang #les-entrainements-lang-fr:checked ~ .tabs .tab-label-fr {
	background: var(--bg-primary);
	border-bottom-color: var(--bg-primary);
}
/* Onglet actif EN */
.panel.panel-lang #programmes-lang-en:checked ~ .tabs .tab-label-en,
.panel.panel-lang #les-videos-lang-en:checked ~ .tabs .tab-label-en,
.panel.panel-lang #hapkido-talks-lang-en:checked ~ .tabs .tab-label-en,
.panel.panel-lang #les-entrainements-lang-en:checked ~ .tabs .tab-label-en {
	color: var(--blue);
	border-width: 1px;
	border-style: solid;
	border-top-color: var(--bulma-tabs-border-bottom-color);
	border-left-color: var(--bulma-tabs-border-bottom-color);
	border-right-color: var(--bulma-tabs-border-bottom-color);
	border-bottom-color: var(--bg-alt);
	background: var(--bg-alt);
	font-weight: 600;
}
section:nth-child(odd) .panel.panel-lang #programmes-lang-en:checked ~ .tabs .tab-label-en,
section:nth-child(odd) .panel.panel-lang #les-videos-lang-en:checked ~ .tabs .tab-label-en,
section:nth-child(odd) .panel.panel-lang #hapkido-talks-lang-en:checked ~ .tabs .tab-label-en,
section:nth-child(odd) .panel.panel-lang #les-entrainements-lang-en:checked ~ .tabs .tab-label-en {
	background: var(--bg-primary);
	border-bottom-color: var(--bg-primary);
}
/* Onglet actif ES */
.panel.panel-lang #programmes-lang-es:checked ~ .tabs .tab-label-es,
.panel.panel-lang #les-videos-lang-es:checked ~ .tabs .tab-label-es,
.panel.panel-lang #hapkido-talks-lang-es:checked ~ .tabs .tab-label-es,
.panel.panel-lang #les-entrainements-lang-es:checked ~ .tabs .tab-label-es {
	color: var(--blue);
	border-width: 1px;
	border-style: solid;
	border-top-color: var(--bulma-tabs-border-bottom-color);
	border-left-color: var(--bulma-tabs-border-bottom-color);
	border-right-color: var(--bulma-tabs-border-bottom-color);
	border-bottom-color: var(--bg-alt);
	background: var(--bg-alt);
	font-weight: 600;
}
section:nth-child(odd) .panel.panel-lang #programmes-lang-es:checked ~ .tabs .tab-label-es,
section:nth-child(odd) .panel.panel-lang #les-videos-lang-es:checked ~ .tabs .tab-label-es,
section:nth-child(odd) .panel.panel-lang #hapkido-talks-lang-es:checked ~ .tabs .tab-label-es,
section:nth-child(odd) .panel.panel-lang #les-entrainements-lang-es:checked ~ .tabs .tab-label-es {
	background: var(--bg-primary);
	border-bottom-color: var(--bg-primary);
}

/* Panels visibles selon radio coché */
.panel.panel-lang #programmes-lang-fr:checked ~ .panel-block.tab-panel-fr,
.panel.panel-lang #programmes-lang-en:checked ~ .panel-block.tab-panel-en,
.panel.panel-lang #programmes-lang-es:checked ~ .panel-block.tab-panel-es,
.panel.panel-lang #les-videos-lang-fr:checked ~ .panel-block.tab-panel-fr,
.panel.panel-lang #les-videos-lang-en:checked ~ .panel-block.tab-panel-en,
.panel.panel-lang #les-videos-lang-es:checked ~ .panel-block.tab-panel-es,
.panel.panel-lang #hapkido-talks-lang-fr:checked ~ .panel-block.tab-panel-fr,
.panel.panel-lang #hapkido-talks-lang-en:checked ~ .panel-block.tab-panel-en,
.panel.panel-lang #hapkido-talks-lang-es:checked ~ .panel-block.tab-panel-es,
.panel.panel-lang #les-entrainements-lang-fr:checked ~ .panel-block.tab-panel-fr,
.panel.panel-lang #les-entrainements-lang-en:checked ~ .panel-block.tab-panel-en,
.panel.panel-lang #les-entrainements-lang-es:checked ~ .panel-block.tab-panel-es {
	display: block;
}

.panel-block, .panel-tabs {
    border-bottom: var(--bulma-panel-item-border);
}

/* Vidéos YouTube responsive */
.video-wrap {
	position: relative;
	padding-bottom: 56.25%; /* ratio 16:9 */
	height: 0;
	overflow: hidden;
	border-radius: var(--radius);
	border: 1px solid var(--border);
	background: var(--bg-muted);
}
.video-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Intro vidéos */
.section-intro p {
	font-size: 0.95rem;
	color: var(--text-muted);
	margin: 0;
}

/* Footer */
footer.footer-custom {
	background: var(--bg-muted);
	padding: 1.5rem 0;
	border-top: 1px solid var(--border);
}
footer .footer-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.75rem;
}
footer .footer-copy {
	font-size: 0.875rem;
	color: var(--text-muted);
}
footer .footer-social a {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.875rem;
	color: var(--text-muted);
	text-decoration: none;
	transition: color var(--transition);
}
footer .footer-social a:hover {
	color: var(--blue);
}
