/*
Theme Name: Mon Theme Elementor
Theme URI: https://example.com
Author: Toi
Description: Thème vierge, léger et optimisé, conçu pour Elementor. Sans header/footer imposé, avec couleurs et typographie globales pré-paramétrées via le Customizer.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: mon-theme-elementor
*/

/* ==========================================================================
   Reset minimal — volontairement très léger, le reste est géré par Elementor
   ========================================================================== */

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

html {
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	padding: 0;
	font-family: var(--theme-font-body, sans-serif);
	font-size: var(--theme-font-size-base, 16px);
	color: var(--theme-color-text, #1a1a1a);
	background-color: var(--theme-color-background, #ffffff);
	line-height: var(--theme-line-height, 1.5);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
	border-radius: var(--theme-radius-global, 0);
}

a {
	color: var(--theme-color-link, #1a1a1a);
	text-decoration: none;
	transition: color 0.2s ease;
}

a:hover {
	color: var(--theme-color-link-hover, #555555);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--theme-font-heading, sans-serif);
	font-weight: var(--theme-heading-font-weight, 700);
	color: var(--theme-color-heading, #111111);
	margin-top: 0;
	line-height: 1.25;
}

/* Conteneur générique réutilisable dans les templates du thème
   (pas dans les pages construites par Elementor, qui gère sa propre largeur) */
.theme-container {
	max-width: var(--theme-container-width, 1200px);
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}

/* Sections avec fond alternatif */
.theme-section-alt {
	background-color: var(--theme-color-background-alt, #f7f7f7);
}

/* Cartes / blocs avec bordure et arrondi cohérents */
.theme-card {
	border: 1px solid var(--theme-color-border, #e0e0e0);
	border-radius: var(--theme-radius-global, 8px);
	overflow: hidden;
}

/* Utilitaires de couleur secondaire / accent — pratiques pour des badges,
   étiquettes ou éléments de mise en avant dans tes plugins custom */
.theme-text-secondary {
	color: var(--theme-color-secondary, #6b7280);
}

.theme-badge-accent {
	display: inline-block;
	background-color: var(--theme-color-accent, #2563eb);
	color: #ffffff;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 0.8em;
	font-weight: 600;
}

/* ==========================================================================
   Accessibilité — focus visible et skip link
   ========================================================================== */

/* Contour de focus visible et cohérent sur tous les éléments interactifs,
   uniquement au clavier (ne s'affiche pas au clic souris) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.elementor-button:focus-visible {
	outline: 3px solid var(--theme-color-focus, #2563eb);
	outline-offset: 2px;
}

/* Skip link — visible uniquement au focus clavier (tab), pour accéder
   directement au contenu sans repasser par toute la navigation */
.skip-link {
	position: absolute;
	top: -100px;
	left: 0;
	background-color: var(--theme-color-primary, #111111);
	color: #ffffff !important;
	padding: 12px 20px;
	z-index: 100000;
	transition: top 0.2s ease;
}

.skip-link:focus {
	top: 0;
}

/* Lien actif dans la navigation */
.current-menu-item > a,
a[aria-current="page"] {
	font-weight: 700;
}

/* ==========================================================================
   Boutons — applique le style global à TOUS les boutons du site
   (natifs, Elementor, formulaires custom) sans avoir à les restyler
   à chaque fois
   ========================================================================== */

button,
input[type="submit"],
input[type="button"],
.elementor-button,
.theme-button {
	display: inline-block;
	font-family: var(--theme-font-body, sans-serif);
	font-weight: var(--theme-button-font-weight, 600);
	font-size: var(--theme-button-font-size, 16px);
	color: var(--theme-color-button-text, #ffffff) !important;
	background-color: var(--theme-color-primary, #111111) !important;
	border: none !important;
	border-radius: var(--theme-button-radius, 4px) !important;
	padding: var(--theme-button-padding, 12px 24px) !important;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.15s ease;
}

button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
.elementor-button:hover,
.theme-button:hover {
	background-color: var(--theme-color-primary-hover, #333333) !important;
}
