/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/

/* ==========================================================================
   GMSA Estate
   Colours: gold #cbaa5c / #bc9c50, navy #1d2939 / #121a26, ink #171717
   ========================================================================== */

:root {
	--gmsa-gold: #cbaa5c;
	--gmsa-gold-dark: #bc9c50;
	--gmsa-navy: #1d2939;
	--gmsa-cream: #f7f3ea;
}

/* ---------- Header ---------- */
.fusion-secondary-header {
	border-bottom: 0;
}
.fusion-secondary-header .fusion-contact-info,
.fusion-secondary-header .fusion-contact-info a {
	letter-spacing: 0.02em;
}
.fusion-secondary-header .fusion-contact-info a:hover {
	color: var(--gmsa-gold) !important;
}
.fusion-header-wrapper .fusion-header {
	box-shadow: 0 2px 18px rgba(29, 41, 57, 0.06);
}
.fusion-main-menu > ul > li > a .menu-text {
	transition: color 0.2s ease;
}
.fusion-main-menu .sub-menu {
	border-top: 3px solid var(--gmsa-gold) !important;
	box-shadow: 0 12px 30px rgba(29, 41, 57, 0.12) !important;
	min-width: 220px;
}
.fusion-main-menu .sub-menu li a {
	text-transform: none;
	letter-spacing: 0.02em;
	font-size: 14px;
}

/* ---------- Home slider ---------- */
.fusion-slider-sc-home-slider .slide-content-container {
	z-index: 3;
}
.fusion-slider-sc-home-slider .slides li .background::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(18, 26, 38, 0.15) 0%, rgba(18, 26, 38, 0.55) 70%, rgba(18, 26, 38, 0.7) 100%);
	pointer-events: none;
}
.fusion-slider-sc-home-slider .heading h2,
.fusion-slider-sc-home-slider .heading .fusion-title-heading {
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}
.fusion-slider-sc-home-slider .caption h3,
.fusion-slider-sc-home-slider .caption .fusion-title-heading {
	font-family: Questrial, Arial, sans-serif !important;
	max-width: 720px;
	margin: 0 auto;
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.4);
}
.fusion-slider-sc-home-slider .heading::after {
	content: "";
	display: block;
	width: 64px;
	height: 3px;
	margin: 18px auto 20px;
	background: var(--gmsa-gold);
}

