/*
Theme Name: E2E Welding
Theme URI: https://www.e2ewelding.com
Author: E2E Welding
Author URI: https://www.e2ewelding.com
Description: Apple-inspired premium WordPress theme for E2E Welding — custom architectural metalwork in Tampa, FL. Features glassmorphism design, Tailwind CDN, and full SEO/GEO optimization.
Version: 2.1.0
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: e2e-welding
Tags: custom-menu, custom-logo, featured-images, full-width-template, one-column, two-columns
*/

/* === BASE RESETS === */
*, *::before, *::after {
    box-sizing: border-box;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin: 0;
    padding: 0;
}

/* === GLASS EFFECT === */
.glass {
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

/* === TEXT SHADOW === */
.text-shadow {
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

/* === SELECTION === */
::selection {
    background-color: #0071E3;
    color: #ffffff;
}

/* === SMOOTH SCROLL === */
html {
    scroll-behavior: smooth;
}

/* === WORDPRESS CORE === */
.alignnone { margin: 5px 20px 20px 0; }
.aligncenter { display: block; margin: 5px auto 5px auto; }
.alignright { float: right; margin: 5px 0 20px 20px; }
.alignleft { float: left; margin: 5px 20px 20px 0; }

img.alignnone, img.aligncenter, img.alignright, img.alignleft {
    max-width: 100%;
    height: auto;
}

.wp-caption {
    max-width: 100%;
}

.wp-caption-text {
    font-size: 0.875rem;
    color: #6b7280;
    margin-top: 0.5rem;
}

/* === SCROLL REVEAL (disabled — always visible) === */
.reveal {
    opacity: 1 !important;
    transform: none !important;
}

/* === FAQ ACCORDION === */
.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.4s ease;
}

.faq-item.active .faq-answer {
    max-height: 500px;
}

.faq-item.active .faq-icon {
    transform: rotate(45deg);
}

.faq-icon {
    transition: transform 0.3s ease;
}

/* === STICKY HEADER SCROLL STATE === */
.nav-scrolled {
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

/* === MOBILE MENU === */
.mobile-menu {
    transform: translateX(100%);
    transition: transform 0.3s ease;
}

.mobile-menu.open {
    transform: translateX(0);
}


/* === GRAVITY FORMS — BASE (light backgrounds: contact page, etc.) === */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper textarea {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 0.75rem !important;
    padding: 1rem !important;
    color: #1e293b !important;
    font-family: 'Inter', sans-serif !important;
}

/* Select needs different padding — GF Orbital sets height via --gf-ctrl-size (38px)
   with box-sizing: border-box. 1rem (16px) top+bottom = 32px leaves only 6px for text! */
.gform_wrapper select {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 0.75rem !important;
    padding: 0.5rem 1rem !important;
    color: #1e293b !important;
    font-family: 'Inter', sans-serif !important;
    height: auto !important;
    min-height: 48px !important;
}

.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
    outline: none !important;
    border-color: #E65100 !important;
    box-shadow: 0 0 0 2px rgba(230,81,0,0.2) !important;
}

.gform_wrapper .gform_button,
.gform_wrapper input[type="submit"] {
    background: #E65100 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0.75rem !important;
    padding: 1rem 2rem !important;
    font-weight: 700 !important;
    font-family: 'Inter', sans-serif !important;
    cursor: pointer !important;
    width: 100% !important;
    transition: background 0.3s ease !important;
}

.gform_wrapper .gform_button:hover,
.gform_wrapper input[type="submit"]:hover {
    background: #BF360C !important;
}

.gform_wrapper label,
.gform_wrapper .gfield_label {
    color: #334155 !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
}

.gform_wrapper .gfield_description,
.gform_wrapper .gform_description,
.gform_wrapper .ginput_container_fileupload .gform_fileupload_rules {
    color: #64748b !important;
}

.gform_wrapper .gform_title {
    color: #1e293b !important;
    font-family: 'Montserrat', sans-serif !important;
}

.gform_wrapper .gfield_radio label,
.gform_wrapper .gfield_checkbox label {
    color: #334155 !important;
}

.gform_wrapper .gfield_required {
    color: #E65100 !important;
}

/* === GRAVITY FORMS — DARK BACKGROUND (footer) === */
footer .gform_wrapper input[type="text"],
footer .gform_wrapper input[type="email"],
footer .gform_wrapper input[type="tel"],
footer .gform_wrapper textarea,
footer .gform_wrapper select,
footer .gform-theme input[type="text"],
footer .gform-theme input[type="email"],
footer .gform-theme input[type="tel"],
footer .gform-theme textarea,
footer .gform-theme select,
footer .gform-theme--orbital select,
footer .gform-theme--orbital input {
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.25) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

footer .gform_wrapper input[type="text"]::placeholder,
footer .gform_wrapper input[type="email"]::placeholder,
footer .gform_wrapper input[type="tel"]::placeholder,
footer .gform_wrapper textarea::placeholder {
    color: #94a3b8 !important;
}

footer .gform_wrapper input[type="text"]:focus,
footer .gform_wrapper input[type="email"]:focus,
footer .gform_wrapper input[type="tel"]:focus,
footer .gform_wrapper textarea:focus,
footer .gform_wrapper select:focus {
    border-color: #E65100 !important;
    box-shadow: 0 0 0 2px rgba(230,81,0,0.3) !important;
}

footer .gform_wrapper label,
footer .gform_wrapper .gfield_label {
    color: #cbd5e1 !important;
}

footer .gform_wrapper .gfield_description,
footer .gform_wrapper .gform_description {
    color: #94a3b8 !important;
}

footer .gform_wrapper .gform_title {
    color: #fff !important;
}

footer .gform_wrapper .gfield_radio label,
footer .gform_wrapper .gfield_checkbox label {
    color: #cbd5e1 !important;
}

footer .gform_wrapper .gfield_required {
    color: #fb923c !important;
}

footer .gform_wrapper select option {
    background: #1e293b !important;
    color: #fff !important;
}

/* === GRAVITY FORMS — NUCLEAR OVERRIDES (beat Orbital theme inline styles) === */

/* Override GF CSS variables for footer (dark bg) forms */
footer .gform_wrapper.gform-theme,
footer [data-form-theme="orbital"].gform_wrapper {
    --gf-ctrl-label-color-primary: #e2e8f0 !important;
    --gf-ctrl-label-color-secondary: #cbd5e1 !important;
    --gf-color-out-ctrl-dark: #e2e8f0 !important;
    --gf-color-out-ctrl-dark-darker: #f1f5f9 !important;
    --gf-color-out-ctrl-dark-lighter: #94a3b8 !important;
    --gf-color-in-ctrl: rgba(255,255,255,0.08) !important;
    --gf-color-in-ctrl-contrast: #fff !important;
    --gf-color-in-ctrl-darker: rgba(255,255,255,0.12) !important;
    --gf-color-in-ctrl-light: rgba(255,255,255,0.15) !important;
    --gf-color-in-ctrl-dark: #cbd5e1 !important;
    --gf-color-in-ctrl-dark-darker: #f1f5f9 !important;
    --gf-color-in-ctrl-dark-lighter: #94a3b8 !important;
    --gf-color-out-ctrl-light: rgba(255,255,255,0.15) !important;
    --gf-color-secondary-contrast: #e2e8f0 !important;
    --gf-ctrl-border-color: rgba(255,255,255,0.25) !important;
}

/* Footer form: force all labels/legends white */
footer .gform_wrapper .gfield_label,
footer .gform_wrapper .gform-field-label,
footer .gform_wrapper label,
footer .gform_wrapper legend,
footer .gform_wrapper .gfield_label.gform-field-label,
footer .gform-theme .gfield_label,
footer .gform-theme label.gform-field-label,
footer .gform-theme legend.gform-field-label,
footer .gform-theme .gfield_label.gform-field-label.gfield_label_before_complex {
    color: #e2e8f0 !important;
}

/* Footer form: sub-labels (First, Last under name fields) */
footer .gform_wrapper .gform-field-label--type-sub,
footer .gform-theme .gform-field-label--type-sub {
    color: #94a3b8 !important;
}

/* Footer form: required asterisk */
footer .gform_wrapper .gfield_required,
footer .gform_wrapper .gfield_required_asterisk {
    color: #fb923c !important;
}

/* Footer form: select placeholder text — nuclear specificity */
footer .gform_wrapper select,
footer .gform-theme select,
footer .gform-theme--orbital select,
footer .gform_wrapper .gfield_select,
footer .gform-theme .gfield_select,
footer select.gfield_select {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: rgba(255,255,255,0.08) !important;
    border-color: rgba(255,255,255,0.25) !important;
    height: auto !important;
    min-height: 48px !important;
    padding: 0.5rem 1rem !important;
}

/* Footer form: placeholder option ("Select a Service") */
footer .gform_wrapper select option.gf_placeholder,
footer .gform-theme select option.gf_placeholder {
    color: #94a3b8 !important;
}

/* Footer form: all select options in dropdown */
footer .gform_wrapper select option,
footer .gform-theme select option {
    background: #1e293b !important;
    color: #fff !important;
}

/* Footer form: radio/checkbox labels */
footer .gform_wrapper .gfield_radio label,
footer .gform_wrapper .gfield_checkbox label,
footer .gform-theme .gchoice label {
    color: #e2e8f0 !important;
}

/* Footer form: description text */
footer .gform_wrapper .gfield_description,
footer .gform-theme .gfield_description {
    color: #94a3b8 !important;
}

/* Footer form: required legend text */
footer .gform_wrapper .gform_required_legend,
footer .gform-theme .gform_required_legend {
    color: #94a3b8 !important;
}

/* Footer form: file upload button */
footer .gform_wrapper .gform-theme-button--control,
footer .gform-theme .gform-theme-button--control {
    color: #e2e8f0 !important;
    border-color: rgba(255,255,255,0.25) !important;
    background: rgba(255,255,255,0.08) !important;
}

/* === CONTACT PAGE FORM — ensure labels are clearly visible === */
body:not(footer) .gform_wrapper .gfield_label,
body:not(footer) .gform_wrapper label,
.gform_wrapper.gform-theme .gfield_label,
.gform-theme .gform-field-label {
    color: #1e293b !important;
    font-weight: 600 !important;
}

/* All select placeholders on light bg: dark readable text */
.gform_wrapper select,
.gform-theme select {
    color: #1e293b !important;
}

.gform_wrapper select option.gf_placeholder,
.gform-theme select option.gf_placeholder {
    color: #64748b !important;
}
