/*
Theme Name:     Neve FSE
Theme URI:      https://themeisle.com/themes/neve-fse/
Author:         ThemeIsle
Author URI:     https://themeisle.com
Tested up to:   6.1
Requires PHP:   7.0
Requires at least: 5.5
Description:    Neve FSE is an experimental sister theme of Neve, for the ones that are ready to go full speed on full site editing, without backwards compatibility code.Neve FSE is a modern, minimalistic theme that is fully compatible with full-site-editing, it offers a range of patterns that make it perfect for simple design is suitable for a wide range of purposes, including blogs, small businesses, startups, agencies, firms, e-commerce shops, personal portfolio sites, and more. It also comes with several style variations to suit your unique aesthetic.
Version:        1.1.7
License:        GNU General Public License v2 or later
License URI:    http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:    neve-fse
WordPress Available:  yes
Requires License:     no
Tags: one-column, custom-colors, custom-menu, custom-logo, e-commerce, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments
*/

:root {
	--pd-ink: #101923;
	--pd-muted: #526170;
	--pd-panel: rgba(255, 255, 255, 0.78);
	--pd-panel-strong: rgba(255, 255, 255, 0.9);
	--pd-border: rgba(92, 135, 166, 0.26);
	--pd-blue: #154d76;
	--pd-teal: #05736d;
	--pd-red: #e65068;
	--pd-shadow: 0 24px 70px rgba(24, 66, 96, 0.14);
	--pd-edge: clamp(30px, 2.55vw, 34px);
	--pd-card-gap: 12px;
}

html {
	scroll-behavior: smooth;
}

body {
	padding-top: 82px;
	background: #ffffff;
	color: var(--pd-ink);
	font-family: Inter, Arial, sans-serif;
	letter-spacing: 0;
	overflow-x: hidden;
}

body.home,
body.pd-animation-page {
	background: #eaf6fd;
}

.pd-membrane-canvas {
	filter: saturate(1.18) contrast(1.05);
	opacity: 1;
	z-index: 0 !important;
}

.wp-site-blocks {
	background: #ffffff;
	display: block !important;
	min-height: 100vh;
	position: relative;
	z-index: 1;
}

body.home .wp-site-blocks,
body.pd-animation-page .wp-site-blocks {
	background: transparent;
}

a {
	color: var(--pd-blue);
	text-underline-offset: 0.2em;
}

a:hover {
	color: var(--pd-teal);
}

header.wp-block-template-part {
	background: rgba(255, 255, 255, 0.86);
	border-bottom: 1px solid var(--pd-border);
	backdrop-filter: blur(22px) saturate(1.15);
	box-shadow: 0 8px 32px rgba(24, 66, 96, 0.07);
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 80;
}

header.wp-block-template-part .wp-block-group.alignwide {
	box-sizing: border-box;
	max-width: none;
	padding-left: var(--pd-edge) !important;
	padding-right: var(--pd-edge) !important;
	width: 100%;
}

