/* ===== Header modernisation ===== */
#masthead {
    box-shadow: 0 2px 24px rgba(0, 0, 0, 0.07);
    position: relative;
    z-index: 99;
}

#masthead .ast-primary-header-bar {
    padding-top: 14px;
    padding-bottom: 14px;
    transition: padding 0.3s ease;
}

.main-header-bar.sticky-header.item-active {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
}

.main-navigation ul.main-header-menu > li > a {
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.2px;
    position: relative;
    transition: color 0.25s ease;
}

.main-navigation ul.main-header-menu > li > a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 2px;
    width: 0;
    height: 2px;
    border-radius: 2px;
    background: var(--ast-global-color-0);
    transition: width 0.25s ease;
}

.main-navigation ul.main-header-menu > li > a:hover::after,
.main-navigation ul.main-header-menu > li.current-menu-item > a::after {
    width: 100%;
}

.ast-site-identity a img {
    transition: transform 0.3s ease;
}

.ast-site-identity a img:hover {
    transform: scale(1.03);
}

/* ===== Modern buttons ===== */
.ast-custom-button-link,
.wp-block-button__link,
.wp-block-spectra-button {
    border-radius: 50px !important;
    padding: 16px 34px !important;
    font-weight: 600 !important;
    letter-spacing: 0.4px;
    box-shadow: 0 6px 18px rgba(93, 160, 50, 0.3);
    transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease !important;
    border: none !important;
}

.ast-custom-button-link:hover,
.wp-block-button__link:hover,
.wp-block-spectra-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(93, 160, 50, 0.4);
    filter: brightness(1.06);
}

.ast-custom-button-link:active,
.wp-block-button__link:active,
.wp-block-spectra-button:active {
    transform: translateY(-1px);
}

.wp-block-button.is-style-outline .wp-block-button__link {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

/* ===== Dark header overlay ===== */
#masthead,
#masthead .ast-primary-header-bar,
#masthead .site-header,
.ast-primary-header-bar,
.main-header-bar {
    background-color: #272624 !important;
}

#masthead {
    box-shadow: 0 6px 30px rgba(0, 0, 0, 0.35);
}

/* Make nav links light/white so they read clearly on the dark header */
.main-navigation ul.main-header-menu > li > a {
    color: #ffffff !important;
}

.main-navigation ul.main-header-menu > li.current-menu-item > a,
.main-navigation ul.main-header-menu > li > a:hover {
    color: var(--ast-global-color-0) !important;
}

/* Mobile menu toggle icon + off canvas match dark theme */
.ast-mobile-menu-buttons-minimal .menu-toggle-round-icon,
.menu-toggle {
    color: #ffffff !important;
}


/* ===== Sticky header ===== */
#masthead {
	position: sticky;
	top: 0;
	z-index: 999;
}

/* ===== Above-header contact banner ===== */
.ast-above-header-wrap {
	background-color: #379237;
}
.ast-above-header-wrap .ast-above-header {
	padding-top: 10px;
	padding-bottom: 10px;
}
.topbar-contact {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 28px;
	flex-wrap: wrap;
}
.topbar-contact a {
	color: #ffffff;
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: color 0.3s ease;
}
.topbar-contact a:hover {
	color: #EDFBE2;
}
.topbar-icon {
	font-size: 15px;
}
@media (max-width: 544px) {
	.topbar-contact {
		justify-content: center;
		gap: 16px;
	}
}

.ast-above-header-bar {
	background-color: #379237 !important;
}


/* ===== Above-header promo text (right side) ===== */
.topbar-promo {
	color: #ffffff;
	font-size: 14px;
	font-weight: 700;
	text-align: right;
	white-space: nowrap;
}
@media (max-width: 768px) {
	.topbar-promo {
		white-space: normal;
		text-align: center;
		font-size: 13px;
	}
}


/* Gilles-Junior - pages sur mesure (.pgj) */
.entry-content > .pgj,.pgj{padding:0!important;margin:0!important;max-width:none!important}
.pgj .alignfull{width:100%;max-width:none!important;margin-left:0!important;margin-right:0!important}
.pgj h1,.pgj h2,.pgj h3,.pgj h4,.pgj summary{text-transform:none!important}


