/* Styles CSS pour la page d'accueil */

body {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	margin: 0;
	background-color: #f8fafc;
	/* Un gris très très clair */
}

a {
	text-decoration: none;
}

h2,
h3,
h4,
h5 {
	font-family: 'FamiliarPro-Black', helvetica, sans-serif;
	text-align: center;
}

/* La grille principale qui contient tout le contenu de la page */

.container {
	/* C'est la grille qui gère tout l'alignement */
	display: grid;
	grid-template-columns: repeat(8, 1fr);

	/* 6 colonnes bien droites */
	/* Agrandissement spécifique des cartes ARB (5ème et 6ème position) */
	.container>a:nth-child(5),
	.container>a:nth-child(6) {
		grid-column: span 2 !important;
	}

	gap: 30px;
	/* L'espace régulier entre les cartes */

	/* On limite la largeur pour que ça reste centré et on évite le scroll horizontal */
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	/* Centre la grille sur la page */
	padding: 0 40px;
	/* Marge de sécurité sur les bords */

	/* Pousse les cartes vers le bas pour remplir l'espace avant le footer */
	flex-grow: 1;
	align-content: start;
	box-sizing: border-box;
}

/* Le cadre de chaque carte est maintenant le lien lui-même*/

/* Le lien est maintenant le cadre lui-même */
.container>a {
	background-color: #fff;
	border: 1px solid lightgrey;
	border-radius: 12px;
	padding: 25px 15px;
	/* Plus d'espace à l'intérieur */
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	color: black;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

/* La div .app ne sert plus à rien pour le style, on la rend transparente */
.container .app {
	display: contents;
}

/* L'effet au survol de la carte */
.container>a:hover {
	transform: scale(1.05);
	/* Grossit légèrement */
	border-color: #45b6e6;
	/* La bordure devient bleue */
	box-shadow: 0 8px 25px rgba(69, 182, 230, 0.2);
}

.container>a:hover .apptexte {
	color: #45b6e6;
	/* Le texte devient bleu */
}

/* Les icônes à l'intérieur des cartes */

.container .applogo img {
	/* On agrandit les icônes */
	height: 85px;
	width: auto;
	object-fit: contain;
	margin-bottom: 15px;
}

.container .apptexte {
	font-weight: bold;
	text-transform: uppercase;
	text-align: center;
	transition: color 0.2s ease;
}

.container .apptexte h3,
.container .apptexte h4 {
	font-size: 13px;
	margin: 0;
	line-height: 1.3;
}

/* Adaptations aux différentes tailles d'écran */

/* Écrans moyens (Petits PC portables) */
@media (max-width: 1200px) {
	.container {
		grid-template-columns: repeat(4, 1fr) !important;
	}
}

@media (max-width: 900px) {
	.container {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Mobiles */
@media only screen and (hover: none) and (pointer: coarse),
(max-width: 900px) {
    body {
        padding-top: 220px !important; /* Espace pour le Header GRID (2 lignes) */
    }

    /* Réduction du vide autour d'Ecosia */
    .ecosia-search-container {
        margin: 10px auto !important;
        padding: 0 15px !important;
    }

    .ecosia-logo-img {
        max-width: 150px !important;
        margin-bottom: 10px !important;
        margin-top: 20px !important; /* Dégage le logo du header */
    }

	.container {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important; /* 2 colonnes sur mobile */
		gap: 15px !important; /* Espacement entre les cartes */
		padding: 0 15px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 10px !important;
	}

	.container>a {
		padding: 20px 10px !important;
        box-sizing: border-box !important; /* Évite les débordements */
	}

	.container .applogo img {
		height: 60px !important;
		/* Icônes un peu plus petites sur mobile */
	}

	.container .apptexte h3,
	.container .apptexte h4 {
		font-size: 11px !important;
	}
}