/*====================================
        LARGE DESKTOP
=====================================*/
@media screen and (max-width: 1400px) {

    .header {
        top: 70px;
    }

    .header-wrapper {
        padding: 18px 30px;
    }

    .logo img {
        width: 120px;
    }

    .navbar ul {
        gap: 30px;
    }

    .hero {
        padding-top: 200px;
        padding-bottom: 100px;
    }

    .hero-content {
        max-width: 700px;
    }

    .hero-content h1 {
        font-size: 64px;
    }

    .hero-content p {
        max-width: 550px;
        font-size: 18px;
    }
}


/*====================================
        LAPTOP
=====================================*/
@media screen and (max-width: 1200px) {

    .header {
        top: 60px;
    }

    .header-wrapper {
        padding: 16px 25px;
    }

    .logo img {
        width: 110px;
    }

    .navbar ul {
        gap: 22px;
    }

    .navbar ul li a {
        font-size: 15px;
    }

    .header .btn-primary {
        padding: 0 28px;
        height: 52px;
        font-size: 15px;
    }

    .hero {
        padding-top: 180px;
        padding-bottom: 90px;
    }

    .hero-content h1 {
        font-size: 56px;
    }

    .hero-content p {
        font-size: 17px;
        max-width: 500px;
    }
}

/*====================================
            TABLET & MOBILE MENU
=====================================*/
@media screen and (max-width:991px) {

    .top-bar {
        display: none;
    }

    .header {
        top: 0;
    }

    .header-inner {
        min-height: 75px;

        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 15px;
    }

    .logo {
        flex: 0 0 auto;
    }

    .logo img {
        width: 160px;
    }

    /* hide desktop button */
    .btn-primary {
        display: none;
    }

    /* hamburger */
    .menu-toggle {

        width: 45px;
        height: 45px;

        display: flex;

        flex-direction: column;

        justify-content: center;

        align-items: center;

        gap: 5px;

        border: none;

        background: transparent;

        cursor: pointer;
    }

    .menu-toggle span {

        width: 25px;
        height: 2px;

        background: #fff;
    }

    /* mobile navbar */
    .navbar {

        position: fixed;

        top: 0;

        right: -100%;

        width: 300px;

        height: 100vh;

        background: #111;

        padding: 100px 30px;

        transition: .4s ease;

        z-index: 99999;

        display: flex;

        flex-direction: column;
    }

    .navbar,
    .navbar * {
        pointer-events: auto;
    }

    .navbar.active {
        right: 0;
    }

    .navbar ul {

        display: flex;

        flex-direction: column;

        gap: 30px;

        align-items: flex-start;
    }

    .navbar ul li a {
        font-size: 18px;

        display: block;

        padding: 10px 0;
    }

    .mobile-submenu {

        margin-top: 10px;

        margin-left: 20px;

        padding-left: 50px;
    }

    .mobile-submenu li {

        margin: 10px 0;
    }

    .mobile-submenu a {

        font-size: 15px !important;

        color: #aaa;
    }

    .hero {
        padding-top: 120px;
    }

    .hero-content h1 {
        font-size: 48px;
    }

    .hero-content p {
        font-size: 17px;
    }

    .header-btn {

        display: flex;

        height: 45px;

        padding: 0 18px;

        font-size: 13px;
    }

    .menu-close {

        position: absolute;

        top: 25px;

        right: 25px;

        width: 45px;

        height: 45px;

        border: none;

        background: transparent;

        color: #fff;

        display: flex;

        align-items: center;

        justify-content: center;

        cursor: pointer;

        transition: .3s;
    }

    .menu-close:hover {

        color: var(--primary);

        transform: rotate(90deg);
    }

    .menu-close svg {

        width: 26px;

        height: 26px;
    }
    
    .mission-wrapper{

        grid-template-columns:1fr;

    }

    .mission-card{

        padding:45px 35px;

    }

    .mission-card h2{

        font-size:40px;

    }

    .about-story{

        padding:80px 0;

    }

    .about-story-wrapper{

        grid-template-columns:1fr;

        gap:50px;

    }

    .about-left{

        order:1;

    }

    .about-right{

        order:2;

    }

    .about-left img{

        width:100%;

        height:500px;

        object-fit:cover;

    }

    .about-right{

        text-align:center;

    }

    .about-right p{

        max-width:100%;

    }

    .about-features{

        grid-template-columns:repeat(2,1fr);

    }
}


