/*
Theme Name: BAZILISQ Theme
Theme URI: https://bazilisq.com
Author: BAZILISQ
Author URI: https://bazilisq.com
Description: Custom Elementor theme for BAZILISQ - AI Search Analytics platform. Child theme of Hello Elementor with brand colors, typography, and global styles.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bazilisq
Template: hello-elementor
*/

/* ============================================
   BAZILISQ BRAND DESIGN SYSTEM
   ============================================ */

:root {
    /* ========== LIGHT MODE (Default) ========== */
    /* Background colors */
    --bzq-bg-100: hsl(25 10% 95%);
    --bzq-bg-200: hsl(25 10% 92%);
    --bzq-bg-300: hsl(25 10% 90%);
    --bzq-bg-400: hsl(25 10% 80%);
    
    /* Border colors */
    --bzq-border: hsl(25 10% 75%);
    --bzq-border-light: hsl(25 10% 85%);
    
    /* Text colors */
    --bzq-text: hsl(25 10% 15%);
    --bzq-text-muted: hsl(28 10.2% 40%);
    --bzq-text-light: hsl(25 10% 50%);
    
    /* Primary brand color (teal/green) - USE SPARINGLY */
    --bzq-primary: hsl(163 25% 25%);
    --bzq-primary-light: hsl(162 9.8% 40%);
    
    /* Functional colors */
    --bzq-red: hsl(340 50% 30%);
    --bzq-red-bg: hsl(340 50% 85%);
    --bzq-orange: hsl(32 50% 50%);
    --bzq-orange-bg: hsl(32 50% 85%);
    --bzq-blue: hsl(201 50% 30%);
    --bzq-blue-bg: hsl(201 50% 85%);
    --bzq-green: hsl(91 50% 30%);
    --bzq-green-bg: hsl(91 50.3% 85%);
    
    /* White */
    --bzq-white: #FFFFFF;
}

/* ========== DARK MODE ========== */
[data-theme="dark"],
.dark-mode {
    --bzq-bg-100: hsl(25 10% 15%);
    --bzq-bg-200: hsl(25 10% 10%);
    --bzq-bg-300: hsl(25 10% 5%);
    --bzq-bg-400: hsl(25 10% 25%);
    
    --bzq-border: hsl(25 10% 30%);
    --bzq-border-light: hsl(25 10% 25%);
    
    --bzq-text: hsl(25 10% 95%);
    --bzq-text-muted: hsl(25 10% 80%);
    --bzq-text-light: hsl(25 10% 60%);
    
    --bzq-primary: hsl(163 25% 75%);
    --bzq-primary-light: hsl(162 9.8% 60%);
    
    --bzq-red-bg: hsl(340 50% 70%);
    --bzq-orange-bg: hsl(32 50% 70%);
    --bzq-blue-bg: hsl(201 50% 70%);
    --bzq-green-bg: hsl(91 50% 70%);
}

/* ============================================
   BASE STYLES
   ============================================ */

body {
    font-family: 'General Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-weight: 400;
    background-color: var(--bzq-bg-100);
    color: var(--bzq-text);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ============================================
   TYPOGRAPHY
   ============================================ */

h1, h2, h3, h4, h5, h6 {
    font-family: 'General Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    font-weight: 300;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: var(--bzq-text);
}

h1 { font-size: 3.5rem; }
h2 { font-size: 2.5rem; }
h3 { font-size: 2rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }

p {
    font-weight: 300;
    line-height: 1.7;
    color: var(--bzq-text-muted);
}

a {
    color: var(--bzq-text);
    text-decoration: none;
    transition: color 0.2s ease;
}

a:hover {
    color: var(--bzq-primary);
}

/* Font weight utility classes */
.font-ultralight { font-weight: 200; }
.font-light { font-weight: 300; }
.font-regular { font-weight: 400; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }

/* ============================================
   BUTTONS
   ============================================ */

.bzq-btn,
.elementor-button {
    font-family: 'General Sans', sans-serif;
    font-weight: 500;
    border-radius: 8px;
    padding: 14px 28px;
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
    border: none;
}

.bzq-btn-primary,
.elementor-button.elementor-button-primary {
    background-color: var(--bzq-text);
    color: var(--bzq-bg-100);
}

.bzq-btn-primary:hover {
    background-color: var(--bzq-text-muted);
}

.bzq-btn-secondary {
    background-color: transparent;
    color: var(--bzq-text);
    border: 1px solid var(--bzq-border);
}

.bzq-btn-secondary:hover {
    border-color: var(--bzq-text);
    background-color: var(--bzq-bg-200);
}

/* ============================================
   NAVIGATION
   ============================================ */

.site-header,
.elementor-location-header {
    background-color: var(--bzq-bg-100);
    border-bottom: 1px solid var(--bzq-border-light);
}

.site-header a {
    color: var(--bzq-text-muted);
    font-weight: 300;
}

.site-header a:hover {
    color: var(--bzq-text);
}

/* ============================================
   CARDS & CONTAINERS
   ============================================ */

.bzq-card {
    background-color: var(--bzq-white);
    border: 1px solid var(--bzq-border-light);
    border-radius: 16px;
    padding: 32px;
}

.bzq-card-featured {
    border-color: var(--bzq-text);
    border-width: 2px;
}

/* ============================================
   FORMS
   ============================================ */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
textarea,
select {
    font-family: 'General Sans', sans-serif;
    font-weight: 300;
    padding: 12px 16px;
    border: 1px solid var(--bzq-border);
    border-radius: 8px;
    background-color: var(--bzq-bg-100);
    color: var(--bzq-text);
    width: 100%;
    transition: border-color 0.2s ease;
}

input:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: var(--bzq-text);
}

