/* ========================================
   GLOBAL RESPONSIVE STYLES - ALL PAGES
   Covers: Company, BDC, BTP, Products, Categories
   Mobile First Approach
   ======================================== */

/* ========================================
   NUMBER BADGES - Replace icons with numbers
   ======================================== */

/* Benefit and Feature number badges */
.benefit-number-improving,
.feature-number-improving {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    background: linear-gradient(135deg, #005596 0%, #4597D3 100%) !important;
    width: 80px !important;
    height: 80px !important;
    border-radius: 50% !important;
    margin: 0 auto 20px !important;
    box-shadow: 0 4px 15px rgba(0, 85, 150, 0.25) !important;
    color: white !important;
    font-size: 36px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* Legacy icon class - redirect to number style */
.benefit-icon-improving,
.feature-icon-improving {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    background: linear-gradient(135deg, #005596 0%, #4597D3 100%) !important;
    width: 80px !important;
    height: 80px !important;
    border-radius: 50% !important;
    margin: 0 auto 20px !important;
    box-shadow: 0 4px 15px rgba(0, 85, 150, 0.25) !important;
    color: white !important;
    font-size: 36px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* Hide any SVG icons that might still be rendered */
.benefit-icon-improving svg,
.feature-icon-improving svg {
    display: none !important;
}

/* ========================================
   OLD ICON FIXES - Keep for backwards compatibility
   ======================================== */

/* Force SVG icons to be transparent and white */
.benefit-icon-improving svg circle,
.feature-icon-improving svg circle {
    fill: transparent !important;
    stroke: none !important;
}

.benefit-icon-improving svg path,
.feature-icon-improving svg path,
.benefit-icon-improving svg rect,
.feature-icon-improving svg rect,
.benefit-icon-improving svg line,
.feature-icon-improving svg line,
.benefit-icon-improving svg ellipse,
.feature-icon-improving svg ellipse {
    fill: white !important;
    stroke: white !important;
}

/* ========================================
   MOBILE FIRST - BASE STYLES (0-767px)
   ======================================== */

/* Hero Section - Mobile */
.product-hero-improving {
    padding: 40px 20px !important;
}

.product-title-improving {
    font-size: 32px !important;
    line-height: 1.2 !important;
    margin-bottom: 15px !important;
}

.product-tagline-improving {
    font-size: 20px !important;
    line-height: 1.4 !important;
    margin-bottom: 15px !important;
}

.product-description {
    font-size: 16px !important;
    padding: 0 10px !important;
}

/* Highlighted Sections - Mobile */
.product-section-improving {
    padding: 40px 20px !important;
    margin: 30px 0 !important;
}

/* Section Titles - Mobile */
.product-section-title {
    font-size: 28px !important;
    margin-bottom: 30px !important;
    line-height: 1.3 !important;
}

/* Grid Layouts - Mobile (1 column) */
.benefits-grid-improving,
.features-grid-improving {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
}

/* Cards - Mobile */
.benefit-card-improving,
.feature-card-improving {
    padding: 30px 20px !important;
}

/* Icon Circles - Mobile */
.benefit-icon-improving,
.feature-icon-improving {
    width: 70px !important;
    height: 70px !important;
    font-size: 40px !important;
}

/* Card Titles - Mobile */
.benefit-card-improving h3,
.feature-card-improving h3 {
    font-size: 18px !important;
    margin-bottom: 12px !important;
}

/* Card Text - Mobile */
.benefit-card-improving p,
.feature-card-improving p {
    font-size: 14px !important;
    line-height: 1.6 !important;
}

/* Comparison Table - Mobile */
.product-section-improving table {
    min-width: 600px !important;
    font-size: 14px !important;
}

.product-section-improving table th,
.product-section-improving table td {
    padding: 15px 10px !important;
    font-size: 14px !important;
}

/* CTA Section - Mobile */
.cta-section-final {
    padding: 40px 20px !important;
}

.cta-section-final h2 {
    font-size: 24px !important;
    line-height: 1.3 !important;
}

.cta-section-final p {
    font-size: 15px !important;
}

.cta-button-improving {
    padding: 14px 30px !important;
    font-size: 15px !important;
    width: 100% !important;
    max-width: 300px !important;
}

/* ========================================
   TABLET - (768px - 1023px)
   ======================================== */

@media (min-width: 768px) {
    /* Hero Section - Tablet */
    .product-hero-improving {
        padding: 50px 30px !important;
    }

    .product-title-improving {
        font-size: 42px !important;
    }

    .product-tagline-improving {
        font-size: 24px !important;
    }

    .product-description {
        font-size: 17px !important;
    }

    /* Highlighted Sections - Tablet */
    .product-section-improving {
        padding: 50px 30px !important;
        margin: 35px 0 !important;
    }

    /* Section Titles - Tablet */
    .product-section-title {
        font-size: 32px !important;
        margin-bottom: 40px !important;
    }

    /* Grid Layouts - Tablet (2 columns) */
    .benefits-grid-improving,
    .features-grid-improving {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 25px !important;
    }

    /* Cards - Tablet */
    .benefit-card-improving,
    .feature-card-improving {
        padding: 35px 25px !important;
    }

    /* Icon Circles - Tablet */
    .benefit-icon-improving,
    .feature-icon-improving {
        width: 75px !important;
        height: 75px !important;
        font-size: 44px !important;
    }

    /* Card Titles - Tablet */
    .benefit-card-improving h3,
    .feature-card-improving h3 {
        font-size: 19px !important;
    }

    /* Card Text - Tablet */
    .benefit-card-improving p,
    .feature-card-improving p {
        font-size: 14.5px !important;
    }

    /* Comparison Table - Tablet */
    .product-section-improving table th,
    .product-section-improving table td {
        padding: 18px 15px !important;
        font-size: 15px !important;
    }

    /* CTA Section - Tablet */
    .cta-section-final {
        padding: 50px 30px !important;
    }

    .cta-section-final h2 {
        font-size: 28px !important;
    }

    .cta-section-final p {
        font-size: 16px !important;
    }

    .cta-button-improving {
        width: auto !important;
    }
}

/* ========================================
   DESKTOP - (1024px+)
   ======================================== */

@media (min-width: 1024px) {
    /* Hero Section - Desktop */
    .product-hero-improving {
        padding: 60px 40px !important;
    }

    .product-title-improving {
        font-size: 48px !important;
    }

    .product-tagline-improving {
        font-size: 28px !important;
    }

    .product-description {
        font-size: 18px !important;
    }

    /* Highlighted Sections - Desktop */
    .product-section-improving {
        padding: 60px 40px !important;
        margin: 40px 0 !important;
    }

    /* Section Titles - Desktop */
    .product-section-title {
        font-size: 36px !important;
        margin-bottom: 50px !important;
    }

    /* Grid Layouts - Desktop (ALWAYS 2 columns) */
    .benefits-grid-improving,
    .features-grid-improving {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 30px !important;
        max-width: 1200px !important;
    }

    /* Cards - Desktop */
    .benefit-card-improving,
    .feature-card-improving {
        padding: 40px 30px !important;
    }

    /* Icon Circles - Desktop */
    .benefit-icon-improving,
    .feature-icon-improving {
        width: 80px !important;
        height: 80px !important;
        font-size: 48px !important;
    }

    /* Card Titles - Desktop */
    .benefit-card-improving h3,
    .feature-card-improving h3 {
        font-size: 20px !important;
    }

    /* Card Text - Desktop */
    .benefit-card-improving p,
    .feature-card-improving p {
        font-size: 15px !important;
    }

    /* Comparison Table - Desktop */
    .product-section-improving table th,
    .product-section-improving table td {
        padding: 20px !important;
        font-size: 16px !important;
    }

    /* CTA Section - Desktop */
    .cta-section-final {
        padding: 60px 40px !important;
    }

    .cta-section-final h2 {
        font-size: 32px !important;
    }

    .cta-section-final p {
        font-size: 17px !important;
    }

    .cta-button-improving {
        padding: 16px 40px !important;
        font-size: 16px !important;
    }
}

/* ========================================
   THE IMPROVING DIFFERENCE - SPECIFIC STYLES
   ======================================== */

/* Pillar Sections - Mobile */
@media (max-width: 767px) {
    /* Pillar container */
    .pillar-container {
        padding: 30px 20px !important;
        margin-bottom: 40px !important;
    }

    /* Pillar icon */
    .pillar-icon {
        font-size: 48px !important;
        margin-bottom: 8px !important;
    }

    /* Pillar title */
    .pillar-title {
        font-size: 24px !important;
        margin-bottom: 8px !important;
    }

    /* Pillar subtitle */
    .pillar-subtitle {
        font-size: 16px !important;
        margin-bottom: 20px !important;
    }

    /* Pillar description */
    .pillar-description {
        font-size: 15px !important;
        margin-bottom: 20px !important;
    }

    /* Highlights grid */
    .pillar-highlights {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    /* Highlight item */
    .pillar-highlight-item {
        padding: 12px 15px !important;
        font-size: 14px !important;
    }

    /* Timeline steps */
    .timeline-step {
        flex-direction: column !important;
        gap: 15px !important;
        padding: 25px !important;
    }

    .timeline-number {
        width: 50px !important;
        height: 50px !important;
        font-size: 24px !important;
    }

    .timeline-content {
        margin-left: 0 !important;
    }

    .timeline-title {
        font-size: 18px !important;
        margin-bottom: 8px !important;
    }

    .timeline-duration {
        font-size: 13px !important;
        padding: 5px 12px !important;
        margin-left: 0 !important;
        margin-top: 10px !important;
        display: inline-block !important;
    }

    .timeline-description {
        font-size: 14px !important;
    }
}

/* Pillar Sections - Tablet */
@media (min-width: 768px) and (max-width: 1023px) {
    .pillar-container {
        padding: 35px 25px !important;
    }

    .pillar-icon {
        font-size: 56px !important;
    }

    .pillar-title {
        font-size: 28px !important;
    }

    .pillar-subtitle {
        font-size: 18px !important;
    }

    .pillar-highlights {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .timeline-step {
        padding: 28px !important;
    }

    .timeline-number {
        width: 55px !important;
        height: 55px !important;
        font-size: 26px !important;
    }

    .timeline-title {
        font-size: 20px !important;
    }
}

/* Pillar Sections - Desktop */
@media (min-width: 1024px) {
    .pillar-container {
        padding: 40px !important;
    }

    .pillar-icon {
        font-size: 64px !important;
    }

    .pillar-title {
        font-size: 32px !important;
    }

    .pillar-subtitle {
        font-size: 20px !important;
    }

    .pillar-highlights {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
    }

    .timeline-step {
        padding: 30px !important;
    }

    .timeline-number {
        width: 60px !important;
        height: 60px !important;
        font-size: 28px !important;
    }

    .timeline-title {
        font-size: 22px !important;
    }
}

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

/* Prevent horizontal scroll */
.responsive-container {
    max-width: 100%;
    overflow-x: hidden;
}

/* Responsive images */
.responsive-image {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Responsive text */
@media (max-width: 767px) {
    .hide-mobile {
        display: none !important;
    }
}

@media (min-width: 768px) {
    .show-mobile-only {
        display: none !important;
    }
}

/* Responsive spacing */
@media (max-width: 767px) {
    .section-spacing {
        margin: 30px 0 !important;
    }
}

@media (min-width: 768px) {
    .section-spacing {
        margin: 40px 0 !important;
    }
}

/* ========================================
   GLOBAL STYLES - ALL PAGE TEMPLATES
   ======================================== */

/* ALL PRODUCT PAGES - Base Styles */
@media (max-width: 767px) {
    /* Hero sections - all templates */
    .hero, .product-hero, [class*="hero"] {
        padding: 40px 20px !important;
    }

    /* Only affect content area, not menu */
    #product-content h1,
    .hero h1, 
    .product-hero h1 {
        font-size: 32px !important;
        line-height: 1.2 !important;
    }

    #product-content h2 {
        font-size: 28px !important;
        line-height: 1.3 !important;
    }

    #product-content h3 {
        font-size: 20px !important;
        line-height: 1.4 !important;
    }

    /* All grid layouts - 1 column on mobile */
    #product-content [class*="grid"],
    #product-content .grid,
    #product-content .features-grid,
    #product-content .benefits-grid,
    #product-content .cards-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    /* All cards - mobile padding */
    #product-content [class*="card"],
    #product-content .card,
    #product-content .feature-card,
    #product-content .benefit-card {
        padding: 25px 20px !important;
    }

    /* All sections - mobile padding */
    #product-content section, 
    #product-content .section, 
    #product-content [class*="section"] {
        padding: 40px 20px !important;
        margin: 30px 0 !important;
    }

    /* All images - responsive */
    #product-content img {
        max-width: 100% !important;
        height: auto !important;
    }

    /* All tables - horizontal scroll */
    #product-content table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        font-size: 14px !important;
    }

    #product-content table th, 
    #product-content table td {
        padding: 12px 8px !important;
        font-size: 14px !important;
    }

    /* All buttons - full width on mobile */
    #product-content button, 
    #product-content .button, 
    #product-content .cta-button, 
    #product-content [class*="button"] {
        width: 100% !important;
        max-width: 300px !important;
        padding: 14px 20px !important;
        font-size: 15px !important;
    }

    /* List items */
    #product-content li {
        font-size: 14px !important;
        line-height: 1.6 !important;
        margin-bottom: 10px !important;
    }
}

