/* ========================================
   Responsive Styles
   ======================================== */

/* Large Desktop */
@media (max-width: 1200px) {
    .hero-title {
        font-size: 48px;
    }
}

/* Tablet Landscape */
@media (max-width: 992px) {
    section {
        padding: 70px 0;
    }

    .title h1 {
        font-size: 36px;
    }

    .hero-title {
        font-size: 40px;
    }

    .hero-subtitle,
    .hero-desc {
        font-size: 16px;
    }

    .page-header {
        padding: 140px 0 80px;
    }

    .page-header h1 {
        font-size: 40px;
    }

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }

    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .articles-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .about-gallery {
        grid-template-columns: repeat(3, 1fr);
    }

    .product-detail-section {
        padding: 100px 0 60px;
    }

    .product-info h1 {
        font-size: 28px;
    }

    .article-detail-content h1 {
        font-size: 32px;
    }

    footer {
        padding-top: 60px;
    }

    .single-widget {
        margin-bottom: 40px;
    }
}

/* Tablet Portrait */
@media (max-width: 768px) {
    section {
        padding: 60px 0;
    }

    .title {
        margin-bottom: 40px;
    }

    .title h1 {
        font-size: 30px;
    }

    .hero {
        min-height: 80vh;
        text-align: center;
    }

    .hero-content {
        margin: 0 auto;
    }

    .hero-title {
        font-size: 32px;
    }

    .hero-subtitle,
    .hero-desc {
        font-size: 15px;
        margin-left: auto;
        margin-right: auto;
    }

    .hero-actions {
        justify-content: center;
    }

    .page-header {
        padding: 120px 0 60px;
    }

    .page-header h1 {
        font-size: 32px;
    }

    .page-header p {
        font-size: 16px;
    }

    .cta h2 {
        font-size: 24px;
        margin-bottom: 15px;
    }

    .cta-content {
        text-align: center !important;
    }

    .cta .subscribe-btn {
        margin-top: 25px;
    }

    .services .media {
        padding: 24px;
    }

    .featured .title h1 {
        font-size: 28px;
    }

    .media-element {
        flex-direction: column;
        gap: 20px;
    }

    .featured-img {
        margin-top: 40px;
    }

    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .articles-grid {
        grid-template-columns: 1fr;
    }

    .about-gallery {
        grid-template-columns: repeat(2, 1fr);
    }

    .stats-grid {
        padding: 30px 20px;
        gap: 25px;
    }

    .stat-number {
        font-size: 32px;
    }

    .product-sidebar {
        margin-bottom: 40px;
    }

    .product-info h1 {
        font-size: 26px;
    }

    .product-gallery {
        margin-bottom: 40px;
        position: static;
    }

    .related-products h2 {
        font-size: 26px;
    }

    .article-detail {
        padding: 100px 0 60px;
    }

    .article-detail-content h1 {
        font-size: 28px;
    }

    .article-body {
        font-size: 15px;
    }

    .contact-info-card,
    .contact-form-card {
        padding: 30px;
    }

    .contact-info-card h3,
    .contact-form-card h3 {
        font-size: 24px;
    }

    footer {
        padding-top: 50px;
    }

    .footer-widgets {
        padding-bottom: 30px;
    }

    .foot-note {
        text-align: center;
    }

    .foot-note .footer-content {
        flex-direction: column;
        gap: 15px;
    }

    .foot-note a {
        margin: 0 12px;
    }

    .whatsapp-float {
        width: 52px;
        height: 52px;
        bottom: 20px;
        right: 20px;
    }

    .post-thumb {
        width: 100%;
    }

    .single-rpost {
        flex-direction: column;
    }

    .post-thumb img {
        height: 220px;
    }
}

/* Mobile */
@media (max-width: 576px) {
    section {
        padding: 50px 0;
    }

    .title h1 {
        font-size: 26px;
    }

    .btn {
        padding: 12px 24px;
        font-size: 14px;
    }

    .hero {
        min-height: 70vh;
    }

    .hero-title {
        font-size: 28px;
    }

    .hero-subtitle,
    .hero-desc {
        font-size: 14px;
    }

    .hero-actions .btn-lg {
        padding: 14px 28px;
        font-size: 14px;
    }

    .page-header {
        padding: 110px 0 50px;
    }

    .page-header h1 {
        font-size: 28px;
    }

    .page-header p {
        font-size: 15px;
    }

    .gallery-grid {
        grid-template-columns: 1fr;
    }

    .about-gallery {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        padding: 25px 15px;
    }

    .stat-number {
        font-size: 28px;
    }

    .stat-label {
        font-size: 12px;
    }

    .articles-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .article-card-body {
        padding: 20px;
    }

    .product-thumbs {
        grid-template-columns: repeat(4, 1fr);
        gap: 8px;
    }

    .product-meta {
        gap: 10px;
    }

    .product-meta-item {
        padding: 6px 12px;
        font-size: 13px;
    }

    .cta h2 {
        font-size: 20px;
    }

    .cta p {
        font-size: 14px;
    }

    .contact-info-card,
    .contact-form-card {
        padding: 25px;
    }

    .contact-item {
        margin-bottom: 25px;
    }

    .contact-item-icon {
        width: 44px;
        height: 44px;
        font-size: 18px;
    }

    .gallery-filters {
        gap: 8px;
    }

    .filter-btn {
        padding: 8px 18px;
        font-size: 13px;
    }

    .article-detail-content h1 {
        font-size: 24px;
    }

    .article-meta {
        flex-wrap: wrap;
        gap: 15px;
        font-size: 13px;
    }

    .related-products h2 {
        font-size: 22px;
        margin-bottom: 35px;
    }

    .whatsapp-float {
        width: 48px;
        height: 48px;
    }

    .pagination {
        flex-wrap: wrap;
    }

    .page-link {
        padding: 8px 14px;
        font-size: 14px;
    }
}

/* Small Mobile */
@media (max-width: 380px) {
    .stats-grid {
        grid-template-columns: 1fr;
    }

    .product-thumbs {
        grid-template-columns: repeat(3, 1fr);
    }
}
