/* ═══════════════════════════════════════════════════════════════
   GRAVITY FORMS — Dark Theme Override (Orbital Theme Compatible)
   Loaded at priority 999 AFTER all Gravity Forms stylesheets.
   Overrides GF 2.9+ orbital theme CSS custom properties.
   ═══════════════════════════════════════════════════════════════ */

/* --- Override GF Orbital CSS Custom Properties at root --- */
.gform_wrapper.gravity-theme.gform-theme--framework {
    --gf-color-primary: #00d4ff !important;
    --gf-color-primary-rgb: 0, 212, 255 !important;
    --gf-color-secondary: #141824 !important;
    --gf-color-out-ctrl-light: rgba(255, 255, 255, 0.15) !important;
    --gf-color-out-ctrl-lighter: rgba(255, 255, 255, 0.06) !important;
    --gf-color-out-ctrl-dark: #e4e6eb !important;
    --gf-color-out-ctrl-darker: #e4e6eb !important;
    --gf-color-in-ctrl: #141824 !important;
    --gf-color-in-ctrl-rgb: 20, 24, 36 !important;
    --gf-color-in-ctrl-contrast: #e4e6eb !important;
    --gf-color-in-ctrl-primary: #00d4ff !important;
    --gf-color-in-ctrl-light: rgba(255, 255, 255, 0.15) !important;
    --gf-color-in-ctrl-lighter: rgba(255, 255, 255, 0.06) !important;
    --gf-color-in-ctrl-dark: #e4e6eb !important;
    --gf-color-in-ctrl-darker: #e4e6eb !important;
    --gf-ctrl-border-color: rgba(255, 255, 255, 0.15) !important;
    --gf-ctrl-border-color-hover: rgba(255, 255, 255, 0.3) !important;
    --gf-ctrl-border-color-focus: #00d4ff !important;
    --gf-ctrl-border-shadow: 0 0 0 2px rgba(0, 212, 255, 0.15) !important;
    --gf-ctrl-bg-color: #141824 !important;
    --gf-ctrl-bg-color-hover: #1a1f2e !important;
    --gf-ctrl-label-color-primary: #00d4ff !important;
    --gf-ctrl-label-color-secondary: #8b8fa3 !important;
    --gf-ctrl-choice-label-color-primary: #c0c4d0 !important;
    --gf-ctrl-desc-color: #8b8fa3 !important;
    --gf-ctrl-input-color-primary: #e4e6eb !important;
    --gf-ctrl-placeholder-color-primary: rgba(255, 255, 255, 0.25) !important;
    --gf-ctrl-btn-bg-color-primary: #00d4ff !important;
    --gf-ctrl-btn-bg-color-secondary: #1a1f2e !important;
    --gf-ctrl-btn-border-color-primary: #00d4ff !important;
    --gf-ctrl-btn-color-primary: #0a0e17 !important;
    --gf-ctrl-btn-border-color-secondary: rgba(255, 255, 255, 0.15) !important;
    --gf-ctrl-btn-color-secondary: #e4e6eb !important;
    --gf-color-danger: #ff5252 !important;
    --gf-color-danger-rgb: 255, 82, 82 !important;
}

/* --- Also set on the form element itself --- */
.gform_wrapper.gravity-theme .gform_fields,
.gform_wrapper.gravity-theme[data-form-theme="orbital"],
.gform_wrapper.gravity-theme .gform-theme-field-control {
    --gf-local-bg-color: #141824 !important;
    --gf-local-color: #e4e6eb !important;
    --gf-local-border-color: rgba(255, 255, 255, 0.15) !important;
    --gf-local-font-family-primary: 'Inter', -apple-system, sans-serif !important;
}

/* --- Form Wrapper --- */
.gform_wrapper.gravity-theme,
.gform_wrapper.gravity-theme .gform_body {
    color: #c0c4d0 !important;
}