/* TABLET - All pages (768px - 1023px) */
@media (min-width: 768px) and (max-width: 1023px) {
    /* Hero sections */
    .hero, .product-hero, [class*="hero"] {
        padding: 50px 30px !important;
    }

    #product-content h1 {
        font-size: 42px !important;
    }

    #product-content h2 {
        font-size: 32px !important;
    }

    #product-content h3 {
        font-size: 22px !important;
    }

    /* All grid layouts - 2 columns on tablet */
    #product-content [class*="grid"],
    #product-content .grid,
    #product-content .features-grid,
    #product-content .benefits-grid,
    #product-content .cards-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 25px !important;
    }

    /* All cards */
    #product-content [class*="card"],
    #product-content .card,
    #product-content .feature-card,
    #product-content .benefit-card {
        padding: 30px 25px !important;
    }

    /* All sections */
    #product-content section, 
    #product-content .section, 
    #product-content [class*="section"] {
        padding: 50px 30px !important;
    }

    /* Tables */
    #product-content table th, 
    #product-content table td {
        padding: 15px 12px !important;
        font-size: 15px !important;
    }

    /* Buttons */
    #product-content button, 
    #product-content .button, 
    #product-content .cta-button, 
    #product-content [class*="button"] {
        width: auto !important;
        padding: 15px 35px !important;
        font-size: 16px !important;
    }
}

