/**
 * IL-Nuru-Bespoke – Front-end: mobile menu (slide-in from left), mega menu, app-like UX.
 */

/* ==========================================================================
   Mega menu (Treatments dropdown): two-column panel, 20px radius, soft shadow
   ========================================================================== */

.wp-block-navigation .wp-block-navigation__submenu-container {
	background: #ffffff !important;
	border-radius: 20px;
	box-shadow: 0 12px 40px rgba(26, 26, 26, 0.12);
	border: 1px solid rgba(216, 198, 176, 0.4);
	min-width: 420px;
	padding: 1.25rem 1.5rem !important;
	padding-top: 1.75rem !important;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem 2rem;
	column-gap: 2rem;
	position: relative;
}

.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item {
	width: 100%;
}

.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: #1a1a1a;
	font-size: 0.9375rem;
	padding: 0.5rem 0;
	display: block;
}

.wp-block-navigation .has-child .wp-block-navigation__submenu-container a:hover {
	color: #b08d57 !important;
}

/* Submenu that has many items: keep two columns; fewer items still look good */
.wp-block-navigation .wp-block-navigation__submenu-container > li {
	grid-column: span 1;
}

/* Top gold accent bar above mega menu (optional) */
.wp-block-navigation .wp-block-navigation__submenu-container::before {
	content: "";
	position: absolute;
	top: 0;
	left: 1.5rem;
	right: 1.5rem;
	height: 3px;
	background: #b08d57;
	border-radius: 2px 2px 0 0;
}

/* ==========================================================================
   Mobile & tablet: app-like, slide-in navigation from left
   ========================================================================== */

@media (max-width: 781px) {
	/* Overlay / drawer from left */
	.wp-block-navigation__responsive-container.is-menu-open {
		top: 0 !important;
		left: 0 !important;
		right: auto !important;
		width: min(320px, 85vw) !important;
		max-width: 320px;
		height: 100vh !important;
		height: 100dvh !important;
		border-radius: 0 !important;
		box-shadow: 4px 0 24px rgba(0, 0, 0, 0.15);
		transform: translateX(0) !important;
		transition: transform 0.3s ease, visibility 0.3s ease;
	}

	.wp-block-navigation__responsive-container:not(.is-menu-open) {
		transform: translateX(-100%) !important;
		visibility: hidden;
	}

	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
		padding: 2rem 1.5rem 2rem 1.25rem;
		align-items: flex-start;
	}

	.wp-block-navigation__responsive-container-close {
		left: auto !important;
		right: 1rem;
		top: 1rem;
		width: 44px;
		height: 44px;
		border-radius: 12px;
		background: #1a1a1a;
		color: #fff !important;
	}

	/* Menu items stack vertically, touch-friendly */
	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
		padding: 0.75rem 0;
		font-size: 1rem;
	}

	.wp-block-navigation__responsive-container .wp-block-navigation__submenu-container {
		position: static !important;
		box-shadow: none !important;
		background: rgba(26, 26, 26, 0.04) !important;
		border-radius: 12px;
		margin-top: 0.5rem;
		margin-left: 1rem;
		padding: 0.75rem 1rem !important;
		display: grid;
		grid-template-columns: 1fr;
		min-width: 0;
	}

	.wp-block-navigation__responsive-container .wp-block-navigation__submenu-container::before {
		display: none;
	}
}

@media (min-width: 782px) and (max-width: 960px) {
	.wp-block-navigation__responsive-container.is-menu-open {
		width: min(360px, 90vw) !important;
		left: 0 !important;
		right: auto !important;
		height: 100vh !important;
		height: 100dvh !important;
		border-radius: 0;
		box-shadow: 4px 0 24px rgba(0, 0, 0, 0.12);
	}
}

/* ==========================================================================
   General responsive & app-like polish
   ========================================================================== */

