/*
Theme Name: Astra Child - FMF
Template: astra
Description: Child theme for Fashion Meets Feelings — Astra header/footer + Elementor sections
Version: 1.3.5
*/

:root {
	--fmf-black: #000000;
	--fmf-white: #ffffff;
	--fmf-cream: #fafafa;
	--fmf-beige: #f3f0ea;
	--fmf-muted: #555555;
	--fmf-border: #e8e8e8;
	--fmf-font-head: "Manrope", sans-serif;
	--fmf-font-body: "Inter", sans-serif;
}

/* Hide page titles on Elementor pages */
.fmf-branded .entry-header,
.page-id-9 .entry-header,
.page-id-111 .entry-header,
.ast-plain-container.ast-no-sidebar .entry-header {
	display: none !important;
}

body,
.site {
	font-family: var(--fmf-font-body);
	color: var(--fmf-black);
}

h1, h2, h3, h4, h5, h6,
.ast-theme-blog-single .entry-title {
	font-family: var(--fmf-font-head);
}

/* ========== ASTRA HEADER ========== */
.site-header,
.ast-primary-header-bar,
.main-header-bar,
.ast-builder-grid-row-container {
	background: #fff !important;
	border-bottom: 1px solid var(--fmf-border);
}

.ast-primary-header-bar,
.main-header-bar {
	padding-top: 8px;
	padding-bottom: 8px;
}

.site-header .custom-logo-link img,
.ast-header-html-1 img,
.ast-site-identity .custom-logo-link img,
.site-footer .custom-logo-link img {
	max-height: 70px !important;
	width: auto !important;
	height: auto !important;
	filter: none !important;
	opacity: 1 !important;
	object-fit: contain !important;
}

/* Primary menu */
.main-header-menu > .menu-item > .menu-link,
.ast-builder-menu-1 .menu-link {
	font-family: var(--fmf-font-body) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	color: #000 !important;
	letter-spacing: 0.02em;
	padding: 10px 14px !important;
	background: transparent !important;
}

.main-header-menu > .menu-item.current-menu-item > .menu-link,
.main-header-menu > .menu-item.current-menu-ancestor > .menu-link,
.main-header-menu > .menu-item:hover > .menu-link,
.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link,
.ast-builder-menu-1 .menu-item:hover > .menu-link {
	color: #000 !important;
	box-shadow: inset 0 -1px 0 #000;
}

.main-header-menu .sub-menu,
.ast-builder-menu-1 .sub-menu {
	border: 1px solid var(--fmf-border) !important;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08) !important;
	background: #fff !important;
	min-width: 240px;
}

.main-header-menu .sub-menu .menu-link,
.ast-builder-menu-1 .sub-menu .menu-link {
	font-family: var(--fmf-font-body) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	color: #111 !important;
	padding: 10px 18px !important;
}

.main-header-menu .sub-menu .menu-link:hover {
	background: #f6f6f6 !important;
}

/* Header CTA button */
.ast-header-button-1 .ast-custom-button,
.ast-builder-button-wrap .ast-custom-button {
	font-family: var(--fmf-font-head) !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	background: #000 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 12px 18px !important;
	line-height: 1.2 !important;
}

.ast-header-button-1 .ast-custom-button:hover,
.ast-builder-button-wrap .ast-custom-button:hover {
	background: #222 !important;
	color: #fff !important;
}

/* ========== ASTRA FOOTER ========== */
.site-footer,
.ast-footer-copyright,
.ast-builder-footer-grid {
	background: var(--fmf-cream) !important;
	font-family: var(--fmf-font-body);
}

.site-footer {
	border-top: 1px solid var(--fmf-border);
	padding-top: 28px;
	padding-bottom: 12px;
}

.site-primary-footer-wrap {
	padding-top: 10px;
	padding-bottom: 10px;
}

.fmf-astra-footer-logo img,
.ast-footer-html-1 img,
.site-footer .custom-logo-link img {
	max-height: 56px !important;
	width: auto !important;
	height: auto !important;
	filter: none !important;
}

