/*
Theme Name: Astra Child
Template: astra
Version: 1.1.2
Description: Child theme for the ShireMigration site
*/

/*
 * Brand: gold #9A690F (Astra global colour 0), deep gold #885C09, near-black #1A0E00,
 * cream #FFF7F0, sand #F6E7D2. Headings Libre Baskerville, body Open Sans.
 */
:root {
	--sm-gold: #9a690f;
	--sm-gold-dark: #885c09;
	--sm-ink: #1a0e00;
	--sm-cream: #fff7f0;
	--sm-sand: #f6e7d2;
	--sm-line: #e9dcc8;
}

/* Page headers: brand cream instead of Spectra's default blue-to-purple gradient
   (every page header block has "hero" in its block id) */
body .wp-block-uagb-container.uagb-is-root-container[class*="hero"],
body.home .entry-content > .wp-block-group.alignfull.has-background:first-child {
	background: linear-gradient(135deg, var(--sm-cream) 0%, var(--sm-sand) 100%) !important;
}

/* Buttons: one primary style everywhere (Spectra info boxes, core buttons, header) */
body .wp-block-button__link,
body .uagb-infobox-cta-link,
body .ast-builder-button-wrap .ast-custom-button {
	background: var(--sm-gold) !important;
	border: 1px solid var(--sm-gold) !important;
	border-radius: 30px !important;
	color: #fff !important;
	font-family: 'Open Sans', sans-serif;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 2px;
	line-height: 1.3 !important;
	padding: 14px 30px !important;
	text-transform: uppercase;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

body .wp-block-button__link:hover,
body .wp-block-button__link:focus,
body .uagb-infobox-cta-link:hover,
body .uagb-infobox-cta-link:focus,
body .ast-builder-button-wrap a:hover .ast-custom-button,
body .ast-builder-button-wrap a:focus .ast-custom-button {
	background: var(--sm-ink) !important;
	border-color: var(--sm-ink) !important;
	color: #fff !important;
}

/* Booking form (LatePoint): gold instead of LatePoint's default blue */
body {
	--latepoint-brand-primary: #9a690f;
}

/* Booking form: instruction above the comment box. LatePoint has no setting or hook for it, and the box's own label
   (functions.php) stays short because LatePoint reuses it in "can not be blank" messages. */
.latepoint-w div:has(> .os-form-textarea-group textarea[name="customer[notes]"])::before {
	color: var(--sm-ink);
	content: "Describe your immigration need. Include which visa subclass you are currently on and when it expires.";
	display: block;
	font-size: 14px;
	line-height: 1.5;
	margin-bottom: 8px;
}

/* Header menu: 8 items (incl. Home) on one line on smaller laptops; Customizer CSS sets 7px / 13.5px */
@media (min-width: 922px) and (max-width: 1199px) {
	body .main-navigation .main-header-menu > .menu-item > a {
		font-size: 13px !important;
		padding: 0 5px !important;
	}

	body .ast-builder-button-wrap .ast-custom-button {
		font-size: 12px !important;
		letter-spacing: 1px;
		padding: 10px 16px !important;
		white-space: nowrap;
	}

	body .site-title,
	body .site-title a {
		font-size: 18px !important;
		white-space: nowrap;
	}
}

/* Header on laptops: the Customizer CSS reserves a fixed 15% (min 180px) logo area; size it to content
   and keep the button on one line */
@media (min-width: 922px) {
	body .site-header-section-left {
		flex: 0 0 auto !important;
		margin-right: 24px;
		min-width: 0 !important;
	}

	body .ast-builder-button-wrap .ast-custom-button {
		white-space: nowrap;
	}
}

/* Smaller laptops / tablets landscape: logo mark only, so the full menu and button fit on one line */
@media (min-width: 922px) and (max-width: 1149px) {
	body .ast-site-title-wrap {
		display: none;
	}
}

/* Visas overview: group headings smaller than the page title */
.page-id-4251 .wp-block-column h2 {
	font-size: 1.75rem;
	margin-bottom: 0.75em;
}

/* Phones: headlines that fit, a homepage photo with some presence */
@media (max-width: 767px) {
	body .entry-content h1,
	body .uagb-ifb-title {
		font-size: clamp(2rem, 9vw, 2.5rem) !important;
		line-height: 1.15 !important;
	}

	body.home .wp-block-image.size-full img {
		aspect-ratio: 4 / 3 !important;
		height: auto !important;
		object-fit: cover;
		width: 100% !important;
	}

	body .wp-block-button__link,
	body .uagb-infobox-cta-link {
		padding: 14px 22px !important;
	}
}

/* Footer (markup in functions.php, replaces Astra's footer builder) */
.sm-footer {
	background: var(--sm-ink);
	color: #e9e2d8;
	font-size: 15px;
	line-height: 1.7;
}

.sm-footer a {
	color: #e9e2d8;
	text-decoration: none;
}

.sm-footer a:hover,
.sm-footer a:focus {
	color: #e8b75a;
	text-decoration: underline;
}

.sm-footer__inner {
	display: grid;
	gap: 40px;
	grid-template-columns: 1.6fr 1fr 1fr 1.3fr;
	margin: 0 auto;
	max-width: 1200px;
	padding: 64px 40px 48px;
}

.sm-footer__brand {
	color: #fff;
	font-family: 'Libre Baskerville', serif;
	font-size: 22px;
	margin: 0 0 12px;
}

.sm-footer__about {
	margin: 0 0 20px;
	max-width: 340px;
}

.sm-footer__mara img {
	border-radius: 6px;
	display: block;
	height: auto;
	width: 130px;
}

.sm-footer__heading {
	color: #fff;
	font-family: 'Open Sans', sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 2px;
	margin: 0 0 16px;
	text-transform: uppercase;
}

.sm-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sm-footer li {
	margin: 0 0 8px;
}

.sm-footer__contact li {
	margin-bottom: 10px;
}

.sm-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.sm-footer__bottom-inner {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	font-size: 13px;
	gap: 8px 24px;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1200px;
	padding: 20px 40px;
}

.sm-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
}

.sm-footer__disclaimer {
	color: #b9ad9d;
	flex-basis: 100%;
	font-size: 12px;
	margin: 0;
}

@media (max-width: 921px) {
	.sm-footer__inner {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 544px) {
	.sm-footer__inner {
		gap: 32px;
		grid-template-columns: 1fr;
		padding: 48px 24px 32px;
	}

	.sm-footer__bottom-inner {
		padding: 20px 24px;
	}
}
