/* Peregrine Group — placeholder theme overrides */
@import url('tokens.generated.css');

/* Brand font (Inter) — load from Bunny CDN, no Google Fonts dependency */
@import url('https://fonts.bunny.net/css?family=inter:300,400,500,600,700&display=swap');

/* Entire page is navy — every wrapper, every fallback */
html, body,
.site, #page, #content, .site-content, .site-main,
.entry-content, article, main,
.elementor, .elementor-section-wrap,
.elementor-page, .elementor-default {
    background-color: var(--pgn-navy-900, #0f172a) !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff;
}

/* Strip every theme wrapper that adds margin/padding around the page content */
.site-header, .site-footer, .site-main,
.page-content, .entry-content, .hentry,
article, article.page,
main, main#content, main.site-main,
#page, #content, .site-content,
.elementor-location-header, .elementor-location-footer,
footer, header,
.site-main > .elementor,
.site-main > article,
.site-main > article > .entry-content,
#primary, .content-area {
    margin: 0 !important;
    padding: 0 !important;
}

/* Hide page title/header if theme adds one (placeholder hero is the page) */
.page-header, .entry-header { display: none !important; }

/* Kill the top site header AND default theme footer — placeholder has no nav,
   and our copyright is rendered by the Elementor footer section instead. */
header.site-header,
.site-header,
.elementor-location-header,
footer.site-footer,
.site-footer,
.elementor-location-footer,
#wpadminbar { display: none !important; }
html { margin-top: 0 !important; }

/* Lock body font to Inter (Bunny CDN, no Google Fonts dependency) */
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: #ffffff;
    -webkit-font-smoothing: antialiased;
}

/* Hello-elementor's admin-bar offset breaks the 100vh hero — kill it for the home page */
html { margin-top: 0 !important; }
* html body { margin-top: 0 !important; }

/* Hero logo width — Elementor regenerates post-8.css on-demand for logged-in
   admins, not during deploys, so the per-element width rule may be missing on
   prod page loads. Enforce here so the image always fits the column. */
.elementor-element-ghero-mark { text-align: center; }
.elementor-element-ghero-mark img {
    max-width: 450px !important;
    width: 100% !important;
    height: auto !important;
    display: inline-block;
}
@media (max-width: 1024px) {
    .elementor-element-ghero-mark img { max-width: 360px !important; }
}
@media (max-width: 600px) {
    .elementor-element-ghero-mark img { max-width: 200px !important; }
}
