:root {
    --hgm-black: #0f0f12;
    --hgm-black-2: #18181d;
    --hgm-cream: #F5F0E8;
    --hgm-cream-2: #efe8dc;
    --hgm-white: #ffffff;
    --hgm-text: #18181b;
    --hgm-muted: #6d6863;
    --hgm-red: #d92d2d;
    --hgm-red-bright: #e53935;
    --hgm-red-dark: #9f1f22;
    --hgm-line: rgba(24,24,27,.12);
    --hgm-radius: 10px;
    --hgm-max: 1280px;
}

body {
    font-family: "Roboto Condensed", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--hgm-text);
    background: var(--hgm-cream);
}

h1,h2,h3,h4,h5,h6,
.site-title,
.main-header-menu,
.ast-builder-menu,
button,
.button,
input[type="submit"] {
    font-family: "Oswald", Impact, sans-serif;
}

a { color: var(--hgm-red); }
a:hover { color: var(--hgm-red-dark); }

.hgm-announcement {
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 6px 16px;
    color: #fff;
    background: var(--hgm-red);
    font: 700 14px/1.1 "Oswald", sans-serif;
    text-transform: uppercase;
    letter-spacing: .055em;
    position: relative;
    z-index: 999;
}
.hgm-announcement a { color:#fff; display:flex; align-items:center; gap:8px; text-decoration:none; }

/* Brand header: dark primary row. Search field itself stays light. */
.site-header { background: var(--hgm-black); }
.ast-primary-header-bar {
    background: var(--hgm-black) !important;
    border-bottom: 0 !important;
}
.ast-primary-header-bar .site-primary-header-wrap,
.ast-primary-header-bar .ast-builder-grid-row-container,
.ast-primary-header-bar .ast-builder-grid-row {
    background: transparent !important;
}
.ast-primary-header-bar .ast-header-account-wrap,
.ast-primary-header-bar .ast-site-header-cart,
.ast-primary-header-bar .ast-header-search,
.ast-primary-header-bar .ast-icon,
.ast-primary-header-bar .ast-icon svg {
    color: var(--hgm-cream) !important;
    fill: currentColor;
}
.ast-primary-header-bar .ast-search-menu-icon.slide-search a,
.ast-primary-header-bar .ast-search-icon a {
    color: var(--hgm-cream) !important;
}
.ast-primary-header-bar .ast-header-search .search-field,
.ast-primary-header-bar input[type="search"] {
    background: #fff !important;
    color: var(--hgm-text) !important;
    border-color: #dedbd5 !important;
}
.ast-below-header-bar {
    background: var(--hgm-black) !important;
    border-top: 1px solid rgba(255,255,255,.06) !important;
    border-bottom: 0 !important;
}
.ast-below-header-bar .menu-link {
    color: var(--hgm-cream) !important;
}
.ast-below-header-bar .menu-link:hover,
.ast-below-header-bar .current-menu-item > .menu-link {
    color: var(--hgm-red-bright) !important;
}
.site-footer { background: var(--hgm-black); color: #d8d4cf; }
.site-footer a { color: #fff; }

.ast-header-search .search-field,
.site-header input[type="search"] { border-radius: 7px; }

button,
.button,
.wp-element-button,
input[type="submit"] {
    border-radius: 7px;
}

.hgm-content-shell {
    width: min(var(--hgm-max), calc(100% - 40px));
    margin: 0 auto;
}

.hgm-page-hero {
    background: linear-gradient(135deg, var(--hgm-black), #221116);
    color: white;
    padding: 50px 20px;
    border-bottom: 4px solid var(--hgm-red);
}
.hgm-page-hero__inner { width:min(var(--hgm-max),100%); margin:auto; }
.hgm-page-hero h1 { margin:0; color:#fff; text-transform:uppercase; font-size:clamp(2.8rem,6vw,5rem); line-height:.9; }
.hgm-page-hero p { margin:12px 0 0; color:#e5dfd8; max-width:800px; }

.hgm-btn {
    min-height: 52px;
    padding: 13px 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 7px;
    text-transform: uppercase;
    letter-spacing: .04em;
    font: 700 1.05rem/1 "Oswald", sans-serif;
    text-decoration: none !important;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.hgm-btn:hover { transform:translateY(-2px); }
.hgm-btn--primary { background:var(--hgm-red); color:#fff!important; border:2px solid var(--hgm-red); }
.hgm-btn--primary:hover { background:var(--hgm-red-dark); border-color:var(--hgm-red-dark); }
.hgm-btn--ghost { background:transparent; color:#fff!important; border:2px solid #fff; }
.hgm-btn--ghost:hover { background:#fff; color:var(--hgm-black)!important; }

@media (max-width: 768px) {
    .hgm-content-shell { width:min(var(--hgm-max), calc(100% - 28px)); }
    .hgm-announcement { font-size:13px; }
}

/* =========================================================
   HGM v2.5 — approved homepage/header/global/search overrides
   Moved from Appearance > Customize > Additional CSS.
   ========================================================= */

/* Remove homepage gap above hero */
body.home.hgm-custom-home #content,
body.home.hgm-custom-home .site-content,
body.home.hgm-custom-home .site-content > .ast-container,
body.home.hgm-custom-home .ast-container,
body.home.hgm-custom-home #primary,
body.home.hgm-custom-home .site-main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.home.hgm-custom-home .hgm-home,
body.home.hgm-custom-home .hgm-hero {
    margin-top: 0 !important;
    padding-top: 0;
}

/* Final brand palette */
:root {
    --hgm-red: #D92D2D;
    --hgm-cream: #F5F0E8;
    --hgm-black: #0F0F12;
}

/* Body + typography */
body {
    font-family: "Roboto Condensed", sans-serif;
    color: #333;
    background: var(--hgm-cream);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Oswald", sans-serif;
    font-weight: 700;
    color: var(--hgm-black);
}

/* Header */
.site-header,
.ast-primary-header-bar,
.ast-below-header-bar {
    background: var(--hgm-black) !important;
    border: 0 !important;
    box-shadow: none !important;
}

.ast-primary-header-bar .site-primary-header-wrap {
    background: transparent !important;
}

body.home .ast-below-header-bar,
body.home .ast-primary-header-bar {
    margin-bottom: 0 !important;
    border-bottom: 0 !important;
}

/* Final desktop header proportions */
.ast-primary-header-bar,
.site-primary-header-wrap {
    min-height: 88px !important;
}

.site-primary-header-wrap .ast-builder-grid-row {
    max-width: 1360px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}

.site-header .custom-logo {
    width: 200px !important;
    max-width: 200px !important;
    height: auto;
}

.ast-below-header-bar,
.site-below-header-wrap {
    min-height: 46px !important;
}

.site-below-header-wrap .ast-builder-grid-row {
    max-width: 1360px;
    margin: 0 auto;
}

/* Header menu */
.main-header-menu .menu-link,
.ast-builder-menu .menu-link,
.ast-builder-menu-1 .menu-item > .menu-link {
    font-family: "Oswald", sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: var(--hgm-cream) !important;
}

.ast-builder-menu-1 .menu-item > .menu-link {
    min-height: 46px !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

.main-header-menu .menu-link:hover,
.ast-builder-menu .menu-link:hover {
    color: var(--hgm-red) !important;
}

/* Search proportions */
.ast-search-menu-icon .search-form,
.ast-header-search .search-form {
    max-width: 560px;
}

.ast-header-search .search-submit,
.ast-search-menu-icon .search-submit,
.site-header .search-form .search-submit {
    position: relative !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 42px !important;
    padding: 0 !important;
    background: var(--hgm-red) !important;
    border: 0 !important;
    color: #fff !important;
}

/* Use Astra's native search icon. Do not draw a second icon with pseudo-elements. */
.ast-header-search .search-submit::before,
.ast-search-menu-icon .search-submit::before,
.site-header .search-form .search-submit::before,
.ast-header-search .search-submit::after,
.ast-search-menu-icon .search-submit::after,
.site-header .search-form .search-submit::after {
    content: none !important;
    display: none !important;
}

/* Keep Astra SVG/icon white and centered inside the red button. */
.ast-header-search .search-submit svg,
.ast-search-menu-icon .search-submit svg,
.site-header .search-form .search-submit svg,
.ast-header-search .search-submit .ast-icon,
.ast-search-menu-icon .search-submit .ast-icon,
.site-header .search-form .search-submit .ast-icon {
    color: #fff !important;
    fill: currentColor !important;
    width: 20px !important;
    height: 20px !important;
}

.site-header .search-field {
    height: 42px !important;
    border-radius: 4px 0 0 4px !important;
    background: #fff !important;
    color: var(--hgm-black) !important;
}

.site-header .search-submit {
    border-radius: 0 4px 4px 0 !important;
}

/* Buttons */
button,
.button,
.ast-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    font-family: "Oswald", sans-serif !important;
    font-weight: 700 !important;
    background: var(--hgm-red) !important;
    color: #fff !important;
    border-radius: 4px;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: "Oswald", sans-serif;
    font-weight: 600;
    color: var(--hgm-black);
}

/* Price */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-family: "Oswald", sans-serif;
    font-weight: 700;
    color: var(--hgm-red);
}

/* Footer */
.site-footer {
    background: var(--hgm-black);
    color: var(--hgm-cream);
}

/* Smooth transition from header to homepage hero */
.home .hgm-hero {
    position: relative;
    margin-top: 0 !important;
}

.home .hgm-hero::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 110px;
    background: linear-gradient(
        to bottom,
        #0f0f12 0%,
        rgba(15, 15, 18, 0.88) 30%,
        rgba(15, 15, 18, 0.45) 65%,
        rgba(15, 15, 18, 0) 100%
    );
    z-index: 1;
    pointer-events: none;
}

.home .hgm-hero > * {
    position: relative;
    z-index: 2;
}

/* =========================================================
   HGM v2.8 — coded five-column brand footer.
   Astra Footer Builder is visually hidden; the HGM footer is automatic.
   ========================================================= */

/* Hide Astra's generated footer so there is only one footer. */
body > #page > footer.site-footer,
#page > footer.site-footer,
footer.site-footer:not(.hgm-site-footer) {
    display: none !important;
}

.hgm-site-footer {
    background: var(--hgm-black);
    color: #cfc9c1;
    border-top: 1px solid rgba(255,255,255,.06);
    font-family: "Roboto Condensed", sans-serif;
}

.hgm-footer-inner {
    width: min(1320px, calc(100% - 48px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.35fr .8fr .9fr .9fr 1.55fr;
    gap: clamp(28px, 4vw, 64px);
    padding: 54px 0 46px;
    align-items: start;
}

.hgm-footer-logo .custom-logo-link {
    display: inline-block;
    line-height: 0;
}

.hgm-footer-logo .custom-logo {
    width: 178px !important;
    max-width: 178px !important;
    height: auto !important;
}

.hgm-footer-wordmark {
    display: inline-block;
    max-width: 180px;
    color: var(--hgm-cream) !important;
    font: 700 28px/1 "Oswald", sans-serif;
    text-transform: uppercase;
    text-decoration: none !important;
}

.hgm-footer-brand p,
.hgm-footer-newsletter p {
    margin: 18px 0 0;
    color: #bcb6af;
    font-size: 14px;
    line-height: 1.55;
}

.hgm-footer-brand p { max-width: 245px; }

.hgm-footer-col h2,
.hgm-footer-newsletter h2 {
    margin: 0 0 16px;
    color: var(--hgm-cream);
    font: 700 16px/1.15 "Oswald", sans-serif;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.hgm-footer-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.hgm-footer-col a {
    color: #cfc9c1 !important;
    font-size: 14px;
    line-height: 1.25;
    text-decoration: none !important;
    margin: 0 0 10px;
    transition: color .18s ease, transform .18s ease;
}

.hgm-footer-col a:hover {
    color: var(--hgm-red) !important;
    transform: translateX(2px);
}

.hgm-footer-socials {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
    min-height: 34px;
}

.hgm-footer-socials a {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--hgm-cream) !important;
    border: 1px solid rgba(245,240,232,.22);
    border-radius: 50%;
    transition: color .18s ease, border-color .18s ease, background .18s ease;
}

.hgm-footer-socials a:hover {
    color: #fff !important;
    border-color: var(--hgm-red);
    background: var(--hgm-red);
}

.hgm-footer-socials svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
}

.hgm-footer-socials svg .fill {
    fill: currentColor;
    stroke: none;
}
.hgm-footer-socials svg .cut {
    fill: var(--hgm-black);
    stroke: none;
}
.hgm-footer-socials a:hover svg .cut { fill: var(--hgm-red); }

.hgm-footer-newsletter p {
    margin-top: 0;
    max-width: 360px;
}

.hgm-footer-newsletter-form {
    margin-top: 16px;
}

/* Normalize common newsletter plugin forms into one horizontal row. */
.hgm-footer-newsletter-form form {
    display: flex !important;
    align-items: stretch;
    gap: 0 !important;
    margin: 0 !important;
    max-width: 390px;
}

.hgm-footer-newsletter-form p,
.hgm-footer-newsletter-form .form-group,
.hgm-footer-newsletter-form .wp-block-group,
.hgm-footer-newsletter-form .mailpoet_paragraph {
    margin: 0 !important;
}

.hgm-footer-newsletter-form input[type="email"],
.hgm-footer-newsletter-form input[type="text"] {
    min-width: 0;
    flex: 1 1 auto;
    height: 44px !important;
    background: #1b1b1f !important;
    color: #fff !important;
    border: 1px solid #3b3b40 !important;
    border-right: 0 !important;
    border-radius: 5px 0 0 5px !important;
    padding: 0 14px !important;
    box-shadow: none !important;
}

.hgm-footer-newsletter-form input[type="email"]::placeholder,
.hgm-footer-newsletter-form input[type="text"]::placeholder {
    color: #8f8b86;
}

.hgm-footer-newsletter-form button,
.hgm-footer-newsletter-form input[type="submit"] {
    flex: 0 0 auto;
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 18px !important;
    border: 0 !important;
    border-radius: 0 5px 5px 0 !important;
    background: var(--hgm-red) !important;
    color: #fff !important;
    font: 700 14px/1 "Oswald", sans-serif !important;
    text-transform: uppercase;
    letter-spacing: .03em;
    box-shadow: none !important;
}

.hgm-footer-newsletter-cta {
    margin-top: 16px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    border-radius: 5px;
    background: var(--hgm-red);
    color: #fff !important;
    font: 700 14px/1 "Oswald", sans-serif;
    text-transform: uppercase;
    letter-spacing: .03em;
    text-decoration: none !important;
}

.hgm-footer-bottom {
    border-top: 1px solid rgba(255,255,255,.075);
    background: #0a0a0c;
}

.hgm-footer-bottom-inner {
    width: min(1320px, calc(100% - 48px));
    min-height: 48px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    color: #85817d;
    font-size: 12px;
    line-height: 1.4;
}

@media (max-width: 1024px) {
    .hgm-footer-inner {
        grid-template-columns: 1.4fr 1fr 1fr;
    }
    .hgm-footer-newsletter {
        grid-column: span 2;
    }
}

@media (max-width: 700px) {
    .hgm-footer-inner {
        width: min(100% - 36px, 560px);
        grid-template-columns: 1fr 1fr;
        gap: 32px 24px;
        padding: 42px 0 34px;
    }
    .hgm-footer-brand,
    .hgm-footer-newsletter {
        grid-column: 1 / -1;
    }
    .hgm-footer-newsletter-form form {
        max-width: 100%;
    }
    .hgm-footer-bottom-inner {
        width: min(100% - 36px, 560px);
        min-height: 64px;
        padding: 12px 0;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 4px;
    }
}

@media (max-width: 430px) {
    .hgm-footer-inner {
        grid-template-columns: 1fr;
    }
    .hgm-footer-brand,
    .hgm-footer-newsletter {
        grid-column: auto;
    }
    .hgm-footer-newsletter-form form {
        display: block !important;
    }
    .hgm-footer-newsletter-form input[type="email"],
    .hgm-footer-newsletter-form input[type="text"],
    .hgm-footer-newsletter-form button,
    .hgm-footer-newsletter-form input[type="submit"] {
        width: 100% !important;
        border-radius: 5px !important;
        border: 1px solid #3b3b40 !important;
    }
    .hgm-footer-newsletter-form button,
    .hgm-footer-newsletter-form input[type="submit"] {
        margin-top: 8px !important;
        border-color: var(--hgm-red) !important;
    }
}
