/**
 * SRS global shell: compact responsive navigation, footer and focus behavior.
 */

:root {
	--srs-touch-min: 2.75rem;
	--srs-focus-color: #7a1f46;
	--srs-focus-offset: 3px;
	--srs-header-z: 100;
	--srs-mobile-actions-height: 4rem;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 6rem;
}

body {
	overflow-x: clip;
}

:where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex='-1'])):focus-visible {
	outline: 3px solid var(--srs-focus-color);
	outline-offset: var(--srs-focus-offset);
}

.srs-site-header,
.srs-site-header :where(.wp-block-group, .wp-block-navigation, .wp-block-image, .wp-block-buttons, p) {
	margin-block: 0;
}

header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: var(--srs-header-z);
}

.admin-bar header.wp-block-template-part {
	top: 32px;
}

.srs-site-header {
	position: relative;
	z-index: var(--srs-header-z);
}

.srs-utility-bar {
	--srs-utility-height: 2.15rem;
	min-height: var(--srs-utility-height);
	padding: 0 !important;
}

.srs-utility-bar__inner {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	width: min(100% - 2rem, 80rem);
	min-height: var(--srs-utility-height);
	margin-inline: auto;
	gap: clamp(0.6rem, 1.4vw, 1.25rem);
	font-family: Manrope, sans-serif;
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.02em;
}

.srs-utility-bar__inner > :is(span, a) {
	display: inline-flex;
	align-items: center;
	height: var(--srs-utility-height);
	margin: 0;
	padding-inline: 0.25rem;
	color: inherit;
	font: inherit;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	vertical-align: middle;
}

.srs-utility-bar__inner > a:hover {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.srs-header-main {
	position: relative;
	z-index: var(--srs-header-z);
	border-bottom: 1px solid rgba(38, 21, 30, 0.1);
	background: rgba(255, 248, 243, 0.96);
	box-shadow: 0 0.35rem 1.4rem rgba(38, 21, 30, 0.07);
	backdrop-filter: blur(14px);
}

.admin-bar .srs-header-main {
	top: auto;
}

html.has-modal-open .srs-header-main {
	backdrop-filter: none;
}

html.has-modal-open .wp-block-navigation__responsive-container.is-menu-open {
	position: fixed;
	inset: 0;
	box-sizing: border-box;
	width: auto;
	height: auto;
	max-height: none;
}

html.has-modal-open .srs-mobile-actions {
	display: none !important;
}

.srs-header-main__inner {
	width: min(100%, 82rem);
	margin-inline: auto;
	padding: 0.45rem clamp(1rem, 3vw, 2rem);
}

.srs-header-main__row {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: clamp(0.75rem, 2vw, 1.75rem);
	min-height: 4rem;
}

.srs-site-brand {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 0.65rem;
}

.srs-site-brand__logo {
	flex: 0 0 auto;
	width: 3.35rem;
	height: 3.35rem;
}

.srs-site-brand__logo img {
	display: block;
	width: 3.35rem;
	height: 3.35rem;
	border-radius: 50%;
	object-fit: cover;
}

.srs-brand-copy {
	line-height: 1;
}

.srs-site-brand__name {
	font-family: "Bodoni Moda", Georgia, serif;
	font-size: 1.55rem;
	line-height: 0.95;
}

.srs-site-brand__name a {
	color: #5b1633;
	text-decoration: none;
}

.srs-site-brand__tagline {
	margin-top: 0.25rem !important;
	color: rgba(38, 21, 30, 0.72);
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.055em;
	text-transform: uppercase;
	white-space: nowrap;
}

.srs-primary-nav {
	display: flex;
	flex: 1 1 auto;
	justify-content: flex-end;
	min-width: 0;
}

.srs-primary-nav .wp-block-navigation__container {
	gap: 0.1rem;
}

.srs-primary-nav .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	min-height: var(--srs-touch-min);
	padding: 0.3rem clamp(0.45rem, 1vw, 0.7rem);
	color: #26151e;
	font-size: clamp(0.76rem, 1vw, 0.88rem);
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.srs-primary-nav .wp-block-navigation-item__content:hover {
	color: #7a1f46;
}

.srs-header-cta {
	flex: 0 0 auto;
}

.srs-header-cta .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--srs-touch-min);
	padding: 0.7rem 1rem;
	border-radius: 999px;
	white-space: nowrap;
}

.srs-primary-nav .wp-block-navigation__responsive-container-open,
.srs-primary-nav .wp-block-navigation__responsive-container-close {
	align-items: center;
	justify-content: center;
	min-width: var(--srs-touch-min);
	min-height: var(--srs-touch-min);
}

.srs-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.5rem;
	background: #fff8f3;
}

.srs-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 0.45rem;
}

