/*
 * Bear Hair Dev Consulting — Global Theme Override
 *
 * PURPOSE: Site-wide styling that applies to ALL pages.
 * Includes: color palette, typography, header, footer, buttons, polish.
 */


/* ================================================================
   0. ROOT VARIABLES
   ================================================================ */

:root {
    --bhd-deep: #0B1D2C;
    --bhd-navy: #0F2B3F;
    --bhd-slate: #1A3A52;
    --bhd-steel: #2C5F7C;
    --bhd-mid: #4A7A94;
    --bhd-sky: #6BA3BE;
    --bhd-light: #A8CCD9;
    --bhd-pale: #D4E8EF;
    --bhd-white: #F8FBFC;
    --bhd-accent: #E8913A;
    --bhd-accent-bright: #F0A04B;
    --bhd-accent-deep: #C97A2E;
    --bhd-green: #3DAA7D;
    --bhd-green-light: #4CC492;
    --bhd-red: #D65D5D;
    --bhd-red-light: #E87A7A;
    --bhd-font-display: 'DM Serif Display', Georgia, serif;
    --bhd-font-body: 'Plus Jakarta Sans', -apple-system, sans-serif;
    --bhd-border: rgba(107, 163, 190, 0.1);
    --bhd-border-hover: rgba(107, 163, 190, 0.2);
    --bhd-card-bg: linear-gradient(135deg, var(--bhd-navy) 0%, var(--bhd-slate) 100%);
}


/* ================================================================
   1. GLOBAL OVERRIDES
   ================================================================ */

body,
.wp-site-blocks {
    font-family: var(--bhd-font-body) !important;
    background: var(--bhd-deep) !important;
    color: var(--bhd-white) !important;
}

/* Kill the existing WordPress theme palette */
.has-forest-green-background-color {
    background-color: var(--bhd-deep) !important;
}

.has-white-skies-background-color {
    background-color: var(--bhd-deep) !important;
}

.has-gray-50-background-color {
    background-color: transparent !important;
}

.has-gray-100-background-color {
    background-color: var(--bhd-navy) !important;
}

.has-forest-green-color,
.has-forest-green-color a {
    color: var(--bhd-white) !important;
}

.has-gray-100-color,
.has-gray-100-color a {
    color: var(--bhd-white) !important;
}

.has-white-color,
.has-white-color a {
    color: var(--bhd-white) !important;
}

/* Override any link color elements set by WordPress */
[class*="wp-elements-"] a {
    color: var(--bhd-light) !important;
}

[class*="wp-elements-"] a:hover {
    color: var(--bhd-white) !important;
}


/* ================================================================
   2. TYPOGRAPHY
   ================================================================ */

h1.wp-block-heading,
h2.wp-block-heading,
h3.wp-block-heading {
    font-family: var(--bhd-font-display) !important;
    font-weight: 400 !important;
    color: var(--bhd-white) !important;
}

h1.wp-block-heading {
    font-size: clamp(32px, 6vw, 52px) !important;
    line-height: 1.25 !important;
}

h2.wp-block-heading {
    font-size: clamp(28px, 4vw, 40px) !important;
    line-height: 1.3 !important;
}

h3.wp-block-heading {
    font-size: clamp(20px, 3vw, 26px) !important;
    line-height: 1.35 !important;
}

/* Body text */
main p {
    font-family: var(--bhd-font-body) !important;
    color: var(--bhd-light) !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
}


/* ================================================================
   3. HEADER
   ================================================================ */

header.wp-block-template-part {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    background: rgba(11, 29, 44, 0.85) !important;
    border-bottom: 1px solid var(--bhd-border) !important;
    padding: 0 !important;
}

header.wp-block-template-part > .wp-block-group {
    background: transparent !important;
    border-bottom: none !important;
    padding: 18px 24px !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
}

/* Header nav links */
header .wp-block-navigation-item__content {
    color: var(--bhd-light) !important;
    font-family: var(--bhd-font-body) !important;
}

header .wp-block-navigation-item__content:hover {
    color: var(--bhd-white) !important;
}

/* Header CTA button */
header .wp-block-button__link,
header .wp-element-button {
    background: linear-gradient(135deg, var(--bhd-accent) 0%, var(--bhd-accent-deep) 100%) !important;
    color: var(--bhd-white) !important;
    border: none !important;
    border-radius: 10px !important;
    font-family: var(--bhd-font-body) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    padding: 10px 24px !important;
    box-shadow: 0 2px 12px rgba(232, 145, 58, 0.25) !important;
    transition: transform 0.2s, box-shadow 0.2s !important;
}

