/* Custom Scrollbar */
.custom-scrollbar::-webkit-scrollbar { width: 4px; }
.custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: #22c55e; border-radius: 10px; }

/* Animations */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(15px); }
  to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in-up {
  animation: fadeInUp 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Base resets if not covered by Tailwind Preflight */
#qualis-app-root { min-height: 100vh; }
body.is-embedded #qualis-app-root { min-height: auto; }

/* Ensure fonts are applied if Tailwind config is missing */
#qualis-app-root {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* ==========================================================================
   QUALIS SEARCH & FILTER STYLING (Overrides Divi theme white form defaults)
   ========================================================================== */
#qualis-app-root .qualis-search-wrapper,
#qualis-app-root .qualis-select-wrapper {
    background-color: #141414 !important;
    border: 2px solid #282828 !important;
    border-radius: 1rem !important;
    transition: all 0.25s ease !important;
}

#qualis-app-root .qualis-search-wrapper:hover,
#qualis-app-root .qualis-select-wrapper:hover {
    border-color: rgba(77, 235, 105, 0.5) !important;
}

#qualis-app-root .qualis-search-wrapper:focus-within,
#qualis-app-root .qualis-select-wrapper:focus-within {
    border-color: #4deb69 !important;
    box-shadow: 0 0 25px rgba(77, 235, 105, 0.22) !important;
}

#qualis-app-root .qualis-search-wrapper input.qualis-search-input,
#qualis-app-root .qualis-search-wrapper input[type="text"].qualis-search-input,
.et_pb_module #qualis-app-root input.qualis-search-input,
.et_pb_module #qualis-app-root input[type="text"] {
    background-color: transparent !important;
    background: transparent !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    height: auto !important;
    line-height: normal !important;
}

#qualis-app-root .qualis-search-wrapper input.qualis-search-input::placeholder {
    color: #737373 !important;
    font-weight: 500 !important;
    opacity: 1 !important;
}

#qualis-app-root .qualis-select-wrapper select.qualis-select-input,
.et_pb_module #qualis-app-root select.qualis-select-input,
.et_pb_module #qualis-app-root select {
    background-color: transparent !important;
    background: transparent !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    height: auto !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    cursor: pointer !important;
}

#qualis-app-root .qualis-select-wrapper select.qualis-select-input option {
    background-color: #181818 !important;
    color: #ffffff !important;
    padding: 10px !important;
    font-weight: 600 !important;
}

/* ==========================================================================
   MOBILE OPTIMIZATIONS & DIVI SEAMLESS INTEGRATION
   ========================================================================== */

/* Remove any white strips or margins around qualis-app-root in Divi */
body.page-id-1710,
body.page-id-1710 #page-container,
body.page-id-1710 #et-main-area,
body.page-id-1710 #main-content,
body.page-id-1710 .et_pb_section_0,
.et_pb_section:has(#qualis-app-root) {
    background-color: #070707 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.page-id-1710 #main-content .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
}

body.page-id-1710 .et_pb_row_0,
.et_pb_row:has(#qualis-app-root) {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.et_pb_column:has(#qualis-app-root),
.et_pb_module:has(#qualis-app-root),
body.page-id-1710 .et_pb_column_0,
body.page-id-1710 .et_pb_code_0,
body.page-id-1710 .et_pb_code_inner {
    padding: 0 !important;
    margin: 0 !important;
}

/* Hide scrollbars on horizontal scroll tabs */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Mobile Touch Tap Targets */
@media (max-width: 640px) {
    #qualis-app-root button,
    #qualis-app-root a {
        min-height: 38px;
    }
}
