/**
 * Responsive Stylesheet for K&K Minerals Pvt. Ltd.
 */

/* ==========================================================================
   Large Desktop (1400px and above)
   ========================================================================== */
@media (min-width: 1400px) {
    .container {
        max-width: 1320px;
    }
    
    h1 { font-size: 56px; }
    h2 { font-size: 42px; }
    
    .hero-slide-item {
        height: 700px;
    }
}

/* ==========================================================================
   Desktop (1200px to 1399px)
   ========================================================================== */
@media (min-width: 1200px) and (max-width: 1399px) {
    .container {
        max-width: 1140px;
    }
    
    .hero-slide-item {
        height: 650px;
    }
}

/* ==========================================================================
   Laptop (992px to 1199px)
   ========================================================================== */
@media (min-width: 992px) and (max-width: 1199px) {
    .container {
        max-width: 960px;
    }
    
    h1 { font-size: 42px; }
    h2 { font-size: 32px; }
    
    .section-title {
        font-size: 36px;
    }
    
    .hero-slide-item {
        height: 550px;
    }
    
    .slide-title {
        font-size: 42px;
    }
    
    .project-image {
        height: 200px;
    }
}

/* ==========================================================================
   Tablet (768px to 991px)
   ========================================================================== */
@media (min-width: 768px) and (max-width: 991px) {
    .container {
        max-width: 720px;
    }
    
    h1 { font-size: 36px; }
    h2 { font-size: 28px; }
    h3 { font-size: 22px; }
    
    .section-title {
        font-size: 32px;
    }
    
    .section-padding {
        padding: 60px 0;
    }
    
    .hero-slide-item {
        height: 450px;
    }
    
    .slide-title {
        font-size: 36px;
    }
    
    .slide-description {
        font-size: 16px;
    }
    
    .project-image {
        height: 180px;
    }
    
    .project-slider .owl-nav .owl-prev {
        left: -10px;
    }
    
    .project-slider .owl-nav .owl-next {
        right: -10px;
    }
    
    .footer-top {
        padding: 40px 0 20px;
    }
    
    .page-header {
        padding: 70px 0;
    }
    
    .page-title {
        font-size: 36px;
    }
}

/* ==========================================================================
   Mobile Landscape (576px to 767px)
   ========================================================================== */
@media (min-width: 576px) and (max-width: 767px) {
    .container {
        max-width: 540px;
    }
    
    h1 { font-size: 30px; }
    h2 { font-size: 24px; }
    h3 { font-size: 20px; }
    
    .section-title {
        font-size: 28px;
    }
    
    .section-subtitle {
        font-size: 16px;
    }
    
    .section-padding {
        padding: 50px 0;
    }
    
    .top-bar {
        font-size: 12px;
        text-align: center;
    }
    
    .top-bar-left, .top-bar-right {
        text-align: center !important;
    }
    
    .hero-slide-item {
        height: 400px;
    }
    
    .slide-title {
        font-size: 30px;
    }
    
    .slide-description {
        font-size: 15px;
    }
    
    .hero-slider .owl-nav button {
        width: 40px;
        height: 40px;
        font-size: 16px !important;
    }
    
    .hero-slider .owl-nav .owl-prev {
        left: 15px;
    }
    
    .hero-slider .owl-nav .owl-next {
        right: 15px;
    }
    
    .project-image {
        height: 200px;
    }
    
    .project-slider .owl-nav {
        display: none;
    }
    
    .project-type-tabs .nav-link {
        padding: 8px 15px;
        font-size: 14px;
    }
    
    .filter-btn {
        padding: 6px 15px;
        font-size: 13px;
    }
    
    .contact-card {
        padding: 30px 20px;
    }
    
    .contact-form-container {
        padding: 30px 20px;
    }
    
    .footer-bottom {
        text-align: center;
    }
    
    .social-links {
        text-align: center !important;
        margin-top: 15px;
    }
    
    .page-header {
        padding: 50px 0;
    }
    
    .page-title {
        font-size: 30px;
    }
    
    .error-code {
        font-size: 80px;
    }
    
    .error-title {
        font-size: 24px;
    }
}

/* ==========================================================================
   Mobile Portrait (up to 575px)
   ========================================================================== */
