/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* ==========================================================================
   Green Pellets : reprise du design de l ancien site (mise en page encadree
   de 1000 px sur fond bois). Valeurs relevees, aucun code repris du theme.
   ========================================================================== */

body {
	background: #ffffff url("/wp-content/uploads/2026/11/background-wood.png") repeat fixed top center;
	color: #707070;
	font-family: Verdana, Geneva, "DejaVu Sans", sans-serif;
	font-size: 15px;
	line-height: 25px;
}

/* Colonne centrale de 1000 px */
.elementor-location-header,
.elementor-location-footer,
.elementor-location-single,
.elementor-location-archive,
.elementor-location-search-results,
#content,
body > main,
body > .site-main {
	width: 100%;
	max-width: 1000px;
	margin-inline: auto;
	background-color: #ffffff;
}

.elementor-location-header {
	background-color: transparent;
}

a {
	color: #8cc63f;
	font-weight: 500;
	text-decoration: none;
}

a:hover {
	color: #3d3d3d;
}

h1, h2, h3, h4, h5, h6 {
	color: #4c5562;
	font-family: Verdana, Geneva, "DejaVu Sans", sans-serif;
	font-weight: 400;
	text-transform: uppercase;
}

/* Menu secondaire (barre haute) */
nav[aria-label="Menu secondaire"] .elementor-item {
	padding: 0 0 0 20px !important;
	color: #707070 !important;
	font-size: 12px;
	font-weight: 400;
	line-height: 35px;
}

nav[aria-label="Menu secondaire"] .elementor-item:hover,
nav[aria-label="Menu secondaire"] .elementor-item.elementor-item-active {
	color: #8cc63f !important;
}

/* Menu principal (separateurs verticaux, libelles sur deux lignes) */
nav[aria-label="Menu principal"].elementor-nav-menu--main > ul {
	border-left: 1px solid #ebebeb;
}

nav[aria-label="Menu principal"].elementor-nav-menu--main > ul > li {
	border-right: 1px solid #ebebeb;
}

nav[aria-label="Menu principal"] .elementor-item {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 64px;
	padding: 10px 25px !important;
	color: #707070 !important;
	font-size: 12px;
	font-weight: 500;
	line-height: 18px;
	text-align: center;
	text-transform: uppercase;
}

nav[aria-label="Menu principal"] .elementor-item:hover,
nav[aria-label="Menu principal"] .elementor-item.elementor-item-active {
	color: #8cc63f !important;
}

/* Menus deroulants sur mobile */
.elementor-nav-menu--dropdown {
	background-color: #ffffff;
}

.elementor-nav-menu--dropdown a {
	color: #707070 !important;
}

/* Police des menus : Verdana comme l ancien site */
.elementor-location-header .elementor-nav-menu,
.elementor-location-header .elementor-nav-menu a,
.elementor-location-header .elementor-item {
	font-family: Verdana, Geneva, "DejaVu Sans", sans-serif !important;
	font-weight: 400 !important;
}

/* Liens du pied de page en vert */
.elementor-location-footer a {
	color: #8cc63f !important;
	font-weight: 500;
}

.elementor-location-footer a:hover {
	color: #707070 !important;
}

/* Contenu des pages : colle a l en-tete, sans bande de bois */
body > main,
main.site-main {
	display: flow-root;
	margin-block: 0 !important;
	padding-inline: 0 !important;
}

/* Titre de page (bandeau de l ancien site) */
main.site-main > .page-header {
	margin: 0;
	padding: 30px;
	border-bottom: 1px solid #e5e8ec;
}

main.site-main > .page-header .entry-title {
	margin: 0;
	color: #4c5562;
	font-size: 20px;
	font-weight: 400;
	line-height: 32px;
	text-transform: uppercase;
}

main.site-main > .page-content {
	padding: 30px;
}

/* Bouton burger a droite ou a gauche selon la barre, sur mobile */
.elementor-location-header .elementor-menu-toggle {
	margin-inline: 0 auto;
}

.elementor-location-header nav[aria-label="Menu secondaire"] ~ .elementor-menu-toggle,
.elementor-location-header .elementor-widget-nav-menu:has(nav[aria-label="Menu secondaire"]) .elementor-menu-toggle {
	margin-inline: auto 0;
}

.elementor-location-header .elementor-widget-nav-menu:has(nav[aria-label="Menu secondaire"]) {
	flex-grow: 1;
}

@media (max-width: 767px) {
	main.site-main > .page-header,
	main.site-main > .page-content {
		padding: 20px 16px;
	}
}

/* Pages construites avec Elementor : marges gerees par la page */
main.site-main > .page-content:has(> .elementor) {
	padding: 0;
}

/* Formulaires : Turnstile sur toute la largeur */
form[data-element_type="e-form"] .cf-turnstile {
	width: 100%;
	margin-top: 10px;
}

/* Boutons et champs : pas de bleu ou de rose par defaut du navigateur */
form[data-element_type="e-form"] input:focus,
form[data-element_type="e-form"] textarea:focus {
	border-color: #3d3d3d;
	outline: none;
}

