/* ==========================================================================
   Pray Performance — 2026 facelift
   Loaded last (see views/layout.php). Keeps the brand palette
   (red #d73d40, gold #f1c22f, charcoal #251d1b) and modernizes layout,
   type, spacing and components on top of the original ficc-theme.
   ========================================================================== */

:root {
	--pp-red: #d73d40;
	--pp-red-dark: #b72f32;
	--pp-gold: #f1c22f;
	--pp-ink: #141010;
	--pp-char: #251d1b;
	--pp-char-2: #1c1614;
	--pp-text: #2b2626;
	--pp-muted: #6d6563;
	--pp-line: #ece8e6;
	--pp-bg-soft: #f7f5f4;
	--pp-radius: 14px;
	--pp-radius-sm: 8px;
	--pp-shadow: 0 10px 30px rgba(20, 16, 16, .10);
	--pp-shadow-lg: 0 24px 60px rgba(20, 16, 16, .22);
	--pp-ease: cubic-bezier(.2, .7, .2, 1);
	--pp-head: 'Kanit', sans-serif;
	--pp-cond: 'Oswald', sans-serif;
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body {
	font-family: var(--pp-head);
	font-weight: 300;
	font-size: 17px;
	line-height: 1.75;
	color: var(--pp-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
::selection { background: var(--pp-gold); color: var(--pp-ink); }
img { max-width: 100%; height: auto; }
a { transition: color .2s var(--pp-ease); }
h1, h2, h3, h4, h5, h6 { color: var(--pp-ink); letter-spacing: -.01em; line-height: 1.15; }
:focus-visible { outline: 3px solid var(--pp-gold); outline-offset: 2px; }

/* Buttons */
a.button, .button, input.button, button.button, input[type="submit"], .view_dis {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	font-family: var(--pp-cond);
	font-weight: 500;
	font-size: 15px;
	letter-spacing: .08em;
	text-transform: uppercase;
	line-height: 1;
	padding: 16px 30px;
	border: 0;
	border-radius: 999px;
	background: var(--pp-red);
	color: #fff !important;
	box-shadow: 0 8px 20px rgba(215, 61, 64, .28);
	transition: background .25s var(--pp-ease), transform .25s var(--pp-ease), box-shadow .25s var(--pp-ease), color .25s;
	cursor: pointer;
	text-decoration: none !important;
}
a.button:hover, .button:hover, input.button:hover, input[type="submit"]:hover, a:hover .view_dis {
	background: var(--pp-gold);
	color: var(--pp-ink) !important;
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(241, 194, 47, .35);
}

/* Shared section heading treatment: gold accent bar */
#fi_new_arrivals h2,
#our_top_services #header_title h2,
#connect_pray_performance h2,
#fi_recent_projects h2,
#fi_best_selling_product h3,
.page > h1 {
	position: relative;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .02em;
}
#our_top_services #header_title h2:after,
#connect_pray_performance h2:after,
#fi_recent_projects h2:after {
	content: '';
	display: block;
	width: 64px;
	height: 4px;
	margin: 18px auto 0;
	border-radius: 4px;
	background: linear-gradient(90deg, var(--pp-red) 0 50%, var(--pp-gold) 50% 100%);
}

/* ---------- Top bar (solid) ---------- */
#fi_header_top {
	background: #0e0a09 !important;
	border-bottom: 1px solid rgba(255, 255, 255, .07) !important;
	font-family: var(--pp-cond);
	letter-spacing: .06em;
	font-size: 13px;
}
#fi_header_top a { transition: color .2s; }
#fi_header_top a:hover { color: var(--pp-gold) !important; }

/* ---------- Main header (solid bar, logo badge hangs below) ---------- */
#ficc_header {
	background: var(--pp-char) !important;
	border-bottom: 3px solid var(--pp-red);
	box-shadow: 0 12px 30px rgba(0, 0, 0, .35);
	transition: background .3s var(--pp-ease), padding .3s var(--pp-ease);
}
@media (min-width: 781px) {
	#fi_header_top { height: 46px; box-sizing: border-box; }
	#fi_header_top > .fixed_content,
	#fi_header_top .style_columns_2 { height: 46px; display: flex; align-items: center; }
	#fi_header_top .style_columns_2 { width: 100%; justify-content: space-between; }
	#fi_header_top .style_columns_2 > .layout_block { float: none !important; width: auto !important; }
	#ficc_header { top: 46px !important; padding: 0 !important; }
	#ficc_header_bottom { padding: 18px 0 !important; }
	#ficc_header.fixed,
	.layout_block.fixed #ficc_header { top: 0 !important; padding: 0 !important; }
	.layout_block.fixed #ficc_header_bottom,
	#ficc_header.fixed #ficc_header_bottom { padding: 6px 0 !important; }
	/* Logo sits inside the bar and hangs slightly below it as a badge */
	#ficc_header_logo a:not(.button):not(.fc_title):not(.paging_link) { top: -4px !important; }
	#ficc_header_logo img { height: 108px; max-height: none; width: auto; max-width: none; }
	#ficc_header.fixed #ficc_header_logo a:not(.button):not(.fc_title):not(.paging_link),
	.layout_block.fixed #ficc_header_logo a:not(.button):not(.fc_title):not(.paging_link) { top: -2px !important; }
	#ficc_header.fixed #ficc_header_logo img,
	.layout_block.fixed #ficc_header_logo img { height: 76px; }
	/* Keep hero copy clear of the solid header */
	#ficc_slider .featured_img_overlay > div { padding-top: 120px; box-sizing: border-box; }
}
#ficc_header.fixed,
.layout_block.fixed #ficc_header {
	background: rgba(28, 22, 20, .92) !important;
	backdrop-filter: saturate(140%) blur(12px);
	-webkit-backdrop-filter: saturate(140%) blur(12px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .25) !important;
	border-bottom: 2px solid var(--pp-red);
}
#ficc_header_logo img { transition: transform .35s var(--pp-ease); filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .45)); }
#ficc_header_logo a:hover img { transform: scale(1.04) rotate(-1deg); }

#ficc_header_navigation > ul > li > a,
#ficc_header_right_navigation > ul > li > a {
	position: relative;
	font-family: var(--pp-cond);
	font-weight: 500;
	letter-spacing: .09em;
}
#ficc_header_navigation > ul > li > a:after,
#ficc_header_right_navigation > ul > li > a:after {
	content: '';
	position: absolute;
	left: 50%;
	right: 50%;
	bottom: 4px;
	height: 2px;
	background: var(--pp-gold);
	transition: left .3s var(--pp-ease), right .3s var(--pp-ease);
}
#ficc_header_navigation > ul > li:hover > a:after,
#ficc_header_navigation > ul > li.selected > a:after,
#ficc_header_right_navigation > ul > li:hover > a:after,
#ficc_header_right_navigation > ul > li.selected > a:after { left: 14px; right: 14px; }

/* Dropdowns */
#ficc_header_navigation ul ul,
#ficc_header_right_navigation ul ul {
	background: var(--pp-char-2) !important;
	border-top: 3px solid var(--pp-red);
	border-radius: 0 0 var(--pp-radius-sm) var(--pp-radius-sm);
	box-shadow: var(--pp-shadow-lg);
	padding: 8px 0;
	overflow: hidden;
}
#ficc_header_navigation ul ul li a,
#ficc_header_right_navigation ul ul li a {
	font-family: var(--pp-cond);
	letter-spacing: .06em;
	padding: 10px 22px !important;
	color: #eee !important;
	background: transparent !important;
	transition: background .2s, color .2s, padding .2s;
}
#ficc_header_navigation ul ul li a:hover,
#ficc_header_right_navigation ul ul li a:hover {
	background: rgba(255, 255, 255, .06) !important;
	color: var(--pp-gold) !important;
	padding-left: 28px !important;
}

/* ---------- Hero slider ---------- */
#ficc_slider .content_slider_slide .featured_img img.slide_desktop {
	width: 100%;
	height: min(92vh, 900px);
	min-height: 560px;
	object-fit: cover;
}
#ficc_slider .featured_img_overlay {
	background:
		linear-gradient(90deg, rgba(12, 9, 9, .82) 0%, rgba(12, 9, 9, .45) 45%, rgba(12, 9, 9, .05) 75%),
		linear-gradient(0deg, rgba(12, 9, 9, .55) 0%, rgba(12, 9, 9, 0) 35%) !important;
}
#ficc_slider .featured_img_overlay section {
	max-width: 680px;
	text-align: left;
}
#ficc_slider .featured_img_overlay h1,
#ficc_slider .featured_img_overlay h4 {
	color: #fff !important;
	font-weight: 700;
	text-transform: uppercase;
	text-align: left !important;
	line-height: 1.05;
	text-shadow: 0 4px 24px rgba(0, 0, 0, .45);
	margin: 0 0 26px;
}
#ficc_slider .featured_img_overlay h1 { font-size: clamp(34px, 5vw, 66px); }
#ficc_slider .featured_img_overlay h4 { font-size: clamp(26px, 2.8vw, 40px); }
#ficc_slider .featured_img_overlay h1:before,
#ficc_slider .featured_img_overlay h4:before {
	content: 'Pray Performance';
	display: block;
	margin-bottom: 14px;
	font-family: var(--pp-cond);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .3em;
	color: var(--pp-gold);
	text-shadow: none;
}
#ficc_slider .featured_img_overlay section { margin-bottom: 26px !important; }
#ficc_slider .featured_img_overlay h1 { line-height: 1.05 !important; }
#ficc_slider .featured_img_overlay aside {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 22px;
	padding-left: 34px;
	text-align: left;
	color: rgba(255, 255, 255, .85);
	font-family: var(--pp-cond);
	font-size: 17px;
	letter-spacing: .12em;
	text-transform: uppercase;
}
#ficc_slider aside a.button {
	border-radius: 999px !important;
	padding: 17px 38px !important;
	margin: 0 !important;
	font-size: 15px !important;
	letter-spacing: .1em !important;
}
#ficc_slider .content_slider_pager a,
#ficc_slider .bx-pager-link {
	width: 28px !important;
	height: 4px !important;
	border-radius: 4px !important;
	background: rgba(255, 255, 255, .45) !important;
	transition: background .25s, width .25s;
}
#ficc_slider .content_slider_pager a.active,
#ficc_slider .bx-pager-link.active { background: var(--pp-gold) !important; width: 44px !important; }

