/*
 * pages.css — Inner page styles for mamazamzam theme
 * Covers: inner-banner, about-bio, heritage, stats-strip, mission,
 *         services-page, service-layout, sidebar, testimonials-page,
 *         contact-channels, contact-full-form, cta-section, breadcrumb
 *
 * All colors use CSS custom properties.
 * --color-primary  : #7C3AED
 * --color-accent   : #F59E0B
 * --color-dark     : #0D0820
 * --color-dark-2   : #160B30
 * --color-dark-3   : #1F1248
 */

/* ================================================================
   ROOT EXTENSIONS (additional variables for inner pages)
   ================================================================ */
:root {
	--color-dark-2       : #160B30;
	--color-dark-3       : #1F1248;
	--color-muted        : rgba(255, 255, 255, 0.55);
	--color-muted-2      : rgba(255, 255, 255, 0.70);
	--color-border       : rgba(255, 255, 255, 0.10);
	--color-accent-light : rgba(245, 158, 11, 0.15);
	--color-primary-light: rgba(124, 58, 237, 0.15);
	--radius-card        : 12px;
	--shadow-card        : 0 4px 24px rgba(0, 0, 0, 0.35);
	--shadow-hover       : 0 8px 40px rgba(124, 58, 237, 0.30);
	--transition-base    : 0.3s ease;
}

/* ================================================================
   INNER BANNER
   ================================================================ */
.mz-inner-banner {
	position         : relative;
	background       : linear-gradient(135deg, var(--color-dark) 0%, var(--color-dark-3) 50%, var(--color-dark-2) 100%);
	padding          : 130px 0 70px;
	text-align       : center;
	overflow         : hidden;
}

.mz-inner-banner__overlay {
	position         : absolute;
	inset            : 0;
	background       : radial-gradient(ellipse at 50% 0%, rgba(124, 58, 237, 0.20) 0%, transparent 70%);
	pointer-events   : none;
}

.mz-inner-banner__stars {
	position         : absolute;
	inset            : 0;
	pointer-events   : none;
	z-index          : 0;
}

/* Reuse star layers from main hero */
.mz-inner-banner .mz-stars--small,
.mz-inner-banner .mz-stars--medium,
.mz-inner-banner .mz-stars--large {
	position         : absolute;
	inset            : 0;
	background-repeat: repeat;
}

.mz-inner-banner__inner {
	position         : relative;
	z-index          : 1;
}

/* Badge */
.mz-inner-banner__badge {
	display          : inline-block;
	font-size        : 0.75rem;
	letter-spacing   : 0.15em;
	text-transform   : uppercase;
	color            : var(--color-accent);
	border           : 1px solid rgba(245, 158, 11, 0.35);
	border-radius    : 50px;
	padding          : 0.3rem 1.1rem;
	margin-bottom    : 1.2rem;
}