/* Touch-friendly tap targets */
@media (pointer: coarse) {
	.wp-block-navigation .wp-block-navigation-item__content {
		min-height: 44px;
		display: inline-flex;
		align-items: center;
	}
	.wp-block-button__link {
		min-height: 48px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
}

/* Safe area for notched devices */
@supports (padding: env(safe-area-inset-left)) {
	.wp-block-navigation__responsive-container.is-menu-open {
		padding-left: env(safe-area-inset-left);
	}
}

/* Header bar: always visible with gold top stripe (Sophia Pro–style) */
.il-nuru-header-bar,
.wp-block-group.il-nuru-header-bar,
header.wp-block-group.has-charcoal-background-color {
	border-top: 3px solid var(--wp--preset--color--gold, #b08d57);
}
.il-nuru-header-bar {
	background: var(--wp--preset--color--charcoal, #1a1a1a) !important;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}
.il-nuru-header-bar .wp-block-navigation a {
	color: #fff !important;
}
.il-nuru-header-bar .wp-block-navigation a:hover {
	color: var(--wp--preset--color--gold, #b08d57) !important;
}
.il-nuru-header-bar .wp-block-button__link {
	border-radius: 12px;
}

/* Feature cards: modern card style (no flat coloured boxes) */
.il-nuru-feature-cards .il-nuru-card {
	background: #fff;
	border: 1px solid rgba(216, 198, 176, 0.5);
	border-radius: 20px;
	box-shadow: 0 4px 20px rgba(26, 26, 26, 0.06);
	position: relative;
	overflow: hidden;
	transition: box-shadow 0.25s ease, border-color 0.25s ease;
}
.il-nuru-feature-cards .il-nuru-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--wp--preset--color--gold, #b08d57);
}
.il-nuru-feature-cards .il-nuru-card:hover {
	box-shadow: 0 8px 28px rgba(26, 26, 26, 0.08);
	border-color: rgba(176, 141, 87, 0.35);
}
.il-nuru-feature-cards .il-nuru-card .wp-block-heading {
	margin-top: 0.25rem;
}

/* Active nav item: champagne background, rounded */
.wp-block-navigation .current-menu-item .wp-block-navigation-item__content {
	background: rgba(216, 198, 176, 0.35);
	border-radius: 12px;
	padding: 0.4em 0.75em;
}

/* ==========================================================================
   Block pattern styles: glassmorphism cards, gold outline button hover
   ========================================================================== */

/* Treatment Grid: glassmorphism effect on text cards */
.il-nuru-glass-card {
	background: rgba(255, 255, 255, 0.45);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-radius: 20px;
	border: 1px solid rgba(255, 255, 255, 0.6);
	box-shadow: 0 4px 14px rgba(26, 26, 26, 0.06);
	margin-top: -1.5rem;
	position: relative;
	z-index: 1;
}

/* Aesthetics Hero: gold outline button — 1px solid gold border + hover */
.wp-block-button.il-nuru-gold-outline .wp-block-button__link {
	border: 1px solid var(--wp--preset--color--gold, #b08d57);
	background: transparent;
}
.wp-block-button.il-nuru-gold-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--gold, #b08d57);
	color: var(--wp--preset--color--white, #fff) !important;
	border-color: var(--wp--preset--color--gold, #b08d57);
}

/* ==========================================================================
   Price List pattern: neat tables, section spacing
   ========================================================================== */

.il-nuru-price-section {
	margin-top: 2.5rem;
	margin-bottom: 1rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid var(--wp--preset--color--champagne, #d8c6b0);
}
.il-nuru-price-section:first-of-type {
	margin-top: 0;
}

.wp-block-table.il-nuru-price-table {
	margin-top: 0;
	margin-bottom: 1.5rem;
	border-collapse: collapse;
}
.wp-block-table.il-nuru-price-table table {
	width: 100%;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(26, 26, 26, 0.06);
	border: 1px solid rgba(216, 198, 176, 0.5);
}
.wp-block-table.il-nuru-price-table th,
.wp-block-table.il-nuru-price-table td {
	padding: 0.75rem 1.25rem;
	text-align: left;
	border-bottom: 1px solid rgba(216, 198, 176, 0.4);
}
.wp-block-table.il-nuru-price-table thead th {
	background: var(--wp--preset--color--champagne, #d8c6b0);
	color: var(--wp--preset--color--charcoal, #1a1a1a);
	font-weight: 600;
}
.wp-block-table.il-nuru-price-table tbody tr:last-child td {
	border-bottom: none;
}
.wp-block-table.il-nuru-price-table tbody tr:hover {
	background: rgba(216, 198, 176, 0.15);
}
.wp-block-table.il-nuru-price-table td:last-child {
	text-align: right;
	font-weight: 600;
	color: var(--wp--preset--color--gold, #b08d57);
}