/* ---------- Home: intro (We Are Pray Performance) ---------- */
#fi_best_selling_product {
	padding: 110px 0 100px;
	background:
		radial-gradient(1200px 400px at 50% 0%, rgba(241, 194, 47, .08), transparent 70%),
		#fff;
}
#fi_best_selling_product .fixed_content { max-width: 920px; text-align: center; }
#fi_best_selling_product h3 {
	font-size: clamp(30px, 3.6vw, 46px);
	margin: 0 0 24px;
}
#fi_best_selling_product h3:before {
	content: 'Disabled Veteran Owned \2022  Family Operated';
	display: block;
	margin-bottom: 14px;
	font-family: var(--pp-cond);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .25em;
	color: var(--pp-red);
}
#fi_best_selling_product p { font-size: 18px; color: var(--pp-muted); }

/* ---------- Home: New arrivals ---------- */
#fi_new_arrivals {
	position: relative;
	padding: 110px 24px !important;
	text-align: left !important;
	border: 0 !important;
	background:
		radial-gradient(900px 420px at 0% 0%, rgba(215, 61, 64, .22), transparent 60%),
		radial-gradient(700px 380px at 100% 100%, rgba(241, 194, 47, .10), transparent 60%),
		var(--pp-ink) !important;
}
#fi_new_arrivals:before { display: none !important; }
#fi_new_arrivals > .fixed_content { max-width: 1240px; margin: 0 auto; }
#fi_new_arrivals hr,
#fi_new_arrivals #content-1590823615 > p:empty { display: none; }
#fi_new_arrivals #content-1590823615 > p { margin: 0; }

.pp-arrivals-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	margin-bottom: 48px;
}
.pp-eyebrow {
	display: block;
	margin-bottom: 10px;
	font-family: var(--pp-cond);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .25em;
	text-transform: uppercase;
	color: var(--pp-gold);
}
#fi_new_arrivals .pp-arrivals-head h2 {
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
	font-size: clamp(34px, 4vw, 52px) !important;
	letter-spacing: .01em;
	text-align: left !important;
}
#fi_new_arrivals .pp-arrivals-head h2:after { display: none !important; }
.pp-shop-all {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 26px;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 999px;
	color: #fff !important;
	font-family: var(--pp-cond);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	transition: background .25s, border-color .25s, color .25s;
}
.pp-shop-all:hover { background: var(--pp-gold); border-color: var(--pp-gold); color: var(--pp-ink) !important; }

.pp-arrivals {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 26px;
}
.pp-arrival {
	display: flex;
	flex-direction: column;
	background: #1d1716;
	border: 1px solid rgba(255, 255, 255, .07);
	border-radius: var(--pp-radius);
	overflow: hidden;
	text-decoration: none !important;
	transition: transform .4s var(--pp-ease), box-shadow .4s var(--pp-ease), border-color .4s;
}
.pp-arrival:hover {
	transform: translateY(-8px);
	border-color: rgba(215, 61, 64, .6);
	box-shadow: 0 30px 60px rgba(0, 0, 0, .45);
}
.pp-arrival__img {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	background: #fff;
	overflow: hidden;
}
.pp-arrival__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 18px;
	box-sizing: border-box;
	transition: transform .7s var(--pp-ease);
}
.pp-arrival:hover .pp-arrival__img img { transform: scale(1.07); }
.pp-arrival__tag {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 2;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--pp-red);
	color: #fff;
	font-family: var(--pp-cond);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	line-height: 1;
}
.pp-arrival__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 22px 22px 20px;
	border-top: 3px solid var(--pp-red);
}
.pp-arrival__title {
	display: block;
	color: #fff;
	font-family: var(--pp-head);
	font-weight: 600;
	font-size: 19px;
	line-height: 1.25;
}
.pp-arrival__desc {
	display: block;
	margin-top: 10px;
	color: rgba(255, 255, 255, .6);
	font-size: 14px;
	line-height: 1.55;
}
.pp-arrival__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 20px;
}
.pp-arrival__price {
	color: var(--pp-gold);
	font-family: var(--pp-cond);
	font-size: 22px;
	font-weight: 500;
	letter-spacing: .03em;
}
.pp-arrival__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #fff;
	font-family: var(--pp-cond);
	font-size: 14px;
	letter-spacing: .1em;
	text-transform: uppercase;
	transition: color .25s, gap .25s;
}
.pp-arrival:hover .pp-arrival__cta { color: var(--pp-gold); gap: 12px; }
@media (max-width: 1024px) {
	.pp-arrivals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 780px) {
	#fi_new_arrivals { padding: 70px 18px !important; }
	.pp-arrivals-head { margin-bottom: 30px; }
	.pp-arrivals { gap: 14px; }
	.pp-arrival__body { padding: 16px 14px; }
	.pp-arrival__title { font-size: 16px; }
	.pp-arrival__desc { display: none; }
	.pp-arrival__price { font-size: 18px; }
	.pp-arrival__cta { display: none; }
}

/* ---------- Home: Top services ---------- */
#our_top_services {
	padding: 110px 0;
	background: var(--pp-bg-soft);
}
#our_top_services #header_title h2 {
	font-size: clamp(30px, 3.4vw, 44px);
	margin: 0 0 56px;
	text-align: center;
}
#our_top_services #columns_6 > .layout_block {
	position: relative;
	border-radius: var(--pp-radius);
	overflow: hidden;
	box-shadow: var(--pp-shadow);
	transition: transform .4s var(--pp-ease), box-shadow .4s var(--pp-ease);
	isolation: isolate;
}
#our_top_services #columns_6 > .layout_block:hover {
	transform: translateY(-8px);
	box-shadow: var(--pp-shadow-lg);
}
#our_top_services #columns_6 > .layout_block:not(#column6) { min-height: 400px; background: var(--pp-char); }
#our_top_services #columns_6 figure { position: absolute; inset: 0; margin: 0; overflow: hidden; border-radius: 0; }
#our_top_services #columns_6 figure a { display: block; height: 100%; }
#our_top_services #columns_6 figure img {
	display: block;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform .8s var(--pp-ease);
}
#our_top_services #columns_6 > .layout_block:hover figure img { transform: scale(1.08); }
#our_top_services #columns_6 figcaption {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	padding: 90px 26px 26px;
	background: linear-gradient(0deg, rgba(12, 9, 9, .92) 0%, rgba(12, 9, 9, .55) 55%, rgba(12, 9, 9, 0) 100%);
	text-align: left;
	z-index: 2;
}
#our_top_services #columns_6 figcaption a {
	display: inline-block;
	color: #fff !important;
	font-family: var(--pp-head);
	font-weight: 700;
	font-size: 22px;
	line-height: 1.15;
	text-transform: uppercase;
	text-shadow: none;
}
#our_top_services #columns_6 figcaption a:after {
	content: '\2192';
	display: inline-block;
	margin-left: 10px;
	color: var(--pp-gold);
	transition: transform .3s var(--pp-ease);
}
#our_top_services #columns_6 > .layout_block:hover figcaption a:after { transform: translateX(6px); }
#our_top_services #columns_6 figcaption:before {
	content: '';
	display: block;
	width: 36px;
	height: 3px;
	margin-bottom: 12px;
	background: var(--pp-red);
	transition: width .35s var(--pp-ease);
}
#our_top_services #columns_6 > .layout_block:hover figcaption:before { width: 64px; }
/* Make the whole card clickable via the caption link */
#our_top_services #columns_6 figcaption a:before {
	content: '';
	position: absolute;
	inset: -400px 0 0 0;
}

/* "Need our services?" card becomes a red CTA tile */
#our_top_services #column6 {
	display: flex;
	align-items: center;
	background:
		radial-gradient(500px 300px at 100% 0%, rgba(241, 194, 47, .25), transparent 60%),
		linear-gradient(145deg, var(--pp-red) 0%, var(--pp-red-dark) 100%);
	min-height: 400px;
	box-sizing: border-box;
	padding: 40px 34px;
}
#our_top_services #column6 section { width: 100%; }
#our_top_services #column6 h3 {
	color: #fff !important;
	font-size: clamp(28px, 2.6vw, 38px);
	text-transform: uppercase;
	margin: 0 0 18px;
}
#our_top_services #column6 h4 {
	margin: 0;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, .3);
	font-size: 18px;
	font-weight: 400;
}
#our_top_services #column6 h4 a,
#our_top_services #column6 h4 {
	color: #fff !important;
}
#our_top_services #column6 h4 a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 26px;
	margin-top: 4px;
	border-radius: 999px;
	background: #fff;
	color: var(--pp-red) !important;
	font-family: var(--pp-cond);
	font-weight: 500;
	font-size: 15px;
	letter-spacing: .08em;
	text-transform: uppercase;
	transition: background .25s, color .25s, transform .25s;
}
#our_top_services #column6 h4 a:hover { background: var(--pp-gold); color: var(--pp-ink) !important; transform: translateY(-2px); }

