/* =============================================================================
   RESPONSIVE DESIGN
   ============================================================================= */

/* Desktop Large (1600px and below) */
@media (max-width: 1600px) {
    .main-slider {
        height: 550px;
    }
}

/* Desktop (1400px and below) */
@media (max-width: 1400px) {
    .main-slider {
        height: 500px;
    }
    
    .slider-content h1 {
        font-size: 42px;
    }
    
    .slider-content p {
        font-size: 17px;
    }
}

/* Desktop Small (1320px and below) */
@media (max-width: 1320px) {
    .decors-header {
        margin-bottom: 30px;
    }
    
    .decors-grid-container {
        padding: 0 20px;
    }
    
    .decors-grid {
        gap: 15px;
    }
    
    .references-container {
        padding: 0 20px;
    }
    
    .references-grid {
        gap: 20px;
    }
}

/* Desktop Small (1200px and below) */
@media (max-width: 1200px) {
    .main-slider {
        height: 480px;
    }
    
    .slider-content h1 {
        font-size: 40px;
    }
    
    .slider-nav {
        bottom: 30px;
        right: 30px;
    }
    
    .slider-nav button {
        width: 36px;
        height: 36px;
        font-size: 16px;
    }
}

/* Large Tablet (992px and below) */
@media (max-width: 992px) {
    /* Mobile Header Toggle */
    .mobile-header-logo {
        display: block !important;
    }
    
    /* Hide desktop header container on mobile (direct child only) */
    header > .container {
        display: none !important;
    }
    
    /* Header height adjustment */
    header {
        height: auto;
        position: relative;
    }
    
    .main-nav ul {
        gap: 20px;
    }
    
    /* Slider Styles */
    .main-slider {
        height: 450px;
    }
    
    .slider-content h1 {
        font-size: 36px;
    }
    
    .slider-content p {
        font-size: 16px;
    }
    
    .slider-content {
        top: 50%;
        left: 8%;
        max-width: 500px;
    }
    
    /* Layout Styles */
    .solution-box, .product-box, .blog-post {
        max-width: 100%;
    }
    
    .quick-link-box {
        max-width: 100%;
    }
    
    /* Footer Styles */
    .site-footer {
        padding: 40px 0 0;
    }
    
    /* Hide navigation columns on mobile */
    .footer-nav-row,
    .col-md-7 {
        display: none !important;
    }
    
    /* Mobile footer layout - contact info and social side by side */
    .site-footer .row {
        display: flex;
        align-items: flex-start;
        gap: 30px;
    }
    
    .footer-info {
        flex: 1;
        margin-bottom: 20px;
    }
    
    .footer-info .footer-logo {
        margin-bottom: 20px;
    }
    
    .footer-info .footer-logo img {
        max-width: 140px;
        height: auto;
    }
    
    .footer-info .contact-details p {
        font-size: 13px;
        line-height: 1.5;
    }
    
    .col-md-2 {
        flex: 0 0 auto;
        width: auto;
    }
    
    .social-links {
        flex-direction: column;
        gap: 15px;
        margin-bottom: 20px;
    }
    
    .social-link {
        justify-content: flex-start;
    }
    
    .social-icon {
        width: 32px;
        height: 32px;
        margin-right: 15px;
        font-size: 14px;
    }
    
    .social-link span {
        font-size: 14px;
    }
    
    .footer-bottom {
        padding: 15px 0;
        margin-top: 15px;
    }
    
    .footer-brands {
        justify-content: center;
        text-align: center;
    }
    
    .copyright {
        text-align: center;
        margin-top: 10px;
    }
    
    /* Blog Styles */
    .blog-container {
        grid-template-columns: 1fr;
    }
    
    .blog-item {
        max-width: 100%;
        margin: 0 auto;
    }
    
    /* Mobile Navigation - handled in mobile-nav.css */
    .header-top {
        display: none;
    }
    
    .header-bottom,
    .header-bottom .container {
        padding: 10px 15px;
    }
}

