/*
 * Henna At Home — supplemental styles.
 * Everything expressible through theme.json (colors, typography, spacing)
 * lives there. This file only covers what block settings/styles can't do:
 * sticky header behaviour, hover/zoom effects, the scroll-snap
 * testimonial slider, the lightweight lightbox, animations, focus states
 * and a handful of small responsive fixes.
 */

/* ---------- Accessibility basics ---------- */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.henna-skip-link {
	position: fixed;
	top: -60px;
	left: 1rem;
	z-index: 100000;
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--deep-green);
	padding: 0.75rem 1.25rem;
	border-radius: 6px;
	font-weight: 600;
	transition: top 200ms ease;
}
.henna-skip-link:focus {
	top: 1rem;
	position: fixed;
	clip: auto;
	clip-path: none;
	width: auto;
	height: auto;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--gold);
	outline-offset: 2px;
	border-radius: 2px;
}

/* ---------- Sticky, transparent-to-solid header ---------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 200;
	background: transparent;
	transition: background-color var(--wp--custom--transition--base), box-shadow var(--wp--custom--transition--base);
}
body:not(.home) .site-header {
	background-color: var(--wp--preset--color--deep-green);
	box-shadow: 0 2px 20px rgba(0, 0, 0, 0.12);
}
.site-header.is-scrolled {
	background-color: var(--wp--preset--color--deep-green);
	box-shadow: 0 2px 20px rgba(0, 0, 0, 0.12);
}
.site-header .wp-block-navigation__responsive-container.is-menu-open,
.site-header .wp-block-navigation__responsive-container-content {
	background-color: var(--wp--preset--color--deep-green);
}
.site-header a {
	color: var(--wp--preset--color--white);
}
.site-header .wp-block-navigation-item:hover > a,
.site-header .current-menu-item > a {
	color: var(--wp--preset--color--gold);
}
.site-header__actions .wp-block-button__link {
	white-space: nowrap;
}

/* ---------- Buttons ---------- */
.wp-block-button__link.wp-element-button {
	transition: transform var(--wp--custom--transition--base), box-shadow var(--wp--custom--transition--base), background-color var(--wp--custom--transition--base), color var(--wp--custom--transition--base);
}
.wp-block-button.is-style-fill .wp-block-button__link {
	background-color: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--deep-green);
}
.wp-block-button.is-style-fill .wp-block-button__link:hover,
.wp-block-button.is-style-fill .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--gold-light);
	transform: translateY(-2px);
	box-shadow: 0 10px 20px rgba(201, 161, 90, 0.35);
}
.wp-block-button.is-style-outline .wp-block-button__link {
	border: 1px solid var(--wp--preset--color--gold);
	color: var(--wp--preset--color--gold);
	background: transparent;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--deep-green);
	transform: translateY(-2px);
}

/* ---------- Cards: hover lift + image zoom ---------- */
.henna-card,
.henna-pricing-card,
.henna-testimonial-card,
.henna-gallery-item {
	transition: transform var(--wp--custom--transition--base), box-shadow var(--wp--custom--transition--base);
	overflow: hidden;
}
.henna-card:hover,
.henna-pricing-card:hover,
.henna-testimonial-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--wp--custom--shadow--card-hover);
}
.henna-card figure,
.henna-gallery-item figure {
	overflow: hidden;
	margin: 0;
}
.henna-card figure img,
.henna-gallery-item figure img {
	transition: transform 500ms ease;
}
.henna-card:hover figure img,
.henna-gallery-item:hover figure img {
	transform: scale(1.07);
}

/* ---------- Pricing ---------- */
.henna-pricing-card {
	position: relative;
}
.henna-badge-ribbon {
	position: absolute;
	top: -14px;
	left: 50%;
	transform: translateX(-50%);
	display: none;
	white-space: nowrap;
}
.henna-pricing-card.is-featured-package {
	border-color: var(--wp--preset--color--gold) !important;
	box-shadow: 0 16px 40px rgba(201, 161, 90, 0.25);
	transform: scale(1.03);
}
.henna-pricing-card.is-featured-package .henna-badge-ribbon {
	display: inline-block;
}
.henna-price-table table {
	border-color: rgba(255, 255, 255, 0.15);
}
.henna-price-table th,
.henna-price-table td {
	border-color: rgba(255, 255, 255, 0.15) !important;
}

/* ---------- Rating / stars ---------- */
.henna-stars {
	display: inline-flex;
	gap: 2px;
}
.henna-star {
	fill: none;
	stroke: var(--wp--preset--color--gold);
	stroke-width: 1.5;
}
.henna-star.is-filled {
	fill: var(--wp--preset--color--gold);
	stroke: var(--wp--preset--color--gold);
}
.henna-rating-badge {
	background: rgba(255, 255, 255, 0.04);
	backdrop-filter: blur(2px);
}

/* ---------- Hero ---------- */
.henna-hero .wp-block-cover__background {
	background: var(--wp--preset--gradient--hero-overlay);
}
.henna-feature-item__icon img {
	filter: brightness(0) saturate(100%) invert(76%) sepia(28%) saturate(500%) hue-rotate(357deg);
}
.henna-hero-features .henna-feature-item {
	min-width: 130px;
}