/* ---------- Home: About ---------- */
#about_us {
	padding: 120px 0 !important;
	background:
		radial-gradient(900px 500px at 85% 20%, rgba(215, 61, 64, .18), transparent 60%),
		var(--pp-char) !important;
	margin-top: 0 !important;
}
#about_us #about_image,
#about_us #about_image figure { margin: 0; width: 100%; }
#about_us #about_image { position: static !important; top: auto !important; }
#about_us .style_columns_2 { display: flex; align-items: center; gap: 60px; }
#about_us .style_columns_2 > .layout_block { float: none !important; flex: 1 1 0; width: auto !important; }
#about_us #about_image img {
	width: 100% !important;
	max-width: 580px;
	border-radius: var(--pp-radius);
	box-shadow: 0 30px 70px rgba(0, 0, 0, .5);
	outline: 1px solid rgba(255, 255, 255, .08);
	outline-offset: 10px;
}
#about_us h4 {
	color: var(--pp-gold) !important;
	font-family: var(--pp-cond);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .25em;
	text-transform: uppercase;
}
#about_us hr { border-color: var(--pp-red) !important; background: var(--pp-red) !important; width: 48px; height: 3px; border: 0; }
#about_us h2 { color: #fff !important; font-size: clamp(34px, 4vw, 54px); text-transform: uppercase; }
#about_us p { color: rgba(255, 255, 255, .78) !important; font-size: 18px !important; line-height: 1.65 !important; margin: 0 0 26px !important; }
#about_us #about_image img { aspect-ratio: 1 / 1; object-fit: cover; }
#about_us aside { display: block; width: auto !important; }
#about_us aside a {
	display: inline-flex;
	width: auto !important;
	max-width: max-content;
	float: none !important;
	align-items: center;
	gap: 10px;
	margin-top: 10px;
	padding: 16px 30px;
	border-radius: 999px;
	background: var(--pp-red);
	color: #fff !important;
	font-family: var(--pp-cond);
	font-weight: 500;
	font-size: 15px;
	letter-spacing: .08em;
	text-transform: uppercase;
	transition: background .25s, color .25s, transform .25s;
}
#about_us aside a:hover { background: var(--pp-gold); color: var(--pp-ink) !important; transform: translateY(-2px); }

/* ---------- Home: Connect / Instagram ---------- */
#connect_pray_performance { padding: 100px 0 40px; background: #fff; text-align: center; }
#connect_pray_performance h2 { font-size: clamp(30px, 3.4vw, 44px); margin: 0 0 18px; }
#connect_pray_performance h4 { font-size: 18px; font-weight: 400; color: var(--pp-muted); margin: 26px 0 0; }
#connect_pray_performance h4 a {
	color: var(--pp-red);
	font-weight: 600;
	background-image: linear-gradient(var(--pp-gold), var(--pp-gold));
	background-size: 100% 2px;
	background-position: 0 100%;
	background-repeat: no-repeat;
	padding-bottom: 2px;
}
#connect_pray_performance #content-1590817778 > p:empty { display: none; }

/* ---------- Home: Recent projects ---------- */
#fi_recent_projects { padding: 100px 0 110px; background: var(--pp-bg-soft); }
#fi_recent_projects h2 { font-size: clamp(30px, 3.4vw, 44px); margin: 0 0 8px; text-align: center; }
#fi_recent_projects #header_title-1590756232 p { color: var(--pp-muted); margin-top: 18px; }
#fi_recent_projects .photo_gallery_img {
	border-radius: var(--pp-radius);
	overflow: hidden;
	box-shadow: var(--pp-shadow);
}
#fi_recent_projects .photo_gallery_img img { transition: transform .7s var(--pp-ease), filter .4s; display: block; }
#fi_recent_projects .photo_gallery_pic:hover img { transform: scale(1.07); filter: brightness(1.05) saturate(1.1); }
#fi_recent_projects #button { text-align: center; margin-top: 44px; }
#fi_recent_projects #button p { margin: 0; }
#fi_recent_projects #button a.button {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	width: auto !important;
	height: auto !important;
	padding: 17px 34px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--pp-red) !important;
	color: #fff !important;
	font-family: var(--pp-cond) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	letter-spacing: .08em !important;
	text-indent: 0 !important;
	box-shadow: 0 8px 20px rgba(215, 61, 64, .28) !important;
}
#fi_recent_projects #button a.button i { color: inherit !important; }
#fi_recent_projects #button a.button:hover { background: var(--pp-gold) !important; color: var(--pp-ink) !important; }
#fi_recent_projects #content-1590756313 > p { margin: 0; }
#fi_recent_projects > .fixed_content { max-width: 1240px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.pp-projects {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: 240px;
	gap: 16px;
	margin-top: 44px;
}
.pp-project {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--pp-radius);
	background: var(--pp-char);
	box-shadow: var(--pp-shadow);
}
.pp-project:first-child { grid-column: span 2; grid-row: span 2; }
.pp-project img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .8s var(--pp-ease), filter .4s;
}
.pp-project:after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(12, 9, 9, .85) 0%, rgba(12, 9, 9, 0) 55%);
	opacity: .7;
	transition: opacity .4s var(--pp-ease);
}
.pp-project__cap {
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 16px;
	z-index: 2;
	color: #fff;
	font-family: var(--pp-cond);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .06em;
	text-transform: uppercase;
	line-height: 1.3;
	transform: translateY(6px);
	opacity: .9;
	transition: transform .4s var(--pp-ease), opacity .4s;
}
.pp-project:first-child .pp-project__cap { font-size: 20px; }
.pp-project:hover img { transform: scale(1.07); }
.pp-project:hover:after { opacity: 1; }
.pp-project:hover .pp-project__cap { transform: none; opacity: 1; }
@media (max-width: 1024px) {
	.pp-projects { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 200px; }
}
@media (max-width: 780px) {
	.pp-projects { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 160px; gap: 10px; }
	.pp-project__cap { font-size: 12px; left: 12px; right: 12px; bottom: 10px; }
	.pp-project:first-child .pp-project__cap { font-size: 15px; }
}

/* ---------- Footer ---------- */
#fi_footer { background: var(--pp-ink) !important; }
#fi_footer,
#fi_footer p,
#fi_footer li a { color: rgba(255, 255, 255, .72) !important; }
#fi_footer li a { font-family: var(--pp-cond); letter-spacing: .08em; transition: color .2s, padding .2s; }
#fi_footer li a:hover { color: var(--pp-gold) !important; padding-left: 4px; }
#fi_footer h4 { color: var(--pp-gold) !important; font-family: var(--pp-cond); letter-spacing: .14em; }
#fi_footer_left img { filter: drop-shadow(0 10px 24px rgba(0, 0, 0, .5)); }
/* Footer layout: dark throughout, newsletter as a card (no red bleed panel) */
#fi_footer { padding: 80px 24px 70px !important; border-top: 3px solid var(--pp-red); }
#fi_footer > .fixed_content { max-width: 1240px; margin: 0 auto; }
#columns-1590671294726 { align-items: center; gap: 0; }
#column_3-1590731552 { background: transparent !important; }
#column_3-1590731552:before,
#column_3-1590731552:after { display: none !important; }
#fi_footer a { color: rgba(255, 255, 255, .72) !important; font-weight: 400 !important; }
#fi_footer a:hover { color: var(--pp-gold) !important; }
#fi_footer_right_top { border-bottom-color: rgba(255, 255, 255, .08) !important; }
#fi_footer_right_bottom-1590671516 p { color: rgba(255, 255, 255, .72); }
#fi_footer_newsletter {
	margin-left: 30px !important;
	padding: 40px 36px 36px !important;
	border-radius: var(--pp-radius);
	background:
		radial-gradient(400px 260px at 100% 0%, rgba(241, 194, 47, .25), transparent 60%),
		linear-gradient(150deg, var(--pp-red), var(--pp-red-dark)) !important;
	box-shadow: 0 24px 50px rgba(0, 0, 0, .4);
}
#fi_footer_newsletter h3 {
	color: #fff !important;
	text-transform: uppercase;
	font-size: 30px !important;
	line-height: 1.1 !important;
	margin-bottom: 12px !important;
}
#fi_footer_newsletter p { font-size: 15px !important; padding-right: 0 !important; line-height: 1.6; }
#fi_footer_newsletter .forms_outer { margin-top: 20px !important; }
#fi_footer_newsletter .field { margin-bottom: 12px; }
#fi_footer_newsletter .g-recaptcha { transform: scale(.92); transform-origin: left top; margin-bottom: -4px; }
#fi_footer_newsletter p.buttons input.button { border-radius: 999px !important; padding: 14px 34px !important; }
@media (max-width: 780px) {
	#fi_footer { padding: 50px 18px !important; }
	#fi_footer_newsletter { margin: 30px 0 0 !important; padding: 30px 22px !important; }
	#fi_footer_newsletter .g-recaptcha { transform-origin: center top; }
}
#fi_footer_newsletter input[type="text"],
#fi_footer_newsletter input[type="email"] {
	background: rgba(255, 255, 255, .12) !important;
	border: 1px solid rgba(255, 255, 255, .35) !important;
	border-radius: 999px !important;
	padding: 14px 22px !important;
	color: #fff !important;
}
#fi_footer_newsletter input::placeholder { color: rgba(255, 255, 255, .8); }
#fi_footer_newsletter input.button,
#fi_footer_newsletter input[type="submit"] { background: #fff !important; color: var(--pp-red) !important; box-shadow: none; }
#fi_footer_newsletter input.button:hover,
#fi_footer_newsletter input[type="submit"]:hover { background: var(--pp-gold) !important; color: var(--pp-ink) !important; }
#ficc_footer_bottom { background: #0b0909 !important; color: rgba(255, 255, 255, .55) !important; font-size: 14px; }
#ficc_footer_bottom p,
#ficc_footer_bottom a { color: rgba(255, 255, 255, .55) !important; }
#ficc_footer_siteby img { filter: brightness(0) invert(1); opacity: .7; transition: opacity .2s; }
#ficc_footer_siteby a:hover img { opacity: 1; }