.footer-primary-menu .menu-link,
.ast-footer-menu .menu-link,
#astra-footer-menu .menu-link {
	font-family: var(--fmf-font-body) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	color: #000 !important;
	padding: 6px 10px !important;
	white-space: nowrap;
}

#astra-footer-menu,
.ast-footer-menu {
	flex-wrap: nowrap !important;
	justify-content: center !important;
}

.site-footer-primary-section-2 {
	display: flex;
	justify-content: center;
	align-items: center;
}

.ast-footer-social-1,
.site-footer-primary-section-3 .ast-builder-social-element-wrap {
	display: flex !important;
	justify-content: flex-end;
	align-items: center;
	gap: 10px;
	margin-bottom: 4px;
}

.ast-footer-social-1 .ast-builder-social-element,
.site-footer .ast-builder-social-element {
	border: none !important;
	color: #000 !important;
	background: transparent !important;
	border-radius: 0 !important;
	width: auto;
	height: auto;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	margin: 0 2px !important;
	padding: 4px !important;
	font-size: 16px !important;
}

.ast-footer-social-1 .ast-builder-social-element:hover {
	opacity: 0.65;
	background: transparent !important;
	color: #000 !important;
}

.ast-footer-copyright,
.site-below-footer-wrap {
	font-size: 11px !important;
	color: var(--fmf-muted) !important;
	padding-top: 8px !important;
	padding-bottom: 16px !important;
}

.fmf-astra-copy {
	margin: 6px 0 0 !important;
	font-size: 11px !important;
	color: var(--fmf-muted) !important;
	text-align: right;
	font-family: var(--fmf-font-body);
	white-space: nowrap;
}

.site-footer #astra-footer-menu .dropdown-menu-toggle,
.site-footer .ast-header-navigation-arrow {
	display: none !important;
}

.site-primary-footer-wrap .ast-builder-grid-row {
	align-items: center;
}

.site-footer-primary-section-3 {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	gap: 8px;
}

.site-below-footer-wrap .ast-builder-grid-row {
	justify-content: flex-end;
}

/* ========== ELEMENTOR PAGE SECTIONS ========== */
.page-id-9 .elementor,
.page-id-111 .elementor {
	font-family: var(--fmf-font-body);
	color: var(--fmf-black);
}

.fmf-el-btn-solid .elementor-button,
.fmf-el-btn-ghost .elementor-button {
	border-radius: 0 !important;
	padding: 14px 22px !important;
	font-family: var(--fmf-font-head) !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.fmf-el-btn-solid .elementor-button:hover,
.fmf-el-btn-ghost .elementor-button:hover {
	transform: translateY(-1px);
}

.fmf-el-btn-ghost .elementor-button {
	background: transparent !important;
	color: #000 !important;
	border: 1px solid #000 !important;
}

.fmf-el-btn-ghost .elementor-button:hover {
	background: #000 !important;
	color: #fff !important;
}

.fmf-el-serif .elementor-heading-title,
.fmf-el-serif {
	font-family: var(--fmf-font-head) !important;
	color: #000000 !important;
	letter-spacing: -0.01em;
}

.fmf-el-eyebrow .elementor-heading-title {
	margin-bottom: 8px !important;
	color: #000000 !important;
	font-family: var(--fmf-font-body) !important;
}

.fmf-el-accent .elementor-heading-title {
	font-family: var(--fmf-font-head) !important;
	font-style: italic !important;
}

.fmf-el-usecases-intro .elementor-heading-title,
.fmf-el-usecase .elementor-heading-title,
.fmf-el-value-content .elementor-heading-title,
.fmf-el-partner .elementor-heading-title,
.fmf-el-feature .elementor-icon-box-title {
	color: #000000 !important;
	font-family: var(--fmf-font-head) !important;
}

.fmf-el-value-media .elementor-heading-title,
.fmf-el-hero-script .elementor-heading-title,
.fmf-el-hero-vertical .elementor-heading-title {
	color: #ffffff !important;
}

.fmf-el-hero-script .elementor-heading-title {
	font-family: var(--fmf-font-head) !important;
	font-style: italic !important;
	font-weight: 600 !important;
}

.fmf-el-muted,
.fmf-el-muted p {
	color: var(--fmf-muted) !important;
	line-height: 1.75;
	font-family: var(--fmf-font-body) !important;
}

.fmf-el-muted-sm,
.fmf-el-muted-sm p {
	color: var(--fmf-muted) !important;
	font-size: 12px !important;
	line-height: 1.55 !important;
}

.fmf-el-hero-media {
	position: relative !important;
	overflow: hidden;
}

.fmf-el-hero-script {
	position: absolute !important;
	top: 12%;
	right: 16%;
	z-index: 2;
	width: auto !important;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.25);
}