/* ===== Gilles-Junior v2 : header, banniere, CTA flottant, footer ===== */
/* Banniere du haut animee */
.ast-above-header-bar{background:linear-gradient(90deg,#4c7633,#7BA05B,#5e8c43,#8fb56c,#4c7633)!important;background-size:300% 100%!important;animation:pgjFlow 14s linear infinite}
@keyframes pgjFlow{0%{background-position:0 0}100%{background-position:300% 0}}
.topbar-promo{display:flex;align-items:center;gap:.7rem;font-weight:700}
.tp-dot{width:8px;height:8px;border-radius:50%;background:#fff;animation:pgjPulse 1.8s infinite;flex:0 0 auto}
@keyframes pgjPulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.75)}70%{box-shadow:0 0 0 10px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
.tp-txt{background:linear-gradient(90deg,#fff 42%,#16251D 50%,#fff 58%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:pgjShine 4s linear infinite}
@keyframes pgjShine{0%{background-position:100% 0}100%{background-position:-150% 0}}
.topbar-promo .tp-link{color:#16251D!important;background:#fff;padding:.22rem .8rem;border-radius:99px;font-size:.78rem;text-decoration:none!important;transition:transform .2s}
.topbar-promo .tp-link:hover{transform:translateX(3px)}
@media(max-width:921px){.tp-txt{font-size:.8rem}.topbar-promo .tp-link{display:none}}

/* Header transparent moderne */
.ast-theme-transparent-header #masthead{position:absolute!important;left:0;right:0;top:auto;box-shadow:none!important;background:transparent!important}
.ast-theme-transparent-header #masthead .main-header-bar,.ast-theme-transparent-header #masthead .ast-primary-header-bar,.ast-theme-transparent-header #masthead .ast-mobile-header-wrap .ast-primary-header-bar{background:linear-gradient(180deg,rgba(8,14,10,.62) 0%,rgba(8,14,10,0) 100%)!important;border-bottom:1px solid rgba(255,255,255,.10)!important}
.ast-theme-transparent-header .main-header-menu > .menu-item > .menu-link{color:#fff!important;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.main-header-menu > .menu-item > .menu-link{font-weight:600!important;letter-spacing:.03em;font-size:15px}
.ast-theme-transparent-header .main-header-menu > .menu-item:hover > .menu-link,.ast-theme-transparent-header .main-header-menu > .current-menu-item > .menu-link{color:#A9D286!important}
.ast-theme-transparent-header .ast-mobile-menu-trigger-minimal,.ast-theme-transparent-header .menu-toggle .ast-mobile-svg{color:#fff!important;fill:#fff!important}
.ast-header-button-1 .ast-custom-button{border-radius:2px!important;background:#7BA05B!important;color:#0E1A12!important;font-weight:800!important;letter-spacing:.06em;box-shadow:0 10px 28px rgba(123,160,91,.35);transition:transform .25s,box-shadow .25s}
.ast-header-button-1 .ast-custom-button:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(123,160,91,.5);background:#8FB56C!important}
.ast-theme-transparent-header .pgj > :first-child{padding-top:12.5rem!important}
@media(max-width:921px){.ast-theme-transparent-header .pgj > :first-child{padding-top:9.5rem!important}}

/* CTA flottant */
.pgj-float{position:fixed;right:22px;bottom:22px;z-index:9990;display:flex;gap:.55rem;align-items:center;animation:pgjIn .8s cubic-bezier(.2,.8,.2,1) 1.2s both}
@keyframes pgjIn{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
.pgj-float a{text-decoration:none!important;font-family:Manrope,system-ui,sans-serif;font-weight:800;font-size:.95rem;line-height:1;border-radius:999px;box-shadow:0 14px 34px rgba(0,0,0,.3)}
.pgj-float .pf-main{background:#7BA05B;color:#0E1A12!important;padding:1.05rem 1.6rem;animation:pgjGlow 2.8s ease-in-out 2.4s infinite}
@keyframes pgjGlow{0%,100%{box-shadow:0 14px 34px rgba(0,0,0,.3),0 0 0 0 rgba(123,160,91,.6)}50%{box-shadow:0 14px 34px rgba(0,0,0,.3),0 0 0 14px rgba(123,160,91,0)}}
.pgj-float .pf-main:hover{background:#8FB56C}
.pgj-float .pf-tel{background:#16251D;color:#fff!important;padding:1.05rem 1.25rem;border:1px solid rgba(255,255,255,.15)}
@media(max-width:600px){.pgj-float{left:12px;right:12px;bottom:12px}.pgj-float .pf-main{flex:1;text-align:center}.pgj-float .pf-tel span{display:none}}
@media(prefers-reduced-motion:reduce){.ast-above-header-bar,.tp-dot,.tp-txt,.pgj-float,.pgj-float .pf-main{animation:none!important}.tp-txt{color:#fff!important}}

/* Footer */
.site-footer,.site-footer .site-primary-footer-wrap,.site-footer .site-above-footer-wrap{background:#16251D!important;color:#BFCBBE}
.site-footer .site-primary-footer-wrap{padding:5rem 0 3.5rem!important}
.site-footer .site-below-footer-wrap{background:#0F1A13!important;border-top:1px solid rgba(255,255,255,.07)}
.site-footer a{color:#E4E9E2!important;text-decoration:none}
.site-footer a:hover{color:#A9D286!important}
.fb-logo img{max-width:210px;height:auto;margin-bottom:1.1rem}
.fb-txt{color:#BFCBBE;line-height:1.75;max-width:420px;margin-bottom:1.5rem}
.fb-social{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}
.site-footer .btn-fb{display:inline-flex;align-items:center;gap:.65rem;background:#1877F2;color:#fff!important;padding:.8rem 1.3rem .8rem .8rem;border-radius:999px;font-weight:700;transition:transform .25s,box-shadow .25s}
.site-footer .btn-fb:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(24,119,242,.4);color:#fff!important}
.fb-ico{width:26px;height:26px;border-radius:50%;background:#fff;color:#1877F2;display:inline-flex;align-items:center;justify-content:center;font:800 17px/1 Arial,sans-serif}
.site-footer .btn-ig{border-bottom:1px solid rgba(169,210,134,.6)}
.pgj-foot-contact .fc-h{color:#7BA05B;font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin:0 0 .4rem}
.pgj-foot-contact p{margin:0 0 1.2rem;line-height:1.7}
.site-footer .footer-widget-area .menu-link{padding:.35rem 0!important;font-weight:600}
.site-footer .ast-footer-copyright{color:#8FA08D;font-size:.88rem}
.site-footer .legal a{margin-left:1.4rem;color:#BFCBBE!important}
@media(max-width:921px){.site-footer .legal{display:block;margin-top:.6rem}.site-footer .legal a{margin:0 1.2rem 0 0}.site-footer .site-below-footer-wrap{padding-bottom:5.5rem}}

.pgj > *,.pgj.is-layout-flow > *{margin-block-start:0!important;margin-top:0!important;margin-bottom:0!important}
.ast-theme-transparent-header .pgj > :first-child{padding-top:14rem!important}
@media(max-width:921px){.ast-theme-transparent-header .pgj > :first-child{padding-top:10rem!important}}

/* Footer alignement + espace CTA flottant */
.site-footer .site-primary-footer-wrap .footer-widget-area,.site-footer .site-primary-footer-wrap .ast-builder-html-element,.site-footer .site-primary-footer-wrap .footer-bar-navigation{text-align:left!important;justify-content:flex-start!important}
.site-footer .fb-social{justify-content:flex-start}
.site-footer .site-primary-footer-wrap .ast-builder-grid-row{align-items:flex-start}
.site-footer .site-below-footer-wrap .ast-footer-copyright,.site-footer .site-below-footer-wrap .footer-widget-area{text-align:left!important;justify-content:flex-start!important}
.site-footer .site-below-footer-wrap{padding-bottom:5rem!important}
.ast-theme-transparent-header .pgj > .wp-block-cover:first-child .wp-block-cover__inner-container{padding-top:2rem}

/* maj 2026-09-23 */

/* Ajustements contact + hero */
.ast-theme-transparent-header .pgj > :first-child{padding-top:15rem!important}
@media(max-width:921px){.ast-theme-transparent-header .pgj > :first-child{padding-top:10.5rem!important}}
.pgj .info p{color:#E4E9E2!important}
.pgj .info p.eyebrow{color:#7BA05B!important}
.pgj .info p.big a{color:#fff!important}
.srfm-block .iti input[type=tel]{padding-left:56px!important}