/* Scroll to top */
#scroll_to_top a,
#scroll_to_top span {
	border-radius: 50% !important;
	background: var(--pp-red) !important;
	box-shadow: 0 10px 24px rgba(215, 61, 64, .35);
	transition: background .25s, transform .25s;
}
#scroll_to_top a:hover { background: var(--pp-gold) !important; transform: translateY(-3px); }

/* ---------- Inner pages ---------- */
#ficc_inner_about_banner { background: var(--pp-ink); }
#ficc_inner_about_banner img {
	display: block;
	width: 100%;
	height: clamp(220px, 22vw, 320px);
	object-fit: cover;
	object-position: center 40%;
}
#ficc_inner_about_banner:before {
	background:
		linear-gradient(90deg, rgba(20, 16, 16, .88) 0%, rgba(20, 16, 16, .55) 50%, rgba(20, 16, 16, .75) 100%),
		linear-gradient(180deg, rgba(12, 9, 9, .55) 0%, rgba(12, 9, 9, .2) 50%, rgba(12, 9, 9, .6) 100%) !important;
}
@media (min-width: 781px) {
	#ficc_inner_about_banner { padding-top: 132px !important; background: var(--pp-char) !important; }
	#ficc_inner_about_banner:before { top: 132px; height: calc(100% - 132px) !important; }
}
/* Page title + breadcrumb sit inside the banner */
#ficc_inner_about_banner > .fixed_content { position: static !important; }
.pp-banner-title {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 44px;
	z-index: 3;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 24px;
	box-sizing: border-box;
	text-align: left;
}
.pp-banner-title h1 {
	margin: 0 0 16px !important;
	padding: 0 !important;
	border: 0 !important;
	color: #fff !important;
	font-size: clamp(36px, 4.6vw, 64px) !important;
	line-height: 1.02 !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .01em;
	text-shadow: 0 6px 30px rgba(0, 0, 0, .45);
}
.pp-banner-title h1:after {
	content: '';
	display: block;
	width: 72px;
	height: 4px;
	margin-top: 16px;
	border-radius: 4px;
	background: linear-gradient(90deg, var(--pp-red) 0 50%, var(--pp-gold) 50% 100%);
}
.pp-banner-title .breadcrumb {
	display: inline-block;
	margin: 0 !important;
	padding: 7px 18px !important;
	background: rgba(255, 255, 255, .1) !important;
	border: 1px solid rgba(255, 255, 255, .2) !important;
	border-radius: 999px !important;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	font-family: var(--pp-cond);
	font-size: 13px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .85) !important;
}
.pp-banner-title .breadcrumb p { margin: 0; color: rgba(255, 255, 255, .85) !important; }
.pp-banner-title .breadcrumb a { color: var(--pp-gold) !important; }
.pp-banner-title .breadcrumb .slug { color: rgba(255, 255, 255, .5); }
/* Tighter content start once the title has moved up */
.pp-has-banner-title #ficc_content_inner,
.pp-has-banner-title #fi_content_ecomm { padding-top: 56px; }
@media (max-width: 780px) {
	.pp-banner-title { bottom: 26px; padding: 0 18px; }
	.pp-banner-title h1 { font-size: 30px !important; margin-bottom: 12px !important; }
	.pp-banner-title h1:after { margin-top: 10px; width: 54px; }
	.pp-banner-title .breadcrumb { font-size: 11px; padding: 5px 14px !important; }
	.pp-has-banner-title #ficc_content_inner,
	.pp-has-banner-title #fi_content_ecomm { padding-top: 36px; }
}
#ficc_inner_about_banner p:empty,
#ficc_inner_about_banner .fixed_content > p { margin: 0; }
#ficc_inner_about_banner:after {
	content: '';
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 5px;
	background: linear-gradient(90deg, var(--pp-red) 0 70%, var(--pp-gold) 70% 100%);
	z-index: 2;
}

#ficc_content_inner,
#fi_content_ecomm { padding: 70px 0 100px; }
#ficc_content_inner .page,
#fi_content_ecomm .page { font-size: 17px; }
.page > h1 {
	font-size: clamp(34px, 4vw, 52px);
	margin: 0 0 14px;
	padding: 0;
	border: 0 !important;
}
.page > h1:after {
	content: '';
	display: block;
	width: 64px;
	height: 4px;
	margin-top: 16px;
	border-radius: 4px;
	background: linear-gradient(90deg, var(--pp-red) 0 50%, var(--pp-gold) 50% 100%);
}
.page .breadcrumb {
	display: inline-block;
	background: var(--pp-bg-soft) !important;
	border: 1px solid var(--pp-line);
	border-radius: 999px !important;
	padding: 6px 18px !important;
	margin: 6px 0 36px !important;
	font-family: var(--pp-cond);
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.page .breadcrumb p { margin: 0; }
.page .breadcrumb a { color: var(--pp-red) !important; }
.page p, .page li { color: var(--pp-text); }
.page p + p { margin-top: 1em; }
.page a:not(.button) { color: var(--pp-red); text-underline-offset: 3px; }
.page a:not(.button):hover { color: var(--pp-red-dark); text-decoration: underline; }
.page h2, .page h3 { margin-top: 1.6em; }
.page img { border-radius: var(--pp-radius-sm); }
.page blockquote, .page em:only-child {
	display: block;
	border-left: 4px solid var(--pp-gold);
	background: var(--pp-bg-soft);
	padding: 20px 26px;
	border-radius: 0 var(--pp-radius-sm) var(--pp-radius-sm) 0;
}
.page table { border-collapse: collapse; width: 100%; }
.page table td, .page table th { border-color: var(--pp-line) !important; padding: 12px 14px; }

/* ==========================================================================
   Service page components (.pp-svc) — used in page content HTML
   ========================================================================== */
.pp-svc { font-size: 17px; }
.pp-svc p { margin: 0 0 1em; }
.pp-svc h2 {
	margin: 64px 0 22px !important;
	font-size: clamp(26px, 2.4vw, 34px) !important;
	text-transform: uppercase;
	color: var(--pp-ink) !important;
}
.pp-svc h2:after {
	content: '';
	display: block;
	width: 48px;
	height: 4px;
	margin-top: 12px;
	border-radius: 4px;
	background: linear-gradient(90deg, var(--pp-red) 0 50%, var(--pp-gold) 50% 100%);
}
.pp-svc h3 { margin: 0 0 8px !important; font-size: 20px !important; color: var(--pp-ink) !important; }
.pp-svc-intro {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 48px;
	align-items: center;
	margin-bottom: 10px;
}
.pp-svc-intro img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--pp-radius) !important;
	box-shadow: var(--pp-shadow-lg);
}
.pp-eyebrow-dark {
	display: block;
	margin-bottom: 10px;
	font-family: var(--pp-cond);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--pp-red);
}
.pp-lead { font-size: 21px; line-height: 1.55; color: var(--pp-ink) !important; font-weight: 400; }
.pp-pills { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.pp-pills li {
	padding: 7px 14px;
	border-radius: 999px;
	background: var(--pp-bg-soft);
	border: 1px solid var(--pp-line);
	font-family: var(--pp-cond);
	font-size: 14px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--pp-ink) !important;
}

/* Price cards */
.pp-price-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 20px;
	margin: 0 0 24px;
}
.pp-price-card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 26px 24px 24px;
	background: #fff;
	border: 1px solid var(--pp-line);
	border-top: 4px solid var(--pp-red);
	border-radius: var(--pp-radius);
	box-shadow: 0 6px 18px rgba(20, 16, 16, .05);
	transition: transform .3s var(--pp-ease), box-shadow .3s var(--pp-ease);
}
.pp-price-card:hover { transform: translateY(-4px); box-shadow: var(--pp-shadow); }
.pp-price-card.is-featured { background: var(--pp-ink); border-color: var(--pp-ink); border-top-color: var(--pp-gold); }
.pp-price-card.is-featured .pp-price-label,
.pp-price-card.is-featured p,
.pp-price-card.is-featured li { color: rgba(255, 255, 255, .78) !important; }
.pp-price-card.is-featured h3 { color: #fff !important; }
.pp-price-card.is-featured .pp-price { color: var(--pp-gold); }
.pp-badge {
	position: absolute;
	top: -13px;
	right: 18px;
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--pp-gold);
	color: var(--pp-ink);
	font-family: var(--pp-cond);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.pp-price-label {
	display: block;
	margin-bottom: 6px;
	font-family: var(--pp-cond);
	font-size: 14px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--pp-muted);
}
.pp-price {
	display: block;
	margin: 2px 0 10px;
	font-family: var(--pp-cond);
	font-size: 38px;
	font-weight: 500;
	line-height: 1;
	color: var(--pp-red);
	letter-spacing: .01em;
}
.pp-price small { font-size: 15px; letter-spacing: .06em; color: var(--pp-muted); text-transform: uppercase; }
.pp-price-card p { margin: 0 0 .6em; font-size: 15px; line-height: 1.55; color: var(--pp-muted) !important; }
.pp-price-card p:last-child { margin-bottom: 0; }
.pp-price-card ul { margin: 6px 0 0; padding: 0; list-style: none; }
.pp-price-card ul li { position: relative; padding: 4px 0 4px 22px; font-size: 15px; color: var(--pp-text) !important; }
.pp-price-card ul li:before { content: '\2713'; position: absolute; left: 0; color: var(--pp-red); font-weight: 700; }