/* Liens dans les contenus : vert, malgre la remise a zero des paragraphes Elementor */
main.site-main a {
	color: #8cc63f;
	font-weight: 500;
	cursor: pointer;
}

main.site-main a:hover {
	color: #3d3d3d;
}

/* Separateurs fins */
main.site-main [data-element_type="e-divider"],
main.site-main [data-e-type="e-divider"] {
	border-color: #e5e8ec !important;
	background-color: #e5e8ec !important;
}

main.site-main .e-divider-base {
	border-color: #e5e8ec !important;
	background-color: #e5e8ec !important;
	color: #e5e8ec !important;
}

main.site-main hr {
	border-color: #e5e8ec !important;
	border-top-color: #e5e8ec !important;
}

/* ==========================================================================
   Articles et fiches produits
   ========================================================================== */

/* Contenu de l'article */
.elementor-location-single .elementor-widget-theme-post-content {
	color: #707070;
	font-size: 15px;
	line-height: 25px;
}

.elementor-location-single .elementor-widget-theme-post-content p:not(.e-paragraph-base) {
	margin: 0 0 20px;
}

.elementor-location-single .elementor-widget-theme-post-content img {
	max-width: 100%;
	height: auto;
}

.elementor-location-single .elementor-widget-theme-post-content h2 {
	margin: 25px 0 15px;
	font-size: 17px;
	line-height: 27px;
}

.elementor-location-single .elementor-widget-theme-post-content h3 {
	margin: 20px 0 12px;
	font-size: 15px;
	line-height: 25px;
}

.elementor-location-single .elementor-widget-theme-post-content h4 {
	margin: 18px 0 10px;
	color: #4c5562;
	font-size: 16px;
	font-style: italic;
	font-weight: 300;
	line-height: 26px;
	text-transform: none;
}

.elementor-location-single a {
	color: #8cc63f;
	font-weight: 500;
}

.elementor-location-single a:hover {
	color: #3d3d3d;
}

/* Onglets : sans JavaScript, tout reste affiche avec son titre */
.gp-tabs {
	margin: 25px 0;
}

.gp-tabs-menu {
	display: flex;
	flex-wrap: wrap;
}

.gp-tabs-bouton {
	margin: 0 -1px -1px 0;
	padding: 10px 30px;
	color: #707070;
	font-family: inherit;
	font-size: 14px;
	line-height: 20px;
	text-transform: uppercase;
	background: #ffffff;
	border: 1px solid #e5e8ec;
	border-radius: 0;
	cursor: pointer;
}

.gp-tabs-bouton:hover,
.gp-tabs-bouton:focus {
	color: #3d3d3d;
	background: #ffffff;
}

.gp-tabs-bouton:focus-visible {
	outline: 2px solid #3d3d3d;
	outline-offset: -2px;
}

.gp-tabs-bouton[aria-selected="true"],
.gp-tabs-bouton[aria-selected="true"]:hover {
	color: #ffffff;
	background: #8cc63f;
	border-color: #8cc63f;
}

.gp-tab {
	padding: 30px;
	border: 1px solid #e5e8ec;
}

.gp-tabs:not(.gp-tabs-actifs) .gp-tab + .gp-tab {
	margin-top: 20px;
}

.gp-tabs-actifs .gp-tab-titre {
	display: none;
}

.gp-tab[hidden] {
	display: none;
}

/* Tableaux et flottants d'origine : pas de debordement sur mobile */
.elementor-location-single .elementor-widget-theme-post-content table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
}

@media (max-width: 767px) {
	.gp-tab {
		padding: 16px;
	}

	.gp-tabs-bouton {
		padding: 8px 14px;
		font-size: 12px;
	}

	.elementor-location-single .elementor-widget-theme-post-content div[style*="float"] {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
	}
}

/* Fil d'Ariane */
.gp-ariane,
.rank-math-breadcrumb {
	color: #707070;
	font-size: 15px;
	line-height: 25px;
}

.rank-math-breadcrumb p {
	margin: 0;
}

/* Recherche de la colonne laterale */
.gp-recherche {
	display: flex;
	border: 1px solid #e5e8ec;
	border-radius: 3px;
}

.gp-recherche input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	padding: 9px 12px;
	color: #707070;
	font-size: 13px;
	background: transparent;
	border: 0;
}

.gp-recherche button {
	padding: 0 10px;
	color: #707070;
	background: transparent;
	border: 0;
	cursor: pointer;
}

/* Marges internes des formulaires dans les modeles */
.elementor-location-single form[data-element_type="e-form"] {
	padding: 0;
}

/* Corps des articles en Verdana et separateurs fins dans les modeles */
.elementor-location-single .elementor-widget-theme-post-content,
.elementor-location-single .elementor-widget-theme-post-content p,
.elementor-location-single .elementor-widget-theme-post-content div,
.elementor-location-single .elementor-widget-theme-post-content li,
.elementor-location-single .gp-tabs-bouton,
.gp-recherche input {
	font-family: Verdana, Geneva, "DejaVu Sans", sans-serif;
}