/* Large Tablet (991px and below) */
@media (max-width: 991px) {
    /* Main Slider Fix */
    .main-slider {
        width: 100% !important;
        max-width: 100%;
    }
    
    /* Blog Styles */
    .blog-container {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .blog-item {
        width: 100%;
        max-width: 600px;
        margin: 0 auto;
    }
    
    /* Solutions Section */
    .solutions .container {
        flex-direction: column;
    }
    
    .solutions-left {
        flex: 1;
        width: 100%;
        margin-bottom: 30px;
    }
    
    .solutions-right {
        flex: 1;
        width: 100%;
        margin-bottom: 30px;
    }
    
    .solution-box {
        max-width: 100%;
    }
    
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 20px;
    }
    
    .service-box {
        min-height: 200px;
    }
    
    /* References Section */
    .references-section,
    .references-background {
        height: 400px;
    }
    
    .references-background {
        background-size: cover;
    }
    
    .reference-info-box {
        padding: 30px 25px;
        max-width: 400px;
        left: 30px;
        bottom: 30px;
    }
    
    .references-navigation {
        bottom: 30px;
        right: 30px;
    }
    
    /* Eco Product Section */
    .eco-product-section {
        min-height: 400px;
    }
    
    .eco-info-box {
        padding: 30px 25px;
    }
    
    .eco-selectors {
        flex-direction: column;
    }
    
    .selector-group {
        width: 100%;
        margin-bottom: 15px;
        max-width: 300px;
    }
    
    /* Product Details */
    .details-container {
        padding: 30px 20px;
    }
    
    .details-content {
        padding: 20px;
    }
    
    /* Content Blocks */
    .edge-container {
        padding: 40px 0;
    }
    
    .full-width-block {
        padding: 50px 0;
    }
    
    .full-width-block .block-header {
        margin-bottom: 30px;
    }
    
    .full-width-block .block-header h2 {
        font-size: 28px;
    }
    
    .full-width-block .block-content {
        padding: 0 20px;
    }
    
    .two-column-block {
        padding: 50px 0;
    }
    
    .two-column-block .block-header {
        margin-bottom: 40px;
    }
    
    .two-column-block .block-header h2 {
        font-size: 28px;
    }
    
    .two-column-block .column-content {
        margin-bottom: 40px;
    }
    
    .two-column-block .column-content h3 {
        font-size: 22px;
    }
    
    .hero-banner-block .hero-content h1 {
        font-size: 28px;
    }
    
    .hero-banner-block .hero-content p {
        font-size: 16px;
    }
    
    .content-banner-section .content-title {
        font-size: 28px;
    }
    
    .content-banner-section .banner-image {
        height: 300px;
    }
    
    .twocol-box .box-wrapper {
        aspect-ratio: 4/3;
        min-height: 300px;
    }
    
    .twocol-box .box-image,
    .threecol-box .box-image {
        aspect-ratio: 1;
    }
    
    .three-column-block .icon-img {
        width: 60px;
        height: 60px;
    }
    
    .three-column-block .column-content {
        margin-bottom: 30px;
    }
}

