/* ==================================================
   AIDC WEBSITE - WORDPRESS CUSTOM CSS
   Extracted from homepage-v5-authentic-data.html
   With !important to override parent theme
   ================================================== */

/* CSS VARIABLES */
:root {
    --wp--preset--color--primary: #0A2540;
    --wp--preset--color--secondary: #FF6B35;
    --wp--preset--color--accent: #4A90E2;
    --wp--preset--color--white: #ffffff;
    --wp--preset--color--base: #FFFFFF;
    --wp--preset--color--transparent: transparent;
    --wp--preset--color--light-gray: #F5F5F5;
    --wp--preset--color--text: #333333;
    --wp--preset--color--text-light: #666666;
    --color-primary: #0A2540;
    --color-secondary: #FF6B35;
    --color-accent: #4A90E2;
    --color-text: #333333;
    --color-text-light: #666666;
    --color-bg: #FFFFFF;
    --color-bg-light: #F5F5F5;
    --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* THEME COLOR UTILITY CLASSES */
/* GRADIENT TEXT HIGHLIGHT */.gradient-highlight {    background: linear-gradient(90deg, #FF6B35, #F7931E) !important;    -webkit-background-clip: text !important;    -webkit-text-fill-color: transparent !important;    background-clip: text !important;}/* CLIENT LOGO BOXES */.client-logo-box {    background: rgba(255, 255, 255, 0.1) !important;    backdrop-filter: blur(10px) !important;}
.has-white-color {
    color: var(--wp--preset--color--white) !important;
}

.has-white-background-color {
    background-color: var(--wp--preset--color--white) !important;
}

.has-primary-color {
    color: var(--wp--preset--color--primary) !important;
}

.has-primary-background-color {
    background-color: var(--wp--preset--color--primary) !important;
}

.has-secondary-color {
    color: var(--wp--preset--color--secondary) !important;
}

.has-secondary-background-color {
    background-color: var(--wp--preset--color--secondary) !important;
}

.has-accent-color {
    color: var(--wp--preset--color--accent) !important;
}

.has-accent-background-color {
    background-color: var(--wp--preset--color--accent) !important;
}

.has-transparent-background-color {
    background-color: transparent !important;
}

.has-light-gray-background-color {
    background-color: var(--wp--preset--color--light-gray) !important;
}

.has-primary-to-secondary-gradient-background {
    background: linear-gradient(135deg, #0A2540 0%, #1E3A5F 100%) !important;
}

/* TYPOGRAPHY */
body {
    font-family: var(--font-family) !important;
    color: var(--color-text);
    line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-family) !important;
    font-weight: 800 !important;
    line-height: 1.2;
}

/* SERVICE CARDS GRID */
.services-grid,
.service-cards {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 40px !important;
    max-width: 1200px;
    margin: 0 auto;
}

@media (max-width: 992px) {
    .services-grid,
    .service-cards {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .services-grid,
    .service-cards {
        grid-template-columns: 1fr !important;
    }
}

.service-card {
    background: white !important;
    border-radius: 12px !important;
    padding: 40px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
    transition: all 0.3s ease !important;
    text-align: center !important;
}

.service-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12) !important;
    border-top: 4px solid var(--color-secondary) !important;
}

.service-icon {
    font-size: 3rem !important;
    margin-bottom: 20px !important;
    display: block !important;
}

.service-card h3 {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    margin-bottom: 16px !important;
    color: var(--color-primary) !important;
}

.service-card p {
    font-size: 1rem !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
    color: var(--color-text-light) !important;
}

/* STATS GRID */
.stats-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 40px !important;
    max-width: 1200px;
    margin: 60px auto;
}

@media (max-width: 768px) {
    .stats-grid {
        grid-template-columns: 1fr !important;
    }
}

.stat-card {
    text-align: center !important;
    padding: 40px !important;
    background: var(--color-bg-light) !important;
    border-radius: 12px !important;
}

.stat-number {
    font-size: 3rem !important;
    font-weight: 800 !important;
    color: var(--color-secondary) !important;
    margin-bottom: 10px !important;
}

.stat-label {
    font-size: 1.1rem !important;
    color: var(--color-text-light) !important;
}

/* CASE STUDY CARDS */
.case-studies-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
    gap: 40px !important;
    max-width: 1200px;
    margin: 0 auto;
}

