/* =========================
   APF / OSIRIS — FOOTER CSS V3
   Footer plus tranché, plus statutaire,
   mieux séparé du contenu de page
   ========================= */

.apf-site-footer{
	position:relative;
	margin-top:96px;
	padding:0 0 26px;
	background:
		linear-gradient(180deg, #d9d0c3 0%, #d2c7b8 100%);
	border-top:1px solid rgba(123,106,71,.18);
	overflow:hidden;
}

/* Rupture visuelle haute : crée un vrai décroché avec le contenu */
.apf-site-footer::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:86px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.42) 0%, rgba(255,255,255,0) 100%);
	pointer-events:none;
	z-index:0;
}

/* Filet premium */
.apf-site-footer::after{
	content:"";
	position:absolute;
	top:0;
	left:50%;
	transform:translateX(-50%);
	width:min(1240px, calc(100% - 48px));
	height:2px;
	background:linear-gradient(
		90deg,
		rgba(163,141,87,0) 0%,
		rgba(163,141,87,.70) 18%,
		rgba(163,141,87,.70) 82%,
		rgba(163,141,87,0) 100%
	);
	pointer-events:none;
	z-index:2;
}

.apf-site-footer > *{
	position:relative;
	z-index:3;
}

.apf-site-footer__inner{
	position:relative;
	max-width:1380px;
	margin:0 auto;
	padding:46px 28px 0;
}

/* Panneau intérieur du footer */
.apf-site-footer__inner::before{
	content:"";
	position:absolute;
	inset:18px 18px 0 18px;
	border-radius:28px 28px 0 0;
	background:
		linear-gradient(180deg, rgba(248,244,237,.96) 0%, rgba(239,232,221,.94) 100%);
	border:1px solid rgba(186,168,132,.22);
	box-shadow:
		0 -10px 26px rgba(44,35,24,.04),
		0 18px 40px rgba(44,35,24,.08),
		inset 0 1px 0 rgba(255,255,255,.42);
	z-index:0;
}

/* Grille */
.apf-site-footer__grid{
	position:relative;
	z-index:1;
	gap:54px;
	align-items:flex-start;
	margin-bottom:0;
	padding:44px 32px 0;
}

.apf-site-footer__grid > .wp-block-column{
	min-width:0;
}

/* =========================
   BLOC MARQUE
   ========================= */

.apf-site-footer .wp-block-site-logo,
.apf-site-footer .custom-logo-link{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	margin-bottom:22px;
	padding:18px;
	background:rgba(255,255,255,.88);
	border:1px solid rgba(201,186,156,.52);
	border-radius:22px;
	box-shadow:
		0 14px 28px rgba(28,23,17,.08),
		inset 0 1px 0 rgba(255,255,255,.62);
}

.apf-site-footer .wp-block-site-logo img,
.apf-site-footer .custom-logo{
	max-width:132px;
	height:auto;
}

.apf-site-footer__brand{
	margin:0 0 14px;
	font-family:"Lora", Georgia, serif;
	font-size:1.58rem;
	font-weight:600;
	line-height:1.18;
	letter-spacing:-0.018em;
	color:#2b261f;
}

.apf-site-footer__text{
	margin:0;
	max-width:460px;
	font-size:1.03rem;
	line-height:1.82;
	color:rgba(47,42,36,.82);
}

/* =========================
   TITRES
   ========================= */

.apf-site-footer__title{
	margin:6px 0 18px;
	font-family:"Lora", Georgia, serif;
	font-size:1.36rem;
	font-weight:600;
	line-height:1.18;
	letter-spacing:-0.015em;
	color:#2b261f;
}