header.wp-block-template-part .wp-block-group.alignwide .wp-block-group.alignwide {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.wp-block-site-logo img {
	border-radius: 12px;
	box-shadow: 0 8px 28px rgba(21, 77, 118, 0.1);
}

.wp-block-site-title,
.wp-block-site-title a {
	color: var(--pd-ink);
	font-size: 18px;
	font-weight: 760;
	text-decoration: none;
}

.wp-block-navigation a {
	color: var(--pd-ink);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.wp-block-navigation a:hover {
	color: var(--pd-teal);
}

main.wp-block-group,
main.wp-block-group > .wp-block-group.alignfull,
.entry-content.alignwide.wp-block-post-content {
	box-sizing: border-box;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 100% !important;
	overflow-x: clip;
	overflow-y: visible !important;
	width: 100% !important;
}

main.wp-block-group > .wp-block-group.alignfull {
	padding-bottom: 0 !important;
	padding-top: 0 !important;
}

body.home main.wp-block-group,
body.pd-animation-page main.wp-block-group,
body.home main.wp-block-group > .wp-block-group.alignfull,
body.pd-animation-page main.wp-block-group > .wp-block-group.alignfull,
body.home .entry-content.alignwide.wp-block-post-content,
body.pd-animation-page .entry-content.alignwide.wp-block-post-content {
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	max-width: none !important;
	overflow-x: visible;
	width: 100vw !important;
}

.pd-home {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(320px, 440px) minmax(320px, 1fr);
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	min-height: 420vh;
	padding: calc(var(--pd-card-gap) - 1px) var(--pd-edge) 34px;
	position: relative;
	width: 100%;
}

.pd-stage {
	align-self: start;
	max-width: 440px;
	position: relative;
	z-index: 2;
}

.pd-title {
	background: rgba(255, 255, 255, 0.50);
	border: 1px solid var(--pd-border);
	border-radius: 8px;
	box-shadow: var(--pd-shadow);
	backdrop-filter: blur(18px);
	padding: 26px;
}

.pd-title h1 {
	color: var(--pd-ink);
	font-family: Inter, Arial, sans-serif;
	font-size: 43px;
	font-weight: 790;
	line-height: 1.05;
	margin: 0;
}

.pd-panel-stack {
	display: grid;
	gap: var(--pd-card-gap);
	margin-top: var(--pd-card-gap);
}

.pd-panel {
	background: rgba(255, 255, 255, 0.62);
	border: 1px solid var(--pd-border);
	border-radius: 8px;
	box-shadow: 0 14px 44px rgba(24, 66, 96, 0.11);
	backdrop-filter: blur(18px);
	padding: 18px;
}

.pd-panel h2 {
	color: var(--pd-ink);
	font-size: 16px;
	font-weight: 790;
	line-height: 1.2;
	margin: 0 0 12px;
}

.pd-list {
	display: grid;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pd-list ul {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	list-style: none;
	margin: 8px 0 0;
	padding: 0;
}

.pd-list li {
	color: var(--pd-muted);
	font-size: 14px;
	line-height: 1.35;
	margin: 0;
}

.pd-line {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.pd-list > li > a,
.pd-list > li > span {
	align-items: center;
	background: var(--pd-panel-strong);
	border: 1px solid rgba(92, 135, 166, 0.2);
	border-radius: 6px;
	color: var(--pd-ink);
	display: inline-flex;
	font-weight: 720;
	min-height: 34px;
	padding: 0 11px;
	text-decoration: none;
}

.pd-line .pd-paren {
	color: var(--pd-muted);
	display: inline-flex;
	gap: 2px;
}

.pd-list ul a {
	align-items: center;
	background: rgba(255, 255, 255, 0.64);
	border: 1px solid rgba(92, 135, 166, 0.18);
	border-radius: 999px;
	color: var(--pd-blue);
	display: inline-flex;
	font-size: 13px;
	font-weight: 720;
	min-height: 28px;
	padding: 0 10px;
	text-decoration: none;
}

.pd-line .pd-paren a {
	background: transparent;
	border: 0;
	color: var(--pd-blue);
	display: inline;
	font-size: 14px;
	font-weight: 720;
	min-height: 0;
	padding: 0;
	text-decoration: underline;
}

.pd-list a:hover {
	border-color: rgba(5, 115, 109, 0.4);
	color: var(--pd-teal);
	transform: translateY(-1px);
}

.pd-animation-space {
	min-height: 100vh;
	pointer-events: none;
}

.pd-cv-page {
	box-sizing: border-box;
	margin: 0 auto;
	max-width: none;
	padding: 42px 0 72px;
	width: calc(100vw - (var(--pd-edge) * 2));
}

body.page-id-105 main.wp-block-group,
body.page-id-105 main.wp-block-group > .wp-block-group.alignfull,
body.page-id-105 .entry-content.alignwide.wp-block-post-content {
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	max-width: none !important;
	overflow-x: visible;
	width: 100vw !important;
}

body.page-id-105 main.wp-block-group > .wp-block-group {
	padding-top: 0 !important;
}

.pd-cv-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
	margin: 16px 0 0;
}

.pd-cv-actions a {
	background: #ffffff;
	border: 1px solid var(--pd-border);
	border-radius: 6px;
	color: var(--pd-ink);
	font-size: 14px;
	font-weight: 720;
	min-height: 38px;
	padding: 9px 13px;
	text-decoration: none;
}

.pd-cv-pages {
	background: #ffffff;
	border: 1px solid var(--pd-border);
	border-radius: 8px;
	box-shadow: 0 14px 44px rgba(24, 66, 96, 0.08);
	height: calc(100vh - 194px);
	max-height: 900px;
	min-height: 520px;
	overflow-x: hidden;
	overflow-y: auto;
	padding: clamp(12px, 1.5vw, 20px);
	scroll-snap-type: y proximity;
}

.pd-cv-pages img {
	background: #ffffff;
	border: 1px solid rgba(36, 78, 105, 0.12);
	box-shadow: 0 8px 28px rgba(24, 66, 96, 0.08);
	display: block;
	margin: 0 auto 18px;
	max-width: min(100%, 1180px);
	scroll-snap-align: start;
	width: 100%;
}

.pd-cv-pages img:last-child {
	margin-bottom: 0;
}

.pd-contact-page {
	box-sizing: border-box;
	margin: 0 auto;
	max-width: 920px;
	padding: 58px 24px 78px;
}

.pd-contact-card {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(241, 249, 253, 0.96));
	border: 1px solid var(--pd-border);
	border-radius: 8px;
	box-shadow: 0 18px 54px rgba(24, 66, 96, 0.1);
	padding: 30px;
}

.pd-contact-head {
	align-items: center;
	border-bottom: 1px solid var(--pd-border);
	display: flex;
	gap: 14px;
	margin-bottom: 22px;
	padding-bottom: 20px;
}

.pd-contact-head img {
	border-radius: 12px;
	height: 48px;
	width: 48px;
}

.pd-contact-head h1 {
	font-size: 32px;
	line-height: 1.1;
	margin: 0;
}

.pd-contact-list {
	display: grid;
	gap: 12px;
}

.pd-contact-row {
	align-items: center;
	background: #ffffff;
	border: 1px solid rgba(92, 135, 166, 0.22);
	border-radius: 8px;
	display: grid;
	gap: 6px;
	grid-template-columns: 210px minmax(0, 1fr);
	padding: 16px 18px;
	text-decoration: none;
}

.pd-contact-label {
	color: var(--pd-muted);
	font-size: 13px;
	font-weight: 760;
}

.pd-contact-address {
	color: var(--pd-blue);
	font-size: 16px;
	font-weight: 740;
	overflow-wrap: anywhere;
}

.pd-contact-row:hover {
	border-color: rgba(5, 115, 109, 0.45);
	box-shadow: 0 12px 34px rgba(24, 66, 96, 0.08);
	transform: translateY(-1px);
}

@media (max-width: 860px) {
	header.wp-block-template-part {
		left: 0;
		right: 0;
	}

	main.wp-block-group > .wp-block-group.alignfull,
	.entry-content.alignwide.wp-block-post-content {
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	header.wp-block-template-part .wp-block-group.alignwide {
		padding-left: 18px !important;
		padding-right: 18px !important;
	}

	.pd-home {
		grid-template-columns: 1fr;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
		max-width: none !important;
		min-height: 260vh;
		padding: var(--pd-card-gap) 18px 42px;
		width: 100vw;
	}

	.pd-stage {
		box-sizing: border-box;
		max-width: none;
		position: static;
		width: 100%;
	}

	.pd-title,
	.pd-panel {
		box-sizing: border-box;
		max-width: 100%;
	}

	.pd-animation-space {
		min-height: 260px;
	}

	.pd-contact-row {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 520px) {
	.wp-block-site-logo img {
		border-radius: 10px;
		height: 34px !important;
		width: 34px !important;
	}

	.wp-block-site-title,
	.wp-block-site-title a {
		font-size: 16px;
	}

	.wp-block-navigation a {
		font-size: 13px;
	}

	.pd-title {
		padding: 22px;
	}

	.pd-title h1 {
		font-size: 34px;
	}

	.pd-contact-card {
		padding: 22px;
	}

	.pd-contact-head h1 {
		font-size: 28px;
	}
}