.case-study-card {
    background: white !important;
    border-radius: 12px !important;
    padding: 40px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
    transition: all 0.3s ease !important;
}

.case-study-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12) !important;
}

.case-study-company {
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
    color: var(--color-primary) !important;
}

.case-study-stats {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
    margin: 30px 0 !important;
}

/* BUTTONS */
.wp-block-button__link {
    font-family: var(--font-family) !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    padding: 15px 35px !important;
    transition: all 0.3s ease !important;
}

.wp-block-button__link:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important;
}

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

/* CASE STUDY BUTTONS - CENTER ON ALL DEVICES */
.case-study-card .wp-block-buttons {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 auto !important;
}

.case-study-card .wp-block-button {
    margin: 0 auto !important;
    display: flex !important;
    justify-content: center !important;
}

@media (max-width: 768px) {
    .case-study-card .wp-block-buttons {
        width: 100% !important;
    }
    
    .case-study-card .wp-block-button {
        width: 100% !important;
    }
    
    .case-study-card .wp-block-button__link {
        width: 100% !important;
        text-align: center !important;
        display: block !important;
    }
}

/* TESTIMONIAL CARD ALIGNMENT */
.testimonial-card {
    text-align: left !important;
}

/* PROCESS SECTION - EQUAL HEIGHT CARDS */
/* Force all process step cards to have equal heights */
.process-step-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/* Ensure columns in process section stretch to equal heights */
.wp-block-group:has(.process-step-card) .wp-block-columns {
    align-items: stretch !important;
    display: flex !important;
}

.wp-block-group:has(.process-step-card) .wp-block-column {
    display: flex !important;
    flex-direction: column !important;
}

/* Process section card styling */
.process-step-card .wp-block-heading {
    margin-bottom: 16px !important;
}

.process-step-card .wp-block-paragraph {
    flex-grow: 1 !important;
}

/* Responsive breakpoints */
@media (min-width: 769px) and (max-width: 992px) {
    /* Tablet: 2 columns */
    .wp-block-group:has(.process-step-card) .wp-block-columns {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 40px !important;
    }
}

@media (min-width: 993px) {
    /* Desktop: 3 columns per row, equal heights within each row */
    .wp-block-group:has(.process-step-card) .wp-block-columns {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 40px !important;
        align-items: stretch !important;
    }
    
    .wp-block-group:has(.process-step-card) .wp-block-column {
        min-height: 100% !important;
    }
}

@media (max-width: 768px) {
    /* Mobile: single column, natural heights */
    .wp-block-group:has(.process-step-card) .wp-block-columns {
        display: flex !important;
        flex-direction: column !important;
    }
}

/* FOOTER LINKS - WHITE STYLING */
.wp-block-group.has-primary-background-color a,
.wp-block-group.has-primary-background-color .wp-block-list a,
footer a,
footer .wp-block-list a {
    color: #ffffff !important;
    text-decoration: none !important;
    transition: opacity 0.3s ease !important;
}

.wp-block-group.has-primary-background-color a:hover,
.wp-block-group.has-primary-background-color .wp-block-list a:hover,
footer a:hover,
footer .wp-block-list a:hover {
    opacity: 0.8 !important;
    text-decoration: underline !important;
}

/* Ensure footer list items are white */
.wp-block-group.has-primary-background-color .wp-block-list li,
footer .wp-block-list li {
    color: #ffffff !important;
}

/* ============================================
   TICKER ANIMATION
   ============================================ */
.results-ticker-section {
    background: var(--wp--preset--color--secondary) !important;
    padding: 30px 0 !important;
    overflow: hidden !important;
}