/* Tablet (768px and below) */
@media (max-width: 768px) {
    /* Mobile Header - Tablet size */
    .mobile-logo-center img {
        width: 160px;
        max-height: 55px;
    }
    
    .mobile-header-logo {
        padding: 18px 0;
    }
    
    /* Blog Section - 2 columns on tablet */
    .blog-container {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .blog-item {
        width: 100%;
        max-width: none;
        height: 320px;
    }
    
    .blog-image {
        height: 240px;
    }
    
    .blog-category {
        width: 140px;
        height: 140px;
        padding: 10px 12px;
    }
    
    .blog-category h3 {
        font-size: 14px;
    }
    
    .blog-title {
        font-size: 16px;
    }
    
    .header-contact-info {
        flex-direction: column;
        gap: 15px;
    }
    
    .main-nav ul {
        gap: 15px;
    }
    
    /* References Section - Tablet */
    .references-section,
    #references {
        height: 400px;
    }
    
    .references-background {
        height: 360px;
    }
    
    .reference-info-box {
        width: 300px;
        height: 300px;
        padding: 20px 15px;
        top: 15px;
        left: 20px;
    }
    
    .reference-info-box h2 {
        font-size: 24px;
        margin-bottom: 10px;
    }
    
    .reference-name {
        font-size: 18px;
        margin-bottom: 5px;
    }
    
    .references-navigation {
        bottom: 20px;
        right: 20px;
    }
    
    .nav-btn {
        width: 35px;
        height: 35px;
    }
    
    .slide-counter {
        font-size: 13px;
        margin-right: 10px;
    }
    
    /* Slider Styles */
    .main-slider {
        height: 400px;
    }
    
    .slider-content {
        left: 6%;
        max-width: 450px;
    }
    
    .slider-content h1 {
        font-size: 32px;
        line-height: 1.1;
    }
    
    .slider-content p {
        font-size: 16px;
        margin-bottom: 25px;
    }
    
    .slider-nav {
        bottom: 20px;
        right: 20px;
    }
    
    /* Solutions Section */
    .solution-box {
        padding: 20px;
    }
    
    .service-box {
        min-height: 180px;
    }
    
    .product-image, .post-image {
        height: 180px;
    }
    
    .solutions-tabs .tab {
        padding: 10px 15px;
        font-size: 14px;
    }
    
    .gallery__header h2 {
        font-size: 20px;
    }
    
    .gallery-slider-container {
        padding: 0 15px 5px;
    }
    
    .gallery-item {
        width: 280px;
    }
    
    .gallery-item figure {
        height: 200px;
    }
    
    .gallery-item.medium figure {
        height: 250px;
    }
    
    .gallery-controls button {
        width: 45px;
        height: 45px;
        font-size: 16px;
    }
    
    /* Technical Sheets */
    .technical-sheet-btn {
        width: 100%;
        max-width: none;
        justify-content: center;
    }
    
    /* References Section - Updated for 768px */
    .references-section,
    #references {
        height: 380px;
    }
    
    .references-background {
        height: 340px;
    }
    
    .reference-info-box {
        width: 280px;
        height: 280px;
        padding: 18px 14px;
        top: 12px;
        left: 18px;
    }
    
    .reference-info-box h2 {
        font-size: 22px;
        margin-bottom: 8px;
    }
    
    .reference-name {
        font-size: 17px;
        margin-bottom: 4px;
    }
    
    .references-navigation {
        bottom: 18px;
        right: 18px;
    }
    
    .nav-btn {
        width: 34px;
        height: 34px;
    }
    
    .slide-counter {
        font-size: 12px;
        margin-right: 8px;
    }
    
    /* Mobile Header */
    header {
        padding: 10px 0;
    }
    
    .header-top {
        display: none;
    }
    
    .header-bottom,
    .header-bottom .container {
        padding: 5px 15px;
    }
    
    .logo img {
        width: 140px;
        max-height: 46px;
    }
    
    /* Content Blocks */
    .full-width-block {
        padding: 40px 0;
    }
    
    .full-width-block .block-header {
        margin-bottom: 25px;
    }
    
    .full-width-block .block-header h2 {
        font-size: 24px;
    }
    
    .full-width-block .block-content {
        padding: 0 15px;
    }
    
    .full-width-block .block-content p {
        font-size: 15px;
    }
    
    .two-column-block {
        padding: 40px 0;
    }
    
    .two-column-block .block-header {
        margin-bottom: 30px;
    }
    
    .two-column-block .block-header h2 {
        font-size: 24px;
    }
    
    .two-column-block .column-content {
        margin-bottom: 30px;
    }
    
    .two-column-block .column-content h3 {
        font-size: 20px;
    }
    
    .two-column-block .content-text {
        font-size: 15px;
    }
    
    .hero-banner-block {
        min-height: 400px;
    }
    
    .hero-banner-block .hero-content h1 {
        font-size: 24px;
    }
    
    .hero-banner-block .hero-content p {
        font-size: 18px;
    }
    
    .content-banner-section .content-title {
        font-size: 24px;
    }
    
    .content-banner-section .content-subtitle {
        font-size: 16px;
    }
    
    .content-banner-section .banner-image {
        height: 250px;
    }
    
    .twocol-box .box-wrapper {
        aspect-ratio: 3/2;
        min-height: 250px;
    }
    
    .twocol-box .box-content {
        padding: 25px 20px;
    }
    
    .threecol-box .box-content {
        top: 15px;
        left: 15px;
        right: 15px;
        bottom: 15px;
        border: 1px solid white;
        padding: 20px;
    }
    
    /* Footer Styles - Tablet */
    .site-footer .row {
        gap: 25px;
    }
    
    .footer-info .footer-logo img {
        max-width: 120px;
    }
    
    .footer-info .contact-details p {
        font-size: 12px;
    }
    
    .social-links {
        gap: 12px;
    }
    
    .social-icon {
        width: 30px;
        height: 30px;
        margin-right: 12px;
        font-size: 13px;
    }
    
    .social-link span {
        font-size: 13px;
    }
    
    /* Page Template Styles - Tablet */
    .product-header-container {
        height: 400px;
    }
    
    .product-header-image {
        height: 400px;
    }
    
    .product-content-container {
        padding: 0 20px;
    }
    
    .product-title-container {
        width: 100%;
        height: auto;
        margin-top: -80px;
        padding: 40px 25px 30px;
    }
    
    .product-title {
        font-size: 28px;
        line-height: 1.3;
    }
    
    .product-year {
        font-size: 24px;
        line-height: 1.3;
    }
    
    .product-description {
        width: 100%;
        padding: 20px 25px;
    }
    
    .product-description p {
        font-size: 15px;
        line-height: 1.6;
    }
    
    .table-of-contents {
        position: static;
        width: 100%;
        margin-top: 30px;
    }
    
    .details-section {
        margin: 40px auto;
    }
    
    .details-container {
        flex-direction: column;
    }
    
    .details-content {
        width: 100%;
    }
    
    .details-border {
        margin: 20px 10px;
    }
    
    /* Reference Item Page - Tablet */
    .reference-navigation {
        padding: 30px 0;
    }
    
    .reference-navigation .btn {
        font-size: 16px;
        padding: 12px 24px;
    }
    
    /* Lightbox - Tablet */
    .lightbox-container {
        max-width: 90%;
        max-height: 90%;
    }
    
    .lightbox-close {
        top: -50px;
        right: 0;
        width: 40px;
        height: 40px;
        font-size: 24px;
    }
    
    /* Contact Page Responsive Styles */
    .contact-page .page-header {
        padding: 40px 0 30px;
    }
    
    .contact-page .page-header h1 {
        font-size: 28px;
    }
    
    .contact-page .page-header p {
        font-size: 16px;
    }
    
    .contact-page .contact-content {
        padding: 60px 0;
    }
    
    .contact-page .contact-info h2,
    .contact-page .contact-form-container h2 {
        font-size: 24px;
    }
    
    .contact-page .contact-form-container {
        padding: 30px;
        margin-top: 40px;
    }
    
    .contact-page .contact-map {
        height: 300px;
    }
    
    .contact-page .contact-item {
        padding: 15px;
    }
    
    .contact-page .contact-icon {
        width: 45px;
        height: 45px;
        margin-right: 12px;
    }
    
    .contact-page .contact-icon i {
        font-size: 18px;
    }
}

