/* Responsive Styles */

/* Tablets and below (≤768px) */
@media (max-width: 768px) {
    /* Navigation */
    .main-header {
        padding: 10px 5%;
    }

    .nav-menu {
        display: none;
        position: absolute;
        top: 60px;
        left: 0;
        width: 100%;
        background-color: rgba(0, 0, 0, 0.9);
        flex-direction: column;
        padding: 20px 0;
        transition: opacity 0.3s ease;
        align-items: center; /* Center menu items */
    }

    .nav-menu.active {
        display: flex;
        opacity: 1;
    }

    .nav-item {
        margin: 15px 0;
        width: 100%;
        text-align: center; /* Center text within items */
    }

    .nav-link {
        font-size: 1.2rem;
        text-align: center;
        display: block; /* Ensure full-width clickable area */
    }

    .hamburger {
        display: block;
    }

    /* Hero Section */
    .hero-section {
        margin-bottom: 30px; /* Reduced gap for tablets */
    }

    .hero-section h1 {
        font-size: 2.2rem;
    }

    /* Content Sections */
    .content-section {
        padding: 40px 15px;
        margin-bottom: 30px; /* Reduced gap for tablets */
    }

    /* About Section */
    .about-section {
        padding: 30px;
    }

    .about-content {
        overflow: visible; /* Reset clearfix */
    }

    .about-image {
        float: none;
        width: 100%;
        max-width: 280px;
        margin: 0 auto 20px;
    }

    .about-text {
        text-align: center;
        font-size: 0.95rem;
    }

    /* Podcast Section */
    .podcast-section {
        padding: 20px;
    }

    #latest-podcast-container {
        margin-bottom: 30px; /* Reduced gap for tablets */
    }

    .latest-podcast-with-image .podcast-image {
        width: 250px;
        height: 250px;
    }

    /* Grid Containers */
    .grid-container {
        grid-template-columns: 1fr;
    }

    /* Contact Form */
    .contact-section {
        padding: 20px;
    }

    #contact-form {
        padding: 20px;
    }

    /* Social Icons */
    .social-section {
        padding: 30px 15px;
    }

    .social-icons a {
        font-size: 1.8rem;
        margin: 0 12px;
    }

    .copyright {
        font-size: 0.85rem;
        margin-top: 15px;
    }

    /* Footer */
    .fixed-footer {
        flex-direction: column;
        height: auto;
        padding: 15px;
    }

    .player-controls {
        margin-bottom: 12px;
    }

    .volume-control-container,
    #volume-btn {
        display: none; /* Hide volume button and slider on mobile */
    }

    .progress-container {
        width: 100%;
        margin: 12px 0;
    }

    .footer-logo-container {
        display: none;
    }

    /* Loader */
    .loader-container {
        padding: 20px;
    }

    .loader-images {
        width: 80px;
        height: 80px;
        margin-bottom: 15px;
    }

    .loader-image {
        width: 80px;
        height: 80px;
    }

    .loader-progress-container {
        width: 90%;
        max-width: 300px;
        height: 8px;
    }

    .loader-percentage {
        font-size: 16px;
        margin-top: 10px;
    }
}

/* Mobile (≤480px) */
@media (max-width: 480px) {
    /* General */
    .content-section {
        padding: 30px 10px;
        margin-bottom: 20px; /* Further reduced gap for mobile */
    }

    .hero-section {
        margin-bottom: 20px; /* Further reduced gap for mobile */
    }

    h2 {
        font-size: 1.5rem;
        letter-spacing: 1px;
    }

    /* Navigation */
    .nav-logo img {
        height: 28px;
    }

    .hamburger {
        font-size: 1.5rem;
    }

    .nav-menu {
        align-items: center; /* Center menu items */
    }

    .nav-item {
        width: 100%;
        text-align: center; /* Center text within items */
    }

    /* Hero Section */
    .hero-section h1 {
        font-size: 1.6rem;
    }

    .hero-overlay {
        padding: 15px;
        border-radius: 8px;
    }

    /* About Section */
    .about-section {
        padding: 20px;
    }

    .about-text p {
        font-size: 0.9rem;
        line-height: 1.6;
        margin-bottom: 1rem;
    }

    .about-image {
        max-width: 240px;
    }

    .about-image img {
        border-radius: 8px;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
        max-height: 360px;
    }

    /* Podcast Section */
    #latest-podcast-container {
        margin-bottom: 20px; /* Further reduced gap for mobile */
    }

    .latest-podcast-with-image .podcast-image {
        width: 200px;
        height: 200px;
    }

    .podcast-item {
        min-height: 250px;
    }

    .podcast-item img {
        max-width: 200px;
    }

    .podcast-buttons {
        gap: 8px;
    }

    /* Contact Form */
    .form-group input,
    .form-group select,
    .form-group textarea {
        padding: 8px;
        font-size: 0.9rem;
    }

    /* Social Icons */
    .social-icons a {
        font-size: 1.2rem; /* Reduced from 1.5rem to fit icons on one line */
        margin: 0 6px; /* Reduced from 10px for tighter spacing */
    }

    /* Footer */
    .player-controls button {
        font-size: 1rem;
    }

    #play-pause-btn {
        font-size: 1.5rem;
    }

    .progress-container span {
        font-size: 0.7rem;
    }

    .footer-thumbnail {
        height: 40px;
        width: 40px;
    }

    /* Loader */
    .loader-container {
        padding: 15px;
    }

    .loader-images {
        width: 60px;
        height: 60px;
        margin-bottom: 10px;
    }

    .loader-image {
        width: 60px;
        height: 60px;
    }

    .loader-progress-container {
        width: 95%;
        max-width: 250px;
        height: 6px;
    }

    .loader-percentage {
        font-size: 14px;
        margin-top: 8px;
    }
}

/* Desktop (≥1024px) */
@media (min-width: 1024px) {
    .h-captcha {
        display: block !important;
        min-height: 80px !important;
        min-width: 300px !important;
        margin: 10px 0 !important;
        visibility: visible !important;
    }

    .form-group:has(.h-captcha) {
        display: block !important;
        visibility: visible !important;
        min-height: 100px !important;
    }
}