.ticker-container {
    width: 100% !important;
    overflow: hidden !important;
    position: relative !important;
}

.ticker-track {
    display: flex !important;
    gap: 0 !important;
    animation: scroll-ticker 40s linear infinite !important;
    width: max-content !important;
    flex-wrap: nowrap !important;
}

.ticker-metric {
    flex-shrink: 0 !important;
    padding: 0 30px !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: white !important;
    white-space: nowrap !important;
    margin: 0 !important;
}

.ticker-separator {
    flex-shrink: 0 !important;
    padding: 0 15px !important;
    font-size: 1.5rem !important;
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.6) !important;
    margin: 0 !important;
}

@keyframes scroll-ticker {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.ticker-container:hover .ticker-track {
    animation-play-state: paused !important;
}

@media (max-width: 768px) {
    .ticker-metric {
        font-size: 1.125rem !important;
        padding: 0 20px !important;
    }
    .ticker-track {
        animation-duration: 30s !important;
    }
    .results-ticker-section {
        padding: 20px 0 !important;
    }
}

/* ============================================
   MOBILE NAVIGATION
   ============================================ */
@media (max-width: 782px) {
    .wp-block-navigation__responsive-container.is-menu-open {
        background: #0A2540 !important;
    }
    
    .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
        background: #0A2540 !important;
    }
    
    .wp-block-navigation__responsive-container .wp-block-navigation-item a {
        color: white !important;
    }
    
    .wp-block-navigation__responsive-container .wp-block-navigation-item a:hover {
        color: #FF6B35 !important;
    }
}

/* ============================================
   STICKY HEADER
   ============================================ */
.wp-block-group.has-primary-background-color:first-child {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important;
}

/* ============================================
   PROCESS NUMBERS - Gradient Circles
   ============================================ */
.step-number {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #FF6B35, #F7931E);
    color: white;
    font-size: 1.5rem;
    font-weight: 700;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}

/* ============================================
   EQUAL HEIGHT TESTIMONIAL CARDS
   ============================================ */
.wp-block-columns:has(.testimonial-card) {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    align-items: stretch !important;
    gap: 40px !important;
}

.testimonial-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

@media (max-width: 768px) {
    .wp-block-columns:has(.testimonial-card) {
        grid-template-columns: 1fr !important;
    }
}

/* FORCE 50px padding on mobile for ALL sections */
@media (max-width: 768px) {
    .wp-block-group[style*="padding-top:100px"],
    .wp-block-group[style*="padding-top: 100px"],
    section[style*="padding: 100px"],
    section[style*="padding:100px"] {
        padding-top: 50px !important;
        padding-bottom: 50px !important;
    }
}

/* ============================================
   EQUAL HEIGHT CASE STUDY CARDS

/* CASE STUDY CARDS - FIXED HEIGHT */
.case-study-card {
    min-height: 800px !important;
    display: flex !important;
    flex-direction: column !important;
}

.case-study-card .wp-block-buttons {
    margin-top: auto !important;
}

/* ============================================
   AIDC WEBSITE RESPONSIVE BREAKPOINTS
   Added: 2026-03-31
   ============================================ */

/* Contact Page Classes */
.contact-options-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}
.contact-card {
    background: #F5F5F5;
    padding: 50px;
    border-radius: 16px;
}
.steps-grid {
    display: grid;
    gap: 30px;
}
.step-item {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 24px;
    align-items: start;
}

/* Services Page Classes */
.features-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    text-align: center;
}
.service-card-horizontal {
    background: white;
    padding: 50px;
    border-radius: 16px;
    text-decoration: none;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 40px;
    align-items: center;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

/* Case Studies Grid */
.case-studies-grid {
    display: grid;
    gap: 60px;
}
.stats-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    text-align: center;
}