/* Title — Cinzel Decorative gold gradient */
.mz-inner-banner__title {
	font-family      : 'Cinzel Decorative', serif;
	font-size        : clamp(1.9rem, 5vw, 3.2rem);
	font-weight      : 700;
	background       : linear-gradient(135deg, var(--color-accent) 0%, #FCD34D 50%, var(--color-accent) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip  : text;
	margin           : 0 0 0.75rem;
	line-height      : 1.2;
}

/* Subtitle */
.mz-inner-banner__subtitle {
	color            : var(--color-muted-2);
	font-size        : 1.05rem;
	margin           : 0 0 1.5rem;
	font-style       : italic;
}

/* ----------------------------------------------------------------
   Breadcrumb
   ---------------------------------------------------------------- */
.mz-breadcrumb {
	margin-top       : 0.5rem;
}

.mz-breadcrumb__list {
	display          : inline-flex;
	align-items      : center;
	gap              : 0.5rem;
	list-style       : none;
	margin           : 0;
	padding          : 0;
	font-size        : 0.85rem;
}

.mz-breadcrumb__link {
	color            : var(--color-muted-2);
	text-decoration  : none;
	transition       : color var(--transition-base);
}

.mz-breadcrumb__link:hover {
	color            : var(--color-accent);
}

.mz-breadcrumb__sep {
	color            : var(--color-accent);
	font-size        : 0.6rem;
}

.mz-breadcrumb__item--current {
	color            : var(--color-accent);
}

/* ================================================================
   ABOUT BIO
   ================================================================ */
.mz-about-bio {
	background       : var(--color-dark);
}

.mz-about-bio__grid {
	display          : grid;
	grid-template-columns: 60fr 40fr;
	gap              : 4rem;
	align-items      : center;
}

/* Image column */
.mz-about-bio__image-col {
	order            : 2;
}

.mz-about-bio__image-wrap {
	position         : relative;
}

.mz-about-bio__photo {
	width            : 100%;
	border-radius    : var(--radius-card);
	display          : block;
	object-fit       : cover;
	max-height       : 520px;
	box-shadow       : var(--shadow-card);
	border           : 2px solid rgba(245, 158, 11, 0.20);
}

.mz-about-bio__photo-placeholder {
	width            : 100%;
	height           : 420px;
	background       : linear-gradient(135deg, var(--color-dark-3) 0%, var(--color-dark-2) 100%);
	border-radius    : var(--radius-card);
	border           : 2px solid rgba(245, 158, 11, 0.20);
	display          : flex;
	flex-direction   : column;
	align-items      : center;
	justify-content  : center;
	gap              : 1rem;
}

.mz-about-bio__photo-placeholder i {
	font-size        : 5rem;
	color            : var(--color-primary);
	opacity          : 0.5;
}

.mz-about-bio__photo-placeholder span {
	color            : var(--color-muted);
	font-family      : 'Cinzel', serif;
}

/* Year badge */
.mz-about-bio__badge {
	position         : absolute;
	bottom           : -1.5rem;
	right            : -1.5rem;
	background       : linear-gradient(135deg, var(--color-primary) 0%, #5B21B6 100%);
	border-radius    : 50%;
	width            : 100px;
	height           : 100px;
	display          : flex;
	flex-direction   : column;
	align-items      : center;
	justify-content  : center;
	box-shadow       : 0 4px 20px rgba(124, 58, 237, 0.50);
	text-align       : center;
	padding          : 0.5rem;
}

.mz-about-bio__badge-years {
	font-family      : 'Cinzel Decorative', serif;
	font-size        : 1.5rem;
	font-weight      : 700;
	color            : var(--color-accent);
	line-height      : 1;
}

.mz-about-bio__badge-label {
	font-size        : 0.55rem;
	color            : rgba(255, 255, 255, 0.80);
	text-transform   : uppercase;
	letter-spacing   : 0.05em;
	white-space      : pre-line;
	text-align       : center;
}

/* Text column */
.mz-about-bio__text-col {
	order            : 1;
}

.mz-about-bio__name {
	font-family      : 'Cinzel Decorative', serif;
	font-size        : clamp(1.6rem, 3.5vw, 2.5rem);
	background       : linear-gradient(135deg, var(--color-accent) 0%, #FCD34D 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip  : text;
	margin           : 0.5rem 0 1.2rem;
}

/* Blockquote */
.mz-about-bio__quote {
	border-left      : 3px solid var(--color-accent);
	margin           : 0 0 1.5rem;
	padding          : 0.8rem 1.2rem;
	background       : rgba(245, 158, 11, 0.07);
	border-radius    : 0 8px 8px 0;
}

.mz-about-bio__quote p {
	font-style       : italic;
	color            : var(--color-muted-2);
	font-size        : 1rem;
	margin           : 0;
	line-height      : 1.7;
}

/* Bio story paragraphs */
.mz-about-bio__story p {
	color            : var(--color-muted-2);
	line-height      : 1.8;
	margin-bottom    : 1rem;
}

/* ================================================================
   HERITAGE PILLARS
   ================================================================ */
.mz-heritage {
	background       : var(--color-dark-2);
}

.mz-heritage__grid {
	display          : grid;
	grid-template-columns: repeat(4, 1fr);
	gap              : 1.5rem;
	margin-top       : 2.5rem;
}

.mz-heritage__card {
	background       : var(--color-dark-3);
	border-radius    : var(--radius-card);
	padding          : 2rem 1.5rem;
	text-align       : center;
	border           : 1px solid var(--color-border);
	transition       : transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
}

.mz-heritage__card:hover {
	transform        : translateY(-6px);
	box-shadow       : var(--shadow-hover);
	border-color     : rgba(245, 158, 11, 0.30);
}

.mz-heritage__icon {
	width            : 70px;
	height           : 70px;
	border-radius    : 50%;
	background       : var(--color-accent-light);
	border           : 2px solid rgba(245, 158, 11, 0.25);
	display          : flex;
	align-items      : center;
	justify-content  : center;
	margin           : 0 auto 1.2rem;
}

.mz-heritage__icon i {
	font-size        : 1.6rem;
	color            : var(--color-accent);
}

.mz-heritage__title {
	font-family      : 'Cinzel', serif;
	font-size        : 1rem;
	color            : #fff;
	margin           : 0 0 0.75rem;
	font-weight      : 600;
}

.mz-heritage__text {
	font-size        : 0.875rem;
	color            : var(--color-muted);
	line-height      : 1.7;
	margin           : 0;
}

/* ================================================================
   STATS STRIP
   ================================================================ */
.mz-stats-strip {
	background       : linear-gradient(135deg, var(--color-dark-3) 0%, var(--color-dark-2) 100%);
	padding          : 3.5rem 0;
	border-top       : 1px solid var(--color-border);
	border-bottom    : 1px solid var(--color-border);
}

.mz-stats-strip__grid {
	display          : grid;
	grid-template-columns: repeat(4, 1fr);
	gap              : 2rem;
	text-align       : center;
}

.mz-stats-strip__item {
	display          : flex;
	flex-direction   : column;
	gap              : 0.4rem;
	position         : relative;
}

.mz-stats-strip__item + .mz-stats-strip__item::before {
	content          : '';
	position         : absolute;
	left             : 0;
	top              : 50%;
	transform        : translateY(-50%);
	width            : 1px;
	height           : 60%;
	background       : var(--color-border);
}

.mz-stats-strip__number {
	font-family      : 'Cinzel Decorative', serif;
	font-size        : clamp(1.8rem, 4vw, 2.8rem);
	font-weight      : 700;
	background       : linear-gradient(135deg, var(--color-accent) 0%, #FCD34D 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip  : text;
	line-height      : 1;
}

.mz-stats-strip__label {
	font-size        : 0.85rem;
	color            : var(--color-muted);
	text-transform   : uppercase;
	letter-spacing   : 0.08em;
}

/* ================================================================
   MISSION GRID
   ================================================================ */
.mz-mission {
	background       : var(--color-dark);
}

.mz-mission__grid {
	display          : grid;
	grid-template-columns: repeat(4, 1fr);
	gap              : 1.5rem;
	margin-top       : 2.5rem;
}

.mz-mission__card {
	background       : var(--color-dark-2);
	border-radius    : var(--radius-card);
	padding          : 1.75rem 1.5rem;
	border           : 1px solid var(--color-border);
	text-align       : center;
	transition       : transform var(--transition-base), box-shadow var(--transition-base);
}

.mz-mission__card:hover {
	transform        : translateY(-4px);
	box-shadow       : var(--shadow-hover);
}

.mz-mission__icon-wrap {
	width            : 60px;
	height           : 60px;
	border-radius    : 50%;
	background       : var(--color-primary-light);
	border           : 2px solid rgba(124, 58, 237, 0.30);
	display          : flex;
	align-items      : center;
	justify-content  : center;
	margin           : 0 auto 1rem;
}

.mz-mission__icon-wrap i {
	font-size        : 1.3rem;
	color            : var(--color-primary);
}

.mz-mission__title {
	font-family      : 'Cinzel', serif;
	font-size        : 0.95rem;
	color            : #fff;
	margin           : 0 0 0.6rem;
	font-weight      : 600;
}

.mz-mission__text {
	font-size        : 0.85rem;
	color            : var(--color-muted);
	line-height      : 1.6;
	margin           : 0;
}

/* ================================================================
   SERVICES PAGE GRID + CARDS
   ================================================================ */
.mz-services-page {
	background       : var(--color-dark);
}

.mz-services-page__intro {
	background       : var(--color-dark-2);
	padding-bottom   : 1.5rem;
}

.mz-services-page__intro-inner {
	text-align       : center;
	max-width        : 700px;
	margin           : 0 auto;
}

.mz-services-page__grid {
	display          : grid;
	grid-template-columns: repeat(3, 1fr);
	gap              : 1.75rem;
}

/* Service page card */
.mz-sp-card {
	background       : var(--color-dark-2);
	border-radius    : var(--radius-card);
	overflow         : hidden;
	border           : 1px solid var(--color-border);
	display          : flex;
	flex-direction   : column;
	transition       : box-shadow var(--transition-base), transform var(--transition-base), border-color var(--transition-base);
}

.mz-sp-card:hover {
	box-shadow       : var(--shadow-hover);
	transform        : translateY(-4px);
	border-color     : rgba(124, 58, 237, 0.40);
}

.mz-sp-card__image-wrap {
	position         : relative;
	overflow         : hidden;
	height           : 220px;
	flex-shrink      : 0;
}

.mz-sp-card__image {
	width            : 100%;
	height           : 100%;
	object-fit       : cover;
	display          : block;
	transition       : transform 0.5s ease;
}

.mz-sp-card:hover .mz-sp-card__image {
	transform        : scale(1.05);
}

.mz-sp-card__image-placeholder {
	width            : 100%;
	height           : 100%;
	background       : linear-gradient(135deg, var(--color-dark-3) 0%, var(--color-primary-light) 100%);
	display          : flex;
	align-items      : center;
	justify-content  : center;
}

.mz-sp-card__image-placeholder i {
	font-size        : 3.5rem;
	color            : var(--color-primary);
	opacity          : 0.6;
}

/* Icon badge overlay on card image */
.mz-sp-card__icon-badge {
	position         : absolute;
	bottom           : 0.75rem;
	left             : 0.75rem;
	width            : 36px;
	height           : 36px;
	border-radius    : 50%;
	background       : var(--color-accent);
	display          : flex;
	align-items      : center;
	justify-content  : center;
	box-shadow       : 0 2px 8px rgba(0, 0, 0, 0.40);
}

.mz-sp-card__icon-badge i {
	font-size        : 0.85rem;
	color            : var(--color-dark);
}

.mz-sp-card__body {
	padding          : 1.4rem;
	display          : flex;
	flex-direction   : column;
	gap              : 0.75rem;
	flex             : 1;
}

.mz-sp-card__title {
	font-family      : 'Cinzel', serif;
	font-size        : 1rem;
	font-weight      : 700;
	margin           : 0;
}

.mz-sp-card__title a {
	color            : #fff;
	text-decoration  : none;
	transition       : color var(--transition-base);
}

.mz-sp-card__title a:hover {
	color            : var(--color-accent);
}

.mz-sp-card__excerpt {
	font-size        : 0.875rem;
	color            : var(--color-muted);
	line-height      : 1.7;
	margin           : 0;
}

.mz-sp-card__sub-list {
	list-style       : none;
	margin           : 0;
	padding          : 0;
	display          : flex;
	flex-direction   : column;
	gap              : 0.4rem;
}

.mz-sp-card__sub-list li {
	font-size        : 0.825rem;
	color            : var(--color-muted-2);
	display          : flex;
	align-items      : flex-start;
	gap              : 0.5rem;
}

.mz-sp-card__sub-list i {
	color            : var(--color-accent);
	font-size        : 0.75rem;
	margin-top       : 0.2rem;
	flex-shrink      : 0;
}

.mz-sp-card__actions {
	display          : flex;
	gap              : 0.6rem;
	margin-top       : auto;
	flex-wrap        : wrap;
}

/* ================================================================
   SINGLE SERVICE LAYOUT (main + sidebar)
   ================================================================ */
.mz-service-layout-wrap {
	background       : var(--color-dark);
}

.mz-service-layout {
	display          : grid;
	grid-template-columns: 65fr 35fr;
	gap              : 2.5rem;
	align-items      : start;
}

/* ----------------------------------------------------------------
   Service Article (main content)
   ---------------------------------------------------------------- */
.mz-service-article {
	background       : var(--color-dark-2);
	border-radius    : var(--radius-card);
	overflow         : hidden;
	border           : 1px solid var(--color-border);
}

.mz-service-article__featured-image {
	margin           : 0;
}

.mz-service-article__img {
	width            : 100%;
	display          : block;
	object-fit       : cover;
	max-height       : 420px;
}

.mz-service-article__caption {
	font-size        : 0.825rem;
	color            : var(--color-muted);
	text-align       : center;
	padding          : 0.5rem 1.5rem;
	font-style       : italic;
}

.mz-service-article__content {
	padding          : 2rem;
}

.mz-entry-content h2,
.mz-entry-content h3 {
	font-family      : 'Cinzel', serif;
	color            : #fff;
	margin-top       : 1.5rem;
}

.mz-entry-content p {
	color            : var(--color-muted-2);
	line-height      : 1.8;
	margin-bottom    : 1rem;
}

.mz-entry-content ul,
.mz-entry-content ol {
	color            : var(--color-muted-2);
	padding-left     : 1.5rem;
	margin-bottom    : 1rem;
}

/* Sub-items checklist */
.mz-service-article__sub-items {
	padding          : 0 2rem 2rem;
	border-top       : 1px solid var(--color-border);
	margin-top       : 0;
}

.mz-service-article__sub-title {
	font-family      : 'Cinzel', serif;
	font-size        : 1.1rem;
	color            : var(--color-accent);
	margin           : 1.5rem 0 1rem;
	font-weight      : 600;
}

.mz-service-checklist {
	list-style       : none;
	margin           : 0;
	padding          : 0;
	display          : grid;
	grid-template-columns: 1fr 1fr;
	gap              : 0.65rem;
}

.mz-service-checklist__item {
	display          : flex;
	align-items      : flex-start;
	gap              : 0.65rem;
	font-size        : 0.9rem;
	color            : var(--color-muted-2);
	line-height      : 1.5;
}

.mz-service-checklist__check i {
	color            : var(--color-accent);
	font-size        : 1rem;
	margin-top       : 0.1rem;
	flex-shrink      : 0;
}

/* CTA block within service article */
.mz-service-article__cta {
	background       : linear-gradient(135deg, var(--color-dark-3) 0%, var(--color-dark-2) 100%);
	border-top       : 2px solid rgba(245, 158, 11, 0.25);
	padding          : 2rem;
	text-align       : center;
}

.mz-service-article__cta-heading {
	font-family      : 'Cinzel', serif;
	font-size        : 1.2rem;
	color            : #fff;
	margin           : 0 0 0.75rem;
}

.mz-service-article__cta-text {
	color            : var(--color-muted);
	font-size        : 0.9rem;
	margin-bottom    : 1.25rem;
}

.mz-service-article__cta-buttons {
	display          : flex;
	gap              : 0.75rem;
	justify-content  : center;
	flex-wrap        : wrap;
}

/* ================================================================
   SIDEBAR
   ================================================================ */
.mz-sidebar {
	position         : sticky;
	top              : 100px;
	display          : flex;
	flex-direction   : column;
	gap              : 1.5rem;
}

.mz-sidebar__widget {
	background       : var(--color-dark-2);
	border-radius    : var(--radius-card);
	border           : 1px solid var(--color-border);
	overflow         : hidden;
}

.mz-sidebar__widget-title {
	font-family      : 'Cinzel', serif;
	font-size        : 0.9rem;
	font-weight      : 700;
	text-transform   : uppercase;
	letter-spacing   : 0.08em;
	color            : var(--color-accent);
	padding          : 0.9rem 1.25rem;
	background       : linear-gradient(90deg, rgba(245, 158, 11, 0.12) 0%, transparent 100%);
	border-bottom    : 1px solid var(--color-border);
	margin           : 0;
}

/* About widget */
.mz-sidebar__about-inner {
	padding          : 1.25rem;
	text-align       : center;
}

.mz-sidebar__healer-photo {
	width            : 80px;
	height           : 80px;
	border-radius    : 50%;
	object-fit       : cover;
	margin           : 0 auto 0.75rem;
	border           : 2px solid rgba(245, 158, 11, 0.30);
	display          : block;
}

.mz-sidebar__healer-photo-placeholder {
	width            : 70px;
	height           : 70px;
	border-radius    : 50%;
	background       : var(--color-primary-light);
	display          : flex;
	align-items      : center;
	justify-content  : center;
	margin           : 0 auto 0.75rem;
}

.mz-sidebar__healer-photo-placeholder i {
	font-size        : 1.75rem;
	color            : var(--color-primary);
}

.mz-sidebar__healer-name {
	font-family      : 'Cinzel', serif;
	font-size        : 0.95rem;
	color            : #fff;
	margin           : 0 0 0.5rem;
}

.mz-sidebar__healer-bio {
	font-size        : 0.825rem;
	color            : var(--color-muted);
	line-height      : 1.6;
	margin-bottom    : 1rem;
}

/* Services list widget */
.mz-sidebar__service-list {
	list-style       : none;
	margin           : 0;
	padding          : 0.75rem 0;
}

.mz-sidebar__service-list li {
	display          : flex;
	align-items      : center;
	gap              : 0.6rem;
	padding          : 0.5rem 1.25rem;
	font-size        : 0.875rem;
	border-bottom    : 1px solid var(--color-border);
	transition       : background var(--transition-base);
}

.mz-sidebar__service-list li:last-child {
	border-bottom    : none;
}

.mz-sidebar__service-list li:hover {
	background       : rgba(124, 58, 237, 0.08);
}

.mz-sidebar__service-list i {
	color            : var(--color-accent);
	font-size        : 0.75rem;
	flex-shrink      : 0;
}

.mz-sidebar__service-list a {
	color            : var(--color-muted-2);
	text-decoration  : none;
	transition       : color var(--transition-base);
}

.mz-sidebar__service-list a:hover {
	color            : var(--color-accent);
}

/* Contact info widget */
.mz-sidebar__contact-list {
	list-style       : none;
	margin           : 0;
	padding          : 0.75rem 0;
}

.mz-sidebar__contact-list li {
	display          : flex;
	align-items      : center;
	gap              : 0.75rem;
	padding          : 0.6rem 1.25rem;
	font-size        : 0.85rem;
	color            : var(--color-muted-2);
	border-bottom    : 1px solid var(--color-border);
}

.mz-sidebar__contact-list li:last-child {
	border-bottom    : none;
}

.mz-sidebar__contact-list i {
	color            : var(--color-accent);
	font-size        : 0.9rem;
	width            : 18px;
	text-align       : center;
	flex-shrink      : 0;
}

.mz-sidebar__contact-list a {
	color            : var(--color-muted-2);
	text-decoration  : none;
	transition       : color var(--transition-base);
}

.mz-sidebar__contact-list a:hover {
	color            : var(--color-accent);
}

/* Quick contact widget */
.mz-sidebar__quick-form {
	padding          : 1.25rem;
	display          : flex;
	flex-direction   : column;
	gap              : 0.75rem;
}

/* ================================================================
   RELATED SERVICES
   ================================================================ */
.mz-related-services {
	background       : var(--color-dark-2);
}

/* ================================================================
   TESTIMONIALS PAGE GRID
   ================================================================ */
.mz-testimonials-page {
	background       : var(--color-dark);
}

.mz-testimonials-page__intro {
	background       : var(--color-dark-2);
}

.mz-testimonials-page__grid {
	display          : grid;
	grid-template-columns: 1fr 1fr;
	gap              : 1.75rem;
	margin-top       : 2.5rem;
}

/* Testimonial card */
.mz-tpage-card {
	background       : var(--color-dark-2);
	border-radius    : var(--radius-card);
	border           : 1px solid var(--color-border);
	padding          : 2rem;
	display          : flex;
	flex-direction   : column;
	gap              : 1rem;
	position         : relative;
	transition       : box-shadow var(--transition-base), transform var(--transition-base);
}

.mz-tpage-card:hover {
	box-shadow       : var(--shadow-hover);
	transform        : translateY(-3px);
}

.mz-tpage-card__quote-mark {
	font-family      : Georgia, serif;
	font-size        : 5rem;
	color            : var(--color-accent);
	opacity          : 0.25;
	line-height      : 0.5;
	position         : absolute;
	top              : 1.25rem;
	left             : 1.5rem;
	pointer-events   : none;
}

.mz-tpage-card__content {
	font-size        : 0.925rem;
	color            : var(--color-muted-2);
	line-height      : 1.8;
	padding-top      : 1.5rem;
}

.mz-tpage-card__content p {
	margin           : 0;
}

.mz-tpage-card__stars {
	display          : flex;
	gap              : 0.2rem;
}

.mz-tpage-card__stars i {
	color            : var(--color-accent);
	font-size        : 0.85rem;
}

.mz-tpage-card__author {
	display          : flex;
	align-items      : center;
	gap              : 0.9rem;
	border-top       : 1px solid var(--color-border);
	padding-top      : 1rem;
	margin-top       : auto;
}

.mz-tpage-card__avatar {
	width            : 46px;
	height           : 46px;
	border-radius    : 50%;
	background       : linear-gradient(135deg, var(--color-primary) 0%, #5B21B6 100%);
	display          : flex;
	align-items      : center;
	justify-content  : center;
	font-family      : 'Cinzel', serif;
	font-weight      : 700;
	font-size        : 1rem;
	color            : #fff;
	flex-shrink      : 0;
}

.mz-tpage-card__author-info {
	display          : flex;
	flex-direction   : column;
	gap              : 0.1rem;
}

.mz-tpage-card__author-name {
	color            : #fff;
	font-size        : 0.9rem;
}

.mz-tpage-card__author-role {
	font-size        : 0.8rem;
	color            : var(--color-muted);
}

.mz-tpage-card__author-location {
	font-size        : 0.775rem;
	color            : var(--color-muted);
}

.mz-tpage-card__author-location i {
	color            : var(--color-accent);
	margin-right     : 0.2rem;
}

/* ================================================================
   CONTACT CHANNELS
   ================================================================ */
.mz-contact-channels {
	background       : var(--color-dark-2);
}

.mz-contact-channels__grid {
	display          : grid;
	grid-template-columns: repeat(3, 1fr);
	gap              : 1.75rem;
}

.mz-cc-card {
	background       : var(--color-dark-3);
	border-radius    : var(--radius-card);
	border           : 1px solid var(--color-border);
	overflow         : hidden;
	transition       : box-shadow var(--transition-base), transform var(--transition-base);
}

.mz-cc-card:hover {
	box-shadow       : var(--shadow-hover);
	transform        : translateY(-4px);
}

/* Colored top strip */
.mz-cc-card__top {
	padding          : 1.5rem;
	display          : flex;
	align-items      : center;
	justify-content  : center;
}

.mz-cc-card__top i {
	font-size        : 2.2rem;
	color            : #fff;
}

.mz-cc-card--wa .mz-cc-card__top {
	background       : #25D366;
	border-bottom    : 4px solid #1ebe59;
}

.mz-cc-card--phone .mz-cc-card__top {
	background       : linear-gradient(135deg, var(--color-primary) 0%, #5B21B6 100%);
	border-bottom    : 4px solid #5B21B6;
}

.mz-cc-card--email .mz-cc-card__top {
	background       : linear-gradient(135deg, var(--color-accent) 0%, #D97706 100%);
	border-bottom    : 4px solid #D97706;
}

.mz-cc-card__body {
	padding          : 1.5rem;
	display          : flex;
	flex-direction   : column;
	gap              : 0.65rem;
}

.mz-cc-card__tag {
	display          : inline-block;
	font-size        : 0.7rem;
	letter-spacing   : 0.1em;
	text-transform   : uppercase;
	color            : var(--color-accent);
	font-weight      : 600;
}

.mz-cc-card__title {
	font-family      : 'Cinzel', serif;
	font-size        : 1.1rem;
	color            : #fff;
	margin           : 0;
	font-weight      : 700;
}

.mz-cc-card__number {
	font-size        : 0.95rem;
	color            : var(--color-muted-2);
	font-weight      : 600;
	margin           : 0;
}

.mz-cc-card__desc {
	font-size        : 0.85rem;
	color            : var(--color-muted);
	line-height      : 1.6;
	margin           : 0;
}

/* Opening hours */
.mz-opening-hours {
	background       : var(--color-dark-3);
	border-top       : 1px solid var(--color-border);
	border-bottom    : 1px solid var(--color-border);
}

.mz-opening-hours__inner {
	display          : flex;
	align-items      : flex-start;
	gap              : 2rem;
	max-width        : 700px;
	margin           : 0 auto;
}

.mz-opening-hours__icon {
	width            : 60px;
	height           : 60px;
	border-radius    : 50%;
	background       : var(--color-accent-light);
	border           : 2px solid rgba(245, 158, 11, 0.25);
	display          : flex;
	align-items      : center;
	justify-content  : center;
	flex-shrink      : 0;
	margin-top       : 0.3rem;
}

.mz-opening-hours__icon i {
	font-size        : 1.4rem;
	color            : var(--color-accent);
}

.mz-opening-hours__title {
	font-family      : 'Cinzel', serif;
	font-size        : 1.2rem;
	color            : #fff;
	margin           : 0 0 1rem;
}

.mz-opening-hours__schedule {
	display          : flex;
	flex-direction   : column;
	gap              : 0.5rem;
}

.mz-hours-row {
	display          : flex;
	justify-content  : space-between;
	gap              : 1rem;
	font-size        : 0.9rem;
	padding          : 0.4rem 0;
	border-bottom    : 1px solid var(--color-border);
}

.mz-hours-row:last-child {
	border-bottom    : none;
}

.mz-hours-row__day {
	color            : var(--color-muted-2);
}

.mz-hours-row__day i {
	color            : var(--color-accent);
	margin-right     : 0.3rem;
}

.mz-hours-row__time {
	color            : #fff;
	font-weight      : 600;
}

.mz-hours-row--emergency .mz-hours-row__time--accent {
	color            : var(--color-accent);
}

.mz-opening-hours__note {
	font-size        : 0.8rem;
	color            : var(--color-muted);
	margin-top       : 0.75rem;
	font-style       : italic;
}

/* Contact location */
.mz-contact-location {
	background       : var(--color-dark-2);
}

.mz-contact-location__inner {
	display          : flex;
	align-items      : flex-start;
	gap              : 2rem;
	max-width        : 700px;
	margin           : 0 auto;
}

.mz-contact-location__icon {
	width            : 60px;
	height           : 60px;
	border-radius    : 50%;
	background       : var(--color-primary-light);
	border           : 2px solid rgba(124, 58, 237, 0.30);
	display          : flex;
	align-items      : center;
	justify-content  : center;
	flex-shrink      : 0;
}

.mz-contact-location__icon i {
	font-size        : 1.4rem;
	color            : var(--color-primary);
}

.mz-contact-location__title {
	font-family      : 'Cinzel', serif;
	font-size        : 1.2rem;
	color            : #fff;
	margin           : 0 0 0.5rem;
}

.mz-contact-location__address {
	font-size        : 1rem;
	color            : var(--color-accent);
	margin-bottom    : 0.5rem;
}

.mz-contact-location__note {
	font-size        : 0.875rem;
	color            : var(--color-muted);
	line-height      : 1.6;
	margin-bottom    : 1rem;
}

/* ================================================================
   FULL CONTACT FORM
   ================================================================ */
.mz-contact-full-form {
	background       : var(--color-dark);
}

.mz-contact-full-form__inner {
	max-width        : 820px;
	margin           : 0 auto;
}

.mz-contact-full-form__header {
	text-align       : center;
	margin-bottom    : 2.5rem;
}

.mz-contact-full-form__form {
	background       : var(--color-dark-2);
	border-radius    : var(--radius-card);
	border           : 1px solid var(--color-border);
	padding          : 2.5rem;
}

/* Form elements (extend existing .mz-form styles) */
.mz-contact-full-form__form .mz-form__group {
	display          : flex;
	flex-direction   : column;
	gap              : 0.4rem;
}

.mz-contact-full-form__form label {
	font-size        : 0.85rem;
	color            : var(--color-muted-2);
	font-weight      : 500;
}

.mz-form__required {
	color            : var(--color-accent);
	margin-left      : 0.15rem;
}

.mz-contact-full-form__form input,
.mz-contact-full-form__form select,
.mz-contact-full-form__form textarea,
.mz-sidebar__quick-form input {
	background       : rgba(255, 255, 255, 0.05);
	border           : 1px solid var(--color-border);
	border-radius    : 8px;
	color            : #fff;
	font-size        : 0.9rem;
	padding          : 0.65rem 1rem;
	width            : 100%;
	box-sizing       : border-box;
	transition       : border-color var(--transition-base), box-shadow var(--transition-base);
	font-family      : 'Lato', sans-serif;
}

.mz-contact-full-form__form input:focus,
.mz-contact-full-form__form select:focus,
.mz-contact-full-form__form textarea:focus,
.mz-sidebar__quick-form input:focus {
	outline          : none;
	border-color     : var(--color-primary);
	box-shadow       : 0 0 0 3px rgba(124, 58, 237, 0.20);
}

.mz-contact-full-form__form input::placeholder,
.mz-contact-full-form__form textarea::placeholder,
.mz-sidebar__quick-form input::placeholder {
	color            : rgba(255, 255, 255, 0.30);
}

.mz-contact-full-form__form select option {
	background       : var(--color-dark-3);
	color            : #fff;
}

.mz-contact-full-form__submit-wrap {
	display          : flex;
	flex-direction   : column;
	align-items      : center;
	gap              : 0.75rem;
	margin-top       : 0.5rem;
}

.mz-contact-full-form__security {
	font-size        : 0.8rem;
	color            : var(--color-muted);
	display          : flex;
	align-items      : center;
	gap              : 0.4rem;
}

.mz-contact-full-form__security i {
	color            : var(--color-accent);
}

/* ================================================================
   CTA SECTION (reusable dark band)
   ================================================================ */
.mz-cta-section {
	background       : linear-gradient(135deg, var(--color-dark-3) 0%, var(--color-dark-2) 100%);
	padding          : 5rem 0;
	border-top       : 1px solid var(--color-border);
}

.mz-cta-section__inner {
	text-align       : center;
	max-width        : 700px;
	margin           : 0 auto;
}

.mz-cta-section__heading {
	font-family      : 'Cinzel Decorative', serif;
	font-size        : clamp(1.4rem, 3vw, 2.2rem);
	background       : linear-gradient(135deg, #fff 0%, var(--color-accent) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip  : text;
	margin           : 0 0 0.75rem;
}

.mz-cta-section__sub {
	color            : var(--color-muted-2);
	font-size        : 1rem;
	margin-bottom    : 2rem;
	line-height      : 1.7;
}

.mz-cta-section__buttons {
	display          : flex;
	gap              : 1rem;
	justify-content  : center;
	flex-wrap        : wrap;
}

/* ================================================================
   NO-RESULTS
   ================================================================ */
.mz-no-results {
	text-align       : center;
	color            : var(--color-muted);
	font-style       : italic;
	padding          : 3rem 0;
}

/* ================================================================
   RESPONSIVE — 1200px
   ================================================================ */
@media (max-width: 1200px) {
	.mz-heritage__grid,
	.mz-mission__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.mz-about-bio__grid {
		grid-template-columns: 55fr 45fr;
		gap                  : 2.5rem;
	}
}

/* ================================================================
   RESPONSIVE — 1024px (tablet landscape / 2-col service)
   ================================================================ */
@media (max-width: 1024px) {
	.mz-service-layout {
		grid-template-columns: 1fr;
	}

	.mz-sidebar {
		position         : static;
	}

	.mz-services-page__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.mz-stats-strip__grid {
		grid-template-columns: repeat(2, 1fr);
		gap                  : 1.5rem;
	}

	.mz-stats-strip__item + .mz-stats-strip__item::before {
		display          : none;
	}

	.mz-about-bio__grid {
		grid-template-columns: 1fr;
	}

	.mz-about-bio__image-col {
		order            : -1;
		max-width        : 420px;
		margin           : 0 auto;
	}

	.mz-about-bio__badge {
		right            : 0;
	}
}

/* ================================================================
   RESPONSIVE — 768px (mobile)
   ================================================================ */
@media (max-width: 768px) {
	.mz-inner-banner {
		padding          : 100px 0 50px;
	}

	.mz-inner-banner__title {
		font-size        : clamp(1.5rem, 7vw, 2rem);
	}

	.mz-heritage__grid,
	.mz-mission__grid {
		grid-template-columns: 1fr;
	}

	.mz-services-page__grid {
		grid-template-columns: 1fr;
	}

	.mz-testimonials-page__grid {
		grid-template-columns: 1fr;
	}

	.mz-contact-channels__grid {
		grid-template-columns: 1fr;
	}

	.mz-stats-strip__grid {
		grid-template-columns: 1fr 1fr;
	}

	.mz-service-checklist {
		grid-template-columns: 1fr;
	}

	.mz-contact-full-form__form {
		padding          : 1.5rem;
	}

	.mz-opening-hours__inner,
	.mz-contact-location__inner {
		flex-direction   : column;
		align-items      : center;
		text-align       : center;
		gap              : 1rem;
	}

	.mz-hours-row {
		flex-direction   : row;
	}

	.mz-about-bio__badge {
		display          : none;
	}

	.mz-cta-section {
		padding          : 3.5rem 0;
	}

	.mz-cta-section__buttons {
		flex-direction   : column;
		align-items      : center;
	}

	.mz-sp-card__actions {
		flex-direction   : column;
	}

	.mz-service-article__cta-buttons {
		flex-direction   : column;
		align-items      : center;
	}
}

/* ================================================================
   RESPONSIVE — 480px (small mobile)
   ================================================================ */
@media (max-width: 480px) {
	.mz-stats-strip__grid {
		grid-template-columns: 1fr;
	}

	.mz-tpage-card {
		padding          : 1.5rem;
	}

	.mz-cc-card__body {
		padding          : 1.25rem;
	}
}