.srs-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	width: 100%;
	padding: 0.7rem 0;
	border-bottom: 1px solid rgba(38, 21, 30, 0.1);
	font-family: "Bodoni Moda", Georgia, serif;
	font-size: 1.65rem;
	font-weight: 500;
}

.srs-mobile-actions {
	display: none;
}

.srs-site-main {
	min-height: 40vh;
}

.srs-site-main:not(.srs-site-main--home, .srs-site-main--about, .srs-site-main--contact, .srs-site-main--faq, .srs-site-main--workflow, .srs-site-main--catalogue, .srs-site-main--product, .srs-site-main--policy, .srs-site-main--evidence, .srs-site-main--services, .srs-site-main--bridal, .srs-site-main--pricing, .srs-site-main--service-record, .srs-site-main--package-record) {
	padding-block: clamp(3.5rem, 7vw, 6rem);
}

.srs-site-main > .wp-block-group:not(.srs-page-section, .srs-home-hero, .srs-proof-band) {
	max-width: var(--wp--style--global--content-size, 720px);
	margin-inline: auto;
}

.srs-site-footer,
.srs-site-footer :where(.wp-block-group, .wp-block-navigation, p) {
	margin-block-start: 0;
}

.srs-site-footer {
	margin-top: 0;
	background: #26151e;
	color: #fff8f3;
}

.srs-site-footer a,
.srs-site-footer .wp-block-navigation-item__content {
	color: inherit;
}

.srs-site-footer a:hover {
	color: #e4c98f;
}

.srs-site-footer__inner {
	width: min(100%, 82rem);
	margin-inline: auto;
	padding: clamp(3rem, 7vw, 5rem) clamp(1rem, 4vw, 2rem) 2rem;
}

.srs-site-footer__grid {
	display: grid;
	gap: 2rem;
}

.srs-site-footer h2,
.srs-site-footer h3 {
	margin: 0 0 0.85rem;
	color: #e4c98f;
	font-family: Manrope, sans-serif;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.srs-site-footer p {
	max-width: 34rem;
	font-size: 0.88rem;
}

.srs-site-footer__nav .wp-block-navigation-item__content,
.srs-site-footer__legal .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	min-height: 2.25rem;
	font-size: 0.88rem;
}

.srs-site-footer__meta {
	margin-top: 2.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(255, 248, 243, 0.18);
	opacity: 0.78;
}

@media (min-width: 600px) {
	.srs-site-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 960px) {
	.srs-site-footer__grid {
		grid-template-columns: 2fr 0.85fr 0.9fr 1.15fr;
	}
}

@media (max-width: 1100px) {
	.srs-header-cta {
		display: none !important;
	}
}

@media (max-width: 720px) and (min-width: 600px) {
	.srs-utility-bar__inner {
		gap: 0.55rem;
		font-size: 0.7rem;
	}

	.srs-site-brand__tagline {
		display: none;
	}

	.srs-primary-nav .wp-block-navigation-item__content {
		padding-inline: 0.32rem;
		font-size: 0.72rem;
	}
}

@media (max-width: 599px) {
	body {
		padding-bottom: calc(var(--srs-mobile-actions-height) + env(safe-area-inset-bottom));
	}

	.admin-bar .srs-header-main {
		top: auto;
	}

	.admin-bar header.wp-block-template-part {
		top: 46px;
	}

	.srs-utility-bar {
		--srs-utility-height: 1.85rem;
	}

	.srs-utility-location,
	.srs-utility-action {
		display: none !important;
	}

	.srs-header-main__inner {
		padding-block: 0.3rem;
	}

	.srs-header-main__row {
		min-height: 3.6rem;
	}

	.srs-site-brand__logo,
	.srs-site-brand__logo img {
		width: 2.85rem;
		height: 2.85rem;
	}

	.srs-site-brand__name {
		font-size: 1.35rem;
	}

	.srs-site-brand__tagline {
		display: none;
	}

	.srs-primary-nav {
		margin-left: auto;
	}

	.srs-mobile-actions {
		position: fixed;
		z-index: calc(var(--srs-header-z) + 20);
		right: 0;
		bottom: 0;
		left: 0;
		display: grid;
		grid-template-columns: 1fr 1fr 1.15fr;
		min-height: var(--srs-mobile-actions-height);
		padding-bottom: env(safe-area-inset-bottom);
		border-top: 1px solid rgba(38, 21, 30, 0.14);
		background: #fff8f3;
		box-shadow: 0 -0.5rem 1.5rem rgba(38, 21, 30, 0.1);
	}

	.srs-mobile-actions a {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0.35rem;
		min-height: var(--srs-mobile-actions-height);
		border-right: 1px solid rgba(38, 21, 30, 0.1);
		color: #5b1633;
		font-size: 0.78rem;
		font-weight: 800;
		text-decoration: none;
	}

	.srs-mobile-actions__primary {
		background: #7a1f46;
		color: #fff !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