/* Spec / credits table */
.pp-table-wrap { overflow-x: auto; margin: 0 0 24px; border: 1px solid var(--pp-line); border-radius: var(--pp-radius); }
.pp-svc table.pp-table { width: 100%; border-collapse: collapse; margin: 0; font-size: 16px; }
.pp-svc table.pp-table th {
	padding: 14px 18px;
	background: var(--pp-char);
	color: #fff !important;
	font-family: var(--pp-cond);
	font-weight: 500;
	font-size: 14px;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-align: left;
	border: 0 !important;
}
.pp-svc table.pp-table td { padding: 14px 18px; border: 0 !important; border-top: 1px solid var(--pp-line) !important; vertical-align: top; }
.pp-svc table.pp-table tr:nth-child(even) td { background: var(--pp-bg-soft); }
.pp-svc table.pp-table td.pp-num { font-family: var(--pp-cond); font-size: 18px; color: var(--pp-red); white-space: nowrap; }

/* Callouts */
.pp-note,
.pp-warn {
	position: relative;
	margin: 0 0 20px;
	padding: 20px 24px 20px 62px;
	border-radius: var(--pp-radius-sm);
	font-size: 16px;
	line-height: 1.6;
}
.pp-note { background: #fdf8e6; border: 1px solid #f3e2a4; }
.pp-warn { background: #fcefef; border: 1px solid #f2c9ca; }
.pp-note:before,
.pp-warn:before {
	position: absolute;
	left: 20px;
	top: 18px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	font-family: var(--pp-head);
	font-weight: 700;
	font-size: 16px;
	line-height: 28px;
	text-align: center;
}
.pp-note:before { content: 'i'; background: var(--pp-gold); color: var(--pp-ink); }
.pp-warn:before { content: '!'; background: var(--pp-red); color: #fff; }
.pp-note strong,
.pp-warn strong { color: var(--pp-ink); }
.pp-note p:last-child,
.pp-warn p:last-child { margin-bottom: 0; }
.pp-warn ul { margin: 8px 0 0; padding-left: 18px; }

/* Check list */
ul.pp-check { margin: 0 0 24px; padding: 0; list-style: none; display: grid; gap: 10px; }
ul.pp-check.is-grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
ul.pp-check li {
	position: relative;
	padding: 14px 18px 14px 52px;
	background: #fff;
	border: 1px solid var(--pp-line);
	border-radius: var(--pp-radius-sm);
	line-height: 1.5;
}
ul.pp-check li:before {
	content: '\2713';
	position: absolute;
	left: 16px;
	top: 13px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--pp-red);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 24px;
	text-align: center;
}

/* Numbered steps */
ol.pp-steps { counter-reset: pp-step; margin: 0 0 24px; padding: 0; list-style: none; display: grid; gap: 14px; }
ol.pp-steps > li {
	counter-increment: pp-step;
	position: relative;
	padding: 20px 22px 20px 78px;
	background: var(--pp-bg-soft);
	border-radius: var(--pp-radius);
	line-height: 1.6;
}
ol.pp-steps > li:before {
	content: counter(pp-step, decimal-leading-zero);
	position: absolute;
	left: 22px;
	top: 18px;
	font-family: var(--pp-cond);
	font-size: 30px;
	font-weight: 500;
	line-height: 1;
	color: var(--pp-red);
}
ol.pp-steps > li strong { display: block; margin-bottom: 4px; color: var(--pp-ink); font-weight: 600; }

/* Cam lineup */
.pp-cam-groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin-bottom: 24px; }
.pp-cam-group { padding: 24px; background: var(--pp-bg-soft); border-radius: var(--pp-radius); }
.pp-cam-group h3 {
	margin: 0 0 14px !important;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--pp-red);
	font-size: 16px !important;
	font-family: var(--pp-cond) !important;
	font-weight: 500 !important;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.pp-cam { margin: 0 0 14px; }
.pp-cam:last-child { margin-bottom: 0; }
.pp-cam strong { display: block; color: var(--pp-ink); font-weight: 600; font-size: 17px; }
.pp-cam span { display: block; font-size: 15px; color: var(--pp-muted); line-height: 1.5; }
.page .pp-svc em {
	display: inline !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	border-radius: 0 !important;
}
.pp-cam strong em { font-style: normal; font-weight: 400; color: var(--pp-red); font-size: 14px; }

/* Video / link buttons */
.pp-links { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 24px; }
.page .pp-links a.pp-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 13px 22px;
	border: 1px solid var(--pp-line);
	border-radius: 999px;
	background: #fff;
	color: var(--pp-ink);
	font-family: var(--pp-cond);
	font-size: 14px;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: border-color .2s, color .2s, background .2s;
}
.page .pp-links a.pp-link:before { content: '\25B6'; font-size: 11px; color: var(--pp-red); }
.page .pp-links a.pp-link:hover { border-color: var(--pp-red); color: var(--pp-red); background: #fff; }

/* Collapsible terms */
details.pp-terms { margin: 0 0 24px; border: 1px solid var(--pp-line); border-radius: var(--pp-radius); background: #fff; }
details.pp-terms summary {
	cursor: pointer;
	list-style: none;
	padding: 18px 22px;
	font-family: var(--pp-cond);
	font-size: 16px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--pp-ink);
	display: flex;
	justify-content: space-between;
	align-items: center;
}
details.pp-terms summary::-webkit-details-marker { display: none; }
details.pp-terms summary:after { content: '+'; font-size: 24px; color: var(--pp-red); line-height: 1; }
details.pp-terms[open] summary:after { content: '\2013'; }
details.pp-terms > div { padding: 0 22px 10px; font-size: 15px; color: var(--pp-muted); }

/* Team grid (Meet the Team) */
.pp-team {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	margin: 36px 0 10px;
}
.pp-member {
	position: relative;
	border-radius: var(--pp-radius);
	overflow: hidden;
	background: var(--pp-char);
	box-shadow: var(--pp-shadow);
	transition: transform .35s var(--pp-ease), box-shadow .35s var(--pp-ease);
}
.pp-member:hover { transform: translateY(-6px); box-shadow: var(--pp-shadow-lg); }
.page .pp-member img,
.pp-member img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 0 !important;
	transition: transform .7s var(--pp-ease);
}
.pp-member:hover img { transform: scale(1.04); }
.pp-member__body {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	padding: 70px 20px 18px;
	background: linear-gradient(0deg, rgba(12, 9, 9, .92) 0%, rgba(12, 9, 9, 0) 100%);
}
.pp-member__body:before { content: ''; display: block; width: 32px; height: 3px; margin-bottom: 10px; background: var(--pp-red); }
.pp-svc .pp-member__body h3 { margin: 0 !important; color: #fff !important; font-size: 20px !important; text-transform: uppercase; }
.pp-member__body span {
	display: block;
	margin-top: 4px;
	color: var(--pp-gold);
	font-family: var(--pp-cond);
	font-size: 13px;
	letter-spacing: .12em;
	text-transform: uppercase;
}
@media (max-width: 1024px) { .pp-team { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .pp-team { gap: 12px; } .pp-svc .pp-member__body h3 { font-size: 16px !important; } }

/* Memorial block (About page) */
.pp-memorial {
	margin: 50px 0 0;
	padding: 34px 38px;
	border-left: 4px solid var(--pp-gold);
	border-radius: 0 var(--pp-radius) var(--pp-radius) 0;
	background: var(--pp-bg-soft);
}
.pp-memorial h3 { margin: 0 0 12px !important; font-size: 26px !important; text-transform: uppercase; }
.pp-memorial p { margin: 0 !important; font-size: 17px; font-style: italic; line-height: 1.7; color: var(--pp-text) !important; }
.pp-price-card h3 { margin: 4px 0 12px !important; font-size: 24px !important; text-transform: uppercase; }
.pp-price-card.is-featured .pp-price-label { color: var(--pp-gold) !important; }

/* Image strip */
.pp-img-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0 0 24px; }
.pp-img-row img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--pp-radius-sm) !important; display: block; }