/* Mobile Large (576px and below) */
@media (max-width: 576px) {
    /* Mobile Header - Mobile size */
    .mobile-logo-center img {
        width: 140px;
        max-height: 48px;
    }
    
    .mobile-header-logo {
        padding: 15px 0;
    }
    
    /* Blog Section - 1 column on mobile */
    .blog-container {
        display: block;
        grid-template-columns: none;
    }
    
    .blog-item {
        width: 100%;
        max-width: 100%;
        height: 340px;
        margin-bottom: 20px;
    }
    
    .blog-image {
        height: 260px;
    }
    
    .blog-category {
        width: 120px;
        height: 120px;
        padding: 8px 10px;
        top: 15px;
        left: 20px;
    }
    
    .blog-category h3 {
        font-size: 13px;
    }
    
    .blog-title {
        font-size: 15px;
        line-height: 1.3;
    }
    
    .blog-meta {
        padding: 8px 0;
    }
    
    .blog-date {
        font-size: 13px;
        margin-bottom: 3px;
    }
    
    /* References Section - Mobile */
    .references-section,
    #references {
        height: 350px;
        margin-bottom: 20px;
    }
    
    .references-background {
        height: 310px;
    }
    
    .reference-info-box {
        width: 250px;
        height: 250px;
        padding: 15px 12px;
        top: 10px;
        left: 15px;
    }
    
    .reference-info-box h2 {
        font-size: 20px;
        margin-bottom: 8px;
    }
    
    .reference-name {
        font-size: 16px;
        margin-bottom: 4px;
        line-height: 1.3;
    }
    
    .reference-location,
    .reference-client,
    .reference-year {
        font-size: 14px;
        margin-bottom: 3px;
        line-height: 1.2;
    }
    
    .references-navigation {
        bottom: 15px;
        right: 15px;
    }
    
    .nav-btn {
        width: 32px;
        height: 32px;
        margin-left: 8px;
    }
    
    .slide-counter {
        font-size: 12px;
        margin-right: 8px;
    }
    
    /* Services Grid */
    .services-grid {
        grid-template-columns: 1fr;
        grid-gap: 15px;
    }
    
    .service-box {
        min-height: 250px;
        height: auto;
    }
    
    /* Slider Styles */
    .main-slider {
        height: 350px;
    }
    
    .slider-content h1 {
        font-size: 26px;
        margin-bottom: 15px;
    }
    
    .slider-content p {
        font-size: 15px;
        margin-bottom: 20px;
    }
    
    .slider-content {
        left: 5%;
        max-width: 400px;
    }
    
    .slider-nav button {
        width: 32px;
        height: 32px;
        font-size: 14px;
    }
    
    .slider-counter {
        font-size: 14px;
        padding: 6px 12px;
        margin-right: 10px;
    }
    
    /* Content Blocks */
    .full-width-block {
        padding: 30px 0;
    }
    
    .full-width-block .block-header h2 {
        font-size: 22px;
    }
    
    .full-width-block .block-content {
        padding: 0 10px;
    }
    
    .two-column-block {
        padding: 30px 0;
    }
    
    .two-column-block .block-header h2 {
        font-size: 22px;
    }
    
    .two-column-block .column-content h3 {
        font-size: 18px;
    }
    
    /* Page Template Styles - Large Mobile */
    .product-header-container {
        height: 320px;
    }
    
    .product-header-image {
        height: 320px;
    }
    
    .product-content-container {
        padding: 0 15px;
    }
    
    .product-title-container {
        width: 100%;
        height: auto;
        margin-top: -70px;
        padding: 35px 20px 25px;
    }
    
    .product-title {
        font-size: 26px;
        line-height: 1.3;
    }
    
    .product-year {
        font-size: 22px;
        line-height: 1.3;
    }
    
    .product-description {
        width: 100%;
        padding: 18px 20px;
    }
    
    .product-description p {
        font-size: 15px;
        line-height: 1.5;
    }
    
    .table-of-contents {
        position: static;
        width: 100%;
        margin-top: 25px;
    }
    
    .details-section {
        margin: 35px auto;
    }
    
    .details-content {
        width: 100%;
    }
    
    .details-border {
        margin: 18px 8px;
    }
    
    /* Reference Item Page - Large Mobile */
    .reference-navigation {
        padding: 25px 0;
    }
    
    .reference-navigation .btn {
        font-size: 15px;
        padding: 10px 20px;
    }
    
    /* Lightbox - Large Mobile */
    .lightbox-container {
        max-width: 92%;
        max-height: 88%;
    }
    
    .lightbox-close {
        top: -48px;
        right: -2px;
        width: 38px;
        height: 38px;
        font-size: 22px;
    }
    
    /* Footer Styles - Mobile */
    .site-footer {
        padding: 30px 0 0;
    }
    
    .site-footer .row {
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }
    
    .footer-info {
        order: 1;
        margin-bottom: 15px;
    }
    
    .footer-info .footer-logo {
        margin-bottom: 15px;
    }
    
    .footer-info .footer-logo img {
        max-width: 100px;
    }
    
    .footer-info .contact-details p {
        font-size: 12px;
        line-height: 1.4;
    }
    
    .col-md-2 {
        order: 2;
        width: 100%;
    }
    
    .social-links {
        flex-direction: row;
        justify-content: center;
        gap: 15px;
        margin-bottom: 15px;
    }
    
    .social-link {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    
    .social-icon {
        width: 28px;
        height: 28px;
        margin-right: 0;
        margin-bottom: 5px;
        font-size: 12px;
    }
    
    .social-link span {
        font-size: 11px;
    }
    
    .footer-bottom {
        padding: 12px 0;
        margin-top: 12px;
    }
    
    .footer-brands {
        font-size: 13px;
    }
    
    .copyright p {
        font-size: 12px;
        margin-top: 8px;
    }
    
    .gallery__header h2 {
        font-size: 16px;
    }
    
    .gallery-slider-container {
        padding: 0 10px 5px;
    }
    
    .gallery-item {
        width: 240px;
    }
    
    .gallery-item figure {
        height: 160px;
    }
    
    .gallery-item.medium figure {
        height: 200px;
    }
    
    .gallery-controls button {
        width: 42px;
        height: 42px;
        font-size: 15px;
    }
    
    /* Contact Page Responsive Styles */
    .contact-page .page-header {
        padding: 30px 0 20px;
    }
    
    .contact-page .page-header h1 {
        font-size: 24px;
    }
    
    .contact-page .page-header p {
        font-size: 14px;
    }
    
    .contact-page .contact-content {
        padding: 40px 0;
    }
    
    .contact-page .contact-info h2,
    .contact-page .contact-form-container h2 {
        font-size: 22px;
        margin-bottom: 20px;
    }
    
    .contact-page .contact-form-container {
        padding: 25px 20px;
        margin-top: 30px;
    }
    
    .contact-page .contact-map {
        height: 250px;
    }
    
    .contact-page .contact-item {
        padding: 15px;
        margin-bottom: 20px;
    }
    
    .contact-page .contact-icon {
        width: 40px;
        height: 40px;
        margin-right: 10px;
    }
    
    .contact-page .contact-icon i {
        font-size: 16px;
    }
    
    .contact-page .contact-text span {
        font-size: 12px;
    }
    
    .contact-page .contact-text strong {
        font-size: 15px;
    }
    
    .contact-page .contact-form .form-control {
        padding: 12px 15px;
        font-size: 15px;
    }
    
    .contact-page .contact-form .btn-primary {
        padding: 12px 25px;
        font-size: 15px;
        width: 100%;
        justify-content: center;
    }
}

