/*
Theme Name: Aero
Theme URI: https://example.invalid/aero
Author: Generaxion
Description: Rebrandable Gutenberg reference theme based on the GX Easy Aero design.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: aero
*/

@font-face {
  font-family: "Exo 2";
  src: url("assets/fonts/exo2-variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --aero-content: 800px;
  --aero-wide: 1216px;
  --aero-page-pad: clamp(1.5rem, 6vw, 7rem);
}

html { scroll-behavior: smooth; }
body { background: var(--wp--preset--color--background); }
a, button, input, textarea { transition: color .2s ease, background-color .2s ease, border-color .2s ease, opacity .2s ease; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid var(--wp--preset--color--highlight); outline-offset: 3px; }
.wp-site-blocks { overflow: clip; }
.site-main { margin-top: 0; }
.site-main > .wp-block-post-content { margin-top: 0; }

.site-header { position: relative; z-index: 20; width: 100%; background: var(--wp--preset--color--background); }
.site-header--overlay { position: absolute; inset: 0 0 auto; z-index: 20; width: 100%; background: transparent; }
.site-header--overlay .site-header { background: transparent; }
.site-header__inner { min-height: 104px; padding: 24px 56px; }
.site-header .wp-block-site-logo img { width: 205px; height: 37px; object-fit: contain; object-position: left center; }
.site-header .wp-block-navigation { font-size: 22px; line-height: 24px; }
.site-header .wp-block-navigation-item__content { padding: 6px 16px; text-decoration: none; }
.site-header .current-menu-item > .wp-block-navigation-item__content { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 10px; }
.site-header__cta { margin-left: 16px; }

.aero-hero { min-height: 720px; margin-top: 0; }
.aero-hero .wp-block-cover__inner-container { width: min(calc(100% - 48px), var(--aero-content)); margin: auto; padding: 120px 0 40px; text-align: center; }
.aero-hero h1 { max-width: var(--aero-content); margin-inline: auto; }
.aero-hero .wp-block-buttons,
.aero-compact-hero .wp-block-buttons,
.aero-services-intro .wp-block-buttons { justify-content: center; }
.aero-compact-hero { display: flex; min-height: 408px; align-items: center; box-sizing: border-box; padding: 80px var(--aero-page-pad); }
.aero-compact-hero__inner { width: min(100%, var(--aero-content)); text-align: center; }

.aero-section { box-sizing: border-box; padding: 80px var(--aero-page-pad); }
.aero-section--tight { padding-top: 56px; padding-bottom: 56px; }
.aero-section--intro { text-align: center; }
.aero-section--intro > p { margin: 0; }
.aero-copy { color: var(--wp--preset--color--muted); }
.aero-lead { font-size: 20px; font-weight: 600; line-height: 1.6; }

.aero-two-column { gap: 0; align-items: flex-start !important; }
.aero-two-column > .wp-block-column { flex-basis: 50%; }
.aero-two-column__heading { padding: 0 80px 32px; }
.aero-two-column__copy { padding-bottom: 32px; }

.aero-media-text { width: 100%; gap: 0; align-items: stretch !important; }
.aero-media-text > .wp-block-column { flex-basis: 50%; }
.aero-media-text__copy { display: flex; flex-direction: column; justify-content: center; padding: 56px 80px; }
.aero-media-text__media { min-height: 500px; }
.aero-media-text__media figure, .aero-media-text__media img { width: 100%; height: 100%; margin: 0; object-fit: cover; }
.aero-media-text__actions { gap: 24px; margin-top: 32px; }

.wp-block-button__link { box-shadow: none; }
.wp-block-button__link:hover { opacity: .86; }
.aero-button--arrow .wp-block-button__link::after { content: "\2192"; display: inline-block; margin-left: 12px; font-size: 20px; line-height: 1; }

.aero-cta { padding: 80px var(--aero-page-pad); }
.aero-cta__inner { width: 100%; max-width: 960px; margin-inline: auto; gap: 64px; align-items: center !important; }
.aero-cta__inner p { margin: 0; }
.aero-cta .wp-block-buttons { justify-content: flex-end; }

.aero-services-intro { text-align: center; }
.aero-services-intro h2 { margin-top: 56px; }

.aero-service-list { display: grid; gap: 80px; }
.aero-service-row { gap: 0; align-items: stretch !important; }
.aero-service-row > .wp-block-column { flex-basis: 50%; }
.aero-service-row__copy { padding: 56px 80px; }
.aero-service-row__media { min-height: 500px; }
.aero-service-row__media figure, .aero-service-row__media img { width: 100%; height: 100%; margin: 0; object-fit: cover; }

.aero-reference-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px 80px; }
.aero-reference-card { margin: 0; }
.aero-reference-card h3 { margin-bottom: 16px; }
.aero-reference-card ul { margin: 16px 0 0; padding-left: 1.2em; }
.aero-reference-card .aero-location { margin-bottom: 8px; }