/* Bottom call-to-action band */
.pp-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	flex-wrap: wrap;
	margin: 70px 0 0;
	padding: 40px 44px;
	border-radius: var(--pp-radius);
	background:
		radial-gradient(500px 260px at 100% 0%, rgba(215, 61, 64, .35), transparent 60%),
		var(--pp-ink);
}
.pp-cta h3 { margin: 0 0 6px !important; color: #fff !important; font-size: 28px !important; text-transform: uppercase; }
.pp-cta p { margin: 0 !important; color: rgba(255, 255, 255, .72) !important; }
.pp-cta-btns { display: flex; flex-wrap: wrap; gap: 12px; }
.page .pp-cta a.button { margin: 0; }
.page .pp-cta a.pp-ghost {
	display: inline-flex;
	align-items: center;
	padding: 16px 28px;
	border: 1px solid rgba(255, 255, 255, .3);
	border-radius: 999px;
	color: #fff !important;
	font-family: var(--pp-cond);
	font-size: 15px;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background .25s, border-color .25s, color .25s;
}
.page .pp-cta a.pp-ghost:hover { background: #fff; border-color: #fff; color: var(--pp-ink) !important; }

@media (max-width: 780px) {
	.pp-svc-intro { grid-template-columns: 1fr; gap: 26px; }
	.pp-svc-intro img { order: -1; }
	.pp-lead { font-size: 18px; }
	.pp-svc h2 { margin-top: 44px !important; }
	ol.pp-steps > li { padding: 18px 18px 18px 64px; }
	ol.pp-steps > li:before { left: 18px; font-size: 24px; }
	.pp-img-row { grid-template-columns: 1fr 1fr; }
	.pp-cta { padding: 30px 24px; }
}

/* Shop Services landing page cards (same treatment as homepage service cards) */
#shop_services_page .style_columns_6 {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-top: 10px;
}
#shop_services_page .style_columns_6:before,
#shop_services_page .style_columns_6:after { display: none !important; }
#shop_services_page .style_columns_6 > .layout_block {
	position: relative;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	min-height: 380px;
	border-radius: var(--pp-radius);
	overflow: hidden;
	background: var(--pp-char);
	box-shadow: var(--pp-shadow);
	transition: transform .4s var(--pp-ease), box-shadow .4s var(--pp-ease);
	isolation: isolate;
}
#shop_services_page .style_columns_6 > .layout_block:hover { transform: translateY(-8px); box-shadow: var(--pp-shadow-lg); }
#shop_services_page figure { position: absolute; inset: 0; margin: 0 !important; }
#shop_services_page figure:empty { display: none; }
#shop_services_page figure a { display: block; height: 100%; }
#shop_services_page figure img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	border-radius: 0 !important;
	transition: transform .8s var(--pp-ease);
}
#shop_services_page .style_columns_6 > .layout_block:hover figure img { transform: scale(1.08); }
#shop_services_page figcaption,
#our_top_services #columns_6 figcaption {
	position: absolute !important;
	left: 0 !important; right: 0 !important; bottom: 0 !important; top: auto !important;
	z-index: 2;
	margin: 0 !important;
	padding: 110px 26px 26px !important;
	background: linear-gradient(0deg, rgba(12, 9, 9, .92) 0%, rgba(12, 9, 9, .55) 55%, rgba(12, 9, 9, 0) 100%) !important;
	text-align: left !important;
	transform: none !important;
}
#shop_services_page figcaption a,
#our_top_services #columns_6 figcaption a { text-align: left !important; display: inline !important; }
#shop_services_page .style_columns_6 > .layout_block:last-child h3,
#our_top_services #column6 h3 { border: 0 !important; padding-bottom: 0 !important; }
#shop_services_page .style_columns_6 > .layout_block:last-child h3:after,
#our_top_services #column6 h3:after { display: none !important; }
#shop_services_page figcaption:before {
	content: '';
	display: block;
	width: 36px;
	height: 3px;
	margin-bottom: 12px;
	background: var(--pp-red);
	transition: width .35s var(--pp-ease);
}
#shop_services_page .style_columns_6 > .layout_block:hover figcaption:before { width: 64px; }
#shop_services_page figcaption a {
	color: #fff !important;
	font-family: var(--pp-head);
	font-weight: 700;
	font-size: 22px;
	line-height: 1.15;
	text-transform: uppercase;
	text-decoration: none !important;
}
#shop_services_page figcaption a:after { content: '\2192'; margin-left: 10px; color: var(--pp-gold); }
#shop_services_page figcaption a:before { content: ''; position: absolute; inset: -400px 0 0 0; }
/* CTA tile */
#shop_services_page .style_columns_6 > .layout_block:last-child {
	display: flex;
	align-items: center;
	padding: 40px 34px !important;
	box-sizing: border-box;
	background:
		radial-gradient(500px 300px at 100% 0%, rgba(241, 194, 47, .25), transparent 60%),
		linear-gradient(145deg, var(--pp-red) 0%, var(--pp-red-dark) 100%);
}
#shop_services_page .style_columns_6 > .layout_block:last-child section { width: 100%; }
#shop_services_page .style_columns_6 > .layout_block:last-child h3 {
	margin: 0 0 18px !important;
	color: #fff !important;
	font-size: clamp(28px, 2.6vw, 38px) !important;
	text-transform: uppercase;
	line-height: 1.1;
}
#shop_services_page .style_columns_6 > .layout_block:last-child h4 {
	margin: 0;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, .3);
	color: #fff !important;
	font-size: 18px !important;
	font-weight: 400;
}
#shop_services_page .style_columns_6 > .layout_block:last-child a.button {
	margin-top: 16px;
	width: auto !important;
	height: auto !important;
	padding: 16px 30px !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-family: var(--pp-cond) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	letter-spacing: .08em !important;
	background: #fff;
	color: var(--pp-red) !important;
	box-shadow: none;
}
#shop_services_page .style_columns_6 > .layout_block:last-child a.button:hover { background: var(--pp-gold); color: var(--pp-ink) !important; }
#shop_services_page .style_columns_6 > .layout_block:last-child p:empty { display: none; }
@media (max-width: 1024px) { #shop_services_page .style_columns_6 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 780px) {
	#shop_services_page .style_columns_6 { grid-template-columns: 1fr; gap: 16px; }
	#shop_services_page .style_columns_6 > .layout_block { min-height: 280px; }
	#shop_services_page .style_columns_6 > .layout_block:last-child { min-height: 0; }
}

/* ---------- Blog list (card grid) ---------- */
.pp-blog-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 26px;
	margin: 10px 0 30px;
}
.pp-post {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--pp-line);
	border-radius: var(--pp-radius);
	overflow: hidden;
	box-shadow: 0 4px 14px rgba(20, 16, 16, .05);
	transition: transform .35s var(--pp-ease), box-shadow .35s var(--pp-ease);
}
.pp-post:hover { transform: translateY(-6px); box-shadow: var(--pp-shadow-lg); }
.pp-post__img {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--pp-char);
}
.page .pp-post__img img,
.pp-post__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 0 !important;
	transition: transform .8s var(--pp-ease);
}
.pp-post:hover .pp-post__img img { transform: scale(1.06); }
.pp-post__img.is-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	background:
		radial-gradient(400px 220px at 80% 0%, rgba(215, 61, 64, .35), transparent 60%),
		var(--pp-ink);
}
.page .pp-post__img.is-empty img,
.pp-post__img.is-empty img { width: auto; height: 62%; object-fit: contain; opacity: .9; filter: drop-shadow(0 10px 20px rgba(0, 0, 0, .5)); }
.pp-post__date {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	min-width: 58px;
	text-align: center;
	font-family: var(--pp-cond);
	line-height: 1;
}
.pp-post__month { padding: 9px 10px 7px; background: var(--pp-red); color: #fff; font-size: 16px; letter-spacing: .06em; }
.pp-post__day { padding: 7px 10px 9px; background: var(--pp-ink); color: #fff; font-size: 18px; }
.pp-post__body { display: flex; flex-direction: column; flex: 1; padding: 20px 22px 24px; }
.pp-blog-grid a.pp-post__cat {
	align-self: flex-start;
	margin-bottom: 12px;
	padding: 5px 12px;
	border-radius: 999px;
	background: rgba(215, 61, 64, .08);
	color: var(--pp-red) !important;
	font-family: var(--pp-cond);
	font-size: 12px;
	line-height: 1.2;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-decoration: none !important;
}
.pp-blog-grid .pp-post__title {
	margin: 0 0 10px !important;
	padding: 0 !important;
	border: 0 !important;
	font-family: var(--pp-head) !important;
	font-size: 22px !important;
	line-height: 1.25 !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
.pp-blog-grid .pp-post__title a { font-family: inherit !important; font-weight: inherit !important; color: var(--pp-ink) !important; text-decoration: none !important; }
.pp-blog-grid .pp-post__title a:hover { color: var(--pp-red) !important; }
.pp-post__excerpt { margin: 0 0 20px !important; font-size: 15px; line-height: 1.6; color: var(--pp-muted) !important; }
.pp-blog-grid a.pp-post__more { align-self: flex-start; width: auto !important; margin: auto 0 0 !important; padding: 13px 26px !important; font-size: 14px !important; border-radius: 999px !important; }
.photo_gallery_pagination a,
.photo_gallery_pagination strong,
.blog_posts_pagination a,
.blog_posts_pagination strong {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	margin: 0 3px;
	border: 1px solid var(--pp-line) !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: var(--pp-ink) !important;
	font-family: var(--pp-cond);
	font-size: 15px;
}
.photo_gallery_pagination strong,
.blog_posts_pagination strong,
.photo_gallery_pagination a:hover,
.blog_posts_pagination a:hover { background: var(--pp-red) !important; border-color: var(--pp-red) !important; color: #fff !important; }
.blog_rss_link { display: none; }
.blog_posts_pagination:empty { display: none; }

/* Blog sidebar widgets */
#side-bar .widget_panel {
	margin-bottom: 26px;
	padding: 24px;
	background: #fff;
	border: 1px solid var(--pp-line);
	border-radius: var(--pp-radius);
	box-shadow: 0 4px 14px rgba(20, 16, 16, .04);
}
#side-bar .widget_panel h3 {
	margin: 0 0 16px !important;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--pp-red);
	font-size: 16px !important;
	letter-spacing: .08em;
	text-transform: uppercase;
}
#side-bar .widget_panel h3:after,
#side-bar .widget_panel h3:before { display: none !important; }
#side-bar .widget_panel ul { margin: 0; padding: 0; list-style: none; }
#side-bar .widget_panel li { border-bottom: 1px solid var(--pp-line); }
#side-bar .widget_panel li:last-child { border-bottom: 0; }
#side-bar .widget_panel li a { color: var(--pp-text); }
#side-bar .widget_panel li a:hover { color: var(--pp-red); }
#side-bar .widget-blog-recent img { border-radius: var(--pp-radius-sm) !important; object-fit: cover; }
#side-bar .widget-blog-tags:not(:has(a)) { display: none; }
#side-bar select { width: 100%; height: 46px; border: 1px solid #ddd6d4; border-radius: var(--pp-radius-sm); padding: 0 12px; }

@media (max-width: 780px) {
	.pp-blog-grid { grid-template-columns: 1fr; gap: 18px; }
}

/* ---------- Photo gallery pages ---------- */
.pp-gal-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 24px;
	margin: 10px 0 30px;
}
.pp-gal-card {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: var(--pp-radius);
	overflow: hidden;
	background: var(--pp-char);
	box-shadow: var(--pp-shadow);
	text-decoration: none !important;
	transition: transform .4s var(--pp-ease), box-shadow .4s var(--pp-ease);
}
.pp-gal-card:hover { transform: translateY(-6px); box-shadow: var(--pp-shadow-lg); }
.page .pp-gal-card img,
.pp-gal-card img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0 !important;
	transition: transform .8s var(--pp-ease);
}
.pp-gal-card:hover img { transform: scale(1.07); }
.pp-gal-card:after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(12, 9, 9, .9) 0%, rgba(12, 9, 9, .2) 55%, rgba(12, 9, 9, 0) 100%);
}
.pp-gal-card__body { position: absolute; left: 24px; right: 24px; bottom: 22px; z-index: 2; display: block; }
.pp-gal-card__body:before {
	content: '';
	display: block;
	width: 36px;
	height: 3px;
	margin-bottom: 12px;
	background: var(--pp-red);
	transition: width .35s var(--pp-ease);
}
.pp-gal-card:hover .pp-gal-card__body:before { width: 64px; }
.pp-gal-card__title {
	display: block;
	color: #fff;
	font-family: var(--pp-head);
	font-weight: 700;
	font-size: 24px;
	line-height: 1.1;
	text-transform: uppercase;
}
.pp-gal-card__meta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 8px;
	color: var(--pp-gold);
	font-family: var(--pp-cond);
	font-size: 14px;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.pp-gal-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 14px;
	margin: 10px 0 30px;
}
.pp-gal-pic {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	border-radius: var(--pp-radius-sm);
	overflow: hidden;
	background: var(--pp-bg-soft);
	box-shadow: 0 4px 14px rgba(20, 16, 16, .08);
}
.page .pp-gal-pic img,
.pp-gal-pic img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 0 !important;
	transition: transform .7s var(--pp-ease), filter .3s;
}
.pp-gal-pic:hover img { transform: scale(1.08); filter: brightness(.85); }
.pp-gal-pic__cap {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	padding: 30px 14px 12px;
	background: linear-gradient(0deg, rgba(12, 9, 9, .85), rgba(12, 9, 9, 0));
	color: #fff;
	font-family: var(--pp-cond);
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
	opacity: 0;
	transform: translateY(6px);
	transition: opacity .3s, transform .3s;
}
.pp-gal-pic:hover .pp-gal-pic__cap { opacity: 1; transform: none; }
@media (max-width: 780px) {
	.pp-gal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.pp-gal-cards { grid-template-columns: 1fr; gap: 16px; }
}