/* --- Labels --- */
.gform_wrapper.gravity-theme .gfield_label,
.gform_wrapper.gravity-theme .gfield .gfield_label,
.gform_wrapper.gravity-theme legend.gfield_label,
.gform_wrapper.gravity-theme fieldset legend.gfield_label,
.gform_wrapper.gravity-theme .gfield--type-section .gsection_title {
    color: #00d4ff !important;
    font-family: 'Righteous', 'Oswald', sans-serif !important;
    font-size: 0.85rem !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
}

.gform_wrapper.gravity-theme .gfield_description,
.gform_wrapper.gravity-theme .ginput_complex label,
.gform_wrapper.gravity-theme .gfield_label_before_complex {
    color: #8b8fa3 !important;
    font-family: 'Inter', -apple-system, sans-serif !important;
    text-transform: none !important;
    font-size: 0.8rem !important;
}

.gform_wrapper.gravity-theme .gfield_required,
.gform_wrapper.gravity-theme .gfield_required .gfield_required_text {
    color: #ff5252 !important;
}

/* --- Inputs, Textareas, Selects (ultra-specific) --- */
.gform_wrapper.gravity-theme .gfield input:not([type="submit"]):not([type="button"]):not([type="image"]):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.gform_wrapper.gravity-theme .gfield textarea,
.gform_wrapper.gravity-theme .gfield select,
.gform_wrapper.gravity-theme .ginput_container input:not([type="submit"]):not([type="button"]):not([type="image"]):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.gform_wrapper.gravity-theme .ginput_container textarea,
.gform_wrapper.gravity-theme .ginput_container select,
.gform_wrapper.gravity-theme .gform-theme-field-control input,
.gform_wrapper.gravity-theme .gform-theme-field-control textarea,
.gform_wrapper.gravity-theme .gform-theme-field-control select {
    background-color: #141824 !important;
    background-image: none !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 8px !important;
    color: #e4e6eb !important;
    padding: 0.75rem 1rem !important;
    font-size: 1rem !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
}

.gform_wrapper.gravity-theme .gfield input:focus,
.gform_wrapper.gravity-theme .gfield textarea:focus,
.gform_wrapper.gravity-theme .gfield select:focus {
    border-color: #00d4ff !important;
    box-shadow: 0 0 0 2px rgba(0, 212, 255, 0.15) !important;
    outline: none !important;
    background-color: #141824 !important;
}

.gform_wrapper.gravity-theme input::placeholder,
.gform_wrapper.gravity-theme textarea::placeholder {
    color: rgba(255, 255, 255, 0.25) !important;
}