.fmf-el-hero-script .elementor-heading-title {
	white-space: nowrap;
}

.fmf-el-hero-vertical {
	position: absolute !important;
	top: 50%;
	right: 18px;
	z-index: 2;
	width: auto !important;
	transform: translateY(-50%) rotate(180deg);
	writing-mode: vertical-rl;
}

.fmf-el-hero-vertical .elementor-heading-title {
	letter-spacing: 0.28em !important;
	font-family: var(--fmf-font-body) !important;
}

.fmf-el-feature {
	border-right: 1px solid var(--fmf-border);
}

.fmf-el-feature:last-child {
	border-right: 0;
}

.fmf-el-feature .elementor-icon-box-wrapper {
	text-align: center;
}

.fmf-el-usecases {
	scroll-margin-top: 90px;
}

.fmf-el-usecases-grid,
.fmf-el-usecases-grid.e-con,
.fmf-el-usecases-grid > .e-con-inner {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: flex-start !important;
	gap: 18px !important;
	width: 100% !important;
}

.fmf-el-usecase,
.fmf-el-usecase.e-con {
	flex: 1 1 0 !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	overflow: hidden !important;
}

.fmf-el-usecase > .e-con-inner {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	min-width: 0 !important;
}

.fmf-el-usecase .elementor-element,
.fmf-el-usecase .elementor-widget,
.fmf-el-usecase .elementor-widget-container {
	width: 100% !important;
	max-width: 100% !important;
	position: relative !important;
	min-width: 0 !important;
}

.fmf-el-usecase-img img {
	width: 100% !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
	height: auto !important;
	display: block !important;
}

.fmf-el-usecase .elementor-widget-heading,
.fmf-el-usecase-title {
	margin-top: 14px !important;
	margin-bottom: 8px !important;
}

.fmf-el-usecase .elementor-heading-title,
.fmf-el-usecase-title .elementor-heading-title {
	color: #000 !important;
	font-family: var(--fmf-font-body) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	line-height: 1.35 !important;
	white-space: normal !important;
	overflow-wrap: break-word !important;
	word-break: break-word !important;
	max-width: 100% !important;
}

.fmf-el-usecase .fmf-el-muted-sm,
.fmf-el-usecase .fmf-el-muted-sm p {
	font-size: 12px !important;
	line-height: 1.5 !important;
}

/* Value - 3 columns */
.fmf-el-value,
.fmf-el-value.e-con,
.fmf-el-value > .e-con-inner {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	width: 100% !important;
}

.fmf-el-value-media,
.fmf-el-value-content,
.fmf-el-value-aside {
	min-height: 680px;
	flex: 1 1 0 !important;
	min-width: 0 !important;
}

.fmf-el-value-media {
	position: relative !important;
	justify-content: space-between !important;
}

.fmf-el-value-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.15) 40%, rgba(0, 0, 0, 0.45) 100%);
	pointer-events: none;
	z-index: 1;
}

.fmf-el-value-media > .e-con-inner,
.fmf-el-value-media > .elementor-widget,
.fmf-el-value-media .elementor-element {
	position: relative;
	z-index: 2;
}