/*====================================
            MOBILE
=====================================*/
@media screen and (max-width: 767px) {

    /* Hide top bar */
    .top-bar {
        display: none;
    }

    /* Header */
    .header {
        top: 15px;
    }

    .header-wrapper {
        padding: 15px;
        min-height: 70px;
        border-radius: 18px;
    }

    .logo img {
        width: 150px;
    }

    /* Button */
    .header .btn-primary {
        height: 44px;
        padding: 0 18px;
        font-size: 13px;
    }


    /* Hero */
    .hero {
        min-height: 100vh;
        padding-top: 140px;
        padding-bottom: 60px;
        align-items: flex-start;
    }

    .hero-content {
        max-width: 100%;
        text-align: center;
    }

    /* Capsule */
    .section-tag {
        padding: 6px 16px;
        font-size: 10px;
        letter-spacing: 2px;
        margin-bottom: 20px;
    }

    /* Heading */
    .hero-content h1 {
        font-size: 42px;
        line-height: 1.15;
        margin-bottom: 25px;
    }

    .hero-content p {
        font-size: 15px;
        line-height: 1.8;
        margin-bottom: 30px;
    }

    /* Buttons */
    .hero-buttons {
        flex-direction: row;
        gap: 15px;
        flex-wrap:nowrap;
    }

    .hero-buttons .btn {
        width: 50%;
        justify-content: center;
    }

    .faq h2 {

        font-size: 38px;
    }

    .faq-question {

        padding: 20px;
    }

    .faq-question span:first-child {

        font-size: 14px;
        text-align: left;
    }

    .faq-icon {

        width: 36px;
        height: 36px;
        font-size: 22px;
    }

    .cta {

        padding: 80px 0;
    }

    .cta h2 {

        font-size: 38px;
    }

    .cta-buttons {

        flex-direction: row;
    }

    .cta-call,
    .cta-whatsapp {

        width: 100%;
    }
    
    .about-story{

        padding:60px 0;

    }

    .about-story-wrapper{

        gap:35px;

    }

    .about-left img{

        height:340px;

        border-radius:18px;

    }

    .about-right span{

        font-size:12px;

        letter-spacing:3px;

    }

    .about-right h2{

        font-size:34px;

        line-height:1.2;

        margin-bottom:20px;

    }

    .about-right p{

        font-size:15px;

        line-height:1.8;

        margin-bottom:18px;

    }

    .about-features{

        grid-template-columns:1fr;

        gap:12px;

        margin-top:25px;

    }

    .about-features div{

        padding:16px 18px;

        font-size:15px;

    }
    
    /*.package-heading{*/
    /*    margin-bottom:50px;*/
    /*}*/

    /*.package-heading h4{*/
    /*    font-size:14px;*/
    /*    letter-spacing:4px;*/
    /*    margin-bottom:12px;*/
    /*}*/

    .package-content h3{

        font-size:38px;
        line-height:1.1;
        margin-bottom:10px;

    }

    .package-heading p{

        max-width:320px;
        margin:0 auto;
        font-size:16px;
        line-height:1.8;

    }
}


/*====================================
        SMALL MOBILE
=====================================*/
@media screen and (max-width: 480px) {

    .header {
        top: 10px;
    }

    .logo img {
        width: 75px;
    }

    .hero {
        padding-top: 120px;
    }

    .hero-content h1 {
        font-size: 34px;
    }

    .hero-content p {
        font-size: 14px;
    }

    .section-tag {
        font-size: 9px;
        padding: 6px 14px;
    }
}

/* ABOUT RESPONSIVE */
@media(max-width:991px) {

    .about-wrapper {

        grid-template-columns:
            1fr;

        gap: 50px;
    }

    .about-image img {

        height: 500px;
    }

    .experience-card {

        width: 140px;

        height: 140px;

        right: 20px;
    }

    .about-content h2 {

        font-size: 42px;
    }

    .about-content ul {

        grid-template-columns:
            1fr;
    }
}


/* Contact */
@media(max-width:991px) {

    .contact-wrapper {

        grid-template-columns:
            1fr;

        gap: 50px;
    }

    .contact-info h2 {

        font-size: 40px;
    }

    .contact-form {

        padding: 30px;
    }
}


/* SINGLE SERVICE RESPONSIVE */

/*====================================
            TABLET
=====================================*/

@media(max-width:991px) {

    .single-service-hero {

        padding: 140px 0 90px;
    }

    .service-hero-title {

        font-size: 58px;
    }

    .service-hero-desc {

        font-size: 17px;
    }

    .service-grid {

        grid-template-columns: repeat(2, 1fr);
    }

    .why-us .container {

        grid-template-columns: 1fr;
    }

    .why-image {

        height: 450px;
    }

    .why-content {

        padding: 50px 30px;
    }

    .why-grid {

        grid-template-columns: 1fr;
    }

    .process-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }

    .process-wrapper::before {
        display: none;
    }

    .gallery-wrapper {

        grid-template-columns:
            repeat(2, 1fr);
    }
}

@media(max-width:1200px) {

    .wedding-service-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/*====================================
            MOBILE
=====================================*/

@media(max-width:767px) {

    .single-service-hero {

        padding: 120px 0 70px;
    }

    .single-service-hero::before {

        background:
            rgba(0, 0, 0, .78);
    }

    .service-hero-tag {

        font-size: 12px;

        letter-spacing: 2px;
    }

    .service-hero-title {

        font-size: 42px;
    }

    .service-hero-desc {

        font-size: 16px;
    }

    .service-hero-buttons {

        flex-direction: column;
    }

    .service-btn-primary,
    .service-btn-outline {

        width: 100%;
    }

    .wedding-service-grid {
        grid-template-columns: 1fr;
    }

    .service-heading h2 {
        font-size: 36px;
    }

    .process-wrapper {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .service-process h2 {
        font-size: 40px;
    }

    .gallery-wrapper {

        grid-template-columns: 1fr;
    }

    .gallery-header h2 {

        font-size: 36px;
    }

    .gallery-card {

        height: 220px;
    }

    .service-cta h2 {

        font-size: 32px;
    }

    .service-cta-buttons {

        flex-direction: column;

        align-items: center;
    }

    .service-cta-buttons a {

        width: 220px;

        justify-content: center;
    }
}

/*====================================
        SMALL MOBILE
=====================================*/

@media(max-width:480px) {

    .service-hero-title {

        font-size: 34px;
    }

    .service-hero-tag {

        font-size: 11px;
    }
}