/* DESKTOP - All pages (1024px+) */
@media (min-width: 1024px) {
    /* Hero sections */
    .hero, .product-hero, [class*="hero"] {
        padding: 60px 40px !important;
    }

    #product-content h1 {
        font-size: 48px !important;
    }

    #product-content h2 {
        font-size: 36px !important;
    }

    #product-content h3 {
        font-size: 24px !important;
    }

    /* All grid layouts - 2 columns on desktop (consistent) */
    #product-content [class*="grid"],
    #product-content .grid,
    #product-content .features-grid,
    #product-content .benefits-grid,
    #product-content .cards-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 30px !important;
        max-width: 1200px !important;
        margin: 0 auto !important;
    }

    /* All cards */
    #product-content [class*="card"],
    #product-content .card,
    #product-content .feature-card,
    #product-content .benefit-card {
        padding: 40px 30px !important;
    }

    /* All sections */
    #product-content section, 
    #product-content .section, 
    #product-content [class*="section"] {
        padding: 60px 40px !important;
    }

    /* Tables */
    #product-content table th, 
    #product-content table td {
        padding: 20px !important;
        font-size: 16px !important;
    }

    /* Buttons */
    #product-content button, 
    #product-content .button, 
    #product-content .cta-button, 
    #product-content [class*="button"] {
        padding: 16px 40px !important;
        font-size: 16px !important;
    }
}

