/* =========================
   APF HEADER V12.1
   FSE / GUTENBERG
   ========================= */

.apf-header.apf-header-v12{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	z-index:1000;
	padding-top:20px;
	pointer-events:none;
}

.apf-header-v12 .apf-header-shell{
	max-width:1440px;
	margin:0 auto;
	padding-left:24px;
	padding-right:24px;
}

.apf-header-v12 .apf-header-bar{
	position:relative;
	display:grid;
	grid-template-columns:1fr 220px 1fr;
	align-items:center;
	min-height:84px;
	padding:0 34px;
	border-radius:20px;
	background:rgba(246, 242, 235, 0.72);
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
	border:1px solid rgba(255,255,255,0.34);
	box-shadow:
		0 12px 28px rgba(27, 22, 15, 0.10),
		inset 0 1px 0 rgba(255,255,255,0.32);
	pointer-events:auto;
	overflow:visible;
}

.apf-header-v12 .apf-header-side{
	position:relative;
	z-index:2;
	min-width:0;
}

.apf-header-v12 .apf-header-left{
	padding-right:34px;
}

.apf-header-v12 .apf-header-right{
	padding-left:34px;
}

.apf-header-v12 .apf-header-center{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	z-index:4;
	min-height:84px;
}

.apf-header-v12 .apf-logo-badge{
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%, -40%);
	width:170px;
	height:170px;
	border-radius:50%;
	background:linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(245,240,232,0.99) 100%);
	border:3px solid rgba(213, 197, 156, 0.92);
	box-shadow:
		0 10px 22px rgba(31, 25, 18, 0.12),
		inset 0 0 0 3px rgba(255,255,255,0.80);
	display:flex;
	align-items:center;
	justify-content:center;
	padding:16px;
}

.apf-header-v12 .apf-logo-badge::before{
	content:"";
	position:absolute;
	inset:10px;
	border-radius:50%;
	border:1px solid rgba(187, 169, 124, 0.36);
	pointer-events:none;
}

.apf-header-v12 .apf-site-logo{
	margin:0;
	line-height:0;
}

.apf-header-v12 .apf-site-logo a,
.apf-header-v12 .apf-site-logo .custom-logo-link{
	display:flex;
	align-items:center;
	justify-content:center;
}

.apf-header-v12 .apf-site-logo img{
	width:auto !important;
	height:auto !important;
	max-width:122px !important;
	max-height:122px !important;
	object-fit:contain;
	filter:drop-shadow(0 2px 2px rgba(0,0,0,0.08));
}

/* NAVIGATION */
.apf-header-v12 .apf-nav{
	width:100%;
}

.apf-header-v12 .apf-nav .wp-block-navigation__container{
	gap:38px;
}

.apf-header-v12 .apf-nav .wp-block-navigation-item{
	position:relative;
}

.apf-header-v12 .apf-nav .wp-block-navigation-item__content{
	position:relative;
	padding:10px 0;
	font-family:"Lora", serif;
	font-size:1.22rem;
	font-weight:600;
	font-style:normal;
	letter-spacing:0.01em;
	line-height:1.2;
	color:#332d26;
	text-decoration:none;
	transition:
		color .22s ease,
		transform .22s ease,
		opacity .22s ease;
}

.apf-header-v12 .apf-nav .wp-block-navigation-item__content:hover{
	color:#5F6F2F;
	transform:translateY(-1px);
}

.apf-header-v12 .apf-nav .wp-block-navigation-item__content::after{
	content:"";
	position:absolute;
	left:0;
	bottom:-3px;
	width:0;
	height:3px;
	border-radius:999px;
	background:linear-gradient(90deg, #5F6F2F 0%, #8A7A46 100%);
	transition:width .24s ease;
}

.apf-header-v12 .apf-nav .wp-block-navigation-item__content:hover::after,
.apf-header-v12 .apf-nav .current-menu-item > .wp-block-navigation-item__content::after,
.apf-header-v12 .apf-nav .current_page_item > .wp-block-navigation-item__content::after{
	width:100%;
}

.apf-header-v12 .apf-nav .current-menu-item > .wp-block-navigation-item__content,
.apf-header-v12 .apf-nav .current_page_item > .wp-block-navigation-item__content{
	color:#2B261F;
}

.apf-header-v12 .apf-nav .wp-block-navigation__submenu-container{
	border:none;
	border-radius:14px;
	padding:10px;
	background:rgba(248,244,237,0.96);
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
	box-shadow:0 14px 26px rgba(0,0,0,0.10);
}

.apf-header-v12 .apf-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
	font-size:1rem;
	padding:8px 12px;
}

/* STICKY */
.apf-header-v12.is-sticky{
	position:fixed;
}

.apf-header-v12.is-sticky .apf-header-bar{
	min-height:70px;
	padding-left:28px;
	padding-right:28px;
	background:rgba(248,244,237,0.88);
	box-shadow:
		0 10px 22px rgba(27,22,15,0.12),
		inset 0 1px 0 rgba(255,255,255,0.42);
}

.apf-header-v12.is-sticky .apf-header-center{
	min-height:70px;
}

.apf-header-v12.is-sticky .apf-logo-badge{
	width:132px;
	height:132px;
	transform:translate(-50%, -36%);
	padding:12px;
}

.apf-header-v12.is-sticky .apf-site-logo img{
	max-width:92px !important;
	max-height:92px !important;
}

.apf-header-v12.is-sticky .apf-nav .wp-block-navigation-item__content{
	font-size:1.08rem;
}

/* HERO OFFSET / SUPERPOSITION */
.apf-hero,
.apfhum-hero,
.home .wp-block-cover:first-of-type{
	position:relative;
	z-index:1;
}

/* RESPONSIVE */
@media (max-width: 1100px){

	.apf-header.apf-header-v12{
		padding-top:16px;
	}

	.apf-header-v12 .apf-header-shell{
		padding-left:16px;
		padding-right:16px;
	}

	.apf-header-v12 .apf-header-bar{
		grid-template-columns:1fr;
		row-gap:14px;
		padding:16px 18px 18px;
		min-height:auto;
		border-radius:18px;
	}

	.apf-header-v12 .apf-header-left,
	.apf-header-v12 .apf-header-right{
		padding:0;
		justify-self:center;
	}

	.apf-header-v12 .apf-header-center{
		order:-1;
		min-height:110px;
	}

	.apf-header-v12 .apf-logo-badge{
		position:relative;
		left:auto;
		top:auto;
		transform:none;
		width:132px;
		height:132px;
		margin:0 auto;
		padding:12px;
	}

	.apf-header-v12 .apf-site-logo img{
		max-width:92px !important;
		max-height:92px !important;
	}

	.apf-header-v12 .apf-nav{
		width:auto;
	}

	.apf-header-v12 .apf-nav .wp-block-navigation__container{
		justify-content:center;
		gap:22px;
	}

	.apf-header-v12 .apf-nav .wp-block-navigation-item__content{
		font-size:1.05rem;
	}
}

@media (max-width: 782px){

	.apf-header-v12 .apf-header-bar{
		padding:14px 14px 16px;
		border-radius:16px;
	}

	.apf-header-v12 .apf-header-center{
		min-height:96px;
	}

	.apf-header-v12 .apf-logo-badge{
		width:112px;
		height:112px;
		padding:10px;
	}

	.apf-header-v12 .apf-site-logo img{
		max-width:76px !important;
		max-height:76px !important;
	}

	.apf-header-v12 .apf-nav .wp-block-navigation-item__content{
		font-size:1rem;
	}
}