/* 
 * Moonstone Holidays - Responsive Styles
 * This file handles all mobile and tablet view adjustments.
 */

/* Tablets and Smaller Desktops */
@media (max-width: 1200px) {
    .container {
        max-width: 100%;
        padding: 0 15px;
    }

    .hero-title,
    .hero-title-lg {
        font-size: 56px;
    }
}

/* Tablets (Portrait & Landscape) */
@media (max-width: 992px) {

    /* Grids to 1 column */
    .grid-2,
    .grid-3,
    .grid-4 {
        grid-template-columns: 1fr;
    }

    /* Layouts */
    .blog-detail-layout,
    .contact-wrapper,
    .about-story-grid,
    .about-why-grid,
    .testimonial-layout,
    .package-layout-grid,
    .blog-layout-grid {
        grid-template-columns: 1fr !important;
        gap: 40px;
    }

    .pkg-card-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }

    .about-stats-container {
        grid-template-columns: repeat(2, 1fr) !important;
        padding: 40px 20px;
    }

    .place-pane-content {
        grid-template-columns: 1fr !important;
    }

    .gallery-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    /* Padding Adjustments */
    .section-padding {
        padding: 60px 0;
    }

    .hero {
        padding: 100px 0;
    }

    .hero-inner {
        min-height: initial !important;
        padding: 120px 0 80px 0;
    }

    /* Typography */
    .hero-title,
    .hero-title-lg {
        font-size: 46px;
    }

    .hero-title-md,
    .about-story-title,
    .about-why-title,
    .contact-title {
        font-size: 38px;
    }

    .section-title,
    .places-title,
    .gallery-title {
        font-size: 32px;
    }

    /* Header Nav */
    .nav-wrapper {
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        padding: 15px 0;
    }

    .logo-container {
        margin-bottom: 0;
    }

    .mobile-menu-toggle {
        display: block;
    }

    .nav-links {
        display: none;
        flex-direction: column;
        width: 100%;
        order: 3;
        margin-top: 15px;
        margin-bottom: 0;
        background: #fff;
        border-radius: 10px;
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
        padding: 10px 0;
    }

    .nav-links.active {
        display: flex;
    }

    .nav-links a {
        font-size: 16px;
        padding: 12px 20px;
        border-bottom: 1px solid #f9f9f9;
        color: var(--secondary);
    }

    .nav-links a:last-child {
        border-bottom: none;
    }

    .header-right .contact-info {
        display: none;
    }

    .header-right {
        width: auto;
        justify-content: flex-end;
        align-items: center;
    }

    /* Contact Page */
    .contact-info-item {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }
}

