/**
 * Homepage Consistency Styles
 * Standardized fonts, spacing, and typography across all homepage sections
 * Based on main website standards: H1: 90px, H2: 42px, H3: 30px, Body: 16px
 */

/* ================================
   GLOBAL TYPOGRAPHY STANDARDS
   ================================ */

/* Section Titles - Standardized to H2 (42px) */
.about-main-title,
.services-title,
.news-title,
.whyus-title,
.clients-title {
    font-size: 42px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    margin-bottom: 25px !important;
    color: #232331 !important;
}

/* Section Descriptions - Standardized to Body (16px) */
.about-description,
.services-description,
.news-description,
.whyus-description,
.clients-description {
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #666 !important;
    margin-bottom: 25px !important;
    font-weight: 400 !important;
}

/* Subsection Titles - Standardized to H3 (30px) */
.about-subtitle,
.service-title,
.stat-label,
.news-item-title,
.whyus-item-title,
.client-name {
    font-size: 30px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    margin-bottom: 20px !important;
    color: #232331 !important;
}

/* Badge/Label Text - Standardized */
.about-badge,
.services-badge,
.stats-badge,
.news-badge,
.whyus-badge,
.clients-badge {
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    margin-bottom: 25px !important;
}

/* ================================
   SECTION PADDING STANDARDIZATION
   ================================ */

/* All main sections - Standardized padding */
.about-section-professional,
.news-section-professional,
.whyus-section-professional,
.clients-section-professional {
    padding: 80px 0 !important;
    position: relative;
}

/* Section headers - Standardized spacing */
.services-header,
.news-header,
.whyus-header,
.clients-header {
    margin-bottom: 60px !important;
}

/* ================================
   HERO SECTION STANDARDIZATION
   ================================ */

/* Hero heading - Adjusted to be more reasonable */
.hero-heading {
    font-size: 64px !important; /* Reduced from 80px for better balance */
    font-weight: 800 !important; /* Reduced from 900 for consistency */
    line-height: 1.2 !important;
    margin-bottom: 30px !important;
}

/* Hero label - Standardized */
.hero-label {
    font-size: 16px !important; /* Reduced from 18px */
    font-weight: 700 !important;
    letter-spacing: 2px !important; /* Reduced from 3px */
    margin-bottom: 20px !important; /* Reduced from 25px */
}

/* ================================
   BUTTON STANDARDIZATION
   ================================ */

/* Primary buttons - Standardized */
.btn-primary-custom,
.btn-modern,
.service-btn,
.news-btn,
.whyus-btn {
    padding: 15px 35px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border-radius: 50px !important;
    transition: all 0.3s ease !important;
}

/* Secondary buttons - Standardized */
.btn-secondary-custom,
.btn-outline {
    padding: 15px 35px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border-radius: 50px !important;
    transition: all 0.3s ease !important;
}

/* ================================
   CARD STANDARDIZATION
   ================================ */

/* Reset all card initial states */
.news-card,
.whyus-card,
.client-card,
.news-card-inner,
.whyus-card-inner,
.client-card-inner {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    background: white !important;
}

/* Stats section cards - Reduced opacity */
.stats-section-professional .stat-card,
.stats-section-professional .stat-card-inner {
    opacity: 0.7 !important;
    transform: none !important;
    visibility: visible !important;
    background: white !important;
}

/* Stat cards, news cards - Standardized */
.stat-card,
.news-card,
.whyus-card,
.client-card {
    padding: 30px !important;
    border-radius: 20px !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08) !important;
    border: 1px solid rgba(215, 0, 6, 0.1) !important;
    transition: all 0.4s ease !important;
    background: white !important;
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    display: block !important;
}

/* Card titles - Standardized */
.stat-card .stat-label,
.news-card .news-title,
.whyus-card .whyus-title {
    font-size: 24px !important;
    font-weight: 800 !important;
    margin-bottom: 15px !important;
    color: #232331 !important;
}

/* Card descriptions - Standardized */
.stat-card .stat-description,
.news-card .news-description,
.whyus-card .whyus-description {
    font-size: 16px !important;
    line-height: 1.7 !important;
    color: #666 !important;
    margin-bottom: 20px !important;
}

/* ================================
   FEATURE ITEMS STANDARDIZATION
   ================================ */

/* Feature items - Standardized */
.about-features .feature-item,
.service-features .feature-item,
.whyus-features .feature-item {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #232331 !important;
    margin-bottom: 15px !important;
}

/* Stats features - White text for dark background */
.stats-features .feature-item {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    margin-bottom: 15px !important;
}

/* Feature icons - Standardized */
.about-features .feature-item i,
.service-features .feature-item i,
.stats-features .feature-item i,
.whyus-features .feature-item i {
    font-size: 18px !important;
    color: #d70006 !important;
    margin-right: 10px !important;
}

/* ================================
   STATS/NUMBERS STANDARDIZATION
   ================================ */

/* Stat numbers - Standardized */
.stat-number,
.counter {
    font-size: 48px !important;
    font-weight: 800 !important;
    color: #d70006 !important;
    line-height: 1 !important;
    margin-bottom: 10px !important;
}