.elementor-location-single .e-divider-base,
main.site-main .e-divider-base {
	border-color: #e5e8ec !important;
	background-color: #e5e8ec !important;
	color: #e5e8ec !important;
}

/* ==========================================================================
   Accueil et archives
   ========================================================================== */

/* Accueil : pas de bandeau de titre, comme sur l'ancien site */
.home main.site-main > .page-header {
	display: none;
}

/* Slider : proportions de l'ancien (1000 x 400), textes a l'echelle */
.gp-slider {
	position: relative;
	container-type: inline-size;
	overflow: hidden;
	background: #e9e9e9;
}

.gp-slider-piste {
	position: relative;
	aspect-ratio: 5 / 2;
}

.gp-slide {
	position: absolute;
	inset: 0;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.6s ease, visibility 0.6s;
}

.gp-slide.est-active {
	visibility: visible;
	opacity: 1;
}

.gp-slide a {
	display: block;
	width: 100%;
	height: 100%;
}

.gp-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.gp-slide-texte {
	position: absolute;
	color: #ffffff;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: 700;
	line-height: 1.2;
	text-shadow: rgba(0, 0, 0, 0.6) 0 2px 5px;
	white-space: nowrap;
}

.gp-slide-titre {
	padding: 0.4em 0.2em;
	background-color: rgba(128, 128, 128, 0.2);
}

.gp-slider-prec,
.gp-slider-suiv,
.gp-slider-point {
	display: none;
	cursor: pointer;
}

.gp-slider-actif .gp-slider-prec,
.gp-slider-actif .gp-slider-suiv {
	position: absolute;
	top: 50%;
	display: block;
	width: 40px;
	height: 60px;
	padding: 0;
	color: #ffffff;
	font-size: 34px;
	line-height: 1;
	background: rgba(0, 0, 0, 0.35);
	border: 0;
	border-radius: 0;
	transform: translateY(-50%);
}

.gp-slider-actif .gp-slider-prec:hover,
.gp-slider-actif .gp-slider-suiv:hover {
	background: #8cc63f;
}

.gp-slider-prec {
	left: 0;
}

.gp-slider-suiv {
	right: 0;
}

.gp-slider-points {
	position: absolute;
	right: 0;
	bottom: 10px;
	left: 0;
	display: flex;
	justify-content: center;
	gap: 6px;
}

.gp-slider-actif .gp-slider-point {
	display: block;
	width: 12px;
	height: 12px;
	padding: 0;
	background: rgba(255, 255, 255, 0.7);
	border: 0;
	border-radius: 50%;
}

.gp-slider-actif .gp-slider-point[aria-current="true"] {
	background: #8cc63f;
}

@media (max-width: 767px) {
	.gp-slider-actif .gp-slider-prec,
	.gp-slider-actif .gp-slider-suiv {
		width: 28px;
		height: 40px;
		font-size: 24px;
	}

	.gp-slider-points {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gp-slide {
		transition: none;
	}
}

/* Contenus Elementor : polices et liens */
.home .e-heading-base,
.elementor-location-archive .e-heading-base {
	font-family: Verdana, Geneva, "DejaVu Sans", sans-serif;
}

.elementor-location-archive a {
	color: #8cc63f;
	font-weight: 500;
}

.elementor-location-archive a:hover {
	color: #3d3d3d;
}

.elementor-location-archive .e-divider-base {
	border-color: #e5e8ec !important;
	background-color: #e5e8ec !important;
	color: #e5e8ec !important;
}

.elementor-location-archive .e-pagination-base a,
.elementor-location-archive .e-pagination-base button {
	color: #707070;
}

/* Videos YouTube : pleine largeur de la colonne, format 16/9 */
.home .e-youtube-base {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.home .e-youtube-base iframe {
	display: block;
	width: 100%;
	height: 100%;
}

/* ==========================================================================
   Pages : blog, plan du site, page 404
   ========================================================================== */

.gp-blog {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px 30px;
}

.gp-blog-article img {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: 15px;
}

.elementor-location-single .gp-blog-article h2 {
	margin: 0 0 8px;
	font-size: 15px;
	line-height: 24px;
}

.elementor-location-single .gp-blog-article p {
	margin: 0 0 12px;
}

.elementor-location-single .gp-blog-date {
	color: #979ca4;
	font-size: 13px;
}

.gp-plan ul {
	margin: 0 0 25px;
	padding-left: 22px;
}

.elementor-location-single .gp-plan h2 {
	margin: 25px 0 10px;
	font-size: 16px;
}

.elementor-location-single .gp-plan h2 a {
	color: #4c5562;
}

.elementor-location-single .gp-plan h2 a:hover {
	color: #8cc63f;
}

/* Page 404 */
[data-elementor-type="error-404"] .gp-recherche {
	width: 300px;
	max-width: 100%;
	margin-inline: auto;
}

[data-elementor-type="error-404"] .elementor-widget-shortcode {
	width: 100%;
}

@media (max-width: 767px) {
	.gp-blog {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Images absentes : les pages n'ont pas d'image a la une dans les resultats de recherche */
.elementor-location-archive img[src=""],
.elementor-location-archive img:not([src]) {
	display: none;
}