/* ========================================
   SPECIFIC PAGE TEMPLATES
   ======================================== */

/* CATEGORY PAGES (BDC, BTP, etc.) */
@media (max-width: 767px) {
    .category-header {
        padding: 40px 20px !important;
    }

    .category-title {
        font-size: 32px !important;
    }

    .category-description {
        font-size: 16px !important;
    }

    .category-products-grid {
        grid-template-columns: 1fr !important;
    }

    .category-product-card {
        padding: 25px 20px !important;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .category-products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (min-width: 1024px) {
    .category-products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* ABOUT US PAGE */
@media (max-width: 767px) {
    .worldwide-image {
        max-width: 100% !important;
        height: auto !important;
        padding: 0 20px !important;
    }

    .core-values-grid,
    .recognition-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .value-card,
    .recognition-card {
        padding: 25px 20px !important;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .core-values-grid,
    .recognition-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (min-width: 1024px) {
    .core-values-grid,
    .recognition-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* INNOVATION EXPERIENCE PAGE */
@media (max-width: 767px) {
    .innovation-timeline {
        grid-template-columns: 1fr !important;
    }

    .innovation-day-card {
        padding: 25px 20px !important;
    }

    .agenda-item {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }

    .agenda-time {
        font-size: 14px !important;
    }

    .agenda-content {
        font-size: 14px !important;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .innovation-timeline {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (min-width: 1024px) {
    .innovation-timeline {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* GUARDIAN PAGE */
@media (max-width: 767px) {
    .guardian-packages-grid {
        grid-template-columns: 1fr !important;
    }

    .guardian-package-card {
        padding: 25px 20px !important;
    }

    .guardian-feature-list li {
        font-size: 14px !important;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .guardian-packages-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (min-width: 1024px) {
    .guardian-packages-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* CLEAN CORE PAGE */
@media (max-width: 767px) {
    .clean-core-benefits-grid,
    .clean-core-steps-grid {
        grid-template-columns: 1fr !important;
    }

    .clean-core-card {
        padding: 25px 20px !important;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .clean-core-benefits-grid,
    .clean-core-steps-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (min-width: 1024px) {
    .clean-core-benefits-grid,
    .clean-core-steps-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* ORION PORTAL, XI.PLANNING, XPRESS PLANNING */
@media (max-width: 767px) {
    .product-custom-hero {
        padding: 40px 20px !important;
    }

    .product-custom-features,
    .product-custom-benefits {
        grid-template-columns: 1fr !important;
    }

    .product-custom-card {
        padding: 25px 20px !important;
    }

    .product-custom-image {
        max-width: 100% !important;
        height: auto !important;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .product-custom-features,
    .product-custom-benefits {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (min-width: 1024px) {
    .product-custom-features,
    .product-custom-benefits {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* ========================================
   UTILITY OVERRIDES - PAGE CONTENT ONLY
   ======================================== */

/* Only apply to page content, NOT menu */
#product-content {
    overflow-x: hidden !important;
}

/* Ensure page content containers are responsive */
#product-content .container,
#product-content [class*="container"] {
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

@media (min-width: 768px) {
    #product-content .container,
    #product-content [class*="container"] {
        padding-left: 30px !important;
        padding-right: 30px !important;
    }
}

@media (min-width: 1024px) {
    #product-content .container,
    #product-content [class*="container"] {
        max-width: 1400px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 40px !important;
        padding-right: 40px !important;
    }
}