/* Achievement number - White text for dark badge background */
.achievement-number {
    font-size: 48px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    line-height: 1 !important;
    margin-bottom: 10px !important;
}

/* Stat labels - Standardized */
.stat-label {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #232331 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 5px !important;
}

/* Achievement label - White text for dark badge background */
.achievement-label {
    font-size: 11px !important;
    font-weight: 500 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 2px !important;
}

/* Stat descriptions - Standardized */
.stat-description {
    font-size: 14px !important;
    color: #666 !important;
    font-weight: 400 !important;
}

/* Achievement text - White text for dark badge background */
.achievement-text {
    font-size: 14px !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* ================================
   RESPONSIVE STANDARDIZATION
   ================================ */

/* Tablet adjustments */
@media (max-width: 991px) {
    .about-section-professional,
    .news-section-professional,
    .whyus-section-professional,
    .clients-section-professional {
        padding: 60px 0 !important;
    }
    
    .about-main-title,
    .services-title,
    .news-title,
    .whyus-title,
    .clients-title {
        font-size: 36px !important;
    }
    
    .hero-heading {
        font-size: 48px !important;
    }
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .about-section-professional,
    .news-section-professional,
    .whyus-section-professional,
    .clients-section-professional {
        padding: 50px 0 !important;
    }
    
    .about-main-title,
    .services-title,
    .news-title,
    .whyus-title,
    .clients-title {
        font-size: 32px !important;
        margin-bottom: 20px !important;
    }
    
    .about-description,
    .services-description,
    .news-description,
    .whyus-description,
    .clients-description {
        font-size: 16px !important;
        margin-bottom: 20px !important;
    }
    
    .hero-heading {
        font-size: 38px !important;
        margin-bottom: 25px !important;
    }
    
    .hero-label {
        font-size: 14px !important;
        margin-bottom: 15px !important;
    }
    
    .stat-card,
    .news-card,
    .whyus-card,
    .client-card {
        padding: 25px !important;
    }
    
    .stat-number,
    .counter {
        font-size: 36px !important;
    }
    
    .achievement-number {
        font-size: 36px !important;
        color: #ffffff !important;
    }
}

/* Small mobile adjustments */
@media (max-width: 576px) {
    .about-section-professional,
    .news-section-professional,
    .whyus-section-professional,
    .clients-section-professional {
        padding: 40px 0 !important;
    }
    
    .about-main-title,
    .services-title,
    .news-title,
    .whyus-title,
    .clients-title {
        font-size: 28px !important;
    }
    
    .hero-heading {
        font-size: 32px !important;
    }
    
    .hero-label {
        font-size: 12px !important;
        letter-spacing: 1px !important;
    }
    
    .stat-card,
    .news-card,
    .whyus-card,
    .client-card {
        padding: 20px !important;
    }
    
    .stat-number,
    .counter {
        font-size: 32px !important;
    }
    
    .achievement-number {
        font-size: 32px !important;
        color: #ffffff !important;
    }
}

/* ================================
   SPACING STANDARDIZATION
   ================================ */

/* Consistent margins between elements */
.about-content-box,
.services-header,
.stats-content-box,
.news-header,
.whyus-header,
.clients-header {
    margin-bottom: 40px !important;
}

/* Consistent gaps in grids */
.stats-grid-professional,
.news-grid,
.whyus-grid,
.clients-grid {
    gap: 30px !important;
}

/* Consistent button spacing */
.about-cta-buttons,
.services-section-cta,
.stats-cta-buttons,
.news-section-cta,
.whyus-section-cta,
.clients-section-cta {
    margin-top: 40px !important;
    gap: 20px !important;
}

/* ================================
   COLOR CONSISTENCY
   ================================ */

/* Primary brand color usage */
.highlight-text,
.services-highlight,
.stats-highlight,
.news-highlight,
.whyus-highlight,
.clients-highlight {
    color: #d70006 !important;
    font-weight: 800 !important;
}

/* Secondary brand color usage */
.about-badge,
.services-badge,
.stats-badge,
.news-badge,
.whyus-badge,
.clients-badge {
    background: linear-gradient(135deg, #d70006 0%, #ca1f26 100%) !important;
    color: white !important;
}

/* ================================
   ANIMATION STANDARDIZATION
   ================================ */

/* Consistent hover effects */
.news-card:hover,
.whyus-card:hover,
.client-card:hover {
    transform: translateY(-10px) !important;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15) !important;
    opacity: 1 !important;
    background: white !important;
}

/* Stats section hover effects - Maintain reduced opacity */
.stats-section-professional .stat-card:hover,
.stats-section-professional .stat-card-inner:hover {
    transform: translateY(-10px) !important;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15) !important;
    opacity: 0.7 !important;
    background: white !important;
}

/* Consistent button hover effects */
.btn-primary-custom:hover,
.btn-modern:hover,
.service-btn:hover,
.news-btn:hover,
.whyus-btn:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 15px 40px rgba(215, 0, 6, 0.4) !important;
}

.btn-secondary-custom:hover,
.btn-outline:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2) !important;
}