.fmf-el-value-media .fmf-el-serif .elementor-heading-title {
	font-size: clamp(28px, 2.4vw, 40px) !important;
	line-height: 1.15 !important;
	max-width: 12ch;
}

.fmf-el-value-content {
	background: var(--fmf-beige) !important;
}

.fmf-el-value-aside {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.fmf-el-value-item {
	margin-bottom: 10px;
}

.fmf-el-value-item .elementor-icon-box-wrapper {
	align-items: flex-start;
	gap: 14px !important;
}

.fmf-el-value-item .elementor-icon {
	font-size: 18px !important;
}

.fmf-el-value-item .elementor-icon-box-title {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 11px !important;
	font-weight: 700 !important;
	margin-bottom: 2px !important;
	font-family: var(--fmf-font-body) !important;
}

.fmf-el-value-item .elementor-icon-box-description {
	margin: 0 !important;
	font-size: 13px !important;
	color: var(--fmf-muted) !important;
	line-height: 1.45 !important;
}

.fmf-el-quote-card {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	width: 100% !important;
	max-width: 220px !important;
	margin: 0 auto !important;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
	text-align: center !important;
}

.fmf-el-quote-card .elementor-widget-text-editor,
.fmf-el-quote-card p {
	font-family: var(--fmf-font-head) !important;
	font-size: 15px !important;
	line-height: 1.45 !important;
	color: #000 !important;
	text-align: center !important;
}

.fmf-el-on-dark .elementor-heading-title,
.fmf-el-on-dark,
.fmf-el-on-dark p {
	color: rgba(255, 255, 255, 0.95) !important;
}

.fmf-partner__links {
	display: flex;
	justify-content: flex-end;
	gap: 14px;
	margin-top: 14px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-family: var(--fmf-font-body);
}

.fmf-partner__links a {
	color: var(--fmf-black) !important;
	text-decoration: none !important;
}

.fmf-el-founder-photo img {
	width: 100% !important;
	height: auto !important;
	object-fit: cover;
	filter: grayscale(100%);
}

.fmf-el-founder-bio p {
	margin: 0 0 1.15em !important;
	font-family: var(--fmf-font-body) !important;
	line-height: 1.75 !important;
	color: #333 !important;
}

@media (max-width: 1100px) {
	.fmf-el-hero,
	.fmf-el-value,
	.fmf-el-value > .e-con-inner,
	.fmf-el-partner,
	.fmf-el-features {
		flex-wrap: wrap !important;
	}

	.fmf-el-hero-copy,
	.fmf-el-hero-media,
	.fmf-el-value-media,
	.fmf-el-value-content,
	.fmf-el-value-aside {
		width: 100% !important;
		flex: 1 1 100% !important;
		min-height: 420px !important;
	}

	.fmf-el-feature {
		width: 50% !important;
		border-bottom: 1px solid var(--fmf-border);
	}

	.fmf-el-usecases-grid,
	.fmf-el-usecases-grid.e-con,
	.fmf-el-usecases-grid > .e-con-inner {
		flex-wrap: wrap !important;
	}

	.fmf-el-usecase,
	.fmf-el-usecase.e-con {
		flex: 0 0 calc(25% - 14px) !important;
		width: calc(25% - 14px) !important;
		max-width: calc(25% - 14px) !important;
	}
}

@media (max-width: 900px) {
	.fmf-el-usecases,
	.fmf-el-partner {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.fmf-el-usecase,
	.fmf-el-usecase.e-con {
		flex: 0 0 calc(50% - 10px) !important;
		width: calc(50% - 10px) !important;
		max-width: calc(50% - 10px) !important;
	}

	.fmf-el-hero-copy {
		padding: 48px 20px !important;
	}
}

@media (max-width: 640px) {
	.fmf-el-feature,
	.fmf-el-usecase,
	.fmf-el-usecase.e-con {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}
}