/* ---------- Contact items ---------- */
.henna-contact-item__link {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	text-decoration: none;
	color: inherit;
}
.henna-contact-item__icon {
	display: inline-flex;
	color: var(--wp--preset--color--gold);
	flex-shrink: 0;
}
.henna-contact-list .henna-contact-item {
	margin-bottom: 1.1rem;
}

/* ---------- Social links ---------- */
.henna-social-links {
	display: flex;
	gap: 0.75rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.henna-social-links--vertical {
	flex-direction: column;
}
.henna-social-links__item a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--gold);
	color: var(--wp--preset--color--gold);
	transition: background-color var(--wp--custom--transition--base), color var(--wp--custom--transition--base);
}
.henna-social-links__item a:hover,
.henna-social-links__item a:focus-visible {
	background-color: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--deep-green);
}
.henna-social-links__item svg {
	fill: currentColor;
}

/* ---------- WhatsApp floating button ---------- */
.whatsapp-float {
	position: fixed;
	right: 1.25rem;
	bottom: 1.25rem;
	z-index: 300;
}
.whatsapp-float__button .henna-contact-item__link {
	width: 58px;
	height: 58px;
	border-radius: 999px;
	background-color: #25d366;
	color: #fff;
	justify-content: center;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}
.whatsapp-float__button .henna-contact-item__value {
	display: none;
}
.whatsapp-float__button .henna-contact-item__icon {
	color: #fff;
}

/* ---------- Testimonial slider (scroll-snap, no JS library) ---------- */
.henna-testimonial-slider.wp-block-post-template {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	gap: 1.75rem;
	padding: 0.5rem 0.25rem 1.5rem;
	scrollbar-width: thin;
	scrollbar-color: var(--wp--preset--color--gold) transparent;
}
.henna-testimonial-slider.wp-block-post-template > li {
	scroll-snap-align: start;
	flex: 0 0 min(360px, 85vw);
	list-style: none;
}
.henna-slider-prev,
.henna-slider-next {
	width: 44px;
	height: 44px;
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--gold);
	background: transparent;
	color: var(--wp--preset--color--deep-green);
	font-size: 1.4rem;
	line-height: 1;
	cursor: pointer;
	transition: background-color var(--wp--custom--transition--base), color var(--wp--custom--transition--base);
}
.henna-slider-prev:hover,
.henna-slider-next:hover {
	background-color: var(--wp--preset--color--gold);
	color: #fff;
}

/* ---------- Lightweight lightbox (assets/js/main.js) ---------- */
.henna-lightbox-overlay {
	position: fixed;
	inset: 0;
	background: rgba(14, 31, 23, 0.94);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	padding: 2rem;
	animation: henna-fade-in 200ms ease;
}
.henna-lightbox-overlay img {
	max-width: min(92vw, 1100px);
	max-height: 88vh;
	border-radius: 10px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}
.henna-lightbox-close {
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--gold);
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	font-size: 1.4rem;
	cursor: pointer;
}
@keyframes henna-fade-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

/* ---------- Scroll animations (progressive enhancement) ---------- */
html.henna-js .henna-card,
html.henna-js .henna-pricing-card,
html.henna-js .henna-testimonial-card,
html.henna-js .henna-process-step,
html.henna-js .henna-gallery-item,
html.henna-js .henna-hero h1,
html.henna-js .henna-hero p {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 700ms ease, transform 700ms ease;
}
html.henna-js .henna-card.is-visible,
html.henna-js .henna-pricing-card.is-visible,
html.henna-js .henna-testimonial-card.is-visible,
html.henna-js .henna-process-step.is-visible,
html.henna-js .henna-gallery-item.is-visible,
html.henna-js .henna-hero h1.is-visible,
html.henna-js .henna-hero p.is-visible {
	opacity: 1;
	transform: translateY(0);
}
html.henna-reduced-motion .henna-card,
html.henna-reduced-motion .henna-pricing-card,
html.henna-reduced-motion .henna-testimonial-card,
html.henna-reduced-motion .henna-process-step,
html.henna-reduced-motion .henna-gallery-item,
html.henna-reduced-motion .henna-hero h1,
html.henna-reduced-motion .henna-hero p,
html.henna-reduced-motion * {
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
	animation: none !important;
}
@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
}

/* ---------- Smooth scrolling for on-page anchors ---------- */
html {
	scroll-behavior: smooth;
}

/* ---------- Breadcrumbs ---------- */
.henna-breadcrumbs ol {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0 0 1rem;
	padding: 0;
	font-size: 0.85rem;
}
.henna-breadcrumbs li:not(:last-child)::after {
	content: "/";
	margin-left: 0.4rem;
	color: var(--wp--preset--color--gold);
}
.henna-breadcrumbs a {
	color: var(--wp--preset--color--deep-green);
	text-decoration: underline;
}

/* ---------- Flourish section headings (⁓ Heading ⁓) ---------- */
.henna-flourish-heading {
	position: relative;
	display: inline-block;
	padding: 0 2.5rem;
}
.henna-flourish-heading::before,
.henna-flourish-heading::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 32px;
	height: 1px;
	background: var(--wp--preset--color--gold);
}
.henna-flourish-heading::before { left: 0; }
.henna-flourish-heading::after { right: 0; }
.wp-block-heading.henna-flourish-heading,
h2.henna-flourish-heading {
	display: block;
	text-align: center;
}
.henna-flourish-heading::before { left: 50%; margin-left: -120px; }
.henna-flou