.aero-contact-card { width: 100%; gap: 0; align-items: stretch !important; }
.aero-contact-card > .wp-block-column { flex-basis: 50%; }
.aero-contact-card__copy { display: flex; flex-direction: column; justify-content: center; padding: 56px 80px; }
.aero-contact-card__media { min-height: 403px; }
.aero-contact-card__media figure, .aero-contact-card__media img { width: 100%; height: 100%; margin: 0; object-fit: cover; border-radius: 8px; }

.aero-form-section { padding: 72px var(--aero-page-pad); }
.aero-form-section__inner { max-width: 800px; margin-inline: auto; }
.aero-form-section .gform_wrapper { color: var(--wp--preset--color--background); }
.aero-form-section .gform_fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.aero-form-section .gfield:first-child, .aero-form-section .gfield:nth-child(4), .aero-form-section .gfield--type-consent { grid-column: 1 / -1; }
.aero-form-section input:not([type="checkbox"]), .aero-form-section textarea { width: 100%; border: 1px solid var(--wp--preset--color--background); border-radius: 0; background: transparent; color: var(--wp--preset--color--background); padding: 12px; }
.aero-form-section .gform_button { border: 0; background: var(--wp--preset--color--background); color: white; padding: 16px 32px; font-family: inherit; font-size: 16px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
.aero-form-fallback { padding: 24px; border: 1px solid currentColor; }

.site-footer { padding: 80px 112px 24px; }
.site-footer__grid { max-width: 1216px; margin-inline: auto; gap: 72px; align-items: flex-start !important; }
.site-footer__about { flex-basis: 45% !important; }
.site-footer__contact, .site-footer__links { flex-basis: 24% !important; }
.site-footer .wp-block-social-links { margin-top: 24px; }
.site-footer__links .wp-block-navigation { align-items: flex-start; font-size: 16px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.site-footer__legal { max-width: 1216px; margin: 64px auto 0; text-align: right; font-size: 14px; }

@media (max-width: 1100px) {
  .site-header__inner { min-height: 80px; padding: 19px 24px; }
  .site-header .wp-block-site-logo img { width: 119px; height: 22px; }
  .site-header .site-header__cta { display: none !important; }
  .site-header .wp-block-navigation__responsive-container-open { display: flex; }
  .site-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
}

@media (max-width: 900px) {
  .aero-hero .wp-block-cover__inner-container { padding: 100px 40px 40px; }
  .aero-hero h1 { font-size: 34px !important; }
  .aero-compact-hero { padding: 64px 40px; }
  .aero-section { width: 100%; padding: 80px 40px; }
  .aero-section--intro { padding-inline: 32px; }
  .aero-two-column, .aero-media-text, .aero-service-row, .aero-contact-card, .aero-cta__inner, .site-footer__grid { flex-direction: column; }
  .aero-two-column__heading, .aero-two-column__copy, .aero-media-text__copy, .aero-service-row__copy, .aero-contact-card__copy { padding: 32px 0; }
  .aero-two-column__heading { padding-top: 0; }
  .aero-media-text__media, .aero-service-row__media, .aero-contact-card__media { width: 100%; min-height: 380px; }
  .aero-media-text .aero-media-text__media, .aero-service-row:nth-child(odd) .aero-service-row__media { order: -1; }
  .aero-cta { padding: 80px 32px; }
  .aero-cta__inner { gap: 64px; align-items: flex-start !important; }
  .aero-cta .wp-block-buttons { justify-content: flex-start; }
  .aero-reference-grid { grid-template-columns: 1fr; gap: 56px; }
  .aero-form-section { padding: 64px 32px; }
  .aero-form-section .gform_fields { grid-template-columns: 1fr; }
  .aero-form-section .gfield { grid-column: 1 !important; }
  .site-footer { padding: 56px 56px 112px; }
  .site-footer__grid { gap: 32px; }
  .site-footer__legal { margin-top: 40px; text-align: left; }
}

@media (max-width: 480px) {
  .aero-section { padding-inline: 32px; }
  .aero-compact-hero { padding-inline: 32px; }
  .aero-media-text__media, .aero-service-row__media, .aero-contact-card__media { min-height: 320px; }
  .aero-media-text__actions { align-items: stretch; flex-direction: column; }
  .aero-media-text__actions .wp-block-button,
  .aero-media-text__actions .wp-block-button__link { width: 100%; }
  .site-footer { padding-inline: 40px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