/* Petit filet sous titres */
.apf-site-footer__title::after{
	content:"";
	display:block;
	width:54px;
	height:3px;
	margin-top:12px;
	border-radius:999px;
	background:linear-gradient(90deg, #6c7a34 0%, #a38d57 100%);
	opacity:.9;
}

/* =========================
   NAVIGATION
   ========================= */

.apf-site-footer__nav{
	width:100%;
}

.apf-site-footer__nav .wp-block-navigation__container{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:12px;
}

.apf-site-footer__nav .wp-block-navigation-item{
	position:relative;
	width:100%;
}

.apf-site-footer__nav .wp-block-navigation-item__content{
	position:relative;
	display:inline-block;
	padding:3px 0;
	font-size:1.05rem;
	font-weight:500;
	line-height:1.66;
	color:#40382f;
	text-decoration:none;
	transition:color .22s ease, transform .22s ease;
}

.apf-site-footer__nav .wp-block-navigation-item__content:hover{
	color:#5f6f2f;
	transform:translateY(-1px);
}

.apf-site-footer__nav .wp-block-navigation-item__content::after{
	content:"";
	position:absolute;
	left:0;
	bottom:-2px;
	width:0;
	height:2px;
	border-radius:999px;
	background:linear-gradient(90deg, #5f6f2f 0%, #a38d57 100%);
	transition:width .22s ease;
}

.apf-site-footer__nav .wp-block-navigation-item__content:hover::after,
.apf-site-footer__nav .current-menu-item > .wp-block-navigation-item__content::after,
.apf-site-footer__nav .current_page_item > .wp-block-navigation-item__content::after{
	width:100%;
}

.apf-site-footer__nav .current-menu-item > .wp-block-navigation-item__content,
.apf-site-footer__nav .current_page_item > .wp-block-navigation-item__content{
	color:#2b261f;
}

/* =========================
   LISTE PRESTATIONS
   ========================= */

.apf-site-footer__list{
	list-style:none;
	margin:0;
	padding:0;
}

.apf-site-footer__list li{
	position:relative;
	margin:0 0 12px;
	padding-left:19px;
	font-size:1.04rem;
	line-height:1.74;
	color:rgba(47,42,36,.82);
}

.apf-site-footer__list li::before{
	content:"";
	position:absolute;
	left:0;
	top:.74em;
	width:7px;
	height:7px;
	border-radius:50%;
	background:linear-gradient(180deg, #6c7a34 0%, #a38d57 100%);
	transform:translateY(-50%);
}

/* =========================
   BOUTON
   ========================= */

.apf-site-footer .wp-block-buttons{
	margin-top:22px;
}

.apf-site-footer .apf-btn-footer .wp-block-button__link,
.apf-site-footer .apf-btn-footer .wp-element-button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:52px;
	padding:14px 24px;
	border:none;
	border-radius:15px;
	background:linear-gradient(180deg, #6c7a34 0%, #566127 100%);
	color:#fff !important;
	font-family:"Inter", "Segoe UI", Arial, sans-serif;
	font-size:1rem;
	font-weight:600;
	line-height:1;
	letter-spacing:.01em;
	text-decoration:none !important;
	box-shadow:0 10px 24px rgba(108,122,52,.20);
	transition:
		transform .22s ease,
		box-shadow .22s ease,
		filter .22s ease;
}

.apf-site-footer .apf-btn-footer .wp-block-button__link:hover,
.apf-site-footer .apf-btn-footer .wp-element-button:hover{
	transform:translateY(-1px);
	box-shadow:0 14px 28px rgba(108,122,52,.24);
	filter:saturate(1.05);
}

/* =========================
   BAS DE FOOTER
   ========================= */

.apf-site-footer__bottom{
	position:relative;
	z-index:1;
	margin-top:46px;
	padding:22px 32px 0;
	border-top:1px solid rgba(163,141,87,.24);
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:14px 22px;
}

.apf-site-footer__bottom p,
.apf-site-footer__bottom span,
.apf-site-footer__bottom a{
	margin:0;
	font-size:.98rem;
	line-height:1.55;
	color:rgba(47,42,36,.72);
}

.apf-site-footer__bottom a{
	color:rgba(47,42,36,.72);
	text-decoration:none;
	transition:color .22s ease;
}

.apf-site-footer__bottom a:hover{
	color:#5f6f2f;
}

/* =========================
   GÉNÉRAL
   ========================= */

.apf-site-footer a{
	text-decoration:none;
}

.apf-site-footer p:last-child,
.apf-site-footer li:last-child{
	margin-bottom:0;
}

/* =========================
   RESPONSIVE
   ========================= */

@media (max-width: 1100px){

	.apf-site-footer{
		margin-top:82px;
		padding-bottom:22px;
	}

	.apf-site-footer__inner{
		padding:40px 18px 0;
	}

	.apf-site-footer__inner::before{
		inset:14px 10px 0 10px;
		border-radius:24px 24px 0 0;
	}

	.apf-site-footer__grid{
		gap:30px;
		padding:38px 22px 0;
	}

	.apf-site-footer__brand{
		font-size:1.38rem;
	}

	.apf-site-footer__title{
		font-size:1.22rem;
	}

	.apf-site-footer__bottom{
		margin-top:34px;
		padding:20px 22px 0;
	}
}

@media (max-width: 782px){

	.apf-site-footer{
		margin-top:68px;
		padding-bottom:20px;
	}

	.apf-site-footer__inner{
		padding:34px 14px 0;
	}

	.apf-site-footer__inner::before{
		inset:10px 0 0 0;
		border-radius:20px 20px 0 0;
	}

	.apf-site-footer__grid{
		gap:24px;
		padding:32px 18px 0;
	}

	.apf-site-footer .wp-block-site-logo img,
	.apf-site-footer .custom-logo{
		max-width:114px;
	}

	.apf-site-footer__brand{
		font-size:1.22rem;
	}

	.apf-site-footer__title{
		font-size:1.08rem;
	}

	.apf-site-footer__text,
	.apf-site-footer__list li,
	.apf-site-footer__nav .wp-block-navigation-item__content{
		font-size:.99rem;
		line-height:1.7;
	}

	.apf-site-footer__bottom{
		flex-direction:column;
		align-items:flex-start;
		justify-content:flex-start;
		gap:10px;
		padding:18px 18px 0;
	}
}