/**
 * Discovery Theme Responsive CSS
 * 
 * Contains responsive styles and media queries
 */

/* Large devices (desktops, less than 1200px) */
@media (max-width: 1199.98px) {
    .container {
        max-width: 960px;
    }
    
    .banner-title {
        font-size: 50px;
    }
    
    .main-navigation ul li {
        margin-left: 15px;
    }
    
    .book-content {
        padding: 20px;
    }
    
    .book-title {
        font-size: 18px;
    }
    
    .newsletter-form {
        padding: 30px;
    }
    
    .newsletter-form h2 {
        font-size: 28px;
    }
    
    .footer-widget {
        padding-left: 0;
    }
}

/* Medium devices (tablets, less than 992px) */
@media (max-width: 991.98px) {
    .container {
        max-width: 720px;
    }
    
    .site-header {
        padding: 15px 0;
    }
    
    .header-main {
        position: relative;
    }
    
    .menu-toggle {
        display: flex;
    }
    
    .main-navigation {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: #fff;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
        padding: 20px;
        opacity: 0;
        visibility: hidden;
        transform: translateY(20px);
        transition: all 0.3s ease;
        z-index: 99;
    }
    
    .main-navigation.active {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
    
    .main-navigation ul {
        flex-direction: column;
    }
    
    .main-navigation ul li {
        margin: 0 0 10px;
    }
    
    .main-navigation .sub-menu {
        position: static;
        width: 100%;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
        display: none;
        padding: 10px 0 10px 15px;
    }
    
    .dropdown-toggle {
        display: block;
        position: absolute;
        right: 0;
        top: 5px;
        width: 30px;
        height: 30px;
        line-height: 30px;
        text-align: center;
        cursor: pointer;
        font-size: 14px;
    }
    
    .dropdown-toggle.active i {
        transform: rotate(180deg);
    }
    
    .banner-section {
        padding: 80px 0 60px;
    }
    
    .banner-title {
        font-size: 40px;
    }
    
    .banner-content {
        max-width: 100%;
    }
    
    .about-section {
        padding: 80px 0;
    }
    
    .about-content {
        margin-bottom: 40px;
    }
    
    .about-content h2 {
        font-size: 32px;
    }
    
    .section-title h2 {
        font-size: 32px;
    }
    
    .newsletter-content {
        flex-direction: column;
    }
    
    .newsletter-image,
    .newsletter-form {
        width: 100%;
    }
    
    .newsletter-image {
        display: none;
    }
    
    .footer-widgets {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .single-post .post-title {
        font-size: 28px;
    }
    
    .author-box {
        flex-direction: column;
        text-align: center;
    }
    
    .author-image {
        margin: 0 auto 20px;
    }
    
    .sidebar {
        margin-top: 50px;
    }
}

/* Small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {
    .container {
        max-width: 540px;
    }
    
    .top-bar-inner {
        flex-direction: column;
    }
    
    .top-bar-social {
        margin-top: 10px;
    }
    
    .top-bar-social a {
        margin: 0 8px;
    }
    
    .banner-section {
        text-align: center;
        padding: 60px 0;
    }
    
    .banner-title {
        font-size: 36px;
    }
    
    .banner-content {
        margin-bottom: 40px;
    }
    
    .section-padding {
        padding: 60px 0;
    }
    
    .about-section,
    .books-section,
    .events-section,
    .testimonials-section,
    .newsletter-section,
    .contact-section {
        padding: 60px 0;
    }
    
    .section-title h2 {
        font-size: 28px;
    }
    
    .event-item {
        flex-direction: column;
    }
    
    .event-date {
        width: 100%;
        padding: 10px;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    
    .event-day,
    .event-month,
    .event-year {
        margin: 0 5px;
    }
    
    .footer-widgets {
        grid-template-columns: 1fr;
    }
    
    .footer-widget {
        text-align: center;
    }
    
    .footer-contact-info p {
        justify-content: center;
    }
    
    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }
    
    .social-icons {
        margin-top: 20px;
    }
    
    .social-icons a {
        margin: 0 10px;
    }
    
    .page-header {
        padding: 60px 0;
        margin-bottom: 60px;
    }
    
    .page-title {
        font-size: 32px;
    }
    
    .post-share {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .post-share span {
        margin-bottom: 10px;
    }
    
    .children {
        padding-left: 20px;
    }
    
    .error-title {
        font-size: 100px;
    }
    
    .error-subtitle {
        font-size: 24px;
    }
    
    .related-post {
        margin-bottom: 30px;
    }
}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
    .container {
        width: 100%;
        padding-right: 15px;
        padding-left: 15px;
    }
    
    .site-branding img {
        max-height: 50px;
    }
    
    .banner-title {
        font-size: 32px;
    }
    
    .banner-search button {
        position: static;
        width: 100%;
        margin-top: 10px;
        height: auto;
    }
    
    .counter-section {
        padding: 60px 0;
    }
    
    .counter-number {
        font-size: 32px;
    }
    
    .testimonial-item {
        padding: 20px;
    }
    
    .testimonial-author {
        flex-direction: column;
        text-align: center;
    }
    
    .testimonial-image {
        margin: 0 auto 20px;
    }
    
    .newsletter-form {
        padding: 20px;
    }
    
    .newsletter-form h2 {
        font-size: 24px;
    }
    
    .newsletter-form button {
        position: static;
        width: 100%;
        margin-top: 10px;
        height: auto;
    }
    
    .single-post .post-title {
        font-size: 24px;
    }
    
    .contact-info-box,
    .contact-form-wrapper {
        padding: 20px;
    }
    
    .contact-info-box {
        text-align: center;
    }
    
    .error-title {
        font-size: 80px;
    }
    
    .comment-body {
        padding-left: 60px;
    }
    
    .comment-author .avatar {
        width: 45px;
        height: 45px;
    }
}
