/* Nadia MD block theme
   Tokens (colors, fonts, sizes, gutter, radius) come from theme.json:
   --wp--preset--color--*, --wp--preset--font-family--*, --wp--custom--* */

:root {
	--nmd-gutter: var(--wp--custom--gutter, clamp(12px, 1.6vw, 28px));
	--nmd-radius: var(--wp--custom--radius, 20px);
	--nmd-radius-inner: var(--wp--custom--radius-inner, 16px);
	--nmd-pad-x: var(--wp--custom--tile-pad-x, clamp(20px, 5vw, 80px));
	--nmd-pad-y: var(--wp--custom--tile-pad-y, clamp(40px, 6vw, 96px));
	--nmd-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	--nmd-shadow: 0 10px 30px -18px rgba(0, 0, 0, 0.35);
	--nmd-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 12' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath d='M0 6h26M21 1l5 5-5 5'/%3E%3C/svg%3E");
}

/* ---------- Page frame: floating tiles on gold-light ---------- */

.wp-site-blocks {
	padding: var(--nmd-gutter);
}

.wp-site-blocks > * + * {
	margin-block-start: var(--nmd-gutter);
}

body {
	overflow-x: hidden;
}

/* Page content is a column of tiles */
.tiles,
.wp-block-post-content.tiles {
	display: flex;
	flex-direction: column;
	gap: var(--nmd-gutter);
}

.tiles > * {
	margin-block: 0 !important;
}

/* ---------- Tile block style (Group + Cover) ---------- */

.is-style-tile {
	position: relative;
	overflow: hidden;
	border-radius: var(--nmd-radius);
}

.wp-block-group.is-style-tile {
	padding: var(--nmd-pad-y) var(--nmd-pad-x);
	background-color: var(--wp--preset--color--white);
}

.wp-block-cover.is-style-tile {
	padding: clamp(32px, 5vw, 72px) var(--nmd-pad-x);
}

/* Cover content hugs the bottom-left, capped to the content width */
.wp-block-cover.is-style-tile .wp-block-cover__inner-container {
	width: 100%;
	max-width: var(--wp--style--global--content-size, 1320px);
	margin-inline: auto;
}

.wp-block-cover.is-style-tile .wp-block-cover__inner-container > * {
	max-width: 40ch;
	margin-left: 0 !important;
}

.wp-block-cover.is-style-tile h1 {
	max-width: none;
}

/* Colored tiles: text, headings and accents turn white */
.is-style-tile.has-background :where(h1, h2, h3, h4),
.is-style-tile.has-background .is-style-eyebrow {
	color: inherit;
}

.is-style-tile.has-background .is-style-accent,
.is-style-tile.has-background .is-style-accent-quote::before {
	background-color: currentColor;
	color: inherit;
}

/* Images inside tiles get the inner radius */
.is-style-tile .wp-block-image img,
.is-style-tile .wp-block-image {
	border-radius: var(--nmd-radius-inner);
	overflow: hidden;
}

.is-style-tile > .wp-block-columns {
	gap: clamp(28px, 5vw, 96px);
	margin-block: 0;
}

/* ---------- Card (Group) ---------- */

.wp-block-group.is-style-card {
	padding: clamp(18px, 2.4vw, 32px) clamp(10px, 1.5vw, 24px);
	border-radius: var(--nmd-radius-inner);
	background-color: var(--wp--preset--color--primary-gold-light);
	text-align: center;
}

.wp-block-group.is-style-card > * {
	margin-block: 0;
}

.wp-block-group.is-style-card > * + * {
	margin-block-start: 0.5rem;
}

.wp-block-columns.stats {
	gap: 8px;
	margin-block-start: var(--nmd-gutter);
}

.wp-block-columns.stats .is-style-card {
	height: 100%;
}

.wp-block-columns.stats .has-small-font-size {
	line-height: 1.3;
}

/* ---------- Text styles ---------- */

.is-style-eyebrow {
	font-family: var(--wp--preset--font-family--cinzel);
	font-size: clamp(0.8rem, 0.75rem + 0.2vw, 0.95rem);
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-gold);
}

.is-style-accent-quote {
	font-size: clamp(1.6rem, 1rem + 2vw, 2.9rem);
	font-weight: 300;
	line-height: 1.25;
	color: var(--wp--preset--color--primary-green);
}

.is-style-accent-quote::before {
	content: "";
	display: block;
	width: 64px;
	height: 2px;
	margin-bottom: 1.5rem;
	background-color: var(--wp--preset--color--primary-gold);
}

.is-style-stat {
	font-family: var(--wp--preset--font-family--cinzel);
	font-size: clamp(1.8rem, 1.2rem + 1.6vw, 2.8rem);
	line-height: 1;
	color: var(--wp--preset--color--primary-green);
}

.wp-block-separator.is-style-accent {
	width: 64px;
	max-width: 64px;
	height: 2px;
	margin: 1.5rem 0 !important;
	border: 0;
	background-color: var(--wp--preset--color--primary-gold);
	opacity: 1;
}

.has-text-align-center.wp-block-separator.is-style-accent {
	margin-inline: auto !important;
}

.wp-block-list.is-style-ticks {
	padding-left: 0;
	list-style: none;
}

.wp-block-list.is-style-ticks li {
	position: relative;
	padding: 0.35rem 0 0.35rem 1.6rem;
}

