/**
 * Responsive Styles - LibraryHub CMS
 */

/* ========================================
   Tablet & Below (≤ 992px)
======================================== */
@media (max-width: 992px) {
    .slide-title {
        font-size: 2.5rem;
    }
    
    .slide-subtitle {
        font-size: 1.25rem;
    }
    
    .slide-description {
        font-size: 1rem;
    }
    
    .section-title {
        font-size: 2rem;
    }
    
    .stat-number {
        font-size: 2rem;
    }
    
    .hero-slider {
        height: 500px;
    }
    
    .navbar-collapse {
        background: var(--white);
        padding: var(--spacing-md);
        margin-top: var(--spacing-sm);
        border-radius: var(--radius-md);
        box-shadow: var(--shadow-md);
    }
    
    .navbar-nav .nav-link {
        padding: var(--spacing-sm);
        margin-bottom: 0.25rem;
    }
    
    .btn-search {
        margin-left: 0;
        margin-top: var(--spacing-sm);
    }
}

/* ========================================
   Mobile (≤ 768px)
======================================== */
@media (max-width: 768px) {
    .top-bar {
        font-size: 0.75rem;
    }
    
    .top-bar-left,
    .top-bar-right {
        text-align: center;
        margin-bottom: 0.5rem;
    }
    
    .top-bar-right {
        margin-bottom: 0;
    }
    
    .logo-text strong {
        font-size: 1rem;
    }
    
    .logo-text small {
        font-size: 0.65rem;
    }
    
    .hero-slider {
        height: 400px;
    }
    
    .slide-title {
        font-size: 2rem;
    }
    
    .slide-subtitle {
        font-size: 1.125rem;
    }
    
    .slide-description {
        font-size: 0.875rem;
    }
    
    .slider-controls {
        padding: 0 var(--spacing-sm);
    }
    
    .slider-prev,
    .slider-next {
        width: 40px;
        height: 40px;
        font-size: 1rem;
    }
    
    .slider-dots {
        bottom: var(--spacing-md);
    }
    
    .slider-dot {
        width: 10px;
        height: 10px;
    }
    
    .section-title {
        font-size: 1.75rem;
    }
    
    .welcome-stats {
        margin-top: var(--spacing-md);
        padding: var(--spacing-md);
    }
    
    .stat-number {
        font-size: 1.75rem;
    }
    
    .stat-label {
        font-size: 0.75rem;
    }
    
    .collection-icon {
        width: 60px;
        height: 60px;
    }
    
    .collection-icon i {
        font-size: 2rem;
    }
    
    .collection-title {
        font-size: 1.125rem;
    }
    
    .collection-count {
        font-size: 1.25rem;
    }
    
    .news-image {
        height: 200px;
    }
    
    .footer-top {
        padding: var(--spacing-lg) 0;
    }
    
    .footer-widget {
        margin-bottom: var(--spacing-lg);
    }
    
    .footer-bottom .col-md-6:last-child {
        margin-top: var(--spacing-sm);
    }
    
    .back-to-top {
        width: 45px;
        height: 45px;
        bottom: 20px;
        right: 20px;
        font-size: 1.125rem;
    }
}

/* ========================================
   Small Mobile (≤ 576px)
======================================== */
@media (max-width: 576px) {
    .top-bar a {
        display: block;
        margin-bottom: 0.25rem;
        margin-right: 0;
    }
    
    .social-links {
        justify-content: center;
        display: flex;
        gap: 0.5rem;
        margin-top: 0.5rem;
    }
    
    .social-links a {
        margin-left: 0;
    }
    
    .hero-slider {
        height: 350px;
    }
    
    .slide-title {
        font-size: 1.5rem;
    }
    
    .slide-subtitle {
        font-size: 1rem;
    }
    
    .slide-description {
        font-size: 0.8rem;
    }
    
    .btn-lg {
        padding: 0.75rem 1.5rem;
        font-size: 1rem;
    }
    
    .section-title {
        font-size: 1.5rem;
    }
    
    .welcome-image {
        margin-bottom: var(--spacing-md);
    }
    
    .py-5 {
        padding-top: var(--spacing-lg);
        padding-bottom: var(--spacing-lg);
    }
    
    .collection-card,
    .news-card {
        margin-bottom: var(--spacing-md);
    }
    
    .footer-social {
        justify-content: center;
    }
}

/* ========================================
   Print Styles
======================================== */
@media print {
    .top-bar,
    .main-header,
    .hero-slider,
    .back-to-top,
    .footer-bottom {
        display: none !important;
    }
    
    body {
        background: white;
        color: black;
    }
    
    a {
        color: black;
        text-decoration: underline;
    }
    
    .section-title {
        color: black;
    }
}