/* Sidebars (subpages + ecomm categories) */
#fi_side_bar_ecomm_categories,
#ficc_subpages,
#fi_side_bar_account_info {
	background: #fff;
	border: 1px solid var(--pp-line);
	border-radius: var(--pp-radius);
	box-shadow: var(--pp-shadow);
	padding: 26px 24px !important;
	overflow: hidden;
}
#fi_side_bar_ecomm_categories h3,
#ficc_subpages h3 {
	margin: -26px -24px 18px !important;
	padding: 18px 24px !important;
	background: var(--pp-char) !important;
	color: #fff !important;
	font-size: 18px !important;
	text-transform: uppercase;
	letter-spacing: .08em;
	border-bottom: 3px solid var(--pp-red);
}
#fi_side_bar_ecomm_categories li,
#ficc_subpages li { list-style: none; }
/* Shop layout: fixed-width sidebar + flexible content */
@media (min-width: 781px) {
	#fi_content_ecomm > .fixed_content { display: flex; align-items: flex-start; gap: 44px; }
	#fi_content_ecomm > .fixed_content:before,
	#fi_content_ecomm > .fixed_content:after { display: none !important; }
	#fi_side_bar_ecomm { order: -1; flex: 0 0 290px; width: auto !important; float: none !important; position: sticky; top: 110px; }
	#fi_content_bar { flex: 1 1 auto; min-width: 0; width: auto !important; float: none !important; padding: 0 !important; }
}
@media (min-width: 781px) and (max-width: 1024px) {
	#fi_side_bar_ecomm { flex-basis: 240px; }
	#fi_content_ecomm > .fixed_content { gap: 28px; }
}

/* Shop category list with product counts */
#fi_side_bar_ecomm_categories { padding: 0 !important; }
#fi_side_bar_ecomm_categories h3 { margin: 0 !important; }
.pp-cats-wrap { padding: 10px 0 14px; }
.pp-cats,
.pp-cats ul { list-style: none; margin: 0; padding: 0; }
#fi_side_bar_ecomm_categories .pp-cats li a {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 11px 22px !important;
	border: 0 !important;
	border-left: 3px solid transparent !important;
	font-family: var(--pp-head) !important;
	font-size: 15px !important;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--pp-text) !important;
	background: transparent !important;
	transition: background .2s, color .2s, border-color .2s;
}
#fi_side_bar_ecomm_categories .pp-cats li a:hover {
	background: var(--pp-bg-soft) !important;
	color: var(--pp-red) !important;
	padding-left: 22px !important;
}
#fi_side_bar_ecomm_categories .pp-cats li.selected > a {
	background: rgba(215, 61, 64, .07) !important;
	border-left-color: var(--pp-red) !important;
	color: var(--pp-red) !important;
	font-weight: 600;
	padding-left: 22px !important;
}
#fi_side_bar_ecomm_categories .pp-cats ul { padding: 0 0 6px; }
#fi_side_bar_ecomm_categories .pp-cats ul li a {
	padding: 7px 22px 7px 36px !important;
	font-size: 14px !important;
	color: var(--pp-muted) !important;
}
#fi_side_bar_ecomm_categories .pp-cats ul li a:hover,
#fi_side_bar_ecomm_categories .pp-cats ul li.selected > a { padding-left: 36px !important; }
#fi_side_bar_ecomm_categories .pp-cats li { border: 0 !important; margin: 0 !important; }
.pp-cat-count {
	flex: none;
	min-width: 26px;
	padding: 3px 8px;
	border-radius: 999px;
	background: var(--pp-bg-soft);
	border: 1px solid var(--pp-line);
	color: var(--pp-muted);
	font-family: var(--pp-cond);
	font-size: 12px;
	font-style: normal;
	letter-spacing: .04em;
	text-align: center;
	line-height: 1.3;
	transition: background .2s, color .2s, border-color .2s;
}
.pp-cats li a:hover .pp-cat-count,
.pp-cats li.selected > a .pp-cat-count { background: var(--pp-red); border-color: var(--pp-red); color: #fff; }

#fi_side_bar_ecomm_categories li a,
#ficc_subpages li a {
	display: block;
	padding: 9px 0;
	border-bottom: 1px solid var(--pp-line);
	color: var(--pp-text) !important;
	font-size: 15px;
	transition: color .2s, padding .2s;
}
#fi_side_bar_ecomm_categories li a:hover,
#fi_side_bar_ecomm_categories li.selected > a,
#ficc_subpages li a:hover,
#ficc_subpages li.selected > a { color: var(--pp-red) !important; padding-left: 6px; }
#fi_side_bar_ecomm_categories li ul { padding-left: 14px; }
#fi_side_bar_ecomm_categories li ul a { font-size: 14px; color: var(--pp-muted) !important; }

/* ---------- E-commerce ---------- */
.ecomm_category_sec {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 24px;
	width: auto !important;
	margin: 0 0 10px !important;
	padding: 8px 0 30px;
}
.ecomm_category_sec:before,
.ecomm_category_sec:after { display: none !important; }
.ecomm_category_sec > .ecomm_category,
.ecomm_category_sec > .ecomm_product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	background: #fff;
	border: 1px solid var(--pp-line);
	border-radius: var(--pp-radius);
	overflow: hidden;
	box-shadow: 0 4px 14px rgba(20, 16, 16, .05);
	transition: transform .35s var(--pp-ease), box-shadow .35s var(--pp-ease), border-color .35s;
	display: flex;
	flex-direction: column;
}
.ecomm_category_sec > .ecomm_category:hover,
.ecomm_category_sec > .ecomm_product:hover {
	transform: translateY(-6px);
	box-shadow: var(--pp-shadow-lg);
	border-color: transparent;
}
.ecomm_category_preview_img,
.ecomm_category_sec .ecomm_product_img {
	background: var(--pp-bg-soft);
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.ecomm_category_preview_img img,
.ecomm_category_sec .ecomm_product_img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 14px;
	box-sizing: border-box;
	transition: transform .6s var(--pp-ease);
}
.ecomm_category_sec > div:hover .ecomm_category_preview_img img,
.ecomm_category_sec > div:hover .ecomm_product_img img { transform: scale(1.06); }
.ecomm_category h2 { margin: 0 !important; padding: 18px; text-align: center; }
.ecomm_category h2 a.button {
	width: 100%;
	box-sizing: border-box;
	font-size: 14px;
	padding: 14px 16px;
	line-height: 1.25;
	white-space: normal;
}
.ecomm_category_sec .item-contents { display: flex; flex-direction: column; height: 100%; }
.ecomm_category_sec .item_contents_left,
.ecomm_category_sec .item_contents_right { float: none !important; width: auto !important; }
.ecomm_category_sec .item_contents_right { padding: 18px 20px 22px; display: flex; flex-direction: column; flex: 1; }
.ecomm_category_sec .item_contents_right h2 { font-size: 18px; margin: 0 0 8px; line-height: 1.3; }
.ecomm_category_sec .item_contents_right h2 a { color: var(--pp-ink); }
.ecomm_category_sec .item_contents_right h2 a:hover { color: var(--pp-red); }
.ecomm_category_sec .item_contents_right .body { font-size: 14px; color: var(--pp-muted); line-height: 1.6; }
.ecomm_category_sec .item_contents_right .category,
.ecomm_category_sec .block_social { display: none; }
.ecomm_category_sec .price {
	margin-top: auto;
	padding-top: 12px;
	font-family: var(--pp-cond);
	font-size: 20px;
	font-weight: 500;
	color: var(--pp-red);
	letter-spacing: .03em;
}
.ecomm .price_is,
.ecomm .sale-price { font-family: var(--pp-cond); }

