/* =====================================================
   Mini Golf Planet - page d'accueil (front-page.php)
===================================================== */


/* BANDEAU */
.home-heading {
	overflow: hidden;
}

section.home-heading {
	padding-top: 90px;
	padding-bottom: 150px; /* place pour la carte de recherche qui chevauche */
}

.home-heading .grid-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}

.home-heading .heading-text {
	max-width: 760px;
}

.home-heading h1,
.home-heading .heading-subtitle {
	color: var(--color-ivory);
}

.home-heading .heading-subtitle {
	font-size: 20px;
	line-height: 1.5em;
	opacity: 0.95;
}

.home-heading .heading-visual {
	flex: 0 1 680px;
	min-width: 0;
	margin: -30px -20px -60px 0; /* l'illustration a des bords fondus : on la laisse déborder un peu */
}

.home-heading .heading-visual img {
	display: block;
	width: 100%;
	height: auto;
}


/* CARTE DE RECHERCHE (chevauche le bandeau, comme les filtres de BGR) */
section.search-card-section {
	padding: 0;
	margin-top: -90px;
	z-index: 2;
}

.search-card {
	border-radius: 24px;
	padding: 30px;
	box-shadow: 0 10px 30px rgba(24, 61, 53, 0.15);
}

.search-card-label {
	display: block;
	font-family: var(--font-heading);
	font-size: 22px;
	font-weight: 600;
	color: var(--color-forest);
	margin-bottom: 14px;
}

.search-card-row {
	display: flex;
	gap: 14px;
}

.search-card-row input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	padding: 14px 22px;
	border-radius: 40px;
	font-size: 16px;
	background-color: var(--color-sand);
	color: var(--color-forest);
}

.search-card-row .btn {
	flex: 0 0 auto;
}


/* INTRO DE SECTION */
.section-intro {
	max-width: 760px;
	margin-bottom: 40px;
}

.section-intro p {
	font-size: 18px;
}


/* CE QU'ON TROUVE SUR LE SITE */
.feature-cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.feature-card {
	border-radius: 20px;
	padding: 30px;
	box-shadow: 0 3px 12px rgba(24, 61, 53, 0.08);
}

.feature-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	margin-bottom: 20px;
}

.feature-icon .mgp-icon {
	width: 28px;
	height: 28px;
}


/* PAYS / TYPES */
.term-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.term-pill {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 18px;
	border-radius: 40px;
	background-color: var(--color-sand);
	color: var(--color-forest);
	font-weight: 600;
	transition: background-color 0.3s ease, color 0.3s ease;
}

.home-terms:not(.bg-ivory) .term-pill {
	background-color: var(--color-ivory);
}

.term-pill:hover,
.term-pill:focus-visible {
	background-color: var(--color-green);
	color: var(--color-ivory);
}

.term-pill .mgp-icon {
	width: 20px;
	height: 20px;
}

.term-pill .fa-icon {
	width: auto;
	height: 16px;
	fill: var(--color-green);
	transition: fill 0.3s ease;
}

.term-pill:hover .fa-icon,
.term-pill:focus-visible .fa-icon {
	fill: currentColor;
}

.term-count {
	font-size: 13px;
	opacity: 0.7;
}


/* MINI GOLF, MINI PUTT... */
.home-names .grid-container {
	display: flex;
	align-items: center;
	gap: 60px;
}

.home-names-text {
	flex: 1 1 60%;
}

.home-names-text p {
	font-size: 18px;
}

.home-names-list {
	flex: 1 1 40%;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.home-names-list li {
	border-radius: 20px;
	padding: 28px 20px;
	text-align: center;
	font-family: var(--font-heading);
	font-size: 22px;
	font-weight: 600;
}


/* FAQ */
.faq-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	max-width: 900px;
}

.faq-item {
	border-radius: 16px;
	padding: 0 28px;
}

.faq-item summary {
	position: relative;
	list-style: none;
	cursor: pointer;
	padding: 22px 40px 22px 0;
}

.faq-item summary::-webkit-details-marker {
	display: none;
}

.faq-item summary h3 {
	margin: 0;
	font-size: 20px;
}