header .wp-block-button__link:hover,
header .wp-element-button:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 20px rgba(232, 145, 58, 0.35) !important;
}


/* ================================================================
   4. ALL CTA BUTTONS (non-header)
   ================================================================ */

main .wp-block-button__link,
main .wp-element-button {
    background: linear-gradient(135deg, var(--bhd-accent) 0%, var(--bhd-accent-deep) 100%) !important;
    color: var(--bhd-white) !important;
    border: none !important;
    border-radius: 12px !important;
    font-family: var(--bhd-font-body) !important;
    font-weight: 600 !important;
    font-size: 17px !important;
    padding: 16px 36px !important;
    box-shadow: 0 4px 20px rgba(232, 145, 58, 0.3) !important;
    transition: transform 0.2s, box-shadow 0.2s !important;
}

main .wp-block-button__link:hover,
main .wp-element-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 30px rgba(232, 145, 58, 0.4) !important;
    color: var(--bhd-white) !important;
}


/* ================================================================
   5. FOOTER
   ================================================================ */

footer.wp-block-template-part > .wp-block-group {
    background: var(--bhd-deep) !important;
    border-top: 1px solid var(--bhd-border) !important;
}

footer p {
    color: var(--bhd-mid) !important;
    font-size: 13px !important;
}

footer .wp-block-navigation-item__content {
    color: var(--bhd-sky) !important;
    font-size: 13px !important;
}

footer .wp-block-navigation-item__content:hover {
    color: var(--bhd-light) !important;
}


/* ================================================================
   6. FORMS (Gravity Forms — Orbital Theme Dark Override)
   ================================================================ */

/* Override GF Orbital theme CSS custom properties */
.gform_wrapper.gform-theme--orbital {
    --gf-color-primary: #E8913A !important;
    --gf-color-primary-rgb: 232, 145, 58 !important;
    --gf-color-primary-contrast: #F8FBFC !important;
    --gf-color-primary-contrast-rgb: 248, 251, 252 !important;
    --gf-color-primary-darker: #C97A2E !important;
    --gf-color-primary-lighter: #F0A04B !important;
    --gf-color-secondary: #0F2B3F !important;
    --gf-color-secondary-rgb: 15, 43, 63 !important;
    --gf-color-secondary-contrast: #F8FBFC !important;
    --gf-color-secondary-contrast-rgb: 248, 251, 252 !important;
    --gf-color-secondary-darker: #0B1D2C !important;
    --gf-color-secondary-lighter: #1A3A52 !important;
    --gf-color-out-ctrl-light: rgba(168, 204, 217, 0.15) !important;
    --gf-color-out-ctrl-light-rgb: 168, 204, 217 !important;
    --gf-color-out-ctrl-light-darker: rgba(168, 204, 217, 0.3) !important;
    --gf-color-out-ctrl-light-lighter: rgba(168, 204, 217, 0.08) !important;
    --gf-color-out-ctrl-dark: #A8CCD9 !important;
    --gf-color-out-ctrl-dark-rgb: 168, 204, 217 !important;
    --gf-color-out-ctrl-dark-darker: #F8FBFC !important;
    --gf-color-out-ctrl-dark-lighter: #6BA3BE !important;
    --gf-color-in-ctrl: #1A3A52 !important;
    --gf-color-in-ctrl-rgb: 26, 58, 82 !important;
    --gf-color-in-ctrl-contrast: #F8FBFC !important;
    --gf-color-in-ctrl-contrast-rgb: 248, 251, 252 !important;
    --gf-color-in-ctrl-darker: #0F2B3F !important;
    --gf-color-in-ctrl-lighter: #2C5F7C !important;
    --gf-color-in-ctrl-primary: #E8913A !important;
    --gf-color-in-ctrl-primary-rgb: 232, 145, 58 !important;
    --gf-color-in-ctrl-primary-contrast: #F8FBFC !important;
}

/* Form wrapper container */
.gform_wrapper {
    background: transparent !important;
    font-family: var(--bhd-font-body) !important;
}

/* Form title */
.gform_wrapper .gform_title,
.gform_wrapper h2.gform_title {
    color: var(--bhd-white) !important;
    font-family: var(--bhd-font-display) !important;
}