/* Generic Utility Classes */
.grid-2-col {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}
.grid-3-col {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

/* Mobile Breakpoints - 768px and below */
@media (max-width: 768px) {
    /* Contact Page */
    .contact-options-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .contact-card {
        padding: 32px 24px;
    }
    .step-item {
        grid-template-columns: 50px 1fr;
        gap: 16px;
    }
    
    /* Services Page */
    .features-grid-3 {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .service-card-horizontal {
        grid-template-columns: 1fr;
        padding: 32px 24px;
        gap: 24px;
    }
    .service-card-horizontal > div:first-child {
        padding: 24px !important;
    }
    
    /* Case Studies */
    .stats-grid-3 {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    /* Generic */
    .grid-2-col,
    .grid-3-col {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    
    /* Inline style overrides for pages */
    section[style*="grid-template-columns: repeat(2, 1fr)"],
    section[style*="grid-template-columns: repeat(3, 1fr)"],
    div[style*="grid-template-columns: repeat(2, 1fr)"],
    div[style*="grid-template-columns: repeat(3, 1fr)"] {
        grid-template-columns: 1fr !important;
    }
    
    /* Service card override */
    a[style*="grid-template-columns: 1fr 2fr"],
    div[style*="grid-template-columns: 1fr 2fr"] {
        grid-template-columns: 1fr !important;
    }
    
    /* Reduce padding on mobile */
    section[style*="padding: 80px"],
    section[style*="padding:80px"] {
        padding-top: 50px !important;
        padding-bottom: 50px !important;
    }
    
    /* Card padding reduction */
    div[style*="padding: 50px"],
    a[style*="padding: 50px"] {
        padding: 32px 24px !important;
    }
}

/* Tablet Breakpoints - 1024px and below */
@media (max-width: 1024px) {
    .features-grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }
    .stats-grid-3 {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ============================================
   ADDITIONAL RESPONSIVE CLASSES
   Added: 2026-03-31
   ============================================ */

/* About Page Story Grid */
.about-story-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 60px;
    align-items: start;
}

@media (max-width: 768px) {
    .about-story-grid {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
        text-align: center;
    }
    
    .about-story-grid > div:first-child {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}

/* ============================================
   IMPROVED MOBILE NAVIGATION
   Added: 2026-03-31
   ============================================ */

/* Hamburger button styling */
.wp-block-navigation__responsive-container-open {
    padding: 8px !important;
}

.wp-block-navigation__responsive-container-open svg {
    width: 28px !important;
    height: 28px !important;
    fill: white !important;
}

/* Mobile menu overlay - full screen */
@media (max-width: 782px) {
    .wp-block-navigation__responsive-container.is-menu-open {
        background: #0A2540 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
    }
    
    .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
        background: #0A2540 !important;
        padding: 80px 30px 40px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        width: 100% !important;
    }
    
    /* Navigation links - stacked, centered, large */
    .wp-block-navigation__responsive-container .wp-block-navigation-item {
        width: 100% !important;
        text-align: center !important;
        border-bottom: 1px solid rgba(255,255,255,0.1) !important;
    }
    
    .wp-block-navigation__responsive-container .wp-block-navigation-item:last-child {
        border-bottom: none !important;
    }
    
    .wp-block-navigation__responsive-container .wp-block-navigation-item a {
        color: white !important;
        font-size: 1.25rem !important;
        font-weight: 600 !important;
        padding: 20px 0 !important;
        display: block !important;
        transition: color 0.2s ease !important;
    }
    
    .wp-block-navigation__responsive-container .wp-block-navigation-item a:hover {
        color: #FF6B35 !important;
    }
    
    /* Close button */
    .wp-block-navigation__responsive-container-close {
        position: absolute !important;
        top: 20px !important;
        right: 20px !important;
        padding: 10px !important;
        z-index: 1001 !important;
    }
    
    .wp-block-navigation__responsive-container-close svg {
        width: 28px !important;
        height: 28px !important;
        fill: white !important;
    }
    
    /* Hide desktop nav list styling */
    .wp-block-navigation__responsive-container .wp-block-navigation__container {
        flex-direction: column !important;
        align-items: center !important;
        gap: 0 !important;
        width: 100% !important;
    }
}