.faq-item summary::after {
	content: '+';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 28px;
	line-height: 1;
	color: var(--color-green);
}

.faq-item[open] summary::after {
	content: '−';
}

.faq-item p {
	padding-bottom: 24px;
}


/* RESPONSIVE */
@media screen and (max-width: 1270px) {
	.feature-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media screen and (max-width: 1024px) {
	.home-heading .grid-container { flex-direction: column; align-items: flex-start; gap: 10px; }
	.home-heading .heading-visual { flex: none; width: 100%; max-width: 640px; margin: 0 auto -40px; }
	.home-names .grid-container { flex-direction: column; align-items: flex-start; gap: 40px; }
	.home-names-list { width: 100%; }
}

@media screen and (max-width: 768px) {
	section.home-heading { padding-top: 60px; padding-bottom: 120px; }
	.home-heading .heading-subtitle { font-size: 18px; }
}

@media screen and (max-width: 600px) {
	section.search-card-section { margin-top: -80px; }
	.search-card { padding: 22px; }
	.search-card-row { flex-direction: column; }
	.search-card-row .btn { width: 100%; justify-content: center; }
	.feature-cards { grid-template-columns: 1fr; }
	.feature-card { padding: 24px; }
	.home-names-list li { font-size: 18px; padding: 22px 12px; }
	.faq-item { padding: 0 20px; }
}


/* RECHERCHE : Near me et chiffres clés */
.search-card .btn-near {
	background-color: var(--color-forest);
}

.search-card .btn-near:hover,
.search-card .btn-near:focus-visible {
	background-color: var(--color-green);
}

.home-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
	color: var(--color-forest);
}

.home-stats strong {
	font-family: var(--font-heading);
	font-size: 18px;
	color: var(--color-green);
}

/* RÉCEMMENT AJOUTÉS, DESTINATIONS */
.section-intro-row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px 30px;
}

section.home-recent {
	padding-top: 40px;
}

.home-cities .term-card {
	background-color: var(--color-ivory);
}

/* CARTE DE TOUS LES PARCOURS */
section.home-map {
	padding-top: 40px;
	padding-bottom: 0;
}

.mgp-map-home {
	height: 460px;
}

.home-map-count {
	font-weight: 600;
	color: var(--color-green);
}

@media screen and (max-width: 600px) {
	.mgp-map-home { height: 340px; }
}



/* BIENTÔT POUR LES JOUEURS */
.home-soon .section-intro h2,
.home-soon .section-intro p {
	color: var(--color-ivory);
}

.home-soon-kicker {
	margin-bottom: 8px;
	font-size: 14px !important;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #FFC59E !important;
}

.soon-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.soon-card {
	position: relative;
	margin: 0;
	padding: 30px;
	border-radius: 20px;
	background-color: #fff;
	box-shadow: 0 10px 30px rgba(24, 61, 53, 0.18);
}

.soon-card h3 { margin-bottom: 8px; }
.soon-card p { margin-bottom: 0; }

.soon-badge {
	position: absolute;
	top: 30px;
	right: 30px;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	color: var(--color-indigo);
	background-color: rgba(47, 31, 181, 0.12);
}

@media (max-width: 1024px) {
	.soon-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
	.soon-cards { grid-template-columns: 1fr; }
	.soon-card { padding: 24px; }
	.soon-badge { top: 24px; right: 24px; }
}


/* PAYS ET THÈMES CÔTE À CÔTE (pleine largeur, sans conteneur) */
.home-browse {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
}

.home-browse-col {
	padding: 100px;
}

.home-browse-col + .home-browse-col {
	border-left: 1px solid rgba(24, 61, 53, 0.1);
}

.home-browse-col h2 {
	margin-bottom: 28px;
}

@media (max-width: 1024px) {
	.home-browse-col { padding: 70px 40px; }
}

@media (max-width: 768px) {
	.home-browse { grid-template-columns: 1fr; }
	.home-browse-col { padding: 50px 16px; }
	.home-browse-col + .home-browse-col { border-left: 0; border-top: 1px solid rgba(24, 61, 53, 0.1); }
}