/* --- Section Breaks --- */
.gform_wrapper.gravity-theme .gfield--type-section {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.gform_wrapper.gravity-theme .gsection_title {
    color: #e4e6eb !important;
    font-family: 'Righteous', 'Oswald', sans-serif !important;
    font-size: 1.4rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

.gform_wrapper.gravity-theme .gsection_description {
    color: #8b8fa3 !important;
}

/* --- HTML Fields --- */
.gform_wrapper.gravity-theme .gfield_html {
    color: #c0c4d0 !important;
}

/* --- Submit Button --- */
.gform_wrapper.gravity-theme .gform_footer input[type="submit"],
.gform_wrapper.gravity-theme .gform_footer button[type="submit"],
.gform_wrapper.gravity-theme .gform_page_footer input[type="submit"],
.gform_wrapper.gravity-theme .gform_button,
.gform_wrapper.gravity-theme input.gform_button,
.gform_wrapper.gravity-theme button.gform_button,
.gform_wrapper.gravity-theme .gform-theme-button--primary {
    background: #00d4ff !important;
    background-color: #00d4ff !important;
    color: #0a0e17 !important;
    border: none !important;
    border-color: #00d4ff !important;
    border-radius: 8px !important;
    padding: 0.85rem 2.5rem !important;
    font-family: 'Righteous', 'Oswald', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    cursor: pointer !important;
    transition: background 0.2s, box-shadow 0.2s, transform 0.15s !important;
    box-shadow: 0 0 12px rgba(0, 212, 255, 0.25) !important;
}

.gform_wrapper.gravity-theme .gform_footer input[type="submit"]:hover,
.gform_wrapper.gravity-theme .gform_footer button[type="submit"]:hover,
.gform_wrapper.gravity-theme .gform_button:hover,
.gform_wrapper.gravity-theme .gform-theme-button--primary:hover {
    background: #00b8e0 !important;
    background-color: #00b8e0 !important;
    box-shadow: 0 0 20px rgba(0, 212, 255, 0.4) !important;
    transform: translateY(-1px) !important;
}

/* --- Checkboxes & Radios --- */
.gform_wrapper.gravity-theme .gchoice label,
.gform_wrapper.gravity-theme .gfield_checkbox label,
.gform_wrapper.gravity-theme .gfield_radio label {
    color: #c0c4d0 !important;
}

.gform_wrapper.gravity-theme input[type="checkbox"],
.gform_wrapper.gravity-theme input[type="radio"] {
    accent-color: #00d4ff !important;
}

/* --- Validation Errors --- */
.gform_wrapper.gravity-theme .gfield_error input,
.gform_wrapper.gravity-theme .gfield_error textarea,
.gform_wrapper.gravity-theme .gfield_error select {
    border-color: #ff5252 !important;
}

.gform_wrapper.gravity-theme .gfield_error .gfield_label {
    color: #ff5252 !important;
}

.gform_wrapper.gravity-theme .validation_message,
.gform_wrapper.gravity-theme .gform_validation_errors {
    color: #ff5252 !important;
    background: rgba(255, 82, 82, 0.08) !important;
    border: 1px solid rgba(255, 82, 82, 0.3) !important;
    border-radius: 8px !important;
}

.gform_wrapper.gravity-theme .gform_validation_errors h2 {
    color: #ff5252 !important;
}

/* --- Confirmation Message --- */
.gform_confirmation_message {
    background: rgba(0, 212, 255, 0.06) !important;
    border: 1px solid rgba(0, 212, 255, 0.2) !important;
    border-radius: 12px !important;
    padding: 2rem !important;
    color: #e4e6eb !important;
    text-align: center !important;
    font-size: 1.05rem !important;
}

/* --- Progress Bar --- */
.gform_wrapper.gravity-theme .gf_progressbar {
    background: rgba(255, 255, 255, 0.06) !important;
    border-radius: 8px !important;
}

.gform_wrapper.gravity-theme .gf_progressbar_percentage {
    background: #00d4ff !important;
    color: #0a0e17 !important;
}

/* --- CAPTCHA (invert for dark bg) --- */
.gform_wrapper.gravity-theme .gfield .gcaptcha_wrapper {
    filter: invert(0.85) hue-rotate(180deg) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

/* --- Links --- */
.gform_wrapper.gravity-theme a {
    color: #00d4ff !important;
}

/* --- Select Dropdown Arrow --- */
.gform_wrapper.gravity-theme select {
    appearance: auto !important;
}

/* --- Datepicker Dropdown Styling --- */
/* jQuery UI datepicker renders at <body> level, NOT inside .gform_wrapper */
body #ui-datepicker-div select.ui-datepicker-month,
body #ui-datepicker-div select.ui-datepicker-year,
body #ui-datepicker-div .ui-datepicker-title select {
    -webkit-appearance: none !important;
    appearance: none !important;
    color-scheme: dark !important;
    background: #1a1f2e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2300d4ff' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 0.5rem center / 12px 8px !important;
    color: #fff !important;
    border: 1px solid rgba(0, 212, 255, 0.3) !important;
    border-radius: 6px !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
}

#ui-datepicker-div select option {
    background-color: #141824 !important;
    color: #e4e6eb !important;
}

#ui-datepicker-div select option:hover,
#ui-datepicker-div select option:focus {
    background-color: #1a1f2e !important;
}