/* Mobile Phones */
@media (max-width: 768px) {

    /* Grids */
    .about-stats-container,
    .gallery-grid,
    .pkg-card-grid {
        grid-template-columns: 1fr !important;
    }

    .dest-card-grid {
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        padding-bottom: 20px;
        width: 100%;
    }

    .dest-card, .testimonial-card {
        scroll-snap-align: center;
        min-width: 280px !important;
        width: 85vw;
        user-select: none;
    }

    .testimonial-slider-side, .dest-slider-container {
        width: 100%;
        min-width: 0;
    }

    /* Typography */
    .hero-title,
    .hero-title-lg {
        font-size: 36px;
    }

    .hero-title-md,
    .about-story-title,
    .about-why-title,
    .contact-title,
    .section-title,
    .places-title,
    .gallery-title {
        font-size: 28px;
    }

    /* Detailed Components */
    .meta-bar {
        flex-direction: column;
        gap: 20px;
        padding: 20px;
        align-items: flex-start;
    }

    .places-tabs {
        overflow-x: auto;
        white-space: nowrap;
        padding-bottom: 10px;
        gap: 20px !important;
    }

    .contact-card,
    .booking-sidebar-wrapper,
    .sidebar-widget {
        padding: 25px;
    }

    .place-img-wrapper,
    .place-img-wrapper-no-shadow,
    .gallery-item {
        height: 200px !important;
    }

    .about-img-container {
        height: 350px;
    }

    /* Forms */
    .form-input,
    .form-select,
    .contact-input,
    .contact-textarea {
        padding: 12px 15px;
        font-size: 16px;
        /* Prevents iOS zoom on focus */
    }

    .booking-price {
        font-size: 32px;
    }

    .stats-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    section.stats-section {
        padding: 0;
    }


    .stats-container {
        background: #FCE4E6;
        border-radius: 20px;
        padding: 60px 25px 40px;
        position: relative;
        max-width: initial;
        margin: 0 auto;
    }




    .stats-badge {
        position: absolute;
        top: -20px;
        left: 50%;
        transform: translateX(-50%);
        background: #D82B2F;
        color: var(--white);
        padding: 10px 30px;
        border-radius: 12px;
        font-size: 14px;
        font-weight: 500;
        white-space: nowrap;
        box-shadow: 0 10px 20px rgba(197, 31, 51, 0.2);
        font-family: 'Poppins';
    }

    section#packages {
        padding: 0;
    }

    .section-top {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        margin-bottom: 50px;
        flex-direction: column;
        gap: 20px;
    }

    .section-header h2 {
        font-size: 27px;
    }



    .cta-left h2 {
        font-size: 30px;
        color: #630606;
        margin-bottom: 15px;
        font-weight: 400;
        font-family: 'Poppins';
        line-height: 33px;
    }

    section.services-section {
        padding: 0;
    }



    .plan-img-left {
        display: none;
    }

    .plan-img-right {
        display: none;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: center;
        gap: 20px;
    }

    .hero h1 {
        font-size: 25px;
    }

    .hero p.subtitle {
        font-size: 16px;
    }


    a.btn-plan {
        display: none;
    }




    header {

        padding: 0px 0;
    }

    .mobile-menu-toggle {

        color: #ffffff;
    }


    .logo-container img {
        height: 72px;
    }

    .logo-container {
        padding: 5px;
    }


    section.pt-0 {
        padding: 35px 20px 0px 20px;
    }




    .pkg-title-v2 {
        font-size: 20px;
        color: var(--secondary);
        font-weight: 700;
        margin-bottom: 14px;
        line-height: 1.2;
    }

    .hero-subtitle-sm {
        text-transform: uppercase;
        letter-spacing: 3px;
        font-size: 11px;
        margin-bottom: 10px;
    }



    .hero-inner {
        min-height: initial !important;
        height: 300px !important;
        padding: 0 !important;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .hero {
        min-height: initial !important;
        height: auto;
        padding: 120px 0 150px 0 !important;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }


    .blog-post-title {
        font-size: 21px;
        font-weight: 700;
        margin-bottom: 15px;
        color: #1a1a1a;
        line-height: 1.3;
    }

    .article-lead {
        font-size: 17px;
        color: var(--secondary);
        font-weight: 500;
        margin-bottom: 40px;
        line-height: 1.6;
    }


    .article-heading {
        font-size: 24px;
        color: var(--secondary);
        font-weight: 700;
        margin: 50px 0 25px;
    }

    .article-quote {
        margin: 50px 0;
        padding: 40px;
        background: #FDF4F5;
        border-left: 5px solid var(--primary);
        border-radius: 0 20px 20px 0;
        font-style: italic;
        font-size: 16px;
        color: var(--secondary);
        font-weight: 500;
    }


    .article-share-section {
        margin-top: 80px;
        padding-top: 40px;
        border-top: 1px solid #eee;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        flex-direction: column;
        gap: 10px;
    }

    .hero-content {

        padding: 0px 20px 40px;
    }


    .slider-arrow {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 35px;
        height: 35px;
        background: rgba(255, 255, 255, 0.2);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--white);
        cursor: pointer;
        border: 1px solid rgba(255, 255, 255, 0.3);
        z-index: 150;
    }

.btn-search {
        font-size: 8px !important;
        padding: 5px 12px !important;
}
.search-field input, .search-field select {
    border: none;
    outline: none;
    padding: 8px 0;
    width: 100%;
    font-size: 10px;
    font-weight: 500;
    color: var(--dark);
    background: transparent;
    cursor: pointer;
    font-family: 'Poppins';
}

.search-field {
  
    padding: 0 5px;
  
}


.search-field i {
    color: #666666;
    margin-right: 5px;
    font-size: 10px;
}


.hero p.subtitle {
 
    margin-bottom: 0px;}




.plan-content-box h2 {
    font-size: 25px;
    margin-bottom: 20px;
    font-weight: 400;
}


.plan-content-box {
    position: absolute;
    z-index: 5;
    background: #D82B2F;
    color: var(--white);
    padding: 30px 30px;
    border-radius: 15px;
    text-align: center;
    max-width: 700px;
    box-shadow: 0 20px 50px rgba(197, 31, 51, 0.3);
}


.section-header h2 {
        font-size: 23px;
    }



.testimonial-info-side h2 {
    font-size: 24px;
    color: #630606;
    margin-bottom: 15px;
    font-weight: 500;
    font-family: 'Poppins';
}


section.testimonials-section {
    padding: 18px;
}
.timer-box {
    background: #D82B2F;
    color: var(--white);
    padding: 8px 29px;
    border-radius: 12px;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: 2px;
    box-shadow: 0 10px 25px rgba(197, 31, 51, 0.3);
}

    .cta-left h2 {
        font-size: 26px;
        color: #630606;
        margin-bottom: 15px;
        font-weight: 400;
        font-family: 'Poppins';
        line-height: 33px;
    }
section.stats-section {
    margin-top: 40px;
}


.stat-item h3 {
    font-size: 28px;
    color: var(--secondary);
    margin-bottom: 1px;
    font-weight: 700;
}


.btn-primary {
    background: #D82B2F;
    color: var(--white);
    font-weight: 500;
    font-family: 'Poppins';
    font-size: 12px;
}






}

/* Small Phones */
@media (max-width: 480px) {

    .hero-title,
    .hero-title-lg {
        font-size: 32px;
    }

    .about-badge {
        padding: 15px 20px;
        bottom: 0px;
        right: 0px;
    }

    .about-badge-number {
        font-size: 32px;
    }
}