/* Mobile (480px and below) */
@media (max-width: 480px) {
    /* Mobile Header - Compact size */
    .mobile-logo-center img {
        width: 120px;
        max-height: 42px;
    }
    
    .mobile-header-logo {
        padding: 12px 0;
    }
    
    /* Blog Section - Compact mobile layout */
    .blog-item {
        height: 320px;
    }
    
    .blog-image {
        height: 240px;
    }
    
    .blog-category {
        width: 100px;
        height: 100px;
        padding: 6px 8px;
        top: 10px;
        left: 15px;
    }
    
    .blog-category h3 {
        font-size: 12px;
    }
    
    .blog-title {
        font-size: 14px;
    }
    
    .blog-date {
        font-size: 12px;
    }
    
    /* References Section - Compact Mobile */
    .references-section,
    #references {
        height: 300px;
        margin-bottom: 15px;
    }
    
    .references-background {
        height: 260px;
    }
    
    .reference-info-box {
        width: 200px;
        height: 200px;
        padding: 12px 10px;
        top: 8px;
        left: 12px;
    }
    
    .reference-info-box h2 {
        font-size: 18px;
        margin-bottom: 6px;
    }
    
    .reference-name {
        font-size: 14px;
        margin-bottom: 3px;
        line-height: 1.2;
    }
    
    .reference-location,
    .reference-client,
    .reference-year {
        font-size: 12px;
        margin-bottom: 2px;
        line-height: 1.1;
    }
    
    .references-navigation {
        bottom: 12px;
        right: 12px;
    }
    
    .nav-btn {
        width: 28px;
        height: 28px;
        margin-left: 6px;
    }
    
    .btn-icon {
        width: 24px;
        height: 24px;
    }
    
    .slide-counter {
        font-size: 11px;
        margin-right: 6px;
    }
    
    /* Slider */
    .main-slider {
        height: 300px;
    }
    
    .slider-content h1 {
        font-size: 22px;
    }
    
    .slider-content p {
        font-size: 14px;
    }
    
    .slider-content {
        max-width: 350px;
    }
    
    .gallery__header h2 {
        font-size: 16px;
    }
    
    .gallery-slider-container {
        padding: 0 10px 5px;
    }
    
    .gallery-item {
        width: 240px;
    }
    
    .gallery-item figure {
        height: 160px;
    }
    
    .gallery-item.medium figure {
        height: 200px;
    }
    
    .gallery-controls button {
        width: 38px;
        height: 38px;
        font-size: 14px;
    }
    
    /* Footer Styles - Compact Mobile */
    .site-footer {
        padding: 25px 0 0;
    }
    
    .site-footer .row {
        gap: 15px;
    }
    
    .footer-info .footer-logo img {
        max-width: 90px;
    }
    
    .footer-info .contact-details p {
        font-size: 11px;
        line-height: 1.3;
    }
    
    .social-links {
        gap: 12px;
    }
    
    .social-icon {
        width: 26px;
        height: 26px;
        font-size: 11px;
    }
    
    .social-link span {
        font-size: 10px;
    }
    
    .footer-bottom {
        padding: 10px 0;
        margin-top: 10px;
    }
    
    .footer-brands {
        font-size: 12px;
    }
    
    .copyright p {
        font-size: 11px;
        margin-top: 6px;
    }
    
    /* Page Template Styles - Compact Mobile */
    .product-header-container {
        height: 250px;
    }
    
    .product-header-image {
        height: 250px;
    }
    
    .product-content-container {
        padding: 0 10px;
    }
    
    .product-title-container {
        width: 100%;
        height: auto;
        margin-top: -60px;
        padding: 30px 15px 20px;
    }
    
    .product-title {
        font-size: 22px;
        line-height: 1.3;
    }
    
    .product-year {
        font-size: 18px;
        line-height: 1.3;
    }
    
    .product-description {
        width: 100%;
        padding: 15px;
    }
    
    .product-description p {
        font-size: 14px;
        line-height: 1.5;
    }
    
    .table-of-contents {
        position: static;
        width: 100%;
        margin-top: 20px;
    }
    
    .details-section {
        margin: 30px auto;
    }
    
    .details-container {
        flex-direction: column;
    }
    
    .details-content {
        width: 100%;
    }
    
    .details-border {
        margin: 15px 5px;
    }
    
    /* Reference Item Page - Compact Mobile */
    .reference-navigation {
        padding: 20px 0;
    }
    
    .reference-navigation .btn {
        font-size: 14px;
        padding: 8px 16px;
    }
    
    /* Lightbox - Compact Mobile */
    .lightbox-container {
        max-width: 95%;
        max-height: 85%;
    }
    
    .lightbox-close {
        top: -45px;
        right: -5px;
        width: 35px;
        height: 35px;
        font-size: 20px;
    }
    
    /* Contact Page Responsive Styles */
    .contact-page .page-header {
        padding: 25px 0 15px;
    }
    
    .contact-page .page-header h1 {
        font-size: 22px;
    }
    
    .contact-page .contact-content {
        padding: 30px 0;
    }
    
    .contact-page .contact-info h2,
    .contact-page .contact-form-container h2 {
        font-size: 20px;
    }
    
    .contact-page .contact-form-container {
        padding: 20px 15px;
    }
    
    .contact-page .contact-map {
        height: 220px;
    }
    
    .contact-page .contact-form .form-group {
        margin-bottom: 20px;
    }
} 