#ui-datepicker-div {
    background: #0a0e17 !important;
    border: 1px solid rgba(0, 212, 255, 0.3) !important;
    border-radius: 12px !important;
    padding: 1rem !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6) !important;
    z-index: 9999 !important;
}

#ui-datepicker-div .ui-datepicker-header {
    background: #141824 !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 0.75rem !important;
    margin-bottom: 0.75rem !important;
}

#ui-datepicker-div .ui-datepicker-title {
    color: #00d4ff !important;
    font-weight: 600 !important;
}

#ui-datepicker-div .ui-datepicker-prev,
#ui-datepicker-div .ui-datepicker-next {
    background: transparent !important;
    border: none !important;
    color: #00d4ff !important;
    cursor: pointer !important;
}

#ui-datepicker-div .ui-datepicker-prev span,
#ui-datepicker-div .ui-datepicker-next span {
    filter: brightness(0) invert(1) !important;
}

#ui-datepicker-div .ui-datepicker-prev:hover,
#ui-datepicker-div .ui-datepicker-next:hover {
    background: rgba(0, 212, 255, 0.1) !important;
    border-radius: 6px !important;
}

#ui-datepicker-div th {
    color: #8b8fa3 !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    padding: 0.5rem !important;
}

#ui-datepicker-div td {
    padding: 0.25rem !important;
}

#ui-datepicker-div td a,
#ui-datepicker-div td span {
    background: transparent !important;
    color: #c0c4d0 !important;
    border: 1px solid transparent !important;
    border-radius: 6px !important;
    padding: 0.5rem !important;
    text-align: center !important;
    display: block !important;
    transition: all 0.2s !important;
}

#ui-datepicker-div td a:hover {
    background: rgba(0, 212, 255, 0.15) !important;
    border-color: rgba(0, 212, 255, 0.3) !important;
    color: #00d4ff !important;
}

#ui-datepicker-div td .ui-state-active {
    background: #00d4ff !important;
    color: #0a0e17 !important;
    border-color: #00d4ff !important;
    font-weight: 600 !important;
}

#ui-datepicker-div td .ui-state-disabled span {
    color: rgba(255, 255, 255, 0.2) !important;
}

/* --- Event Date Highlighting (June 13–22) --- */
#ui-datepicker-div td.weirs-event-date a,
#ui-datepicker-div td.weirs-event-date span {
    background: rgba(0, 212, 255, 0.10) !important;
    border-color: rgba(0, 212, 255, 0.25) !important;
    color: #00d4ff !important;
}

/* --- Check-In Date Marker (shown in Check-Out calendar) --- */
#ui-datepicker-div td.weirs-checkin-marker a,
#ui-datepicker-div td.weirs-checkin-marker span {
    background: #00d4ff !important;
    color: #0a0e17 !important;
    border-color: #00d4ff !important;
    font-weight: 700 !important;
    box-shadow: 0 0 8px rgba(0, 212, 255, 0.4) !important;
}

/* --- Date Range Highlighting (Check-In to Check-Out) --- */
.ui-datepicker td.weirs-date-in-range a,
.ui-datepicker td.weirs-date-in-range span {
    background: rgba(0, 212, 255, 0.12) !important;
    border-color: rgba(0, 212, 255, 0.2) !important;
    color: #00d4ff !important;
}

/* --- Field Spacing --- */
.gform_wrapper.gravity-theme .gfield {
    margin-bottom: 1.25rem !important;
}

/* --- Responsive: Stack name fields on mobile --- */
@media (max-width: 640px) {
    .gform_wrapper.gravity-theme .ginput_complex {
        flex-direction: column !important;
    }
    .gform_wrapper.gravity-theme .ginput_complex .ginput_left,
    .gform_wrapper.gravity-theme .ginput_complex .ginput_right {
        width: 100% !important;
    }
}