/* ============================================
   FOOTER
   ============================================ */

.site-footer,
.elementor-location-footer {
    background-color: var(--bzq-text);
    color: var(--bzq-bg-100);
}

.site-footer a {
    color: var(--bzq-bg-100);
    opacity: 0.8;
    font-weight: 300;
}

.site-footer a:hover {
    opacity: 1;
}

/* ============================================
   ELEMENTOR OVERRIDES
   ============================================ */

/* Remove default Elementor link colors */
.elementor-widget-text-editor a {
    color: var(--bzq-text);
    font-weight: 500;
}

/* Section backgrounds */
.elementor-section.bzq-bg-cream {
    background-color: var(--bzq-bg-100);
}

.elementor-section.bzq-bg-white {
    background-color: var(--bzq-white);
}

.elementor-section.bzq-bg-dark {
    background-color: var(--bzq-text);
    color: var(--bzq-bg-100);
}

/* Heading styles for Elementor */
.elementor-heading-title {
    font-family: 'General Sans', sans-serif;
    font-weight: 300;
    letter-spacing: -0.02em;
}

/* Icon boxes */
.elementor-icon-box-icon {
    background-color: var(--bzq-bg-200);
    border-radius: 10px;
    padding: 12px;
}

/* Testimonials */
.elementor-testimonial-content {
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 1.5;
}

/* ============================================
   UTILITY CLASSES
   ============================================ */

.bzq-text-muted { color: var(--bzq-text-muted); }
.bzq-text-light { color: var(--bzq-text-light); }
.bzq-text-primary { color: var(--bzq-primary); }

.bzq-bg-100 { background-color: var(--bzq-bg-100); }
.bzq-bg-200 { background-color: var(--bzq-bg-200); }
.bzq-bg-white { background-color: var(--bzq-white); }
.bzq-bg-dark { background-color: var(--bzq-text); }

.bzq-border { border: 1px solid var(--bzq-border); }
.bzq-border-light { border: 1px solid var(--bzq-border-light); }

.bzq-rounded { border-radius: 8px; }
.bzq-rounded-lg { border-radius: 12px; }
.bzq-rounded-xl { border-radius: 16px; }

/* ============================================
   CODE BLOCKS (for documentation pages)
   ============================================ */

pre, code {
    font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
}

pre {
    background-color: var(--bzq-text);
    color: var(--bzq-green-bg);
    padding: 20px;
    border-radius: 8px;
    overflow-x: auto;
    font-size: 0.875rem;
}

code {
    background-color: var(--bzq-bg-200);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.875em;
}

pre code {
    background: none;
    padding: 0;
}

/* ============================================
   CALLOUT BOXES
   ============================================ */

.bzq-callout {
    background-color: var(--bzq-bg-200);
    border-left: 3px solid var(--bzq-text);
    padding: 16px 20px;
    border-radius: 0 8px 8px 0;
    margin: 24px 0;
}

.bzq-callout.warning {
    border-left-color: var(--bzq-orange);
}

.bzq-callout.info {
    border-left-color: var(--bzq-blue);
}

.bzq-callout.success {
    border-left-color: var(--bzq-green);
}

/* ============================================
   RESPONSIVE ADJUSTMENTS
   ============================================ */

@media (max-width: 768px) {
    h1 { font-size: 2.5rem; }
    h2 { font-size: 2rem; }
    h3 { font-size: 1.5rem; }
    
    .bzq-card {
        padding: 24px;
    }
}
