/* =========================================
HERO (slider)
========================================= */
.hero { position: relative; min-height: 775px; overflow: hidden; }

.hero-glide, .hero-glide .glide__track, .hero-glide .glide__slides, .hero-glide .glide__slide { height: 100%; }
.hero-glide { position: absolute; inset: 0; z-index: 0; }

.hero-glide .glide__slides { display: grid; width: 100% !important; transform: none !important; }
.hero-glide .glide__slide { grid-area: 1 / 1; width: 100% !important; opacity: 0; visibility: hidden; transition: opacity var(--hero-fade-duration, 0.9s) ease, visibility var(--hero-fade-duration, 0.9s) ease; pointer-events: none; }
/* Shown by default until Glide.js mounts and takes over via .glide__slide--active.
   Scoped to :not(.glide--carousel) — the type class Glide itself adds to the root
   once it mounts — so this only applies before Glide runs (e.g. the block editor's
   preview, which never executes JS). Without that guard this rule's higher
   specificity (an extra :first-child) permanently pins the first slide visible on
   the live site even after Glide moves away from it, breaking the crossfade. */
.hero-glide:not(.glide--carousel) .glide__slide:first-child { opacity: 1; visibility: visible; z-index: 1; pointer-events: auto; }
.hero-glide .glide__slide--active { opacity: 1; visibility: visible; z-index: 2; pointer-events: auto; }
.hero__slide-media { position: absolute; inset: 0; z-index: 0; }
.hero__slide-img { width: 100%; height: 100%; object-fit: cover; }
.hero__overlay { position: absolute; inset: 0; background: linear-gradient(119.96deg, rgba(4, 4, 35, 0.65) 30%, rgba(57, 131, 57, 0.25) 50%, rgba(0, 0, 0, 0.45) 100%); }
.hero__slide-container { position: relative; z-index: 1; height: 100%; display: flex; align-items: center; padding-top: 140px; padding-bottom: 60px; }
.hero__content { color: #fff; max-width: 640px; }

/* Content Area Alignment field (desktop only — mobile always centers, see below). */
.u-hero-content-block-center .hero__slide-container { justify-content: center; }
.u-hero-content-block-center .hero__content { text-align: center; margin-inline: auto; }
.u-hero-content-block-right .hero__slide-container { justify-content: flex-end; }
.u-hero-content-block-right .hero__content { text-align: right; margin-left: auto; }

.hero__title { font-size: 45px; font-weight: 800; color: var(--color-primary); margin-bottom: 22px; text-shadow: 6px 6px 5px rgba(0, 0, 0, 0.45); }
.hero__text { font-size: 21px; color: var(--color-white); margin-bottom: 30px; text-shadow: 6px 6px 5px rgba(0, 0, 0, 0.45); }
.hero__actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.u-hero-content-block-center .hero__actions { justify-content: center; }
.u-hero-content-block-right .hero__actions { justify-content: flex-end; }

.hero__form-outer { position: absolute; inset: 0; z-index: 3; display: flex; align-items: center; justify-content: flex-end; padding-top: 140px; padding-bottom: 60px;pointer-events: none;}
.hero__form-wrap { width: 100%; max-width: 500px;pointer-events: auto; }
.quote-form { background: rgba(255, 253, 243, 1); border: 2px solid rgba(253, 230, 0, 1); border-radius: 15px; padding: 28px 30px; box-shadow: 0px 24px 60px 0px rgba(0, 0, 0, 0.35); }
.quote-form__title { font-size: 26px; font-weight: 700; margin-bottom: 8px; }
.quote-form__subtitle { font-size: 14.5px; color: #6B7280; margin-bottom: 20px; }
.quote-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 14px; }
.quote-form__field { display: flex; flex-direction: column; gap: 6px; }

.hero__bullets { position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%); z-index: 4; display: flex; gap: 16px; }
.hero__bullets .glide__bullet { position: relative; width: 15px; height: 15px; border-radius: 5px; background: rgba(255, 255, 255, 0.5); border: none; padding: 0; cursor: pointer; transition: var(--transition-default); }
.hero__bullets .glide__bullet::before { content: ''; position: absolute; top: -12px; bottom: -12px; left: -6px; right: -6px; }
.hero__bullets .glide__bullet--active { background: var(--color-primary); width: 85px; }

@media (max-width: 1199px) {
	.hero { min-height: unset; overflow: visible; }
	.hero-glide { position: relative; inset: auto; min-height: 1px; }
	.hero__slide-container { padding-top: 60px; padding-bottom: 60px; }
	.hero__content { max-width: 700px; text-align: center; margin: 0 auto; width: 100%; }
	.hero__actions { justify-content: center; }
	.hero__form-outer { position: relative; inset: auto; z-index: 1; padding-block: 0; margin-top: 40px; justify-content: center; }
	.hero__form-wrap { max-width: 600px; margin-inline: auto; }
	.quote-form { box-shadow: 0px 10px 30px 0px rgba(0, 0, 0, 0.2); }
	.hero__bullets { bottom: 20px; }
}

@media (max-width: 767px) {
	.hero-glide { min-height: 460px; }
	.hero__slide-container { padding-top: 64px; padding-bottom: 120px; }
	.hero__title { font-size: 36px; }
	.hero__text { font-size: 18px; }
	.hero__bullets { bottom: 50px; }
	.quote-form__title { font-size: 23px; }
	.quote-form__subtitle { font-size: 13.5px; }
	.hero__form-outer { margin-top: 28px; }
	.quote-form { padding: 20px; box-shadow: none; }
	.quote-form__row { grid-template-columns: 1fr; }
}

/* =========================================
PAGE HERO (inner pages)
========================================= */
.page-hero { position: relative; min-height: 496px; display: flex; align-items: center; overflow: hidden; }
.page-hero__media { position: absolute; inset: 0; z-index: 0; }
.page-hero__img { width: 100%; height: 100%; object-fit: cover; }
.page-hero__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(4, 4, 35, 0.65) 30%, rgba(57, 131, 57, 0.25) 50%, rgba(0, 0, 0, 0.45) 100%); }
.page-hero__container { position: relative; z-index: 1; width: 100%; padding-top: 140px; padding-bottom: 56px; text-align: center; }
.page-hero__title { color: var(--color-white); margin-bottom: 0; text-shadow: 6px 6px 5px rgba(0, 0, 0, 0.45); }

@media (max-width: 1199px) {
	.page-hero { min-height: 300px; }
	.page-hero__container { padding-top: 60px; padding-bottom: 60px; }
}

@media (max-width: 767px) {
	.page-hero__container { padding-top: 54px; padding-bottom: 54px; }
	.page-hero { min-height: 250px; }
}

/* =========================================
BREADCRUMB
========================================= */
.breadcrumb { padding: 70px 0 48px 0; }
.breadcrumb__list { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 16px; color: rgba(33, 37, 41, 0.75); list-style: none; padding: 0; margin: 0; }
.breadcrumb__list a { color: #040423; text-decoration: underline; }
.breadcrumb__list a:hover { color: var(--color-gold); }
.breadcrumb__sep { color: rgba(33, 37, 41, 0.75); }

@media (max-width: 1199px) {
	.breadcrumb { padding: 40px 0; }
}

@media (max-width: 767px) {
	.breadcrumb { padding: 20px 0 40px 0; }
	.breadcrumb__list { font-size: 14px; }
}