@media (max-width: 575px) {
    .container {
        max-width: 100%;
        padding: 0 20px;
    }
    
    h1 { font-size: 26px; }
    h2 { font-size: 22px; }
    h3 { font-size: 18px; }
    
    .section-title {
        font-size: 24px;
        padding-bottom: 15px;
    }
    
    .section-subtitle {
        font-size: 14px;
    }
    
    .section-padding {
        padding: 40px 0;
    }
    
    .top-bar {
        font-size: 11px;
        text-align: center;
        padding: 10px 0;
    }
    
    .top-bar a {
        margin-right: 10px;
    }
    
    .top-bar-left, .top-bar-right {
        text-align: center !important;
    }
    
    .employee-corner-link {
        padding: 3px 10px;
        font-size: 11px;
    }
    
    .navbar-brand img {
        max-height: 50px;
    }
    
    .hero-slide-item {
        height: 350px;
    }
    
    .slide-title {
        font-size: 24px;
    }
    
    .slide-subtitle {
        font-size: 14px;
    }
    
    .slide-description {
        font-size: 14px;
        margin-bottom: 20px;
    }
    
    .hero-slider .owl-nav {
        display: none;
    }
    
    .hero-slider .owl-dots {
        bottom: 15px;
    }
    
    .hero-slider .owl-dot span {
        width: 8px;
        height: 8px;
    }
    
    .btn-lg {
        padding: 10px 25px;
        font-size: 14px;
    }
    
    .mission-card {
        padding: 30px 20px;
    }
    
    .mission-icon {
        width: 60px;
        height: 60px;
    }
    
    .mission-icon i {
        font-size: 28px;
    }
    
    .project-image {
        height: 180px;
    }
    
    .project-content {
        padding: 15px;
    }
    
    .project-title {
        font-size: 16px;
    }
    
    .project-slider .owl-nav {
        display: none;
    }
    
    .project-type-tabs .nav-link {
        padding: 6px 10px;
        font-size: 12px;
        margin: 0 2px;
    }
    
    .project-filters {
        padding: 20px;
    }
    
    .gallery-filters {
        margin-bottom: 20px;
    }
    
    .filter-btn {
        padding: 5px 12px;
        font-size: 12px;
        margin: 0 2px 5px;
    }
    
    .gallery-image {
        height: 200px;
    }
    
    .contact-card {
        padding: 25px 15px;
    }
    
    .contact-icon {
        width: 60px;
        height: 60px;
    }
    
    .contact-icon i {
        font-size: 24px;
    }
    
    .contact-form-container {
        padding: 25px 15px;
    }
    
    .form-control,
    .form-select {
        height: 45px;
        font-size: 14px;
    }
    
    .widget-title {
        font-size: 18px;
        margin-bottom: 20px;
    }
    
    .footer-top {
        padding: 30px 0 10px;
    }
    
    .footer-bottom {
        padding: 15px 0;
    }
    
    .copyright {
        font-size: 12px;
    }
    
    .social-links a {
        width: 30px;
        height: 30px;
        line-height: 30px;
        font-size: 14px;
    }
    
    .back-to-top {
        width: 40px;
        height: 40px;
        bottom: 20px;
        right: 20px;
    }
    
    .page-header {
        padding: 40px 0;
    }
    
    .page-title {
        font-size: 24px;
    }
    
    .breadcrumb {
        font-size: 14px;
    }
    
    .error-code {
        font-size: 60px;
    }
    
    .error-title {
        font-size: 20px;
    }
    
    .error-message {
        font-size: 14px;
    }
}

/* ==========================================================================
   Small Mobile (up to 375px)
   ========================================================================== */
@media (max-width: 375px) {
    h1 { font-size: 24px; }
    h2 { font-size: 20px; }
    
    .section-title {
        font-size: 22px;
    }
    
    .hero-slide-item {
        height: 300px;
    }
    
    .slide-title {
        font-size: 20px;
    }
    
    .btn {
        padding: 8px 20px;
        font-size: 12px;
    }
    
    .btn-lg {
        padding: 8px 20px;
        font-size: 12px;
    }
    
    .project-image {
        height: 160px;
    }
    
    .project-type-tabs .nav-link {
        padding: 4px 8px;
        font-size: 11px;
    }
    
    .gallery-image {
        height: 180px;
    }
    
    .filter-btn {
        padding: 4px 10px;
        font-size: 11px;
    }
    
    .page-title {
        font-size: 22px;
    }
}

/* ==========================================================================
   Print Styles
   ========================================================================== */
@media print {
    .top-bar,
    .header,
    .hero-slider-section,
    .footer,
    .back-to-top,
    .btn {
        display: none !important;
    }
    
    body {
        background: white;
        color: black;
    }
    
    a {
        text-decoration: none;
        color: black;
    }
    
    .container {
        max-width: 100%;
        padding: 0;
    }
}