.wp-block-list.is-style-ticks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.95em;
	width: 0.7rem;
	height: 1.5px;
	background-color: var(--wp--preset--color--primary-gold);
}

/* ---------- Buttons ---------- */

.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.9em;
	min-height: 48px;
	transition: background-color 0.25s var(--nmd-ease), color 0.25s var(--nmd-ease), border-color 0.25s var(--nmd-ease);
}

.wp-block-button__link::after {
	content: "";
	flex-shrink: 0;
	width: 1.6em;
	height: 0.7em;
	background-color: currentColor;
	-webkit-mask: var(--nmd-arrow) center / contain no-repeat;
	mask: var(--nmd-arrow) center / contain no-repeat;
	transition: transform 0.25s var(--nmd-ease);
}

.wp-block-button__link:hover::after {
	transform: translateX(4px);
}

.wp-block-button.is-style-light .wp-block-button__link {
	border-color: var(--wp--preset--color--white);
	background-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--black);
}

.wp-block-button.is-style-light .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--black);
	background-color: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
}

.wp-block-button.is-style-outline .wp-block-button__link {
	border-color: var(--wp--preset--color--primary-gold);
	background-color: transparent;
	color: var(--wp--preset--color--black);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--primary-gold);
	color: var(--wp--preset--color--white);
}

/* ---------- Header ---------- */

.site-header-part {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--nmd-gutter));
	z-index: 50;
	border-radius: var(--nmd-radius);
	background-color: var(--wp--preset--color--white);
	transition: box-shadow 0.3s var(--nmd-ease);
}

.site-header-part.is-scrolled {
	box-shadow: var(--nmd-shadow);
}

.site-header {
	max-width: 1440px;
	min-height: 76px;
	margin-inline: auto;
	padding: 10px clamp(16px, 3vw, 48px);
	gap: 24px;
}

.site-header .wp-block-site-logo img {
	width: auto;
	height: 54px;
}

.site-nav .wp-block-navigation-item__content {
	padding: 10px 4px;
	text-decoration: none;
	background-image: linear-gradient(var(--wp--preset--color--primary-gold), var(--wp--preset--color--primary-gold));
	background-size: 0 1.5px;
	background-position: 0 85%;
	background-repeat: no-repeat;
	transition: background-size 0.3s var(--nmd-ease);
}

.site-nav .wp-block-navigation-item__content:hover,
.site-nav .current-menu-item > .wp-block-navigation-item__content,
.site-nav [aria-current="page"] {
	background-size: 100% 1.5px;
}

.site-nav .wp-block-navigation__submenu-icon {
	color: var(--wp--preset--color--primary-gold);
}

/* Services dropdown */
.site-nav .wp-block-navigation__submenu-container {
	min-width: 260px !important;
	padding: 10px;
	border: 0 !important;
	border-radius: var(--nmd-radius-inner);
	box-shadow: 0 20px 40px -20px rgba(0, 0, 0, 0.35);
}

.site-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 10px 14px;
	border-radius: 10px;
	background-image: none;
}

.site-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background-color: var(--wp--preset--color--primary-gold-light);
}

/* Mobile overlay menu */
.site-nav .wp-block-navigation__responsive-container-open,
.site-nav .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--primary-gold);
}

.site-nav .wp-block-navigation__responsive-container-open svg {
	width: 30px;
	height: 30px;
}

.site-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: calc(var(--nmd-gutter) + 16px);
}

.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	gap: 0;
	padding-top: 56px;
	font-size: 1.2rem;
}

.site-nav .is-menu-open .wp-block-navigation-item__content {
	padding: 12px 0;
	background-image: none;
}

.site-nav .is-menu-open .wp-block-navigation__submenu-container {
	padding: 0 0 8px 16px;
	box-shadow: none;
}

@media (max-width: 1024px) {
	.site-header .wp-block-site-logo img {
		height: 46px;
	}
}

@media (max-width: 380px) {
	.site-header .wp-block-site-logo img {
		height: 40px;
	}
}

/* ---------- Footer ---------- */

.site-footer-part .site-footer {
	padding: clamp(44px, 6vw, 88px) var(--nmd-pad-x) 24px;
	border-radius: var(--nmd-radius);
}

.site-footer__columns {
	gap: clamp(28px, 4vw, 64px);
}

.site-footer .wp-block-site-logo img {
	width: min(250px, 100%);
	height: auto;
}

.footer-tag {
	font-family: var(--wp--preset--font-family--cinzel);
	font-size: 0.9rem;
	letter-spacing: 0.14em;
	line-height: 1.8;
	/* Shrink to the longest line so both lines center on each other while
	   the block stays left-aligned under the logo */
	width: fit-content;
	text-align: center;
}

.footer-tag__gold {
	display: block;
	margin-top: 0.6em;
	color: var(--wp--preset--color--primary-gold);
}

.site-footer .footer-heading {
	margin-bottom: 1rem;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	color: var(--wp--preset--color--primary-gold);
}

.footer-links {
	padding-left: 0;
	list-style: none;
}

.footer-links li + li {
	margin-top: 0.5rem;
}

.site-footer a {
	text-decoration: none;
}

.site-footer a:hover {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--primary-gold);
	text-underline-offset: 4px;
}

.site-footer__base {
	margin-top: clamp(28px, 4vw, 56px);
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	font-size: 0.9rem;
}

/* ---------- Motion ---------- */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
	}
}