/* Single product page */
#fi_main_content .page:has(+ .ecomm > .ecomm_product.selected) { display: none; }
.ecomm > .ecomm_product.selected .item-contents {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 48px;
	align-items: start;
}
.ecomm > .ecomm_product.selected .item_contents_left,
.ecomm > .ecomm_product.selected .item_contents_right { float: none !important; width: auto !important; padding: 0 !important; }
.ecomm > .ecomm_product.selected .item-contents > .clear,
.ecomm > .ecomm_product.selected .block_social { display: none !important; }
.ecomm > .ecomm_product.selected .ecomm_product_img {
	position: sticky;
	top: 120px;
	background: var(--pp-bg-soft);
	border: 1px solid var(--pp-line);
	border-radius: var(--pp-radius);
	padding: 24px;
	overflow: hidden;
}
.ecomm > .ecomm_product.selected .ecomm_product_img img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--pp-radius-sm);
	transition: transform .6s var(--pp-ease);
}
.ecomm > .ecomm_product.selected .ecomm_product_img:hover img { transform: scale(1.03); }
.ecomm > .ecomm_product.selected .item_contents_right h2 {
	margin: 0 0 8px !important;
	font-size: clamp(28px, 2.6vw, 38px) !important;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.1;
	color: var(--pp-ink) !important;
}
.ecomm > .ecomm_product.selected .ratings { margin-bottom: 18px; font-size: 14px; }
.ecomm > .ecomm_product.selected .body p { color: var(--pp-muted); font-size: 17px; line-height: 1.65; }
.ecomm > .ecomm_product.selected .price {
	margin: 18px 0 26px;
	padding-bottom: 26px;
	border-bottom: 1px solid var(--pp-line);
}
.ecomm > .ecomm_product.selected .price_is {
	font-size: 34px !important;
	font-weight: 500;
	color: var(--pp-red) !important;
	letter-spacing: .02em;
}
.ecomm > .ecomm_product.selected .add_to_cart .form { display: flex; flex-wrap: wrap; gap: 18px 16px; }
.ecomm > .ecomm_product.selected .add_to_cart .field { flex: 1 1 220px; margin: 0 !important; width: auto !important; float: none !important; }
.ecomm > .ecomm_product.selected .add_to_cart .ecomm_quantity_field { flex: 0 0 auto; }
.ecomm > .ecomm_product.selected .add_to_cart .field_title {
	display: block;
	margin-bottom: 8px;
	font-family: var(--pp-cond);
	font-size: 13px !important;
	font-weight: 500 !important;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--pp-muted);
}
.ecomm > .ecomm_product.selected .add_to_cart select { height: 52px; padding: 0 16px !important; }
/* Quantity stepper as one joined control */
.ecomm_quantity_field .nw {
	display: inline-flex;
	align-items: stretch;
	height: 52px;
	border: 1px solid #ddd6d4;
	border-radius: var(--pp-radius-sm);
	overflow: hidden;
	background: #fff;
}
.ecomm_quantity_field .nw a.button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 46px !important;
	min-width: 0 !important;
	height: auto !important;
	line-height: 1 !important;
	padding: 0 0 2px !important;
	margin: 0 !important;
	border: 0 !important;
	outline: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--pp-ink) !important;
	box-shadow: none !important;
	font-family: var(--pp-head);
	font-size: 20px !important;
	transform: none !important;
}
.ecomm_quantity_field .nw a.button:hover { background: var(--pp-bg-soft) !important; color: var(--pp-red) !important; }
.ecomm .ecomm_quantity_field .nw input[type="text"] {
	width: 54px !important;
	height: 100%;
	padding: 0 !important;
	border: 0 !important;
	border-left: 1px solid var(--pp-line) !important;
	border-right: 1px solid var(--pp-line) !important;
	border-radius: 0 !important;
	text-align: center;
	font-size: 17px;
	box-shadow: none !important;
}
.ecomm > .ecomm_product.selected .add_to_cart p.buttons { flex: 1 1 100%; margin: 8px 0 0 !important; }
.ecomm > .ecomm_product.selected .add_to_cart p.buttons input.button {
	width: 100%;
	height: 58px;
	font-size: 16px !important;
	border-radius: 999px !important;
}
/* Back link: quiet text link instead of a big red button */
.ecomm-backbtn { float: none !important; margin: 34px 0 0 !important; padding-top: 22px; border-top: 1px solid var(--pp-line); text-align: left; }
.ecomm-backbtn a.button {
	float: none !important;
	padding: 0 !important;
	border: 0 !important;
	outline: 0 !important;
	border-radius: 0 !important;
	min-width: 0 !important;
	height: auto !important;
	letter-spacing: .1em !important;
	background: none !important;
	box-shadow: none !important;
	color: var(--pp-muted) !important;
	font-size: 14px !important;
	transform: none !important;
}
.ecomm-backbtn a.button:hover { color: var(--pp-red) !important; background: none !important; }
.ecomm_product_ratings { margin-top: 50px; }
.ecomm_product_ratings > h2 { font-size: 28px !important; text-transform: uppercase; margin-bottom: 12px !important; }
@media (max-width: 780px) {
	.ecomm > .ecomm_product.selected .item-contents { grid-template-columns: 1fr; gap: 26px; }
	.ecomm > .ecomm_product.selected .ecomm_product_img { position: static; padding: 14px; }
	.ecomm > .ecomm_product.selected .price_is { font-size: 28px !important; }
}
.ecomm_pagination a { border-radius: 999px; }

/* ---------- Forms ---------- */
.forms input[type="text"],
.forms input[type="email"],
.forms input[type="tel"],
.forms input[type="password"],
.forms input[type="number"],
.forms select,
.forms textarea,
.ecomm input[type="text"],
.ecomm select,
.ecomm textarea {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #ddd6d4 !important;
	border-radius: var(--pp-radius-sm) !important;
	background: #fff !important;
	padding: 14px 16px !important;
	font-family: var(--pp-head);
	font-size: 16px;
	color: var(--pp-text);
	box-shadow: none !important;
	transition: border-color .2s, box-shadow .2s;
}
.forms input:focus,
.forms select:focus,
.forms textarea:focus,
.ecomm input:focus,
.ecomm select:focus,
.ecomm textarea:focus {
	outline: none;
	border-color: var(--pp-gold) !important;
	box-shadow: 0 0 0 4px rgba(241, 194, 47, .25) !important;
}
#fi_footer_newsletter .forms input:focus { box-shadow: 0 0 0 4px rgba(255, 255, 255, .25) !important; }

/* Contact page */
#fi_contact #fi_contact_forms,
#fi_contact #fi_contact_address {
	background: #fff;
	border: 1px solid var(--pp-line);
	border-radius: var(--pp-radius);
	box-shadow: var(--pp-shadow);
	padding: 36px 34px;
}
#fi_contact h3 { text-transform: uppercase; font-size: 26px; margin-top: 0; }
#ficc_contact_map iframe { display: block; filter: grayscale(.35) contrast(1.05); }

/* ---------- Mobile bar ---------- */
#fi_responsive_bar {
	background: rgba(28, 22, 20, .96) !important;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 2px solid var(--pp-red);
}
#fi_responsive_bar_popup { background: var(--pp-char-2) !important; }
#fi_responsive_bar_navigation a { font-family: var(--pp-cond); letter-spacing: .08em; }
#fi_responsive_bar_navigation a:hover { color: var(--pp-gold) !important; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	#our_top_services #columns_6 > .layout_block:not(#column6) { min-height: 320px; }
	#our_top_services #column6 { min-height: 320px; }
}
@media (max-width: 780px) {
	body { font-size: 16px; }
	#ficc_slider .content_slider_slide .featured_img img { height: min(72vh, 600px); min-height: 420px; object-fit: cover; width: 100%; }
	#ficc_slider .featured_img_overlay {
		background: linear-gradient(0deg, rgba(12, 9, 9, .85) 0%, rgba(12, 9, 9, .35) 60%, rgba(12, 9, 9, .2) 100%) !important;
	}
	#ficc_slider .featured_img_overlay section { max-width: 100%; padding-right: 20px; box-sizing: border-box; }
	#ficc_slider .featured_img_overlay h1 { font-size: 28px; margin-bottom: 18px; }
	#ficc_slider .featured_img_overlay h4 { font-size: 22px; margin-bottom: 18px; }
	#ficc_slider .featured_img_overlay aside { padding-left: 19px; gap: 14px; font-size: 13px; }
	#ficc_slider aside a.button { padding: 13px 26px !important; font-size: 13px !important; }
	#ficc_slider .featured_img_overlay h1:before,
	#ficc_slider .featured_img_overlay h4:before { font-size: 11px; margin-bottom: 10px; }
	#ficc_content_inner .page,
	#fi_content_ecomm .page { padding-left: 18px; padding-right: 18px; }
	#fi_best_selling_product,
	#our_top_services,
	#about_us,
	#fi_recent_projects { padding: 70px 0 !important; }
	#connect_pray_performance { padding: 70px 0 20px; }
	#our_top_services #columns_6 > .layout_block { margin-bottom: 20px; }
	#our_top_services #columns_6 > .layout_block:not(#column6) { min-height: 280px; }
	#our_top_services #column6 { min-height: 0; }
	#about_us #about_image img { outline: 0; margin-bottom: 30px; }
	#about_us .style_columns_2 { flex-direction: column; gap: 0; }
	#ficc_content_inner,
	#fi_content_ecomm { padding: 44px 0 70px; }
	.ecomm_category_sec { grid-template-columns: repeat(2, 1fr); gap: 16px; }
	#fi_contact #fi_contact_forms,
	#fi_contact #fi_contact_address { padding: 26px 20px; margin-bottom: 20px; }
}
@media (max-width: 480px) {
	.ecomm_category_sec { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	*, *:before, *:after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
