/*
Theme Name: SearchDaddy Dark
Template: kadence
Version: 2.0
*/

/*
 * SearchDaddy Child Theme — Dark Design
 * Based on: Neoma-style deep dark with orange accent
 */

/* ---- RESET ALL THEME WRAPPERS ---- */
html,
body,
#page,
.site,
.site-content,
.content-area,
.wp-site-blocks,
main#primary,
main.site-main,
.entry-content,
.kb-query-loop-wrapper,
.kadence-inner-column-inner,
.kadence-column-inner,
#content {
    background-color: #0A0F1E !important;
    border: none !important;
    box-shadow: none !important;
}

/* ---- BODY & BASE ---- */
html { background: #0A0F1E !important; }
body {
    background-color: #0A0F1E !important;
    color: #C8D4E8 !important;
    font-family: 'Inter', sans-serif !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ---- TYPOGRAPHY ---- */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    color: #F0F4FF !important;
    line-height: 1.1 !important;
}
p, li, span, div, td {
    font-family: 'Inter', sans-serif !important;
}

/* ---- REMOVE ANY VISIBLE WRAPPERS/BORDERS ---- */
.site-container,
.content-bg,
.wp-block-kadence-column > .kadence-column-inner,
.wp-block-kadence-rowlayout > .kb-row-layout-wrap,
.kb-row-layout-wrap {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* ---- HEADER ---- */
.site-header,
header.site-header {
    background: rgba(10, 15, 30, 0.94) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
    box-shadow: none !important;
}
.site-header a,
.site-header .nav-link,
header nav a {
    color: #C8D4E8 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
}
.site-header a:hover,
header nav a:hover {
    color: #E07B39 !important;
}

/* ---- ORANGE HIGHLIGHT TEXT ---- */
.sd-highlight {
    background: #E07B39 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    padding: 0 10px 4px !important;
    display: inline !important;
    -webkit-box-decoration-break: clone !important;
    box-decoration-break: clone !important;
    line-height: 1.2 !important;
}

/* ---- BUTTONS ---- */
.wp-block-button .wp-block-button__link,
.wp-block-button__link {
    background: linear-gradient(135deg, #E07B39 0%, #c96a28 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    padding: 13px 28px !important;
    font-size: 15px !important;
    box-shadow: 0 4px 20px rgba(224,123,57,0.3) !important;
    transition: all 0.2s ease !important;
}
.wp-block-button .wp-block-button__link:hover,
.wp-block-button__link:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 32px rgba(224,123,57,0.45) !important;
}

/* ---- CARDS ---- */
.sd-card {
    background: #0F1629 !important;
    border: 1px solid rgba(255,255,255,0.07) !important;
    border-radius: 16px !important;
    transition: border-color 0.2s, transform 0.2s !important;
}
.sd-card:hover {
    border-color: rgba(224,123,57,0.25) !important;
    transform: translateY(-4px) !important;
}

/* ---- FLUENT FORMS DARK STYLE ---- */
.ff-el-input--label label,
.ff_el_form_label {
    color: #8899BB !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
.ff-el-form-control,
.ff-el-input input,
.ff-el-input textarea,
.ff-el-input select {
    background: #080D1A !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 8px !important;
    color: #F0F4FF !important;
    padding: 12px 16px !important;
    font-size: 15px !important;
}
.ff-el-form-control:focus,
.ff-el-input input:focus {
    border-color: rgba(224,123,57,0.5) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(224,123,57,0.1) !important;
}
.ff_submit_btn_wrapper .ff-btn-submit,
.ff-btn-submit {
    background: linear-gradient(135deg, #E07B39, #c96a28) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    padding: 13px 28px !important;
    width: 100% !important;
    font-size: 16px !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    box-shadow: 0 4px 20px rgba(224,123,57,0.3) !important;
}

/* ---- FOOTER ---- */
.site-footer,
footer.site-footer {
    background: #060B18 !important;
    border-top: 1px solid rgba(255,255,255,0.06) !important;
    color: #8899BB !important;
}
.site-footer a { color: #8899BB !important; }
.site-footer a:hover { color: #E07B39 !important; }

/* ---- GLOW EFFECTS ---- */
.sd-glow-orange {
    position: relative !important;
}
.sd-glow-orange::before {
    content: "" !important;
    position: absolute !important;
    top: -150px !important;
    right: -100px !important;
    width: 500px !important;
    height: 500px !important;
    background: radial-gradient(circle, rgba(224,123,57,0.07) 0%, transparent 70%) !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

/* ---- SCROLLBAR ---- */
::-webkit-scrollbar { width: 6px !important; }
::-webkit-scrollbar-track { background: #0A0F1E !important; }
::-webkit-scrollbar-thumb { background: #1E2A45 !important; border-radius: 3px !important; }
::-webkit-scrollbar-thumb:hover { background: #E07B39 !important; }

/* ---- GUTENBERG CORE BLOCKS ---- */
.wp-block-separator { border-color: rgba(255,255,255,0.08) !important; }
.wp-block-html { margin: 0 !important; padding: 0 !important; }
.entry-header,
.page-header { display: none !important; }

/* ---- NO ADMIN BAR OFFSET ISSUE ---- */
.wp-block-group__inner-container { background: transparent !important; }


/* ==========================================
   GRID UTILITY CLASSES
   (WordPress strips display:grid inline)
   ========================================== */

.sd-grid-2 { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 32px !important; }
.sd-grid-3 { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 24px !important; }
.sd-grid-4 { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 24px !important; }
.sd-grid-hero { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 60px !important; align-items: center !important; }
.sd-grid-steps { display: flex !important; flex-direction: column !important; gap: 5px !important; }
.sd-flex-row { display: flex !important; gap: 24px !important; align-items: flex-start !important; }
.sd-flex-cta { display: flex !important; gap: 16px !important; flex-wrap: wrap !important; }
.sd-text-center { text-align: center !important; }

/* Responsive: stack on mobile */
@media (max-width: 768px) {
    .sd-grid-2,
    .sd-grid-3,
    .sd-grid-4,
    .sd-grid-hero { grid-template-columns: 1fr !important; gap: 16px !important; }
    .sd-flex-row { flex-direction: column !important; }
}
@media (max-width: 1024px) {
    .sd-grid-4 { grid-template-columns: repeat(2, 1fr) !important; }
    .sd-grid-3 { grid-template-columns: repeat(2, 1fr) !important; }
}


/* ==========================================
   STEP / PROCESS COMPONENTS
   ========================================== */

.sd-step-row {
    display: flex !important;
    gap: 20px !important;
    align-items: flex-start !important;
    background: #0F1629 !important;
    border: 1px solid rgba(255,255,255,0.07) !important;
    border-radius: 14px !important;
    padding: 28px !important;
}
.sd-step-num {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 40px !important;
    width: 40px !important;
    height: 40px !important;
    background: #E07B39 !important;
    border-radius: 10px !important;
    font-weight: 800 !important;
    font-size: 17px !important;
    color: #fff !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}
.sd-step-body h3 {
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #F0F4FF !important;
    margin: 0 0 8px !important;
}
.sd-step-body p {
    color: #8899BB !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}

/* Icon badge (for service cards) */
.sd-icon-badge {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 56px !important;
    height: 56px !important;
    background: rgba(224,123,57,0.1) !important;
    border: 1px solid rgba(224,123,57,0.25) !important;
    border-radius: 14px !important;
    font-size: 26px !important;
    margin-bottom: 20px !important;
    flex-shrink: 0 !important;
}
.sd-icon-badge-gold {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 56px !important;
    height: 56px !important;
    background: rgba(212,168,83,0.1) !important;
    border: 1px solid rgba(212,168,83,0.25) !important;
    border-radius: 14px !important;
    font-size: 26px !important;
    margin-bottom: 20px !important;
    flex-shrink: 0 !important;
}

.sd-grid-steps { gap: 5px !important; }
.sd-step-row { margin: 0 !important; }

.sd-grid-steps { gap: 5px !important; }
.sd-step-row { margin-bottom: 0 !important; margin-top: 0 !important; }


/* ==========================================
   EQUAL HEIGHT COLUMNS & CARD BORDERS
   ========================================== */

/* Equal height columns */
.wp-block-columns {
    align-items: stretch !important;
}
.wp-block-column {
    display: flex !important;
    flex-direction: column !important;
}
.wp-block-column > .wp-block-group {
    flex: 1 !important;
    height: 100% !important;
}

/* Restore borders on content cards — only strip from layout wrappers */
.wp-block-group {
    border: revert !important;
    box-shadow: revert !important;
}

/* Layout wrappers — no border (keep this specific) */
#page,
.site,
.site-content,
.content-area,
main#primary,
main.site-main,
.entry-content {
    border: none !important;
    box-shadow: none !important;
}


/* ==========================================
   SERVICE PAGE — WHAT'S INCLUDED 3x2 GRID
   ========================================== */
.sd-cols-3 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
    flex-wrap: wrap !important;
}
.sd-cols-3 > .wp-block-column {
    flex-basis: auto !important;
    width: auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}
.sd-cols-3 > .wp-block-column > .wp-block-group {
    flex: 1 !important;
}
@media (max-width: 768px) {
    .sd-cols-3 { grid-template-columns: 1fr !important; }
}
@media (max-width: 1024px) and (min-width: 769px) {
    .sd-cols-3 { grid-template-columns: repeat(2, 1fr) !important; }
}


/* ==========================================
   CONTACT INFO ITEMS
   ========================================== */
.sd-contact-items {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    margin-top: 40px !important;
}
.sd-contact-item {
    display: flex !important;
    gap: 16px !important;
    align-items: center !important;
}
.sd-contact-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    background: rgba(224,123,57,0.1) !important;
    border: 1px solid rgba(224,123,57,0.25) !important;
    border-radius: 12px !important;
    font-size: 20px !important;
}
.sd-contact-label {
    font-size: 12px !important;
    color: #8899BB !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 2px !important;
}
.sd-contact-value {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #F0F4FF !important;
}


/* ==========================================
   GRAVITY FORMS — DARK THEME
   ========================================== */

.gform_wrapper.gravity-theme {
    font-family: "Inter", sans-serif !important;
}
.gform_wrapper.gravity-theme .gform_body {
    background: transparent !important;
}
.gform_wrapper.gravity-theme .gfield_label {
    font-family: "Inter", sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #8899BB !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    margin-bottom: 8px !important;
}
.gform_wrapper.gravity-theme .gfield_required {
    color: #E07B39 !important;
}
.gform_wrapper.gravity-theme input[type="text"],
.gform_wrapper.gravity-theme input[type="email"],
.gform_wrapper.gravity-theme input[type="url"],
.gform_wrapper.gravity-theme input[type="tel"],
.gform_wrapper.gravity-theme textarea,
.gform_wrapper.gravity-theme select {
    background: #080D1A !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 8px !important;
    color: #F0F4FF !important;
    padding: 12px 16px !important;
    font-size: 15px !important;
    font-family: "Inter", sans-serif !important;
    width: 100% !important;
    transition: border-color 0.2s !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
.gform_wrapper.gravity-theme input[type="text"]:focus,
.gform_wrapper.gravity-theme input[type="email"]:focus,
.gform_wrapper.gravity-theme input[type="url"]:focus,
.gform_wrapper.gravity-theme textarea:focus,
.gform_wrapper.gravity-theme select:focus {
    border-color: rgba(224,123,57,0.6) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(224,123,57,0.1) !important;
}
.gform_wrapper.gravity-theme input::placeholder,
.gform_wrapper.gravity-theme textarea::placeholder {
    color: #3D4E6B !important;
}
.gform_wrapper.gravity-theme select {
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    padding-right: 40px !important;
    cursor: pointer !important;
}
.gform_wrapper.gravity-theme .gfield {
    margin-bottom: 20px !important;
    padding: 0 !important;
}
.gform_wrapper.gravity-theme .gform_button,
.gform_wrapper.gravity-theme input[type="submit"] {
    background: linear-gradient(135deg, #E07B39, #c96a28) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    font-family: "Inter", sans-serif !important;
    padding: 14px 32px !important;
    width: 100% !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 4px 20px rgba(224,123,57,0.3) !important;
    margin-top: 8px !important;
}
.gform_wrapper.gravity-theme .gform_button:hover,
.gform_wrapper.gravity-theme input[type="submit"]:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 32px rgba(224,123,57,0.45) !important;
}
.gform_wrapper.gravity-theme .gform_footer,
.gform_wrapper.gravity-theme .gform_page_footer {
    padding: 0 !important;
    margin-top: 8px !important;
    border: none !important;
}
.gform_wrapper.gravity-theme .gfield_error input,
.gform_wrapper.gravity-theme .gfield_error textarea,
.gform_wrapper.gravity-theme .gfield_error select {
    border-color: rgba(220,80,80,0.6) !important;
}
.gform_wrapper.gravity-theme .validation_message {
    color: #ff6b6b !important;
    font-size: 13px !important;
    margin-top: 4px !important;
}
.gform_wrapper.gravity-theme .validation_error {
    background: rgba(220,80,80,0.1) !important;
    border: 1px solid rgba(220,80,80,0.3) !important;
    border-radius: 8px !important;
    color: #ff6b6b !important;
    padding: 12px 16px !important;
    margin-bottom: 20px !important;
}
.gform_confirmation_wrapper {
    text-align: center !important;
    padding: 40px 20px !important;
    color: #F0F4FF !important;
}
.gform_wrapper.gravity-theme .gform_description:empty {
    display: none !important;
}

.gform_wrapper.gravity-theme select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238899BB' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important; }


/* ==========================================
   GRAVITY FORMS — DARK THEME (orbital 2.9)
   ========================================== */

/* Disable GF orbital theme defaults that conflict */
.gform_wrapper.gform-theme--orbital,
.gform-theme--orbital .gform_wrapper {
    --gf-color-primary: #E07B39 !important;
    --gf-color-primary-rgb: 224,123,57 !important;
    --gf-color-secondary: #E07B39 !important;
    --gf-ctrl-bg: #080D1A !important;
    --gf-ctrl-border-color: rgba(255,255,255,0.1) !important;
    --gf-ctrl-label-color-primary: #8899BB !important;
    --gf-ctrl-color: #F0F4FF !important;
    --gf-bg: transparent !important;
    --gf-btn-bg: #E07B39 !important;
}

/* Labels */
.gform_wrapper .gfield_label,
.gform_wrapper .gfield--type-name label,
.gform_wrapper label {
    font-family: "Inter", sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #8899BB !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
}

/* All inputs */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper textarea,
.gform_wrapper select,
.gform_wrapper .ginput_container input,
.gform_wrapper .ginput_container textarea,
.gform_wrapper .ginput_container select {
    background-color: #080D1A !important;
    background: #080D1A !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 8px !important;
    color: #F0F4FF !important;
    padding: 12px 16px !important;
    font-size: 15px !important;
    font-family: "Inter", sans-serif !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

/* Focus */
.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="url"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
    background-color: #080D1A !important;
    border-color: rgba(224,123,57,0.6) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(224,123,57,0.1) !important;
    color: #F0F4FF !important;
}

/* Placeholder */
.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder {
    color: #3D4E6B !important;
    opacity: 1 !important;
}

/* Submit button — override blue */
.gform_wrapper .gform_button,
.gform_wrapper input[type="submit"],
.gform_wrapper button[type="submit"],
.gform_wrapper .gform-theme__disable .gform_button,
.gform_wrapper .gform_page_footer .gform_button {
    background: linear-gradient(135deg, #E07B39 0%, #c96a28 100%) !important;
    background-color: #E07B39 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    font-family: "Inter", sans-serif !important;
    padding: 14px 32px !important;
    width: 100% !important;
    cursor: pointer !important;
    box-shadow: 0 4px 20px rgba(224,123,57,0.35) !important;
    transition: all 0.2s !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
.gform_wrapper .gform_button:hover,
.gform_wrapper input[type="submit"]:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 32px rgba(224,123,57,0.5) !important;
    background-color: #c96a28 !important;
}

/* Field spacing */
.gform_wrapper .gfield {
    padding-bottom: 4px !important;
}
.gform_wrapper .gform_fields {
    gap: 16px !important;
}

/* Footer */
.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer {
    padding: 8px 0 0 !important;
    margin-top: 0 !important;
    border: none !important;
    background: transparent !important;
}

/* Required star */
.gform_wrapper .gfield_required {
    color: #E07B39 !important;
}

/* Errors */
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error textarea,
.gform_wrapper .gfield_error select {
    border-color: rgba(220,80,80,0.6) !important;
    background-color: #080D1A !important;
}
.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message {
    color: #ff6b6b !important;
    font-size: 12px !important;
    background: transparent !important;
    border: none !important;
    padding: 4px 0 0 !important;
}
.gform_wrapper .gform_validation_errors,
.gform_wrapper .validation_error {
    background: rgba(220,80,80,0.08) !important;
    border: 1px solid rgba(220,80,80,0.3) !important;
    border-radius: 8px !important;
    color: #ff6b6b !important;
    padding: 12px 16px !important;
}

/* Confirmation */
.gform_confirmation_wrapper,
.gforms_confirmation_message {
    color: #F0F4FF !important;
    background: transparent !important;
}


/* ==========================================
   CHECKLIST ITEMS
   ========================================== */
.sd-check-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin: 0 0 32px !important;
}
.sd-check-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}
.sd-check-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    background: rgba(224,123,57,0.15) !important;
    border-radius: 50% !important;
    color: #E07B39 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    flex-shrink: 0 !important;
}
.sd-check-item span {
    color: #C8D4E8 !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
}
