/* Responsive layout overrides */

/* Large screens down to 1200px (Desktop) */
@media (max-width: 1200px) {
    .calc-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* 992px to 1200px (Tablet Landscape) */
@media (max-width: 992px) {
    .tool-layout {
        flex-direction: column;
    }
    
    .main-content-col {
        flex: 0 0 100%;
        max-width: 100%;
    }
    
    .sidebar-col {
        flex: 0 0 100%;
        max-width: 100%;
        position: static;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
    
    .foo-grid {
        grid-template-columns: 1fr 1fr;
    }
    
    .page-banner::after {
        transform: skewX(0) translateX(0);
        width: 100%;
        opacity: 0.3;
    }
}

/* 768px (Tablet) */
@media (max-width: 768px) {
    .calc-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .banner-content {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .banner-text {
        margin-bottom: 2rem;
    }
    
    .banner-image {
        width: 100%;
        margin-top: 1rem;
    }
    
    .main-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--white);
        box-shadow: 0 10px 15px rgba(0,0,0,0.1);
        padding: 1rem 2rem;
        height: max-content;
    }
    
    .main-nav.active {
        display: block;
    }
    
    .main-nav ul {
        flex-direction: column;
        gap: 1rem;
    }
    
    .menu-toggle {
        display: block;
    }
}

/* 576px (Mobile Landscape) */
@media (max-width: 576px) {
    .calc-grid {
        grid-template-columns: 1fr;
    }
    
    .sidebar-col {
        grid-template-columns: 1fr;
    }
    
    .foo-grid {
        grid-template-columns: 1fr;
    }
    
    .calc-actions {
        flex-direction: column;
    }
    
    .calc-actions .btn {
        width: 100%;
    }
    
    .container {
        padding: 1.5rem 1rem;
    }
    
    .header-container {
        padding: 1rem;
    }
    
    .page-banner {
        padding: 2rem 1rem;
    }
    
    .calculator-form-container, .seo-content, .tool-header {
        padding: 1.5rem 1rem;
    }
    
    .tool-header h1 {
        font-size: 1.5rem;
    }
}

/* Small mobile devices (400px and below) */
@media (max-width: 400px) {
    .banner-text h1 {
        font-size: 2rem;
    }
    
    .btn {
        padding: 0.8rem;
    }
}
