/* Responsive styles - All media queries consolidated */

:root {
    --nav-breakpoint: 1050px;
}

/* Mobile breakpoint (max-width: 600px) */
@media (max-width: 600px) {
    /* Responsive padding for containers - reduces horizontal padding on narrow screens */
    .container {
        padding: 0 1rem; /* Reduced from 20px to 1rem (16px) */
    }
    
    .container-narrow {
        padding: 0 1rem; /* Add responsive padding */
    }
    
    /* Panel padding reduction - both horizontal padding and margins */
    .panel {
        padding: 1.5rem 1rem; /* Reduced from 2.5rem var(--spacing-lg) to 1.5rem 1rem */
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: var(--spacing-md); /* Reduce bottom margin on mobile */
    }
    
    /* Panel horizontal padding utility */
    .panel-horizontal-padding {
        margin-left: 0;
        margin-right: 0;
    }
    
    .main-heading-bubble {
        font-size: 1.5rem;
        padding: 0.8rem 0;
    }
    
    .subheading-bubble {
        font-size: 1.1rem;
        padding: 0.6rem var(--spacing-sm);
    }
    
    .translucent-info {
        font-size: 1.1rem;
        padding: 0.8rem 1.2rem;
    }
    
    .hero-callout {
        font-size: 1.5rem;
        padding: var(--spacing-xs) var(--spacing-xs);
    }
    
    .hero-section {
        padding: var(--spacing-xxl) 0 2.5rem 0;
        margin: 2.5rem 0 3.5rem 0;
    }
    
    .hero-heading {
        font-size: 2.7rem;
        margin-bottom: var(--spacing-md);
    }
    
    .hero-text {
        font-size: 1.05rem;
        padding: 0 var(--spacing-xs);
    }
    
    .value-proposition {
        margin: 3.5rem auto 3.5rem auto;
    }
}

/* Tablet breakpoint (max-width: 768px) */
@media (max-width: 768px) {
    /* Gradual padding reduction for medium screens */
    .container {
        padding: 0 1.125rem; /* Reduced from 20px to 1.125rem (18px) */
    }
    
    .panel {
        padding: 2rem 1.5rem; /* Reduced from 2.5rem var(--spacing-lg) to 2rem 1.5rem */
        margin-left: 0;
        margin-right: 0;
        margin-bottom: var(--spacing-lg); /* Slightly reduced bottom margin */
    }
    
    /* Blog responsive styles */
    .blog-grid {
        grid-template-columns: 1fr;
        gap: var(--spacing-md);
    }
    
    .blog-card-content {
        padding: var(--spacing-md);
    }
    
    .blog-post h1 {
        font-size: 2rem;
    }
    
    .blog-post h2 {
        font-size: 1.5rem;
    }
    
    .blog-post h3 {
        font-size: 1.2rem;
    }
    
    .blog-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-xs);
    }
    
    /* EAIS diagram responsive styles */
    .eais-diagram {
        padding: var(--spacing-sm) var(--spacing-xs);
    }
    
    .eais-group {
        padding: 0.75rem;
        margin-bottom: var(--spacing-sm);
    }
    
    .eais-layer {
        padding: 0.8rem var(--spacing-sm);
        font-size: 0.9rem;
    }
    
    .layer-details {
        flex-direction: column;
        gap: 0.25rem;
    }
    
    .detail-block {
        font-size: 0.7rem;
        padding: 0.2rem 0.4rem;
    }
}

/* Desktop breakpoint (max-width: 1050px) */
@media (max-width: 1050px) {
    /* Diagram responsive styles */
    .diagram-container {
        height: 400px;
    }
    
    .component {
        min-width: 100px;
        padding: var(--spacing-sm);
    }
    
    .component-icon {
        font-size: 1.5rem;
    }
    
    .component-label {
        font-size: 0.9rem;
    }
    
    .component-description {
        font-size: 0.7rem;
    }
    
    .hero h1 {
        font-size: 2.5rem;
    }
    
    /* Navigation responsive styles */
    .nav-links {
        display: none;
        position: absolute;
        top: 70px;
        left: 0;
        right: 0;
        width: 100vw;
        background: var(--color-white);
        flex-direction: column;
        gap: 0;
        box-shadow: 0 8px 24px rgba(0,0,0,0.08);
        border-radius: 0 0 12px 12px;
        min-width: unset;
        z-index: var(--z-nav-menu);
        padding: 0;
        align-items: stretch;
    }
    
    .nav-links.open {
        display: flex;
    }
    
    .nav-links li {
        width: 100%;
        box-sizing: border-box;
        font-size: 1.15rem;
        padding: 1.1rem 1.2rem;
        border: 1.5px solid #cce3fa;
        border-radius: var(--radius-sm);
    }
    
    .hamburger {
        display: flex;
    }
    
    .navbar-cta {
        display: none;
    }
    
    /* Grid responsive styles */
    .steps-grid, .cards {
        grid-template-columns: 1fr;
    }
    
    .personas {
        grid-template-columns: repeat(2, 1fr);
    }
}