/* ---------- Page title bar ---------- */
.fusion-page-title-bar {
	position: relative;
}
.fusion-page-title-bar::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(18, 26, 38, 0.55), rgba(18, 26, 38, 0.8));
}
.fusion-page-title-bar .fusion-page-title-row {
	position: relative;
	z-index: 1;
}
.fusion-page-title-bar h1 {
	letter-spacing: 0.01em;
}
.fusion-page-title-bar .fusion-breadcrumbs {
	margin-top: 10px;
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.fusion-page-title-bar .fusion-breadcrumbs .breadcrumb-leaf {
	color: var(--gmsa-gold);
}

/* ---------- Content ---------- */
.gmsa-eyebrow,
.fusion-text h4[style*="letter-spacing"] {
	font-family: Montserrat, Arial, sans-serif;
	font-size: 13px !important;
	font-weight: 600;
	letter-spacing: 0.25em !important;
	margin-bottom: 6px;
}
.fusion-title .fusion-title-heading::after {
	content: none;
}
.fusion-imageframe img,
.fusion-gallery .fusion-gallery-image img,
.fusion-video video {
	border-radius: 6px;
}
.fusion-video video {
	box-shadow: 0 20px 50px rgba(29, 41, 57, 0.18);
}
.fusion-gallery .fusion-gallery-image {
	overflow: hidden;
	border-radius: 6px;
}
.fusion-gallery .fusion-gallery-image img {
	transition: transform 0.4s ease;
}
.fusion-gallery .fusion-gallery-image:hover img {
	transform: scale(1.04);
}

/* Blog cards */
.fusion-blog-shortcode .fusion-post-grid .fusion-post-wrapper {
	border: 0 !important;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 10px 30px rgba(29, 41, 57, 0.08);
}

/* Placeholder notices */
.fusion-alert.alert-warning,
.fusion-alert.warning {
	border-radius: 6px;
	border-left: 4px solid var(--gmsa-gold) !important;
	background: var(--gmsa-cream) !important;
	color: #6b5a2c !important;
}

/* Download Manager lists */
.w3eden .link-template-default.card {
	border-radius: 8px;
	border-color: rgba(29, 41, 57, 0.08);
	box-shadow: 0 6px 18px rgba(29, 41, 57, 0.05);
	margin-bottom: 14px;
}
.w3eden .btn-primary,
.w3eden .btn.btn-primary {
	background: var(--gmsa-gold) !important;
	border-color: var(--gmsa-gold) !important;
}

/* Contact Form 7 */
.wpcf7-form input:not([type="submit"]),
.wpcf7-form textarea {
	border-radius: 4px;
	border-color: rgba(29, 41, 57, 0.15);
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
	border-color: var(--gmsa-gold);
}

/* ---------- Ultimate Member ---------- */
.um {
	margin: 0 auto !important;
}
.um-login,
.um-register,
.um-password {
	max-width: 460px !important;
	padding: 40px 36px !important;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 16px 50px rgba(29, 41, 57, 0.1);
}
/* Registration has the long legal conditions – give it more room. */
.um-register {
	max-width: 720px !important;
	padding: 44px 48px !important;
}
.um .um-form input[type="text"],
.um .um-form input[type="password"],
.um .um-form input[type="email"],
.um .um-form input[type="tel"] {
	border-radius: 4px !important;
	height: 46px !important;
}
.um .um-button,
.um input[type="submit"].um-button,
.um a.um-button {
	background: var(--gmsa-gold) !important;
	color: #fff !important;
	border-radius: 4px !important;
}
.um .um-button:hover,
.um input[type="submit"].um-button:hover,
.um a.um-button:hover {
	background: var(--gmsa-gold-dark) !important;
}
.um .um-button.um-alt {
	background: #eef0f3 !important;
	color: var(--gmsa-navy) !important;
}
.um a.um-link,
.um .um-field-checkbox.active .um-field-checkbox-state i,
.um .um-tip:hover,
.um-account-side li a.current,
.um-account-side li a.current:hover {
	color: var(--gmsa-gold) !important;
}
.um-misc-with-img,
.um-content-restriction,
.post-password-form {
	max-width: 640px;
	margin: 40px auto;
	padding: 28px 32px;
	text-align: center;
	background: var(--gmsa-cream);
	border-radius: 8px;
}

/* ---------- Footer ---------- */
.fusion-footer-widget-area .widget-title,
.fusion-footer-widget-area h4 {
	color: var(--gmsa-gold) !important;
	margin-bottom: 18px;
}
.fusion-footer-widget-area ul {
	list-style: none;
	padding-left: 0;
}
.fusion-footer-widget-area ul li {
	padding: 6px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.fusion-footer-widget-area .wp-block-latest-posts__list li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.fusion-footer a:hover {
	color: var(--gmsa-gold) !important;
}

/* ---------- Mobile ---------- */
@media (max-width: 800px) {
	.fusion-slider-sc-home-slider .heading h2 {
		font-size: 40px !important;
		line-height: 1.15 !important;
	}
	.fusion-slider-sc-home-slider .caption h3 {
		font-size: 16px !important;
	}
	.fusion-page-title-bar h1 {
		font-size: 34px !important;
	}
	.um-login,
	.um-register,
	.um-password {
		padding: 28px 20px !important;
		box-shadow: none;
	}
}

/* Title-bar photo: keep the sky and road in frame. */
.fusion-page-title-bar {
	background-position: center 55% !important;
}

/* Payments – bank details card */
.gmsa-bank-card {
	max-width: 560px;
	margin: 30px auto;
	padding: 28px 34px;
	background: #fff;
	border-top: 4px solid var(--gmsa-gold);
	border-radius: 8px;
	box-shadow: 0 16px 50px rgba(29, 41, 57, 0.1);
}
.gmsa-bank-card dl {
	display: grid;
	grid-template-columns: 150px 1fr;
	gap: 12px 20px;
	margin: 0;
}
.gmsa-bank-card dt {
	color: #6b7280;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	align-self: center;
}
.gmsa-bank-card dd {
	margin: 0;
	color: var(--gmsa-navy);
	font-weight: 600;
}
.gmsa-bank-card .gmsa-account-number {
	font-size: 22px;
	letter-spacing: 0.08em;
}
@media (max-width: 560px) {
	.gmsa-bank-card dl {
		grid-template-columns: 1fr;
		gap: 2px;
	}
	.gmsa-bank-card dd {
		margin-bottom: 10px;
	}
}

/* Our Team – people cards */
.gmsa-section-intro {
	max-width: 620px;
	margin: 0 auto 40px;
	color: #5b6472;
}
.gmsa-people {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 22px;
}
.gmsa-person {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 30px 20px 26px;
	text-align: center;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 10px 30px rgba(29, 41, 57, 0.07);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.gmsa-person:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 40px rgba(29, 41, 57, 0.12);
}
.gmsa-person__avatar {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	margin-bottom: 16px;
	border-radius: 50%;
	background: var(--gmsa-cream);
	border: 2px solid var(--gmsa-gold);
	color: var(--gmsa-navy);
	font-family: "Playfair Display", Georgia, serif;
	font-size: 22px;
	font-weight: 700;
}
.gmsa-person__name {
	color: var(--gmsa-navy);
	font-family: "Playfair Display", Georgia, serif;
	font-size: 19px;
	line-height: 1.3;
}
.gmsa-person__role {
	margin-top: 6px;
	color: var(--gmsa-gold-dark);
	font-family: Montserrat, Arial, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

/* Documents – protected (on request) */
.gmsa-protected-doc {
	display: flex;
	gap: 24px;
	align-items: flex-start;
	margin: 10px 0 34px;
	padding: 28px 30px;
	background: var(--gmsa-cream);
	border-left: 4px solid var(--gmsa-gold);
	border-radius: 8px;
}
.gmsa-protected-doc__icon {
	flex: 0 0 52px;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--gmsa-gold);
	color: #fff;
	font-size: 20px;
}
.gmsa-protected-doc__body h3 {
	margin: 0 0 8px;
}
.gmsa-protected-doc__note {
	font-size: 14px;
	color: #6b5a2c;
}
@media (max-width: 600px) {
	.gmsa-protected-doc {
		flex-direction: column;
		padding: 22px 20px;
	}
}

.gmsa-section-intro {
	text-align: center;
}
.w3eden .link-template-default .package-title,
.w3eden .link-template-default h3 {
	font-size: 22px !important;
	line-height: 1.3 !important;
	margin: 0 0 4px !important;
}
