/*--------------------- Responsive (Start) ---------------------*/
@media (max-width: 1024px){

    .header .navbar{
        gap: 1.5rem;
    }

}

@media (max-width: 991px){

    html{
        font-size: 75%;
    }

    .mobile-menu { 
        display: block;
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        z-index: 10000;
        max-height: 80vh;
        overflow-y: auto; 
        background: var(--black);
        -webkit-transition: all 0.5s ease-in-out;
        -moz-transition: all 0.5s ease-in-out;
        -o-transition: all 0.5s ease-in-out;
        transition: all 0.5s ease-in-out;
        -webkit-box-shadow: var(--box-shadow);
                box-shadow: var(--box-shadow);
        border-bottom: 0.2rem solid var(--main-color);
        padding: 2rem 4rem;
        -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
                clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    } 
    
    .mobile-menu.active {
        -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
                clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    }

    .mobile-navbar{
        display: -webkit-box; 
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 1rem;
    }

    .mobile-navbar .nav-link{
        overflow: hidden;
    }

    .mobile-navbar .main-nav-link,
    .mobile-navbar .sub-nav-link a{
        display: inline-block;
        color: var(--white);
        font-size: 2rem;
        font-weight: bold;
        cursor: pointer; 
        width: 100%;
        padding: 1.5rem;
        border-bottom: 0.1rem solid rgba(255, 255, 255, 0.2);
    }

    .mobile-navbar .main-nav-link{
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify; 
        justify-content: space-between; 
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .mobile-navbar .main-nav-link a{
        color: var(--white);
    }
    
    .mobile-navbar .sub-nav-link {
        padding: 1rem 0;
        padding-left: 4rem;
        display: none;
        -webkit-transition: all 0s;
        -moz-transition: all 0s;
        -o-transition: all 0s;
        transition: all 0s;
    }
    
    .mobile-navbar .sub-nav-link a:hover{
        color: var(--main-color);
    }
    
    .mobile-menu::-webkit-scrollbar{
        width: 0.8rem; 
    }
    
    .mobile-menu::-webkit-scrollbar-thumb{
        border-radius: 1rem;
        background-color: var(--main-color);
    }
    
    .mobile-menu::-webkit-scrollbar-track{
        background: transparent;
    }

    .header .navbar{    
        display: none;
    } 

    .header #menu-btn{  
        display: initial; 
    }

    .blog.grid, .blog.list{
        -ms-flex-wrap: wrap-reverse;
            flex-wrap: wrap-reverse;
    }

    .shop{
        -ms-flex-wrap: wrap-reverse;
            flex-wrap: wrap-reverse;
    }

    .team .box-container,
    .speakers .box-container{
        -ms-grid-columns: (minmax(28rem, 1fr))[auto-fill];
        grid-template-columns: repeat(auto-fill, minmax(28rem, 1fr));
    }

    .page-single{
        gap: 3rem;
    }

    .shop,
    .blog.grid,
    .blog.list{
        gap: 3rem;
    }

    .header .header-1{
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
    }

    .header .header-contacts{
        display: none;
    }

    .cart .cart-bottom {
        gap: 2rem;
    }

    .portfolio .box-container{
        grid-template-columns: repeat(2, 1fr);
        gap: 1.85rem;
    }

    .portfolio .box-container > .portfolio-item.event-card {
        width: 100%;
        padding: 0;
    }

    .session .image {
        display: none;
    }

    .why-us .image {
        display: none;
    }

    .why-us .content {
        gap: 1.5rem;
    }

    .contact .box-container {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

}

@media (max-width: 768px){

    html{
        font-size: 65%;
    }

    .header .header-1{
        padding: 0.5rem 2rem;
    }

    .header .header-2{
        padding: 0rem 2rem;
    }

    section{
        padding: 3rem 2rem;
    }

    .mobile-menu {
        padding: 2rem;
    }

    .footer .box-container{
        padding: 2rem;
    }

    .search-container{
        right: 1rem;
    }

    section.home{
        padding: 0;
    }

    .home{
        height: clamp(28rem, 56vh, 48rem);
    }

    .home > img,
    .home > video{
        -o-object-position: center top;
           object-position: center top;
    }

    .home .content{ 
        padding: 8rem 2rem 6rem;
    }

    .home .content .hero-copy{
        right: 2.8rem;
        top: 8.4rem;
        width: min(42rem, 48vw);
        max-width: 100%;
        gap: 0.45rem;
    }

    .home .content .hero-heading{
        font-size: clamp(3.3rem, 7.6vw, 6.3rem);
        line-height: 0.95;
    }

    .home .content .hero-subheading{
        font-size: clamp(2.8rem, 6.8vw, 5.2rem);
        line-height: 0.98;
    }

    .product-info .leave-reply {
        width: 100%;
    }

    .cart .coupon-container{
        width: 100%;
    }

    .custom-form .box-container{
        margin-top: 0;
    }

    .custom-form .content{
        -webkit-transform: translateY(0);
                transform: translateY(0);
    }

    .gallery .box-container{
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr 1fr 1fr;
            grid-template-columns: 1fr 1fr 1fr;
                grid-auto-rows: 26rem;
        gap: 1.5rem;
        grid-template-areas: 
            "gallery-1 gallery-1 gallery-2"
            "gallery-3 gallery-4 gallery-4"
            "gallery-5 gallery-5 gallery-5"
            "gallery-6 gallery-6 gallery-7"
            "gallery-8 gallery-9 gallery-9";
    }

}

@media (max-width: 450px){

    html{
        font-size: 50%;
    }

    .header .header-1{
        padding: 0.5rem 1rem;
    }

    .header .header-2{
        padding: 0rem 1rem;
    }

    .page-title h2{
        font-size: 4rem;
    }

    section{
        padding: 3rem 1rem;
    }

    .mobile-menu {
        padding: 1rem;
    }

    .footer-item > p{
        font-size: 1.8rem;
    }

    .footer-item .info a{
        font-size: 2rem;
    }

    section.home{
        padding: 0;
    }

    .home{
        height: clamp(26rem, 50vh, 40rem);
    }

    .home > img,
    .home > video{
        -o-object-position: center 15%;
           object-position: center 15%;
    }

    .home .content{
        padding: 7rem 1rem 2rem;
    }

    .home .content .text{
        margin-top: 0;
    }

    .home .content .hero-copy{
        position: absolute;
        right: 1rem;
        top: 8rem;
        width: min(24rem, 58vw);
        max-width: min(24rem, 58vw);
        gap: 0.35rem;
        margin-right: 0;
        padding: 0.8rem 0.9rem;
        border-radius: 1.2rem;
        background: rgba(10, 14, 24, 0.26);
        -webkit-backdrop-filter: blur(2px);
                backdrop-filter: blur(2px);
    }

    .home .content .hero-heading{
        font-size: clamp(2.2rem, 8.4vw, 3.6rem);
        line-height: 1.01;
        letter-spacing: -0.012em;
        text-shadow: 0 1px 2px rgba(0,0,0,0.22);
    }

    .home .content .hero-subheading{
        font-size: clamp(1.9rem, 7.2vw, 3.1rem);
        line-height: 1.03;
        text-shadow: 0 1px 2px rgba(0,0,0,0.20);
    }

    .counter{
        padding: 2rem;
        gap: 2rem;
    }

    .product-info .additional-info h3 {
        width: auto;
    }

    .comment .comment-content{
        -webkit-box-flex: 1;
        -ms-flex: 1 1 25rem;
            flex: 1 1 25rem;
    }

    .comment.reply .comment-content{
        -webkit-box-flex: 1;
        -ms-flex: 1 1 15rem;
            flex: 1 1 15rem;
    }

    .form .input-box,
    .dark-form .input-box{
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .dark-form .input-box .input-field,
    .dark-form .select{
        -webkit-box-flex: 1;
            -ms-flex: 1 1 25rem;
                flex: 1 1 25rem;
    }

    .team-single .image{
        width: 100%;
    }

    .account-form{
        max-width: 100%;
        padding: 4.5rem 3rem;
    }

    .portfolio .box-container{
        grid-template-columns: 1fr;
        gap: 1.75rem;
    }

    .portfolio .box-container > .portfolio-item.event-card {
        width: 100%;
        padding: 0;
    }

    .shop .product-container.list .product-item {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .shop .product-container.list .product-item .image{
        min-height: 15rem; 
        width: 100%;
    }

    .shop .product-container.list .product-item .image img{
        height: 100%;
        width: 100%;
        -o-object-fit: cover;
           object-fit: cover;
    }

    .shop .product-container.list .product-item{
        gap: 1rem;
    }

    /* cart-total marks the order total amount; do not set width:100% here — it breaks the
       summary-item flex row on small screens (amount should stay right-aligned like other rows). */
    .cart .cart-summary .summary-item .value.cart-total{
        width: auto;
        margin-left: auto;
        text-align: right;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
    }

    .cart .cart-summary{
        width: 100%;
    }

    .contact .contact-info .info-item{
        -webkit-box-flex: 1;
        -ms-flex: 1 1 15rem;
            flex: 1 1 15rem;
    }

    .session {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .gallery .box-container{
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr 1fr;
            grid-template-columns: 1fr 1fr;
                grid-auto-rows: 26rem;
        gap: 1.5rem;
        grid-template-areas: 
            "gallery-1 gallery-2"
            "gallery-3 gallery-3"
            "gallery-4 gallery-5"
            "gallery-6 gallery-6"
            "gallery-7 gallery-8"
            "gallery-9 gallery-9";
    }

    .why-us .content {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .footer .content{
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

}

/* ----- App shell: layout classes used without full Bootstrap grid ----- */
@media (max-width: 991px) {
    body.d-flex.flex-column.h-100 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        min-height: 100vh;
    }

    main.flex-shrink-0 {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        width: 100%;
        max-width: 100vw;
        overflow-x: hidden;
    }

    nav.navbar {
        width: 100%;
        max-width: 100%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    main.flex-shrink-0 .container {
        width: 100%;
        max-width: 100%;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
        margin-left: auto;
        margin-right: auto;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }
}

/* ----- Client & planner dashboards ----- */
@media (max-width: 991px) {
    .client-dashboard,
    .planner-dashboard {
        padding: 2.5rem 0 3.5rem;
        max-width: 100%;
        overflow-x: clip;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    .client-dashboard .dashboard-wrapper,
    .planner-dashboard .dashboard-wrapper {
        padding: 0 1.25rem;
        max-width: 100%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    .client-dashboard .profile-card {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: stretch;
            -ms-flex-align: stretch;
                align-items: stretch;
        gap: 2.75rem;
        padding: 1.8rem;
    }

    .client-dashboard .profile-card > .d-flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        gap: 0.75rem;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
    }

    .planner-dashboard .profile-card > .d-flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: stretch;
            -ms-flex-align: stretch;
                align-items: stretch;
        gap: 0.85rem;
        margin-top: 0;
    }

    .planner-dashboard .profile-card > .d-flex .btn-2 {
        width: 100%;
        text-align: center;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    .client-dashboard .profile-card > a.btn-2 {
        width: 100%;
        text-align: center;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        margin-top: 0;
    }

    .client-dashboard .profile-left {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        width: 100%;
        min-width: 0;
    }

    .client-dashboard .profile-stats,
    .planner-dashboard .profile-stats {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        row-gap: 0.4rem;
        max-width: 100%;
    }

    .client-dashboard .verify-email {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
    }

    .client-dashboard .verify-email .btn-2 {
        width: 100%;
        text-align: center;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    .client-dashboard .orders-section {
        padding: 2rem 1.5rem;
    }

    .client-dashboard .orders-section__header {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: stretch;
            -ms-flex-align: stretch;
                align-items: stretch;
        gap: 1rem;
    }

    .client-dashboard .orders-section__header h4 {
        text-align: center;
        width: 100%;
    }

    .client-dashboard .orders-section__actions {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        -webkit-box-align: stretch;
            -ms-flex-align: stretch;
                align-items: stretch;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        gap: 0.85rem;
        width: 100%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    .client-dashboard .orders-section__actions .btn {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 0px;
                flex: 1 1 0;
        min-width: 0;
        width: auto;
        max-width: 100%;
        text-align: center;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    .planner-dashboard .planner-metrics {
        -ms-grid-columns: minmax(0, 1fr) minmax(0, 1fr);
            grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.2rem;
    }

    .planner-dashboard .metric-card {
        padding: 1.5rem;
        min-width: 0;
        gap: 1.2rem;
    }

    .planner-dashboard .metric-value {
        font-size: clamp(1.75rem, 4vw, 2.2rem);
    }

    .planner-dashboard .planner-section-title {
        font-size: clamp(1.8rem, 4vw, 2.2rem);
        margin-bottom: 1.5rem;
        word-break: break-word;
    }

    .planner-dashboard .orders-section {
        min-width: 0;
        max-width: 100%;
        overflow-x: clip;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    .planner-dashboard #upcoming-events .table-wrapper,
    .planner-dashboard .orders-section .table-wrapper {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }

    .planner-dashboard .table-wrapper table.upcoming-table {
        table-layout: fixed;
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .planner-dashboard .upcoming-table th:nth-child(1),
    .planner-dashboard .upcoming-table td:nth-child(1) {
        width: 5.5rem;
        padding-left: 0.35rem;
        padding-right: 0.35rem;
    }

    .planner-dashboard .upcoming-table th:nth-child(2),
    .planner-dashboard .upcoming-table td:nth-child(2) {
        width: auto;
    }

    .planner-dashboard .upcoming-table th:nth-child(3),
    .planner-dashboard .upcoming-table td:nth-child(3) {
        width: 18%;
        min-width: 10.5rem;
        text-align: left;
        white-space: nowrap;
    }

    .planner-dashboard .upcoming-table th:nth-child(4),
    .planner-dashboard .upcoming-table td:nth-child(4) {
        width: 15%;
        min-width: 12rem;
        text-align: left;
        white-space: nowrap;
    }

    .planner-dashboard .upcoming-table th:nth-child(5),
    .planner-dashboard .upcoming-table td:nth-child(5) {
        width: auto;
        min-width: 10.5rem;
        text-align: left;
        white-space: nowrap;
    }

    .planner-dashboard .upcoming-table th:nth-child(6),
    .planner-dashboard .upcoming-table td:nth-child(6) {
        width: auto;
        min-width: 9rem;
        text-align: left;
        white-space: nowrap;
    }

    .planner-dashboard .border-warning > .d-flex {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: stretch;
            -ms-flex-align: stretch;
                align-items: stretch;
        gap: 1rem;
    }

    .planner-dashboard .border-warning > .d-flex .btn-2 {
        width: 100%;
        text-align: center;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    .planner-dashboard .interests-section {
        padding: 1.5rem 1.25rem;
    }
}

@media (max-width: 768px) {
    .client-dashboard .table-wrapper,
    .planner-dashboard .table-wrapper {
        margin-left: -0.25rem;
        margin-right: -0.25rem;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }

    .client-dashboard .table-wrapper table:not(.orders-table) {
        min-width: 28rem;
    }

    .client-dashboard .table-wrapper th,
    .client-dashboard .table-wrapper td {
        white-space: normal;
        word-break: break-word;
        padding: 0.75rem 0.5rem;
        font-size: 1.35rem;
    }

    .planner-dashboard .upcoming-table th,
    .planner-dashboard .upcoming-table td {
        font-size: 1.35rem;
        white-space: normal;
        word-break: break-word;
        padding: 0.75rem 0.5rem;
    }

    .planner-dashboard .event-thumb {
        width: 5rem;
        height: 5rem;
    }

    .planner-dashboard .planner-metrics {
        -ms-grid-columns: 1fr;
            grid-template-columns: 1fr;
    }

    .client-dashboard .pagination,
    .planner-dashboard .pagination {
        overflow-x: auto;
        padding-bottom: 0.5rem;
        -webkit-overflow-scrolling: touch;
    }

    .client-dashboard .pagination ul,
    .planner-dashboard .pagination ul {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        margin-bottom: 0;
    }
}

@media (max-width: 576px) {
    .client-dashboard,
    .planner-dashboard {
        padding: 2rem 0 3rem;
    }

    .client-dashboard .dashboard-wrapper,
    .planner-dashboard .dashboard-wrapper {
        padding: 0 1rem;
    }

    .client-dashboard .profile-card,
    .planner-dashboard .profile-card {
        padding: 1.35rem 1.15rem;
    }

    .client-dashboard .avatar,
    .planner-dashboard .avatar {
        width: 6.5rem;
        height: 6.5rem;
        font-size: 2.4rem;
    }

    .client-dashboard .profile-name {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .client-dashboard .profile-name h3,
    .planner-dashboard .profile-name h3 {
        font-size: clamp(1.85rem, 5vw, 2.4rem);
    }

    .client-dashboard .orders-section {
        padding: 1.5rem 1.1rem;
    }

    .client-dashboard .interests-section {
        padding: 1.35rem 1.15rem;
    }

    .planner-dashboard .metric-card {
        padding: 1.25rem;
    }

    .planner-dashboard .orders-section {
        padding: 1.5rem 1.1rem;
    }
}

/* ----- Public organizer profile ----- */
@media (max-width: 991px) {
    .organizer-public-profile {
        padding: 1.5rem 1rem 3rem;
    }

    .organizer-public-profile__header {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        text-align: center;
        padding: 1.8rem;
    }

    .organizer-public-profile__headline {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        min-width: 0;
        width: 100%;
        text-align: center;
    }

    .organizer-public-profile__name {
        font-size: clamp(2.2rem, 6vw, 2.8rem);
    }

    .organizer-public-profile__actions {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

    .organizer-public-profile__socials {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

    .organizer-public-profile__card {
        padding: 1.8rem 1.4rem;
    }
}

@media (max-width: 768px) {
    .organizer-public-profile__stats {
        -ms-grid-columns: 1fr 1fr;
            grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .organizer-public-profile__stat--wide {
        grid-column: 1 / -1;
    }

    .organizer-public-profile__events {
        -ms-grid-columns: minmax(0, 1fr);
            grid-template-columns: minmax(0, 1fr);
    }

    .organizer-public-profile__avatar {
        width: min(12rem, 70vw);
        height: min(12rem, 70vw);
    }

    .organizer-public-profile__event {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
}

@media (max-width: 450px) {
    .organizer-public-profile__stats {
        -ms-grid-columns: 1fr;
            grid-template-columns: 1fr;
    }
}

/* ----- Planner public profile & integration forms ----- */
@media (max-width: 991px) {
    .planner-public-profile-form {
        max-width: none;
        margin-left: 0.5rem;
        margin-right: 0.5rem;
        padding: 1.6rem 1.2rem;
    }
}

@media (max-width: 576px) {
    .planner-public-profile-form .form-control,
    .planner-public-profile-form .form-select,
    .planner-public-profile-form textarea,
    .planner-public-profile-form input[type="url"],
    .planner-public-profile-form input[type="text"],
    .planner-public-profile-form input[type="file"] {
        width: 100%;
        max-width: 100%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    .planner-public-profile-form .btn,
    .planner-public-profile-form .btn-primary,
    .planner-public-profile-form .btn-outline-secondary {
        width: 100%;
        margin-bottom: 0.5rem;
    }
}

/* ----- Planner create / edit event (fluid like frontpage sections) ----- */
@media (min-width: 992px) {
    .planner-mobile-only-back {
        display: none !important;
    }
}

@media (max-width: 991px) {
    .planner-event-layout .planner-tabs {
        display: none;
    }

    .planner-event-layout .planner-tab-content {
        width: 100%;
        min-width: 0;
    }

    .planner-event-page {
        padding: 2.5rem 1.25rem 4rem;
        max-width: 100%;
        overflow-x: clip;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    .planner-event-form {
        padding: 2rem 1.5rem;
        border-radius: 1rem;
        width: 100%;
        max-width: 100%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    .planner-event-form h3 {
        font-size: clamp(1.85rem, 5vw, 2.1rem);
    }

    .planner-event-form .planner-card {
        padding: 1.25rem;
    }

    .planner-event-form .planner-card h4 {
        font-size: clamp(1.55rem, 4vw, 1.75rem);
    }

    .planner-event-form #media-preview {
        -ms-grid-columns: 1fr;
            grid-template-columns: 1fr;
    }

    .planner-event-form .media-thumb {
        max-width: 100%;
        height: auto;
        aspect-ratio: 630 / 243;
        min-height: 14rem;
    }
}

@media (max-width: 576px) {
    .planner-event-page {
        padding: 2rem 1rem 3rem;
    }

    .planner-event-form {
        padding: 1.35rem 1.1rem;
    }

    .planner-event-form .input-field {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: stretch;
            -ms-flex-align: stretch;
                align-items: stretch;
        gap: 0.65rem;
        padding: 1rem;
    }

    .planner-event-form .input-field label {
        padding-top: 0;
    }

    .planner-event-form .planner-radio-group {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: stretch;
            -ms-flex-align: stretch;
                align-items: stretch;
    }

    .planner-event-form .planner-radio-group label {
        width: 100%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    .planner-tab {
        padding: 1rem 1.1rem;
    }
}

/* ----- Event / product detail ----- */
@media (max-width: 991px) {
    .product-single .product-des {
        padding: 1.5rem;
        margin-bottom: 2rem;
    }

    .product-single .product-des .box-container .image-container .main {
        height: auto;
        min-height: 20rem;
        max-height: 55vh;
    }

    .product-single .product-des .box-container .image-container .main img {
        width: 100%;
        height: auto;
        max-height: 55vh;
        -o-object-fit: cover;
           object-fit: cover;
        display: block;
    }

    .product-single .product-des .box-container .content {
        padding-top: 1rem;
        width: 100%;
        min-width: 0;
    }

    .product-single .product-des .box-container .content .introduction h3,
    .product-single .product-des .box-container .content h3 {
        font-size: clamp(2.4rem, 5vw, 3.5rem);
    }
}

@media (max-width: 768px) {
    .product-single .btn-box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: stretch;
            -ms-flex-align: stretch;
                align-items: stretch;
    }

    .product-single .qty {
        width: 100%;
        max-width: 22rem;
    }

    .product-single .ticket-type {
        width: 100%;
        max-width: 100%;
        flex: 1 1 100%;
    }

    .product-single .ticket-type-select {
        max-width: 100%;
    }

    .product-single .product-actions-row {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .tab-buttons .button {
        padding: 1.2rem 1.8rem;
        font-size: 1.45rem;
        -webkit-box-flex: 1;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        min-width: min(100%, 12rem);
        text-align: center;
    }

    .product-info.tab-info {
        padding: 0 0.5rem;
    }
}

/* ----- Page title (breadcrumb strip) ----- */
@media (max-width: 768px) {
    .page-title {
        min-height: 32rem;
        padding-top: 5rem;
        padding-bottom: 2rem;
        padding-left: 4%;
        padding-right: 4%;
    }

    .page-title .title h2 {
        font-size: clamp(2.8rem, 7vw, 4.5rem);
    }

    .page-title .link {
        position: static;
        margin-top: 1.5rem;
        -webkit-clip-path: none;
                clip-path: none;
        border-radius: var(--border-radius-1, 0.6rem);
        padding: 1.2rem 1.5rem;
        padding-left: 1.5rem;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        width: 100%;
        max-width: 100%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        font-size: clamp(1.5rem, 3.5vw, 2rem);
        gap: 0.75rem;
    }
}

@media (max-width: 450px) {
    .page-title .link .icon {
        display: none;
    }
}

/* ----- Frontpage: category portfolio & event cards (Isotope + grid) ----- */
@media (max-width: 991px) {
    section.portfolio {
        max-width: 100%;
        overflow-x: clip;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    .portfolio .box-container {
        -ms-grid-columns: minmax(0, 1fr) minmax(0, 1fr);
            grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
        max-width: 100%;
        gap: 1.75rem;
    }

    .portfolio .portfolio-item {
        width: 50%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    .portfolio .box-container > .portfolio-item.event-card {
        width: 100%;
        padding: 0;
    }
}

@media (max-width: 576px) {
    .portfolio .box-container {
        -ms-grid-columns: 1fr;
            grid-template-columns: minmax(0, 1fr);
        gap: 1.75rem;
    }

    .portfolio .portfolio-item {
        width: 100%;
        padding: 0.6rem 0.8rem;
    }

    .portfolio .box-container > .portfolio-item.event-card {
        padding: 0;
    }

    .portfolio.portfolio-categories .tab-buttons {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: minmax(0, 1fr) minmax(0, 1fr);
            grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem 1rem;
        padding-left: 1rem;
        padding-right: 1rem;
        margin-left: auto;
        margin-right: auto;
        max-width: 100%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        -webkit-box-pack: stretch;
        -ms-flex-pack: stretch;
        justify-content: stretch;
    }

    .portfolio.portfolio-categories .tab-buttons .button {
        -webkit-box-flex: unset;
            -ms-flex: unset;
                flex: unset;
        min-width: 0;
        width: 100%;
        padding: 1.2rem 1rem;
        font-size: 15px;
        font-weight: 600;
    }

    .portfolio.portfolio-this-week .tab-buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        overflow-x: auto;
        overflow-y: hidden;
        gap: 0.75rem;
        padding-left: 1rem;
        padding-right: 1rem;
        padding-bottom: 0.5rem;
        margin-bottom: 1.5rem;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }

    .portfolio.portfolio-this-week .tab-buttons .button {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        min-width: -webkit-max-content;
        min-width: -moz-max-content;
        min-width: max-content;
        padding: 1.2rem 1.6rem;
        font-size: 15px;
        font-weight: 600;
    }
}

@media (min-width: 576px){
    .payment-success-actions{
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .payment-success-actions .btn{
        width: auto;
        -webkit-box-flex: 1;
        -ms-flex: 1 1 18rem;
            flex: 1 1 18rem;
        max-width: calc(50% - 0.6rem);
    }
}

@media (max-width: 450px){
    .payment-success-page{
        padding: 2.5rem 1.5rem 4rem;
        min-height: auto;
    }

    .payment-success-card{
        padding: 2.5rem 1.5rem 2rem;
    }

    .payment-success-icon{
        width: 6.5rem;
        height: 6.5rem;
        font-size: 3.2rem;
    }

    .payment-success-title{
        font-size: 3rem;
    }
}

/*--------------------- Responsive (End) ---------------------*/