/* Labels and descriptions */
.gform_wrapper label,
.gform_wrapper .gfield_label,
.gform_wrapper .gfield_description,
.gform_wrapper .ginput_complex label,
.gform_wrapper .gfield_required,
.gform_wrapper .gf_progressbar_title,
.gform_wrapper .gf_step_number,
.gform_wrapper .gform_page_footer,
.gform_wrapper .gsection_title,
.gform_wrapper .gsection_description {
    color: var(--bhd-light) !important;
    font-family: var(--bhd-font-body) !important;
}

/* Progress bar */
.gform_wrapper .gf_progressbar {
    background: var(--bhd-slate) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.gform_wrapper .gf_progressbar_percentage {
    background: linear-gradient(135deg, var(--bhd-accent) 0%, var(--bhd-accent-deep) 100%) !important;
    color: var(--bhd-white) !important;
    font-family: var(--bhd-font-body) !important;
    font-weight: 600 !important;
}

/* Step text */
.gform_wrapper .gf_step_active .gf_step_number {
    background: var(--bhd-accent) !important;
    color: var(--bhd-white) !important;
}

/* Input fields */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="number"],
.gform_wrapper textarea,
.gform_wrapper select {
    background: var(--bhd-slate) !important;
    border: 1px solid var(--bhd-border) !important;
    border-radius: 8px !important;
    color: var(--bhd-white) !important;
    font-family: var(--bhd-font-body) !important;
    padding: 12px 16px !important;
}

.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder {
    color: var(--bhd-mid) !important;
}

.gform_wrapper input:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
    border-color: var(--bhd-accent) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(232, 145, 58, 0.2) !important;
}

/* Radio buttons and checkboxes */
.gform_wrapper .gfield_radio label,
.gform_wrapper .gfield_checkbox label,
.gform_wrapper .gchoice label {
    color: var(--bhd-light) !important;
}

/* Submit / Next / Previous buttons */
.gform_wrapper .gform_button,
.gform_wrapper input[type="submit"],
.gform_wrapper .gform_next_button,
.gform_wrapper .gform-theme-button,
.gform_wrapper button[type="submit"],
.gform_wrapper .gform_previous_button {
    background: linear-gradient(135deg, var(--bhd-accent) 0%, var(--bhd-accent-deep) 100%) !important;
    color: var(--bhd-white) !important;
    border: none !important;
    border-radius: 12px !important;
    font-family: var(--bhd-font-body) !important;
    font-weight: 600 !important;
    font-size: 17px !important;
    padding: 16px 36px !important;
    box-shadow: 0 4px 20px rgba(232, 145, 58, 0.3) !important;
    cursor: pointer !important;
    transition: transform 0.2s, box-shadow 0.2s !important;
}

.gform_wrapper .gform_button:hover,
.gform_wrapper input[type="submit"]:hover,
.gform_wrapper .gform_next_button:hover,
.gform_wrapper .gform-theme-button:hover,
.gform_wrapper button[type="submit"]:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 30px rgba(232, 145, 58, 0.4) !important;
}

.gform_wrapper .gform_previous_button {
    background: transparent !important;
    border: 1px solid var(--bhd-border) !important;
    box-shadow: none !important;
    color: var(--bhd-light) !important;
}

.gform_wrapper .gform_previous_button:hover {
    border-color: var(--bhd-border-hover) !important;
    color: var(--bhd-white) !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Disclaimer / fine print text */
.gform_wrapper .gfield_description,
.gform_wrapper .gfield_consent_description,
.gform_wrapper .instruction {
    color: var(--bhd-mid) !important;
    font-size: 13px !important;
}

/* Validation messages */
.gform_wrapper .gfield_error .gfield_label {
    color: var(--bhd-red-light) !important;
}

.gform_wrapper .validation_message,
.gform_wrapper .gform_validation_errors {
    color: var(--bhd-red-light) !important;
    border-color: var(--bhd-red) !important;
}

/* Separator / HR inside page content */
main hr,
main .wp-block-separator {
    border-color: var(--bhd-border) !important;
    opacity: 0.5 !important;
}

/* Remove any remaining light backgrounds leaking through on inner pages */
main .has-background {
    background-color: transparent;
}

main [style*="background-color:#ffffff"] {
    background-color: transparent !important;
    background: var(--bhd-card-bg) !important;
}


/* ================================================================
   7. MISC POLISH
   ================================================================ */

/* Smooth scrolling */
html {
    scroll-behavior: smooth !important;
}

/* Selection color */
::selection {
    background: rgba(232, 145, 58, 0.3) !important;
    color: var(--bhd-white) !important;
}

/* Scrollbar styling (Webkit) */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--bhd-deep);
}

::-webkit-scrollbar-thumb {
    background: var(--bhd-steel);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--bhd-mid);
}
