/*
Theme Name: Aveeros
Theme URI:
Author:
Author URI:
Description: Custom theme for Aveeros.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aveeros
*/

/* One font across every page: Poppins, as in the design files. */
:root {
	--font-sans: "Poppins", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Heading weights as in the design (Poppins Bold / SemiBold). Headings with
   their own weight class or inline style keep it. */
h1,
h2 {
	font-weight: 700;
}

h3,
h4,
h5,
h6 {
	font-weight: 600;
}

/* Desktop header: Poppins is wider than the old system font, so keep menu
   labels on one line, keep the logo clear of the links and tighten spacing
   on narrower desktops. */
@media (min-width: 1024px) {
	nav[data-nav-menu] > div > div > div:first-child {
		flex-shrink: 0;
		margin-right: 1.75rem;
	}

	nav[data-nav-menu] .lg\:flex a,
	nav[data-nav-menu] .lg\:flex button {
		white-space: nowrap;
	}
}

@media (min-width: 1024px) and (max-width: 1535px) {
	nav[data-nav-menu] .lg\:flex.space-x-7 > :not(:last-child) {
		margin-inline-end: 1.1rem !important;
		margin-inline-start: 0 !important;
	}

	nav[data-nav-menu] .lg\:flex.space-x-7 > * {
		margin-inline-start: 0 !important;
	}

	nav[data-nav-menu] .lg\:flex.gap-6 {
		gap: 1.1rem;
	}

	nav[data-nav-menu] .lg\:flex .text-sm {
		font-size: 0.8rem;
	}

	nav[data-nav-menu] .lg\:flex a.px-6 {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

/* Product page brochure band: button under the text on mobile, centred in its column from md up. */
.aveeros-brochure-cta {
	align-items: flex-start;
}

@media (min-width: 768px) {
	.aveeros-brochure-cta {
		align-items: center;
	}
}

/* Homepage hero tab labels. */
.aveeros-hero-tab {
	font-size: 0.875rem;
}

@media (min-width: 640px) {
	.aveeros-hero-tab {
		font-size: 1rem;
	}
}

/* Banners whose photo has a dark left side: on narrow screens that side is
   cropped away, so darken the whole image to keep the text readable. */
.aveeros-hero-shade {
	background: rgba(12, 14, 16, 0.5);
	pointer-events: none;
}

@media (min-width: 1024px) {
	.aveeros-hero-shade {
		display: none;
	}
}

/* Keep the fixed nav below the WordPress admin bar when logged in. */
.admin-bar nav[data-nav-menu] {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar nav[data-nav-menu] {
		top: 46px;
	}
}

/* Offset in-page anchor jumps (#features, #video, ...) for the fixed 80px nav. */
html {
	scroll-padding-top: 80px;
}

/* Logged in: the nav sits below the admin bar, so add its height too. */
html:has(body.admin-bar) {
	scroll-padding-top: 112px;
}

@media screen and (max-width: 782px) {
	html:has(body.admin-bar) {
		scroll-padding-top: 126px;
	}
}

/* Smooth-scroll to in-page anchors, unless the visitor prefers reduced motion. */
@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

/* Contact form: visually hidden honeypot and busy submit button. */
.aveeros-hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

form[aria-busy="true"] button[type="submit"] {
	opacity: 0.6;
	cursor: wait;
}

/* Events page lightbox (assets/js/events.js). */
.aveeros-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem;
	background: rgba(0, 0, 0, 0.85);
	cursor: zoom-out;
}

.aveeros-lightbox img {
	max-width: 100%;
	max-height: 100%;
	border-radius: 1rem;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}
